Koode operatsiooni süsteemi kohta:
Kernel:
- Operatsioonisüsteem (Operating System edaspidi OS)
vahendab arvutikasutaja suhtlust arvuti riistvaraga. OS'i eesmärk on muuta
arvuti kasutamine mugavaks, võimaldades käivitada kasutajarakendusi ja aidates
lahendada veaolukordi.
-
Rakendustarkvara
- erinevad rakendusprogrammid, mis pakuvad kasutajale vajalikku funktsionaalsust tööülesannetetäitmiseks
arvutil.
|
Joonis 2-1. Arvuti riist- ja tarkvarakomponendid(Allikas: Learning Materials for
Information Technology Professionals (EUCIP-Mat))
|
Joonis 2‑2. Rakendustele
riistvararessursside jagamine(Allikas: Learning Materials for Information
Technology Professionals (EUCIP-Mat))
OS vahendab
rakendusprogrammide pöördumist riistvarakomponentide poole läbi spetsiaalsete
liideste. See võimaldab rakendustele juurdepääsu süsteemi
riistvararessurssidele jättes OS'i hooleks riistvara poole pöördumise
spetsiifika,riistvararessursside halduse ning konfliktide välistamise. Tüüpilise
personaalarvuti OS'i funktsioonid on:
-
Kasutajakeskkond
seadmetega töötamisel
-
Automaatne
sisend-väljund (edaspidi S/V)seadmetekonfimine
-
Rakenduste
liides seadmete poole pöördumiseks
-
Keskkond
rakenduste loomiseks
-
Ressursi
(CPU, RAM, failisüsteem, jne) jagaja
-
Arvutivõrgu
toetus (protokollid, veebilehitseja)
-
Turvavahendid
(autentimine, tulemüür, failisüsteemi ACL, krüpteerimine, installi- ja
kasutuspiirangute konfimine tavakasutajatele).
KaasaegseteOS'ide arendusel tehakse tööd, et toetada uuemat riistvara, uusi
rakendusi ja kaitsta OS'i turvaohtude eest. Riistvarakomponentide osas on
arengut suunanud multiprotsessorsüsteemide kiire areng, kõrged taktsagedused,
massmäluseadmete suurenenud andmemahud. Rakenduste osas on OS'i arengu
mõjutajateks multimeediarakendused, internet ja võrgundus, klient/server
lahendused ja virtualiseerimine.Nende väljakutsete mõjul tehakse OS'ide
arendamiseks tööd järgmistes kategooriates:
-
Mikrokernel-arhitektuur(Microkernel architecture) -
kompaktne kernel, mida toetavad eraldi lisakomponendid
-
Hargtöötlus (Multithreading) - võimaldab protsessi
käivitamise jagada lõimedeks, mida saab käivitada paralleelselt
-
Sümmeetriline multitöötlussüsteem
(Symmetric multiprocessing) - protsessorid jagavad sama põhimälu ja S/V moodulit ning
võivad käivitada võrdselt kõiki protsesse.
-
Objekt-orienteeritud disain - võimaldab lisada
laiendusi kompaktselekernelile, kohandada OS'i ja lihtsustab jagatud
tööriistade arendamist.
-
Hüperviisor
(Hypervisor) - virtualiseerimise haldur, mis paigaldub õhukese tarkvara
kihina riistvara ja kerneli vahele ning võimaldab ära kasutada riistvaralise
virtualiseerimise toetuse ja hallata nii mitmeid erinevaid operatsioonisüsteeme
samas füüsilises masinas.
Operatsioonisüsteemipõhikomponendid on kokku võetud ainulaadsesse
programmi, mida nimetatakse
kerneliks
ehk tuumaks. Kernel võib olla ehitatud kas suure monoliitse arhitektuuriga
(monolithic architecture), mille puhul kernel sisaldab kõike vajaliku OS'i
funktsioneerimiseks ja sealhulgas plaanuri, failisüsteemi, võrgunduse,
seadmedraiverid, mäluhalduse jne. Mikrokernel-arhitektuuri puhul on kernelis
ainult kõige põhilisemad funktsioonid nagu protsesside plaanur,
protsessidevaheline kommunikatsioon, katkestuste ja erandite töötlus ja
mitmeprotsessorsüsteemi sünkroniseerimine. Ka sisaldab mikrokernel
alamprotseduure ja baasobjekte, mida kernelit ümbritsevad ja kernelirežiimis
töötavad komponendid saavad kasutada.Microsoft Windows OS'id on modulaarsed ja
kasutavadmikrokernel-arhitektuurile sarnast lähenemist. Linux OS kasutab
monoliitse kerneliga arhitektuuri. Windowsi kerneli ümber on koondatud muud kernelirežiimis
töötavad komponendid, mis pakuvad kõiki OS'i teenuseid nagu mälu haldus,
protsessi ja lõimede haldus, turvalisus, S/V, võrgundus, protsesside vaheline
kommunikatsioon ja graafilise kasutajaliidese funktsioonid. Kernelirežiimis
töötavad ka seadmete draiverid, mis muundavad S/Vfunktsioonide käske
spetsiifilisteks riistvaraseadmete S/V päringuteks. Kernelirežiimis töötavad
komponendid peavad olema väga hästi testitud ja draiverid OS'iga ühilduvad,
sest häired nende töös muudavad ebastabiilseks kogu OS'i.
Selleks, et kaitsta OS'i kasutajarakenduste eest on OS'is kasutusel erinevad
protsessori režiimid kernelile ehk
kernelirežiim
(Kernel Mode või Supervisor Mode) ja kasutajarakendustele ehk
kasutajarežiim (User Mode).
Kasutajarakendused töötavad kasutajarežiimis ja OS'irakendused (süsteemi teenused ja seadmete draiverid)
töötavad kernelirežiimis. Selles režiimis rakendused jagavad ühtset virtuaalset
aadressiruumi. Kernelirežiim käivitatakse protsessori privilegeeritud
käivitusrežiimis, mis tagab juurdepääsu kõigile protsessori käskudele ja kogu
süsteemimälule. Erinevate töörežiimide rakendamine võimaldab välistada, et
vigane kasutajarakendus ohustaks süsteemi kui terviku stabiilsust.