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

Samankaltaiset tiedostot
Prosessi perinteisesti

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

Sisältöä SÄIKEET, SMP

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

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

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

Processes and threads

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

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

Käyttöjärjestelmät II

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

Käyttöjärjestelmät II

PROSESSIT JA NIIDEN HALLINTA

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

Käyttöjärjestelmät: prosessit

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

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

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

Luento 6: VIRTUAALIMUISTI

Arto Salminen,

KJ:N KEHITTYMINEN JA YLLÄPITO

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

KJ:N KEHITTYMINEN JA YLLÄPITO

Osio 2: Luennot 4-7 Muistinhallinta

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

Jakso 8 Ohjelman toteutus järjestelmässä

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

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

Käyttöjärjestelmän rakenne

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

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

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

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

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

Osio 2: Luennot 5-8 Muistinhallinta

Luento 2: LAITTEISTOSTA

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

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

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

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

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

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

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

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

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

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

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

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Tietokoneen toiminta, K Tavoitteet (4)

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

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

Prosessit ja säikeet SMP, Mikroytimet W2K säikeet

KJ-II K2006 / Auvo Häkkinen - Teemu Kerola

Käyttöjärjestelmät II. SMP, Mikroytimet. Prosessit yleensä. UNIX prosessit. UNIX SVR4 Prosessit. UNIX prosessin kuvaaja

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

2 Konekieli, aliohjelmat, keskeytykset

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

Luento 8 Ohjelman toteutus järjestelmässä

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

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

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

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

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

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

Jakso 5 Suoritin ja väylä. Suorittimen rakenne Väylän rakenne Käskyjen suoritussykli Poikkeukset ja keskeytykset TTK-91:n ja KOKSI:n rakenne

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

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

Jakso 5 Suoritin ja väylä

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

Jakso 5 Suoritin ja väylä

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

Luento 8 Ohjelman toteutus järjestelmässä. Tietokonejärjestelmä. Prosessi (4) Prosessi. Prosessin elinkaari (11) Prosessin vaihto (3)

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

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

Suoritin. Luento 5 Suoritin ja väylä. TTK-91 suorittimen rakenne (1) TTK-91 muistin rakenne. Käskyjen nouto- ja suoritussykli (5)

Luento 5 Suoritin ja väylä

VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELMÄT Linux, W2000

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

Stallings, Luku

VUOROTTAMINEN YKSI CPU

LUENTO 8. u erillisten koneiden ryväs (cluster) u hajautettu järjestelmä (distributed system) u erilliset I/O-prosessorit

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Luento 5 Suoritin ja väylä

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

4. Prosessit ja säikeet

VUOROTTAMINEN: SMP ja Reaaliaikajärjestelmät Linux, W2000

Moniprosessorijärjestelmä

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

Luentokerta 5 Ohjelman toteutus järjestelmässä (prosessi, käyttöjärjestelmä) Järjestelmän ulkoinen muisti

Transkriptio:

"! $# Stallings, Luku 4.1 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1 %& ()* +,.-0/212321416587912: 12;<5=3 + >?5A@ 165 12;<5A@23<5CBD;6E + FHG4I)J.KL;9M9B0BD;ONP;2BDQ212/<RS12;<5A@23632B + KHG4I)J6TU;<5A@23<5=V<3<RSBD/2B(3<W B(W 1M9B(5AXY321412; + T;<5A@2363.RSB(5AZ=Q2B KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-2 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-1

# "! # % % % # % # KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-3 && & && && + 3216W6-1 165=3<RY/<X 5 1 BDQONPQONP/<ZAZ=3 Q<Z=Z=/<@2/<5CB(W virtuaaliosoiteavaruus, eli suoritusympäristö prosessin kuva (image): PCB, koodi, data, pino resursseja muistia, tiedostoja, I/O-laitteita... + W2/.- /2B0B(QONPQ<R2Q<ZAZA5AR6R2/<5AXYQ@6/<@2/.R2Q<5C16W6W 1-0/212321 1256/<RY/NP3<ZAXYQ<RS16W2/<-05CB(W 1 @2/<R636321 12Q suoritus limittäin muiden prosessien kanssa prosessiin liittyy tila (Running, ) sekä prioriteetti Process, task KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-4 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-2

&& && && && + 3216W6-1 165=3<R @65A- NPQ<R 5=V6/<RM @ 165A@6@ 6/<X 5C14BDQONPQ virtuaaliosoiteavaruus, jossa prosessin kuva laitteiden varaus + T)W2/ONPQ<W<@ 123<RM @ 125A@6@ muistinsuojaus prosessien välinen kommunikointi tdstot ja niiden pääsyoikeudet X W BDBDQ W2/<-0/2B0BDQ<X 5C123<RM @ 165A@6@ YTU;<5=3 CPU suorittaa säikeitä, ei prosesseja + @ 165<@2/6/6V<5-3216W6-1 125CB <XY/<R BDQY16W2/<-05CB(W 1 BDQ Thread, Lightweight process KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-5 && && Yksiajo! #" $%$%$ Moniajo & (*) +-,/.10#2#3#4 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-6 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-3

+ NP/21 K.JC1412;YBD/2BD3.W BD32B0B WS12;<5A@23632BBDQ<5 KHG4I + NP/21 @2;9M9BD32BD;6;.RS12;<5=3<@65A- NPQ21 BD/6Q FHG4I + T;<5A@2363<ZAZ=; /<XYQYB(5AZ=Q! )W6R<R65AR#" 36Q6V9M :A:A:%$ + T;<5A@2363<ZAZ=; /<XYQYBDQ<ZAZ=36Q<ZAW63-3<@65C1 BD3<- 3<5AZAZ=3 & mm. omat PC:n ja PSW:n arvot + T;<5A@2363<ZAZ=; /<XYQ 5AR6/ aliohjelmakutsuja ja paikallisia muuttujia varten ( )+*,.-#/0/1.12*435 6-798:606<;=6 TCB, Thread Control Block KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-7 >@? A B Ä CBED FF A G HJIKL0M ÄÄ CBED LL CC Säikeen kuvaaja TCB tallealue rekistereille, prioriteetti, tila, KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-8 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-4

> LL DBA?C L0L BÄ DD L D A A AB LL 3#/0, #*,.-#/0/ -#*E*8:*E/,E*4-0303, ;=606 6 61.7#/ 6 viite sivutauluun vain PCB:ssä mutta jokaisella oma suoritusaikainen pino 7 #*,2/54707 60606 E6 61.7#/ 6! 5477 7 ;,26 "$# 5477E3#*-% -#6,.-0,.1.12/!& 3#/0,#*,.-#/,.1.12/ )+*,.-#/0/ 68:6065 6()E3468:3, 065 +* 5470,.1.12/ & 3#/#, #*,.-#/,.1212/ tiedostokuvaajataulu vain PCB:ssä yhteinen luku/kirjoituspositio? KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-9,.-0/213154 67-98:6<;>=!15;@?BA ->1 CC D C,FE C E9G C,IH CBJ GLK KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-10 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-5

D D 0= 0=2- >; 15- KK ) *,.-#/0/41.7#3, " #3&#/065!&#606-070, -03-#3#6064707/ & 3#/0,41.7#3, 3#/#, #*,.-#/, 0/ 8 7#3 3)E654,#/ 03 &#/65&#66-070,& 3#/0,2/ 8 7#3 3E654,#/ 7 #*,2/43 03E66 #98:3, 0606 07#3,E606;=3E6, 5477E6(#65 6 & 3#/0, #*,2/E* ) *,.-#/0/4123 &#/ 654,#/ 03 &#/65&#664-70, & 3#/#,4123 &#/E654,0/ KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-11 D D 0= 0=2- >; 15- KK /07 0,2/ ;=6-#654,#/ #*,.-#/, 0/ 8*1.,.1.12* E/#3-06E6 oletus: yhteiskäyttöisiä ) 65 6 & 3#/#, #*,.-#/, 0/ 8:*1.,#/ -0354547 0,.-03,, #/1& $=6!#3 &#/606 yhteiskäyttöinen data-alue kaikilla pääsy globaaleihin muuttujiin säie hoitaa itse tiedon sovittuun paikkaan, toinen noutaa itse ei tarvita ytimen apua, ei siirtymisiä etuoik. tilaan 3, #/1&#3E6643 ;=/1.5 3,, +*E* KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-12 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-6

D D 0= 0=2- >; 15- KK 7E6 %0-3 03,,<;=6!&#3,0701.-#/54,#/ 4-03-#3 0606 3 ;=/1.5 3, ;=6 8:6 70701.126 esim. Yhteisen tietorakenteen muuttaminen jos yksi muuttamassa, muut eivät saa käyttää jos väh. yksi käyttää, kukaan ei saa muuttaa esim. Tuottaja ja kuluttaja kuluttaja ei saa edetä ennenkuin tuottaja edennyt tiettyyn vaiheeseen -07 #, KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-13, / 4>1/!/ KK )+38:/1.1.7 # ;=3#6 #/1.-#/0*,,.,& &0705 6 354,26-03-#3#6,07070-0,26 ts. suoritusjärjestyksellä ei väliä ts. säikeillä ei synkronointitarvetta kukin osa toteutettavissa omana säikeenä KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-14 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-7

, / 4>1/!/ KK 0,.5 012* 0, 8:/ -#3 )E3 &#61 8:/1., ;=6 *0,E/1E*8:*7#/,E6!&%)*<;=*1 %:/#* 6<;=6#6 61 8:/5&#6061.7#3 06 E6& &#66-07 6-0,&%+ *0* -03 / 35 6(#*,2/-070, 35 6!& 3#/#, ) & 3#/0, #*,.-#/0/ 8:3, 0606 07#3, 606 6, 3,%E*06,.-06064/, & 3#/#3 /,.1.126 0,.5 4-#35 / #3 8:61.,.-#3,E6-0,#*,2/!#*E*0*8:61.,.-#3 ;=61.70-#//( *)E/0/ 3,#/ #*,2/(07#3,E6064/ 0/1.1., E*-#35 / 306 /1&#35!&0,03 ;=/1.5 3, 06 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-15 H H = BA ;98 >;>15-013= KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-16 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-8

,.-0/213154 67-98:6<;>=!15;@?BA ->1 CC, G J J G >G J E E9G C, H H J ULT, User Level Threads KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-17,.-0/21315-67->1 >= =0- >; ;>1, /,,2/ 0*(#*,.-#/,E* vuorottaa vain prosesseja )+38:/1.1.74-#*E*0*(#*,.-#/, 0/ 061.1.,E606 #*,2/-0, ;=6E306 kirjanpito, TCB:t )+38:/1.1.707#312/,.,0,#/ #*,.-#/, 0/#* 8 7#3 3E654,#/ ohjelmoijan vastuulla ei käytä ytimen koodia ei keskeytysohjattua KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-18 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-9

EE - ; B8:6 >=!1 ;98 0=>8 01 11 6-0/06;=6-#3 )+*,.-#/0/41.7#354,#/ kirjanpito säikeestä ja sen tilasta )+*,.-#/0/ /E/ 0/54,#/ /E*54,#/ rekistereiden tallettaminen )+*,.-#/0/ /E/ 0/54,#/ #6121.,.54,#/ rekistereiden palauttaminen )+*,.-#/0/4123 &#/E654,0/ 3 06 ;=6 0-3#3,, KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-19 LE C 1 88 ;; >= 1 88 ;; = & /6-0, ;=6E3#6 12, =7 0-,23 6 & /6 /06 / " parametrina funktio, josta suoritus alkaa & /6 /," lopeta säikeen suoritus & /6 ;=3, " odota parametrina annetun säikeen loppumista ) 0-3 #3,,# &#3, 0701.-#/54,#/ #/546 3,)" pthread_mutex_init() / _destroy() pthread_mutex_lock() / _trylock() / _unlock() 0*5470,E6=7 0-,23,E6 sched_yield(): luovu vapaaehtoisesti CPU:sta KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-20 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-10

B H H = BA ;98 void main() { pthread_t thr1, thr2; char *msg1 = "Hello"; char *msg2 = "World"; pthread_create(&thr1, pthread_attr_default, (void*)&print_message_function,(void*)msg1); pthread_create(&thr2, pthread_attr_default, (void*)&print_message_function,(void*)msg2); exit(0); } void print_message_function(void *ptr){ char *message; message = (char *) ptr; printf("%s ", message); } KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-21,.-0/21315-67->1 >= =0- >; ;>1 ei KJ:n apua ei keskeytystä ei prosessinvaihtoa!!"#%$& )( $&*( "& +, - $./& (01)( 2 $3$4++,/#& - +,5( 1 KJ ei tunne sovelluksen tarpeita 67$0(!""2 -%- &8&33! ++,90( & -:- 9!". $ - +;&*<=#. 9/3& - +,>& &1/? $& -4- - /# - 9&8!@/&83A - +,$ - - - -! - &C++,$* DE2/1 9/&@!/!1. " (!"2.5<:<=14+,> &!24++,/$ F/$ +;2 +,/? @ &@/@/&/#2/24+ #%1./3$ -4- &1 9&@!/!4+ $/F/$ ++0( 4+ 67#1./3G$ -! -4- &1-9&@!/!4+H!& ( 9 +I( $&4$""8-2 $3& +;2/@ -! -:- J2 -!/""C./3$ -! -4- $/3&"8"8K< 4+,9//&@ / Ydin vuorottaa vain prosesseja! KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-22 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-11

!" # KLT, Kernel Level Threads KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-23!! $%$&() * +,+,$ 679&@!&8F/!1 /""&1:+, @ $@ $1 /1D.-0/1 <0+,&#! -:- 9 17$ +,!24+;2 -!& @ 90<5+,9J@/&83A - +,$ ohjelmoijalle näkyvä rajapinta voi olla silti sama kuin edellä palvelupyynnöt 2 F&1 +;&8! +9/9-9&@!& - +,9 prosesseista PCB:t niiden säikeistä TCB:t 3 2 $3$4++#&1!1D.-0/1!&1/&C9 aikaviipale säikeelle KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-24 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-12

B B!! $%$&() * +,+,$ < > + < 9 3$ -! -4- &1-9&@4!&C+,9)( $& $""8K<=:+,9/&8@ / - 2 $3& +;2/@ -! -:-!/3&./3$ -! -4- $/3!&8""8 -$ -%- 9&8! "8$ @!/F /+,&"8/1/? #2/24+E. 3$ -! -:- &1-9&@!/!4+ ( $& ( 4+ - &" +;& 4+;@ / < > - D.- <5+;&#!1 +,$4+,!2:+;2 - ( $&/@ 95<0++,9/9-9&@!/&C+,9 &C++,$* 679&@!/!1)( /&4+,$)( /4+;&& &1 )( &!4++, / keskeytys + siirtyminen KJ:hin (-> etuoik. tila) vuorottaminen (->kjätila) 3 &4+$J/& +,/#. J@/2/&1 @/&3A - +,$/@ 90<5+,!4++,9/! -4-9 ks. taulukko 4.1 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-25! KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-26 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-13

!! * $ $ 2 F& - +,9/9#$"8!/#./&8!1. 3 /4+E./&&83G+!/! + /2 $14+;& @ 90<5++,9 9 +;&8"8 -:- 6 <=1/@/3$1 $/&14+,& @ 90<0++,9* 94+;&"8-4- 9/9/$ - K( 2 $3$4++#& -! - +, @ 90<0++,9* 94+;&"8-4-!"#%$& )( $& @ 90<0++,9* 94+, - $1-9/&@!/!4+ <0+;&8#!1-9&@!&@ - & "2 #"8"8/1 +,0( /""8 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-27!! * $ $ KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-28 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-14

"!" # KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-29!! $%(),$! kuten prosessilla # $ %&!! &!!&$ ( " liittyy heittovaihtoon " osoiteavaruus prosessitason käsite " mm. koodialue + globaali data yhteiskäytössä ) $ +*, # $ % *, - /.01!!! 2 3! 4 5 6 ) $ $ 5 5 $ 7 5 5 2 68 &!!! 2 3! KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-30 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-15

" " " $ $ 171 @/25( KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-31 $ % () * $ $ )),$ ) 0 8 3 % 3! 53 KJ vuorottaa prosessitasolla Ready-jonossa prosesseja aikaviipale prosessille säiekirjasto huolehtii säikeiden vuorottamisesta prosessin aikaviipaleen sisällä % 3 &$.0 $/ 3 $ +*, &! % 6 558 3! *, 5! *, $ 3 & % ULT- säikeen ja prosessin tila erillisiä KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-32 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-16

" " $ % () * $ $ )),$ Kuva 4.7 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-33 $ % () * $ $ )),$ ) 53 38 3! 8 68 5 KJ ylläpitää säiekuvaajia KJ vuorottaa säietasolla jos prosessin aikaviipaletta jäljellä, vuorota saman prosessin säikeitä tai koko aikaviipale säikeelle ) % 3 &$.0 $/ 3 $ 6 3!.0.0 7 *,! KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-34 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-17

&(* $ $ $,$ ) $ ** + % ( % $ $ 75 $ ( +*,2 3 (.0 5 7 7 753 5 7 53&3 753 /,038 3! 7 53 75 *, ) (.0 5 7 5! 3!. ( 5 6 $ 6$ &! ) 3!! 3! &! %. &$! % 6 ) 3! 8 KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-36 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-18

!#"%$ & (*)+)%$,.- // 0)+1#1 23-34!3)%2/. 5 6+7+89;:+:+<>=?<A@B@C<D=FE G Mitä laitteistopiirteitä tarvitaan moniajonjärjestelmän toteuttamiseksi G Mitä tietoja on tapana tallettaa tiedostoattribuutteihin G Mitä tietoja on tapana tallettaa prosessin kuvaajaan 5 HI7+JLKNM+:%KPOQ@?OQM+R0KI:%E+S+9TM%RU9VE G Perustele keskeytysmekanismin tarve ja siitä saatavat hyödyt. Kuvaa neljä (erilaista) keskeytystilannetta ja kerro kuinka käyttöjärjestelmä käsittelee kunkin tilanteen (n. yksi virke per tilanne). G Miten ja milloin prosessori huomaa keskeytyksen G Selitä yksityiskohtaisesti keskeytyskäsittelyn vaiheet. Aloita tilanteesta, jossa keskeytys on juuri huomattu ja päätä tilanteeseen, jossa KJ on käsitellyt keskeytyksen ja prosessori jatkaa joko keskeytyneen prosessin tai jonkun muun prosessin suoritusta (ts. selitä myös mahdollinen prosessin vaihto). Tuo vastauksessani selkeästi esiin, mitkä toiminnoista ovat laitetoimintoja ja mitkä toiminnot KJ hoitaa ohjelmallisesti. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-38 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-19

(*)+)%$,.- // 0)+1#1 23-34!3)%2/. Selitä MMU:n rakenneosat sekä kuinka MMU tekee osoitemuunnoksen, kun ei käytetä virtuaalimuistia ja prosessille on varattu yksi yhteinäinen muistialue muistinhallinta perustuu sivuttavaan virtuaalimuistiin! "$#%! Sovellus avaa tiedoston palvelupyynnöllä OPEN(...) ja lukee sieltä sitten tietoa toistosilmukassa palvelupyynnöllä READ(...). Selitä KJ:n ja I/O-laitteiston toimitaa näiden kahden palvelupyynnön yhteydessä (mm. mitä pitää tehdä, millaisia tietorakenteita, parametrien välitys jne.) KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-39 && -.) ( $ $ *),+./#"+"+) 3)-.$ /. / 0 1 tilakaavio prosessin kuvaaja 2 43#5 076 8 9 0"0!!! :3% 0 ; < 0"= 6!>@?8 A " B A KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-40 KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-20