Käyttöjärjestelmät II

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

Käyttöjärjestelmät II

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 7: VIRTUAALIMUISTIN SIVUTUS JA SEGMENTOINTI

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

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ä

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

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än rakenne

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

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

Luento 2: LAITTEISTOSTA

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

Prosessi perinteisesti

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

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

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ä

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

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

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

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

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

Muistihierarkia Kiintolevyt I/O:n toteutus

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

KJ:N KEHITTYMINEN JA YLLÄPITO

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

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

Jakso 8 Ohjelman suoritus järjestelmässä

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

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

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. Teemu Saarelainen Tietotekniikka

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

Menetelmien vertailua

Järjestelmän ulkoinen muisti I/O

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

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

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

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

Stallings, Luku

MUISTINHALLINNAN OHJELMISTO

2 Konekieli, aliohjelmat, keskeytykset

Käyttöjärjestelmät: prosessit

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

Luento 5 Suoritin ja väylä

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

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

Transkriptio:

LUENTO 1 Käyttöjärjestelmät II Kertaus: KJ-I ja RIO (KJ2 n osalta) Ch 1-8, 11-12 [Stal05] Kustakin luvusta enemmän tai vähemmän alkuosa Jos jokin asiat tässä tuntuvat hatarilta, niin (a) kysykää ja/tai (b) kerratkaa kirjasta Jatkossa nämä asiat otaksutaan hyvin osatuksi. 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 2

Tietokonejärjestelmä Palvelupyynnöt (POSIX) laiteajurit keskeytyskäsittely 3

Käyttöjärjestelmät II KJ ja laitteistopiirteet Stal05 Ch 1 4

Keskusyksikkö (Kuva 3.1, Häkk98) TLB PTR PSW 5

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 6

KJ ja laitteistopiirteitä (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-5 [Tan01] 9

Keskeytyskäsittely (kesk. käsittelijä) Etuoikeutettu tila vs. käyttäjätila Keskeytysten esto vs. salliminen s. 21-26 [Stal05] 10

Käyttöjärjestelmät II KJ ja palvelupyynnöt Ch 2.1-4 [Stal05] 11

new ready 12

read(fd, buffer, nbytes) Fig 1-17 [Tan01] 13

POSIX palvelupyyntöjä Fig 1-18 [Tan01] jne, kaikkiin KJ:n perustehtäviin liittyen... ks. man syscalls POSIX: http://www.unix-systems.org/single_unix_specification/ 14

Käyttöesimerkki Fig 1-19 [Tan01] Riisuttu komentotulkki Huom: fork() palauttaa 0 lapselle ja lapsen id n isälle 15

WIN32 vs. UNIX API Fig. 1-23 [Tan01] 16

Käyttöjärjestelmät II Prosessin hallinta Ch 3.1-4, 4.1 [Stal05] 17

Prosessi = Suoritettavaksi otettu ohjelma koodi muistissa (voi olla yhteiskäytössä) oma data-alue ja pino muistissa (muuttujat) + 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]) 18

Prosessin tilakaavio Kuva 3.9 [Stal05] Levyllä, swapped out Muistissa 19

Prosessijonot Kuva 3.8 [Stal05] 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 21

Säikeet Fig 4.2 [Stal05] 22

Säikeet Fig 2-13 [Tan01] 23

Käyttöjärjestelmät II Samanaikaisuuden hallinta Ch 5, 6.1-6 [Stal05] 24

Poissulkemisongelma Mutex määrittely Ohjelmistoratkaisu Laitetuki ongelman ratkaisuun Lukko vai semafori? Milloin? Monitorit ja niiden toteutus Lukijat ja kirjoittajat (synkronointi) Miten tiedät, että ratkaisusi on oikein? 25

Lukkiutumisongelma Lukkiutumisen havaitseminen Lukkiutumisen välttäminen Lukkiutumisen purkaminen Aterioivat filosofit 26

Käyttöjärjestelmät II Muistinhallinta Virtuaalimuisti Ch 7, 8.1 [Stal05] 27

Muistihierarkia Fig 1.14 [Tan01] nano = 10-9, mikro = 10-6, milli = 10-3 28

Virtuaalimuisti Sivutus (Table 8.1 [Stal05]) Segmentointi 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 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 osoitteenmuunnos Kuva 8.8.[Stal05] 30

Käyttöjärjestelmät II Siirräntä Ch 11.1-4 [Stal05] 31

Siirrännän hierarkia Fig. 5-16 [Tan01] 32

Laiteajurit Fig. 5-11 [Tan01] 33

Kolme eri tapa lukea lohko DMA I/O suora I/O keskeyttävä I/O Fig 1.19 [Stal05] 34

DMA-siirto Fig. 5-4 [Tan01] Huom: data ei kulje suorittimen rekistereiden kautta! 35

Puskurointi Fig. 10-22 [Tan01] 36

Käyttöjärjestelmät II Tiedostojärjestelmä Ch 12.1-6 [Stal05] 37

UNIX PCB i-node nbr device nbr n = read(fd, buf, count) q laitenumeron perusteella KJ löytää laitekuvaajan ja ajurin 38

Vapaan tilan hallinta Fig. 6-21 [Tan01] linked list vs. bitmap 39

UNIX Fig 10-31 [Tan01] 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 40

Levypartitiot Fig. 6-11 [Tan01] 41

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? 42