Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

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

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

MUISTINHALLINTA. Stallings, Luku 7

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

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

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

Osio 2: Luennot 4-7 Muistinhallinta

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

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

Luento 6: VIRTUAALIMUISTI

Osio 2: Luennot 5-8 Muistinhallinta

MUISTINHALLINTA. Stallings, Luku 7

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

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

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ä.

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

Käyttöjärjestelmän rakenne

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

MUISTINHALLINNAN OHJELMISTO: Sivutuksen algoritmit. Stallings, Luku 8.2

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

Luento 9 Järjestelmän ulkoinen muisti

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

MUISTINHALLINNAN OHJELMISTO

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

Luento 9 Järjestelmän ulkoinen muisti

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

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

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

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

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Algoritmit 1. Luento 4 Ke Timo Männikkö

Luento 3: PROSESSIT JA NIIDEN HALLINTA

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

Osio 2: Luennot 5-8 Muistinhallinta

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

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. Teemu s Cheesecake. Tietokoneen rakenne

Luento 2: LAITTEISTOSTA

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

Muistihierarkia Kiintolevyt I/O:n toteutus

Käyttöjärjestelmät: Virtuaalimuisti

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

Tietokoneen toiminta (Computer Organization I)

Menetelmien vertailua

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

Prosessi perinteisesti

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

Tietokoneen toiminta (Computer Organization I)

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

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

UNIX / Solaris MUISTINHALLINTA

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

UNIX / Solaris (SVR4)

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Muistinhallinnan esimerkit UNIX, Solaris, Linux, W2000

UNIX / Solaris (SVR4)

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

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

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

RJESTELMÄ Stallings, Luku KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

Stallings, Luku

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

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

Käyttöjärjestelmät: prosessit

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

Käyttöjärjestelmät TIEDOSTOJÄRJESTELMÄ. Stallings, Luku KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 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

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

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

PROSESSIT JA NIIDEN HALLINTA

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

Järjestelmän ulkoinen muisti I/O

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

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

Rakenteiset tietotyypit Moniulotteiset taulukot

Tietorakenteet ja algoritmit

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

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

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

HELIA 1 (16) Outi Virkki Tietokantasuunnittelu

Teemun juustokakku Rekisterien, välimuistin, muistin, levymuistin ja magneettinauhan nopeudet suhteutettuna juuston hakuaikaan juustokakkua tehdessä?

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

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

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

1. Keskusyksikön rakenne

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne

Luento 1 Tietokonejärjestelmän rakenne. Järjestelmän eri tasot Laitteiston nopeus

Kertausluento luennoista 1-3 1

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

Transkriptio:

Käyttöjärjestelmät t I Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Stallings, Luku 7 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-1 Sisält ltöä (Luennot 5&6) Yleistä muistinhallinnasta (luku 7.1) Yksinkertainen muistinhallinta a) kiinteät partitiokoot (luku 7.2) b) dynaamiset partitiokoot (luku 7.2) c) Buddy System (luku 7.2) d) yksinkertainen segmentointi (luku 7.4) e) yksinkertainen sivutus (luku 7.3) KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-2 5-1

Pikakertaus: : a) b) c) a) kiinteä partitiointi - muisti jaettu osiin etukäteen - sisäinen pirstoutuminen (fragmentointi) b) dynaaminen partitiointi - muistia varataan tarpeen mukaan - ulkoinen pirstoutuminen (fragmentointi) - tiivistäminen partitioita siirtämällä c) Buddy System - dynaaminen, mutta etukäteen kiinnitetyt osiokoot, kukin koko 2 i, minimikoko asetettu - hiukan sisäistä pirstoutumista, mutta ulkoinen hallittavissa vapaiden yhdistelyllä KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-3 Kiinteät partitiot: Sijoitus Kuva 7.3 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-4 5-2

Dyn.. part.: sijoitus Kuva Kuva 7.5 Mistä kohtaa varataan? Tavoitteena vähäinen tiivistämistarve Best-fit kooltaan sopivin First-fit ens. kooltaan riittävän suuri Next-fit jatka etsintää edellisestä kohdasta KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-5 Buddy System: esimerkki Kuva 7.6 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-6 5-3

a) b) c) Osoitemuunnos Koko prosessi yhdessä partitiossa Ohjelmassa loogiset osoitteet u Suhteellisia ohjelman alun suhteen u Vapaa sijoitettavuus Osoitemuunnos vasta käskyjä suoritettaessa MMU:n tehtävä u Prosessorilta tulee käskyssä ollut looginen osoite u Prosessi yhdessä partitiossa u MMU muuntaa sen fyysiseksi osoitteeksi FKanta ja rajarekisterit partitioihin viittaamiseksi FBase prosessin fyysinen alkuosoite FBounds prosessin loppuosoite (tai pituus) KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-7 a) b) c) Osoitemuunnos Kuva 7.8 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-8 5-4

Käyttöjärjestelmät I d) Yksinkertainen segmentointi KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-9 Yksinkertainen segmentointi Ohjelmoija tai kääntäjä jakaa ohjelman kooltaan erilaisiin loogisiin kokonaisuuksiin, segmentteihin u segmentti = esim. data-alue tai muutama aliohjelma Kääntäjä tuottaa koodia, jossa segmentin sisäiset loogiset osoitteet u osoite tavallaan muotoa (segmentti,siirtymä) Falkupään bitit kertoo segmenttinumeron Floppupään bitit kertoo siirtymän segm. sisällä Järjestelmässä yleensä segmentin maksimikoko KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-10 5-5

Segmentointi Kuva 7.11 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-11 Yksinkertainen segmentointi Kun KJ lataa prosessin muistiin, se voi sijoitella segmentit vapaasti muistiin u kun käytössä yksinkertainen muistinhallinta, KJ tuo kaikki segmentit kerralla muistiin u muistia varataan aiemmin esitetyillä menetelmillä segmenttikohtaisesti KJ ylläpitää prosessin segmenttitaulua u PCB:ssä segmenttitaulun fyysinen alkuosoite Fosoite MMU:hun, kun prosessi suoritukseen u alkioissa kunkin segmentin fyysinen alkuosoite (Base) ja pituus (Length) KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-12 5-6

d) Osoitemuunnos Kuva 8.12 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-13 Looginen vs Fyysinen osoite = 4848 752 8224 HUOM: aito yhteen- lasku 8976 = KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-14 5-7

Arviointia 1/2 Segmenttitaulun alkiossa alkuosoite ja pituus u segmentin kokoa helppo kasvattaa/pienentää dynaamisesti Fsaattaa vaatia segmentin uudelleensijoittamista u osoitteen oikeellisuus tarkistettavissa MMU:ssa Segmentti sopiva suojauksen yksikkö u ohjelmoija määrittelee segmentit ja käyttöoikeudet u käyttötapa kopioitu segmenttitaulun alkioon KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-15 Arviointia 2/2 Prosessille helpompi löytää paikka muistista u varattava alue kooltaan jo selvästi pienempi Ongelmana edelleen muistin pirstoutuminen u segmentit eri kokoisia u muistin tiivistämistarve Ratkaisu: sivutus u jaa ohjelma aina vakiokokoisiiin sivuihin u varaa muistia aina sivunkokoisina palasina KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-16 5-8

Käyttöjärjestelmät I e) Yksinkertainen sivutus KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-17 Yksinkertainen sivutus KJ varaa muistia sivutila kerrallaan (page frame) u kaikki samankokoisia u suhteellisen pieniä, esim. 1KB tai 4 KB u koko aina joku 2:sen potenssi Fkäsittely helppoa laitetasolla KJ käsittelee ohjelmaa sivuina (page) u sivu ja sivutila samankokoisia KJ sijoittaa prosessin sivut vapaisiin sivutiloihin u Kun käytössä yksinkertainen muistinhallinta, KJ tuo kaikki sivut kerralla muistiin / vapauttaa KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-18 5-9

Sivutus Kuva 7.11 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-19 Yksinkertainen sivutus KJ pitää prosessikohtaista sivutaulua (page table) u PCB:ssä sivutaulun fyysinen alkuosoite F osoite MMU:hun, kun prosessi suoritukseen u alkiossa tieto sivutilasta, jossa ko. sivu majailee Looginen osoite muodostuu nyt parista (sivunumero, siirtymä) Fbittijonon alkupään bitit kertoo sivunumeron Fbittijonon loppupään bitit siirtymän sivun sisällä Vain viimeinen sivu voi aih. pirstoutumista KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-20 5-10

Esimerkki muistin käytöstä (d) Prosessi D (5 sivua) ei sovi muistiin KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-21 Esimerkki (jatkuu) Kuva 7.9 (e) KJ heittovaihtaa prosessin B levylle (f) KJ lataa prosessin D muistiin (5 sivua) Prosessin D sivut eivät sijaitse peräkkäin Ei ulk. pirstoutumista Sis. pirstoutumista keskim. 1/2 sivutilaa per prosessi KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-22 5-11

Esimerkin prosessien sivutaulut Jokaisella prosessilla ikioma sivutaulu u Sivutaulun alkiossa sen sivutilan numero, jossa sivu sijaitsee KJ:llä sivutilataulu (tai linkitetty lista), josta käy ilmi mitkä sivutilat vapaita KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-23 Osoitemuunnos Kuva 8.3 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-24 5-12

Looginen vs Fyysinen osoite Kuva 7.12 = 1502 1 478 6 HUOM: kate- nointi 6*1024 + 478 = 6766 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-25 Segmentointi vai Sivutus Pirstoutuminen u segmentointi aiheuttaa ulkoista, sivutus sisäistä u segmentoinnin yhteydessä muistin tiivistämistä Osoitemuunnos MMU:ssa u rekisteri, jossa segmentti-/sivutaulun fyys. osoite u segmentoinnissa yhteenlaskua (yht.laskulaitteistoa) u sivutuksessa katenointia (helppoa) KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-26 5-13

Segmentointi vai Sivutus Sivutus ohjelmoijalle näkymätöntä, segmentointi ei Segmentti suojauksen kannalta loogisempi yksikkö kuin sivu Segmentointi sopii hyvin rutiinien dynaamiseen linkitykseen (yhteiskäyttö helpompi järjestää) Miksei molemmat: Yhdistettävissä! KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-27 5-14

Yhteenveto Menetelmä Kiinteä partitio Dynaaminen partitio Buddy System Yks. segmentointi Yks. sivutus kuvaus Muisti jaettu etukäteen osiin. Prosessin vain yhdessä osassa. Muistia varataan tarpeen mukaan. Prosessin vain yhdessä osassa. Muistinvar. dyn., mutta kiinteänkokoisina osina. Prosessin vain yhdessä osassa. Prosessi jaettu segmentteihin. Segm. sijoitettavissa vapaasti. prosessi ja muisti jaettu sivuihin. Sij. vapaasti vahvuudet helppo toteutus ei sis. pirst. par. muistin käyttöaste ei juurikaan ulkoista pirstoutumista ei sis. pirst. par. muistin käyttöaste ei ulk. pirst. heikkoudet sisäinen pirstoutuminen maksimi prosessimäärä rajoitettu ulkoinen pirstoutuminen, tiivistämistarve vähäinen sisäinen pirstoutuminen ulkoinen pirstoutuminen hyvin vähän sis. pirst. (vain viimeinen sivu) KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-29 5-15