szeroki zbiór złożonych funkcji. Analogicznie jak komputer rzeczywisty, maszyna wirtualna jest także sterowana instrukcjami, lecz instrukcje te należą do znacznie wyższego poziomu, jak np. usunięcie pliku o podanej nazwie, uruchomienie określonego programu, zmiana priorytetu zadania, wydrukowanie zawartości pliku itp. W ten sposób zadaniem systemu operacyjnego jest udostępnianie użytkownikowi/programiście maszyny wirtualnej, na której nieporównanie łatwiej wykonywać operacje niż w przypadku bezpośredniego korzystania z zasobów komputera.
2.1.2. System operacyjny jako zarządca zasobów
System operacyjny nie tylko udostępnia użytkownikom i programistom wygodny interfejs do sprzętowych zasobów komputera, lecz także pełni rolę zarządcy udostępniającego zasoby komputera. Do podstawowych zasobów współczesnych systemów komputerowych mogą być zaliczone: procesory, pamięć operacyjna, liczniki czasowe, zbiory danych, dyski, pamięci taśmowe, drukarki, urządzenia sieciowe oraz szereg innych. Zasoby są udostępniane przez system operacyjny poszczególnym procesom. Pojęcie procesu (zadania) jest podstawowym pojęciem we współczesnych systemach operacyjnych, a w najprostszy sposób można je zdefiniować jako program w trakcie jego realizacji, wraz z przydzielonymi mu zasobami. Pod pojęciem program rozumiemy obiekt statyczny, złożony z kodu oraz danych, przechowywany w pliku dyskowym. Natomiast proces to obiekt dynamiczny, tworzony przez system operacyjny jako następstwo uruchomienia programu przez użytkownika lub system operacyjny. Utworzony proces staje się podstawową jednostką wykonawczą systemu komputerowego.
Zarządzanie zasobami systemu komputerowego w celu najbardziej efektywnego ich wykorzystania jest głównym zadaniem systemu operacyjnego. Dla przykładu wielozadaniowy system operacyjny organizuje jednoczesne wykonywanie szeregu procesów poprzez kolejne przydzielanie im procesora, eliminując w ten sposób przestoje procesora wywołane operacjami WE/WY. System operacyjny rozwiązuje także konflikty wynikające z jednoczesnego odwoływania się wielu procesów do tego samego zasobu. Kryteria efektywności, na podstawie których system operacyjny organizuje zarządzanie zasobami komputera, mogą być bardzo różne (np. przepustowość systemu komputerowego lub czas reakcji komputera).
Podczas zarządzania zasobami, zależnie od rodzaju zasobu, system operacyjny wykonuje następujące operacje:
□ planowanie zasobu, czyli określenie któremu procesowi, kiedy oraz w jakiej części (w przypadku gdy zasób może być udostępniany częściami) będzie przydzielony dany zasób,
□ zaspokajanie zapotrzebowania na zasoby,
□ śledzenie stanu oraz wykorzystania zasobu, czyli przechowywanie informacji o tym, czy dany zasób jest w danym momencie dostępny,
18