Osio 3: Prosessit, siirräntä ja tiedostojärjestelmä

Samankaltaiset tiedostot
u vapaakäyntisyys (reentrancy) u Yhteinen koodialue u kullakin oma data-alue, pino, PCB u osoitteet suhteellisia prosessin alun suhteen

Luento 3: PROSESSIT JA NIIDEN HALLINTA

Prosessi virtuaalimuistissa PROSESSIT JA NIIDEN HALLINTA. Sisältöä. Prosessi virtuaalimuistissa. Prosessi. Prosessi. Käyttöjärjestelmät, Luento 4

PROSESSIT JA NIIDEN HALLINTA

Sisältöä PROSESSIT JA NIIDEN HALLINTA. Prosessi. Prosessi virtuaalimuistissa. Prosessi. Prosessi virtuaalimuistissa. Käyttöjärjestelmät

Stallings, Luku 4.1. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1. KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-1

Käyttöjärjestelmät II

Prosessi perinteisesti

Stallings, Luku 4.1. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

ltö Luento 6: VIRTUAALIMUISTI Luento 7: Segmentointi Segmentointi ja sivutus yhdistettynä Yhteiskäytöstä Suoritus virtuaalimuistissa

Yleiskuva. Käyttöjärjestelmät II. Tietokonejärjestelm. rjestelmä. KJ ja laitteistopiirteet. KJ ja laitteistopiirteitä.

Käyttöjärjestelmät II

Luento 6: VIRTUAALIMUISTI

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Osio 2: Luennot 4-7 Muistinhallinta

Luento 7: VIRTUAALIMUISTIN SIVUTUS JA SEGMENTOINTI

Kuva 8.7. u Muunnos prosessin sivunumerosta sivutilanumeroksi u Kussakin alkiossa: u Katenoimalla. u MMU:ssa; juuri äsken käytettyjä muunnoksia

Käyttöjärjestelmät: prosessit

Osio 2: Luennot 5-8 Muistinhallinta

Stallings, Luku 8.1. KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 8-1

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

VIRTUAALIMUISTI. Stallings, Luku 8.1

Sisältö VIRTUAALIMUISTI. Stallings, Luku 8.1. Suoritus virtuaalimuistissa. Suoritus virtuaalimuistissa. Puutoskeskeytys. Suoritus virtuaalimuistissa

u saantimenetelmät u kirjanpito vapaista lohkoista (taltiolla!) u hierarkkinen hakemistorakenne: kirjanpito tdstoista u tdstojen käyttö

ltöä (Luennot 5&6) Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Pikakertaus: : a) b) c) Dyn.. part.: sijoitus Kuva Buddy System: esimerkki

VIRTUAALIMUISTI. Stallings, Luku 8.1

Sisältö VIRTUAALIMUISTI. Stallings, Luku 8.1. Suoritus virtuaalimuistissa. Suoritus virtuaalimuistissa. Puutoskeskeytys. Suoritus virtuaalimuistissa

Osio 2: Luennot 4-7 Muistinhallinta YKSINKERTAINEN MUISTINHALLINTA. ltöä YLEISTÄ MUISTINHALLINNASTA. Looginen muisti.

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Käyttöjärjestelmän rakenne

Osio 3: Siirräntä ja tiedostojärjestelmä

NTÄ. Luento 8: SIIRRÄNT. Osio 3: Siirräntä ja tiedostojärjestelmä. ltö. Yleistä siirrännästä. Siirtonopeuksia (teoreettisia) Kuva 11.1.

Stallings, Luku

RJESTELMÄ OSA 2 Stallings, Luku PALVELUPYYNNÖT. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

Stallings, Luku 8.1. KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 7-1

4. Luento: Prosessit ja säikeets. Tommi Mikkonen,

MUISTINHALLINTA. Stallings, Luku 7

Sisältöä SÄIKEET, SMP

RJESTELMÄ Stallings, Luku KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

u saantimenetelmät Kenttä (field) u bittien / tavujen muodostama looginen kokonaisuus u yksi arvo, jolla tyyppi ja pituus Tietue (record)

Jakso 8 Ohjelman toteutus järjestelmässä

Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

Stallings, Luku 7. KJ-I I S2004 / Tiina Niklander; kalvot Auvo Häkkinen 6-1

Tervetuloa! (2 ov,, 4 op) KJ on tärkein tietokoneessa pörräävistä ohjelmista

Sisältöä MUISTINHALLINTA. Stallings, Luku 7. Fyysinen muisti YLEISTÄ MUISTINHALLINNASTA. Looginen muisti. Prosessin rakenne

Jakso 8 Ohjelman toteutus järjestelmässä

ltöä rjestelmä Luento 2: LAITTEISTOSTA Tietokonejärjestelm KESKUSYKSIKKÖ Keskusyksikkö Kuva 1.1 KJ-I S2005 / Tiina Niklander & Auvo Häkkinen 2-1

SÄIKEET, SMP. Sisältöä. Stallings, Luku 4. Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä

Sisältöä SÄIKEET, SMP

u Tietokone ilman käyttöjärjestelmää on kuin

Luento 8 Ohjelman toteutus järjestelmässä

Luento 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

Stallings, Lukua 2. KJ-I S2004 / Tiina Niklander, kalvot: Auvo Häkkinen 3-2. KJ-I I S2004 / Tiina Niklander, kalvot: Auvo Häkkinen 3-1

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

IT K 1 45 K ä yt t öj ä rj estelmät

Luento 2: LAITTEISTOSTA

Arto Salminen,

Käyttöjärjestelmät, 8 op

Kurssin asema Käyttöjärjestelmät, 8 op. Siirtymävaiheen vastaavuudet. Kurssin tavoite. Kurssikirja. Kurssin rakenne:

Käyttöjärjestelmät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

Keskeiset KJ:n osa-alueet

Keskeiset KJ:n osa-alueet. Keskeiset KJ:n osa-alueet. 1) Prosessi. 2) Muistinhallinta. Käyttöjärjestelmän rakenne. Eräs toteutus

Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä. Jakso 8 Ohjelman suoritus järjestelmässä. Prosessin elinkaari (9)

Käyttöjärjestelmän rajapinnat

Käyttöjärjestelmän rajapinnat. Siirräntä: Laiteajurit ja keskeytys. I/O-ohjain. I/O-ohjain. Siirtomenetelmät. Käyttöjärjestelmän rakenne

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Prosessi (4) Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4) Prosessin elinkaari (9)

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät

Käyttöjärjestelmät: poissulkeminen ja synkronointi

KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen Stallings, Luku

Stallings, Luku 1. KJ-I S2043 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-2. KJ-I S2003 / Auvo Häkkinen 2-1

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Tietokoneen toiminta, K Tavoitteet (4)

Käyttöjärjestelmät, 8 op

Käyttöjärjestelmät TIEDOSTOJÄRJESTELMÄ. Stallings, Luku KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 8-1

Kurssin asema Käyttöjärjestelmät, 8 op. Kurssikirja. Kurssin tavoite. Kurssin rakenne: Kurssin suorittaminen. Käyttöjärjestelmät - Luento 1

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Prosessi (4) Luento 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4)

Luento 8 Ohjelman toteutus järjestelmässä

Stallings, Luku I/O-laitteiden luokittelua, siirtonopeuksia Siirrännän perustekniikat Siirrännän kehittyminen

TIEDOSTOJÄRJESTELMÄ. Sisältöä. Stallings, Luku Peruskäsitteistöä, tehtäviä ja tavoitteita Järjestelmän rakenne Tiedostojen organisointi

YLEISTÄ KÄYTTÖJÄRJESTELMÄSTÄ

Sisältöä TIEDOSTOJÄRJESTELMÄ. Perustermit. Peruskäsitteistöä. Perustermit. KJ:n tiedostojärjestelmä. Käyttöjärjestelmät, Luento 16

Sisältö SIIRRÄNTÄ. I/O-laitteiden luokittelua. Yleistä siirrännästä. Siirrännän perustekniikat. Siirtonopeuksia (teoreettisia) Kuva 11.

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus.

2 Konekieli, aliohjelmat, keskeytykset

Sisältöä TIEDOSTOJÄRJESTELMÄ. Perustermit. Peruskäsitteistöä. Perustermit. KJ:n tiedostojärjestelmä. Käyttöjärjestelmät

TIEDOSTOJÄRJESTELMÄ. Sisältöä. Stallings, Luku Peruskäsitteistöä, tehtäviä ja tavoitteita Järjestelmän rakenne Tiedostojen organisointi

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti. Ohjelman muistiosoitteet (3) Virtuaalimuisti (3) Virtuaalimuistin toteutus (2)

Käyttöjärjestelmät: Virtuaalimuisti

Suoritin. Jakso 5 Suoritin ja väylä. TTK-91 muistin rakenne. TTK-91 suorittimen rakenne

Luento 5 (verkkoluento 5) Suoritin ja väylä

KJ-I I S2004 / Auvo Häkkinen & Tiina Niklander 4-1. Stallings, Lukua 2

Transkriptio:

Käyttöjärjestelmät I Osio 3: Prosessit, siirräntä ja tiedostojärjestelmä Tiina Niklander, kalvot Auvo Häkkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto! " $#&%' (%+*,- $*./ 0 Stallings, Luku 3.1-3.3 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 3-2 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-1

0,!. #! ""#$ %#&"# '( * $ #&#$ #& +#$ '( *% +# #$,+ #$ KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-3! " $#&%' (%+*,- $*./ 0 -/.10 23 / 0 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-4 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-2

-- (,!*,-, $ #& +# #$ %! ", % +# + koodi, data, pino, prosessin kuvaaja PCB voi koostua useasta säikeestä +# # +# #$!# %,! ", vapaakäyntisyys (reentrancy Yhteinen koodialue kullakin oma data-alue, pino, PCB, "", +# #$ ", #$ ", #! ", #& " # KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-5 -- (,!*,-, 3 (. //,-,-, "!$#&%(' KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-6 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-3

-- (,!*,-, 3 (. //,-,-, ' # # #& " +##$ +#& osoitteet suhteellisia prosessin alun suhteen MMU tekee osoitemuunnoksen ajoaikana prosessin alueiden ei tarvitse sijaita fyysisesti peräkkäin muistissa tai olla jatkuvasti muistissa MMU ja KJ huolehtivat alueiden muistissaolosta prosessit voivat käyttää myös yhteisiä muistialueita "# # # *! base ja limit (fyys. alkuosoite ja pituus tai sivutaulu (missä sivutiloissa sivut sijaitsevat tai segmenttitaulu (alkuosoitteet ja pituudet KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-7 -- (,!*,-, ' # % +#$# #& # #&,# #& # %# #&" Aliohjelman/systeemikutsun parametrinvälitys! "" ""+ # #$# tunnistus vuorottajan tarvitsemaa tietoa mm. prosessorin tila (tallealue rekistereille tietoja varatusta muistista tietoja avatuista tdstoista ym. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-8 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-4

-,-, +# #$, pid = process identification,+ #$ %#&# käyttäjän ja ryhmän tunniste uid = user id, gid = group id yleensä sama kuin prosessin käynnistäjällä saatu kun käyttäjä ottaa istunnon koneeseen,, %#&+ #$ mikä prosessi loi tämän prosessin kopioitu mammaprosessin kuvaajasta KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-9 -... *.$* (( *,- $* ( **.... ** ' # * ' # +# #$ " " #$, #& laitteisto tallettaa PC:n ja PSW:n pinoon käsittelijä tallettaa käyttämänsä rekisterit pinoon kun keskeytys käsitelty, palautetaan takaisin CPU:hun!#$ * #$ + "" "" keskeytyskäsittelyn lopuksi vuorottajaan vuorottaja tallettaa rekistereiden arvot PCB:hen prosessin tila saattaa vaihtua päivitettävä myös aika- ja viitelaskureita KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-10 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-5

- ( "/ * %#&" Running, Ready, Blocked... +#&# #& oletus, maksimi, minimi määrää sijainnin jonoissa suuri prioriteetti saa useammin CPU-aikaa voi vaihdella dynaamisesti " +#$ paljonko käyttänyt aikaa CPU:ssa, odotuksessa voi vaikuttaa prioriteettiin +# #$!#&, #&#$ KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-11 - //,-... + #& " " +#$ +#& Base ja Limit #$, # #&+#$ " +# taulu erillisellä muistialueella prosessin vaihdossa alkuosoite MMU:hun!#& + # # sama sivu / segmentti esiintyy eri prosessien muistivaraustauluissa käyttöoikeudet: esim. R / W / RW KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-12 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-6

- *,- &%' (%'*,- *./ #$ #$ " " #& alkio per avattu tdsto pääsy muihin tdstoon liittyviin rakenteisiin kaikille yhteistä tietoa! missä tdstoon kuuluvat lohkot käyttöoikeudet tdstolukot kullakin oma luku/kirjoituspositio!,+ #$ ", suhteellisen tdstonimen käyttö #$ %# #$ "# # # # KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-13 - // +# #$ +#,! ks. kuva 3.13 jonossa edeltävä ja seuraava viite mammaprosessin kuvaajaan... ",, #&, lipukkeita, semaforeja käsittelyä odottavat signaalit yhteiskäytössä oleva muisti KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-14 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-7

0! " $#&%' (%+*,- $*./ 0 -/.10 23 / 0 0 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-15 (,!*,-,... "" +# # "" "" vältä lukkiutuminen (deadlock ja nälkiintyminen (starvation +#&#&!# "", "" "" #$ "" takaa kelpo vasteaika maksimoi CPU:n käyttö "" # #,! ", + # palvelupyyntö +,+#,, #& IPC, inter process communication palvelupyynnöt yhteiskäyttöisen muistin allokointi KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-16 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-8

K K K K -- (,!*,-,,, - +# #$ #& "" + #$# parametrit pinoon ja palvelupyyntökeskeytys #,+#$ '( * " " "!$#%"!&"'( " " esim. tulostus kirjoittimelle * taustaprosessi palvelija keskustelee asiakkaiden kanssa + yksi prosessi per yhteys, '-".0/1#%243" """".0/1 25#%"!!3 ", 61%7 28 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-17 9;:=<?>A@?>>CBED F GA<HD IJB L 3 MON.P KJ valitsee yksikäsitteisen prosessinumero n Q "54!&'324R "S#2T koodi, data, pino koko: oletusarvot / annetut arvot alusta yhteiskäytön rakenteet U!3 MON.PV- nollaa kenttiä, aseta alkuarvoja, kopioi mammalta tila=ready (tai Ready-Suspended ei avoimia tiedostoja, ei varattuja resursseja... tai perii mammalta L 2 3W#% "0/1'3X6 " O"2 viite mammaprosessiin, liitä Ready-jonoon KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-18 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-9

K K K K B F F <HB D C:=<?>A@?>>CBED HB IV< Q " 1 " /1"! O ei kuitenkaan aina! J3N.M 1WV3"2 "'5 " " O-2 Palvelupyyntö + prosessi pyytää esim. siirräntää, jonka seurauksena joutuu odottamaan Poikkeus + prosessin suorituksessa virhe + prosessi joutuu exit-tilaan ja tapetaan Keskeytys + prosessin aikaviipale täynnä K Q 3O640/1 #%"!&2 tav. Round-Robin periaate KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-19 < @ > B4I B F D HB IV< < @ > B4I. 1 laitetoimintona etuoikeutettuun tilaan sitten suorittamaan KJ:tä N.M H3"( " "2 1"!!&!!& paljonko kello on? I/O valmis: siirrä I/O:ta odottanut Ready-jonoon, jatka keskeytynyttä prosessien välinen kommunikointi: herätä tapahtumaa odottanut Ready-jonoon, jatka keskeytynyttä KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-20 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-10

K K K < @ > B4I B F D HB IV< < @ > B4I K. " &6O 2"6"2" "S#25 "!&!& " '324 PC ja PSW aina laitetoimintona pinoon keskeytyskäsittelijä tallettaa pinoon vain ne, joita käyttää koodissaan MON.PV-X"5"5 "S#2 vähän yleisrasitetta MO "!33- "&""6" 2"2J5 " "25N.M J-X3 K Q 3O640/1 " 0/1( "S#% #% "X& KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-21 GA< :=<?I I K Q "!25"36#% " 3"2#% " /1 "N.M J-(!!& edellinen Blocked-tilaan aikaviipale täyttyi K MO #% "X N.M C3"2 " #3"0/1O Ẅ /1 N.M "! " 5O3"!246"!&!2 aikaviipaleet tarvittaessa KJ nostaa / laskee prosessin prioriteettia # käyttänyt paljon CPU:ta $ prioriteetti laskee # odotellut paljon I/O:ta $ prioriteetti nousee # KJ:n prosesseilla suurin prioriteetti KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-22 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-11

K K K H 9;:=<?>A@?>>CBED HB IV< K " 2"& "S#%J N.M J- MON.PV-&X" K MO"$#%2 " "!& 3"2 ' MO"$#%26(!&R PV!& ", 2 2T L 254!& "'3 "2" /1"O Q "!25"36#%63"2#%O Ready-jonon ensimmäinen Ready Running ei-virtuaalimuistia: aseta Base ja Limit virtuaalimuisti: nollaa TLB:n validibitit, aseta PTR! #"$ %& " #" %' "( +*,-/.01/23 ( KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-23 4651798;:98!8=<=>9?@?9ABAC!C D@E@F@G H I,--"-J % %&I-"K %&L!MON N L L KJ:n tarjoama palvelu, palvelupyyntö esim. TITO-kurssilla SVC SP,=HALT P%I3-"-% ( (-"!$-,, ' %& - % %&I" %&,-J poikkeukset parempi lopettaa kuin nilkuttaa virhetuloksia Q %R 2 S0L N ILUTVL!, M-"-I!%& (, ( - S0L N ILUTVL!, M-"-I -, *" $ -" ( Q #L-VNW!, M M KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-24 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-12

H 4651798;:98!8=<=>9?@?9ABAC!C D@E@F@G H S ( %%( M-L L-L L puutteelliset oikeudet esim. tiedoston käyttöön huomattuaan lukkiutumisen odotukseen liitetty ajastin laukeaa R R M I,--"-J % M N N L L! M %M #,--"-J %( M L L-IVN R %& L R R M I,--"-J % M-L L-IVN N saattaa myös lapsiprosessi päättyä $ - $ $-, TV KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-25?C;ABA?? 5 :98!A :?9A 4 "! KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-26 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-13

4651798;:98!8=< GG A/< E E < < 77 A/< Kuva 3.5 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-27 4651798;:98!8=< GG A/< AA B" ' N prosessi voisi edetä, jos saisi CPU:n käyttöönsä odottaa Ready-jonossa esim. prioriteetin mukaan ( ( %( prosessi käyttää parhaillaan prosessoria yksi prosessi per prosessori, $ " ' prosessi odottaa tapahtuman valmistumista (esim I/O, synkronointi, ajastus kullakin laitteella / tapahtumalla oma jono KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-28 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-14

4651798;:98!8=< 77 GG 79A Kuva 3.7 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-29 4651798;:98!8=< GG A/< AA 0" KJ luonut lapsiprosessin, prosessille annettu tunniste prosessille luotu hallinnolliset tietorakenteet mutta ei kelpuuta sitä vielä suoritettavaksi esim. vapaata muistia ei riittävästi liian suuri moniajoaste, liikaa heittovaihtoa... Q %& suoritus päättynyt, ei kelpaa enää suoritettavaksi mutta saattohoito tekemättä hallinnolliset rakenteet (lähinnä PCB olemassa muita sovelluksia varten esim: laskutus, tilastot KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-30 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-15

4651798;:98!8=< GG A/< 8=< < < 5 AC?9A 0" B" ' N resursseja riittävästi käytettävänä esim. prosessorin käyttöaste laskenut alle sopivan rajan muistissa riittävästi vapaata tilaa B" ' N ( ( %( vuorottaja valitsee suoritukseen Ready-jonon ensimmäisen prosessin ( ( %( B" ' N prosessin aikaviipale täynnä suuremman prioriteetin prosessi Ready-tilassa KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-31 4651798;:98!8=< GG A/< 8=< < < 5 AC?9A ( ( %(, $ " ' prosessi pyytää KJ:ltä palvelua, jonka valmistumista joutuu odottamaan tarvittava resurssi varattu odottaa siirrännän valmistumista odottaa toisen prosessin etenemistä sopivaan vaiheeseen (prosessin välinen kommunikointi sivunpuutoskeskeytys, $ " ' B" ' N prosessin odotus päättyy tarvittu resurssi vapautui siirräntä valmistui toinen prosessi saavutti synkronointikohdan KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-32 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-16

4651798;:98!8=< GG A/< 8=< < < 5 AC?9A ( ( %( Q %& prosessin suoritus päättyy normaali / virhetilanne KJ vapauttaa resurssit PCB:tä lukuunottamatta odotettava, että joku toinen prosessi kokoaa kirjanpidolliset tiedot PCB:stä %$-L 3-( -% Q %& KJ tai omistaja voi tappaa mammaprosessi päättyy Q %& kun saattohoito tehty, KJ vapauttaa PCB:n KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-33 :: <ABA 77 < A 77 (swapping I,--"-J %, ',-I -%%I #, ( * R % R %& I!$ -( paljon prosesseja Blocked-tilassa KJ voi ottaa suoritettavaksi lisää prosesseja riittääkö muistia?! #"$ %&'' ( ( %* + -,./"+01 liian suuri moniajoaste aiheuttaa ruuhkautumista 2 3546,.'' 7 89:,.'%'/"$'! ; ( ennaltanouto / tarvenouto <=0$>?"$%&?01@/0$A + '#"$ %B"$@/"$@ KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-34 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-17

- /"$@A '! ( /"1 4 ( A A Blocked-prosessi heittovaihdettu muistista levylle A/0 A Ready-prosessi heittovaihdettu muistista levylle Blocked ~ estynyt Suspend ~ erotettu määräajaksi, hyllytetty, lykätty toistaiseksi Monissa kirjoissa tilan nimenä kuvaavampi Swapped Out KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-35! " $#%'&(' *,+ " $#( - Kuva 3.8 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-36 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-18

( " $# $ 5 A/0 A KJ ottanut prosessin suoritettavaksi (=PCB luotu, mutta muistissa ei vielä tilaa uudelle prosessille 4 ( A 4 ( A A KJ tarvitsee lisätilaa Ready-prosesseille KJ tarvitsee tilaa uusille prosesseille 4 ( A A A/0 A Tapahtuman odotus päättyy, prosessi voisi jatkaa 4 ( A A 4 ( A Muistissa taas tilaa, odotettavissa että odotus päättyy Suuri prioriteetti KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-37 ( " $# $ A/0 A/0 A A/0 A KJ haluaa lisää muistitilaa, eikä yhtään Blocked-prosessia heittovaihdettavaksi A/0 A A/0 CPU:n käyttöaste laskenut riittävän alas ei prosesseja Ready-jonossa muistissa jälleen reilusti tilaa (ennakointi Yl. siirtymän Blocked --> Blocked Suspend seurausta Huomautus: Suspend-tilat eivät välttämättömiä, jos virtuaalimuisti (MMU huomaa puutoksen KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-38 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-19

' # KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-39!! ' " ' &! Kuva 3.10 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-40 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-20

!! ' " ' &! 2 % + tietoa kaikista järjestelmän prosesseista kullekin oma alkio = prosessin kuvaaja 2 354 alkiot linkitetty Ready ja Blocked-jonoihin KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-41! Kuva 3.13 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-42 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-21

!! ' " ' &! < "$%* missä vapaata / varattua muistitilaa esim. yksi globaali sivutilataulu mitkä alueet kuuluvat millekin prosessille prosessikohtaiset sivutaulut PCB:ssä esim. sivutaulun fyysinen osoite kenellä käyttöoikeuksia muistialueisiin yhteiskäyttö joskus sallittua virtuaalimuistin ja heittovaihdon toteutus heittovaihtoalue levyllä sivutaulun alkioissa läsnäolobitit KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-43!! ' " ' &! A ( "$-,. /"01%& kirjanpito vapaista / varatuista levylohkoista pysyvä kirjanpito levyllä, KJ tuo muistiin käsittelyä varten hakemistoalkio per tdsto (myös hsto on tdsto! mitkä lohkot kuuluvat tdstoon muut tdston attribuutit (mm. omistaja, käyttöoikeudet kirjanpito avatuista tiedostoista prosessikohtaista PCB:ssä + yhteistä tietoa käyttöoikeuksien tarkistaminen luku / kirjoituspositio yhteiskäyttö: poissulkeminen / synkronointi KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-44 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-22

!! ' " ' &! ( "$-,. laitteiden käytössä tarvittavaa tietoa laitteen tunnistus, device id kenelle laite varattu laitteen tila mitä ajuria käyttää mitä ajurin funktiota kutsuttava missäkin tilanteessa open(, read(, write(, close( odottavat pyynnöt parametreineen laite palvelee yhtä kerrallaan 5 ( /0/.0/ ; ( '-, % % ( 2 354 -, %!4 ( A,. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-45!! ' " ' &! :,.?"$%* %* %& 8%* ( KJ allokoi tilaa / vapauttaa tilaa niiden perusteella yhteiskäytössä tarvittavaa tietoa! " #$! " %&('* " *! %#+,'! mitä varattu juuri tälle prosessille PCB:stä helppo pääsy globaaleihin tietorakenteisiin -.%%* /0/#*!*21!13 4! "56,'7 8 /# // 9 8 :.;=<! "5 > /&? /&@A8& 8@ KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-46 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-23

"! #%$ &'&(% +* &( KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-47 -,./102 3 02 13 4 14-5 5 9:.76 < # 8! " %5 %+13% % /! " -.5 1 "5,'5 8/&! 98 8# %#!8 8#!! 98&/&! - 5 <9 % 5 "/& 5 13@! "&5;: "=</# " > melkein kaikki käyttävät PCB:tä? % - 5 14 * A@ KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-48 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-24

". /0.. 3 00 3 3 KJ:n osat eivät jonota! #"$ %&'%( * ( "+,+,-! #". / (. %.( 0 oikeus tehdä kaikkia KJ:n toimintoja kaikissa osissa 1 23%. *3! KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-49 44 " 55 7/ 00,, 55 102!.2 6 3%( ( kaikkien prosessien osoiteavaruudessa ( 7! #" ( hallittu siirtyminen keskeytyksellä, etuoikeutettu tila ' - 3- &,( 8 8( % 9 1 ((+ %.-%. 3! KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-50 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-25

55 7/ 00,, 55 102 1! #"+ + &2 %( ( 3 -, (& ( 7! #"+, %(( %& 3- +! #"+ 7! #". & 2. - 9%- 6 suoritukseen vuorottajan kautta KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-51! "! #"- ( $ 3- odottavat Blocked/Ready-jonossa kullakin oma osoiteavaruus tarvittaessa etuoikeutetussa tilassa, erilaisia oikeuksia # ( %- (-( $/ %. "- 6% (.%. % palvelupyyntö: lähetä / vastaanota sanoma sopii myös moniprosessori / hajautettuihin järjestelmiin %. & --(! % = mikrokernel KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-52 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-26

3. ; 00 4 " ##!*!+13!71!1 @ 4 //& - 5 @! "9# "" *!!& @ 4 " 4 : @ ' *! +@!" "!"=@;4 "513@!"!"5 /&/&5=@ 4 "598& 8,'*!%#+,' @ 4 //& "98& ",' %5 1 " "55 =@ 4 %! 8&/&% 3& A8/&. ' @ 4 //&*! ; /& % :9 " #!* =:98/&=@ 4 //&*! * 55 * 9 8&/&! " @ 4 " #=:=<?A " @ 4 "5 *#!!8& "%!"" - 5 13/&/&5* "55 @ KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-53 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 9-27