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

Samankaltaiset tiedostot
Prosessi perinteisesti

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

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

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

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

Processes and threads

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

Käyttöjärjestelmät II

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: prosessit

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

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

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

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

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

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 säikeet SMP, Mikroytimet W2K säikeet

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

Osio 2: Luennot 4-7 Muistinhallinta

Keskeiset KJ:n osa-alueet

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

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

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

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

Luento 6: VIRTUAALIMUISTI

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

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

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

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

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

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

Luento 7: VIRTUAALIMUISTIN SIVUTUS JA SEGMENTOINTI

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Graafisen käyttöliittymän ohjelmointi Syksy 2013

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

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

Arto Salminen,

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

2 Konekieli, aliohjelmat, keskeytykset

Osio 2: Luennot 5-8 Muistinhallinta

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

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

VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELMÄT Linux, W2000

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

Luento 8 Ohjelman toteutus järjestelmässä

Luento 2: LAITTEISTOSTA

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

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

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

KJ:N KEHITTYMINEN JA YLLÄPITO

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

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

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia

Käyttöjärjestelmän rakenne

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

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

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

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

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

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 II

KJ:N KEHITTYMINEN JA YLLÄPITO

Prosessit, säikeet, samanaikaisuus

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

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

Tietokoneen toiminta, K Tavoitteet (4)

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

Käyttöjärjestelmät II

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Stallings, Luku 1. KJ-I S2043 / Tiina Niklander Auvo Häkkisen kalvojen pohjalta 2-2. KJ-I S2003 / Auvo Häkkinen 2-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:

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

Mikroydin (vs monoliittinen ydin)

KJ:n ydin (Fig 4.10 [Stal 05])

VUOROTTAMINEN YKSI CPU

LUENTO 0. Tervetuloa! Käyttöjärjestelmät II 2 ov Teemu Kerola. Helsingin yliopisto Tietojenkäsittelytieteen laitos

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

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)

Moniprosessorijärjestelmä

Moniprosessorijärjestelmä

KJ:n ydin (Fig 4.10 [Stal 05])

MUISTINHALLINTA. Stallings, Luku 7

Windows 2000 (eli W2K)

Käyttöjärjestelmät. Windows 2000 (eli W2K) W2K: Säikeet. W2K: Prosessi ja sen resurssit. Säietoteutuksia: Windows, Solaris, UNIX

Johdantoa. Miksi rinnakkaisuutta? Laitteistoarkkitehtuureja. Rinnakkaisuus - Samanaikaisuus. Peräkkäisyyteen perustuvat sovellukset

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

Transkriptio:

Käyttöjärjestelmät t I Luento 11: SÄIKEETS Stallings, Luku 4.1 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-1 Sisält ltöä Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä Säikeen tilat Käyttöjärjestelmän suorittamisesta KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-2 11-1

Käyttöjärjestelmät I PROSESSI vs SÄIE KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-3 Prosessi perinteisesti Resurssien omistaja, jolle allokoitu u virtuaaliosoiteavaruus, eli suoritusympäristö Fprosessin kuva (image): PCB, koodi, data, pino u resursseja Fmuistia, tiedostoja, I/O-laitteita... Vuorottajan hallinnoima kokonaisuus - prosessi on ohjelman suoritus koneessa u suoritus limittäin muiden prosessien kanssa u prosessiin liittyy tila (Running, ) sekä prioriteetti Process, task KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-4 11-2

Prosessi nykyaikaisesti Resurssien kirjanpidon yksikkö, omistaja u virtuaaliosoiteavaruus, jossa prosessin kuva u laitteiden varaus Suojauksen yksikkö u muistinsuojaus u prosessien välinen kommunikointi u tdstot ja niiden pääsyoikeudet mutta Vuorottamisen yksikkö = Säie u CPU suorittaa säikeitä, ei prosesseja Yksi koodi + resurssit, monta suoritusta Thread, Lightweight process KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-5 Prosessi ja säie Yksiajo MS-DOS??? Moniajo vanha UNIX Solaris & Uudet KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-6 11-3

Prosessi voi jakautua säikeisiin jos KJ:ssä toteutettu säikeet tai jos käytetään säiekirjastoa = KLT = ULT Säikeellä oma tila (Running, Ready...) Säikeellä oma tallealue rekistereille u mm. omat PC:n ja PSW:n arvot Säikeellä oma pino u aliohjelmakutsuja ja paikallisia muuttujia varten Ł Säikeellä oma kuvaaja u TCB, Thread Control Block KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-7 Yksi säie vs. Monta säiettä Säikeen kuvaaja TCB tallealue rekistereille, prioriteetti, tila, KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-8 11-4

Yhteiskäytt yttöiset resurssit Prosessin säikeet käyttävät yhteistä koodija data-aluetta u viite sivutauluun vain PCB:ssä u mutta jokaisella oma suoritusaikainen pino Kun säie muuttaa data-aluetta (muuttujia), muutos näkyy kaikille prosessin säikeille Säikeen avaama tdsto avoinna myös muille prosessin säikeille u tiedostokuvaajataulu vain PCB:ssä u yhteinen luku/kirjoituspositio? KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-9 Käyttöjärjestelmät I MIKSI SÄIKEITÄ? KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-10 11-5

Miksi säikeitä? Säikeen luonti (> 10 x) nopeampaa kuin kokonaan uuden prosessin luonti Prosessin säikeiden vuorottaminen nopeampaa kuin prosessien vuorottaminen Kun säie odottaa, voidaan suorittaa jotain muuta saman prosessin säiettä Säikeen lopettaminen nopeampaa kuin prosessin lopettaminen KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-11 Miksi säikeitä? Resurssien jakaminen säikeiden välillä tehokasta u oletus: yhteiskäyttöisiä Saman prosessin säikeiden välinen kommunikointi helppoa ja nopeaa u yhteiskäyttöinen data-alue F kaikilla pääsy globaaleihin muuttujiin u säie hoitaa itse tiedon sovittuun paikkaan, toinen noutaa itse u ei tarvita ytimen apua, ei siirtymisiä etuoik. tilaan Voi helpottaa ohjelmointityötä KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-12 11-6

Miksi säikeitä? Mutta synkronointi ja poissulkeminen kokonaan ohjelmoijan vastuulla u esim. Yhteisen tietorakenteen muuttaminen Fjos yksi muuttamassa, muut eivät saa käyttää Fjos väh. yksi käyttää, kukaan ei saa muuttaa u esim. Tuottaja ja kuluttaja Fkuluttaja ei saa edetä ennenkuin tuottaja edennyt tiettyyn vaiheeseen RIO-kurssi KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-13 Kuka hyötyy tyy? Kuva 4.4 Sovellus, jossa selkeästi riippumattomia kokonaisuuksia u ts. suoritusjärjestyksellä ei väliä u ts. säikeillä ei synkronointitarvetta u kukin osa toteutettavissa omana säikeenä KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-14 11-7

Kuka hyötyy tyy? Esim: lähiverkon tdstopalvelija Käsiteltävä useita pyyntöjä lyhyessä ajassa Halvempaa luoda/tappaa kutakin pyyntöä kohden oma säie kuin oma prosessi SMP: prosessin säikeet voidaan suorittaa aidosti yhtäaikaa eri prosessoreilla Esim: komennot valikoista Yksi säie näyttää valikon ja lukee syötteen Toinen säie suorittaa edellistä komentoa Helpompi ohjelmoida KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-15 Esimerkki: etäkutsu Kuva 4.3 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-16 11-8

Käyttöjärjestelmät I KÄYTTÄJÄTASON SÄIKEET ULT, User Level Threads KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-17 Käyttäjätasontason säikeet Ydin ei tiedä säikeistä u vuorottaa vain prosesseja Sovellus käyttää säikeiden hallintaan säiekirjastoa u kirjanpito, TCB:t Sovellus huolehtii itse säikeidensä vuorottamisen u ohjelmoijan vastuulla u ei käytä ytimen koodia u ei keskeytysohjattua KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-18 11-9

Säiekirjaston perusrutiinit Karkea jako: Säikeen luominen u kirjanpito säikeestä ja sen tilasta Säikeen etenemisen estäminen u rekistereiden tallettaminen Säikeen etenemisen salliminen u rekistereiden palauttaminen Säikeen lopettaminen Kohdat 2 ja 3 = synkronointi KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-19 POSIX threads (pthreads) pthread-kirjastossa yli 60 funktiota pthread_create() u parametrina funktio, josta suoritus alkaa pthread_exit() u lopeta säikeen suoritus pthread_join() u odota parametrina annetun säikeen loppumista Synkronointi, poissulkeminen (semaforit) u pthread_mutex_init() / _destroy() u pthread_mutex_lock() / _trylock() / _unlock() Ynnä muita funktioita u sched_yield(): luovu vapaaehtoisesti CPU:sta KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-20 11-10

Esimerkki 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 S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-21 Käyttäjätasontason säikeet Hyötyjä Vuorottaminen nopeaa u ei KJ:n apua u ei keskeytystä u ei prosessinvaihtoa! Ohjelmoija voi valita sopivan vuorottamistavan u KJ ei tunne sovelluksen tarpeita Sovellus siirrettävissä helposti ympäristöihin, joissa sama säiekirjasto Haittoja Kun säikeen palvelupyyntö aiheuttaa odotusta, kaikki muut saman prosessin säikeet odottavat Saman prosessin säikeet eivät voi olla suorituksessa usealla prosessorilla yhtäaikaa u Ydin vuorottaa vain prosesseja! KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-22 11-11

Käyttöjärjestelmät I YTIMEN SÄIKEET KLT, Kernel Level Threads KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-23 Säikeiden toteutus ytimessä Säikeiden hallinta kokonaan KJ:n ytimessä Toteutus ei käytä kirjastoa u ohjelmoijalle näkyvä rajapinta voi olla silti sama kuin edellä u palvelupyynnöt Ydin tietää säikeistä u prosesseista PCB:t u niiden säikeistä TCB:t Vuorottaminen KJ:n heiniä u aikaviipale säikeelle KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-24 11-12

Säikeiden toteutus ytimessä Hyötyjä Prosessin säikeitä voi olla yhtäaikaa suorituksessa eri prosessoreilla Jos säie Blocked- tilaan, muut prosessin säikeet voivat silti jatkaa Haittoja Säikeen vaihto vaatii aina 2 vaihetta: u keskeytys + siirtyminen KJ:hin (-> etuoik. tila) u vuorottaminen (->kjätila) Vaihto hitaampaa kuin kirjastoa käytettäessä u ks. taulukko 4.1 Myös KJ-ytimen toteutus voi käyttää säikeitä KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-25 Käyttöjärjestelmät I KULTAINEN KESKITIE? KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-26 11-13

Solaris Yhdistää molempien parhaat piirteet Luonti käyttäjätilassa Synkronointi käyttäjätilassa Pääosa vuorottamisesta käyttäjätilassa Ohjelmoija voi liittää käyttäjätason säikeet ytimen säikeiksi haluamallaan tavalla KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-27 Solaris KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-28 11-14

Käyttöjärjestelmät I SÄIKEEN TILAT KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-29 Säikeen tilat Perustilat: Running, Ready, Blocked u kuten prosessilla Suspend-tila koskee aina koko prosessia u liittyy heittovaihtoon u osoiteavaruus prosessitason käsite u mm. koodialue + globaali data yhteiskäytössä Kun prosessi joutuu Suspend-tilaan, joutuvat kaikki sen säikeet odottamaan Kun prosessi lopetetaan, poistetaan samalla kaikki sen säikeet KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-30 11-15

ULT-säie vs KLT-säie Tan01 kuva 2-13 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-31 ULT-säikeen vs Prosessin tila KJ:n ydin ei tiedä ULT-säikeistä u KJ vuorottaa prosessitasolla FReady-jonossa prosesseja u aikaviipale prosessille u säiekirjasto huolehtii säikeiden vuorottamisesta prosessin aikaviipaleen sisällä Jos ULT-säie odottaa palvelupyynnössä, prosessi joutuu Blocked-tilaan mutta säiekirjaston kirjanpidossa säie edelleen Running-tilassa ULT- säikeen ja prosessin tila erillisiä KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-32 11-16

ULT-säikeen vs Prosessin tila Kuva 4.7 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-33 KLT-säikeen vs Prosessin tila KJ tietää säikeiden olemassaolosta u KJ ylläpitää säiekuvaajia u KJ vuorottaa säietasolla Fjos prosessin aikaviipaletta jäljellä, vuorota saman prosessin säikeitä tai Fkoko aikaviipale säikeelle Jos KLT-säie odottaa palvelupyynnössä, prosessin muut säikeet voivat silti jatkaa KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-34 11-17

Mahdollisia tilan vaihtoja Kertauskysymyksiä Miten prosessi ja säie eroavat toisistaan? Mitä yhteistä niillä on? Mitä hyötyä säikeistä? Miten ULT ja KLT eroavat toisistaan? Miksi ULT säikeiden vuorottaminen nopeampaa kuin KLT säikeiden? Miksi ULT säikeen Blocked-tila vie prosessin Blocked-tilaan, mutta KLT säikeen ei? KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-36 11-18

Käyttöjärjestelmät I KJ:N SUORITTAMISESTA (jäi käsittelemättä luennolla 3 aikapulan vuoksi) KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-37 KJ:n suorittamisesta Myös KJ eräs CPU:n suorittamista käskykokoelmista Käyttäjätilassa / etuoikeutetussa tilassa KJ:n osat käsittelevät yhteisiä data-alueita u melkein kaikki käyttävät PCB:tä Onko KJ myös prosessi? KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-38 11-19

j KJ etuoikeutetussa tilassa Prosessi vain käyttäjätilan käsite u KJ:n osat eivät jonota KJ:llä omat muistialueensa: koodi, data, pino KJ:n osat suoritetaan omillaan etuoik. tilassa u oikeus tehdä kaikkia KJ:n toimintoja kaikissa osissa ~ vanha monoliittinen KJ KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-39 k KJ prosessin ympärist ristössä KJ yhteiskäyttöisellä muistialueella u kaikkien prosessien osoiteavaruudessa Prosessi itse suorittaa KJ:n rutiineja u hallittu siirtyminen keskeytyksellä, etuoikeutettu tila Kontrolli prosesseilta poissa vain, kun synkronointi tai vuorottaminen vaatii ~ uudempi monoliittinen KJ KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-40 11-20

KJ prosessin ympärist ristössä KJ:n koodi ja data yhteisellä muistialueella Prosessi käyttää kernel-pinoa, kun suorittaa KJ:n koodia, muuloin normaalia pinoaan Prosessi voi odottaa KJ:n koodissa Useita KJ:n osia voi olla yhtäaikaa kesken eri prosessien ympäristöissä u suoritukseen vuorottajan kautta KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-41 KJ = joukko palveluprosesseja Monet KJ:n palveluista erillisiä prosesseja u odottavat Blocked/Ready-jonossa u kullakin oma osoiteavaruus u tarvittaessa etuoikeutetussa tilassa, erilaisia oikeuksia Vuorottaminen prosessien ulkopuolella Sanomanvälitys: pyyntö-vastaus mekanismi u palvelupyyntö: lähetä / vastaanota sanoma u sopii myös moniprosessori / hajautettuihin järjestelmiin Jos ytimessä vain laiteriippuvat toiminnot = mikrokernel KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-42 11-21