Lataa esitys
Esittely latautuu. Ole hyvä ja odota
1
9. Järjestelmän ulkoinen muisti
Muistihierarkkia Tiedostojärjestelmä Kiintolevyt ja muut pyörivät levyt 16/09/2018 Liisa Marttinen kevät 2005
2
9.1 Muistihierarkia ulkoista muistia tarvitaan koska
keskusmuisti kallista keskusmuistin koko rajallinen keskusmuistin sisältö tuhoutuu virran katkettua ulkoinen muisti on halvempaa per tavu ulkoinen muisti on paljon hitaampaa 16/09/2018 Liisa Marttinen kevät 2005
3
ajan ja tilan optimointia
Suuret tietomäärät täytyy pitää ulkoisessa muistissa (kustannussyistä) Pienet tietomäärät kannattaa pitää sisäisessä muistissa tehokkuussyistä Suoritusaikana voidaan viitata vain keskusmuistissa olevaan tietoon! 16/09/2018 Liisa Marttinen kevät 2005
4
Muistihierarkia Prosessori 50-100 ns muutama ns rekisterit
levy Prosessori Keskusmuisti rekisterit välimuisti koodi- ja data-alueet lohkopuskuri muutama ns 10-20 ns ns 10 ms 16/09/2018 Liisa Marttinen kevät 2005
5
Virtuaalimuisti Osa muistihierarkiaa
Pyrkii vastaamaan ongelmaan: ”Miten tehdä suoritusaikaisesta muistista yhtä suuri kuin levymuisti ja yhtä nopea kuin keskusmuisti?” prosessista pidetään keskusmuistissa kulloinkin tarpeelliset osat peräkkäiset osat voivat sijaita erillään Kaikki tiedot ovat tallessa levyllä, josta ne kopioidaan tarvittaessa. 16/09/2018 Liisa Marttinen kevät 2005
6
Virtuaalimuisti Kulloinkin käytössä olevat tiedot väylä
Keskusmuistissa osa prosessin tiedoista Kulloinkin käytössä olevat tiedot väylä Levyllä prosessin koko muistialue (data + koodi + pino + keko) levyohjain Levy 16/09/2018 Liisa Marttinen kevät 2005
7
Virtuaalimuistin toteutus
toteutustavat kanta- ja rajarekisterit sivutus (segmentointi- ja sivuttava segmentointi) pääosa toteutuksesta ohjelmallisesti laitteistotuki MMU – muistinhallintatyksikkö TLB nopeuttamaan todellisen osoitteen laskentaa rakenne ja toiminta vaihtelee virtuaalimuistin toteutuksen mukaan 16/09/2018 Liisa Marttinen kevät 2005
8
Sivutus: sivut ja sivutilat
muistin sivutiloja ohjelman sivuja Ohjelman sivuja voidaan sijoittaa vapaisiin sivutiloihin. Osa sivuista voi olla levyllä. ….. 1 2 3 ………... 4 6 8 10 ohjelman sivu 2 ohjelman sivu 3 ohjelman sivu 0
9
Sivutaulu kertoo, missä prosessin sivut todella sijaitsevat sivutilan nro P-bitti M-bitti muuta 1 2 3 4 ….. 16/09/2018 Liisa Marttinen kevät 2005
10
Sivutaulun sijainti suurempi sivutaulu ei mahdu MMU:n rekistereihin, vaan se on talletettava keskusmuistiin tarvitaan kaksi muistista hakua: ensin osa taulua osoitteen selvittämiseksi ja sitten varsinainen data => HIDASTAA TLB (translation look-aside buffer) tallettaa viimeksi käytetyt sivutaulun alkiot virtuaaliosoite <=> fyysinen osoite 16/09/2018 Liisa Marttinen kevät 2005
11
TLB on nopeaa assosiatiivimuistia MMU PTR TLB MAR fyysinen ohjelman
osoite fyysinen 16/09/2018 Liisa Marttinen kevät 2005
12
Kanta- ja rajarekisteriä käyttävä järjestelmä
Osoitemuutos prosessin muistialue on yhtenäinen kokonaisuus osoitemuutos ja suojaus kanta- ja rajarekistereiden avulla (BASE, LIMIT) LIMIT BASE MAR MMU ohjelman osoite fyysinen osoite 16/09/2018 Liisa Marttinen kevät 2005
13
Jokaisesta muistiviittauksesta MMU
tarkistaa sen oikeellisuuden osoite < LIMIT muuttaa ohjelmaosoitteen fyysiseksi muistiosoitteeksi osoite = osoite +BASE jos koodille ja datalle omat muistisegmentit, niin tarvitaan kaksi paria kanta- ja rajarekistereitä 16/09/2018 Liisa Marttinen kevät 2005
14
9.2 Tiedostojärjestelmä käyttöjärjestelmän osa
varaa tilat tiedostoille pitää kirjaa tiedostojen nimistä ja niiden sijainnista talletusvälineellä välittää tiedostonsiirrossa levykäsittely lohkoittain <=> prosessi käsittelee tavuittain tiedostojen suojaus ja käytön valvonta tiedostojen käyttöoikeudet ja niiden tarkastus tiedostojen varmistus laitevirheiltä mitä kohtaa kukin prosessi on käsittelemässä 16/09/2018 Liisa Marttinen kevät 2005
15
ulkoinen muisti tiedostot anonyymejä tiedoston rakenne
~ peräkkäisiä, numeroituja lohkoa lineaariset lohkot tiedosto koostuu loogisista lohkoista tiedostot anonyymejä käyttäjän antama nimi ei ole tiedoston ominaisuus tiedoston rakenne käyttöjärjestelmän tukema rakenne IBM OS/360, Digitalin DEC/VMS vain jono tavuja UNIX
16
Levymuisti urat levykkö levypinta (1 tai 2 per levy)
150 MB – 181 GB/levykkö levykkö yhteisellä akselilla koko ajan nopeasti pyöriviä levyjä levypinta (1 tai 2 per levy) urat sektori = pienin kerralla osoitettavissa oleva osa sylinteri = päällekkäisillä urilla olevat sektorit luku/kirjoituspäät (yksi levypintaa (jopa uraa) kohden) hakuvarren päässä, liikkuvat kaikki samalla kertaa rpm 1-16 levyä/levykkö uraa/pinta sektoria/ura 0.5-8KB/sektori 1-32 uraa /sylinteri 16/09/2018 Liisa Marttinen kevät 2005
17
Levykkö hakuvarsi luku- ja kirjoituspäät kullekin pinnalle levy
levypinta Levykkö 16/09/2018 Liisa Marttinen kevät 2005
18
uria sektoreita LEVYPINTA 16/09/2018 Liisa Marttinen kevät 2005
19
... ... Ura/Sektori magnetisoituvaa ainetta - magneettitäpliä
uran leveys mikronia (mikron = mm) magneettitäplän leveys mikronia 16/09/2018 Liisa Marttinen kevät 2005
20
Poiminta- eli hajasaantimuisti
tietoa ei tarvitse käsitellä siinä järjestyksessä kuin se on talletettu tiedon osoite = levypinnan nro + uran nro + sektorin nro laiteajuri etsii KJ:n taulukoista loogisen osoitteen perusteella monesko lohko 16/09/2018 Liisa Marttinen kevät 2005
21
Saantiaika = tiedon hakuun kuluva aika saantiaika =
hakuvarren siirtoaika + pyörähdysaika + lohkon /lohkojen lukemiseen kuluva aika mekaaninen siirto: keskim 6 ms, min 2, max 15 ms keskim. puolen kierroksen aika, jos 3600rpm=> 8.33 ms yhden tai useamman sektorin tietomäärän siirtäminen: pyörähdysaika/sektorien lkm uralla x luettavien sektorien määrä (esim ms) 16/09/2018 Liisa Marttinen kevät 2005
22
Levyn lukeminen ja kirjoitus
laiteajuri laskee levypinnan, uran ja sektorin numeron laiteohjain siirtää luku- ja kirjoituspään oikealle sylinterille (seek) laiteohjain odottaa oikean lohkon pyörähtämistä kohdalle (search) ohjain siirtää yhden tai useamman sektorin levyaseman ja keskusmuistin välillä (transfer) 16/09/2018 Liisa Marttinen kevät 2005
23
Tiedostojen talletus levylle
Tiedosto koostuu useasta lohkosta lohko/sektori (lohko/usea sektori) loogisten lohkojen kuvaus lineaarisille lohkoille (~koodi ja data keskusmuistiin) peräkkäin vai sinne, mistä sattuu tilaa löytymään Levyn hakemistossa on tieto kunkin tiedoston käyttämistä lohkoista 16/09/2018 Liisa Marttinen kevät 2005
24
Tiedoston lohkot levyllä
Hakemistoalkio: Myfile Tiedoston lohkot levyllä Indeksilohko: 16/09/2018 Liisa Marttinen kevät 2005
25
Levyn käyttö muisti Virtuaalimuistin tukimuistina
Sivu (tied) Sivu (tav) Virtuaalimuistin tukimuistina tiedostojen talletukseen Virtuaalimuistin voi toteuttaa tiedostojärjestelmän päälle (sitä käyttäen) tai päinvastoin! väylä VM-tukimuisti tiedostot sivu lohko sivu levy sivu sivu sivu 16/09/2018 Liisa Marttinen kevät 2005
26
DOS-levykkeen rakenne
FAT- File Allocation Table mitkä sektorit vapaana mikä sektori minkäkin tiedoston käytössä kiinteä paikka levykkeellä kaksi kopiota Hakemisto erikoistyyppinen tiedosto hakemistoalkio joka tiedostolle 16/09/2018 Liisa Marttinen kevät 2005
27
MS/DOS FAT-taulu (File Allocation Table)
alkio jokaiselle levyn sektorille lohkot … …… 17 …. … ….. FAT 21 … FREE … …. EOL viimeinen lohko seuraava lohko 1. lineaarisen lohkon numero MY_DATA 17 hakemisto
28
21 3 -1 MY_DATA 17 FAT hakemistotiedosto FAT-taulu
lohkot … …. … MY_DATA 17 FAT 21 … FREE … … EOL
29
Lohkon koko pienin levyltä kerralla varattavissa oleva kokonaisuus voi olla usean sektorin pituinen varausyksikkö (cluster) eli lohko jos lohko liian iso, tilaa tuhlaantuu keskimäärin puolet tiedoston viimeisestä lohkosta on tyhjää tilaa lohkon koko vaikuttaa myös hakuaikaan levyn koko ja osiointi vaikuttaa lohkon pituuteen osio 128 MB: varausyksikkö 2 KB osio 2048 MB: varausyksikkö 32 KB 16/09/2018 Liisa Marttinen kevät 2005
30
Unixin ratkaisu 110 MY_DATA 110 hakemistoalkio indeksi lohko
datalohkoja 16/09/2018 Liisa Marttinen kevät 2005
31
Unixin ratkaisun ongelmia:
jokainen lohko-operaatio tarvitsee kaksi levyltä lukua indeksilohkon lukeminen datalohkon lukeminen myös pienet tiedostot tarvitsevat kaksi lohkoa indeksilohko rajoittaa tiedoston kokoa lohko = 1024 tavua (myös indeksilohko) jos lohkon numero vaatii 4 tavua => indeksilohkoon mahtuu vain 256 lohkoa siis tiedoston koko korkeintaan 256 * 1024 tavua eli 256 KB
32
Ratkaisu koko-ongelmaan käytetään kaksitasoista indeksointia
tiedoston koko voi olla 64 MB jos ei riitä otetaan käyttöön kolmitasoinen jne jokaista lohko-operaatiota varten kolme levyltä lukua! pienillekin tiedostoille kolme lohkoa! 16/09/2018 Liisa Marttinen kevät 2005
33
Kaksitasoinen indeksi
MY_DATA 110 ….. 1. indeksi 2. indeksi datalohkot 16/09/2018 Liisa Marttinen kevät 2005
34
Unixin käyttämä sekaratkaisu
tiedostojen hallintaan tietorakenne inode inode sisältää kaiken tarvittavan tiedon tiedoston hallintaan ei tiedon asiasisältöä käyttöjärjestelmän kannalta juuri inode on tiedosto 16/09/2018 Liisa Marttinen kevät 2005
35
inoden sisältö 13 lohkonumeroa tiedoston koko tavuina omistaja
tiedoston 10 ensimmäisen datalohkon numerot 1. tason indeksin numero 2. tason indeksin numero 3. tason indeksin numero tiedoston koko tavuina omistaja käyttöoikeudet yms. 16/09/2018 Liisa Marttinen kevät 2005
36
hakemistot (erityis)tiedostoja, jotka kuvaavat kuinka nimi liittyy tiedostoon hakemistoilla myös oma inode ja inode-numero, jopa oma nimi omattiedostot: inode- numero tiedoston nimi MY_DATA hakemisto
37
hakemistopuu / juuri include bin ect usr rms uwb xyz /usr/rms/huuhaa
ap joo koe huuhaa Jokainen tiedosto voidaan identifioida hakupolun avulla 16/09/2018 Liisa Marttinen kevät 2005
38
Suojaus suojausongelma ratkaisu tiedoston käytön kieltäminen toisilta
tiedoston käytön salliminen toisille ratkaisu jaetaan käyttäjät luokkiin, joille voidaan antaa eri oikeudet omistaja omistajan ryhmä muut 16/09/2018 Liisa Marttinen kevät 2005
39
Tiedoston / hakemiston käyttö
tiedostoilla oikeus lukea (r) kirjoittaa (w) suorittaa (ohjelma)tiedostoa (x) hakemistoilla oikeus listata hakemisto (r) luoda tai hävittää tiedostoja (w) käyttää hakemistoa tiedoston hakupolussa (x) 16/09/2018 Liisa Marttinen kevät 2005
40
Käyttöoikeuksien tarkistus
KJ tarkistaa tiedoston käyttöoikeudet sen avaamisen yhteydessä prosessin kuvaajassa käyttäjä- ja ryhmätunnisteet tiedostomääreissä käyttöoikeudet eri luokille käyttäjä- ja ryhmätunniste viedään prosessin kuvaajaan PCB, kun KJ kysyy käyttäjätunnuksen jokaiseen käyttäjätunnukseen liittyy käyttäjätunniste ja ryhmätunniste tiedostoa luotaessa tallentuu omistajan käyttäjätunniste ja ryhmätunniste 16/09/2018 Liisa Marttinen kevät 2005
41
uusille tiedostoille käyttöoikeuden oletusarvojen mukaan
tiedoston omistaja voi usein myös muuttaa käyttöoikeuksia unix: chmod o+r käyttöoikeuksien muutto-oikeutta ei voi luovuttaa muille 16/09/2018 Liisa Marttinen kevät 2005
42
Tiedoston käyttö prosessin käyttämä looginen tiedostonimi sidotaan todelliseen eli fyysiseen tiedostoon ohjelmointikielen lauseella tiedostoa avattaessa prosessi voi käyttää vain tiedostoja, jotka on avattu käyttöä varten 16/09/2018 Liisa Marttinen kevät 2005
43
KJ luo tarvittavat tietorakenteet
hakemistoalkio kopioidaan globaaliin ‘avoimet tiedostot’-tauluun lisätään luku/kirjoituspaikka lisätään laitenumero lisätään suojaustiedot prosessin PCB:n tiedostokuvaajatauluun viite ‘avoimet tiedostot’ -tauluun tiedoston avannut prosessi saa indeksin tiedostokuvaajatauluun prosessi voi viitata tiedostoon vain tämän indeksin avulla 16/09/2018 Liisa Marttinen kevät 2005
44
avoimet tiedosto -taulu
nimi laitenumero uid, gid rwx-bitit … r/w-positio lohkonumerot tiedosto- kuvaaja PCB prosessille indeksi tiedostokuvaajaan = 2 avoimet tiedosto -taulu 16/09/2018 Liisa Marttinen kevät 2005
45
tiedoston käyttö prosessi käyttää tiedostoa siihen koodattujen luku- ja kirjoituskäskyjen avulla kääntäjä muuttaa lausekielen I/0-käskyt käyttöjärjestelmän palvelupyynnöiksi lue tietue tiedostosta Sisafile => PUSH SP, Sisafile ; mistä tiedostosta PUSH SP, =Tietue ; minne siirretään (muistios.) PUSH SP, = ; paljonko siirretään SVC SP, =READ ; operaatio 16/09/2018 Liisa Marttinen kevät 2005
46
9.3 Erilaisia levyjä kiintolevy ZIP-levyke Levykeasema
CD (Compact Disc) DVD (Digital Versatile Disc) 16/09/2018 Liisa Marttinen kevät 2005
47
Kiintolevy Kiinteä, ei vaihdettavissa oleva levy Tila: 20 - 400 GB
(Hitachi 500 GB, TB) Hakuaika: 5-15 ms tiedon siirtonopeus MB/s pyörimisnopeus esim rpm 5-10 levyä 16/09/2018 Liisa Marttinen kevät 2005
48
Zip & Jaz -levykeasemat
vaihdettava levyke Tila: 100 MB -2 GB hakuaika: ms pyörimisnopeus: rpm siirtonopeus: 1-6 MB/sec 16/09/2018 Liisa Marttinen kevät 2005
49
Levykeasemat vaihdettava levyke Tila: 1.44 MB hakuaika: 90 ms
pyörimisnopeus: 300 rpm siirtonopeus: 0.05 MB/sec 16/09/2018 Liisa Marttinen kevät 2005
50
CD – Compact Disc vaihdettava levyke yksi pitkä spiraalimainen ’ura’
CD-R (Recordable) CD-RW (ReWriteable) yksi pitkä spiraalimainen ’ura’ Tila: 650 MB hakuaika: 90 ms pyörimisnopeus: rpm siirtonopeus: MB/sec 16/09/2018 Liisa Marttinen kevät 2005
51
DVD (Digital Video/Versatile Disk)
vaihdettava levyke DVD-ROM DVD-R (Recordable) DVD-RAM (kuten tavallinen kovalevy) Tila: GB Hakuaika: ms Pyörimisnopeus rpm Siirtonopeus 2-8 MB/sec hitaampi kuin kovalevy 16/09/2018 Liisa Marttinen kevät 2005
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.