FRI-OS Flashcards
Naštej prednosti mikrojedernih OS
- Manjša velikost
- Manj kode a je ta bolj kompleksna (lažje za audit)
- Vse razen najbolj nujnih “service” se nahajajo v user-space
- Večja varnost, ker se več operacij naredi v uporabniškem načinu
- Zanesljivost/robustnost, saj crash enega servica ne crasha tudi jedra
Katere funkcije OS opravlja mikrojedro?
- Inter-proces-communication (IPC)
- Virtual memory
- Sheduling
Ko uporabnik sef poskusa zagnati “./skripta.sh” mu vrne nazaj Permission denied. Uporabnik sef ima sudo. Kako bi pognal skripto?
“ls -l” vrne:
-rw-r–r– 1 root root … itd.
Skripto bi pognal z “sudo bash ./skrpta.sh”
Razloži pomen pozivnika sokrat@jama:~>
sokrat@jama:~>
sokrat => username
jama => ime računalnika
~(tilda) => pomeni da smo v svojem domačem(home) direktoriju
naloge OS
- upravljanje s gl. pomnilnikom
- upravljanje z zunanjim pomnilnikom
- upravljanje z datotečnim sistemom
- varnost, začita
- delo v omrežju
- interpreter uporabniških ukazov
- upravljanje s procesi
- upravljanje v/i sistema
Kaj je proces? Kako je predstavljen v OS-ju, naštej stanja, v katerih je lahko proces( ustvarjen, čaka,…)
Proces je program v izvajanju. Je ustvarjen, teče in nato uničen. Za svoje delovanje potrebuje vire (CPE, pomnilnik, V/I, datoteke, čas, …). Nekatere vire dobi ob nastanku, druge kasneje. Z okolico si lahko izmenjuje podatke. Hkrati lahko obstaja več procesov. Lahko so neodvisni, lahko pa se usklajujejo, komunicirajo. Običajno tekmujejo za omejene vire. Proces sam lahko ustvari nove procese. Program je pasivna entiteta - vsebina neke datoteke. Proces poleg programa zajem a tudi trenutno stanje nekaterih drugih entitet, ki se spreminjajo med izvajanjem programa.
Proces je lahko v:
- Created (ustvarjen)
Proces je ustvarjen
- Ready or waiting (pripravljen)
proces je naložen v delovni pomnilnik. A se ne izvaja na CPU. Čaka na dodelitev cpu - Running (teče)
Proces je naložen v delovni trenutek in se izvaja na CPU - Blocked (čaka)
Proces je blocked, ko čaka na zunanjo spremembo. Npr. disk - Terminated (končan)
Je proces, ki se je končal, a se še vedno nahaja v tabeli procesov. Izbris procesa se zgodi, ko starš prebere kliče sistemski klic wait() in prebere izhodni status
Kaj je spooling, kaj omogoča?
Spooling (Simultaneous Peripheral Operation On Line) je način nalaganja poslov.
Pojavil se je skupaj z magnetnim diskom, ki služi kot vmesnik za hranjenje poslov (buffer) in za začasno hranjenje rezultatov opravljenih poslov.
Potek:
- Če je vhodna naprava pripravljena, procesor prekine s trenutnim delom in prebere vhodni podatek na disk.
- Vsak posel ima svoj prostor na disku.
- Ko je posel na vrsti za obdelavo, procesor vse o njem prebere z diska.
- Izhodne podatke posla procesor izpisuje na disk.
- Ko so pripravljeni rezultati posla in izhodna naprava, procesor prekine s trenutnim delom in rezultate prepiše z diska na izhodno napravo.
Prednosti:
- boljša izkoriščenost procesorja.
Slabosti:
- tak procesor je težko maksimalno izkoristiti,
- ni interaktivnosti,
- uporabnik dolgo čaka (velik obračalni čas).
Dobro za lastnike, slabo za uporabnike.
Spooling omogoča multiprogramiranje, saj je na disku lahko shranjenih več poslov naenkrat, pripravljenih za izvajanje.
Disk nudi hiter dostop do naslednjega posla.
Kaj je problem kritičnih sekcij?
Je poblem zagotovljanja sočasnega izvajanje procesov (katerih vsak ima svojo kritično sekcijo), da bodo izpolnjene naslednje zahteve:
- vzajemno izključevanje proceov (sočasno naj se izvaja le ena kritična sekcija),
- omejeno čakanje procesov,
- omejeni vpliv na izbor naslednjega procesa, ki bo izvajal kritično sekcijo,
- neodvisnost rešitve od števila procesov, ki imajo kritično sekcijo in od tehnoloških značilnosti.
3 načini kako se rešuje: algoritmi, posebni ukazi, semaforji
Kriteriji razvršanja procesov
- Izkoriščenost CPE (CPU utilization)… CPE naj bo čim bolj izkoriščen. V realnosti 40% - 90%
- Propustnost (troughput)… število končanih procesov v nekem času
- Čas obdelave (turnaround time)… čas od nastanka procesa do njegovega konca
- Čakalni čas (waiting time)…
- Odzivni čas (response time)… čas od nastanka procesa do prve izhodne operacije.
- Pravičnost (fairness)… vsak proces naj dobi ustrezen čas CPE
kaj vrne true || true && false || return 42
vrne 42
spremenljivka (znak) ki kaže na uporabniški direktorij (domaci imenik)
~ ali $HOME
Opišite bistvo razvrščanja na procesorju, razvrščanja poslov in menjavanja
- Razvrščanje na procesorju je dejansko urejanje vrstnega reda procesov z različnimi algoritmi(prioriteta,najkrajši nemoteni tek,z zagotovilom, loterija, round robin) (kratkoročno – teče, pripravljen).
- Razvrščanje poslov je uporaba razvrščevalnika za določanje naslednjega procesa (dolgoročno – disk, nov)
- Menjavanje je zamenjava procesa na zunanjem pomnilniku in procesa na glavnem pomnilniku (srednjeročno – disk, pripravljen in obratno).
Razlika med razvrščevalnikom in dodeljevalnikom
- razvrščevalnik izbere naslednji proces, ki dobi CPE,
- dodeljevalnik pa mu dodeli CPE.
Našteje 3 signale v Linuxu, ki jih ni mogoče ignorirati.
SIGILL,SIGABRT,SIGBUS,SIGFPE
napišite ukaz s katerim dodamo uporabnika
useradd