Temat Procesy i wątki wielozadaniowoś
Proces - jest programem. Każdy proces ma własną przestrzeń adresową oraz przydzielone następujące zasoby: procesor, pamięć, dostęp do urządzeń wejścia wyjścia, oraz pliki. Do zarządzania procesów służy jądro sytemu operacyjnego. W skład procesu wchodzą: kod programu, licznik rozkazów, stos, sekcja danych.
Wątek- to jednostka wykonawcza, w obrębie jednego procesu będąca kolejnym ciągiem instrukcji wykonywanych w obrębie tych samych danych. Wątki tego samego procesu, korzystają ze wspólnego kodu i danych, mają jednak oddzielne stosy. W systemach wieloprocesorowych, a także w systemach z wywłaszczeniem wątki mogą być wykonywane jednocześnie. Równoczesny dostęp do danych grozi utratą spójności i błędem działania programu.
Wielozadaniowość - to cecha systemu operacyjnego i jądra umożliwiająca jednoczesne wykonywanie więcej niż jednego programu. Za wielozadaniowość odpowiada algorytm przydzielający czas procesora programu, algorytm ten kolejkuje procesy które mają być wykonywane w zależności od priorytetu. W takim systemie każdy proces wykonywany jest w ułamek czasu, poczym następuje jego przerwanie. Program pozostaje w uśpieniu do momentu gdy znów zostanie mu przydzielony czas procesora. Systemami wielozadaniowymi są: unix, linuks, mac OS i jego następcy. Systemem nie wielozadaniowym jest system DOS.
Menedżer maszyn wirtualnych - ponieważ sprzęt komputerowy jest skomplikowany dlatego programistą piszącym programy zezwala się na bezpośrednie odwoływanie się do sprzętu, sprzęt obsługiwany jest przez system operacyjny, jednocześnie uwalniając programistów od gruntownej znajomości zasad działania sprzętu.
Maszyna wirtualna - to środowisko w pamięci wyglądające z punktu widzenia aplikacji jako samodzielny komputer. Maszyna wirtualna ma dostępne wszystkie zasoby w które wyposażony jest fizyczny komputer, przydzielanie wymaganych aplikacji prze nią zasobów jest jednym z zadania menedżera maszyn wirtualnych. Menger Maszy wirtualnych odpowiada za utrzymywanie Maszy wirtualnych w których uruchamiane są aplikacje i procesy systemowe. Menager maszyny wirtualnej świadczy trzy podstawowe rodzaje usług,:
szeregowanie procesów
stronicowanie pamięci
obsługa aplikacji wymagających wyłącznego dostępu do zasobów systemowych
Jądro systemu operacyjnego(137) [wykres] - jest to podstawowa część systemu operacyjnego, zajmuje się nadzorowaniem komunikacji wszystkich elementów systemu. Zapewnia usługi systemowe takie jak: zarządzanie urządzeniami, pamięcią, przydzielaniem czasu procesora, oraz obsługą błędów. Jądra systemu Windows (xp, vista, 7,) oparte sąna jądrze hybrydowym. Jądro to oparte jest na zmodyfikowanej architekturze jąder monolitycznych, oraz micro jądra używanych w systemach operacyjnych. Architektura NT składa się z jądra hybrydowego, abstrakcji sprzętowej, HAL, sterowników i egzekutora. Z budowy jądra wynikają jego cechy takie jak: wielozadaniowość, wielowątkowość, wielobieżność, skalowalność