- kod programu użytkownika (proces użytkownika)
- kod systemowy (proces systemowy)
Proces może posiadać wiele podobiektów - wątków.
Wątek to część programu (procesu), która może być wykonywana asynchronicznie, podczas gdy główny kod programu zajmuje się innymi zadaniami. Wątek jest podstawową jednostką, której przydzielony jest czas pracy procesora. Wątki są wykonywane we wspólnej przestrzeni adresowej i współdzielą zasoby.
Struktura systemu operacyjnego:
jądro systemu - wykonuje główne zadania systemu
powłoka - pośredniczy w komunikacji użytkownika z systemem operacyjnym i sprzętem
system plików - określa sposób zapisu danych na nośnikach
Jądro systemu (kernel) - podstawowa część systemu operacyjnego, wykonuje główne zadania systemu, ukrywa szczegóły sprzętowej realizacji systemu komputerowego:
- jądro monolityczne - wszystkie zadania są wykonywane przez jądro, będące jednym, dużym programem działającym w trybie jądra (Linux)
- mikrojądro - z monolitycznego jądra zostaje tylko jego podstawowa część, części odpowiedzialne za bardziej wyrafinowane funkcje są wydzielone do funkcjonalnych bloków albo realizowane jako zwykłe procesy (Windows)
-jądro hybrydowe - kompromis między architekturą jądra monolitycznego i mikrojądra (Windows)
Powłoka (shell)
- pośredniczy w komunikacji użytkownika z systemem operacyjnym i sprzętem
- tworzy ją:
* interpreter poleceń komunikujący użytkownika z systemem, który:
- pobiera polecenia od użytkownika
- interpretuje polecenia
- wykonuje polecenia
- przekazuje użytkownikowi wyniki wykonania poleceń oraz informuje o problemach lub błędach
* programy systemowe do obsługi poleceń
4