Operacíjski sistém (kratica OS, angleško operating system) je programska oprema nujna za delovanje računalnika. Deluje kot vmesnik med uporabnikom in strojno opremo računalnika.

Naloge operacijskega sistema

uredi

Uporabniški vmesniki OS

uredi

Vrste operacijskih sistemov

uredi

Operacijski sistemi se uporabljajo v raznolikih računalniških konfiguracijah - od mikro računalnikov do velikih računalniških sistemov. Zato imajo funkcije realizirane na različne načine; obstajata pa dve funkciji, ki sta skupni vsem sistemom[1]:

  • uporabniški vmesnik (user interface)
  • zagotavljanje izvajalnega okolja (run-time environment)

Operacijske sisteme lahko delimo glede na to, koliko uporabnikov lahko sistem uporablja istočasno. To so lahko enouporabniški (single-user, single-job), večprogramski (multiprogramminig), večprocesorski (multiprocessing) in porazdeljeni (distributed) operacijski sistemi. Drug način razdelitve je glede na to, kako uporabniki dostopajo do računalnikovih funkcij. To so lahko paketni (batch) in interaktivni (interactive) operacijski sistemi, ko mora biti procesor na rapolago v zaporednih časovnih rezinah (time-sharing)[1]. Mogoče so različne kombinacije tipov operacijskih sistemov.

Enoopravilni in enouporabniški

uredi

To so najpreprostejši operacijski sistemi. Računalnik lahko izvaja le en program naenkrat. Če je uporabnik želel preklopiti na drug program, je moral najprej prvega zaključiti. Šele nato je lahko zagnal drugega. Glavna slabost enoopravilnih operacijskih sistemov je slaba izkoriščenost računalniških virov.

Tipični predstavnik te skupine operacijskih sistemov je MS-DOS.

Enouporabniški, večopravilni

uredi

Operacijski sistem upravlja in rezervira pomnilnik, razvršča procese in skrbi za komunikacijo med njimi, dodeljuje vire, rokuje s podatki – datotečnim sistemom itd. Enouporabniški operacijski sistemi imajo le enega uporabnika, dovoljuje pa izvajanje več programov hkrati.

Večopravilni sistemi omogočajo izvajanje več kot enega programa naenkrat (istočasno lahko poslušate glasbo, pošiljate e-pošto, ...). Nekateri sistemi lahko istočasno navidezno izvršujejo več programov. Procesor izvaja en proces določen čas, nato naslednjega itd., uporabnik pa ima občutek kot, da se vsi procesi izvajajo istočasno. Večopravilni operacijski sistemi bolje izkoristijo razpoložljivo strojno opremo.

Predstavniki te skupine operacijskih sistemov so Microsoft Windows 95/98/NT, Windows 2000, ...

Večuporabniški, večopravilni

uredi

Večuporabniški operacijski sistem dovoljuje uporabo računalniškega sistema več uporabnikom hkrati. Dostop do takšnega računalnika je tipično realiziran preko računalniškega omrežja, tako da se uporabniki na sistem povezujejo preko oddaljenega dostopa (terminalski dostop, oddaljeno namizje). Večuporabniški sistem mora upravljati in usklajevati zahteve vseh uporabnikov in pri tem zagotoviti, da ne pride do medsebojnih vplivov. Naprave, ki niso deljive, lahko istočasno izvršujejo zahtevo samo enega uporabnika (npr. tiskalnik)[2] Sisteme, ki uporabljajo časovne rezine (time-sharing) in spletne strežnike lahko opredelimo kot večuporabniške sisteme, ker omogočajo večuporabniški dostop do računalnika preko dodeljevanja časa.

Predstavniki so: Microsoft Windows XP, Vista, 7, 8, Unix (OpenBSD, FreeBSD, ...), Linux, ...

Interaktivni

uredi

Pri interaktivnem operacijskem sistemu ima uporabnik neposreden stik z računalniškim sistemom in omogoča dialog med uporabnikom in izvajanim programom. Posli se opravljajo z interaktivnimi ukazi. Sporočila tečejo od uporabnika do računalnika in obratno po znakih. Nabira se v pomnilniškem vmesniku, procesor pa ga dobi v obdelavo šele, ko je bil poslan znak za konec sporočila.[1]

Mrežni in porazdeljeni

uredi

Več računalnikov je lahko medsebojno povezanih v računalniško omrežje. Računalniki lahko uporabljajo za komunikacijo programe zunaj operacijskega sistema. Za povezave pa je lahko zadolžen tudi sam operacijski sistem. Eden izmed računalnikov lahko deluje kot zbirčni strežnik (file server) do katerega dostopajo vsi drugi računalniki v omrežju.[1] Tak dostop omogoča mrežni operacijski sistem, ki za razliko od porazdeljenega nadzira delovanje samo enega računalnika, lahko pa svoje vire da na razpolago drugim računalnikom povezanim v mrežo.

Porazdeljeni operacijski sistem nadzira in usmerja delovanje več računalnikov povezanih v mreži, običajno streže več uporabnikom. Omogoča avtomatično razdelitev programskega bremena med več omrežnih računalnikov.

Realnočasnovni

uredi

Pri nekaterih računalniških sistemih je zelo pomembno, da se neko opravilo opravi pravočasno oz. so dolčeni intervali, v katerih so morajo biti začeta opravila končana.[1] Zanj je značilno, da omogoča hitre in predvidljive odzive na zunanje dogodke. Razlika med realnočasnovnimi in interaktivnimi operacijskimi sistemi je v času odziva. Medtem, ko je pri sprotnih operacijskih sistemih čas za vsako opravilo natančno določen, se pri interaktivnih operacijskih sistemih pričakuje takojšen odziv s stališča končnega uporabnika (to je v doglednjem času).

S takimi OS se srečamo v raznih krmiljih zahtevnih strojev in naprav, v usmerjevalnikih računalniškega omrežja, itd. Splošen primer tega tipa OS je HDTV sprejemnik in prikazovalnik (televizija z visoko ločljivostjo). Potrebuje se branje digitalnega signala, dekodiranje tega signala in prikaz dekodiranih podatkov. Kakršnakoli zakasnitev povzroči "kockanje" slike in/ali popačen zvok.

Predstavniki tega tipa OS so LynxOS, OSE, RTLinux, VxWorks, Windows CE.

Vgrajeni

uredi

Vgrajeni operacijski sistemi (embedded) so strogonamenski računalniški sistemi. To je operacijski sistem, ki sloni na specifičnih zahtevah in izvaja točno določene naloge. Upravlja lahko z omejenim številom virov. So zelo kompaktni in učinkoviti. Za vgrajen sistem ni nujno, da je del nečesa večjega, lahko je tudi samostojen, kot je v primeru digitalnega fotoaparata ali dvd-predvajalnika.[3]

Windows CE in Minix 3 sta primera vgrajenega OS.

Zgodovina

uredi

Zgodnji računalniki so bili zgrajeni za opravljanje vrste posameznih nalog, kot je to npr. kalkulator. Programskih jezikov ni bilo, prav tako ne operacijskih sistemov. Računalnike so upravljali neposredno z vnosom strojnih ukazov - bodis preko stikal, žičnih povezav, luknjanih kartic ali traku. To so bili sistemi za posebne namene, npr.: generiranje balističnih tabel za vojsko ali za tiskanje plačilnih seznamov na podlagi podatkov vnešenih na luknjane papirnate kartice. Potem ko so izumili programabilne računalnike za splošno rabo, so bili uvedeni strojni jeziki (sestavljeni iz nizov binarnih številk 0 in 1 na luknjanem traku papirja), ki je pospešil proces programiranja.

 
OS/360 je bil z začetkom leta 1966 uporabljen na večini IBM osrednjih računalnikih, vključno z računalniki, ki so pomagali NASI poslati človeka na Luno.

Osnovne funkcije operacijskega sistema so bile razvite v 1950-ih letih, kot so to funkcije nadzornega programa (resident monitor), ki lahko avtomatično zaporedno izvaja različne programe z namenom pospešitve obdelave. V zgodnjih 1950 je lahko računalnik izvajal le en program naenkrat. Vsak uporabnik je imel izključno uporabo računalnika za omejeno časovno obdobje - ob načrtovanem času je vnesel program s podatki na luknjanih papirnih karticah in/ali luknjanem traku. Program se je naložil v napravo in deloval dokler se program ni zaključil ali sesul. Programe so lahko v splošnem razhroščevali preko prednje plošče z uporabo preklopnih stikal in lučk. Pravijo, da je bil za to mojster Alan Turing na zgodnjem Manchester Mark 1 stroju, ki je že vseboval primitivni koncept operacijskega sistema delujočega na načelih univerzalnega Turingovega stroja.[4]

Operacijski sistemi niso obstajali (v moderni in bolj zapleteni obliki) do zgodnjih 1960ih let.[4] Dodane so bile strojne funkcije, ki omogočajo uporabo runtime knjižnic, prekinitev in vzporedno procesiranje. Ko so v 1980-ih postali priljubljeni osebni računalniki, so za njih naredili operacijske sisteme podobne tistim, ki so delovali na večjih računalnikih.

Osrednji računalniki (mainframe)

uredi
Glavni članek: Osrednji računalnik.

V pedesetih letih je bilo veliko funkcij na področju operacijskih sistemov pionirskih, vključno s paketno obdelavo, vhodno/izhodnimi prekinitvami, vmesnim shranjevanjem (buffering), večopravilnostjo, spooling (tiskanje v ozadju), runtime knjižnicami, povezovalnikom (linker) in programi za razvrščanje zapisov. Te funkcije so bile vključene ali pa ne v aplikacijski programski opremi glede na izbiro programerjev aplikacije, namesto v ločenem operacijskem sistemu, ki ga uporabljajo vse aplikacije. Leta 1959 je bil izdan SHARE Operating System kot namenski sistem za IBM 704 in kasneje za 709 in 7090 osrednje računalnike, čeprav je le-ta bil hitro nadomščen z IBSYS/IBJOB na 709, 7090 in 7094.

V šestdesetih letih je IBM predstavil družino računalnikov System/360 v katerih je bil nameščen operacijski sistem OS/360. Operacijski sistem System/360 še vedno živi v današnjih sodobnih IBM-ovih operacijskih sistemih.

OS/360 je prvi uvedel koncept, da operacijski sistem beleži vse sistemske vire, ki se uporabljajo, vključno z dodeljevanjem programov in prostora v glavnem pomnilniku in datotečnega prostora v zunanjem nosilcu podatkov (secondary storage), in zaklepanjem datotek (file locking) med posodobitvijo. Ko je postopek zaradi katerega koli razloga prekinjen, so vsi ti viri ponovno na razpolago operacijskemu sistemu.

Alternativni CP-67 sistem za S/360-67 je začel popolnoma novo linijo IBM operacijskih sistemov, ki se je osredotočil na koncept navideznega stroja (virtual machine).

Control Data Corporation je v 1960-ih razvil operacijski sistem SCOPE, za paketno procesiranje (batch processing). V sodelovanju z University of Minnesota, so bili v 70-ih razviti Kronos in kasnejši NOS opercijski sistemi, ki so podpirali sočasno paketno uporabo in dodeljevanje časovnih rezin. Kakor mnogo komercialnih timesharing sistemov, je bil njegov vmesnik razširitev Dartmouth BASIC operacijskih sistemov, ki je bil eden izmed pionirjev na področju dodeljevanja časovnih rezin in programskih jezikov. V poznih 1970-ih, sta Control Data in University of Illinois razvila PLATO operacijski sistem, ki je uporabljal ravni plazma zaslon in mrežo na daljavo z dodeljevanjem časovnih rezin (long-distance time sharing network). Plato je bil za svoj čas zelo inovativen, ki je omogočal pogovor v realnem času (real-time chat) in večuporabniške grafične igre.

Leta 1961 je Burroughs Corporation predstavila B5000 z MCP, (Master Control Program) operacijski sistem. B5000 je bil skladovni stroj (stack machine) razvit za podporo višjim programskim jezikom brez strojnega jezika ali assemblerja, in MCP je bil dejansko prvi OS, ki je bil napisan izključno v višjem programskem jeziku – ESPOL, dialekt programskega jetika ALGOL. MCP je prav tako vpeljal več drugih pionisrkih inovacij, kot je prva uporaba navideznega pomnilnika.

UNIVAC je bil prvi komercialni prizvajalec računalnikov. Proizvedel je serijo EXEC operacijskih sistemov. Kot vsi zgodnejši osrednji računalniški sistemi, je ta paketno usmerjeni sistem upravljal magnetne bobne, diske in čitalce kartic in linijske tiskalnike. V 70-ih je UNIVAC proizvedel the Real-Time Basic (RTB) sistem za podporo obsežnemu dodeljevanu časovnih rezin, prav tako narejen po vzorcu Dartmouth BC sistema.

Digital Equipment Corporation je razvil več operacijskih sistemov za različne linije računalnikov, vključno z TOPS-10 in TOPS-20 z dodeljevanjem časovnih rezin za 36-bitne sisteme razreda PDP-10. TOPS-10 je bil še posebej popularen sistem na univerzah in v zgodnji ARPANET skupnosti.

Od poznih 1960ih do poznih 70ih je postala strojna oprema zmogljivejša in je dovoljevala izvajanje podobne ali prenosljive programske opreme na več kot enem sistemu. Zgodnji sistemi so za izpeljavo funkcionalnosti na svojih sistemih izkoriščali mikroprogramiranje z namenom, da bi omogočili različne arhitekture računalnikov.

Velike investicije v programsko opremo za te sisteme, ki so bili narejeni od 60-ih let, so vzrok, da je večina originalnih proizvajalcev računalnikov nadaljevala z razvojem kompatibilnih operacijskih sistemov skupaj s strojno opremo. Vidnejši operacijski sistemi za osrednje računalnike vključujejo:

Mikroračunalniki

uredi
 
PC DOS je bil OS za zgodnje osebne računalnike, ki je imel vmesnik z ukazno vrstico.
 
Mac OS (Apple Computer) je postal prvi široko razširjeni OS, ki je imel grafični uporabniški vmesnik (GUI).

Prvi mikroračunalniki niso imeli zmogljivosti ali potrebe po dovršenih operacijskih sistemih, ki so bili razviti za osrednje računalnike in miniračunalnike; razviti so bili minimalistični operacijski sistemi, ki so se pogosto naložili iz ROM-a. Eden uglednejših zgodnjih diskovnih operacijskih sistemov je bil CP/M (Control Program for Mikroprocessors), ki je bil podprt na mnogih zgodnjih mikroračunalnikih in ga je močno imitiral Microsoftov MS-DOS, ki je postal splošno popularen kot operacijski sistem izbran za IBM PC (IBM-ova verzija je bila poimenovana IBM DOS ali PC DOS). V 80-tih je Apple Computer Inc. (sedaj Apple Inc.) opustil svojo popularno Apple II serijo mikroračunalnikov ko je predstavil svoj Apple Macintosh računalnik z inovativnim grafičnim uporabniškim vmesnikom (GUI) na Mac OS. Številne od njegovih funkcij so pozneje postale običajen del GUI, npr. okna in ikone.

Uvedba Intel 80386 CPU čipa z 32-bitno arhitekturo z možnostjo kopiranja podatkov iz navideznega v fizični pomnilnik (pomniniško ostranjevanje oz. paging) je zagotavila osebnim računalnikom zmožnost delovati na večopravilnih operacijskih sistemih podobnih tistim zgodnjim na miniračunalnikih in osrednjih računalnikih. Microsoft je kot odgovor na ta napredek odgovoril z najetjem Dave Cutlerja[5], ki je za Digital Equipment Corporation razvil VMS operacijski sistem. On je vodil razvoj Windows NT operacijskega sistema, ki še danes služi kot osnova za Microsoftovo linijo operacijskih sistemov. Steve Jobs, soustanovitelj Apple Inc., je ustanovil NeXT Computer Inc., ki je razvil NeXTSTEP operacijski sistem. NeXTSTEP je kasneje pridobil Apple Inc. in ga uporabil, skupaj s kodo iz FreeBSD kot jedro OS X.

GNU je začel ameriški aktivist in programer Richard Stallman s ciljem ustvariti popolnoma svobodno programje kot nadomestilo za lastniško programsko opremo UNIX operacijskega sistema.[6] Medtem ko je bil projekt zelo uspešen v kopiranju funkcionalnosti različnih delov UNIX-a, je bil razvoj jedra GNU Hurd neproduktiven. Leta 1991 je finski študent računalniških znanosti Linus Torvalds.[7], v sodelovanju s prostovoljci preko interneta, izdal prvo verzijo Linux jedra. Kmalu je bil združen z GNU komponentami uporabniškega prostora (user space) in sistemsko programsko opremo, kar je oblikovalo kompletni operacijski sistem. Od takrat je industrija programske opreme kombinacijo dveh glavnih komponent običajno imenovala kar "Linux" s čimer pa se Stallman in Free Software Foundation nista strinjala in sta prednost dajala imenu GNU/Linux[8][9][10]. Berkeley Software Distribution, poznan tdi kot BSD, je Unixova izpeljanka, ki jo je od 1970-ih razširjala Univerza Kalifornije, Berkeley.

Komponente

uredi

Jedro

uredi

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.

Tržni delež

uredi

Grosistična prodaja sistemov (tablični računalniki, prenosniki in PC-ji, vključno mobiji) po Gartnerju

Število poslanih naprav po svetu
Vir Leto Android iOS/OS X Windows Drugo
Gartner[11] 2015 1.3 milijarde (54%) 297 milijonov (12.3%), od tega
OS X 21 milijonov
283 milijonov (11.7%) ~520 milijonov (21.6%)
Gartner[12] 2014 48.61% 11.04% 14.0% 26.34%
Gartner[13] 2013 38.51% 10.12% 13.98% 37.41%
Gartner[14] 2012 22.8% 9.6% 15.62% 51.98%

Po objavi »Rezultati pregleda razvijalcev 2016« spletišča Stack Overflow uporabljajo angleško govoreči uporabniki naslednje operacijske sisteme za razvoj (in bo predvidoma »v pregledu naslednje leto - to je 2017 - število razvijalcev, ki uporabljajo Windows, padlo pod 50 %«):[15]

Leto Microsoft Windows: 52.02% Apple: 26.2% Na osnovi Linuxa: 21.7%
10 8/8.1 7 Vista XP OS X Ubuntu Fedora Mint Debian
2016 20.8% 8.4% 22.5% 0.1% 0.4% 26.2% 12.3% 1.4% 1.7% 1.9%

Drug vir podatkov je platforma Steam, katere razvijalci od decembra 2008 objavljajo »Pregled HW in SW«:

Mesec Microsoft Windows Mac OS Linux Drugo
Januar 2016[16] 95.39% 3.55% 0.95%
Januar 2015[17] 95.48% 3.32% 1.09%
Januar 2014[18] 94.93% 3.47% 0.86% 0.74%

^† Te številke so agregati podatkov, ki jih paro poroča Steam, in ne vključujejo statistike za Steam OS. Statistika tudi ne navaja manj rabljenih različic, tako da je te številke treba razumeti kot spodnjo mejo rabe.[24]

Sklici

uredi
  1. 1,0 1,1 1,2 1,3 1,4 Damjan Zazula (2006). Operacijski sistemi. Maribor: Fakulteta za elektrotehniko, računalništvo in informatiko. COBISS 54246401. ISBN 86-435-0195-6.
  2. Uroš Sonjak. »Kako deliti OS med več uporabniki«. E–gradiva.net. Arhivirano iz prvotnega spletišča dne 14. septembra 2016. Pridobljeno 24. avgusta 2013.
  3. Peter Korošec (2008). »Razvoj aplikacij za vgrajene sisteme na osnovi operacijskega sistema Linux (diplomska naloga)«. Maribor: FERI - Fakulteta za elektrotehniko, računalništvo in informatiko. COBISS 12586774.[mrtva povezava]
  4. 4,0 4,1 Hansen, Per Brinch, ur. (2001). Classic Operating Systems. Springer. str. 4–7. ISBN 0-387-95113-X.
  5. »2007 Microsoft Technical Recognition Award«. Microsoft Corporation. Pridobljeno 8. julija 2011. Senior Technical Fellow David Cutler—recipient of the inaugural Microsoft Technical Recognition Award for Career Achievement—is the key technical brain behind the 50 million lines of code constituting Microsoft's flagship product, the Windows operating system.
  6. Stallman, Richard (27. september 1983). »Initial GNU announcement«. Pridobljeno 20. novembra 2008.
  7. »NODES research group«. Cs.helsinki.fi. 16. oktober 2008. Arhivirano iz prvotnega spletišča dne 21. februarja 2010. Pridobljeno 13. marca 2010.
  8. Weeks, Alex (2004). »1.1«. Linux System Administrator's Guide (version 0.9 izd.). Pridobljeno 18. januarja 2007.
  9. »The GNU Operating System«. Gnu.org. Pridobljeno 17. aprila 2009.
  10. http://www.gnu.org/gnu/gnu-linux-faq.html#linuxsyswithoutgnu
  11. »Windows comes up third in OS clash two years early«. 1. april 2016. Arhivirano iz prvotnega spletišča dne 1. avgusta 2016. Pridobljeno 12. aprila 2016.
  12. »Gartner Says Tablet Sales Continue to Be Slow in 2015«. 5. januar 2015. Pridobljeno 6. marca 2015.
  13. »Gartner Says Worldwide Traditional PC, Tablet, Ultramobile and Mobile Phone Shipments to Grow 4.2 Percent in 2014«. 7. julij 2014. Pridobljeno 6. marca 2015.
  14. »Gartner Says Worldwide PC, Tablet and Mobile Phone Shipments to Grow 4.5 Percent in 2013 as Lower-Priced Devices Drive Growth«. 21. oktober 2013. Pridobljeno 6. marca 2015.
  15. »Survey 2016, Desktop Operating System«. stackoverflow. Pridobljeno 28. marca 2016.
  16. 16,0 16,1 16,2 16,3 Steam Hardware & Software Survey, arhivirano iz prvotnega spletišča dne 10. februarja 2016
  17. 17,0 17,1 17,2 17,3 Steam Hardware & Software Survey, arhivirano iz prvotnega spletišča dne 16. februarja 2015
  18. 18,0 18,1 18,2 18,3 Steam Hardware & Software Survey, arhivirano iz prvotnega spletišča dne 15. februarja 2014
  19. 19,0 19,1 19,2 Steam Hardware & Software Survey, arhivirano iz prvotnega spletišča dne 16. februarja 2013
  20. 20,0 20,1 Steam Hardware & Software Survey, arhivirano iz prvotnega spletišča dne 17. februarja 2012
  21. 21,0 21,1 Steam Hardware & Software Survey, arhivirano iz prvotnega spletišča dne 10. februarja 2011
  22. Steam Hardware & Software Survey, arhivirano iz prvotnega spletišča dne 17. februarja 2010
  23. Steam Hardware & Software Survey, arhivirano iz prvotnega spletišča dne 16. februarja 2009
  24. Linux gaming is much healthier than Steam's Hardware Survey implies

Zunanje povezave

uredi