Prosessi perinteisesti

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

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

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

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

VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELMÄT Linux, W2000

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

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

Luento 8 Ohjelman toteutus järjestelmässä

Luento 2: LAITTEISTOSTA

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

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ö

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

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

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

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

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

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

Moniprosessorijärjestelmä

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

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 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-1 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-2 PROSESSI vs SÄIE 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-3 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-4 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 Prosessi ja säie Yksiajo Moniajo MS-DOS??? Yksi koodi + resurssit, monta suoritusta Thread, Lightweight process vanha UNIX Solaris & Uudet KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-5 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-6 11-1

Prosessi voi jakautua säikeisiin Yksi säie vs. Monta säiettä 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 Säikeen kuvaaja TCB tallealue rekistereille, prioriteetti, tila, KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-8 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? MIKSI SÄIKEITÄ? KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-9 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-10 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 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-11 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-12 11-2

Miksi säikeitä? Kuka hyötyy tyy? Kuva 4.4 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 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-13 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-14 Kuka hyötyy tyy? Esimerkki: etäkutsu Kuva 4.3 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 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-16 Käyttäjätasontason säikeet Ydin ei tiedä säikeistä u vuorottaa vain prosesseja KÄYTTÄJÄTASON SÄIKEET ULT, User Level Threads 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-17 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-18 11-3

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 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); } 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-21 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-22 YTIMEN SÄIKEET KLT, Kernel Level Threads 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-23 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-24 11-4

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 Myös KJ-ytimen toteutus voi käyttää säikeitä 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 KULTAINEN KESKITIE? KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-25 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-26 Solaris 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 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-28 SÄIKEEN TILAT 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-29 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-30 11-5

ULT-säie vs KLT-säie ULT-säikeen vs Prosessin tila KJ:n ydin ei tiedä ULT-säikeistä Tan01 kuva 2-13 u KJ vuorottaa prosessitasolla F Ready-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-31 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-32 ULT-säikeen vs Prosessin tila KLT-säikeen vs Prosessin tila KJ tietää säikeiden olemassaolosta u KJ ylläpitää säiekuvaajia u KJ vuorottaa säietasolla F jos prosessin aikaviipaletta jäljellä, vuorota saman prosessin säikeitä tai F koko aikaviipale säikeelle Jos KLT-säie odottaa palvelupyynnössä, prosessin muut säikeet voivat silti jatkaa Kuva 4.7 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-33 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-34 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-6

KJ:n suorittamisesta Myös KJ eräs CPU:n suorittamista käskykokoelmista KJ:N SUORITTAMISESTA (jäi käsittelemättä luennolla 3 aikapulan vuoksi) 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-37 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-38 j KJ etuoikeutetussa tilassa k KJ prosessin ympärist ristössä 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 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-39 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 11-40 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-7