Käyttöjärjestelmät: Virtuaalimuisti



Samankaltaiset tiedostot
Käyttöjärjestelmän rakenne

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

Luento 6: VIRTUAALIMUISTI

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

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Käyttöjärjestelmät: prosessit

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

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

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

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

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

Käyttöjärjestelmät II

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

Luento 5: Muistin hallinta Luento 5. Luento 5-1. Luento 5-3. u Continuous memory allocation for partition. Luento 5-5

Käyttöjärjestelmät II

Tietokoneen rakenne: Harjoitustyö. Motorola MC prosessori

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

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

Muistinhallinta. Teemu s Cheesecake. Tietokoneen rakenne

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

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

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

Muistinhallinta. Tietokoneen rakenne. Stallings: Ch Heittovaihto vs. Virtuaalimuisti Esim: Pentium. Luento 5-1

Järjestelmän ulkoinen muisti I/O

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

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

2 Konekieli, aliohjelmat, keskeytykset

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

Osio 2: Luennot 4-7 Muistinhallinta

Muistihierarkia Kiintolevyt I/O:n toteutus

MUISTINHALLINNAN OHJELMISTO

Luento 2: LAITTEISTOSTA

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

Luento 5 Suoritin ja väylä

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

Luento 5 Suoritin ja väylä

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

Muistihierarkia Kiintolevyt I/O:n toteutus

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

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

MUISTINHALLINTA. Stallings, Luku 7

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

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ä

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

Jakso 5 Suoritin ja väylä

Hae Opiskelija käyttöohje

MUISTINHALLINTA. Stallings, Luku 7

Jakso 5 Suoritin ja väylä

AJOK/KEAJ/IAJOK. Koetallennus

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

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

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

CT50A2602 Käyttöjärjestelmät Seminaarityö. Tietokoneen muisti nyt ja tulevaisuudessa

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

Perusvalinnat. Sivun koko. Sivun koko? Sopiva sivukoko? MUISTINHALLINNAN OHJELMISTO: Sivutuksen algoritmit. Käyttöjärjestelmät

Sivun koko. Perusvalinnat. Sopiva sivukoko? Sivun koko? MUISTINHALLINNAN OHJELMISTO: Sivutuksen algoritmit. Käyttöjärjestelmät, Luento 9

MUISTINHALLINNAN OHJELMISTO: Sivutuksen algoritmit. Stallings, Luku 8.2

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Stallings, Luku

Tietokoneen toiminta, K Tavoitteet (4)

TILASTOLLINEN LAADUNVALVONTA

Matematiikan tukikurssi 3.4.

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

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

Luento 9 Järjestelmän ulkoinen muisti

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

käännösprosessi Kääntäjä Konekielikääntäjä (Assembler) Yhdistelijä (linker) Lataaja (loader)

Osio 2: Luennot 5-8 Muistinhallinta

Näkymät ja hakemistot

Luento 9 Järjestelmän ulkoinen muisti

1. Keskusyksikön rakenne

Dynaamisen järjestelmän siirtofunktio

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Miten korkeakoulujen yhteishaun ja erillishakujen kokonaisuutta tulisi kehittää?

SOPIMUS KIINTEISTÖN KAUPAN MAKSUJÄRJESTELYISTÄ

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

Tietokantajärjestelmien tulevaisuuden haasteet. Jan Lindström

Huomaathan, että ohjeessa olevat näytöistä otetut kuvat voivat poiketa sinun koulutuksesi vastaavien sivujen kuvista.

Tietokoneen muisti nyt ja tulevaisuudessa. Ryhmä: Mikko Haavisto Ilari Pihlajisto Marko Vesala Joona Hasu

Asukastoimikuntien lausuntojen yhteenveto käyttöarvon mukaisesta vuokrien tasauksesta

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

1 2 + I D E A A T E R V E E L L I S E E N S Y Ö M I S E E N E D U L L I S E S T I t o i m i v a a a r k i r u o k a a. f i

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

Henkilötietojen suojasta kiinteistökaupan verkkopalvelussa

IV-kuntotutkimushanke_tutkijat

Kokemusasiantuntijan tarina. Kasvamista kokemusasiantuntijaksi

Ohje hakulomakkeen täyttämiseen yliopistohaku.fi -palvelussa

Johdatus L A TEXiin. 6. Omat komennot ja lauseympäristöt Markus Harju. Matemaattiset tieteet

Transkriptio:

Käyttöjärjestelmät: Virtuaalimuisti Teemu Saarelainen Tietotekniikka teemu.saarelainen@kyamk.fi Lähteet Stallings, W. Operating Systems Haikala, Järvinen, Käyttöjärjestelmät Eri Web-lähteet Muistinhallinta ja virtuaalimuisti Kaikki muistiviittaukset ohjelman sisällä ovat loogisia (suhteellisia) muistiosoitteita Muistiviittaukset käännetään ajoaikana todellisiksi fyysisiksi muistiosoitteiksi Prosessi voi välillä olla ajossa (suorituksessa prosessorilla) ja keskusmuistissa, välillä taas levyllä sijainti siis vaihtelee 1

Muistinhallinta ja virtuaalimuisti Prosessi voi olla hajautunut useaan osaan (sivu, segmentti) Eivät välttämättä sijaitse peräkkäin Mitä tästä seuraa? Kaikkien ohjelman osien ei tarvitse olla keskusmuistissa ajoaikana! Ohjelman suoritus ja virtuaalimuisti Ohjelman käynnistyessä KJ tuo keskusmuistiin vain osia prosessista (ei siis talleta sitä kokonaan keskusmuistiin) Tätä keskusmuistissa oleva prosessin osa = resident set Niin kauan kuin muistiviittaukset osuvat resident set:iin, kaikki sujuu hyvin Mitä tapahtuu, jos prosessin suorituksen aikana tarvitaan osaa, joka ei ole keskusmuistissa? CPU generoi keskeytyksen KJ laittaa prosessin blocked-tilaan Prosessin tarvittava osa pitää hakea keskusmuistiin 2

Ohjelman suoritus ja virtuaalimuisti Miten prosessin osa tuodaan keskusmuistiin? Keskeytyksen jälkeen ko. prosessi siis blokataan KJ pyytää levyluku-operaatiota (disk I/O) Pyynnön jälkeen joku toinen prosessi voidaan laittaa suoritukseen Kun levyluku-operaatio on valmis, tulee I/O-keskeytys KJ käsittelee em. keskeytyksen ja siirtää blokatun prosessin Ready-tilaan Alkuperäinen prosessi voi taas jatkaa suoritusta Mitä hyötyjä tästä seuraa? Onko tässä toiminnassa mitään järkeä? Prosessihan keskeytetään vain, koska se ei ollut kokonaan keskusmuistissa! Tehokkuus riippuu monesta seikasta, mutta ainakin: 1. Enemmän prosesseja voi olla samaan aikaan keskusmuistissa Vain pieni osa prosessista tarvitaan kerrallaan Todennäköisesti useampi prosessi on Ready-tilassa 2. Prosessin koko voi olla suurempi kuin saatavilla oleva keskusmuisti 3

Muistityypit Real memory = todellinen muisti eli keskusmuisti Virtual memory = virtuaalimuisti eli levyllä oleva muisti mahdollistaa hyvin tehokkaan moniajon ja ohjelmoinnin ei enää ongelmaa rajallisesta muistista Trashing = ruuhkautuminen Keskusmuistissa kannattaa olla mahdollisimman paljon prosesseja eli oletetaan, että keskusmuisti on täynnä Kun uutta prosessin osaa haetaan levyltä keskusmuistiin, pitää joku osanen heittää keskusmuistista levylle Voi tapahtua niin, että prosessin osa heitetään levylle (swap) juuri ennen kuin sitä tarvitaan Prosessori käyttääkin suurimman osan ajasta heittovaihtaessa (swapping), eikä ohjelmien käskyjä suorittaen 4

Paikallisuusperiaate Ohjelma- ja dataviittaukset prosessin sisällä kohdistuvat yleensä pienelle alueelle (klusteroituminen) Vain muutamia osia prosessista tarvitaan lyhyessä ajassa Voidaan tehdä sivistynyt arvaus siitä, mitä osia saatetaan tarvita Virtuaalimuistin käyttö saattaisi siis toimia hyvinkin tehokkaasti Tuki virtuaalimuistille Raudan tulee tukea sivutusta KJ:n tulee toteuttaa sivujen siirtäminen ja niiden hallinta keskusmuistin ja levymuistin välillä 5

Sivutus Jokaisella prosessilla on oma sivutaulunsa Jokainen sivutaulun rivi sisältää tiedon sivun sijainnista keskusmuistissa Lisäksi tarvitaan bitti, joka kertoo onko sivu keskusmuistissa vai levyllä Sivutus P-bitti kertoo onko sivu keskusmuistissa Lisäksi tarvitaan M-bitti, joka kertoo onko sivua muutettu sen jälkeen, kun se ladattiin keskusmuistiin Jos sivua ei ole muutettu, niin sitä ei tarvitse päivittää levylle heittovaihdon yhteydessä 6

7

Sivutaulut ja virtuaalimuisti Prosessien sivutaulut ovat myös sivutettuna ja (mahdollisesti) virtuaalimuistissa Eli prosessin ollessa ajossa, osa sivutaulusta on keskusmuistissa, osa virtuaalimuistissa TLB = Translation lookaside buffer Jokainen virtuaalimuistin viittaus voi aiheuttaa kaksi fyysisen muistin viittausta sivutaulun haku varsinaisen datan haku Ratkaisuna on nopea välimuisti sivutaulua varten, TLB osa sivutaulujen tiedoista on saatavilla nopeasti Paikallisuusperiaate toimii tässäkin: TLB:ssä on tallessa viimeiseksi käytetyt sivutaulutiedot 8

Sivun koko Pienempi sivun koko: vähemmän sisäistä pirstoutumista enemmän sivuja / prosessi suuremmat sivutaulut enemmän sivutaulujen osia virtuaalimuistissa Levyt on suunniteltu siirtämään suuria määriä tietoja suurempi sivun koko on parempi 9

10