Wywołanie systemowe w systemie operacyjnym (Operating System): Co to jest, typy i przykłady
⚡ Inteligentne podsumowanie
Wywołanie systemowe to kontrolowany interfejs, którego proces używa do żądania usług jądra, takich jak dostęp do plików, kontrola procesów i komunikacja z urządzeniami, bezpiecznie przełączając procesor z trybu użytkownika do uprzywilejowanego trybu jądra.

Co to jest wywołanie systemowe Operasystem?
A wywołanie systemowe jest mechanizmem, który zapewnia interfejs między procesem a systemem operacyjnym. Jest to programowa metoda, w której program komputerowy żąda usługi od jądra systemu operacyjnego.
Wywołanie systemowe oferuje usługi systemu operacyjnego programom użytkownika za pośrednictwem API (Application Programming Interface). Wywołania systemowe są jedynymi punktami wejścia do systemu jądra.
System wzywa Operasystemu
Przykład wywołania systemowego
Na przykład, aby napisać program, który odczytuje dane z jednego pliku i kopiuje je do innego, program najpierw musi znać nazwy dwóch plików: wejściowego i wyjściowego.
W systemie interaktywnym tego typu wykonanie programu wymaga pewnych wywołań systemowych przez system operacyjny.
- Pierwszym krokiem jest napisanie komunikatu na ekranie.
- Drugim sposobem jest odczytanie z klawiatury znaków definiujących oba pliki.
Jak działa wywołanie systemowe?
Oto kroki wywołania systemowego w systemie operacyjnym:
Architektura wywołania systemowego
Jak widać na powyższym diagramie wywołań systemowych:
Krok 1) Procesy są wykonywane w trybie użytkownika, dopóki nie zostanie przerwane przez wywołanie systemowe.
Krok 2) Następnie wywołanie systemowe jest wykonywane w trybie jądra na podstawie priorytetów.
Krok 3) Po zakończeniu wywołania systemowego sterowanie powraca do trybu użytkownika.
Krok 4) Wznawiane jest wykonywanie procesów użytkownika, przechodząc między trybem użytkownika a tryb jądra jako wymagane.
Dlaczego potrzebujesz wywołań systemowych w systemie operacyjnym?
Poniżej przedstawiono sytuacje, w których konieczne jest użycie wywołań systemowych w systemie operacyjnym:
- Odczyt i zapis plików wymaga wywołań systemowych.
- Jeśli system plików chce utworzyć lub usunąć pliki, wymagane są wywołania systemowe.
- Wywołania systemowe służą do tworzenia nowych procesów i zarządzania nimi.
- Połączenia sieciowe wymagają wywołań systemowych do wysyłania i odbierania pakietów.
- Aby uzyskać dostęp do urządzeń sprzętowych, np. skanera lub drukarki, konieczne jest wywołanie funkcji systemowej.
Typy wywołań systemowych
Oto pięć typów wywołań systemowych w systemie operacyjnym:
- Kontrola procesu
- Zarządzanie plikami
- Zarządzanie urządzeniem
- Konserwacja informacji
- Komunikacja
Typy wywołań systemowych w systemie operacyjnym
Kontrola procesu
Te wywołania systemowe wykonują zadania tworzenia procesów, kończenia procesów itd.
Funkcje:
- Zakończ i przerwij
- Załaduj i wykonaj
- Utwórz proces i zakończ proces
- Poczekaj i Signal wydarzenie
- Przydzielanie i zwalnianie pamięci
Zarządzanie plikami
Wywołania systemu zarządzania plikami obsługują zadania manipulacji plikami, takie jak tworzenie pliku, odczytywanie i zapisywanie itp.
Funkcje:
- Utwórz plik
- Usuń plik
- Otwórz i zamknij plik
- Czytaj, pisz i zmieniaj położenie
- Pobierz i ustaw atrybuty plików
Zarządzanie urządzeniem
Zarządzanie urządzeniami umożliwia manipulowanie urządzeniami, np. odczytywanie danych z buforów urządzeń, zapisywanie danych do buforów urządzeń itd.
Funkcje:
- Poproś i zwolnij urządzenie
- Logiczne podłączanie i odłączanie urządzeń
- Pobierz i ustaw atrybuty urządzenia
Konserwacja informacji
Obsługuje informacje i ich przesyłanie pomiędzy systemem operacyjnym a programem użytkownika.
Funkcje:
- Uzyskaj lub ustaw godzinę i datę
- Uzyskaj atrybuty procesu i urządzenia
Komunikacja
Tego typu wywołania systemowe są wykorzystywane specjalnie do komunikacji międzyprocesowej.
Funkcje:
- Tworzenie i usuwanie połączeń komunikacyjnych
- Wysyłanie i odbieranie wiadomości
- Pomóż systemowi operacyjnemu uzyskać informacje o stanie transferu
- Podłącz lub odłącz urządzenia zdalne
Zasady przekazywania parametrów wywołania systemowego
Oto ogólne zasady przekazywania parametrów do wywołania systemowego:
- Parametry powinny być umieszczane na stosie lub zdejmowane ze stosu przez system operacyjny.
- Parametry można przekazywać w rejestrach.
- Jeżeli parametrów jest więcej niż rejestrów, należy je zapisać w bloku, a adres bloku przekazać w rejestrze.
Ważne wywołania systemowe używane w systemie operacyjnym
czekać()
W niektórych systemach proces musi czekać na zakończenie innego. Dzieje się tak, gdy proces nadrzędny tworzy proces potomny, a proces nadrzędny pozostaje zawieszony do momentu zakończenia procesu potomnego.
Zawieszenie rodzica następuje automatycznie za pomocą wywołania systemowego wait(). Po zakończeniu wykonywania dziecka sterowanie powraca do rodzica.
widelec()
Procesy używają tego wywołania systemowego do tworzenia procesów, które są kopiami samych siebie. Za pomocą funkcji fork() proces nadrzędny tworzy proces potomny, a proces nadrzędny jest zawieszany do momentu wykonania procesu potomnego.
Exec ()
To wywołanie systemowe uruchamia plik wykonywalny w już działającym procesie, zastępując starszy. Oryginalny identyfikator procesu pozostaje niezmieniony, ponieważ nie jest tworzony żaden nowy proces, ale stos, dane, sterta itp. są zastępowane przez nowy proces.
zabić()
Wywołanie systemowe kill() jest używane przez system operacyjny do wysłania sygnału zakończenia procesu, nakazującego mu wyjście. Jednak wywołanie systemowe kill nie oznacza automatycznie zakończenia procesu i może mieć różne znaczenia.
wyjście()
Wywołanie systemowe exit() służy do zakończenia wykonywania programu. Szczególnie w środowisku wielowątkowym, to wywołanie definiuje zakończenie wykonywania wątku. System operacyjny odzyskuje zasoby wykorzystane przez proces po wywołaniu exit().




