VIDEO
Protsessi kontsept
-OS täidab varieeruvaid programme:
- Batch süsteemid - tööd
- Ajaga jagatud südteemid - kasutaja programmid või ülessanded
-Tekstiraamat kasutab termineid töö ja protsess peaaegu vaheldumisi
-Protsess - Töötav programm, protsessi täide viimine/läbimine/töötamine peab minema järiestikusel viisil
-Protsess hõlmab enda alla:
- Programmi lugeja
- Kuhja
- Info osa
Protsessi olekud:
-Kui programm täidab ülessandeid/töötab, ta vahetab olekut
- Uus: Protsess luuakse
- Jooksev/käiv: Juhised antakse edasi
- Ootav: Protsess ootab mingi sündmuse juhtumist
- Valmis: Protsess ootab määramist protsessorile
- Lõpetatud: Protsess on lõpetanud teostamise
Protsessi juhtplokk (PCB)
Informatsioon ühenduses iga protsessiga
- Protsessi olek
- programmi loendaja
- CPU register
- CPU planeerimise info
- Mälu haldus info
- Kasutus info
- I/O staatuse info
CPU vahetus/lüliti protsessilt protsessile
Protsessi planeerimise järjekorrad:
-Töö järjekord - Kõik protsessid süsteemis
- Valmis järjekord - Kõik protsessid, mis paiknevad põhi mälus ja on valmis teostama ja ootavad seda
- Seadme järjekorrad - Protsessid, mis ootavad I/O seadet
-Protsessi migreerub erinevates järjekordades
Valmis järjekord ja Erinevate I/O seadmete järjekorrad
Protsessi plaanimise esitus
Planeerijad
-Pika ajalised planeerijad: valib, millise protsessi peaks tooma valmis järjekorda
-Lühiajalised planeerijad: Valivad millised protsessid peaksid olema täidetud järgnevalt ja töötab koos CPUga
Lisaks Keskmiseajaga planeerimine
Planeerijad (cont)
-Lühiajalised planeerijad on töötamas väga tihti
-Pikaajalised planeerijad töötavad väga aeglaselt
-Pikaajaline planeerija kontrollib multiprogrameerimise kraadi
-Protsessi võib kirjeldada kui:
- I/Oga seotud protsess - Läheb rohkem aega I/Ole kui komputeerimist, palju lühikseid CPU lööke
- CPUga seotud protsess - Veedab rohkem aega komputeerimisel, väga vähe pikki CPU lööke
Konteksti vahetus/aja
- Kui CPU vahetub teisele protsessile, süsteem peab salvestama vana protsessi oleku ja laadima salvestatud oleku uuele protsessile
-konteksti vahetus aeg on üleliiast, süsteem ei tee mingit kasulikku tööd vahetudes
-Aeg iseseisev riistvara toetusel
Protsessi loomine
-Vanem protsessid teevad laps protsesse, mis omakorda teevad teisi protsesse moodustades protsesside puu
-Ressurside jagamine
- Vanemad ja lapsed jagavad kõiki ressursse
- Lapsed jagavad alamhulka vanemate ressurssidest
- Vanem ja laps ei jaga ressursse
-Teostamine
- Vanem ja laps teostavad vahelduvalt
- Vanem ootab, kuni laps on lõpetanud
Protsessi loomine (cont)
Aadressi ruum
- Laps on vanema duplikaat
- Lapsel on programm laetud selle sisse
UNIXi näiteid
- fork süsteem loob(call creates) uue protsessi
- Exec süsteem kõne kasutatakse pärast forki. et asendada protsess, mälu ruum uue programmiga
Tüüpilises Solaris "tree of processes"
Protsessi lõpetamine
-Protsess täidab oma viimase ülessande ja küsib OSilt enda kustutamiseks luba (väljub)
- Väljund info lapselt vanemale
- protsessi ressursid on paigutamata OSi poolt
Vanem võib katkestada lapse protsessi täitmise (katkestamine)
- Laps on läbinud paigutatud ressursid
- Ülessanne määratud lapsele pole enam vajalik
- Kui vanem väljub
- Mõned OSid lõpetavad kõikide laste tööd ja ka lapsed
Koostöötavad protsessid
- Iseseisev protsess ei saa mõjutada või olla mõjutatud teise protsessi töötamisest
- Koostöötav protsess saab mõjutada või olla mõjutatud teiste protsesside töötamisest
- Protsessi koostöötamise eelised
- Informatsiooni jagamine
- Arvutamine kiirendatud
- Modulaarsus
- mugavus
Muu protsessi kommunikeerumine (IPC)
-Mehhanism protsessile, et suhelda ja sünkroniseerida oma tegevusi
-Sõnumite süsteem - Protsess suhtleb teineteisega ilma abi otsimiseta jagatud variatsioonidest
-IPC seade tagab kaks operatsiooni:
- Saatmine (sõnum)
- Vastuvõtmine(sõnum
-Kui P ja Q tahavad suhelda, vajavad nad:
- Paigaldada suhtluslingi nende vahel
- vahetada sõnumeid saatmise/vastuvõtmise abil
-Suhtlus linkide teostumine
- Füüsiline(jagatud mälu, riistvara buss)
- Loogiline(loogilised omadused)
Suhtlus mudelid
Kaudne suhtlus
-Sõnumid on juhitud ja kättesaadavad mailboxidest
- Igal mailiboxil unikaalne ID
- Protsessid saavad suhelda ainult siis kui nad jagavad mailiboxi
-Suhtlus linkide omadused
- Link avaldatakse ainult siis kui protsess jagab sama mailboxi
- Link võib olla ühenduses paljude protsessidega
- Iga protsessi paar võib jagada mitut suhtlus linki
- link võib olla "undirectional" või "bi-directional"
Otsene suhtlus
Protsess peab nimetama igaühe hetketa
- saatmine(P) - sõnumi saatmine protsessile P
- Vastuvõtmine (Q) - Võta vastu sõnum protsessilt Q
Suhtlus linkide omadused
- Lingid avaldatakse automaatselt
- Link on ühendatud ainult ühe paari suhtlus protsessiga
- Iga paari vahel eksisteerib ainult 1 link
- Link võib olla "undirectional", aga on tavaliselt "bi-directional"