Definicje
Oprogramowanie komputera daje się podzielić na oprogramowanie wykonujące użyteczne dla użytkownika obliczenia i oprogramowanie dbające o poprawną pracę systemu komputerowego jako całości, jednakże nie zawsze ten podział jest oczywisty i precyzyjny. Oprogramowanie tworzone z przeznaczeniem do wykonywania użytecznych obliczeń nazywamy aplikacjami. Oprogramowania tworzone z przeznaczeniem do zapewniania poprawnej pracy systemowi informatycznemu nazywamy oprogramowaniem systemowym. Rdzeniem oprogramowania systemowego jest system operacyjny. Z powodu trudności w precyzyjnym zdefiniowaniu tego co jest, a co nie jest systemem operacyjnym, niektórzy autorzy definiują system operacyjny jako wszystko to oprogramowanie, które producent wkłada do pudelka z taką nazwą.
Silberschatz et al w [2] podają następujące definicje systemu operacyjnego:
System operacyjny jest dystry butorem zasobów komputera.
System operacyjny jest programem sterującym. Program sterujący nadzoruje działanie programów użytkownika, przeciwdziała błędom i zapobiega niewłaściwemu tćyciu komputera. Zajmuje się zwłaszcza obsłtigrwaniem i kontrolowaniem pracy urządzeń wejścia/wyjścia.
Nie ma [...] w pełni adekwatnej definicji systemu operacyjnego. Istnienie systemów operacyjnych jest uzasadnione tym, że pozwalają one w rozsądny sposób rozwiązać problem kreowania użytecznego środowiska pracy.
Przez zasoby rozumie się wszystkie te elementy komputera, którymi daje się dysponować jako odrębnymi obiektami, np.: procesor (w sensie przydziału jego czasu pracy), obszary pamięci, obszary dyskowe, drukarki itp.
Na potrzeby niniejszego wykładu system operacyjny zostanie zdefiniowany jako zbiór programów i podprogramów wywoływanych przez inne programy lub użytkownika, które mają zapewnić użytkownikowi i jego aplikacjom niezawodne, zestand a ryzowane, wygodne i wydajne środowisko pracy.
Można w związku z powyższym przyjąć, że oprogramowanie rozdziela się na dwie warstwy, system operacyjny jest tą warstwą, która separuje warstwę aplikacji od sprzętu, a przez to je od niego uniezależnia (rys. 1.2).
Użytkownicy
Aplikacje
System operacyjny
Sprzęt
Rys. 1.2 Wanrwowa budowa systemu informatycznego - 1. przybliżenie
Dla użytku aplikacji system operacyjny tworzy pewne abstrakcje zasobów sprzętowych, zrealizowane w postaci pewnych struktur danych i podprogramów, w dalszej części wykładu również zwane zasobami. Separację aplikacji od sprzętu należy rozumieć w ten sposób, że aplikacje nie sterują bezpośrednio sprzętem, a jedynie posługują się strukturami danych dostarczonymi przez system operacyjny (abstrakcjami zasobów sprzętowych) i wywołują systemowe podprogramy.