2.1.1 Personaalarvuti operatsioonisüsteemi funktsioonid

iDevice ikoon 2.1.1 Personaalarvuti operatsioonisüsteemi funktsioonid

Personaalarvuti koosneb riistvara- ja tarkvarakomponentidest. Viimase mõiste alla kuuluvad:

  • 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.