Operatsioonisüsteem

**Operatsioonisüsteem** ehk **opsüsteem** (inglise keeles *operating system*, lühend *OS*) on programmide kogum, mis käivitatakse arvutis alglaadimisprogrammi poolt ning mis juhib arvutisüsteemi tööd ja teenindab rakendusprogramme. Rakendusprogrammid saadavad operatsioonisüsteemile nõudeid mitmesuguste teenuste järele läbi rakendusliideste. Kasutajad saavad opsüsteemiga vahetult suhelda selle madal- ja rakendustaseme programmeerimisliideste kaudu ning läbi käsuinterpretaatori, kasutades selleks käsurealt ohjekeelt või graafilist kasutajaliidest. 

W3Schoolsi veebilehtede külastatavuse statistika kohaselt on seisuga 2014 populaarseimateks personaalarvuti operatsioonisüsteemideks Microsoft Windows, Mac OS X ja GNU/Linux.

## Operatsioonisüsteemi ülesanded
* Arvuti protsessoriressursside jagamine protsesside vahel. Multitegum-opsüsteemis, kus samal ajal võib töötada mitu programmi, määrab opsüsteem ära, millised rakendused ja millises järjekorras peavad töötama ning kui palju aega tuleb igale rakendusele anda, enne kui järjekord läheb järgmise rakenduse kätte (ressursijaotus).
* Operatiivmälu haldamine. Opsüsteem juhib operatiivmälu ühiskasutust rakenduste vahel.
* Failide haldus.
* Sisend-väljundsüsteemide (I/O) haldamine – andmevahetus välisseadmetega – salvestusseadmed, printerid, ekraanikuvad jm.
* Arvutivõrkude tugi.
* Arvuti turvalisuse tagamine.
* Käskude interpreteerimine.

## Operatsioonisüsteemide tüübid
Andmete töötlusele esitatavate nõuete järgi võib operatsioonisüsteeme liigitada järgmiselt: 
* Reaalajasüsteemid (peavad ette antud ajalimiidis reageerima välissündmusele).
* Ajajaotussüsteemid (peavad võimaldama üheaegselt tööd paljudele tarbijatele, luues samal ajal igale tarbijale illusiooni personaalsest arvutikasutusest).
* Pakktöötlussüsteemid (peavad tagama arvuti kõigi ressursside optimaalset kasutamist).
* Hajustöötlussüsteemid (peavad tagama ülesande lahendamise sünkroonsuse füüsiliselt eri paikades asuvates arvutites).
* Üldotstarbeline süsteem (peavad tagama üheaegselt mitme funktsiooni täitmist).

Operatsioonisüsteemide rakendamise järgi erinevates süsteemides:
* Suurarvutite OS (OS/390, …)
* Serverite OS (UNIX, Linux, …)
* Mitmeprotsessori OS (Amoeba, …)
* Personaalarvutite OS (Linux, Mac OS X, Windows, …)
* Reaalaja operatsioonisüsteem (VxWorks, QNX, …)
* Sardsüsteemid (Palm OS, Windows CE, …)
* Kiipkaardi OS (MULTOS, Java Card, …)
* Kantavate ihuarvutite OS-id Wear OS (Wear, Android Wear), Tizen for Wearables, Google Fit, Apple watchOS, MediaTek LinkIt

## Operatsioonisüsteemide ehitus
Võib eristada järgmisi operatsioonisüsteemi mooduleid:
* Kernel ehk tuum, mille ülesandeks on protsesside juhtimine ja sünkroonimine.
* Mälusuperviisor – mälujuhtimine ja virtuaalmälu toetamine.
* Operaatoriliides – programmeerimis- ja kasutajaliideste toetamine.
* Seadmete juhtimine – loogiliste ja füüsiliste seadmete vastavusse viimine, sisend-väljund operatsioonide organiseerimine.
* Ülesande juhtimise programmid – juhtkeele interpreteerimine, kasutaja protsesside juhtimine.

## Ajalugu
Esimene operatsioonisüsteem oli 1955. aastal General Motorsi loodud pakktöötlussüsteem arvutile IBM 701. Esimene ajajaotussüsteem CTSS ("Kokkusobiv ajajaotussüsteem") loodi 1961. aastal Massachusettsi Tehnoloogiainstituudi arvutuskeskuses arvutile IBM 709. CTSS-i baasil loodi 1967. aastal operatsioonisüsteem TSS arvutile IBM S/360 ja 1969. aastal Multics arvutile GE-645. 1970. aastal loodi firmas AT&T Multicsi baasil operatsioonisüsteem Unix arvutile PDP-11, mis on aluseks tänapäeva operatsioonisüsteemidele Linux, Mac OS X ja Android. 1993. aastal loodi firma DEC operatsioonisüsteemi VMS (tulenes operatsioonisüsteemist RSX-11, mis tulenes operatsioonisüsteemist TSS) baasil operatsioonisüsteem Windows NT, mis on aluseks tänapäeva operatsioonisüsteemile Windows.

## Vaata ka
* Ajajaotussüsteemid
* Arvutiprogramm
* Hajussüsteemid
* Klaster
* Operatsioonisüsteemide loend
* Paralleelarvutid
* Programmeerimine
* Reaalajasüsteemid
* Suurarvutid
* Tarkvara

## Viited

## Välislingid
* Meelis Roosi ja Varmo Vene operatsioonisüsteemide loengute materjalid.
* UGU Unix Flavors
* AltOS – alternatiivsete opsüsteemide nimekiri.
* Extensive man page database for unix-like operating systems - unix.com