Procesy
#
Zakres materiału
#
- Koncepcja procesu. Modele procesu: UNIX (POSIX), MSWin (Win32).
- Graf stanów procesu
- Blok Kontrolny Procesu. Kontekst procesu. Przełączanie CPU pomiędzy procesami.
- Kolejki planowania procesów. Planiści: krótkoterminowy, długoterminowy, średnioterminowy.
- Tworzenie procesów. Modele: POSIX, Win32.
- Kończenie procesów. POSIX: rola wait(), sierota, zombie.
- Procesy współpracujące. Modele komunikacji międzyprocesowej. Rola synchronizacji procesów.
- Środowisko wykonania procesu POSIX: zmienne środowiskowe, 3 początkowe strumienie (stdin, stdout, stderr). Moduł
startowy (crt0)
- Cykl życia procesu POSIX
- Dziedziczenie przy wywołaniu funkcji systemowych
fork
i exec
. - Funkcje standardowej biblioteki języka C opakowujące wywołania funkcji systemowej
exec
. - Identyfikatory związane z procesem: PID, GID, real/effective ID.
setuid/setgid
. - Grupy procesów.
Materiały
#
- Podręcznik: rozdz. 4 (Procesy).
- Prezentacja wykładowa (PDF)
- Programy wykładowe
- Rozdział 26 dokumentacji “GNU C library”: Processes
- Stare Slajdy: Procesy.pdf, Procesy_POSIX.pdf