Operacijski sistem

Iz MaFiRaWiki

Vsebina

Operacijski sistem

Operacijski sistem je osnovna programska oprema, ki upravlja z računalnikom in deluje kot vmesnik med uporabnikom in strojno opremo računalnika. Preprosto bi lahko rekli, da je operacijski sistem program vseh programov - upravlja s strojno in programsko opremo. Je osnova, ki nadzira delovanje celotnega računalnika in skrbi, da se tudi drugi programi dobro “počutijo” in pravilno delujejo. Ob zagonu računalnika se namesti v pomnilnik in prevzame nadzor nad njim.

Sleherni računalnik je opremljen z operacijskim sistemom – nekateri jih imajo celo več, a ne hkrati. Najbolj uveljavljeni operacijski sistemi so iz družin Windows (razvija Microsoft), Macintosh (razvija Apple) in Unix.

Jedro

Operacijski sistem je sestavljen iz dveh delov: jedra (kernel), ki skrbi za nadzor procesorja, pomnilnika, procesov in naprav v računalniku, ter uporabniškega vmesnika, ki skrbi za interakcijo med uporabnikom in računalnikom. Vmesniki so lahko z ukazno vrstico ali grafični.

Uporabniški vmesnik

Vmesniki z ukazno vrstico omogočajo nadzor računalnika z zaporedjem besedilnih ukazov, ki jih vnašamo ročno ali pa poženemo seznam ukazov, zapisan v besedilni datoteki. Pri ukazni vrstici za nadzor nad računalnikom uporabljamo tipkovnico, medtem ko miške navadno ne potrebujemo. Rezultat ukaza je lahko povratna informacija, operacija nad datotekami, zagon programa ali pa sprememba podatkov na zaslonu ali izpis na tiskalnik. Operacijski sistem z ukazno vrstico vsebuje poseben program, tolmač ukazov oz. ukazno lupino, ki prebira ukaze in jih prevede v operacijskemu sistemu razumljivo zaporedje kode. Vmesnik z ukazno vrstico uporablja večina lupin operacijskega sistema Unix, med bolj znane vmesnike z ukazno vrstico pa spadata tudi vmesnika operacijskih sistemov CP/M in MS-DOS.

Prednost ukazne vrstice je predvsem v tem, da omogoča izvajanje daljšega zaporedja ukazov brez posredovanja uporabnika. Izvajanje ukazov lahko tudi ustavimo na določeni točki in shranimo stanje, pozneje pa nadaljujemo izvajanje na isti točki. Slabost vmesnikov z ukazno vrstico je njihova neprijaznost do začetnikov, saj je za normalno delo z računalnikom treba poznati vsaj najpogosteje uporabne ukaze.

Preprostejši in elegantnejši nadzor nad računalnikom naj bi omogočali grafični uporabniški vmesniki. Po eksperimentiranju v petdesetih letih so v sedemdesetih letih v raziskovalnem inštitutu univerze Stanford predstavili prvi grafični uporabniški vmesnik za osebne računalnike. Koncept je prevzel in razvil Xeroxov raziskovalni center PARC, kjer so postavili osnovo za večino danes uporabljanih grafičnih uporabniških vmesnikov. Temelj PARCovega uporabniškega vmesnika so štirje elementi: okna, ikone, miška in kazalec (WIMP - Windows, Icons, Mouse, Pointer). V okolju WIMP z miško premikamo kazalec po zaslonu, datoteke so na zaslonu predstavljene v obliki ikon, programi pa se izvajajo v oknih. Površini zaslona, kjer je grafično predstavljeno celotno okolje, rečemo namizje (desktop).

Večina danes uporabljanih operacijskih sistemov za interakcijo z uporabnikom uporablja grafični uporabniški vmesnik, medtem ko je vmesnik z ukazno vrstico na voljo le kot dodatek ali pa sploh ne. Poglavitna razlika med vmesnikom z ukazno vrstico in grafičnim uporabniškim vmesnikom je v načinu predstavljanja zmožnosti. Pri ukazni vrstici so zmožnosti predstavljene enakovredno: tako osnovne kot naprednejše so uporabniku na voljo na enak način, postopek izvajanja zahtevnega ukaza pa je približno enako zapleten kot prikaz seznama datotek na zaslonu. Pri grafičnih uporabniških vmesnikih so najpogosteje uporabljani ukazi na namizju ali le korak stran, medtem ko dostop do naprednejših nastavitev zahteva kar precej predznanja in iskanja.


Osebni računalniki

Največji delež operacijskih sistemov uporabljajo tako imenovani splošno namenski računalniki (Osebni računalniki - PC-ji). Operacijski sistemi za osebne računalnike se delijo na MS Windows operacijske sisteme in operacijske sisteme, ki so podobni Unix-u (Linux, FreeBSD, OpenBSD,...)

Veliki računalniki in namenski računalniki

Mainframe računalniki (veliki, močni in dragi računalniki za velike organizacije in državne ustanove) uporabljajo različne operacijske sisteme in namenske naprave (mobilni telefoni, dlančniki, npr. Palm T/X uporablja operacijski sistem Palm OS, ročni kalkulatorji, tiskalniki, usmerjevalniki, klimatske naprave,...) uporabljajo namenske vgrajene sisteme. Računalnik v mikrovalovni pečici pa ne potrebuje operacijskega sistema, ker se od njega pričakujejo le preprosta opravila.

Naloge operacijskega sistema:

  • dodeljevanje virov uporabnikom (Centralno procesni enoti, Glavnemu pomnilniku, Vhodno izhodnim enotam)
  • reševanje konfliktnih situacij (sočasni dostopi do virov)
  • optimizira in nadzira uporabo virov
  • olajšuje delo uporabnikom
  • vzdržuje integriteto sistema in obravnava napake
  • inicializira strojno opremo računalniškega sistema
  • zagotavlja osnovne rutine za nadzor naprav
  • zagotavlja upravljanje, razporejanje interakcijo (komunikacijo) med opravili
  • ...

Med osnovne naloge sodi npr. delo z diski:

  • sistem določa, kako so organizirani podatki na disku. Temu pravimo datotečni sistem.
  • sistem (največkrat) razdeli disk na dele (particije), področja (mape), podpodročja in datoteke
  • odgovoren je za evidenco, kateri podatki so zapisani na disku in kje

Vrste operacijskih sistemov

Najpogostejša delitev

enouporabniški - večuporabniški

Večuporabniški operacijski sistemi omogočajo delo več uporabnikov na istem računalniku, delo istega uporabnika na različnih računalnikih, vzpostavitev lokalnega omrežja, priklop na globalno omrežje. Varnost sistema povečamo z omejevanjem dostopa do računalnika ali pa le do posameznih delov računalnika (disk, mapa ipd.)

  • Primer: Enouporabniški operacijski sistem je Windows 95/98/Me, večuporabniški pa Windows 2003 Server, Linux itd.

enoopravilni - večopravilni

Večopravilni omogočajo istočasno izvajanje več programov. To dejstvo pa je le navidezno, saj operacijski sistem razdeli razpoložjivi čas na osnovi prednosti med vse programe, ki se trenutno izvajajo. Spremembe se odvijajo zelo hitro, zato nam dajejo občutek, da vsi programi delujejo naenkrat.

  • Primer: Enoopravilni je (bil) MS-DOS, večopravilni pa Windows XP itd.

enonitni - večnitni

Večnitni omogočajo, da v določenem programu izvajamo več operacij hkrati. Razpoložjivi čas se zopet razdeli.

  • Večnitnost sta podpirala že Windows NT in OS/2.


Zgodovinski razvoj je šel preko enouporabniških, enoopravilnih sistemov preko enouporabniških, večopravilnih sistemov do danes uveljavljenih večuporabniških, večopravilnih sistemov.

Druge delitve

s takojšnim odzivom

Sistemi, ki se brez zakasnitve odzivajo na dogodke iz okolja:

- ukaze uporabnikov ali
- signale zaznaval (detektorjev) za fizikalne in kemijske količine.
  • Primer: operacijski sistem QNX.

za hkratno obdelavo

Zagotavljajo izvajanje programov z več procesorji hkrati. Več procesorjev imajo ponavadi zmogljivejši strežniki.

omrežni

Krmilijo delovanje krajevnih omrežji (Windows NT, Novell NetWare) ali prostranih omrežji (internet).

vdelani

Programi za delovanje naprav, ki imajo vdelane računalniške sisteme (videorekorder, hišna alarmna naprava).

Zgodovina operacijskih sistemov

Prvi računalniki v petdesetih letih niso imeli operacijskih sistemov. Programer je moral pri pisanju programa poskrbeti za celotno delovanje računalnika med izvajanjem njegovega programa, tudi za nadzor nad sistemskimi sredstvi. Izkazalo se je, da je veliko programerjev opravilo isto delo, saj je vsak zase moral sprogramirati celoten računalnik. To je veljalo predvsem za vhodno/izhodne operacije, kot je bilo branje podatkov z magnetnega traku ali izpis na tiskalnik. Prav tako je veliko programerjev sprogramiralo nekaj najpogosteje izvajanih operacij, kot so matematične funkcije ali operacije z nizi. Da se delo ne bi več podvajalo, so najpogosteje uporabljane operacije shranili in so bile na voljo vsem programerjem na računalniku. Take shranjene zbirke operacij lahko štejemo za predhodnike sodobnih operacijskih sistemov. Pozneje so izdelovalci računalnikov operacijski sistem vgradili že v sam računalnik. Prvi operacijski sistemi so bili povsem prilagojeni uporabnikom računalnika, tako da operacijski sistemi v različnih računalnikih iste vrste niso bili združljivi med sabo.

V šestdesetih letih je IBM predstavil družino računalnikov System/360. Gre za prvo družino računalnikov, kjer je bila postavljena jasna meja med arhitekturo in izdelkom, kar pomeni, da so vsi računalniki, ki so temeljili na arhitekturi 360, imeli enak nabor strojnih ukazov. V vsak računalnik je bil tako lahko nameščen operacijski sistem OS/360, programi med posameznimi računalniki pa so bili povsem prenosljivi. Pri razvoju OS/360 se je IBM ubadal z nemalo težavami, saj so bili posamezni modeli računalnikov iz družine 360 med sabo zelo različni. System/360 je uvedel kopico standardov, ki se v računalništvu uporabljajo še danes: osem bitov dolg bajt, 32-bitne besede, naslavljanje pomnilnika po bajtih (namesto po besedah) in disketno enoto. Operacijski sistem System/360 še vedno živi v današnjih sodobnih IBMovih operacijskih sistemih: v operacijskem sistemu z/OS, ki je združljiv z Unixom in teče na IBMovih strežnikih zSeries, še vedno lahko poganjamo vse programe, pisane za System/360.

Naslednji večji mejnik v razvoju operacijskih sistemov je razvoj Unixa. Razvili so ga trije inženirji v podjetju AT&T Bell Labs: Ken Thompson, Dennis Ritchie in J. F. Ossanna. Bell Labs je že v šestdesetih letih razvijal operacijski sistem Multics, s katerim naj bi zanesljivo in učinkovito podeljevali računalniški čas v velikih računalnikih posameznim projektom. Po večletnem razvoju so stroški razvoja Multicsa narasli, rezultatov pa ni bilo, tako da so projekt leta 1969 opustili. Trije programerji, ki so sodelovali pri razvoju Multicsa, so želeli začeti znova, vendar jim v Bell Labs niso dovolili uporabljati službenega računalnika za še en, po njihovem mnenju propadel projekt. Za druge projekte pa so dobili na voljo za Bell Labsove razmere dokaj skromen računalnik PDP-7, za katerega je Ken Thompson napisal preprosto igro. Skupaj z Ritchijem sta napisala tudi preprost vmesnik za shranjevanje rezultatov in nastavitev. Vmesnik je za zapisovanje podatkov uporabljal sebi lasten datotečni sistem. Vmesnik za shranjevanje podatkov so razvijali naprej in nastala je osnova, iz katerega se je razvil Unix. Pri prenosu podatkov na novejši PDP-11 pa je prišlo do težav: PDP-7 in PDP-11 nista bila med sabo združljiva. Thompson, Ritchie in Ossanna so zato operacijski sistem napisali v programskem jeziku C, ki so ga v ta namen sami razvili, napisali pa so tudi prevajalnik za C za PDP-7 in PDP-11.

Tako je Unix postal prvi operacijski sistem, ki so ga prenesli z ene arhitekture na drugo, kar je bilo v tistih časih nezaslišano. AT&T zaradi protimonopolnih omejitev ni smel prodajati programske opreme, tako da je Unix ponudil skoraj brezplačno za akademsko rabo. Na univerzi Berkeley so študenti posamezne dele izboljševali in rodila se je tako imenovana BSD (Berkeley Standard Distribution) distribucija Unixa, ki je še danes standard med brezplačnimi Unixi in osnova za celo vrsto operacijskih sistemov. Pozneje je bila iz pravnih razlogov vsa koda, ki je izhajala iz AT&Tjevega Unixa, opuščena, tako da BSD Unix nima več nobenih vezi z originalno AT&Tjevo različico.

Konec sedemdesetih in v začetku osemdesetih let so postali zelo priljubljeni osembitni hišni računalniki, kot sta ZX Spectrum in Commodore 64. Ti računalniki so bili v osnovi brez operacijskega sistema, saj so imeli v ROM (nespemenljivi bralni pomnilnik) vgrajen jezik BASIC, s katerim je uporabnik lahko izvajal tudi osnovne vhodno izhodne operacije, kot so dostop do zunanjih pomnilnikov in nalaganje programov. Zanje so bili sicer na voljo operacijski sistemi, kot sta CP/M in GEOS, ker pa je šlo za naprave, namenjene predvsem zabavi, ne pa resnemu delu, je večina uporabnikov teh računalnikov za delo uporabljala kar vgrajeni BASIC.

Z razvojem mikroprocesorjev je bila na trgu na voljo cela vrsta računalnikov različnih izdelovalcev, ki so uporabljali nekatere standardne sestavne dele ter vmesnike in vodila za njihovo priključevanje. Zato se je rodila potreba po nekem standardnem operacijskem sistemu, s katerim bi lahko krmilili vse tovrstne, med sabo ne povsem združljive naprave. Tej vlogi se je najbolj približal sistem CP/M podjetja Digital Research, namenjen procesorjem 8080, 8085 in Z-80. CP/M je tekel v različnih računalnikih, združljivost med posameznimi modeli pa je Digital Research dosegel z razdelitvijo operacijskega sistema na dva dela: prvi, BDOS (Basic Disk Operating System), je nize iz ukazne vrstice pretvarjal v zaporedje visokonivojskih ukazov. To zaporedje je potem poslal v obdelavo drugemu delu, imenovanemu BIOS (Basic Input/Output System), in ta jih je prevedel v strojni jezik. Prenos CP/Ma na novo arhitekturo je bil tako precej olajšan, saj je bilo treba na novo napisati samo BIOS, medtem ko je preostanek operacijskega sistema ostal enak. Programi za CP/M so bili tako povsem prenosljivi med računalniki z različno strojno opremo. CP/M so v Digital Research razvili tudi za 16-bitne računalnike: CP/M-68k je bil napisan za Motorolo 68000 in je postal standardni operacijski sistem za Atarijeve računalnike ST, medtem ko je bil CP/M-86 napisan za Intelova procesorja 8086 in 8088 in Digital Research je bil na najboljši poti, da CP/M-86 postane standardni operacijski sistem za novi IBMov računalnik PC. Zaradi nekaj manjših pravnih zapletov in nerodnosti s strani Digital Researchove uprave se je IBM na koncu odločil za CP/Mu podoben sistem DOS podjetja Microsoft.

Microsoft je konec sedemdesetih postavil standard za programski jezik BASIC, z operacijskimi sistemi pa se ni ukvarjal. V podjetju so hitro spoznali potencial novega IBMovega računalnika, zato so od podjetja Seattle Computer Products, ki je razvijalo operacijski sistem QDOS za svoje računalnike s procesorjem 8086, odkupili pravice za QDOS. Microsoft je kodo malo obdelal in sistem ponudil IBMu pod imenom MS-DOS. Operacijski sistem je bil po načinu delovanja zelo podoben CP/Mu, tako da je bil prenos osembitnih programov, pisanih za CP/M v MS-DOS, dokaj preprosto opravilo. Z razmahom IBMovih PCjev in z njim združljivih računalnikov je MS-DOS postal standardni operacijski sistem za osebne računalnike.

Konec osemdesetih in v devetdesetih letih so operacijske sisteme z ukazno vrstico izrinili sistemi z grafičnim uporabniškim vmesnikom. Najprej so bili na voljo le kot nadgradnja že obstoječih operacijskih sistemov, kmalu pa so jih povsem nadomestili. Trend je začel Apple s predstavitvijo sistema MacOS, temu pa so hitro sledili drugi izdelovalci (IBM OS/2, Microsoft Windows, Linux...) in tako položili temelje za operacijske sisteme, ki jih uporabljamo še danes.

Osebna orodja