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

Samankaltaiset tiedostot
Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

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 YKSINKERTAINEN MUISTINHALLINTA. ltöä YLEISTÄ MUISTINHALLINNASTA. Looginen muisti.

Osio 2: Luennot 4-7 Muistinhallinta

MUISTINHALLINTA. Stallings, Luku 7

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

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

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

Käyttöjärjestelmät II

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

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

Käyttöjärjestelmän rakenne

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

MUISTINHALLINNAN OHJELMISTO: Sivutuksen algoritmit. Stallings, Luku 8.2

Luento 9 Järjestelmän ulkoinen muisti

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

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

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

MUISTINHALLINNAN OHJELMISTO

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

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

Luento 2: LAITTEISTOSTA

Luento 9 Järjestelmän ulkoinen muisti

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

Muistinhallinta. Teemu s Cheesecake. Tietokoneen rakenne

Luento 9 Järjestelmän ulkoinen muisti

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

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

Algoritmit 1. Luento 4 Ke Timo Männikkö

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

Stallings, Luku

Muistihierarkia Kiintolevyt I/O:n toteutus

Tietokoneen toiminta (Computer Organization I)

Käyttöjärjestelmät: Virtuaalimuisti

Menetelmien vertailua

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

Tietokoneen toiminta (Computer Organization I)

Käyttöjärjestelmät TIEDOSTOJÄRJESTELMÄ. Stallings, Luku KJ-I S2003 / Auvo Häkkinen, CT50A2602 / Leena Ikonen 8-1

Prosessi perinteisesti

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

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

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

UNIX / Solaris MUISTINHALLINTA

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

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

UNIX / Solaris (SVR4)

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

Tietokoneen toiminta (Computer Organization I)

Tietokoneen toiminta (Computer Organization I)

Muistinhallinnan esimerkit UNIX, Solaris, Linux, W2000

UNIX / Solaris (SVR4)

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

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

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

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

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

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

PROSESSIT JA NIIDEN HALLINTA

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

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

Järjestelmän ulkoinen muisti I/O

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

Ongelma(t): Miten tietokoneen komponentteja voi ohjata siten, että ne tekevät yhdessä jotakin järkevää? Voiko tietokonetta ohjata (ohjelmoida) siten,

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

Tietorakenteet ja algoritmit

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

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

Luento 5 (verkkoluento 5) Suoritin ja väylä

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

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

1. Keskusyksikön rakenne

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

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

Luento 4 (verkkoluento 4) Aliohjelmien toteutus

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

Transkriptio:

Käyttöjärjestelmät t I Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS Stallings, Luku 7 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-1 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-2 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 Dyn.. part.: sijoitus Kuva Kuva 7.5 Buddy System: esimerkki 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 Kuva 7.6 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-6 5-1

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 F Kanta ja rajarekisterit partitioihin viittaamiseksi FBase prosessin fyysinen alkuosoite F Bounds prosessin loppuosoite (tai pituus) a) b) c) Osoitemuunnos Kuva 7.8 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-7 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-8 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ä) F alkupää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 Segmentointi Kuva 7.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-11 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-12 5-2

d) Osoitemuunnos Kuva 8.12 Looginen vs Fyysinen osoite = 4848 752 8224 HUOM: aito yhteen- lasku 8976 = KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-13 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-14 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 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-15 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-16 Käyttöjärjestelmät I e) Yksinkertainen sivutus 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-17 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-18 5-3

Sivutus Kuva 7.11 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ä) F bittijonon 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-19 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-20 Esimerkki muistin käytöstä Esimerkki (jatkuu) (e) KJ heittovaihtaa prosessin B levylle (f) KJ lataa prosessin D muistiin (5 sivua) Kuva 7.9 Prosessin D sivut eivät sijaitse peräkkäin Ei ulk. pirstoutumista Sis. pirstoutumista keskim. 1/2 sivutilaa per prosessi (d) Prosessi D (5 sivua) ei sovi muistiin KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-21 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-22 Esimerkin prosessien sivutaulut Osoitemuunnos Kuva 8.3 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 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-24 5-4

Looginen vs Fyysinen osoite 1 478 6 = 1502 HUOM: kate- nointi Kuva 7.12 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) 6*1024 + 478 = 6766 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-25 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 5-26 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 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-5