Wirtualizacja kontenerowa jest możliwa dzięki funkcjonalności określanej jako jądrowe grupy sterowania (cgroups).
Procesy mogą znajdować się w stanach: gotowy, zablokowany, zablokowany i zawieszony, zawieszony i gotowy.
Są to mechanizmy, które umożliwiają przełączenie procesu, takie jak przerwanie, pułapka i wywołanie nadzorcy.
Elementarna operacja synchronizacji wątków, która zapewnia wzajemne wykluczanie w systemie Solaris.
Pamięć wirtualna jest udogodnieniem, które umożliwia programom adresowanie pamięci w aspekcie logicznym, bez zważania na ilość pamięci głównej dostępnej fizycznie.
Algorytmy Petersona rozwiązują problem wzajemnego wykluczania procesów, zapewniając, że tylko jeden proces może uzyskać dostęp do krytycznej sekcji w danym czasie.
SRT (Shortest Remaining Time) to algorytm planowania, który obsługuje proces z najkrótszym pozostałym czasem wykonania.
Wyróżniamy dwa typy urządzeń wejścia/wyjścia: blokowe i strumieniowe.
W systemie Linux wyróżniamy systemy plików: ext2, ext3, ext4, xfs oraz VFS.
Bezpieczeństwo systemów operacyjnych opiera się głównie na kontrolowaniu dostępu do zasobów systemów.
Wątek w systemie Windows może znajdować się w jednym z pięciu stanów: gotowość, działający, czekający, przejście, zakończony.
Moduły ładowalne to względnie niezależne bloki, które mogą być automatycznie ładowane i rozładowywane na żądanie w systemie Linux.
Zakleszczenie to stan, w którym zbiór procesów jest zablokowany, ponieważ każdy z nich czeka na zasób, który jest zajęty przez inny proces, co prowadzi do trwałej blokady.
Jest to środowisko, w którym większość oprogramowania w Androidzie jest odwzorowywana na format bajtokodu i przekształcana na rodzime instrukcje danego urządzenia.
W planowaniu wieloprocesorowym wyróżniamy dwa rodzaje przydziałów procesów: statyczne i dynamiczne.
Completely Fair Scheduler to nowy moduł planujący w systemie Linux, wprowadzony od wersji 2.6.23.
Metody przydzielania miejsca na dysku plikom to: ciągła, łańcuchowa i indeksowa.
Windows tworzy zaplecze dla czterech podstawowych rodzajów procesów działających w trybie użytkownika: procesy systemowe, procesy usługowe, podsystemy środowiskowe oraz aplikacje użytkownika.
To szybkie przełączanie się procesora od jednego procesu do drugiego, które działają współbieżnie.
DMA (Direct Memory Access) to technika umożliwiająca bezpośredni dostęp do pamięci przy operacjach I/O.
Technika wirtualizacji, w której wykorzystuje się specjalne interfejsy API do konsolidacji maszyn wirtualnych z hiperwizorem w celu optymalizacji ich działania.
Część systemu operacyjnego, która dokonuje wyboru, który proces będzie wykonywany jako następny.
To proces, który rodzi inny proces, nazywany procesem potomnym.
RAID (Redundant Array of Independent Disks) to technologia stosowana w projektowaniu wielodyskowych baz danych, składająca się z siedmiu poziomów.
Sekcja krytyczna to część programu, w której proces korzysta ze współdzielonej pamięci, co może prowadzić do problemów z synchronizacją.
W systemie Solaris wykorzystuje się obiekty takie jak procesy, wątki poziomu użytkownika oraz procesy lekkie do zarządzania wątkami.
Zapobieganie zakleszczeniom polega na zapewnieniu, że jeden z warunków koniecznych do wystąpienia zakleszczenia nie będzie spełniony, co eliminuje możliwość jego wystąpienia.
SPN (Shortest Process Next) to algorytm planowania procesów, który obsługuje najpierw najkrótszy proces.
Większość systemów operacyjnych umożliwia co najmniej dwa tryby: tryb użytkownika i tryb jądra.
W systemie Windows wyróżniamy klasy priorytetów: czasu rzeczywistego oraz klasę priorytetów zmiennych.
Na najwyższym poziomie ogólności komputer składa się z procesora, pamięci i elementów wejścia-wyjścia.
Linux zawiera mechanizmy współbieżności takie jak potoki, komunikaty, pamięć dzielona, sygnały oraz sygnały czasu rzeczywistego.
Wątki poziomu użytkownika to wątki, których zarządzanie odbywa się w aplikacji, a system operacyjny nie jest świadomy ich istnienia.
Jądro monolityczne zawiera całą funkcjonalność systemu operacyjnego w jednym wielkim bloku kodu, działającym jako jeden proces w jednej przestrzeni adresowej.
Semafor to mechanizm synchronizacji, który kontroluje dostęp do wspólnych zasobów w systemie operacyjnym, umożliwiając wzajemne wykluczanie i synchronizację procesów.
Wykrywanie zakleszczenia polega na okresowym sprawdzaniu przez system operacyjny, czy wystąpiło zakleszczenie, oraz podejmowaniu działań mających na celu jego zlikwidowanie.
Wyróżnia następujące stany: wykonywany, gotowy, zablokowany, nowy, wyjściowy.
W systemie Linux klasy planowania to SCHED_FIFO, SCHED_RR oraz SCHED_NORMAL.
Obiekty te umożliwiają synchronizację między wątkami jako część architektury obiektowej.
Proces w systemie UNIX to jednostka wykonawcza, która może być systemowa lub użytkownika, działająca w trybie jądra lub użytkownika.
Tolerowanie awarii oznacza zdolność systemu lub komponentu do kontynuowania normalnego działania mimo występowania wad w sprzęcie lub oprogramowaniu.
Stany wykonania procesów w systemie Linux to: przerywalny, nieprzerywalny, zatrzymany, zombie.
Wieloprogramowość na procesorze jednordzeniowym umożliwia przeplatanie wielu wątków w wielu procesach, co zwiększa efektywność wykorzystania CPU.
Zasób niezużywalny to taki, który nie ulega uszczupleniu ani wyeksploatowaniu w wyniku użytkowania, na przykład kanał wejścia-wyjścia lub obszar pamięci.
Jest to program w trakcie wykonywania, który zawiera bieżące wartości licznika programu, rejestrów i zmiennych.
W systemie UNIX FREEBSD wyróżniamy wątki dolnej połowy jądra, górnej połowy jądra, użytkownika czasu rzeczywistego, użytkownika z podziałem czasu oraz użytkownika bezczynnego.
Zadanie planisty długoterminowego, który decyduje, które programy zostaną przyjęte do systemu w celu przetwarzania.
Przerwania są środkiem poprawiania wykorzystania procesora, ponieważ większość urządzeń wejścia-wyjścia działa znacznie wolniej od procesora.
Wirtualizacja systemów operacyjnych to technologia, która pozwala na uruchamianie wielu systemów operacyjnych na jednym fizycznym hoście, co zwiększa efektywność wykorzystania zasobów.
Planowanie na wieloprocesorze obejmuje przypisywanie procesów do procesorów, zastosowanie wieloprogramowości na pojedynczych procesorach oraz faktyczne rozporządzanie procesami.
Oprogramowanie, które umożliwia wirtualizację, działające jako warstwa oprogramowania na serwerze fizycznym lub jako moduł powyżej macierzystego systemu operacyjnego.
Z systemu Unix wyewoluowały systemy MINIX, Linux, macOS oraz Android.
Jest to struktura danych, która przechowuje informacje o stanie procesu, takie jak identyfikator PID, stan, priorytet, licznik programu i wskaźniki pamięci.
W systemie Windows używany jest system plików NTFS oraz wcześniej FAT.
Najpopularniejsza technika stosowana do ochrony sekcji krytycznej w systemie Linux.
Metoda realizacji pamięci wirtualnej, w której każdy proces jest dzielony na małe strony jednakowych rozmiarów.
Wątki poziomu jądra to wątki, które są zarządzane przez jądro systemu operacyjnego i są również nazywane procesami lekkimi.
Monitor to moduł oprogramowania, który zapewnia wzajemne wykluczanie, umożliwiając dostęp do danych lokalnych tylko przez procedury monitora, co zapobiega jednoczesnemu dostępowi wielu procesów.
Jest podobne do jądra stosowanego w dystrybucjach standardowego jądra Linux.
Metoda wirtualizacji, w której oprogramowanie, zwane kontenerem wirtualizacji, działa powyżej macierzystego systemu operacyjnego, tworząc izolowane środowisko dla aplikacji.
Sposób zarządzania pamięcią, który pozwala na przydzielanie zasobów wielu aktywnym procesom oraz współużytkowanie pamięci.
W systemie Linux każdy proces jest stowarzyszony z zestawem przestrzeni nazw, co pozwala na izolację zasobów między procesami.
Problem producenta-konsumenta to klasyczny problem synchronizacji, w którym producent wytwarza dane, a konsument je konsumuje, wymagając wzajemnego wykluczania i synchronizacji.
Sprzężenie zwrotne to mechanizm, który pozwala na dostosowanie działania systemu na podstawie wyników jego wcześniejszych działań.
Podręczna pamięć dysku to bufor w pamięci głównej przeznaczony na sektory dyskowe, przechowujący kopie niektórych sektorów z dysku.
Technika wirtualizacji umożliwia jednoczesne wykonywanie wielu systemów operacyjnych na jednym komputerze lub serwerze.
System operacyjny jest programem, który nadzoruje wykonywanie aplikacji i działa jak interfejs między aplikacjami a sprzętem komputerowym.
Wyróżniamy dwa typy hiperwizorów: Typ 1, który jest ładowany bezpośrednio na serwer fizyczny, oraz Typ 2, który korzysta z zasobów macierzystego systemu operacyjnego.
Jedna z podstawowych zasad planowania procesów, która zapewnia równy czas procesora dla wszystkich procesów.
HRRN (Highest Response Ratio Next) to algorytm planowania, który obsługuje proces z najwyższym wskaźnikiem reakcji.
Algorytmy planowania operacji I/O z dysków to m.in. losowy, FIFO, PRI, LIFO, SSTF, SCAN, C SCAN oraz n-krokowy.