Wielowątkowość/Obsługa procesów

Obsługa procesówEtap rozwoju: 25% (w dniu 13 lip 2014) edytuj

Z obsługą procesów wiąże się kilka elementarnych operacji: tworzenie, usuwanie, zmiana stanu, zmiana priorytetu. Nie wszystkie operacje na procesach są dostępne dla aplikacji. Dlatego też tutaj przyjrzymy się tylko tym ważnym z punktu widzenia programisty aplikacji.

Tworzenie procesów edytuj

Tworzenie procesów występuje w czterech podstawowych przypadkach :

  1. Inicjalizacja systemu.
  2. Uruchomienie wywołania systemowego tworzącego proces przez działający proces.
  3. Żądanie użytkownika utworzenia nowego procesu.
  4. Zainicjowanie zadania wsadowego.

W systemach zgodnych ze standardem POSIX funkcją, która odpowiedzialna jest za tworzenie nowego procesu jest fork. Natomiast w systemach z rodziny Windows NT odpowiedzialna za to będzie funkcja CreateProcess.

Usuwanie procesów edytuj

Jest kilka sytuacji, w których może dojść do zakończenia procesu:

  1. Normalne zakończenie pracy (dobrowolne).
  2. Zakończenie pracy w wyniku błędu (dobrowolne).
  3. Błąd krytyczny (przymusowe).
  4. Zniszczenie przez inny proces (przymusowe).

Standard POSIX definiuje operacje: exit, abort, kill.