OPERACIJSKI SISTEMI

Matija Lokar

Fakulteta za matematiko in fiziko

KAZALO

  • 1. OPERACIJSKI SISTEMI
  • 1.1 KAJ JE TO OPERACIJSKI SISTEM
  • 1.1.1
  • 1.1.2 Definicija
  • 1.1.3 Kaj OS po~ne
  • 1.1.3.1 Pti~ji pogled (navidezni ra~unalnik)
  • 1.1.3.2 @abji pogled (dodeljevanje zmogljivosti)
  • 1.1.3.3 Glavne funkcije OS
  • 1.1.3.4 Uporabni{ki vmesnik
  • 1.1.3.5 Navidezni ra~unalnik
  • 1.2 ZGODOVINA
  • 1.2.1 Prvi el. ra~unalniki
  • 1.2.2 Prevajalniki, bralnik kartic
  • 1.2.3 Operater
  • 1.2.4 Prepu{~anje opravil
  • 1.2.5 Ve~opravilnost
  • 1.2.6 Pogovorno delo
  • 1.2.7 Operacijski sistemi na osebnih ra~unalnikih
  • 1.3 DELITEV OPERACIJSKIH SISTEMOV
  • 1.3.1 [tevilo uporabnikov
  • 1.3.1.1 Enouporabni{ki sistemi
  • 1.3.1.2 Ve~uporabni{ki sistemi
  • 1.3.2 [tevilo programov
  • 1.3.2.1 En program
  • 1.3.2.2 Ve~opravilni
  • 1.3.3 Povezanost
  • 1.3.3.1 "Obi~ajni" OS
  • 1.3.3.2 Omre`ni OS
  • 1.4 DOS, WINDOWS, WINDOWS 95, WINDOWS NT
  • 1.4.1 Zgodovinski razvoj
  • 1.4.2 Zna~ilnosti posameznih sistemov
  • 1.4.2.1 DOS
  • 1.4.2.2 WINDOWS
  • 1.4.2.3 WINDOWS for Workgroups
  • 1.4.2.4 WINDOWS 95
  • 1.4.2.5 WINDOWS NT
  • 1.5 LINUX, FREEBSD, ...
  • 1.6 KAJ BO V PRIHODNJE (S POGLEDOM NA {OLSKO PODRO~JE)
  • 1.6.1 Sedaj, naslednje obdobje
  • 1.6.1.1 Windows 95 za {olo ni najprimernej{i
  • 1.6.2 Malo kasneje
  • 1.6.2.1 Kak{en ra~unalnik bi si `eleli
  • 1.6.2.2 Prihodnji operacijski sistemi
  • 1.7 MICROSOFTOVE NAPOVEDI (NEURADNE)
  • OPERACIJSKI SISTEMI

    KAJ JE TO OPERACIJSKI SISTEM

    Sedimo za ra~unalnikom. @elimo izra~unati, zakaj je avtu na zadnjem izletu spet zmanjkalo bencina. Se nam le zdi, da mu je poraba v zadnjem ~asu precej narasla? Podatki o tem, kdaj smo se ustavili na bencinski ~rpalki so v bele`ki ob ra~unalniku, ustrezen program za to pa na na{em ra~unalniku. Po`enemo program, vtipkamo podatke, nari{emo graf, iztisnemo sliko na tiskalnik, da bomo z njo od{li k mehaniku in ga vpra{ali, zakaj je do skoka porabe pri{lo ravno po zadnjem servisu. Pa malo razmislimo - pa ne o na{em avtomobilu, ampak o tem, kako smo z ra~unalnik sploh opravili to nalogo. Pognali smo program - vendar se je ta zato moral nalo`iti v pomnilnik - kdo je poskrbel za to? In ko smo sliko natisnili na tiskalnik - kako smo dosegli, da so se podatki preto~ili po kablu z ra~unalnika do tiskalnika? In kdo poskrbi, da je to, da smo pritisnili na tipko, na kateri je narisana 3, pri{lo v pomnilnik ra~unalnika? In zakaj lahko s CD-ROM pogona datoteke vidimo na enak na~in kot na disketi, ~e pa vemo, da pri prvem za branje podatkov poskrbi laser, pri disketi pa bralna glava, ki reagira na spremembe v magnetni polarizaciji? In zakaj na na{em ra~unalniku ne moremo uporabljati tistega programa, ki nam ga je prinesel stric iz Amerike in o njem ves navdu{en pripovedoval, kako si z njim enostavno na~rtujemo ureditev vrta? Na {katli je sicer nekaj pisalo - for Apple System 7 Operating system - je to vzrok? Aha, ko smo kupovali ra~unalnik, nas je prodajalec vpra{al, ~e na ra~unalniku `elimo operacijski sistem Windows ali OS/2 ? Morda pa operacijski sistem ni le skupek vseh tistih programov - Write, Calculator, File Manager in kar je {e tiste krame, ki je bila na na{em novem ra~unalniku.

    Poglejmo malo {ir{e: CP/M, VMS, Lynux, Solaris, AIX, Apple System 7, Multics, Windows NT, OS/2, … so imena, ki so (vsaj nekatera) vsakemu, ki se vsaj malo ukvarja z ra~unalni{tvom, dobro znana. Vsa ozna~ujejo razli~ne operacijske sisteme. In kaj sploh je to - operacijski sistem? Na kratko re~eno gre za zadevo, ki nam omogo~a, da z ra~unalnikom po~nemo koristne stvari. Ko ra~unalnik pride iz tovarne, je le za kup komponent (elektronskih in tudi drugih), s katerimi pa si ne moremo kaj dosti pomagati. Prav vseeno bi bilo, ~e bi bil sestavljen le iz ohi{ja.

    Definicija

    Definicij bi lahko na{teli {e ve~, vendar je pravzaprav te`ko to~no opredeliti, kaj operacijski sistem je. Recimo kar po doma~e:

    Kaj OS po~ne

    Ko ugotavljamo, kak{ne so naloge, ki jih opravlja operacijski sistem je va`no, s katerega zornega kota gledamo - v tem le`i tudi ve~plastnost definicije operacijskega sistema.



    Pti~ji pogled (navidezni ra~unalnik)

    Ena od opredelitev OS je, da ugotovimo, kak{ne usluge nam nudi OS. Ve~ine se jih pravzaprav sploh ne zavedamo, ampak jih jemljemo kot same po sebi umevne. Denimo, da `elimo prepisati datoteko. Operacijski sistem nam omogo~a, da to izvedemo z enostavnim ukazom (COPY, poteg mi{ke, PIP, besedni ukaz, …). ^e OS ne bi bilo, bi ta zadeva zgledala v najbolj{em primeru nekako takole: shrani prvih 128 zlogov na cilinder 7, glava 2, sektor 3. Popravi tabelo zasedenosti sektorjev na disku. Poi{~i naslednje prazno mesto. Shrani naslednjih 128 zlogov na … ali pa {e bolj zapleteno. Tako zna denimo tipi~en ~ip, ki nadzira delovanje disketne enote, izvajati 10 do 20 ukazov (branje, pisanje podatkov, premikanje roke, kalibracija, …) Vse te ukaze bi za preprosto prepisovanje morali poznati. ^e bi ra~unalniku dodali nov tip zunanjega pomnilnika, ali pa zamenjali kontrolni ~ip, bi morali poznati nove ukaze. Jasno je, da obi~ajen uporabnik ne `eli vedeti ni~ o programiranju diskovnih krmilnikov. Namesto tega potrebuje enostavno, abstraktno sliko diskete, kot recimo skupka poimenovanih datotek. Ta slika mora biti enaka za vse razli~ne oblike zunanjega pomnilnika - ~eprav je dejanski na~in zapisovanja lahko (in je) med razli~nimi enotami zelo razli~en. In naloga OS je, da uporabniku tako abstraktno sliko nudi. To sliko uporabljata tako "kon~ni" uporabnik pri uporabi programov, kot tudi programer pri pisanju programske opreme.

    Takih nalog (servisov) je kar nekaj - delo s pomnilnikom, nadzor tipkovnice in ostalih zunanjih enot in {e cel kup podobnih zadev, ki se neposredno ti~ejo strojne opreme in njenega delovanja.

    Operacijski sistem torej "skriva resnico" o strojni opremi in uporabniku te opreme ka`e navidezni pogled na ra~unalnik. Tak navidezni ra~unalnik je enostavneje uporabljati. Kako OS dose`e to skrivanje, je zgodba, ki presega okvir tega predavanja. Omenimo {e to, da ima pri tem "skrivanju" za uporabnika veliko vlogo tudi uporabni{ki vmesnik. Tega sicer pogosto ne {tejemo za del operacijskega sistema, vendar je z njim tesno povezan.

    @abji pogled (dodeljevanje zmogljivosti)

    Sodobni ra~unalni{ki sistem sestavljajo procesorji, pomnilnik, diski, razli~ne izhodne in vhodne enote, omre`ni vmesniki, tiskalniki ter druge enote. Naloga operacijskega sistema je, da razli~nim programom, ki se izvajajo v ra~unalniku, omogo~i urejen in nadzorovan dostop do teh sestavnih delov. Tako ve~ina sodobnih operacijskih sistemov omogo~a so~asno izvajanje razli~nih programov. OS mora omogo~iti, da pri takem delovanju ne pride do zapletov. Vsak program mora te~i, kot da je ra~unalnik samo njegov. Denimo, da se v ra~unalniku so~asno izvajajo trije programi, ki vsi pi{ejo na tiskalnik. OS mora zagotoviti, da se na tiskalniku ne bo pojavilo nekaj vrstic izpisa prvega programa, nekaj vrstic drugega in nekaj vrstic izpisa tretjega programa.

    Pomen ustreznega dodeljevanja sredstev je {e bolj izrazit pri operacijskih sistemih, ki omogo~ajo, da ra~unalni{ki sistem so~asno uporablja ve~ uporabnikov.

    Naloga OS torej je, da urejuje zahteve po sredstvih, omogo~i in vodi nadzor nad njihovo uporabo.

    Glavne funkcije OS

    Glavne funkcije operacijskega sistema so torej:

    S stali{~a uporabnika je eno glavnih opravil dana{njega operacijskega sistema delo z datotekami. Te operacije so "navzven" najbolj vidne. Zato ne presene~a, da je pogost lai~ni odgovor na vpra{anje, kaj dela operacijski sistem ravno ta, da skrbi za datoteke. Operacijski sistem omogo~a, da uporabnik vidi datoteke v skladu z mo`nostmi, ki jih ponuja datote~ni sistem. Posamezni operacijski sistemi omogo~ajo delo z razli~nimi datote~nimi sistemi (npr. Windows NT omogo~a uporabo sistema FAT in NTFS).

    Uporabni{ki vmesnik

    Uporabni{ki vmesnik je program, ki uporabniku omogo~a komunikacijo z ra~unalnikom - poganjanje programov, nadzor zunanjih enot, … Posamezni avtorji ga {tejejo za del operacijskega sistema, drugi pa ga {tejejo med pomo`ne sistemske programe (kot so npr. protivirusni programi, programi za arhiviranje, …) Z razvojem strojne opreme so se razvijali tudi uporabni{ki vmesniki. Na~eloma lahko nad istim operacijskim sistemom uporabljamo razli~ne uporabni{ke vmesnike.

    Prvotni uporabni{ki vmesniki so omogo~ali ukazovanje le z vnosom besednih ukazov (CP/M, VMS, DOS, ...). Nato so se pojavili znakovni izbirni sistemi (DOS 4, PC SHELL, Norton Commander, …), za njimi pa {e grafi~ni uporabni{ki vmesniki. Pojavili so se tudi zvo~ni uporabni{ki vmesniki, kjer uporabnik z ra~unalnik upravlja z govorjenimi ukazi (npr. zadnja razli~ica OS/2).

    Glavna te`ava pri uporabi razli~nih uporabni{kih vmesnikov je ravnote`je med zmogljivostjo in "prijaznostjo". ^e pogledamo to na konkretnem primeru para DOS/Windows: veliko stvari v DOSu opravite hitreje (zbri{i eno datoteko, formatiraj disketo, …) vendar ste v te`avah `e, ~e se zmotite pri eni ~rki v ukazu. Ukaze si morate tudi zapomniti. Pri okolju Windows je poudarek na tem, da si slikovno predstavljeno informacijo (npr. ikone), la`e zapomnimo in pove`emo z dolo~enim opravilom, kot to~no zaporedje ~rk nekega ukaza (ki obi~ajno izvira iz nam tujega jezikovnega okolja). @al pa s tem hitreje uporabimo tudi tak{ne ukaze, ki nam ob napa~ni rabi lahko povzro~ijo probleme (denimo prestavimo program iz ene skupine v drugo). Ravno tako ve~ina opravil zahteva, da vsaj potrdite, da se strinjate z vsemi nastavitvami, kar je v~asih zamudno. Dodatni problem uporabe okolja Windows v {oli je {e v tem, da je to enouporabni{ki sistem, ki si zapomni vse nastavitve. Te so zaradi "prijaznosti" dosegljive vsem in jih je relativno te`ko ustrezno za{~ititi. To pomeni, da si jih vsakdo posku{a prilagoditi po svoje, kar lahko povro~a hude te`ave naslednjemu uporabniku.

    Navidezni ra~unalnik

    Vsak ra~unalnik lahko razdelimo na ve~ nivojev oziroma plasti. Vsakemu nivoju ustreza navidezni ra~unalnik, ki razume le svoj jezik.

    ZGODOVINA

    Ker s pregledom zgodovinskega razvoja lahko lepo preidemo do nalog in opravil sodobnega operacijskega sistema, si ga oglejmo malo podrobneje. Na{o zgodbo bomo nanizali kot zaporedje pojmov, ki so se ob razvoju pojavljali. Velja pripomniti, da niso bili vedno eden za drugim. Torej ne bomo {li povsem kronolo{ko, saj so se dolo~ene stvari prepletale - en ar~unalnik je prinesel eno, drugi spet drugo, v tretjem sta se obe novosti zdru`ile, …

    Prvi el. ra~unalniki

    Prvi elektronski ra~unalniki so se pojavili v {tiridesetih letih (Zuse, Aiken, Neumann, Eckart, Mauchley in drugi). Takrat so bili konstruktorji, programerji in uporabniki ra~unalnika ene in iste osebe. 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 obdobje je trajalo tja do leta 1954 (iznajda tranzistorja).

    Prevajalniki, bralnik kartic

    Iznajdba tranzistorja je zelo pove~ala uporabo ra~unalnikov, saj so zahtevali veliko manj elektri~ne energije in tudi veliko zaneslivej{e so delovali. Pa {e veliko cenej{i so bili. Pojavili so se vi{ji programski jeziki in z njimi prevajalniki (FORTRAN). Uporabniki so izvajali svoje programe.

    Tipi~na uporaba ra~unalnika je bila nekako takale:

    O~itno je bil ra~unalnik zelo neu~inkovito izrabljen, saj je pravzaprav le del~ek ~asa po~el koristne stvari, ve~ino ~asa pa ~akal, da je uporabnik zlo`il kartice, ki so se razsule po tleh, v pravi vrstni red.

    Operater

    Posamezni uporabniki so bili pri zgoraj opisanem zaporedju bolj, drugi pa manj spretni. Ko jih je bilo ve~, se je spla~alo najeti osebo - operaterja. Ta je opravljal vse neposredno delo z ra~unalnikom. Uporabnik je oddal program na karticah in dobil rezultate spet na karticah ali izpisane na papirju. Ker je bil operater spretnej{i, je zadeva potekala hitreje. Poleg tega je operater lahko zdru`il podobna opravila: npr. vsa prevajanja s istim prevajalnikom so se izvedla skupaj, … Prav tako je operater lahko dolo~ena opravila izvedel prej - jim dodelil ve~jo prednost. Kar se ti~e operacijskega sistema, so stvari ostale enake - {e vedno je v ra~unalniku le majhen bralec kartic. Velja pa opomniti, da je operater po~el ve~ stvari, ki jih danes po~no operacijski sistemi (denimo dodeljevanje prednosti opravilom)

    Branje kartic ni bilo ravno opravilo za ra~unalnik, ki je stal ve~ miljonov dolarjev. Poleg tega je ve~ino ~asa ra~unalnik ~akal, da mu bo operater vstavil ustrezen kup kartic. Zato so na cenej{i enoti pripravili magnetni trak, ki je vseboval ve~ poslov in je potem ra~unalnik podatke bral s traku. Poleg tega je ra~unalnik imel ve~ tra~nih enot in z ene nalagal sistemske programe (prevajalnik, povezovalnik), z druge pa uporabni{ke programe.

    Za na{o zgodbo o OS je pomembno {e tole. V ra~unalniku se je pojavil posebni program, ki je bil ves ~as v pomnilniku in je nadziral izvajanje posla - nalo`il ustrezni prevajalnik, pognal program, … Tipi~en posel je zgledal nekako takole:


    Kot vidimo, je ta posebni program - imenoval se je nadzorni program (resident monitor) vseboval tolma~ ukaznega jezika - znal je razumeti dolo~ena navodila na karticah, ki smo jih prej povedali operaterju. Temu programu `e lahko re~emo pradedek dana{njih operacijskih sistemov.

    Prepu{~anje opravil

    Ko je ra~unalnik bral ali pisal na trak, ni izvajal nobene druge operacije. To je zelo neu~inkovito, saj je ra~unalnik ve~ino ~asa ~akal na tra~no enoto. Med hitrostjo procesorja in zunanjih enot so bile velike razlike. Zato je bil naslednji korak ta, da so nadzornemu programu dodali programsko opremo, ki je omogo~ala so~asno branje s tra~ne enote in obdelavo podatkov. Seveda je bilo to mo`no tudi zaradi napredka pri strojni opremi, ki je sploh omogo~ala izvajanje takih programov. Tako so se pojavili tudi diski, ki so nadomestili tra~ne enote. Sedaj so se posli s kartic prebrali neposredno na disk in tam ~akali na izvajanje. Zato so k nadzornemu programu dodali razvr{~evalnik (scheduler), ki je po~el naslednje:

    Takemu na~inu izvajanja, ko je procesor prepu{~al posamezna opravila ustreznim enotam, sam pa med tem po~el nekaj drugega, se je reklo prepu{~anje opravil (spooling - SPOOL = Simultaneous Peripheral Operations On Line).

    Ve~opravilnost

    Tudi zgoraj opisani pristop {e vedno ni odpravil ~akanja - so~asnost operacij je bila samo na nivoju branja in izvajanja celotnega posla. ^e je program, ki se je izvajal, potreboval podatek, je procesor ~akal vse dokler ni tega podatka dobil. To sprva niti ni bilo problemati~no, saj so ra~unalniki res po~eli to, kar pove njihove ime - ra~unali in le tu in tam potrebovali kak podatek. Z ve~jo raz{irjenostjo ra~unalnikov pa so ti prodrli v poslovni svet. Tam so v glavnem premetavali podatke. S tem je procesor v glavnem le {e ~akal na podatke z zunanjega pomnilnika. Re{itev je bila v multiprogramiranju. ^e je bil pomnilnik dovolj velik (ali pa posli dovolj majhni), je bil algoritem za u~inkovito izrabo ra~unalnika preprost:

    Da je bilo lahko v pomnilniku hkrati ve~ poslov, je bila potrebna ustrezna strojna oprema, ki je omogo~ala, da je bil posamezen posel za{~iten pred "packanjem" drugih.

    Opravilo A: ZASLON1 | CPU | Disk | CPU | ZASLON1

    Opravilo B: ZASLON2 | CPU | Disk | ZASLON2 | CPU

    Mo`na razporeditev pri ~asovnem dodeljevanju:
    ~as
    ZASLON1
    A
    A
    ZASLON2
    B
    B
    DISK
    A
    B
    CPU
    A
    B
    A
    B

    Pri zaporednem izvajanju potrebujemo za izvedbo 10 enot ~asa (predpostavimo, da vsak delec te~e enako dolgo), pri multiprogramiranju pa le 6. Seveda mora biti strojna oprema ra~unalnika taka, da dopu{~a so~asne aktivnosti (branje z diska in procesiranje) in zna pomnilni{ki prostor enega posla "za{~ititi" pred drugim.

    Gornje pravilo pa je seveda pomenilo, da posel, ki ni potreboval podatkov, ni prepustil procesorja drugim poslom. Zato je razvr{~evalnik moral postali bolj zapleten. Procesor je postal eno od sredstev, ki so ga morali posli deliti ~im bolj "pravi~no".

    Prav tako je moral nadzorni program v sodelovanju s strojno opremo skrbeti za za{~ito pomnilni{kega prostora - onemogo~iti programe, da bi pisali v dele pomnilnika, ki jim ni pripadal.

    S tem je nadzorni program opravljal `e toliko nalog, da bi mu tudi danes rekli operacijski sistem. Kmalu so k nalogam OS dodali {e skrb za opravljanje servisnih storitev. Uporabni{ki programi niso ve~ dostopali do vhodno/izhodnih enot neposredno, ampak so (npr. zahtevo po branju podatka) izvedli tako, da so uporabili ukaz na nivoju OS, ki je poskrbel za branje podatkov. S tem so olaj{ali delo programerjem, ki so se lahko ukvarjali z navideznim (idealiziranim) ra~unalnikom in se jim ni bilo ve~ treba spu{~ati v "umazane podrobnosti", kako se pogovarjati z razli~nimi zunanjimi enotami.

    Pogovorno delo

    Zgoraj opisana ve~opravilnost je `e omogo~alo u~inkovitej{o izrabo sredstev ra~unalnika. Vendar za uporabnike ni bilo ravno idealno. Uporabniki so {e vedno oddajali posle v ra~unalni{ki center, od tam dobil rezultate, popravili napake, spet ~akali na to, da se bo izvedel njihov program, … Predvsem programerji, ki so razvijali programe, so potrebovali hitrej{e "obra~anje". Na sceno stopi interaktivno delo s ~asovnim dodeljevanjem sredstev (time sharing). Uporabnik dela z ra~unalnikom neposredno preko terminala. Ima dostop do svojega dela diska, da tam hrani podatke in programe. Pri ~asovnem dodeljevanju sredstev gre za to, da ve~ uporabnikov hkrati dela na enem ra~unalniku, vendar imajo vsi ob~utek, da so edini uporabniki. To operacijski sistem dose`e tako, da vsakemu uporabniku za trenutek dovoli uporabiti posamezno sredstvo (~e ga potrebuje). Nato je na vrsti naslednji, … Ker je tako preklapljanje zelo hitro in le malo uporabnikov so~asno potrebuje ista sredstva ra~unalnika, ima uporabnik ob~utek, da je ra~unalnik ves ~as na voljo le njemu. Seveda se lahko zgodi, da ta ob~utek izgine - ~e vsi hkrati delajo stvari, ki zelo potrebujejo katero od sredstev (najbolj pogosto procesor). Vendar je obi~ajno tako, da od 20 so~asnih uporabnikov jih 7 uporablja urejevalnik (kar prakti~no ne zahteva procesorskega ~asa), 10 razmi{lja, kaj bi naredili in le trije res potrebujejo procesor.

    Prvi operacijski sistem s ~asovnim dodeljevanjem v uporabi je bil CTSS (`e okoli l. 1960). Idejo ~asovnega dodelovanja lahko izrabimo tudi pri multiprogramiranju in s tem omogo~imo "pravi~nej{e" izvajanje ve~ programov hkrati.

    Operacijski sistemi na osebnih ra~unalnikih

    Z mno`i~no uporabo ra~unalnikov, ko so jih za~eli uporabljati prakti~no vsi za opravljanje najrazli~nej{ih nalog, se je pojavila potreba po "prijaznih" operacijskih sistemih. Ti operacijski sistemi naj bi bili po eni strani preprosti (znal naj bi jih uporabljati vsak), po drugi strani pa ~im zmogljivej{i. Ti dve, pogosto nasprotujo~i si zahtevi, sta pripeljali do stanja, kot je na podro~ju operacijskih sistemov osebnih ra~unalnikov danes: proizvajalci trdijo, da so enostavni, namenjeni vsem, praksa pa poka`e, da povpre~en uporabnik nujno potrebuje pomo~ - vsaj pri za~etnem postavljanju in nastavljanju sistema. To kon~no priznavajo tudi avtorji operacijskih sistemov, saj skoraj pri vsaki zapletenej{i stvari pi{e - ~e ne veste, se posvetujte s sistemskim administratorjem.

    Povezovanje ra~unalnikov v omre`ja privede do pojava omre`nih operacijskih sistemov in porazdeljenih operacijskih sistemov.

    DELITEV OPERACIJSKIH SISTEMOV

    [tevilo uporabnikov

    Enouporabni{ki sistemi

    Velika ve~ina operacijskih sistemov, ki te~ejo na osebnih ra~unalnikih, je enouporabni{kih. To pomeni, da ra~unalnik hkrati uporablja le en uporabnik. Primeri takih operacijskih sistemov so MS-DOS, OS/2, Windows 95, Windows NT in drugi.

    Ve~uporabni{ki sistemi

    Zna~ilnost teh sistemov je, da na njih hkrati dela ve~je {tevilo uporabnikov, ki se preko terminalov povezujejo na osrednji ra~unalnik. Vsi sodobni ve~uporabni{ki operacijski sistemi delujejo po na~elu ~asovnega deljenja sredstev, tako da (~e uporabnikov le ni preve~, oz. ~e njihve zahteve po sredstvih niso prehude) ima vsak posameznik ob~utek, da ima na voljo ra~unalnik le zase.

    [tevilo programov

    En program

    V to skupino {tejemo tiste operacijske sisteme, ki omogo~ajo, da je v pomnilniku ra~unalnika hkrati le en program, ki se izvaja. Tipi~en primerek takega operacijskega sistema je MSDOS (odmislimo za hip pritajene programe). Opozoriti velja, da tudi ti operacijski sistemi dopu{~ajo izvajanje ve~ nalog hkrati (npr. procesiranje in branje z diska), {e zlasti, ker obi~ajno ne prepre~ujejo, da se dolo~ene vhodno/izhodne operacije opravijo mimo operacijskega sistema.

    Ve~opravilni

    Vsak moderen operacijski sistem, ki da nekaj nase, mora podpirati ve~opravilnost - torej mo`nost uporabnika, da so~asno izvaja ve~ programov. Seveda lahko hkrati procesor (~e je ta en sam) uporablja le en uporabni{ki program, vendar pod so~asnost razumemo to, da v istem ~asovnem okviru izvajamo ve~ programov, ki si med sabo delijo sredstva. Gre za nadgradnjo ideje multiprogramiranja. Glede na na~in, kako si delijo glavno sredstvo - procesor - pa v grobem poznamo dve skupini. Pri prvi se operacijski sistem zana{a na "vljudnost" programov, da ob~asno odstopijo procesor tudi drugim. Taka je ve~opravilnost, ki jo imajo obi~ajna Okna (Windows). S tujko temu re~emo cooperative multitasking. Vsak malce bolj izku{eni uporabnik ve, da v praksi to pomeni le to, da imamo v pomnilniku hkrati ve~ programov, dejansko pa se so~asno izvaja en sam. Windows NT pa `e pozna ve~opravilnost s ~asovno delitvijo, ko operacijski sistem nadzira procesorski ~as, ki ga posamezno opravilo porabi (pre-emptive multitasking).

    Povezanost

    "Obi~ajni" OS

    Tu mislimo na tiste OS, ki ne podpirajo dela v omre`ju. Vsak ra~unalnik je "osamljen otok" in ima na voljo le tista sredstva, ki so sestavni del tega ra~unalnika. Taki operacijski sistemi v splo{nonamenskih ra~unalnikih po~asi izginjajo, oziroma jih dopolnjujejo dodatki, ki omogo~ijo delo v omre`ju.

    Omre`ni OS

    Kakor hitro pove`emo dva ali ve~ ra~unalnikov med sabo, dobimo omre`je. Obi~ajni operacijski sistem ne zna poskrbeti za delitev sredstev med posameznimi ra~unalniki (npr. da bi en ra~unalnik uporabljal disk drugega). Zato potrebujemo omre`ne operacijske sisteme. Ti omogo~ajo delitev sredstev preko omre`ja in obi~ajno tudi to, da obi~ajni OS delujejo na znan na~in brez spremembe. Poleg tega omre`ni operacijski sistemi omogo~ajo varnost, upravljanje z omre`ji in opravljanje {e drugih nalog.

    Omre`ni operacijski sistem pravzaprav sestavljata dva operacijska sistema - prvi te~e na stre`niku, nadzira njegovo delovanje stre`nika in upravlja z tam shranjenimi datotekami, drugi pa je operacijski sistem, ki te~e na odjemalcu, ki dostopa do omre`ja in tamkaj{njih sredstev. Opozoriti velja, da je, glede na tip omre`ja, isti ra~unalnik lahko hkrati stre`nik, kot tudi odjemalec. Tako je npr. Windows NT operacijski sitem, ki nadzoruje delovanje stre`nika, nanj pa se kot odjemalci lahko prijavijo ra~unalniki z operacijskim sistemom DOS (in dodatkom za dostop do stre`nikov z OS Windows NT), Windows 95 in drugi. Primeri omre`nih OS so NetWare, Windows for WorkGroups, Windows NT, Lantastic in drugi. Pri nekaterih gre za samostojne OS (Windows NT), drugi pa za svoje delovanje potrebujejo {e obi~ajni OS (Lantastic) - gre pravzaprav za to, da z omre`nim OS dodamo k obi~ajnemu OS storitve, ki jih potrebujemo za delovanje v omre`ju.

    Operacijske sisteme bi lahko delili tudi druga~e. Nismo omenili delitev na porazdeljene operacijske sisteme, OS, ki omogo~ajo ve~nitnost, ve~procesorske operacijske sisteme, na napake odporne operacijske sisteme, operacijske sisteme za delo v realnem ~asu, ...

    DOS, WINDOWS, WINDOWS 95, WINDOWS NT

    Opredelimo te najbolj znane OS glede na zna~ilnosti operacijskih sistemov. Videli bomo, da pravzaprav pokrivajo ves spekter OS, le klasi~ne ve~uporabni{kosti {e ne omogo~ajo.

    Zgodovinski razvoj

    Avgust 19817DOS 1.0. prvi OS za IBM PC, zdru`ljiv z CP/M, le en imenik
    oktober 1982DOS 1.1 podpora disketam vel. 320K
    marec 1983 DOS 2.0 prakti~no nov program, zdru`ljiv s starim, podpora disku, disketam 360K, CONFIG.SYS, osnovan na UNIXu
    marec 1984DOS 2.11podpora razli~nim jezikom
    avgust 1984 DOS 3.0 podpora procesorju 80286,
    november 1984DOS 3.1 podpora omre`jem (se ni uveljavilo)
    1985Windows 1.0. strojna oprema premalo zmogljiva - pravzaprav ni bilo uporabnikov - potrebe
    januar 1986 DOS 3.2 podpora 3.5" disketnim enotam (720K)
    april 1987DOS 3.3 1.44M disketne enota
    1987 Windows 2.0.nima {e grafi~nega uporabni{kega vmesnika, omogo~a zlo`iti ve~ programov v pomnilnik (nekak{na ve~opravilnost) - preklapljanje med posli
    1987Windows 286 za procesor Intel 80286, zaradi bolj{ega procesorja omogo~a bolj{e preklapljanje med posli
    julij 1988DOS 4.0podpora diskom, ve~jim od 32M, DOS lupina
    1988 Windows 386 Intel 386, ve~opravilnost (cooperative multitasking)
    maj 1990Windows 3.0 grafika, ikone, ve~opravilnost, prva komercialno uspe{na razli~ica
    april 1991DOS 5.0izbolj{ano delo s pomnilnikom, na novo napisana ve~ina kode
    april 1992 Windows 3.1 ne te~e ve~ na 8088, izbolj{ano delo s pomnilnikom, True Type nabori pisav
    november 1992 Windows for Workgroups 3.1 delo z omre`jem, izbolj{ave - uporabljajo tudi tisti, ki niso na omre`ju
    1993Windows for Workgroups 3.11 odpravljene {tevilne napake razli~ice 3.1
    1993DOS 6stiskanje podatkov
    1993DOS 6.2odpravljene napake razli~ice 6, spor zaradi uporabljene tehnologije
    1993Windows 3.11 WfWg - omre`je = ker se je prodajal po isti ceni kot WfWg ga dejansko nih~e ni kupoval
    1993Windows NT 3.5
    1995Windows NT 3.51
    avgust 1995 Windows 95
    avgust 1996Windows NT 4 (Server, Workstation)

    Zna~ilnosti posameznih sistemov

    DOS

    Namenjen je izklju~no enemu uporabniku. Ta lahko po~ne vse - ni za{~ite posameznih datotek. Uporabnik ima precej{en nadzor nad sistemom - lahko npr. sam napi{e program, kako ukrepati od procesorskih prekinitvah (DOSKEY). Deli OS so zamenljivi - npr. uporabni{ka lupina z vmesnikom vred (command.com) (Pozor! Dejali smo `e, da ta del pravzaprav ne spada v osrednje jedro OS). Programom omogo~a, da se obra~ajo naravnost na strojno opremo. To prina{a s seboj prednosti - pove~ano hitrost in slabosti - zabrisan je koncept navideznega ra~unalnika, pravilnost programov je odvisna od strojne opreme, pri menjavi strojne opreme je delovanje programa vpra{ljivo.

    DOS ne omogo~a multiprogramiranja, ~eprav tudi ni ~isti enoprogramski operacijski sistem. Omogo~a sicer, da glavni proces lahko naredi podrejene procese, vendar se o~e .... - povejmo raje po doma~e: program lahko po`ene drug program, a s svojim delom nadaljuje {ele, ko slednji svoje delo kon~a. Zaradi omejitev, ki jih je postavljal prvi procesor, na katerem je DOS tekel (in kasnej{e zahteve po popolni zdru`ljivosti z obstoje~imi programi), je zelo zapleteno delo s pomnilnikom - kako uporabiti pomnilnik nad 640K.

    Obstaja nekaj razli~ic tega operacijskega sistema - MS DOS, PC DOS, DR DOS, vendar gre v glavnem za "kozmeti~ne" razlike, ki ne vplivajo ne na uporabnikov ne na programerjev prostop.

    WINDOWS

    Windows kot taki pravzaprav sploh niso operacijski sistem - so le razli~ica uporabni{kega vmesnika. Po drugi strani pa od DOSa prevzamejo cel kup nalog in programerju omogo~ajo druga~en pogled na ra~unalnik - nov navidezni ra~unalnik. Tako so operacijski sistem, kar pa spet niso, saj niso samozadostni - za delovanje {e vedno potrebujejo DOS. Skratka - Windows so grafi~ni uporabni{ki vmesnik za ra~unalnike z operacijskim sistemom DOS, ki pa so od DOSa prevzeli dolo~ene naloge operacijskega sistema. So raz{iritev operacijskega sistema DOS.

    Omogo~ajo t.i. cooperative multitasking - dogovorno ve~opravilnost. To pomeni, da v ra~unalniku lahko so~asno izvajamo ve~ programov. Vendar ti sami povedo, kdaj ne potrebujejo npr. procesorja - da ga bo lahko uporabil drug program. V praksi to pomeni, da je prave ve~opravilnosti ni.

    WINDOWS for Workgroups

    Gre pravzaprav za program Windows, ki so mu dodali podporo dela v omre`ju. Podpira deljenje sredstev (tiskalnik, disk, ...) in razli~ne omre`ne protokole. V osnovni razli~ici nima podpore za protokol TCP/IP, obstajajo pa brezpla~ni dodatki, ki omogo~ijo, da tak ra~unalnik s tem OS pove`emo v Internet (za kar potrebujemo TCP/IP).

    WINDOWS 95

    Je `e "pravi" OS. V svoji zasnovi je to 32bitni operacijski sistem, vendar ima zaradi zahtev po popolni zdru`ljivosti z DOSom in Windowsi, velike dele {e 16 bitne. [e vedno je to sistem za enega uporabnika s primesmi mo`nosti dela ve~ ljudi (prijavljanje, osebne nastavitve, ni pa za{~ite datotek, ...)

    WINDOWS NT

    Pri tem operacijskem sistemu so se pri Microsoftu odlo~ili, da bodo malce spremenili strategijo. Tako niso ve~ vztrajali po popolni zdru`ljivosti s prej{njimi operacijskimi sistemi. To jim je omogo~ilo, da so operacijski sistem pisali zelo na novo, brez prehudih omejitev, ki jih postavlja prej{nje stanje. Nastal je sodoben operacijski sistem, ki ima ve~ino zna~ilnosti sodobnih, "spodobnih" operacijskih sistemov. Je prenosni - te~e na ra~unalnikih s procesorji serij Alpha (Digital Equipment Corporation), PowerPC (IBM, Motrola, Apple), x86 in Pentium (Intel), Mips (Mips). Je povsem 32 bitni omre`ni operacijski sistem. Omogo~a ve~opravilnost, ki jo imenujemo preemptive mutitasking. Tu operacijski sistem prevzame vlogo, kot jo imajo semaforji na cesti - odlo~a, kdaj ima posamezni proces (program) dostop do kak{nega sredstva in to po~ne izmenjaje - nekaj ~asa en proces, nekaj ~asa drugi, pa spet tretji, … Obvezno zahteva prijavljanje uporabnika, ~igar datoteke so za{~itene pred drugimi uporabniki.

    Podpira tudi ra~unalnike z ve~ procesorji (in jih zna izrabiti), Je bistveno stabilnej{i kot Windows 95 (16 bitni programi (vsi DOSovski programi) te~ejo vsak v svoljem pomnilni{kem prostoru - ne morejo zru{iti ostalih!) In kaj so njegove slabosti? Predvsem zahteva ra~unalnik z ve~ pomnilnika (16M je minimum), dolo~eni programi, napisani za operacijski sistem DOS in Windows (kot tudi Windows 95), v tem operacijskem sistemu ne te~ejo - predvsem igrice (direktni dostop do strojne opreme). Prav tako zahteva ve~ ra~unalni{kega znanja pri name{~anju na nov ra~unalnik in ob dodajanju nove ali zamenjavi obstoje~e strojne opreme.

    LINUX, FREEBSD, ...

    Poleg Microsoftovih operacijskih sistemov, se na {olah kot operacijski sistem pogosteje pojavlja le {e Unix, obi~ajno v eni od prostih razli~ic (Linux, FreeBSD). Gre za zmogljive operacijske sisteme, saj gre za polne izvedbe Unixa (in ne denimo okrnjenje), pa {e brezpla~ni so.

    Zna~ilnosti:

    Za {olsko rabo imajo precej{njo slabost - zahtevajo kar nekaj ra~unalni{kega znanja za vzdr`evanje takega sistema. So tudi zelo ob~utljivi, kar se ti~e strojne opreme. Res je, da delujejo prakti~no s poljubnim kosom opreme (grafi~ne kartice, modemi, …), vendar je pogosto potreben kar precej{en trud, da dobimo ustrezne gonilnike, uganemo prave nastavitve, … Zavedati se je treba, da za razvojem teh operacijskih sistemov obi~ajno stojijo navdu{eni posamezniki, ki delajo iz ~istega veselja. Zato ne moremo pri~akovati takega nivoja kvalitete navodil, programov, … kot velja to za podporo komercialnim operacijskim sistemom, kjer so proizvajalci kon~no odvisni od tega, ali bodo uporabniki z njimi zadovoljni. No, resnici na ljubo velja povedati, da jih izdelki navdu{encev velikokrat presegajo, a pri~akovati tega pa~ ne smemo.

    Pogosto se izka`e, da je uporaba Unixa v {oli zelo odvisna od majhne skupine navdu{encev. Dokler so ti aktivni, so stvari lepo urejene. Problem pa se pojavi, ko ta skupina dijakov (ali pa zunanji sodelavec) zapusti {olo.. U~itelj ra~unalni{tva ostane sam z operacijskim sistemom, ki za svoje uspe{no delovanje zahteva kar nekaj ~asa - tega pa prakti~no nih~e, ki u~i RAI nima.

    Kaj pa komercialne razli~ice Unixa (Solaris, AIX, IRIX, …)? Vsekakor gre za odli~ne operacijske sisteme. Vendar so obi~ajno vezani na dokaj zmogljivo (in drago) strojno opremo. Vpra{ljiva je tudi "u~na podpora" - priro~niki, programi za rabo v {oli, revije, …

    KAJ BO V PRIHODNJE (s pogledom na {olsko podro~je)

    Sedaj, naslednje obdobje

    Ra~unalni{tvo je za napovedovanje hudo neprijazno podro~je. Dolo~ene re{itve ka`ejo da bodo zdaj zdaj v splo{ni uporabi, pa se nikakor pojavijo (spomnite se le na Windows 95), pri drugih komaj zajame{ sapo, s tako naglico si sledijo spremembe (denimo omre`ni pregledovalniki - imam ob~utek, da je moj pregledovalnik zastarel tisti trenutek, ko ga namestim na ra~unalnik). Zato tako ~asovno nedolo~eno: obdobje in ne naslednji mesec, naslednje leto ...

    Pri ocenjevanju in napovedovanju bomo ostali v vodah podjetja Microsoft. Ne glede na to, kaj si mislimo o kvalitetah operacijskih sistemov, ki jih izdelujejo, je verjetno dejstvo, da bo v naslednjem kratkoro~nem obdobju ve~ina {olskih ra~unalnikov delovala pod eno ali drugo razli~ico Microsoftovega OS.

    Windows 95 za {olo ni najprimernej{i

    Po izku{njah, ki smo si jih predvsem pri delu s {tudenti na Fakulteti za matematiko in fiziko pridobili v zadnjem ~asu, lahko mirno trdim, da Windows 95 za {olo ni najprimernej{i operacijski sistem. Pri tem izhajam iz dejstva, da isti ra~unalnik uporablja mno`ica uporabnikov in ne en sam. Ne omogo~a namre~ enostavne za{~ite osnovnih nastavitev, datotek in sredstev. Zaradi silne prijaznosti niti tako vitalni del operacijskega sistema, kot je registracijska datoteka, ni za{~itena pred hotenimi ali nehotenimi napa~nimi spremembami. Tako je z parimi kliki z mi{ko mogo~e zadevo pokvariti tako, da je nujno ponovno name{~anje celega sistema. In to na~eloma lahko po~nemo tudi preko omre`ja. Prav tako z ra~unalnikom lahko dela kdorkoli - dostop do njega ne moremo dovoliti samo dolo~enim uporabnikom (govorimo o standardnih nastavitvah brez dodatnih programov, ki dolo~ene neprijetnosti lahko vsaj delno odpravijo). Res tudi obi~ajna kombinacija DOS/Windows boleha za enakimi te`avami, a dejstvo je, da sedaj obstaja za ve~ino okolij bolj{a izbira. To je Windows NT 4 Workstation. Res zahteva malce bolj{o opremo - predvsem ve~ji pomnilnik. A tudi za okolje Windows 95 je uporabnik na ra~unalniku z 16M RAM veliko sre~nej{i kot tisti na ra~unalniku z 8M RAM - pri tem, da je stro{ek za dodatnih 8M RAMa trenutno ni ve~ji kot 10000 SIT. Z isto strojno opremo bo ra~unalnik morda nekaj odstotkov po~asnej{i kot pod Windows 95, vendar bo delo veliko la`je - varnost je veliko ve~ja. @e to, da ve~ina obi~ajnih virusov ne dela te`av, je veliko. Seveda se bodo pojavili tudi novi virusi - a znebiti se ve~ine obstoje~ih je tudi `e nekaj. Okolje je tudi precej bolj stabilno, ve~opravilnost bolj{a, ... ^e v {oli vsakemu dijaku dodelimo {e osebno uporabni{ko ime in geslo, praviloma ugotovimo, da je ves tisti ~as, ki smo ga porabili za postavitev takega sistema (gesla, profili, nastavitev za{~it, …) kmalu bogato popla~an, saj datoteke nenadoma ne izginjajo ve~, programi so na za to dolo~eneih mestih, …

    No seveda so tu tudi problemi. Tako sistem za{~it {e ni najbolje dodelan in ve~krat prav zapleten, obtsaja {e cel kup programov, ki za svoje delovanje zahtevajo od{~itene imenike, ne dopu{~ajo osebnih nastavitev, … Vpra{anje je tudi, kdaj bomo do~akali slovensko razli~ico tega operacijskega sistema, tudi cena za NT je vi{ja kot pri Windows 95, … Vendar mislim, da je {olstvo tako veliko podro~je in zaradi vzgoje bodo~ih uporabnikov tako pomembno za vsako podjetje, da so tudi ti problemi re{ljivi.

    Malo kasneje

    Kak{en ra~unalnik bi si `eleli

    Tu ne mislimo na strojno opremo, ampak na lastnosti, na na~in dela, ki bi ga radi opravljali. Poglejmo nekaj zahtev, ki so jih snovalci operacijskih sistemov postavili kot naslednje naloge. Pri tem so izhajali iz dejstva, ki je verjetno nesporno - splo{no namenski ra~unalnik je povezan v omre`je. In kaj naj bi tak v omre`je povezan ra~unalnik omogo~al?

    Prihodnji operacijski sistemi

    Na hitro re~eno - uporabnik naj bi se znebil diktata posameznih tehnologij, programske in strojne opreme, ki `e s svojo pojavo omogo~a ali prepre~uje dostop do informacije. Operacijski sistem bo moral (seveda v sodelovanju z drugimi sredstvi) to neodvisnost omogo~ati. Moral bo biti prenosen (dostopen na razli~nih /po mo`nosti vseh/ ra~unalnikih), torej nevezan na strojno opremo, prilagodljiv, da bo omogo~al mo`nost dostopa do informacij vsem uporabnikom, ne glede na to, kje v omre`ju so, seveda z mo`nostjo nadzora in kontrole dostopa do informacij in ra~unalni{kih sredstev. V socialne posledice takih zahtev se ne bi spu{~ali, saj so neposredno povezani s splo{nim razvojem tehnologije.

    Ve~ino gornjih zahtev dolo~eni OS `e izpolnjujejo, vendar `al eni to, drugi spet drugo. Na~eloma so torej zadeve tehnolo{ko uresni~ljive, oziroma so `e vsaj v razvojnih laboratorijih. Za uspe{no rabo seveda to ni dovolj, saj je za izpolnitev gornjih ciljev potrebno tudi precej{nje sodelovanje tudi med konkuren~nimi podjetji.

    Operacijski sistemi v prihodnosti bodo torej predvsem obrnjeni k sami informaciji in ne toliko k programom, ki omogo~ajo nastanek the informacij. Nekaj korakov v tej smeri je `e vidnih (na~eloma se npr. pri vmesniku, kot ga poznata Windows 95 in Windows NT 4, sploh ni potrebno ukvarjati s programi - te pro`imo preko zahtev za obdelovanje datotek kot nosilcev podatkov. Sodobni programi za delo z datotekami ne lo~ijo med lokalnimi datotekami in tistimi, ki so na omre`ju - lokalnem ali {ir{em (npr. v Internetu)

    Ker ljudi enostavno ni mo~ vkalupljati, bodo OS v prihodnosti morali omogo~ati precej oseben pogled na podatke in s tem tudi omogo~iti posamezniku, da si nastavi okolje po svojih potrebah in `eljah. To okolje mora uporabnika spremljati, ne glede na to, kako se seli po omre`ju. ^e ilustriramo to z zgledom iz dana{njega okolja - na glede na to, za kateri ra~unalnikom delamo, morajo biti ikone programov enako razporejene in nastavitve programov enake. Prav ta potreba po individualizaciji pa ima za {olski prostor dolo~ene neprijetne prakti~ne posledice - kje, kdaj in v kak{ni meri dopu{~ati te individualne nastavitve, da bodo zadeve {e obvladljive. Pomislite le, kako danes izgledajo laboratorijske vaje v ra~unalni{ki u~ilnici ~e (ko) so vsi programi nastavljeni "malo po svoje". Vendar se bodo s podobnimi problemi (in se `e) sre~ujejo tudi drugje, v drugih sistemih in bo re{evanje teh problemov v {oli verjetno podobno kot tam.

    Ne glede na zahteve po vedno ve~ji enostavnosti, prijaznosti na~ina uporabe ra~unalnikov, oziroma prav zaradi tega, bo obvladovanje nastavitev OS verjetno naloga, ki jo bo uspe{no opravljalo le malo ljudi. Vsaj v bli`nji prihodnosti menim, da bo zelo pomembno, da bo vsako okolje imelo posebej usposobljene ljudi - sistemske adminstratorje. Zanimivo je, da potreba po tako usposobljenih ljudeh niha - na za~etku niso bili potrebni, v dobi velikih ra~unalni{kih sistemov nekaj ~asa zelo, z razvojem OS malo manj, s prihodom grafi~nih delovnih postaj pravzaprav spet malo ve~ (mnogi bodo predvsem tej trditvi oporekali), s prihodom osebnih ra~unalnikov prakti~no izginejo s prizori{~a, z razvojem osebnih ra~unalnikov je njihova vloga spet ve~ja in trenutno {e v fazi nara{~anja (~e malo karikiramo: kateri povpre~ni uporabnik pa danes sploh zna uspe{no namestiti Windows 95 ). Z razvojem dolo~enih tehnologij (npr. omre`ni ra~unalnik, kjer se bodo programi pretakali preko omre`ja) se bo verjetno njihova vloga spet zmanj{ala, pa spet narasla, ...

    MICROSOFTOVE NAPOVEDI (neuradne)