Obecnie istnieje cały szereg systemów operacyjnych różniących się funkcjonalnością, obszarami zastosowań, platformami sprzętowymi oraz metodami realizacji. Spośród znacznej liczby realizowanych przez nie zadań opisano te, które są charakterystyczne dla wszystkich systemów operacyjnych.
2.1. Systemy operacyjne dla komputerów autonomicznych
System operacyjny komputera stanowi zbiór wzajemnie powiązanych programów, funkcjonujących jako interfejs między użytkownikiem i aplikacjami z jednej strony i sprzętem komputera z drugiej. Z tego punktu widzenia system operacyjny wykonuje dwie grupy funkcji:
□ udostępnianie użytkownikowi oraz programiście maszyny wirtualnej w miejsce udostępniania konkretnych zasobów sprzętowych komputera,
□ zwiększanie efektywności wykorzystania komputera poprzez racjonalne zarządzanie jego zasobami.
2.1.1. System operacyjny jako maszyna wirtualna
W celu efektywnego wykorzystania komputera użytkownik nie musi znać wszystkich szczegółów funkcjonowania poszczególnych podzespołów komputera, a także rozkazów procesora. U ż\tko wn ik/program i sta chciałby wykorzystywać wysokopoziomowe funkcje systemu operacyjnego. Np. podczas pracy z dyskiem programiście oraz użytkownikowi wystarczy reprezentacja pamięci masowej w postaci odpowiednio zorganizowanego systemu plików. Natomiast informacje o numerze powierzchni dyskowej, numerach ścieżek oraz sektorów, na których zapisano dane wchodzące w skład pliku, jak również organizacja fizycznego zapisu danych na powierzchni magnetycznej dysku, sposób synchronizacji obracającego się dysku ze sterownikiem dyskowym czy aktualne położenie głowicy dyskowej, są informacjami nieistotnymi dla użytkownika/programisty. Wynika z tego, że system operacyjny ukrywa przed użytkownikiem cały szereg szczegółów dotyczących funkcjonowania zasobów sprzętowych komputera, dając możliwość prostej i wygodnej pracy.
System operacyjny zwalnia użytkownika/programistę nie tylko z konieczności bezpośredniej pracy z zasobami sprzętowymi komputera, lecz także bierze na siebie wszystkie rutynowe operacje związane ze sterowaniem urządzeniami zewnętrznymi. W rezultacie, rzeczywisty komputer wykonujący stosunkowo niewielki zbiór operacji elementarnych określonych przez listę rozkazów procesora, zostaje przekształcony w maszynę wirtualną wykonującą
17