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

Samankaltaiset tiedostot
Käyttöjärjestelmät II

Käyttöjärjestelmät II

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

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

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

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

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

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

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

Luento 3: PROSESSIT JA NIIDEN HALLINTA

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än rajapinnat. Siirräntä: Laiteajurit ja keskeytys. I/O-ohjain. I/O-ohjain. Siirtomenetelmät. Käyttöjärjestelmän rakenne

Käyttöjärjestelmän rajapinnat

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

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

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Luento 2: LAITTEISTOSTA

VIRTUAALIMUISTI. Stallings, Luku 8.1

Käyttöjärjestelmän rakenne

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

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

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

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

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

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

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

Prosessi perinteisesti

Luento 6: VIRTUAALIMUISTI

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

Sisältöä SÄIKEET, SMP

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

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

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

MUISTINHALLINTA. Stallings, Luku 7

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

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

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

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

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

Keskeiset KJ:n osa-alueet

Muistihierarkia Kiintolevyt I/O:n toteutus

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

Tietokoneen toiminta, K Tavoitteet (4)

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

Luento 9 Järjestelmän ulkoinen muisti

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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

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

Luento 9 Järjestelmän ulkoinen muisti

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

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

KJ:N KEHITTYMINEN JA YLLÄPITO

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

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

Luento 9 Järjestelmän ulkoinen muisti

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

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

Luento 9 Järjestelmän ulkoinen muisti

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

KJ:N KEHITTYMINEN JA YLLÄPITO

Luento 9 Järjestelmän ulkoinen muisti

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

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

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

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

Arto Salminen,

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

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

KJ-II K2006 / Auvo Häkkinen - Teemu Kerola Tehtävät, staattinen vs. dynaaminen partitiointi, Buddy System sivutus, segmentointi

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

Järjestelmän ulkoinen muisti I/O

Menetelmien vertailua. Mallinnus Käyttäjämalli. Mallinnus Käyttäjämalli. Simulointi Käyttäjämalli. Mittaus Käyttäjämalli

Menetelmien vertailua

Jakso 8 Ohjelman toteutus järjestelmässä

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

Käyttöjärjestelmät: prosessit

Jakso 8 Ohjelman toteutus järjestelmässä

Lähtötiedot tiedot / seuraavaksi? Käyttöjärjestelmät II MUISTINHALLINNAN OHJELMISTO. Looginen vs. fyysinen osoite Perusvalinnat.

Tietokoneen rakenne (2 ov / 4 op) Syksy 2007 Liisa Marttinen. Helsingin yliopisto Tietojenkäsittelytieteen laitos

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

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

Luento 0: Kurssihallinto Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

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

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

Osio 2: Luennot 5-8 Muistinhallinta

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

Muistihierarkia Kiintolevyt I/O:n toteutus

2 Konekieli, aliohjelmat, keskeytykset

MUISTINHALLINNAN OHJELMISTO

Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin,

Stallings, Luku

KJ-II K2006 / Auvo Häkkinen - Teemu Kerola II:ssa?

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

Luento 5 Suoritin ja väylä

Transkriptio:

Kertaus: : KJ-I ja RIO (KJ2 n osalta) Ch 1-8, 11-12 12 [Stal05] Kustakin luvusta enemmän n tai vähemmv hemmän n alkuosa Jos jokin asiat tässt ssä tuntuvat hatarilta, niin (a) kysykää ja/tai (b) kerratkaa kirjasta Jatkossa nämän asiat otaksutaan hyvin osatuksi. LUENTO 1 Yleiskuva Yleiskatsaus (Ch 1 [Stal05]) u Käskysykli, keskeytys, muistihierarkia, välimuisti, siirrännän tekniikat Yleistä käyttöjärjestelmästä (Ch 2.1-2.4 [Stal05]) u KJ:n tehtäviä ja toimintoja, KJ:n evoluutiotarina, keskeiset KJ:n osat, nykyaikaisen KJ:n piirteet 1 2 Tietokonejärjestelm rjestelmä Palvelupyynnöt (POSIX) KJ ja laitteistopiirteet Stal05 Ch 1 laiteajurit keskeytyskäsittely 3 4 Keskusyksikkö PTR PSW TLB (Kuva 3.1, Häkk98) KJ ja laitteistopiirteitä Etuoikeutetut käskyt (Privileged Instructions) u siirräntäkäskyt (fyysinen siirräntä) u MMU käytön vaatimat asetukset u keskeytysten esto ja salliminen u jos sovellus yrittää käyttää näitä käskyjä, tuloksena poikkeus tuntematon käskykoodi Etuoikeutettu tila / käyttäjätila (Supervisor/User mode) u bitti PSW:ssä u vain laitteisto voi asettaa etuoikeutetun tilan u CPU suorittaa etuoikeutetun käskyn vain, jos on etuoikeutetussa tilassa Jakamaton test-and-set käsky (tai muu vastaava) u poissulkeminen, synkronointi 5 6 KJ-II K2006 / Teemu Kerola (lu01) 1-1

KJ ja laitteistopiirteitä (jatk jatk) Osoitemuunnos ja muistinsuojaus u KJ suojattava sovellukselta, sovellukset toisiltaan u CPU:n tehtävä ajonaikainen osoitemuunnos ja tarkistettava muistiosoitteet F laitteistoon tarvitaan MMU F MMU:ssa osoitemuunnospuskuri TLB Keskeytysmekanismi u hallittu kontrollin siirto KJ:n ja sovelluksen välillä u bitti PSW:ssä, keskeytyskäsittelyn alku laitteistotoiminto Kellokeskeytys u ettei yksi sovellus valloita koko laitteistoa u viimeistään kello aiheuttaa keskeytyksen F kontrolli taas KJ:lle 7 Käskysykli Fig 1.7 [Stal05] 8 Keskeytys Fig.. 5-55 5 Keskeytyskäsittely sittely (kesk. käsittelijä) Etuoikeutettu tila vs. käyttäjätila Keskeytysten esto vs. salliminen s. 21-26 [Stal05] 9 10 new ready KJ ja palvelupyynnöt Ch 2.1-4 [Stal05] 11 12 KJ-II K2006 / Teemu Kerola (lu01) 1-2

read(fd,, buffer, nbytes) Fig 1 Fig 1-1717 POSIX palvelupyyntöjä Fig 1-1818 jne, kaikkiin KJ:n perustehtäviin liittyen... ks. man syscalls POSIX: http://www.unix-systems.org/single_unix_specification/ 13 14 Käyttöesimerkki Fig 1 Riisuttu komentotulkki Fig 1-1919 WIN32 vs. UNIX API Fig Fig.. 1-231 Huom: fork() palauttaa 0 lapselle ja lapsen id n isälle 15 16 Prosessi = Suoritettavaksi otettu ohjelma koodi muistissa (voi olla yhteiskäytössä) oma data-alue ja pino muistissa (muuttujat) Prosessin hallinta Ch 3.1-4, 4.1 [Stal05] + KJ:n ylläpitämät rakenteet, PCB u CPU:n dataa prosessin suorittamisesta F prosessorin rekistereiden arvot u KJ:n dataa prosessin hallitsemiseksi F tunnistus (pid, ppid), omistaja (uid, gid) F vuorottamisessa tarvittavaa tietoa F muistinhallinnassa tarv. tietoa (osoitin sivutauluun) F tiedostokuvaajataulu F (ks. Table 3.5 [Stal05]) 17 18 KJ-II K2006 / Teemu Kerola (lu01) 1-3

Prosessin tilakaavio Kuva Kuva 3.9 [Stal05] Prosessijonot Kuva 3.8 [Stal05] Levyllä, swapped out Muistissa 19 20 Milloin prosessinvaihto? Vain keskeytyksen jälkeen u ei kuitenkaan aina! Kun CPU siirtynyt suorittamaan KJ:tä u Palvelupyyntö F jonka seurauksena prosessi joutuu odottamaan u Poikkeus F prosessin suorituksessa virhe F prosessi joutuu exit-tilaan ja tapetaan u Ulkoinen keskeytys F siirräntä valmistuu F prosessin aikaviipale (50 ms - 100 ms) täynnä Vuorottaja valitsee u talleta edellisen prosessin tiedot CPU:sta sen PCB:hen u kopioi seuraavan prosessin tiedot PCB:stä CPU:hun Säikeet Fig 4.2 [Stal05] 21 22 Säikeet Fig 2-13 Samanaikaisuuden hallinta Ch 5, 6.1-6 6 [Stal05] 23 24 KJ-II K2006 / Teemu Kerola (lu01) 1-4

Poissulkemisongelma Mutex määrittely Ohjelmistoratkaisu Laitetuki ongelman ratkaisuun Lukko vai semafori? Milloin? Monitorit ja niiden toteutus Lukijat ja kirjoittajat (synkronointi) Lukkiutumisongelma Lukkiutumisen havaitseminen Lukkiutumisen välttäminen Lukkiutumisen purkaminen Aterioivat filosofit Miten tiedät, että ratkaisusi on oikein? 25 26 Muistihierarkia Fig 1.14 Muistinhallinta Virtuaalimuisti Ch 7, 8.1 [Stal05] nano = 10-9, mikro = 10-6, milli = 10-3 27 28 Virtuaalimuisti Sivutus Keskusmuisti jaettu vakiokokoisiin sivutiloihin KJ jakaa prosessin vakiokokoisiin sivuihin Prosessikoht. sivutaulut: missä sivutilassa sivu sijaitsee Virt.os: (sivu, siirtymä) Sisäinen pirstoutuminen Vapaiden sivutilojen lista Kaikki sivut ei muistissa - läsnäolobitti sivut-alkiossa - poisto / korvauspolitiikka (Table 8.1 [Stal05]) Segmentointi Ohjelmoija/kääntäjä jakaa prosessin vaihtelevankokoisiin segmentteihin Prosessikoht. segmenttitaulut: segmentin alkuos. ja pituus Virt.os: (segmentti, siirtymä) Ulkoinen pirstoutuminen muistin tiivistämistarve Vapaiden muistialueiden lista Kaikki segmentit ei muistissa - läsnäolobitti Seg.t.-alkiossa - poisto / korvauspolitiikka 29 MMU ja osoitteen- muunnos Kuva 8.8.[Stal05] 30 KJ-II K2006 / Teemu Kerola (lu01) 1-5

Siirränn nnän n hierarkia Fig.. 5-165 Siirräntä Ch 11.1-4 [Stal05] 31 32 Laiteajurit Fig. 5-11 Kolme eri tapa lukea lohko DMA I/O 33 suora I/O keskeyttävä I/O Fig 1.19 [Stal05] 34 DMA-siirto Fig. 5-44 Puskurointi Fig.. 10-22 Huom: data ei kulje suorittimen rekistereiden kautta! 35 36 KJ-II K2006 / Teemu Kerola (lu01) 1-6

UNIX PCB i-node nbr device nbr Tiedostojärjestelmä Ch 12.1-6 [Stal05] n = read(fd, buf, count) q laitenumeron perusteella KJ löytää laitekuvaajan ja ajurin 37 38 Vapaan tilan hallinta Fig Fig.. 6-216 UNIX Fig 10-31 linked list vs. bitmap vapaat lohkot ketjutettu edellä kuvatulla tavalla taltiota alustettaessa i-solmussa merkintä vapaa/varattu superlohkossa mm. laitenumero, partition koko sekä vapaiden lohkojen listan alku, vapaiden i-solmujen numeroita 39 40 Levypartitiot Fig. 6-11 Kertauskysymyksiä Mitkä ovat keskeiset KJ:n osat? Mitä perustietorakenteita KJ:n on ylläpidettävä? Kuinka keskeytys käsitellään? Mitä tietoja on prosessin kuvaajassa? Milloin noita tietoja käytetään? Milloin KJ vaihtaa suoritettavaa prosessia? Miten prosessi ja säie liittyvät toisiinsa? Mitä hyötyä on asiakas-palvelija mallista? Kuinka samanaikaisuutta hallitaan? 41 42 KJ-II K2006 / Teemu Kerola (lu01) 1-7