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

Samankaltaiset tiedostot
Luento 7: VIRTUAALIMUISTIN SIVUTUS JA SEGMENTOINTI

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

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

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

VIRTUAALIMUISTI. Stallings, Luku 8.1

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

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

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

Luento 6: VIRTUAALIMUISTI

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

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

Käyttöjärjestelmät II

MUISTINHALLINTA. Stallings, Luku 7

Osio 2: Luennot 4-7 Muistinhallinta

Käyttöjärjestelmät II

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

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

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

Osio 2: Luennot 5-8 Muistinhallinta

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

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

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

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

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

MUISTINHALLINTA. Stallings, Luku 7

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

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

Luento 3: PROSESSIT JA NIIDEN HALLINTA

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

Luento 9 Järjestelmän ulkoinen muisti

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

Käyttöjärjestelmän rakenne

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

MUISTINHALLINNAN OHJELMISTO

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

MUISTINHALLINNAN OHJELMISTO: Sivutuksen algoritmit. Stallings, Luku 8.2

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

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

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

Muistinhallinta. Teemu s Cheesecake. Tietokoneen rakenne

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

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

Stallings, Luku

Luento 2: LAITTEISTOSTA

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

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ät. Tietokoneen rakenne. Stallings, Luku 1. KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 1-1

RJESTELMÄ Stallings, Luku 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

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

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

u saantimenetelmät Kenttä (field) u bittien / tavujen muodostama looginen kokonaisuus u yksi arvo, jolla tyyppi ja pituus Tietue (record)

Prosessi perinteisesti

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

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 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 TIEDOSTOJÄRJESTELMÄ. Stallings, Luku KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 8-1

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

UNIX / Solaris MUISTINHALLINTA

Muistihierarkia Kiintolevyt I/O:n toteutus

Käyttöjärjestelmät II. Muistinhallinnan esimerkit. UNIX / Solaris MUISTINHALLINTA. UNIX / Solaris (SVR4) UNIX/Solaris: Tietorakenteita

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

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

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

Tietokoneen rakenne: Harjoitustyö. Motorola MC prosessori

Tietokoneen toiminta (Computer Organization I)

UNIX / Solaris (SVR4)

Järjestelmän ulkoinen muisti I/O

Käyttöjärjestelmät: prosessit

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

Muistinhallinnan esimerkit UNIX, Solaris, Linux, W2000

UNIX / Solaris (SVR4)

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

KJ:N KEHITTYMINEN JA YLLÄPITO

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

Tieto ja sen osoite (3) Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI) Osoitinmuuttujat. Tieto ja sen osoite (5)

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Sekvenssi: kokoelma peräkkäisiä alkioita (lineaarinen

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

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

2 Konekieli, aliohjelmat, keskeytykset

Muistihierarkia Kiintolevyt I/O:n toteutus

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Ohjelmoinnin perusteet Y Python

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

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

Lyhyt kertaus osoittimista

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

Jakso 3 Konekielinen ohjelmointi (TTK-91, KOKSI)

KJ:N KEHITTYMINEN JA YLLÄPITO

Jakso 5 Suoritin ja väylä

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

Luento 5 Suoritin ja väylä

Transkriptio:

Käyttöjärjestelmät t I Luento 7: VIRTUAALIMUISTIN SIVUTUS JA SEGMENTOINTI Stallings, Luku 8.1 Sisält ltö Käänteinen sivutaulu Segmentointi Segmentointi ja sivutus yhdistettynä Yhteiskäytöstä KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-1 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-2 Sivutuksen kertaus Kuva 8.7 Sivutuksen kertaus Sivutaulu virtuaalimuistissa u Muunnos prosessin sivunumerosta sivutilanumeroksi u Kussakin alkiossa: FSivutilan numero, läsnäolobitti, muutettu-bitti,... Osoitteenmuunnos u Katenoimalla Osoitemuunnospuskuri TLB u MMU:ssa; juuri äsken käytettyjä muunnoksia 2-tasoinen sivutaulu Sivukoko? 512 tavusta aina 256 megatavuun KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-3 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-4 Käyttöjärjestelmät I KÄÄNTEINEN SIVUTAULU Käänteinen sivutaulu Fyys.muisti pienempi kuin virtuaaliavaruus Kirjaa sivutilakohtaisesti mikä sivu sijaitsee ko. sivutilassa u vain yksi globaali käänteinen sivutaulu u yksi alkio per fyysinen sivutila, jossa ko. sivutilassa sijaitsevan sivun numero Jokaisella prosessilla sivu 0, 1, 2,... miten tiedetään minkä prosessin sivu kyseessä? u alkiossa myös prosessin numero (pid) u MMU:hun rekisteri, jossa suoritettavan prosessin pid KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-5 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-6 7-1

Käänteinen sivutaulu Käänteisen ST:n indeksit sivutilan numeroita, mutta prosessin osoitteesta käy ilmi sivunumero ja siirtymä u etsittävä sisällön perusteella Etsintä peräkkäishakuna tehotonta Käytetään apuna hajautustaulua u käytä hajautinta indeksin laskentaan, etsi kotisolusta u samaan hajautusosoitteeseen kuvautuvat alkiot linkitetty toisiinsa Jos sivun tiedot ei listassa, aiheuta sivunpuutoskeskeytys Käyttökelpoinen vain jos TLB riittävän suuri Käänteinen sivutaulu 4. ed Kuva 8.6 (Täydennetty) KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-7 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-8 Käänteinen sivutaulu v.2 Käyttöjärjestelmät I Sivutilan (kehyksen) numero u Suoraan taulun indeksi u Ei tarvitse tallettaa tauluun 5. ed j SEGMENTOINTI KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-9 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-10 Segmentointi Kuva 7.11 Segmentointi Perusideoiltaan samanlainen kuin sivutus, yksiköt vain keskenään erikokoisia segmenttejä Jokaisella prosessilla oma segmenttitaulu u Kertoo missä tämän prosessin segmentit sijaitsevat Osoitemuunnos segmenttitaulun avulla TLB:n käyttö kuten edellä MMU:n rekisterissä nyt segmenttitaulun fyysinen osoite KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-11 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-12 7-2

Segmenttitaulu Kuva 8.2b Looginen vs Fyysinen osoite = 4848 Jokaisessa alkiossa läsnäolobitti P P=1: segmentti muistissa, alkiossa fyysinen alkuosoite sekä pituus Jokaisessa alkiossa muutettu-bitti M kuten sivutaulussa Jokaisessa alkiossa myös muuta tietoa kuten sivutaulussa 8976 = 752 8224 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-13 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-14 Osoitemuunnos segm.nro = loog. osoitteen alkubitit siirtymä = loog. osoitteen loppubitit Jos segmentin tiedot ei TLB:ssä tai V=0, nouda TLB:hen segmenttitaulun alkio osoitteesta STR + segm.nro Jos P=0, aiheuta segm.puutoskeskeytys Jos siirtymä > Length, aiheuta keskeytys virh.muistiosoite fyys. osoite = Base + Siirtymä Kun keskeytys käsitelty, sama osoite tulee viitattavaksi uudelleen Osoitemuunnos Kuva 8.12 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-15 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-16 Huomioita Segmenttitaulun alkiossa alkuosoite ja pituus u segmentin kokoa helppo kasvattaa/pienentää dynaamisesti Fsaattaa vaatia segmentin uudelleensijoittamista u osoitteen oikeellisuus tarkistettavissa MMU:ssa Segmentit erikokoisia, syntyy ulkoista pirstoutumista u Varaus/vapautus ei niin tehokasta kuin sivuilla u Muistin tiivistämistarvetta Segmentti sopiva suojauksen yksikkö u ohjelmoija määrittelee segmentit ja käyttöoikeudet u käyttötapa kopioitu segmenttitaulun alkioon Käyttöjärjestelmät I Segmentointi ja sivutus yhdistettynä KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-17 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-18 7-3

Sivuttava segmentointi Sivuttava segmentointi Tan01 4 Tan01 4-39 Eräät laitteistot ja KJ:t jakavat myös segmenttejä sivuiksi, ohessa eräs tapa u muistia helpompi hallita samankokoisina sivuina u ei ulkoista pirstoutumista u ei tiivistämistarvetta PCB Segmenttitaulu Jokaisella prosessilla u oma segmenttitaulu ja u yksi sivutaulu per segmentti Vrt. 2-tasoinen sivutaulu KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-19 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-20 Sivuttava segmentointi Sivuttava segmentointi Kuva Kuva 8.2c Looginen osoite jakautuu nyt kolmeen osaan u segmenttinumero Fsegmentin sivutaulun fyysinen osoite löytyy segmenttitaulun tästä alkiosta u sivunumero Fsivunumeroa vastaava sivutilan numero löytyy sivutaulun tästä alkiosta u siirtymä Fsivulla viitattu sana näin kaukana sivun alusta Myös segmenttitaulua / sivutaulua voidaan sivuttaa Segmentin alkuosoitteen (segment base) paikalla ko. segmentin sivutaulun fyysinen osoite P-bitti ja M-bitti vain sivutaulun alkiossa Yhteiskäytön ja suojauksen data luonnollisimmin segmenttitaulun alkiossa u oikeudet annettu koko segmenttiin (sen kaikkiin sivuihin) KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-21 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-22 Osoitemuunnos Kuva 8.13 Hyötyj tyjä Ratkaisee dynaamisen linkittämisen ongelmakohdat u uuden segmentin (dynaaminen) linkittäminen tarkoittaa vain uuden alkion lisäämistä segmenttitauluun Segmentin koko voi kasvaa sivu kerrallaan, eikä segmentille tarvitse etsiä uutta paikkaa fyysisessä muistissa Yhteiskäyttö ja käyttöoikeudet voi määrittää segmenttikohtaisiksi u kauniisti loogisten kokonaisuuksien mukaan u useita erilaisia suojaustasoja KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-23 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-24 7-4

Käyttöjärjestelmät I Yhteiskäyttö Yhteiskäytt yttö Jos usea prosessi ajaa samaa koodia, riittää siitä yksi kopio muistissa u jokaisen prosessin sivu / segmenttitaulussa viitteet yhteisen koodin ja datan sisältäviin sivutiloihin / segmentteihin u mutta kullakin prosessilla omat tilat yksityiselle datalle Koodin oltava vapaakäyntistä u ei saa muuttua Sivutus ei paras tapa yhteiskäyttöä ajatellen: u sivu kokoyksikkö, ei looginen yksikkö u käyttöoikeudet vaikea rajata funktiotasolla KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-25 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-26 Yhteiskäytt yttö: editori Tan01? Segmentointi ja yhteiskäytt yttö Segmentointi kaunis tapa yhteiskäyttöä ajatellen u ohjelman jakaminen eripituisiin segmentteihin loogisempaa kuin jakaminen tasapitkiksi sivuiksi u esim. yhteiskäyttöön tarkoitettu data omaksi segmentiksi, yksityinen data omaksi segmentiksi Ohjelmoija kertoo kääntäjälle u haluamastaan segmenttijaosta u haluamistaan käyttöoikeuksista Kääntäjä muodostaa tällä perusteella ohjelman loogiset osoitteet u segmentti ja siirtymä sen sisällä KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-27 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-28 Erilaisia suojausryhmiä kuva 8.14 Mahdollinen luokittelu: Ei saa käyttää lainkaan Saa käyttää vain dataa Saa käyttää vain koodia (???) Saa käyttää sekä koodia että dataa Toteutuksessa huomioitavaa Työjoukon koko u paljonko tilaa varataan per prosessi? Hakupolitiikka u milloin sivu / segmentti tuodaan muistiin? Sijoituspolitiikka u minne prosessin sivu / segmentti sijoitetaan? Poistopolitiikka: u mikä varaus vapautetaan? u globaali/lokaali: joku sivu / joku prosessin oma sivu? Ei käsitellä tällä kurssilla (=> KJ-II) KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-29 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-30 7-5

Yhteenvetoa ks. Taulukko 8.1 Sivutus Keskusmuisti jaettu vakiokokoisiin sivutiloihin KJ jakaa prosessin vakiokokoisiin sivuihin Prosessikoht. sivutaulut: missä sivutilassa sivu sijaitsee Virt.os: (sivu, siirtymä) Sisäistä pirstoutumista Vapaiden sivutilojen lista Segmentointi Ohjelmoija/kääntäjä jakaa prosessin vaihtelevankok. segmentteihin Prosessikoht. segmenttitaulut: segmentin alkuos. ja pituus Virt.os: (segmentti, siirtymä) Ulkoista pirstoutumista muistin tiivistämistarve Vapaiden muistialueiden lista Kertauskysymyksiä Miten paikallisuus ja virtuaalimuisti liittyvät toisiinsa? Mitä tietoa on talletettava sivutauluun? Entä segmenttitauluun? Miksi segmentointi aiheuttaa muistin tiivistämistarvetta, mutta sivutus ei? Miksi osoitemuunnos vasta ajoaikana? Mitä hyötyä on TLB:n käytöstä? Mitä on TLB:n sisältönä? Kaikki sivut ei muistissa: läsnäolobitti SivuT:n alkiossa Kaikki segmentit ei muistissa läsnäolobitti SegT:n alkiossa KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-31 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 7-32 7-6