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



Samankaltaiset tiedostot
Osio 2: Luennot 4-7 Muistinhallinta

Osio 2: Luennot 5-8 Muistinhallinta

MUISTINHALLINTA. Stallings, Luku 7

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

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

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

MUISTINHALLINTA. Stallings, Luku 7

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

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

Osio 2: Luennot 5-8 Muistinhallinta

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

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

Luento 6: VIRTUAALIMUISTI

Käyttöjärjestelmät II

Käyttöjärjestelmän rakenne

Käyttöjärjestelmät: prosessit

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ö

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

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

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

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

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

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

Luento 9 Järjestelmän ulkoinen muisti

Luento 3: PROSESSIT JA NIIDEN HALLINTA

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

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

Prosessi perinteisesti

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

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

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

Luento 2: LAITTEISTOSTA

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

Käyttöjärjestelmät: Virtuaalimuisti

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

Muistihierarkia Kiintolevyt I/O:n toteutus

Stallings, Luku

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

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

Tietokoneen toiminta (Computer Organization I)

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

Tietokoneen toiminta (Computer Organization I)

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ä

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

Tietokoneen toiminta (Computer Organization I)

Algoritmit 1. Luento 4 Ke Timo Männikkö

PROSESSIT JA NIIDEN HALLINTA

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

Tietokoneen toiminta (Computer Organization I)

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

Tietokoneen toiminta, K Tavoitteet (4)

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

Järjestelmän ulkoinen muisti I/O

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

Luento 8 Ohjelman toteutus järjestelmässä

Luento 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

Jakso 8 Ohjelman toteutus järjestelmässä

Rakenteiset tietotyypit Moniulotteiset taulukot

811312A Tietorakenteet ja algoritmit II Perustietorakenteet

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Algoritmit 1. Luento 3 Ti Timo Männikkö

Tietorakenteet ja algoritmit

1. Keskusyksikön rakenne

Ohjelmoinnin perusteet Y Python

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

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

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

Käännös, linkitys ja lataus

Tietokoneen rakenne (2 ov / 4 op) Syksy 2006

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

MUISTINHALLINNAN OHJELMISTO

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

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

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

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

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

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

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: poissulkeminen ja synkronointi

Sisältöä SÄIKEET, SMP

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

Luento 8 Ohjelman toteutus järjestelmässä

MUISTINHALLINNAN OHJELMISTO: Sivutuksen algoritmit. Stallings, Luku 8.2

Muistinhallinta. Teemu s Cheesecake. Tietokoneen rakenne

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

Muistihierarkia Kiintolevyt I/O:n toteutus

Tietorakenteet ja algoritmit - syksy

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

Tietokoneen toiminta, Kevät Copyright Teemu Kerola Järjestelmän eri tasot Laitteiston nopeus

Transkriptio:

Käyttöjärjestelmät t I Osio 2: Luennot 4-7 Muistinhallinta Tiina Niklander; kalvot Auvo Häkkinen YKSINKERTAINEN MUISTINHALLINTA Stallings, Luku 7 Tietojenkäsittelytieteen laitos Helsingin yliopisto KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-2 Sisält ltöä 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) YLEISTÄ MUISTINHALLINNASTA Yksinkertainen = prosessi aina kokonaan muistissa tai kokonaan levyllä KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-3 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-4 Fyysinen muisti Fyysinen muisti, sitä voi potkaista u muistiavaruus u laitteisto (MMU, väylät) käyttää fyysisiä osoitteita Keskusmuisti u koodin + käsiteltävän datan suoritusaik. tallennus u joukko peräkkäisiä tavuja Tukimuisti u tiedon (ohjelmat, data) pysyvä tallennus u joukko peräkkäisiä lohkoja Siirto näiden välillä muistinhallinnan ja tiedostojärjestelmän leipätyötä u mahd. automaattisesti KJ:n toimesta Looginen muisti prosessin osoiteavaruus u loogiset osoitteet eli virtuaaliosoitteet voi olla suurempi kuin fyysinen muisti kullakin prosessilla oma osoiteavaruus u osoitteet suhteellisia alun suhteen (0..MAX) sovellus jakaantuu loogisesti moduuleihin u ne voidaan tehdä eri aikoina, osoitteiden paikkaus linkityksessä u erilaisia käyttöoikeuksia F koodi R (vapaakäyntisyys) F data R / W / RW u osa moduuleista tarkoitettu yhteiskäyttöön KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-5 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-6 4-1

Prosessin rakenne PCB Ohjelma-alue Data-alue Pino alueen lopussa Suhteellisia viittauksia prosessin omalla muistialueella Yleistä muistinhallinnasta Ytimelle voidaan sallia kiinteä paikka muistissa u voi käyttää suoraan fyysisiä osoitteita Loppu KJ:n muille osille ja sovelluksille KJ huolehtii siitä, että muistiin mahtuu mahd. monta prosessia u vapaan / varatun tilan hallinta Laitteisto huolehtii siitä, etteivät prosessit sotke toisiaan u MMU KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-7 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-8 Muistinhallinta: vaatimuksia Vapaa sijoitettavuus Heittovaihto u KJ voi siirtää prosesseja välillä levylle u KJ voi ottaa suoritettavaksi useampia prosesseja u prosessin paikka voi vaihdella suorituksen aikana Ohjelmoija ei voi tietää minnepäin muistia sovellus sijoittuu suoritusaikana u suhteelliset osoitteet Viittaukset fyysiksi osoitteiksi viimeistään ennen muistinoutoa/talletusta Ł Ajonaikainen osoitemuunnos MMU:ssa Muistinhallinta: vaatimuksia Suojaus Luvatta ei saa käyttää toisen muistialueita Osoitetarkistus käännösaikana mahdotonta u sovelluksen moduulit voidaan kääntää eri aikoina u prosessien sijainti voi vaihtua suoritusaikana u käskykanta voi sallia osoitustapoja, joissa osoite lasketaan suoritusaikana KJ ei voi sitä tehdä! Ł Ajonaikainen laillisuustarkistus osittain MMU:ssa ja osittain KJ:ssa KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-9 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-10 Muistinhallinta: vaatimuksia Yhteiskäyttö Sallittava yhteisen koodin / datan käyttö u suojauksista tinkimättä! Koodi ei muutu suorituksen kuluessa u vapaakäyntisyys (reentrancy) u järkevämpää sallia koodin yhteiskäyttö kuin pitää muistissa useita kopioita Monet prosessit tekevät yhteistyötä muiden kanssa, joten niillä yhteisiä tietorakenteita u Esim. tuottajalla ja kuluttaja yhteinen puskuri YKSINKERTAINEN MUISTINHALLINTA Ł käytä säikeitä, palvelupyyntöjä KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-11 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-12 4-2

Yksink. muistinhallinta = Prosessi kokonaan muistiin / levylle Jos ohjelma > fyysisen muistin koko, sitä ei välttämättä pystytä suorittamaan Menetelmät: u a) kiinteä partitiointi u b) dynaaminen partitiointi u c) Buddy System u d) yksinkertainen segmentointi u e) yksinkertainen sivutus Katso ns. katoava kansanperinne u ei paljon käyttöä nykyisissä järjestelmissä u kuuluu kuitenkin KJ:n peruskäsitteistöön a) Kiinteät partitiot KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-13 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-14 Kiinteät partitiot KJ (operaattori) jakoi muistin kiinteänkokoisiin partitioihin Varausalueet olivat kaikki yhtäsuuria tai niiden koot saattoivat vaihdella Ohjelma, joka oli pienempi tai yhtäsuuri kuin partitio, voitiin ladata ja ajaa ko. partitiossa Kiinteät partitiot Jos ei riittävän suurta vapaata partitiota, KJ teki tilaa heittovaihdolla u joku prosessi levylle u PCB jäi muistiin Jos ohjelma niin iso, ettei sopinut mihinkään partitioon, piti ohjelmoijan ratkaista tilanne u kerrostus (overlaying) F ohjelmoijan hoitama segmentointi u vain osa ohjelmasta muistissa u piti koodata mitä osia (aliohjelmia, segmenttejä ) kullakin hetkellä muistissa ja missä kohdassa KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-15 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-16 Kiinteät partitiot Muistin käyttö melko tehotonta u varattiin aina kokonainen partitio, vaikka vähempikin olisi riittänyt Sisäinen pirstoutuminen (internal fragmentation) u partitioiden sisälle jäi tyhjää tilaa u vapaa tila yhdessä olisi saattanut riittää uudelle prosessille, mutta se ei ollut yhtenäisellä alueella Kiinteät partitiot: Sijoitus Jos kaikki partitiot samankokoisia u jos vapaita, valitse joku niistä u jos kaikki varattuja, heittovaihda joku Blockedprosessi levylle F tilaa vapautuu aina saman verran Jos partitiot eri kokoisia u valitse pienin partitio, johon prosessi sopii F yritti minimoida sisäistä pirstoutumista u a) erikokoisille partitioille omat prosessijononsa F partitiokoko yksi työn parametreista u b) yksi jono, josta valittiin johonkin vapaaseen partitioon KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-17 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-18 4-3

Kiinteät partitiot: Sijoitus b) Dynaaminen partitiointi Kuva 7.3 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-19 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-20 Dynaaminen partitiointi Dynaaminen partitiointi Kuva Kuva 7.4 Ei etukäteen partitiointia Varausten koot ja lukumäärä vaihtelivat dynaamisesti prosessien tarpeiden mukaan Prosessille muistia vain sen verran kuin tarvitsi Ulkoinen pirstoutuminen (external fragmentation) u varausten / vapautusten tuloksena väleihin jäi pieniä vapaita alueita KJ tiivisti muistia välillä (compaction) u prosesseja siirreltiin, jotta vapaa tila yhteen kohtaan u yleisrasite Vaiheessa (d) ei enää tilaa prosessille 4, koko 8 M Jos kaikki 3 prosessia joutuivat Blocked-tilaan, KJ otti uuden P4:n suoritettavaksi KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-21 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-22 Dynaaminen partitiointi 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 Niinpä KJ heitti P2:n ulos (e) ja P4 sai sen paikan (f) Aikanaan P2 pääsi taas Ready-tilaan Kun muistissa ei Ready-prosesseja, KJ vaihtoi P2:n muistiin Ł Tuloksena 3 pirstaletta: 6M + 6M + 4M = 14M Next-fit jatka etsintää edellisestä kohdasta KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-23 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-24 4-4

Paras sijoitusalgoritmi? First fit u yksinkertainen u helpoin toteuttaa tehokkaasti (paras) u isosta aukosta jää jäljelle isohko aukko Best fit u hyvä nimi, mutta tuloksena mahd. pieniä aukkoja u tuloksena nopeimmin pirstoutuminen Next fit u varaukset / aukot muistin loppuosaan Toteutus: linkitetty lista, jossa vapaat alueet koon tai osoitteen mukaisessa järjestyksessä u kumpi parempi? u (osoite,pituus) (osoite,pituus) KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-25 Poistoalgoritmi Kun muistissa vain Blocked-prosesseja, kannatti ottaa uusi prosessi suoritukseen u ettei CPU jouten u heittovaihda joku levylle u poistettava prosessi Blocked-Suspend-tilaan u uusi prosessi tilaan Ready-Suspend tai Ready Mikä pois, jotta saatiin sopivasti vapaata? u iso vs. pieni u sellainen, jonka vieressä iso tyhjä alue u pieni vs. suuri prioriteetti KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-26 c) Buddy System Buddy System Kompromissi kahdesta em. menetelmästä u kiinteät partitiokoot, mutta dynaaminen jako partitioihin u ei haluta jättää pieniä tyhjiä tiloja u varaa pikkuisen enemmänkin kuin tarve vaatii Varausyksikön koko ilmaistavissa 2:n potenssissa u suurin mahdollinen yleensä koko muisti u pienimmälle varausyksikölle joku minimikoko Fyksinkertaistaa vapaiden alueiden kirjanpitoa Varaukset ja vapaiden alueiden yhdistely toteutettavissa tehokkaasti KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-27 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-28 Buddy System Buddy System: esimerkki KJ ylläpitää kustakin koosta omaa listaa u lista osoitteiden mukaisessa järjestyksessä u aluksi vain yksi suuri varausyksikkö Varaus u jos oikean kokoluokan listassa ei vapaata alkiota, jaa luokkaa suurempi alue kahdeksi pienemmäksi u toista tarvittaessa Vapautus u kun listassa kaksi fyysisesti vierekkäistä aluetta, yhdistä ne kokoluokkaa suuremmaksi alueeksi u toista tarvittaessa Puu Kuva 7.6 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-29 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-30 4-5

Buddy: varaukset puuna a) b) c) Osoitemuunnos Ohjelmassa loogiset osoitteet u kaikki suhteellisia sen alun suhteen Historia Lataaja (KJ:n osa) muutti loogiset osoitteet fyysisiksi osoitteiksi samalla, kun latasi ohjelmakoodin muistiin Nykyaika osoitemuunnos vasta käskyjä suoritettaessa KJ:n ydin voi käyttää fyysisiä osoitteita, joten kun CPU suorittaa KJ:tä, osoitemuunnosta ei tarvitse tehdä KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-31 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-32 a) b) c) Osoitemuunnos Kuva 7.8 Laitteistotuki MMU:hun muunnosta ja suojaustarkistusta varten kaksi rekisteriä u ns. kanta- ja rajarekisteri u Base prosessin fyysinen alkuosoite u Limit prosessin loppuosoite (tai pituus) Kun prosessi suoritukseen, kopioidaan näille arvot PCB:stä Fyys.osoite = loog.osoite + Base jos fyysinen osoite > Limit aiheuta poikkeus virh. muistiosoite muuten MAR <-- fyysinen osoite KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-33 KJ-I S2005 / Tiina Niklander; kalvot Auvo Häkkinen 4-34 4-6