Operatsioonisüsteem
Operatsioonisüsteem (OS) on
tarkvaraprogramm, mis haldab arvutisüsteemi riist- ja tarkvaralisi
ressursse. OS tegeleb põhiülesannetega nagu näiteks mälu
juhtimine ja jaotamine, käskude täitmise järjestamine, sisend- ja
väljundseadmete juhtimine, võrguliikluse korraldamine ja
failihaldus .
Tänapäeva arvutites on
operatsioonisüsteem, mis jooksutab teisi rakendusprogramme.
Levinumad operatsioonisüsteemid on:
Microsoft Windows (98, 2000 Pro, XP)
Linux Mac OS
Unix Peamised operatsioonisüsteemi
eelised:
võimaldab jooksutada mitut programmi järjestikku
lihtsustab rakendustarkvara kirjutamist kuna programm ei pea tegelema riistvaraga. OS tegeleb kogu riistvara ja tarkvaraga suhtlemisega . Lisaks annab see programmile kõrgetasemelise liidese riistvara ja teiste programmidega suhtlemiseks
Iga operatsioonisüsteemi madalaim
tase on kernel . See tarkvara esimene kiht, mis laetakse mällu kohe
pärast arvuti käivitamist. Kernel tagab juurdepääsu erinevatele
tuuma teenustele kõigi teiste süsteemi ja rakendusprogrammide
jaoks.
Tuumateenusteks on:
Toimingute ajastamine
Mäluhaldus
Kettajuurdepääs
Juurdepääs riistvaraseadmetele
Ja teised.
Lisaks kernelile hõlmamb
operatsioonisüsteem sageli ka süsteemitarkvara, mis haldab
graafilist kasutajaliidest (Windows, Mac), utiliite, millede abil
saab operatsioonisüsteemi seadistada ja faile hallata. Sageli on
operatsioonisüsteemiga kaasas ka rakendustarkvara, mis ei ole
otseselt seotud operatsioonisüsteemi tööga, aga os-i levitaja on
pidanud vajalikuks.
Vahe tegemine operatsioonisüsteemi ja
rakendustarkvara vahel ei ole täpne ja seetõttu põhjustab
vaidlusi. Näiteks on USA ja Microsofti vahelise kohtukäigu üks
peaküsimusi, kas Microsofti veebilehitseja on operatsioonisüsteemi
osa või rakendustarkvarana eraldatav osa.
Sarnaselt operatsioonisüsteemi
terminile on ka kerneli kohustused ebamäärased. Vaieldakse näiteks
selle üle, kas kernel peaks hõlmama failisüsteemi. Erinevad leerid ongi loonud mikrokernelid, monoliitkernelid jne.
Operatsioonisüsteeme kasutatakse
enamusel, aga mitte kõigil arvutitel. Kõige lihtsamad arvutid ja
paljud esimestest arvutitest ei kasutanud operatsioonisüsteemi.
Selle asemel tegeleb programm minimaalse riistvaraga ise.
Kommertsiaalseid operatsioonisüsteeme võib leida praktiliselt igast
arvutiks nimetatavast seadmest personaalarvutitest serveriteni,
lisaks ka portatiivsetest seadmetest pihuarvutid (PDA) ja mobiiltelefonid .
Teenused
Protsessidehaldus
Iga toiming arvutis, olgu see
taustateenus või rakendustarkvara, jooksutatakse protsessina. Seni
kuni arvutite ehituses kasutatakse von Neumanni arhitektuuri on
võimalik jooksutada korraga ainult ühte protsessi protsessori
kohta. Vanemad operatsioonisüsteemid (näiteks DOS) ei üritanudki
sellest mööda pääseda ja nendega sai käivitada ühe programmi
korraga. Siit ka nimi ühetegumiline OS. Kaasaegsed
operatsioonisüsteemid suudavad simuleerida ühe protsessoriga mitme
protsessi korraga jooksutamist. Protsessihaldus ongi OS-i meetod
mitme protsessiga korraga toimetulemiseks . Kuna enamus arvuteid
omavad ühte ühetuumalist protsessorit saavutatakse mitmetegumilisus
lihtsalt protsesse kiiresti vahetades. Kui kasutaja käivitab rohkem
protsesse muutub ajajaotus igale protsessile väiksemaks, mis võib
paljudel süsteemidel viia selleni, et muusika muutub katkendlikuks
või hiir liigub hüppeliselt. Seda kutsitakse thrashing
(nüpeldamine) – situatsioon, kus arvuti tegeleb ainult
operatsioonisüsteemiga seotud ülesannete täitmisega, produktiivsus
null. Protsessihaldus koosneb ajajaotuse arvutamisest ja
levitamisest. Enamus OS-e lubavad määrata protsessi prioriteeti,
mis mõjutab tema ajajaotust. Interaktiivsed operatsioonisüsteemid
kasutavad ka mingitasemelist tagasisidet, mille tulemusena kasutaja
kasutatav programm saab kõrgema prioriteedi.
Mäluhaldus
Parkinsoni seaduse kohaselt
„Programmid laienevad kuni nad täidavad kogu neile saadaoleva
mälu”. Seega meeldivad programmeerijatele piiramatu suuruse ja
kiirusega mälud. Tänapäeval on enamus arvutimälust organiseeritud
hierarhiliselt alates kõige kiiremast registrid, vahemälu, RAM,
kettasalvestus ja lõpuks magnetlint . OS-i mäluhaldur koordineerib
mälu jälgides, milline on temale kättesaadav, milline tuleks
kasutusele võtta või kasutusest eemaldada ja kuidas vahetada
põhimälu ja teiste mälude vahel. See toiming, mida nimetatakse
virtuaalmälu halduseks suurendab märgatavalt protsessidele
saadaoleva mälu hulka ( kuni 4GB 32- bitise protsessoriga süsteemis,
kuigi RAM-i on ainult 256MB). Sellega kaasneb aga kiirusekadu, mis
on tavaliselt väike, aga võib ekstreemsituatsioonides muutuda
suureks ja viia arvuti thrashing
olekusse.
Teine mäluhalduse tähtis osa on
protsessori abiga virtuaalmälu kasutuse korraldamine. Kui mällu on
laetud mitmeid protsesse, siis tuleb neil keelata teineteise mälu
kasutamine. Selleks määratakse igale protsessile oma virtuaalne mäluosa, millele vastava füüsilise mälu piirkonna protsessor salvestab eraldi tabelisse.
Ketta
ja failisüsteemid
Operatsioonisüsteemidel on
laialdaselt toetatavaid failisüsteeme. Linuxil on see valik suurim –
ext2, ext3, ReiserFS , Reiser4, GFS, GFS2 , OCFS, OCFS2, NILFS ja
Google File System. Linuxil on samuti täis tugi XFS, JFS ja FAT
failisüsteemidele, lisaks toetab Linux NTFS failisüsteemist
lugemist. Windowsil teisest küljest aga on tugi ainult FAT12, FAT16,
FAT32 ja NTFS failisüsteemidele. NTFS on nendest uusim ja
efektiivseim. Kõikidel FAT failisüsteemidel on erinevad piirangud
partitsiooni ja faili suuruse suhtes, mis põhjustavad probleeme
FAT-i kasutamisel .
Enamusel ülaltoodud failisüsteemidel
on kettajaotuseks kaks meetodit. Iga süsteem võib olla päevikuga
(journaled) või ilma (non-journaled). Esimene on turvaline valik kui
arvestada süsteemi taastatavust. Kui süsteemi töö katkeb
ootamatult, süsteem hangub, tuleb ilma päevikuta süsteemi
taastamiseks kasutada süsteemi kontrolltööriistu, aga päevikuga
süsteemis toimub taastamine automaatselt. Windows NTFS ja enamus
Linuxi failisüsteemidest on päevikuga, Ext2 ei ole.
Kõik failisüsteemid koosnevad
sarnaselt kaustadest ja alamkaustadest. Erinevate
operatsioonisüsteemide failisüsteemide sarnasusele lisaks on neil
ka õrnad erinevused. Windows eraldab kaustasid tagurpidi
kaldkriipsuga ja ta failinimed ei ole tõstutundlikud samas
Unixi-põhistel operatsioonisüsteemidel (ka. Linux) kasutatakse
lihtsat kaldkriipsu ja failinimed tõstutundlikud.
Võrgustamine
Enamus operatsioonisüsteeme suudavad
kasutada nüüd juba universaalset TCP/IP võrguprotokolli. See
tähendab, et üks võib paista teise võrgus ja jagada oma
ressursse.
Paljud operatsioonisüsteemid toetavad ka ühte või enamat tootjapõhist võrguprotokolli nagu näiteks SNA
IBM süsteemidel.
Turvalisus
Operatsioonisüsteemi juures on
turvalisuse ülesanne enne juurdepääsu lubamist identifitseerida
kasutaja, määratleda lubatava juurdepääsu ulatus ja piirata
juurdepääsu vastavalt administraatori seatud poliitikale. Tüüpiline
operatsioonisüsteem pakub erinevaid teenuseid teistele arvutitele ja
kasutajatele võrgus. Need teenused on saadaval teatud portidel (www
– 80, smtp – 25). Tavaliselt lubavad teenused jagada erinevaid
ressursse.
Turvalisuse eesrindel on riistvaraline
seade, mida tuntakse tulemüürina. Operatsioonisüsteemi tasandil on
olemas ka mitmeid tarkvaralisi tulemüüre. Tarkvaraline tulemüür
seadistatakse nii, et see lubab või keelab teatud teenuse kasutamise
selles arvutis. Seega võib jooksutada ebaturvalist teenust (telnet,
ftp) kartmata turvalisuse pärast juhul kui teil tulemüür keelab
juurdepääsu vastavatele teenustele.
Graafiline
kasutajaliides
Tänapäeva operatsioonisüsteemidel
on enamustel graafiline kasutajaliides (GUI). Mõned vanemad
operatsioonisüsteemid sidusid GUI tihedalt kernelisse. Näiteks
Windowsi ja Mac OS esimesed versioonid. Uuemad operatsioonisüsteemid
on rohkem modulaarsed ja eraldavad GUI kernelist. Näiteks Mac OS X
ja Windows NT-l põhinevad operatsioonisüsteemid.
Paljud operatsioonisüsteemid lubavad
kasutajatel ise valida või isegi luua oma GUI. X-Windows on
laialdaselt kasutusel Unix-i põhistel süsteemidel samas GNOME ja
KDE leidub sageli Linux süsteemidel.
Seadmeajurid
Seadmeajur on spetsiifiline tarkvara
jupp, mis lubab suhelda riistvaraga. Tavaliselt sisaldab see liidest,
mis lubab suhelda seadmega läbi arvuti siini või muu, mille külge
seade ühendatud on, andes käske ja võttes vastu andmeid seadmelt
ja teisest otsast on ühendus operatsioonisüsteemi või muu
tarkvaraga. See on spetsiaalne seadmest sõltuv programm, mis on
seotud ka operatsioonisüsteemiga, mille abil saavad teised
programmid nähtamatult suhelda riistvara seadmega.
Seadmeajurite peamine disaini eesmärk
on üldistus. Iga riistvara mudel (isegi sama tüüpi seadmed ) on
erinevad. Tootjad valmistavad uuemaid mudeleid, mis pakuvad suuremat
usaldusväärsust või jõudlust ja neid uusi mudeleid juhitakse
sageli teisiti. Arvutitelt ja nende operatsioonisüsteemidelt ei saa
oodata kõikide praeguste ja tulevaste seadmete juhtimise oskamist.
Et seda probleemi lahendada määravad operatsioonisüsteemid, kuidas
kõiki tüüpe seadmeid juhtida tuleb. Seadmeajuri ülesandeks jääb
nende operatsioonisüsteemi määratud korralduste tõlkimine seadme
spetsiifilisteks käskudeks. Teoreetiliselt peaks iga uus seade, mida
juhitakse teisiti varasemast töötama korrektselt kui leitakse sobiv ajur . See uus ajur tagab selle, et operatsioonisüsteemi vaatenurgast
töötab seade tavaliselt.
Ajalugu
Esimestel arvutitel ei olnud
operatsioonisüsteeme. Siiski tekkis kiiresti utiliite, mis tegelesid
süsteemi haldamisega ja nende ülesanded laienesid tasapisi . 1960
aastate algul pakkusid arvutitootjad üpris ulatuslike tööriistu
pakktöötlus süsteemide arendamiseks ja tööde jooksutamiseks.
60-ndatel aastatel loodi erinevaid
kontseptsioone, mis edendasid operatsioonisüsteemi loomist. IBM lõi
System/360 keskarvuti perekonnale, millesse kuulus erineva võimsusega
ja hinnaga suurarvuteid, ühe operatsioonisüsteemi OS/360 (selle
asemel, et luua igale arvutile oma juhtprogramm). Selline kontseptsioon oli System/360 eduks ülitähtis ja tegelikult on IBM
tänapäeva keskarvuti operatsioonisüsteemid OS/360 kauged sugulased; programme , mis loodi OS/360 jaoks saab tänapäevalgi
jooksutada. OS/360 sisaldas veel üht olulist uuendust – kõvaketas
püsimäluseade. Lisaks võeti kasutusele ajajaotus idee, kus kallite
masinate ressursse jagatakse mitme arvutikasutaja vahel nii, et
kõigile jääb mulje arvutikasutamise ainuõiguse omamisest. Multics oli üks tuntumaid, mis inspireeris 1970-ndatel looma teisi
operatsioonisüsteeme, nagu näiteks Unix.
Esimesed mikroarvutid ei vajanud
keerulisi operatsioonisüsteeme, mida keskarvutid kasutasid. Nende
jaoks loodi minimalistlikud operatsioonisüsteemid. Üks esimesi oli
CP/M, mida toetasid paljud varastest mikroarvutitest ja mida MS-DOS i
loomise käigus suures osas klooniti. MS-DOS sai laialdaselt tuntuks
kui IBM hakkas oma arvutitega , seda kasutama (IBM arvutites kutsuti
seda IBM-DOS või PC-DOS). 80-ndatel aastatel oli ainuke suurem
konkurent Mac OS, mis oli tihedalt seotud Apple Macintoch arvutitega.
Üheksakümnendateks aastateks oli
mikroarvuti arenenud staadiumi, kus tekkis nõudlus ulatuslikule
graafilisele kasutajaliidesele ning suuremate arvutite
operatsioonisüsteemi robustsuse ja paindlikkuse järele. Microsofti
vastus sellele nõudlusele oli Windows NT, millel baseeruvad
Microsofti operatsioonisüsteemid aastast 1999. Apple ehitas oma
operatsioonisüsteemi Unixi baasil ümber ja lõi Mac OS X aastal
2001. Asjaarmastajad arendasid Unixi baasil GNU projekti abiga Linuxi
kerneli, mis on saanud samuti populaarseks.
Tänapäev
Käsurealiides
(Command line interface või
CLI)
operatsioonisüsteemid kasutavad arvuti juhtimiseks ainult klaviatuuri . Kaasaegsed operatsioonisüsteemid kasutavad juhtimiseks
ka hiirt ja omavad graafilist kasutajaliidest (graphical
user interface GUI). Operatsioonisüsteemi
valik sõltub süsteemi arhitektuurist, peamiselt protsessorist.
Ainult Linux ja BSD töötavad peaaegu igal platvormil. Windows NT on
loodud mõnele üksikule protsessorile (DEC Alpha ja MIPS Magnum ).
90-ndate algusest peale on personaalarvutitel valik Microsoft
Windowsi perekonna või Unixi-sarnaste operatsioonisüsteemide vahel,
milledest levinumad on Linux ja Mac OS X. Keskarvutid ja manustatud
süsteemid kasutavad erinevaid operatsioonisüsteeme, milledel ei ole
otsest seost Windowsi ega Unixiga, aga siiski sarnanevad rohkem
Unixile kui Windowsile.
- Personaal arvutid
- IBM PC ühilduvad – Microsoft Windows ja väiksemad Unixi variandid (Linux ja BSD)
- Apple Macintosh – Mac OS X, Linux, BSD ja Windows
- Keskarvutid (Mainframe) – Hulk unikaalseid operatsioonisüsteeme sageli Linux või mõni muu Unixi variant
- Integreeritud süsteemid – erinevad spetsiifilised operatsioonisüsteemid ja üksikud Linuxi versioonid
Unixi
sarnased – UNIX-like
Unixi-sarnaste perekond on mitmekülgne
operatsioonisüsteemide kogumik, milles on mitu suurt alamkategooriat
nagu näiteks System V, BSD
ja Linux.
Nimi UNIX ise kuulub The Open Group-ile ja ta litsenseerib selle
kasutamist operatsioonisüsteemidele, mis vastavad tema
definitsioonile. „Unixi-sarnane” ütlust kasutatakse, et
kirjeldada suurt hulka operatsioonisüsteeme, mis sarnanevad
originaalsele Unixile.
Unixi süsteemid töötavad väga
erineva arhitektuuriga arvutitel. Neid kasutatakse sageli serveri
süsteemidena, samuti tööjaamadena hariduses ja inseneerinduses.
Tasuta tarkvara (Linux, BSD) kasvatab jõudsalt oma populaarsust.
Neid kasutatakse ka personaalarvutites, näiteks Ubuntu, aga siiski
veel hobikorras.
Mõned Unixi variandid nagu
Hewlett-Packardi HP-UX ja IBM’i AIX on disainitud töötama ainult
nende tootjate riistvaraga. Teised, nagu näiteks Solaris, suudavad
töötada kõigil x86 ühilduvatel arvutitel. Apple Mac OS X on
mikrokernel BSD variant, mis tuletati NeXTSTEP, Mach ja FreeBSD
operatsioonisüsteemidest, asendas Apple varasema mitte Unixi-sarnase
Mac OS operatsioonisüsteemi. Viimastel aastatel on vabavaralised
süsteemid asendanud enamused firmasisesed süsteemid paljudes
valdkondades. Näiteks oli kunagi teaduslik mudelleerimine ja
arvutianimatsioon SGI firma IRIX operatsioonisüsteemi pärusmaa.
Tänapäeval domineerivad siin Linuxi-põhise Plan 9 klasterid.
Microsoft
Windows
Microsoft Windowsi
operatsioonisüüsteemide perekond algas graafilise kihina vanas
MS-DOS’i keskkonnas. Kaasaegsed versioonid põhinevad Windows NT
tuumal, mis võttis kuju OS/2 operatsioonisüsteemis laenatuna
OpenVMS süsteemist. Windows töötab 32- ja 64-bitistel Inteli ja
AMD protsessoritel, kuigi varasemad versioonid toetasid ka DEC Alpha,
MIPS js PowerPC arhidektuuri.
Aastal 2004 oli Windows monopoli
seisus kuna tema süsteeme kasutasid 90% maailma töölaua
arvutitest. Arvatakse, et see osakaal väheneb kuna huvi avatud
lähtekoodiga süsteemide vastu on kasvanud. Windowsit kasutatakse ka
madala- ja kesktaseme serverites, kuna ta toetab veebi- ja
andmebaasiserveri teenust. Viimastel aastatel on Microsoft kulutanud
hulga raha uurimisele ja arendamisele, et tõestada Windowsi
suutlikust jooksutada suvalist tootmistarkvara.
Kõik kommentaarid