izpitna vprasanja ops 1 2

17
Kaj je operacijski sistem? Operacijski sistem je programska oprema, ki nadzira delovanje strojne opreme in služi kot vmesnik med uporabnikom ali zagnanimi aplikacijami in strojno opremo. Operacijski sistem omogoči uporabniku enako okolje, ne glede na kakšni strojni opremi uporabnik zaganja programe. Operacijski sistem je program, ki: • upravlja s strojno opremo računalnika, • deluje kot osnova in podpora za delovanje aplikacij • se obnaša kot posrednik med uporabnikom računalnika in strojno opremo računalnika. Kakšne tipe operacijskih sistemov poznamo? Operacijske sisteme razvrščamo po: • Koliko opravil lahko opravlja istočasno. • Koliko uporabnikov lahko uporablja sistem istočasno. - Interaktivni - Paketna obdelava (Batch) - Izvajajo en sam program istočasno (Uni-programming) - Izvajajo več programov sočasno (Multiprogramming (Multi-tasking)) - Izvajanje v realnem času - za velike računalnike (čim večji izkoristek strojne opreme) - za osebne računalnike (čimboljša izkoriščenost strojne opreme in čimbolj udobnejša uporaba) - za ročne računalnike ((čim lažje in udobneje reševanje nalog) Kateri so tipični sestavni deli operacijskega sistema? Operacijski sistem sestavljajo naslednji deli: • Tehnična plast računalniškega sistema za vodenje vašega računalnika kot so npr: Disk, tipkovnica, monitor. • Podatkovni sistem, ki logično razvrsti vaše datoteke. • Preprost jezik, ki omogoča uporabniku da zaganja svoje programe in manipulira z svojimi datotekami na preprost način. Osnovne komponente računalniškega sistema? Osnovne komponente računalniškega sistema so •strojna oprema •operacijski sistem •uporabniški programi Za katera tipična opravila uporabljamo operacijski sistem? •organizacija podatkov na disku, •kontrola vseh sestavnih delov računalnika (monitor, tiskalnik, tipkovnica,...), •narediti računalniški sistem enostaven za uporabo, •omogočiti izvajanje uporabniških programov, •izrabiti strojno opremo na učinkovit način.

Upload: tadej-fras

Post on 12-Mar-2015

537 views

Category:

Documents


23 download

TRANSCRIPT

Page 1: Izpitna Vprasanja Ops 1 2

Kaj je operacijski sistem?Operacijski sistem je programska oprema, ki nadzira delovanje strojne opreme in služi kot vmesnik meduporabnikom ali zagnanimi aplikacijami in strojno opremo. Operacijski sistem omogoči uporabniku enakookolje, ne glede na kakšni strojni opremi uporabnik zaganja programe.Operacijski sistem je program, ki:• upravlja s strojno opremo računalnika,• deluje kot osnova in podpora za delovanje aplikacij• se obnaša kot posrednik med uporabnikom računalnika in strojno opremo računalnika.

Kakšne tipe operacijskih sistemov poznamo?

Operacijske sisteme razvrščamo po:• Koliko opravil lahko opravlja istočasno.• Koliko uporabnikov lahko uporablja sistem istočasno.

- Interaktivni- Paketna obdelava (Batch)- Izvajajo en sam program istočasno (Uni-programming)- Izvajajo več programov sočasno (Multiprogramming (Multi-tasking))- Izvajanje v realnem času- za velike računalnike (čim večji izkoristek strojne opreme)- za osebne računalnike (čimboljša izkoriščenost strojne opreme in čimbolj udobnejša uporaba)- za ročne računalnike ((čim lažje in udobneje reševanje nalog)

Kateri so tipični sestavni deli operacijskega sistema?

Operacijski sistem sestavljajo naslednji deli:• Tehnična plast računalniškega sistema za vodenje vašega računalnika kot so npr: Disk,tipkovnica, monitor.• Podatkovni sistem, ki logično razvrsti vaše datoteke.• Preprost jezik, ki omogoča uporabniku da zaganja svoje programe in manipulira zsvojimi datotekami na preprost način.

Osnovne komponente računalniškega sistema?

Osnovne komponente računalniškega sistema so•strojna oprema•operacijski sistem•uporabniški programi

Za katera tipična opravila uporabljamo operacijski sistem?

•organizacija podatkov na disku,•kontrola vseh sestavnih delov računalnika (monitor, tiskalnik, tipkovnica,...),•narediti računalniški sistem enostaven za uporabo,•omogočiti izvajanje uporabniških programov,•izrabiti strojno opremo na učinkovit način.

Page 2: Izpitna Vprasanja Ops 1 2

Kakšni tipe uporabniških vmesnikov operacijskega sistema poznamo?

Obstajata dva načina, preko katerega uporabnik komunicira z operacijskim sistemom.En način uporablja čisti tekstovni pristop – CLI (Command Line Interface) ali tolmačukazov, ki omogoča, da uporabnik direktno vpisuje ukaze, katerim servira operacijskisistem.Drugi način omogoča uporabniku, da komunicira z operacijskim sistemom preko grafičnegavmesnika – GUI (Graphical User Interface).

Kaj označuje izraz arhitektura računalnika?Potreba po obravnavi za programerja vidnih lastnosti računalnika na način, ki je ločen od njegove logične infizične realizacije, je dobila svoj odraz v področju, ki mu pravimo arhitektura računalniških sistemov. Poznamoveč definicij za arhitekturo računalniških sistemov. Omenimo eno, ki se najbolj uporablja.Arhitekturo računalnika lahko opišemo kot tisto abstraktno bistvo računalnika, ki ni odvisno od načinarealizacije in tehnologije.

Von Neumannova arhitektura računalnika!

Tradicionalna zgradba računalnika, imenovana po njenem tvorcu, von Neumannu, ki je leta 1945 napisalpredlog za gradnjo novega elektronskega računalnika:

1.vhodno-izhodnih enot,2.centralno-procesne enote,3.glavnega pomnilnika

Kakšna je vloga CPE v sistemu?

Procesor je srce in duša vsakega računalnika. Ta del dejansko opravlja delo preko strojnihinštrukcij, ki jih dobi od programa.CPE jemlje ukaze iz glavnega pomnilnika enega za drugim in ga izvršuje.

Kakšne tipe CPE poznamo?

Procesor poganja »ura« oz. pulzivni generator. Vsaka naloga zajame določen cikel. Ponavadiprocesorji temeljijo na CISC (Complex instruction set computing) arhitekturi, pri kateriposamezna naloga zavzame vec casovnih ciklov za koncanje naloge. Nov trend, ki narekujeizgradnjo RISC (reduces instruction set computing) procesorjev, kateri naj bi imeli boljšoizkoriščenost. Ti sistemi imajo enostavnejše ukaze zato se lahko izvršijo mnogo hitreje,včasih tudi več na en časovni cikel.

Ali nam uporaba dveh procesorjev v sistemu pomeni 2 x hitrejše delovanje sistema?NEVečprocesorski (multiprocesor) sistemi temeljijo na uporabi več procesnih enot (CPE), ki so tesno povezane(uporabljajo skupni pomnilnik). Procesne enote so dodeljevane posameznim programom. Hitrost izvajanjaprogramov na takem sistemu je lahko večja, ni pa nujno. Poveča se lahko tudi zanesljivost, saj odpoved enegaprocesorja zgolj zmanjša zmogljivost. Pri večprocesorskih sistemih ločimo med simetričnimi in asimetričnimimodeli. V prvem primeru so vsi procesorji enakovredni, pri asimetričnih modelih pa obstaja glavni procesor, ki

Page 3: Izpitna Vprasanja Ops 1 2

nadzoruje delo ostalih. Asimetrični modeli so bolj pogosto v zelo velikih sistemih, kjer npr. operacijski sistemuporablja en procesor, uporabniška programska oprema pa druge.

Kateri so osnovni sestavni deli CPE?

Kontrolna enotaALE – aritmetično logična enotaRegistri

Kakšna je vloga registrov CPE?

V računalniku z besedo register označujemo eno ali več povezanih pomnilniških celic, v katere je mogočeshraniti neko vrednost. Njihov pomen je predvsem shranjevanje operandov CPE. To velja predvsem zaprogramsko nedostopne registre. Imamo pa še programsko dostopne registre, ki so nujno potrebni zarealizacijo delovanja centralno procesne enote. Registre najdemo v centralno procesni enoti (CPE), saj so njensestavni del.

Kateri so tipični registri CPE?

Registri•AkumulatorDanes akumulator pomeni univerzalni register za operande, nad katerimi se izvajajo aritmetične in logičneoperacije.•Programski števecNjegova naloga je kaže na besedo glavnega pomnilnika, da se lahko strojni ukaz prebere.•Indeksni registerOsnovna funkcija tega registra je sodelovanje pri določanju naslova operanda. Indeksni register je potreben vukazih, ki uporabljajo tako imenovano indeksno naslavljanje.•Skladovni kazalecZa delo s skaldom ima CPE običajno poseben register, imenovan skladovni kazalec (angl. stack pointer).Kazalec kaţe vedno na vrsh sklada. Kazalec sklada kaţe na lokacijo, kamor se je shranil zadnji podatek.•Statusni registerCentralna procesna enota shrani opis zadnjega izvedenega ukaza v statusni register. Bitom v tem registrupravimo zastavice. Različni procesorji imajo različne zastavice. Večinoma pa nastopajo naslednji štirje:

· Nič (angl. zero)· Negativno (angl. negative)· Prenos (angl. carry)· Preliv (anl. overflow)

•Naslovni registerV naslovnem registru(angl. adress register)se nahaja naslov pomnilniške besede s katero ţeli CPE komunicirati.Z njim CPE sporoča glavnemu pomnilniku naslov besede do katere ţeli dostopiti. Njihovo delovanje je sledeče:naslov se vpiše v enega izmed registrov in s tem povzroči branje pomnilniške besede v istoleţni akumulator.Tako vpis neke vrednosti povzroči branje besede na določenem pomnilniškem naslovu v določen register. S temko vpišemo naslov v nek drugi register se povzroči pisanje vsebine istoleţnega akumulatorja v naslovljenobesedo glavnega pomnilnika.•Podatkovni registerV podatkovnem registru (angl. data register) se nahaja podatek, ki ga CPE piše v to besedo (pri pisalnem ciklu)ali podatek, ki ga je CPE prebrala iz te besede (pri bralnem ciklu).

Page 4: Izpitna Vprasanja Ops 1 2

•Ukazni registerV ukaznem registru (angl. instruction register) se shrani vsak ukaz, ki ga CPE vzame iz pomnilnika. Običajno seshrani samo tisti del ukaza, ki določa operacijo in ki mu pravimo operacijska koda. Kontrolna logika analiziraoperacijsko kodo in sproţi zaporedje mikrooperacij, ki so potrebne za njegovo izvršitev.

Register - NamenAkumulator - Vsebuje podatke, ki se trenutno obdelujejo.Programski števec - Vsebuje naslov naslednjega ukaza ki bo izvršen.Index(naslavljanje) registrov - Poda natančne informacije o podatku, ki se nalaga alishranjuje iz akumulatorja ali pa je odprt na kakšen drug način.Stack pointer(kazalec na sklad) - Kaže na vrh CPU-jevega strojnega sklada.Status register( Register statusa) - Vsebuje informacijo statusa po vsakem izvedenemukazu in je lahko testiran, za zaznavanje napak.

Kateri so osnovni sestavni deli ukaza CPE?

FETCH – jemanje ukaza iz pomnilnika in EXECUTION – izvrševanje ukaza

Kaj se zgodi v FETCH delu ukaza CPE?

jemanje ukaza iz pomnilnika (fetch). Temu pravimo tudi prevzem ukaza. Te ukaze označujemo z izrazom strojniukaz ali tudi ukazi strojnega jezika, da jih razlikujemo od ostalih vrst ukazov, ki se pojavljajo pri računalniku.Strojni ukaz se vedno vzame iz tiste lokacije glavnega pomnilnika, na katero kaže vsebina programskega števcaPC (angl. program counter). Drugače povedano, PC vsebuje naslov pomnilniške lokacije, iz katere se preberenaslednji ukaz. Zato mu včasih pravimo tudi ukazni števec.

Kaj se zgodi v EXECUTION delu ukaza CPE?

izvrševanje (execution) Sestavni del vsakega ukaza je poleg operacije tudi informacija o tem, kje se nahajajooperandi, nad katerimi se naj izvrši. Po končanem izvrševanju se v PC nahaja naslov naslednjega ukaza. To jeobičajno naslov naslednje višje pomnilniške lokacije. Izjeme so le skočni ukazi, ki povzročijo, da se v PC lahkovpiše poljuben naslov (npr. ukaz JUMP).

V katerem registru se nahaja naslov naslednjega ukaza, ki se bo izvršil?

Programski števec.Strojni ukaz se vedno vzame iz tiste lokacije glavnega pomnilnika na katero kaže vsebina programskega števca(angl. Program counter, ukazni števec)

Nad katerim registrom se tipično izvršujejo aritmetične in logične operacije?

Akumulatorje univerzalni register za operande, nad katerimi se izvajajo aritmetične in logične operacije. Nekateriračunalniki imajo po več akumulatorjev, ki so lahko enakovredni ali pa ne. V drugem primeru so nekatereoperacije dovoljene samo na nekaterih akumulatorjih. Posebna vrsta akumulatorjev so tudi posebni registri zaoperande v zapisu s plavajočo vejico, ki jih imajo nekateri računalniki.

Page 5: Izpitna Vprasanja Ops 1 2

Kateri register se uporablja kot pomoč za določanje pomnilniških naslovov operandov?

Indeksni registerOsnovna funkcija tega registra je sodelovanje pri določanju naslova operanda. Indeksni register je potreben vukazih, ki uporabljajo tako imenovano indeksno naslavljanje. Pri tej vrsti naslavljanja ukaz vsebuje pomnilniškinaslov, ki mu pravimo odmik. Naslov A operanda v glavnem pomnilniku je določen z enačbo

Kateri register je osnova za delovanja sklada?

Skladovni kazalecZa delo s skaldom ima CPE običajno poseben register, imenovan skladovni kazalec (angl. stack pointer).Kazalec kaže vedno na vrh sklada. Kazalec sklada kaže na lokacijo, kamor se je shranil zadnji podatek. Torejkazalec sklada kaže na lokacijo s katere lahko povlečemo podatek. Pri nalaganju podatka pa se mora kazalecsklada spremeniti.

Katera sta osnovna ukaza, ki ju potrebujemo za realizacijo sklada?

PUSH reg - vsebino registra reg shrani na vrh sklada,Pul reg - z vrha sklada prenese vsebino v register reg.Pri izvajanju vsakega ukaza PSH se najprej prepiše vsebina registra na sklad (na naslov

kamor kaže SP), nato pa se zmanjša vsebina skladovnega kazalca za 1. Pri shranjevanju

vsebine registra X, ki je 16-bitni, se postopek ponovi dvakrat. Kot je pravilo pri MC6803

za zapis 16-bitnih podatkov v pomnilnik mora biti zgornjih 8 bitov shranjenih na nižjem

naslovu, spodnjih 8 bitov pa na višjem naslovu. Pri izvajanju ukaza PSH se skladovni

kazalec vedno avtomatsko zmanjša za ena, in sicer po vsakem vpisu.

Pri branju podatkov s sklada z ukazi PUL pa se vsebina SP vedno najprej poveča za ena,

da kaže na zadnji shranjen podatek, nato pa se ta podatek prepiše v register, določen z

ukazom PUL. Pri ukazu PULX se zopet prebereta dva zaporedna podatka, najprej tisti, ki

je vpiše v zgornji del registra X.

Kateri načine lahko porabljamo za priključevanje V/I naprav v sistem?

Sinhrone in asinhrone V/IZa zacetek operacije, mora procesor v registre krmilne naprave zapisati dolocene vrednosti.Krmilnik naprave se odziva na vrednosti, ki jih najde v registrih. Npr., ce je operacija zabranje iz diska, krmilnik diska poišce in dostavi zahtevano v lokalni buffer. Po tem pakrmilnik naprave to sporoci procesorju z prekinitvijo.Medtem ko procesor caka na V/I, lahko naredi dve stvari. Lahko ne naredi nic ali panadaljuje z necem dokler ne pride zakljucek prekinitve (asinhrone V/I). Druga možnost(sinhrone V/I) je jasno bolj efektivna.Naprave lahko priključujemo preko nekega zunanjega vodila (na primer USB) ali posredno preko razširitvenihvmesniških kartic, ki jih vgradimo v sam računalnik.

V splošnem imajo vhodno izhodne naprave dva dela: mehanski in elektronski del. Elektronski komponentipravimo tudi krmilnik naprave (device controller). Na en krmilnik lahko v nekaterih primerih navezujemo tudiveč, običajno enakih naprav.

Page 6: Izpitna Vprasanja Ops 1 2

Vsaki napravi mora biti dodeljen en naslov.Računalnik oziroma njegova procesna enota (CPE) mora imeti možnost naslavljanja poljubne lokacije vpomnilniku in poljubnega naslova perifernih naprav. Skratka vedeti mora, komu pošilja kakšen podatek oziromaod koga kakšen podatek dobiva. V splošnem veljata dva načina naslavljanja. Tako pomnilnik kot perifernenaprave lahko uporabljajo isto naslovno (in podatkovno vodiloSlabost take organzacije je, da vhodno-izhodne enote "odžirajo" naslove pomnilniku. To pomeni, da moramovelikost pomnilnika (oziroma njegovega naslovnega prostora) malo omejiti.Druga organizacija, ki jo na primer omogoča tudi Intelova arhitektura in jo zasledimo v popularnih računalnikihPC, pa je, da ima centralna procesna enota ločena vhodno izhodna vrata z ločenimi naslovi. To pomeni, da enovrsto vodila in naslovov uporablja za pomnilnik, povsem drugo povezavo in naslove pa za periferne naprave.

Zakaj pravimo, da so prekinitve asinhrone z delovanjem sistema?

Ker se pojavljajo neodvisno od trenutno delujočega programa.Prekinitve se praviloma pojavljajo čisto asinhrono (angl. asynchronous), torej neodvisno od trenutno delujočegaprograma. Razlikuje se po prioriteti, tako da tiste s prednostjo lahko prekinjajo obdelavo prekinitev z niţjoprioriteto. Vsako ugnezdenje prekinitev pomeni, da se mora ob novih prekinitvah stanje, predvsem vrnitvenihnaslovov, shraniti v sklad. Ti podatki so potem uporabljeni ob izstopu iz izvedene prekinitvene rutine.

Kakšne tipe prekinitev poznamo?1. strojne prekinitve (angl. hardware interrupts), te vplivajo na procesor kot električni signal preko posebnihprocesorjevih vhodnih linij2. programske prekinitve (angl. software interrupts), so pa posebni strojni ukazi ki od procesorja zahtevajo, dapreusmeri tok dogajanja

Prekinitev v računalništvu pomeni, da nek dogodek povzroči da CPE začasno preneha izvajati program, ki gatrenutno izvaja in začne izvajati drug program, ki mu pravimo prekinitveni servisni program. Prekinitve soosnovni način, po katerem lahko pridejo tudi drugi deli računalnika do uslug CPE Gledano zuporabnikove perspektive nam prekinitve omogočajo vtis, da lahko računalnik z eno CPE počne več stvarihkrati.

Pri prekinitvah ločimo naslednja štiri stanja:· Normalno izvrševanja ukaza tekočega programa.· Shranjevanje stanja CPE.· Izvrševanje ukaza prekinitvenega servisnega programa· Obnovitev stanja CPE na stanje, kakršno je bilo ob točki 2.

Kaj je to prekinitveni vektor?Je pomnilniški kazalec v katerega se ob prekinitvi vpiše nadaljevalni naslov za izvajanje, ki sledi prekinitvi

Dogajanje ob katerikoli prekinitvi sledi enakim korakom: procesor prekine izvajanje trenutnega opravila, vsklad shrani naslov, kjer je izvajanje prekinil, ter nadaljuje na naslovu, ki je vezan na sproţeno prekinitev. Ker jenabor prekinitev pri modernih procesorjih precej obseţen, je najpreprosteje, da je za vsako od prekinitevpredviden pomnilniški kazalec, v katerega je vnaprej treba vpisati nadaljevalni naslov za izvajanje, ki slediprekinitvi. Ti kazalci se imenujejo prekinitveni vektorji (angl. interrupt vector), rutine pa, ki stečejo poprekinitvah, so prekinitvene rutine (angl. interrupt-processing routine).

Page 7: Izpitna Vprasanja Ops 1 2

Kakšen je normalen potek dogodkov ob prekinitvi?Dogajanje ob katerikoli prekinitvi sledi enakim korakom:procesor prekine izvajanje trenutnega opravila, v sklad shrani naslov, kjer je izvajanje prekinil, ter nadaljuje nanaslovu, ki je vezan na sproženo prekinitev.Ker je nabor prekinitev pri modernih procesorjih precej obsežen, je najpreprosteje, da je za vsako od prekinitevpredviden pomnilniški kazalec, v katerega je vnaprej treba vpisati nadaljevalni naslov za izvajanje, ki slediprekinitvi. Ti kazalci se imenujejo prekinitveni vektorji (angl. interrupt vector), rutine pa, ki stečejo poprekinitvah, so prekinitvene rutine (angl. interrupt-processing routine).Prekinitve se praviloma pojavljajo čisto asinhrono (angl. asynchronous), torej neodvisno od trenutno delujočegaprograma.Razlikuje se po prioriteti, tako da tiste s prednostjo lahko prekinjajo obdelavo prekinitev z nižjo prioriteto.Vsako ugnezdenje prekinitev pomeni, da se mora ob novih prekinitvah stanje, predvsem vrnitvenih naslovov,shraniti v sklad.Ti podatki so potem uporabljeni ob izstopu iz izvedene prekinitvene rutine. Pri prekinitvah ločimo naslednjaštiri stanja:- Normalno izvrševanja ukaza tekočega programa.- Shranjevanje stanja CPE.- Izvrševanje ukaza prekinitvenega servisnega programa- Obnovitev stanja CPE na stanje, kakršno je bilo ob točki 2.

Kaj so to vgnezdene prekinitve?

Razlikuje se po prioriteti, tako da tiste s prednostjo lahko prekinjajo obdelavo prekinitev z nižjo prioriteto.Vsako ugnezdenje prekinitev pomeni, da se mora ob novih prekinitvah stanje, predvsem vrnitvenih naslovov,shraniti v sklad. Ti podatki so potem uporabljeni ob izstopu iz izvedene prekinitvene rutine.Včasih lahko pride do prekinitve tudi pri izvajanju prekinitveno strežnega programa. Pravimo, da je prišlo dovgnezdene prekinitve. Prekinitev, ki dovoli, da se jo prekine označujemo kot maskirna prekinitev.

Kaj je predpogoj za delovanje vgnezdenih prekinitev?

Prekinitve se praviloma pojavljajo čisto asinhrono (angl. asynchronous), torej neodvisno od trenutno delujočegaprograma. Razlikuje se po prioriteti, tako da tiste s prednostjo lahko prekinjajo obdelavo prekinitev z nižjoprioriteto. Vsako ugnezdenje prekinitev pomeni, da se mora ob novih prekinitvah stanje, predvsem vrnitvenihnaslovov, shraniti v sklad. Ti podatki so potem uporabljeni ob izstopu iz izvedene prekinitvene rutine.

Kako imenujemo prekinitve, ki imajo izvor v CPE?

Neka vrsta prekinitve je tudi past. Vendar pasti zahteva CPE sama ob nekem nenavadnem dogodku ali nazahtevo programerja. Pasti, ki jih sprožajo programerji z posebnimi ukazi se imenujejo programske pasti,ostale pa ki pa potrebujejo posebne pogoje pa imenujemo pogojne pasti. Glavna razlika med pastmi inprekinitvami je v tem, da pride prekinitev od zunaj (vhodno-izhodne naprave) in past od znotraj (programer aliposeben dogodek), vendar kljub temu med obema dogodkoma za CPE v odzivu sploh ni razlike.

Kateri so tipični dogodki, ki prožijo pasti?

Najbolj pogosti primeri uporabe prekinitev ali pasti so:

Page 8: Izpitna Vprasanja Ops 1 2

· deljenje z nič· pisanje v lokacijo, ki je zaščitena pred pisanjem· napake pri delovanju nekega dela računalnika· napaka strani ali segmenta pri navideznem pomnilniku· dostop do zaščitene pomnilniške besede· uporaba nedefiniranega ukaza· klic programov operacijskega sistema in prehod v privilegiran način delovanja

Kako se imenuje bistveni sestavni del operacijskega sistema?

Pri obravnavi operacijskih sistemov, se v glavnem osredotočamo na tisti najbistvenejši del operacijskegasistema, ki se stalno zadržuje v pomnilniku – imenujemo ga jedro.

Katera sta osnovna načina delovanja operacijskega sistema?

Za pravilno delovanje je potrebno zaščititi operacijski sistem, vse programe in pripadajoče podatke predprogramom z napakami. Najmanj kar potrebujemo sta dva ločena reţima delovanja:

· uporabniški način (user mode)· sistemski način (system mode ali kernel mode)

Način v katerem trenutno operiramo določa poseben bit (mode bit), ki je vgrajen v strojno opremo. Vrednostbita 0 predstavlja sistemski način, 1 pa uporabniški način delovanja. Tako lahko ločimo opravilo, ki ga izvajauporabnik ali operacijski sistem.

Zakaj operacijski sistemi uporabljajo dva režima delovanja?

Za pravilno delovanje je potrebno zaščititi operacijski sistem, vse programe in pripadajoče podatke predprogramom z napakami.Dvojni način delovanja nam omogoča zaščito operacijskega sistema pred nezanesljivimi uporabniki.

Kateri so tipični dogodki pri katerih se prehaja iz enega režima delovanja operacijskega sistema vdrugega?

Ko sistem izvaja uporabniški program je sistem v uporabniškem režimu delovanja. Ko uporabniški programzahteva servis od operacijskega sistema (preko sistemskega klica) mora preklopiti režim delovanja v sistemski.V tem režimu izvede sistemski klic in nazaj, spremeni režim delovanja. Ko se operacijski sistem zaganja sezaganja v sistemskem načinu, ni mogoče, da bi posegal uporabnik. Šele na koncu nalaganja jedra naložiuporabniške procese v uporabniškem načinu delovanja. Ko pride do prekinitve ali pasti strojna oprema preklopiv sistemski režim delovanja in ko se konča se vrne nazaj v uporabniški režim. Ob poizkusu izvajanjaprivilegiranih navodil v uporabniškem načinu bi strojna oprema namesto izvedbe navodil signaliziralaoperacijski sistem preko pasti. Uporabnik lahko izvede privilegirana navodila, vendar samo tiste, ki jih imavgrajene operacijski sistem. Zahteva po izvedbi privilegiranih navodil se tako vrši samo preko sistemskega klica(system call).

S pomočjo česa dosegajo uporabniški programi funkcije operacijskega sistema?Uporabnik lahko izvede privilegirana navodila, vendar samo tiste, ki jih ima vgrajene operacijski sistem.Zahteva po izvedbi privilegiranih navodil se tako vrši samo preko sistemskega klica (system call).

Ko sistem izvaja uporabniški program je sistem v uporabniškem režimu delovanja. Ko

Page 9: Izpitna Vprasanja Ops 1 2

uporabniški program zahteva servis od operacijskega sistema (preko sistemskega klica)mora preklopiti režim delovanja v sistemski.

Katere so osnovne značilnosti enoopravilnega operacijskega sistema?

Omogočajo sočasno izvajanje le enega programa. Če hočemo izvajati več programov, moramo med njimi ročnopreklapljati.

Katere so osnovne značilnosti večopravilnega operacijskega sistema?

dovoljujejo (navidezno) sočasno izvajanje več programov. V resnici računalnik izmenično dodeljujeposameznim programom časovne rezine. Največ časovnih rezin običajno dobiva program, ki deluje v ospredju.Manj rezin dobivajo programi, ki delujejo v ozadju. Najmanj časa je posvečeno programom, ki trenutno nedelajo nič. Obstajata dve vrsti večopravilnosti:o Sodelujoča(cooperative, non-preemptive) Proces sam zahteva prehod v drugo stanje. Windows 3.11,Windows 95o Predkupna (preemptive) operacijski sistem dodeli vsakemu procesu časovno rezino. Obstaja program(razvrščevalnik (scheduler), ki skrbi za razporejanje opravil. Od OS Nt 4.0 dalje.

Katere so osnovne značilnosti mnogouporabniškega operacijskega sistema?

dovoljujejo uporabo istega računalnika, včasih celo istega programa, večim uporabnikom. Taki sistemi pogostodelujejo po principu delitve časa med uporabniki. Za mnogouporabniške sisteme je značilna uporabanavideznega pomnilnika.

Katere so osnovne značilnosti večprocesnega operacijskega sistema?

temeljijo na uporabi več procesnih enot (CPE), ki so tesno povezane (uporabljajo skupni pomnilnik). Procesneenote so dodeljevane posameznim programom. Hitrost izvajanja programov na takem sistemu je lahko večja, nipa nujno. Poveča se lahko tudi zanesljivost, saj odpoved enega procesorja zgolj zmanjša zmogljivost. Privečprocesorskih sistemih ločimo med simetričnimi in asimetričnimi modeli. V prvem primeru so vsiprocesorji enakovredni, pri asimetričnih modelih pa obstaja glavni procesor, ki nadzoruje delo ostalih.Asimetrični modeli so bolj pogosto v zelo velikih sistemih, kjer npr. operacijski sistem uporablja en procesor,uporabniška programska oprema pa druge.

Katere so osnovne značilnosti vgrajenega operacijskega sistema?

temeljno programje za delovanje naprav z vdelanim računalniškim sistemom, kot so videorekorder,avtomobilski sistem za krmiljenje motorja ali hišna alarmna naprava.

Katere so osnovne značilnosti operacijskega sistema za delo v realnem času?• Večja zanesljivost,• hitrejše izvajanje,• manjša potreba po pomnilniku,• večja prilagodljivost,• razvrščevalnik prilagojen vgrajenim sistemom realnega časa,• boljša prenosljivost na različne strojne platforme.

Page 10: Izpitna Vprasanja Ops 1 2

To je oblika namenskega operacijskega sistema, kjer se zaradi strogih časovnih omejitevzahteva usklajena obdelava nalog ali pretoka podatkov. To so sistemi, ki kontrolirajoznanstvene poizkuse, medicinske obsevalni sistemi, industrijski kontrolni sistemi, boljkonkretno recimo sistem za elektronsko vbrizgavanje goriva .

Kaj je to proces?Proces (process) je program v izvajanju. Ima pasivni del (programska koda) in aktivni del (trenutne vrednostispremenljivk). Operacijski sistem ne dela neposredno s programi ampak s procesi.Pomembne naloge operacijskega sistema glede procesov so:

· tvorjenje in uničevanje procesov,· porazdeljevanje sistemskih virov posameznim procesom,· zaščita procesov pred napakami v drugih procesih in· sinhronizacijo procesov ter komunikacija med njimi.

Katera so osnovna stanja procesa?

Med izvajanjem vsak proces prehaja med različnimi stanji:· nov (new), če se je ravnokar pričel (ustvarjen created),· teče (running), če se ravnokar izvajajo njegovi ukazi,· čaka (waiting), če čaka na nek dogodek (npr. konec V/I aktivnosti, signal), da bi lahkospet stekel, v tem primeru pravimo tudi, da je proces blokiran oz. da proces spi (blocked,sleeping),· pripravljen (ready), če mu manjka le še procesor,· končan (terminated), če je zaključil izvajanje programa

Kdaj proces preide iz stanja pripravljen v stanje delujoč?

Spremembe stanj so narejene s strani sistema. Prehodi med stanji se ponavadi zgodijo z prekinitvami.

Kdaj proces preide iz stanja delujoč v stanje pripravljen?

Spremembe stanj so narejene s strani sistema. Prehodi med stanji se ponavadi zgodijo z prekinitvami.

Kako se imenuje postopek ob menjavi delujočih procesov?

Ko preklopimo iz enega procesa v drugega, mora operacijski sistem shraniti stanje starega procesa v njegovPCB in naložiti shranjeno stanje za nov proces. To imenujemo zamenjava okolja (context switch). Čas, ki jepotreben za zamenjavo okolja, je izgubljen, saj računalniški sistem med tem opravilom ne dela koristnega dela.

Kaj se zamenja v postopku zamenjave konteksta (context switch)?

Menjava dela procesorja na drug proces zahteva shranjevanje stanja procesa, ki zapuščaprocesor in nalaganje stanja procesa, ki prihaja v izvajanje v procesor. Naloga je znanapod imenom menjava okolja. V okolje procesa spada kontrolni blok procesa (PCB)(stanja registrov v procesorju, stanje procesa in informacije o upravljanju pomnilnika). Kose zgodi menjava okolja, jedro shrani PCB procesa, ki zapušča procesor in naloži PCBprocesa, ki prihaja v izvajanje v procesor. Čas menjave okolja je jalov čas (overhead),

Page 11: Izpitna Vprasanja Ops 1 2

čas ko za nas ne počne nič koristnega.

Kakšen je tipičen čas, ki poteče med dvema menjavama konteksta, ki je povzročen s strani časovnika?

Jalov čas je odvisen od hitrosti pomnilnika, števila registrov, ki se morajo shraniti in odposebnega navodila (navodilo, ki shrani in naloži PCB). Tipične hitrosti so od 1 do 1000 μs.

Kaj proces potrebuje za svoje delovanje?

Proces ( program v izvajanju) predstavlja množico ukazov, zato (za izvedbo) potrebuje vire, kot so CPE,pomnilnik in vhodno/izhodne naprave. Tvori ga lahko tudi zbirka drugih procesov, pri tem pa procesi OSizvajajo sistemsko kodo, za uporabniški del kode pa poskrbijo uporabniški procesi. Pri tem pa proces nepredstavlja le množico ukazov, temveč zajema tudi trenutno aktivnost programa.

Kako sta lahko istočasno aktivna dva procesa, ki za svojo delovanje potrebujeta tipkovnico?Ce ima sistem priključeni dve tipkovnici potem jih bo OS dodelil k razlicnima programoma. Ce je povezan zsamo eno tipkovnico, potem morajo ostali programi pocakati, da bo vir na voljo oz. prost.

Na večini večopravilnih sistemov je lahko naenkrat aktiven le en proces - sistem mora zatosvoj čas deliti med več procesov. Deljenje se imenuje razvrščanje. (Razvrščanje <-> časovnoupravljanje.)Ker nit ne potrebuje svojega naslovnega prostora jo je mogoče enostavneje in predvsem hitreje ustvariti. Niti sedanes uporabljajo pri namiznih aplikacijah:

· prikaz slik v brskalniku,· preverjanje črkovanja v urejevalniku besedil,· tiskanje v ozadju v večini programov itd.

Kot primer lahko navedemo spletni brskalnik, ki z eno nitjo kontrolira prikaz spletne vsebine (tekst, slike, ...) nazaslon, z drugo nitjo pa kontrolira sprejemanje in pošiljanje mreţnih paketov. Urejevalnik besedil je ločenproces, ki ima eno nit, ki kontrolira prikaz besedila na zaslon, drugo nit, ki sprejema ukaze uporabnika in tretjonit, ki recimo izvaja črkovanje na vtipkanem besedilu. Za doseganje večopravilnosti na modernih operacijskihsistemih poleg procesov uporabimo tudi niti (threads) oz. opravila (tasks). Razlika med procesom in nitjo je narazličnih operacijskih sistemih različna, v splošnem pa velja, da je zamenjava okolja pri nitih lažja, hitrejšain manj zahtevna kot zamenjava okolja pri procesih. Za pravilno razdelitev izvajanja programa v več nitimora poskrbeti programer oz. prevajalnik. Operacijski sistem programa ne zna razdeliti procesa v več nitiampak samo skrbi za njihovo izvajanje. Večnitni programi se lahko zelo učinkovito izvajajo na večprocesorskihsistemih.

Kdaj sta dva procesa konkurenčna?

Ena od prednosti večopravilnosti je ta, da lahko več procesov sodeluje v zvezi s tem, da sskupnimi močmi rešijo oz. izvedejo določeno nalogo. Da lahko medsebojno sodelujejo,morajo storiti nekaj od sledečega:

· Komunicirati. Medprocesna komunikacija (IPC) vsebuje pošiljanje informacij od enega procesak drugim. To je lahko doseženo z uporabo 'mailbox' sistema, vtičev (Berkeley) ki se obnaša kotvirtualno komunikacijsko omrežje (loopback), ali z uporabo 'cevi'. Cevi so sistem, ki omogočajo enemuprocesu, da odpre drug proces kot da je datoteka za branje ali pisanje.· Deljen pomnilnik. Segment pomnilnika mora biti na voljo obema procesoma. (Večinapomnilnika je zaklenjena za en sam proces).

Page 12: Izpitna Vprasanja Ops 1 2

· Čakanje. Nekateri procesi Čakajo, da drugi procesi dajo signal preden nadaljujejo. To je stvarsinhronizacije.

___Takoj ko odpremo vrata za sodelovanje, nastopi problem, kako sinhronizirati procese, kisodelujejo. Na primer, Če dva procesa modificirata enako datoteko. Če bi dva procesa hotelahkrati pisati, bi bil rezultat nesmiselna zmes obeh pisanj. Moramo imeti način sinhroniziranjaprocesov, da bodo lahko sočasni (konkurenčni) procesi stali v vrsti za dostop do skupnihpodatkov in tako dejansko delovali zaporedno.___Sinhronizacija je zapleten problem v multiprocesorskem sistemu, vendar je lahkodosežena s pomočjo kritičnih sekcij in semaforjev / ključavnic.

Kako se lahko procesi medsebojno usklajujejo?V večopravilnem okolje lahko procesi pri obdelavi sodelujejo. Med njimi mora biti vzpostavljena komunikacija.Poznamo več načinov komuniciranja med procesi:- uporaba skupnega pomnilniškega vmesnika, kjer si procesi puščajo podatke in informacije zasinhronizacijo,- pošiljanje sporočil pošlji(proces, sporočilo) in sprejmi(proces, sporočilo).

V drugem primeru velikokrat govorimo o pošiljanju v poštni nabiralnik (mailbox). Zaželjena je zmožnostodgovarjanja. Kot primer lahko vzamemo klic oddaljene procedure (RPC – remote procedure call).

Na večini večopravilnih sistemov je lahko naenkrat aktiven le en proces - sistem mora zatosvoj čas deliti med več procesov. Deljenje se imenuje razvrščanje. (Razvrščanje <-> časovnoupravljanje.)

Kakšna je vloga razvrščevalnika?- je srce jedra operacijskega sistema- na podlagi izbranega kriterija določa, kdaj se bo izvedlo posamezno opravilo

– razvrščanje brez prekinjanja (non-preemptive scheduling)• razvrščevalnik se sproži samo tedaj, ko proces zaključi svoje deloali, ko sistemski klic opravila ne more biti takoj končan in se za ta časaktivira drugo opravilo.– razvrščanje s prekinjanjem (preemptive scheduling)• se poleg tega zanaša še na periodičen urin takt, ob katerem se sprožirazvrščevalnik, ki izbere opravilo, ki se bo izvajalo v naslednjemurinem taktu.

Razvrščevalnik razvršča niti in ne procese.Na večini večopravilnih sistemov je lahko naenkrat aktiven le en proces - sistem mora zatosvoj čas deliti med več procesov. Deljenje se imenuje razvrščanje. (Razvrščanje <-> časovnoupravljanje.)___Različne metode razvrščanja so primerne za različne načine izvršitev. Vrsta je ena oblikarazvrščanja pri kateri vsak program čaka na vrsto in je izvršen serijsko. To ni ravno uporabnoza obvladovanje večopravilnosti, vendar je nujno za razvrščanje naprav, ki ne morejo bitideljene. Primer takšne naprave je tiskalnik. Vsaka naloga tiskalnika mora biti končana predense lahko naslednja naloga prične, drugače bi se vse tiskalnikove naloge pomešale in nastala bineumnost.

Page 13: Izpitna Vprasanja Ops 1 2

Katere kriterije naj bi upošteval razvrščevalnik pri svojem delu?

Različni razvrščevalni algoritmi imajo različne lastnosti, kateri proces bodo izbrali in dodelili procesorju vizvajanje. Kateri razvrščevalni algoritem izbrati v določeni situaciji, moramo preučiti lastnosti posameznegarazvrščevalnega algoritma. Kriterij izbire razvrščevalnega algoritma zajemajo:

· izkoriščenost procesorja – procesor hočemo čimbolj zaposliti. Zaposlitev procesorja je lahko od0 do 100 %. V realnem sistemu bi se moral gibati okoli 40 % (za lahko obremenjen sistem) in okoli 90% (za močno obremenjen sistem),· propustnost sistema (throughput) – (število končanih procesov/časovno enoto) mora biti čimvečje. Za dolge procese je količnik 1 proces/h, za kratke procese pa količnik 10 procesov/s,· čas obdelave (turaround time) – čas, ko se posamezen proces prvič začne izvajati do trenutka, koje proces zaključil svojo nalogo,· čakalni čas (waiting time) – čas, ki ga proces porabi, ko čaka v pripravljeni vrsti. Čakalni čas jevsota časov porabljenih za čakanje procesa v pripravljeni vrsti.· odzivni čas (response time) – v interaktivnem sistemu, čas obdelave ni primeren kriterij. Zato seraje uporablja odzivni čas, ki je čas od kreiranja procesa do prve V/I aktivnosti procesa.

Kako delimo načine razvrščanja glede na tip opravila?

Razvrščanje na procesorju se ukvarja s problemom odločitve, kateri proces v pripravljeni vrsti dodelitiprocesorju v izvajanje. Opisali bomo nekaj algoritmov razvrščanja na procesorju.

· “Prvi pride, prvi melje” algoritem razvrščanja (First-Come, First-Served – FCFS) To jenajenostavnejši algoritem razvrščanja na procesorju. Po tem algoritmu razvrščevalnik postreţe tistiproces, ki to prvi zahteva. Ko proces vstopi v pripravljeno vrsto, se njegov PCB postavi na zadnjemesto v vrsti. Ko je procesor prost se mu dodeli prvi proces v vrsti. Tekoč proces se nato izloči izčakalne vrste pripravljenih procesov. Povprečni čakalni čas (waiting time) je dokaj dolg. (nonpreemptive način), Temu problemu pravimo efekt konvoja, kjer hitri procesi čakajo počasnega.· “Najkrajše opravilo najprej” algoritem razvrščanja (Shortest-Job-First – SJF) Algoritemizbere proces, ki ima trenutno v pripravi najkrajši računski del – cikel na procesorju. Če imata dvaprocesa enak računski del se uporabi algoritem FCFS. SJF algoritem lahko deluje s prekinjanjem alibrez prekinjanja. Algoritmu SJF s prekinjanjem pravimo tudi prednost nalogi s krajšim ostankom časa(Shortest Remaining Time First – SRTF).· Prioritetno razvrščanje Prioritete so definirane interno ali eksterno. Interna prioriteta jeodvisna od časovnih omejitev, zahtev pomnilnika, števila odprtih datotek, razmerja povprečnega V/Icikla in cikla na procesorju. Eksterne prioritete določajo kriteriji, ki so zunanji operacijskemu sistemu,kot so pomembnost procesa.· Round Robin (RR) razvrščanje RR razvrščevalni algoritem je narejen posebej za večopravilnesisteme. Podoben je FCFS algoritmu, le da je RR algoritmu dodano prekinjanje za preklop medprocesi. Definirajmo majhno enoto časa imenovano tudi časovna rezina. Časovna rezina ima običajnovrednosti od 10 do 100 ms. Pripravljena vrsta je pri tem algoritmu tretirana kot vrsta v obliki kroga.Razvrščevalnik procesorja gre okoli pripravljene vrste, kjer dodeli procesorju del vsakega procesa začas 1 časovne rezine.· Več-nivojska vrsta razvrščanja Algoritem je primeren za situacije, kjer se procese da razdeliti vdoločene skupine. Na primer osnovna delitev bi lahko bila delitev na procese v ozadju (paketniprocesi – tiskanje iz urejevalnika besedil) in procese v ospredju (interaktivni procesi – delo z V/Inapravami). Ponavadi imajo procesi v ospredju višjo prioriteto kot procesi v ozadju. Ta dva tipaprocesov imata različne časovne odzive in imata različne zahteve po razvrščevalnih algoritmih. Vvečnivojski vrsti so procesi najprej umeščeni v vrste, kateri procesi po lastnostih najbolj pripadajo.

Page 14: Izpitna Vprasanja Ops 1 2

Vsaka vrsta ima svoj razvrščevalni algoritem in višja vrsta ima vedno prednost pri izvajanju predniţjimi vrstami. Če se na primer izvaja proces v paketni vrsti (batch) in med izvajanjem procesa vpaketni vrsti prode proces, ki spada v višjo vrsto bo proces v paketni vrsti prekinjen in izvajati se bozačel proces v višji vrsti. Druga moţnost je, da se doda vsaki vrsti določen čas izvajanja (npr. 80% časaCPE višjim vrstam (RR algoritem razvrščanja) in 20% časa niţjim vrstam (FCFS algoritemrazvrščanja)).

Kako delimo razvrščanja glede na intenzivnost izvajanja procesov?- prekinitveno- neprekinitveno

Razvrščanje se izvaja ob- časovnih intervalih- ob različnih dogodkih

Paketno“Prvi pride, prvi melje” algoritem razvrščanja (First-Come, First-Served – FCFS)Najkrajše opravilo najprej” algoritem razvrščanja (Shortest-Job-First – SJF)

KratkotrajnoPrioritetno razvrščanjeRound Robin (RR) razvrščanjeVeč-nivojska vrsta razvrščanja

Kateri razvrščevalni algoritmi se uporabljajo za razvrščanje paketnih opravil?

“Prvi pride, prvi melje” algoritem razvrščanja (First-Come, First-Served – FCFS)Najkrajše opravilo najprej” algoritem razvrščanja (Shortest-Job-First – SJF)Queueing. Ta način je primeren za serijska ali paketna opravila kot so tiskanje vozadju ali zahteve strežnika. Obstajata dva nacina za izdajo dodeljevanje prioriteteopravilom v vrsti. Prvi je kdor prvi pride prvi melje (FCFS – first come first serve),pogosto se pojavlja tudi pod izrazom prvi not, prvi ven (FIFO – first in first out); drugije procesirat najkrajše delo prej (SJF – shortest job first).

Zakaj je SJF algoritem učinkovit pri paketnih opravilih?

Zato ker je povprečen čas manjši. Trgovina, babica, sendvič(20min in 2 min)Algoritem izbere proces, ki ima trenutno v pripravi najkrajši računski del – cikel na procesorju. Če imata dvaprocesa enak računski del se uporabi algoritem FCFS. SJF algoritem lahko deluje s prekinjanjem ali brezprekinjanja. Algoritmu SJF s prekinjanjem pravimo tudi prednost nalogi s krajšim ostankom časa (ShortestRemaining Time First – SRTF).

Pojasnite delovanje sistema round-robin!

RR razvrščevalni algoritem je narejen posebej za večopravilne sisteme. Podoben je FCFS algoritmu, le da je RRalgoritmu dodano prekinjanje za preklop med procesi. Definirajmo majhno enoto časa imenovano tudi časovnarezina. Časovna rezina ima običajno vrednosti od 10 do 100 ms. Pripravljena vrsta je pri tem algoritmu tretiranakot vrsta v obliki kroga. Razvrščevalnik procesorja gre okoli pripravljene vrste, kjer dodeli procesorju delvsakega procesa za čas 1 časovne rezine.

Page 15: Izpitna Vprasanja Ops 1 2

Na kakšen način lahko razvrščevalnik pridobi ponovno nadzor nad sistemom?

Opiši nepredkupno večopravilnost?

Strogo non-preemptiv: Vsak program nadaljuje izvajanje dokler ne konca ali doklermora čakati na dogodek (V/I ali drugo nalogo).

Opiši strogo predkupno večopravilnost?

Strogo preemptive: Sistem se odloči kako bo čas razdeljen med opravili in prekinevsak proces po časovni rezini, če mu je všeč ali ne. Potem izvrši drug proces za točnodoločen čas in ustavi, potem naslednjega...itd.

Opiši vljudno predkupno večopravilnost?

Vljudno preemptive: Sistem se odloči kako bo čas deljen, ampak ne bo prekinilprograma, če je v kritični sekciji. Določene sekcije programa so lahko takopomembne, da se morajo od začetka do konca izvršiti brez prekinitev. To je kot UNIXin Windows NT.

Kako lahko s prioritetami dopolnimo večopravilnost?

Namesto da damo vsem programom enake rezine časa CPE, imajo mnogi sistemi prioritete.Procesi z višjimi prioritetami so ali servisirani bolj pogosto kot procesi z nižjimi prioritetamiali pa dobijo daljše časovne rezine od CPE.Prioritete normalno niso točno določene, ampak nihajo glede na delovanje sistema in količinočasa CPE, ki ga je proces že porabil v preteklosti. Na primer procesi, ki so porabili veliko časaCPE v preteklosti, se jim prioritete pogosto zmanjšajo. To omogoča učinkovitejše deloiterativnih procesov, ki pogosto čakajo na V/I saj jim izboljša odzivni čas in tako delovanjesistema interaktivnim uporabnikom zgleda hitrejše. Nadalje, procesom je lahko prioritetaodvzeta, če njihova uporaba CPE postane zelo velika. (To se pojavi naprimer v UNIX-u).Ideja tega pristopa je diskutabilna, saj so procesi, ki potrebujejo veliko casa za izvršitevkaznovani. Seveda zaradi zmanjšane prioritete potrebujejo več časa za izvršitev. Če sezmanjševanje prioritete nadaljuje, lahko to pomeni da dela nikoli ne bodo izvedli. To seimenuje stradanje procesa in se ne sme primerit.

Kakšne načine dodeljevanja prioritete poznamo?

Prioritete so definirane interno ali eksterno. Interna prioriteta je odvisna od časovnih omejitev, zahtevpomnilnika, števila odprtih datotek, razmerja povprečnega V/I cikla in cikla na procesorju. Eksterne prioritetedoločajo kriteriji, ki so zunanji operacijskemu sistemu, kot so pomembnost procesa.Obstajata dva načina za izdajo dodeljevanje prioritete opravilom v vrsti.- prvi je kdor prvi pride prvi melje (FCFS – first come first serve), pogosto se pojavlja tudi podizrazom prvi not, prvi ven (FIFO – first in first out);

- Drugi je procesirat najkrajše delo prej (SJF – shortest job first).

Prioritete normalno niso točno določene, ampak nihajo glede na delovanje sistema in količino

Page 16: Izpitna Vprasanja Ops 1 2

časa CPE, ki ga je proces že porabil v preteklosti.- procesi, ki so porabili veliko časa CPE v preteklosti, se jim prioritete pogosto zmanjšajo.- procesom je lahko prioriteta odvzeta, če njihova uporaba CPE postane zelo velika.- povečava prioritete »požrešnemu« procesu, da ga spravimo s poti kolikor hitro se le da. To je- izjemno težko za algoritem, zato mora to presodit sistemski administrator in dvignit prioritetoročno.

V čem se niti razlikujejo od procesov?

V drugih besedah, niti so procesi znotraj procesov!Niti lahko le stečejo znotraj normalnega procesa.Nit (thread): (vcasih imenovana kot lahek proces) se razlikujejo od procesa aliopravila v tem, da nit ni dovolj za izvedbo celotnega programa. Nit je samo delprocesa - je kot ena 'aktivna roka' v programu - nekaj kar CPE dela v koristi programa,vendar ne dovolj, da bi lahko rekli zakljucen proces. Niti si zapomnejo kar delajovsaka posamezno, delijo pa si informacije o virih, ki jih program uporablja, in v katerifazi izvajanja je program. Nit je le naloga CPE. Vec niti lahko opravi eno opravilo. Kose zgodi to, je informacija o enem procesu ali opravilu uporabljena v vec nitih. Vsakproces mora vsebovati vsaj eno nit, da kaj naredi.

Koliko niti je minimalno v sodobnih procesih?Vsak proces mora vsebovati vsaj eno nit, da kaj naredi.

Niti jedra se obnašajo kot navidezne CPE na katerih se lahko izvajajo uporabniški procesi.Jedro lahko ima toliko sistemskih niti kot je dejanskih CPE in vsaka med njimi je nadaljedeljena med uporabniške niti. Z drugimi besedami, maksimalno število uporabniških niti, kiso lahko istočasno aktivne je enako številu sistemskih niti oz. številu CPEjev v sistemu.

Zakaj bi bil strežnik realiziran z eno samo nitjo neučinkovit?

Ker bi lahko izvajal samo en program, kot je znano pa na strežnikih teče več opravil in na njem dela večuporabnikov.

Kako je realizirana zaščita med nitmi istega procesa?Za pravilno razdelitev izvajanja programa v več niti mora poskrbeti programer oz. prevajalnik. Operacijskisistem programa ne zna razdeliti procesa v več niti ampak samo skrbi za njihovo izvajanje.

Vsaka nit ima naslednje unikatne parametre:· TID (thread ID)· prioriteto· sklad za lokalne spremenljivke

Kako je realizirana zaščite enega procesa pred ostalimi v operacijskem sistemu?

Za pravilno razdelitev izvajanja programa v več niti mora poskrbeti programer oz. prevajalnik. Operacijskisistem programa ne zna razdeliti procesa v več niti ampak samo skrbi za njihovo izvajanje. Večnitni programi selahko zelo učinkovito izvajajo na večprocesorskih sistemih.

Page 17: Izpitna Vprasanja Ops 1 2

Kaj si delijo med seboj niti istega procesa?

Niti znotraj procesa si delijo:· naslovni prostor· večino podatkov· odprte datoteke· signale

Naštej zaporedje korakov pri zagonu računalnika?Ob vklopu napajanja se izvršijo naslednji koraki:

· nalaganje bootstrap programa iz v naprej določene lokacije v ROMu,

· zagon bootstrap programa

o diagnosticiranje,

o aktiviranje naprav,

o nalaganje kode iz zagonskega bloka na disku,

· nalaganje in zagon operacijskega sistema.

V primeru, da je na sistemu nameščenih več operacijskih sistemov, se iz zagonske sledi diska naloži zagonskinalagalnik. Zagonski nalagalnik je program, ki uporabniku izpiše seznam nameščenih operacijskih sistemov innato izbrani sistem tudi zažene.

Kdaj proces izgubi nadzor nad procesorjem?Proces, ki se izvaja izgubi nadzor nad CPE v primerih ko:

- izvede sistemski klic; operacijski sistem odstavi proces v stanje čakanja dokler klic ni dokončan,- pride do prekinitve; operacijski sistem postavi izvajajoč proces spet v stanje pripravljenosti. Taprekinitev je lahko časovna prekinitev, ki operacijskemu sistemu pove, da je proces porabil svoj procesorskičas, ki ga je imel na voljo, oz. da je na vrsto prišel proces z višjo prioriteto,- proces je izvršen.

13