esmaspäev, 23. veebruar 2015

Video kokkuvõte 3: Protsessid

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"

Kommentaare ei ole:

Postita kommentaar