Procesi Flashcards
Kaj zahtevamo od OS glede procesov?
- Ustvarja procese
- Prepleta izvajanje procesov
- Maksimizira izrabo / minimizira odzivni čas
- Zasega vire na zahtevo procesov
- Zagotovi podporo za medprocesno komunikacijo. (da ne pride do bedarij)
Kaj je proces?
Proces je izvajanje individualnega programa (je izvajajujoči se program). Za vsak program, ki ga želimo izvršiti, se ustvari proces.
Proces je predstavljen s podatkovno strukturo v pomnilniku.
Kateri so glavni trije gradniki procesne podatkovne strukture
- Koda (program)
- Vhodni podatki
- PCB process control block (nadzorni blok procesa)
nariši enostaven procesni model dveh stanj in naštej njegova stanja
2 Stanji: Izvajanje in čakanje
Razlogi za zaključek procesa
- Uporabnik se odjavi
- Izhod iz aplikacije
- Napaka pri izvrševanju
- Zaključek starševskega procesa
- Prekoračitev časovnega okvirja
Problem procesnega modela dveh stanj
Proces čaka, saj je blokiran zaradi čakanja V/I naprav. Nemoremo vedno izbrati procesa, ki je prvi v vrsti, saj mogoče ni pripravljen na izvajanje.
Nariši procesni model petih stanj in naštej njevgova stanja
- Nov (new)
- pripravljen
- Izvajanje
- Blokiran
- Izhod
Problem Procesnega modela petih stanj
-Ker je procesor veliko hitrejši od V/I in če bi vsi procesi čakali na njih bi nam hitro
zmanjkalo pomnilnika (še posebej če nimamo navideznega)
Nariši procesni model sedmih stanj in naštej njegova stanja
-Nov
-Blokiran
-Pripravljen
- Izvajanje
-Blokiran ustavljen
-Pripravljen ustavljen
-Izhod
Kaj vsebuje Naslovni blok procesa (PCB)?
- Oznake procesa (ID)
- Informacije o stanju procesorja
- vidni registri (programski dostopni registri)
- nadzorni in statusni registri (PC, CC PSW)
- sistemski skladovni kazalec (LIFO) - informacije za nadzor procesa
- informacije za razporejanje
- strukturiranje podatkov / povezanost procesov (glede na njihovo stanje in prioriteto)
-medprocesna komunkacija
-privilegiji procesa
-upravljanje s pomnilnikom
-lastništvo in koriščenost virov
Kako ustvarimo proces?
a. Ustvarimo identifikator
b. Postavimo proces v ustrezno vrsto
c. Vzdržuj potrebe podatkovne strukture
Kdaj preklopimo med procesi?
a. Če pride do prekinitve
b. Past (recimo nima pravice do datoteke)
c. Nadzorni klic (System call?) za npr. odpiranje datoteke
Kdaj preklopimo med procesi?
a. Če pride do prekinitve
b. Past (recimo nima pravice do datoteke)
c. Nadzorni klic (System call?) za npr. odpiranje datoteke
Kaj se zgodi ob preklopu procesa
Context switch - je proces shranjevanja procesa ali niti, za nadaljno uporabo. To je način, da si lahko več procesov deli eno jedro.
Naštej osnovne funkcionalnosti mikrojedra
Preverjanje
Predajanje sporočil
Komunkacija s strojno opremo
Kako poteka Upravljanje pomnilnika na mikrojedru
Aplikacija pošlje zahtevo (page fault), da dobi paket nazaj zahtevane strani. Mikrojedro ve kam more naprej poslati zahtevo (to je njegovo delo) in to pošlje v pager. Pager komunicira s shemo navideznega pomnilnika.
Kakšne so prednosti mikrojedrne organiziranosti OS
Prednosti mikrojedrne organiziranosti OS so:
1) API - programski vmesnik
2) Razširljivost – omogoča dodajanje novih storitev
3) Fleksibilnost – odstrani nepotrebne funkcionalnosti, doda potrebne
4) Prenosljivost
5) Prilagoditev mikrojedra ter njegovih 3 glavnih funkcionalostih
6) Zanesljivost
7) Podpora porazdeljenemu sistemu
8) Objektno usmerjen OS
Kakšna je organizacija procesov v Windowsih?
Proces je zagotovo objekt
Available objekti
Access Token
- OS dodeli token (kakšne imamo pravice), ta token se predaja med vsemi procesi
Object Table
- Je zbirnik kazalcev, ki kaže na procese, ki jih pozna
Kaj je to nit?
Nit je najmanjša enota izvajanja, en proces ima več niti, razporejamo v bistvu niti na procesor. Vire si pa lastijo posamezni procesi, namreč niti si same po sebi ne lastijo virov, vendar dostopajo do virov v procesu, kjer se nahajajo.
Kaj so prednosti niti?
-Hitrost ustvarjanja niti (čas ustvarjanja niti je 70x hitrejši od ustvarjanja procesa)
-Hitrost zaključevanja niti
-Preklopen čas
- (context switch vsebuje veliko časovno potratnih korakov)
- (Le delček navezovanja na nit se zamenja, večina procesa pa ostane – zato je hitrejši)
- Deljenje virov medsebojna komunikacija
Kako se imenuje izračun učinkovitosti multinitne aplikacije v večjedernem sistemu?
Napiši formulo
Amdahlov zakon : 1 / ((1 - f) + f / n)
where N -> Number of parallel porcesors
and f -> speedup
Kaj je vzajemno izključevanje?
kadar je en proces v kritični sekciji izvajanja, ki dostopa do deljenih virov. In v kritični sekciji je lahko samo 1 proces
Kaj je to kritično območje?
sekcija kode znotraj procesa, ki potrebuje dostop do deljenega naslovnega prostora, ki ne sme biti dostopana, med tem ko nek drug proces dostopa do tega dela kode.
Če je nek proces v kritičnem območju se morajo vsi drugi procesi tukaj ustaviti in počakat, da ta proces pride iz kritičnega območja
Kako zagotovimo vzajemno izključevanje
- Algoritmi v naših programih (Petersonov)
- Algoritmi v programskih jezikih (compilerjih)
- Omogočanje prekinitve
- Neprekinljivi strojni ukazi (compare in swap / exchange)
Kaj je to smrtni objem?
Je situacija v kateri dva ali več procesa ne moreta nadaljevati, ker čakata, da se eden izmed njiju konča.
Katere lastnosti za zagotavljanje sočasnosti mora imeti sistem, da lahko pride do smrtnega objema
Prve tri so pogoji za potencialni smrtni objem. Vsi štirje skupaj so zahteve za dejanski smrtni objem.
- Vzajemno izključevanje
- Drži in čakaj
- Brez sprostitve
- Ciklično čakanje