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

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

Stallings, Luku

Sisältö SIIRRÄNTÄ. I/O-laitteiden luokittelua. Yleistä siirrännästä. Siirrännän perustekniikat. Siirtonopeuksia (teoreettisia) Kuva 11.

Stallings, Luku I/O-laitteiden luokittelua, siirtonopeuksia Siirrännän perustekniikat Siirrännän kehittyminen

KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen Stallings, Luku

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

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

Luento 2: LAITTEISTOSTA

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

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

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

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

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

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

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

Sisältöä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja TITO-kurssista. Tietokonejärjestelmä

Tietokonejärjestelmä. Tietokoneen rakenne. Ch 1 - Ch 8 [Sta06] Valikoituja paloja. TITO-kurssista. John von Neumann ja EDVAC, 1949.

Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä. Jakso 8 Ohjelman suoritus järjestelmässä. Prosessin elinkaari (9)

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

Luento 6: VIRTUAALIMUISTI

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

Luento 7: VIRTUAALIMUISTIN SIVUTUS JA SEGMENTOINTI

Käyttöjärjestelmät II

Käyttöjärjestelmät II

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

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

Järjestelmän ulkoinen muisti I/O

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

Osio 2: Luennot 5-8 Muistinhallinta

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

Luento 3: PROSESSIT JA NIIDEN HALLINTA

Osio 2: Luennot 4-7 Muistinhallinta

TIEDOSTOJÄRJESTELMÄ. Sisältöä. Stallings, Luku Peruskäsitteistöä, tehtäviä ja tavoitteita Järjestelmän rakenne Tiedostojen organisointi

Sisältöä TIEDOSTOJÄRJESTELMÄ. Perustermit. Peruskäsitteistöä. Perustermit. KJ:n tiedostojärjestelmä. Käyttöjärjestelmät

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

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

Luento 9 Järjestelmän ulkoinen muisti

TIEDOSTOJÄRJESTELMÄ. Sisältöä. Stallings, Luku Peruskäsitteistöä, tehtäviä ja tavoitteita Järjestelmän rakenne Tiedostojen organisointi

Luento 5: YKSINKERTAINEN SEGMENTOINTI JA SIVUTUS

Muistihierarkia Kiintolevyt I/O:n toteutus

Luento 9 Järjestelmän ulkoinen muisti

Sisältöä TIEDOSTOJÄRJESTELMÄ. Perustermit. Peruskäsitteistöä. Perustermit. KJ:n tiedostojärjestelmä. Käyttöjärjestelmät, Luento 16

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. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

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

VIRTUAALIMUISTI. Stallings, Luku 8.1

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

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

Luento 9 Järjestelmän ulkoinen muisti

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

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Luento 9 Järjestelmän ulkoinen muisti

Käyttöjärjestelmät, 8 op

Kurssin asema Käyttöjärjestelmät, 8 op. Kurssikirja. Kurssin tavoite. Kurssin rakenne: Kurssin suorittaminen. Käyttöjärjestelmät - Luento 1

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

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 8-1

Väylät. Prosessorin tie ulkomaailmaan Pienissä järjestelmissä vain yksi väylä. Osoite, data ja ohjaussignaalit Prosessori ainoa herra (master)

Luento 9 Järjestelmän ulkoinen muisti

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

Käyttöjärjestelmät, 8 op

Kurssin asema Käyttöjärjestelmät, 8 op. Siirtymävaiheen vastaavuudet. Kurssin tavoite. Kurssikirja. Kurssin rakenne:

Luento 9 Järjestelmän ulkoinen muisti

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än rakenne

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

Luento 9 Järjestelmän ulkoinen muisti. Muistihierarkia Kiintolevyt Muut pyörivät levyt I/O:n toteutus

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

Luento 9 Järjestelmän ulkoinen muisti

Käyttöjärjestelmän rajapinnat

Käyttöjärjestelmän rajapinnat. Siirräntä: Laiteajurit ja keskeytys. I/O-ohjain. I/O-ohjain. Siirtomenetelmät. Käyttöjärjestelmän rakenne

Tietokoneen toiminta, K Tavoitteet (4)

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

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

Jakso 12 Yhteenveto. Keskeiset asiat Teemu Kerola, K2000

MUISTINHALLINNAN OHJELMISTO

Jakso 8 Ohjelman toteutus järjestelmässä

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

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

Käyttöjärjestelmät: prosessit

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

1. Keskusyksikön rakenne

Luento 1 (verkkoluento 1) Tietokonejärjestelmä

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

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

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

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

2 Konekieli, aliohjelmat, keskeytykset

Muistihierarkia (4) Luento 9 Järjestelmän ulkoinen muisti

Transkriptio:

Käyttöjärjestelmät I Osio 3: Siirräntä ja tiedostojärjestelmä Tiina Niklander, kalvot Auvo Häkkinen Tietojenkäsittelytieteen laitos Helsingin yliopisto KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-1 Käyttöjärjestelmät t I Luento 8: SIIRRÄNT NTÄ Stallings, Luku 11.1-11.4 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 10-2 8-1

Sisält ltö Yleistä u I/O-laitteiden luokittelua, siirtonopeuksia u Siirrännän perustekniikat u Siirrännän kehittyminen DMA-siirto Huomioita siirrännästä u mm. hierarkia Puskurointi u Lohkopuskurit KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-3 Käyttöjärjestelmät I Yleistä siirrännästä KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-4 8-2

I/O-laitteiden luokittelua Tieto esitettävä ihmisen / koneen luettavassa muodossa Syöttö- ja tulostus u näyttö, näppäimistö, hiiri, kirjoitin,... u sensori, skanneri, kamera, mikrofoni... Pysyvä tallennus u levy, nauha, CD-ROM... Tiedonsiirto u modeemi, verkkokortit,... Eroja nopeudessa, ohjaustarpeessa, siirtoyksiköissä, tiedon esittämisessä ja virhetilanteiden hallinnassa KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-5 Siirtonopeuksia (teoreettisia) Kuva 11.1 HUOM: Logaritminen asteikko KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-6 8-3

Siirränn nnän perustekniikat Suora I/O (Programmed I/O) u CPU tutkii toistuvasti ohjaimen statusrekisteristä onko siirto valmis (busy-wait) Epäsuora I/O (Interrupt-driven I/O) u CPU antaa siirtotehtävän ohjaimelle ja jatkaa suorittamalla muita prosesseja u ohjain keskeyttää, kun siirto valmis u CPU siirtää ohjaimen ja muistin välillä DMA-siirto (Direct Memory Access) u DMA-ohjain osaa siirtää muistin ja laitteen välillä u keskeytys vasta, kun koko siirto valmis KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-7 Kuva 1.19 8-4

Siirränn nnän kehittyminen 1 CPU (=KJ) huolehtii laitteen ohjauksesta 2 Erillinen I/O-ohjain ohjaa yhtä tai useampaa laitetta, suora I/O u CPU (=KJ) tarkkailee koko ajan statusrekisteriä u Laitteen yksityiskohdat eivät enää KJ:n murheena 3 Ohjain oppii käyttämään keskeytystä u CPU (=KJ) ei odottele aktivisesti siirron valmistumista 4 Ohjain oppii siirtämään perille saakka = DMA u CPU (=KJ) vain käynnistää siirron ja tarkistaa onnistumisen Lue KJ = laiteajuri KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-9 Siirränn nnän kehittyminen 5 Erillinen I/O-prosessori + DMA u oma käskykanta u suorittaa keskusmuistissa olevaa I/O-ohjelmaa u CPU (=KJ) voi määritellä siirräntätehtävät monipuolisesti u keskeytys, kun kaikki tehty 6 Erillinen I/O-prosessori + oma muisti + DMA u ei käytä CPU-väylää I/O-ohjelmansa suorittamiseen u esim. näytönohjaimella oma prosessori ja muistia Yksityiskohdat siirretty KJ:ltä laitteistolle u tehokas toteutus KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-10 8-5

Käyttöjärjestelmät I DMA Direct Memory Access KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-11 DMA-siirto Ohjain osaa siirtää ison määrän tietoa suoraan laitteen ja keskusmuistin välillä u Keskeytys vasta, kun koko siirto valmis Käyttää muistiin viitatessa prosessoriväylää Kilpailu väylän varaamisesta u ajoitus s.e. ei häiritse CPU MEM siirtoja FCPU tarvitsee väylää käskynoudossa, operandien noudossa ja tuloksen talletuksessa u välimuistin käyttö vähentää väylän käyttöä Huom. väylän varaus laitetoiminto, ei aiheuta keskeytystä KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-12 8-6

DMA:n ajoitus Kuva 11.3 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-13 DMA-ohjaimen rakenne Kuva 11.1 CPU ja muisti Ohjattava laite/laitteet KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-14 8-7

DMA Käynnistys: KJ (ajuri) kertoo DMA-ohjaimelle u suunta: read vai write u mitä I/O-laitetta siirto koskee (jos useita) F laiteosoite: esim. levypinta, ura, sektori u montako tavua siirretään u keskusmuistialueen alkuosoite Kun siirto valmis, KJ (ajuri) tarkastaa statuksen Prosessoriväylän varaamisia voi vähentää u integroimalla DMA-ohjaimen suoraan laiteohjaimeen u kytkemällä I/O-laitteet omaan väyläänsä, jolloin niiden välinen siirto ilman CPU-väylän käyttöä KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-15 Erillinen DMA-ohjain Kaikki jakavat yhteisen väylän DMA-ohjain keskustelee myös laiteohjaimen kanssa käyttäen prosessoriväylää KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-16 8-8

DMA- ja laiteohjain yhdessä DMA ei tarvitse prosessoriväylää keskustellessaan laiteohjaimen kanssa DMA-ohjain ohjaa yhtä tai useampaa laitetta KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-17 DMA ja erillinen I/O-väyl ylä Suora siirto laitteelta toiselle käyttämättä prosessoriväylää u ei häiritse CPU:ta Helppo laajentaa KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-18 8-9

Käyttöjärjestelmät I Huomioita siirrännästä, hierarkia KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-19 Huomioita siirränn nnästä Siirräntä järjestelmän suurin pullonkaula Siirräntä oheislaitteille erittäin hidasta verrattuna CPU:n ja keskusmuistin välisiin siirtoihin (esim. levy ~ 1 : 1.000.000) Siirräntä ei pysy koskaan CPU:n vauhdissa u prosessin odoteltava siirräntää Moniajon ansiosta CPU voi suorittaa odotusaikana muita prosesseja Myös KJ:n tekemä sivutus ja heittovaihto aiheuttaa siirräntää KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-20 8-10

Huomioita siirränn nnästä Levysiirto tärkein tehostettava kohde u puskurointi Fsiirrä kerralla enemmän (levylohko) Flohkopuskurit (block cache) eli levyvälimuisti (disk cache) u ennaltanouto Ftdsto käsitellään yleensä peräkkäisjärjestyksessä u pyyntöjen uudelleenjärjestely Fminimoi hakuvarren siirrot Fpyynnöt jonottavat ajurin jonossa KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-21 Huomioita siirrs iirrännästä Siirrännän toteutus yhdenmukaisesti u kaikille laitteille samanlainen liitäntä prosessien sekä KJ:n ylimpien tasojen suuntaan u myös laitteita käsitellään tdstojärjestelmän kautta (laitetdstot) Sovelluksen käyttöön yhdenmukaiset operaatiot kaikille laitteille u open(), close(), read(), write(), lock(), unlock()... u kaikki eivät mielekkäitä kaikille laitteille Eroavat yksityiskohdat alemmille tasoille u loogisen nimen liittäminen fyysiseen laitteeseen F tdsto vs. kirjoitin u välitasoilla esim. puskurointi ja tiedonsiirron protokollat u alimpana varsinaiset laiteajurit F ohjaavat laiteohjaimen avulla laitetta KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-22 8-11

Siirränn nnän hierarkia Looginen I/O (laiteriippumaton I/O) u prosessi käyttää esim. tdston loogista nimeä u tdston rakenne = jono peräkkäisiä tavuja u operaatiot: open(), close(), read(), write(), Välitasoilla mm. puskurointi yms. u loogisen I/O:n ja fyysisen I/O:n yksiköt erilaisia Flue tavu vs. siirrä levylohko u tarkista käyttöoikeudet u lohkonumero levypinta, ura, sektori u pyyntöjen järjestely (hakuvarren siirtojen minimointi) Fyysinen I/O u siirrä hakuvartta, DMA... KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-23 Palvelupyynnöt Laiteriippumaton taso - tdstojärjestelmä - puskurointi Laiteriippuva taso - laiteajurit - jonotus, järjestys - keskeytyskäsittely Laitteisto - siirto, DMA - keskeytys Kuva 11.5 8-12

Siirränn nnän n hierarkia Tan01 Kuva 5-165 KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-25 Laiteajurit Erityyppisille laitteille omat ajurinsa Etsi ajuri laitenumeron perusteella laitekuvaajalistasta u siirtoa käynnistettäessä u siirron päättyessä (keskeytys!) Laitekuvaaja u laitteen tunnistus, device id u tilatietoa, kenelle laite varattu u mitä ajuria käyttää u mitä ajurin funktiota (handler) kutsuttava missäkin tilanteessa F open(), read(), write(), close(), keskeytys u jono pyynnöistä parametreineen F mm. linkki pyynnön tehneen prosessin PCB:hen KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-26 8-13

Käyttöjärjestelmät I Puskurointi KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-27 Siirränn nnän puskurointi Tarve u Prosessi odottaa Blocked-tilassa siirron valmistumista u Alue, jonne siirretään oltava silti muistissa Lohkoperustainen u Levyt, nauhat u kirjanpito vapaasta / varatusta tilasta lohkoittain u siirto laitteen ja muistin välillä lohko kerrallaan u hajakäsittely mahdollista (nauha?) Tavuperustainen u pääteyhteys, kirjoitin, hiiri, tiedonsiirtolinja,... u tiedon käsittely tavu kerrallaan u vain peräkkäiskäsittely KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-28 8-14

Ei puskurointia Siirto suoraan prosessin alueelle! u Prosessin muistialuetta ei voi heittovaihtaa (lukittava!) Tieto käsiteltävä samankokoisina yksikköinä prosessissa ja laitteella Käyttöä esim. reaaliaikajärjestelmissä KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-29 Yksi puskuri Ohjain siirtää tiedon KJ:n puskuriin KJ siirtää ohjelman alueelle (=muuttujaan) KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-30 8-15

Yksi puskuri Ennaltanouto (read-ahead) u KJ voi täyttää puskurin etukäteen u koska peräkkäiskäsittely yleisintä Viivästetty kirjoitus (delayed write) u prosessin kirjoittama data kootaan puskuriin u laitteelle vasta, kun puskuri täysi, tai kun prosessi sulkee laitteen (viim. lohko voi olla vajaa) Prosessin voi heittovaihtaa kokonaan u siirräntä käyttää aina KJ:n aluetta Sopii sekä lohko- että tavuperustaiseen käyttötapaan KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-31 Kaksoispuskurointi Kun prosessi käsittelee toisessa puskurissa olevaa tietoa, ohjain lukee toiseen Kun ohjain kirjoittaa puskurista laitteelle, prosessi voi täyttää toista puskuria Tuottaja - puskuri - kuluttaja -> synkronointi KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-32 8-16

Puskurien käyttk yttö renkaana Jos tuottajan ja kuluttajan nopeudessa satunnaisia eroja, useamman kuin kahden puskurin käytöstä voi olla hyötyä esim. verkkoyhteydet KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-33 Lohkopuskurit (block cache) myös nimellä levyvälimuisti (disk cache) KJ:n ylläpitämät puskurit levylohkoja varten u jos viitattu lohko muistissa, ei noutoa levyltä u jokainen prosessin I/O-pyyntö ei aiheuta levytoimintoa Tasaa erot käsiteltävän yksikön koossa u ohjelma lukee / kirjoittaa tavuja u ajuri lukee / kirjoittaa lohkoja (esim. 1024 B) u KJ ylläpitää luku / kirjoituspositiota Paikallisuus u tdstoa käydään läpi yl. peräkkäisjärjestyksessä, joten seuraava viite tulee tn. samaan lohkoon Ennaltanouto u kun tdsto avataan, ens. lohko heti lohkopuskuriin u seuraavan nouto, kun edellinen käsitelty (tai ennakoiden) KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-34 8-17

UNIX: Lohkopuskuri Tan01 6-27 Tunnussolmu laite#, lohko#, linkkejä, Modified, Free Puskurit kokonaisina erillisellä alueella tunnussolmussa viite varsinaiseen puskuriin Hajautustaulu etsinnän nopeuttamiseksi avaimena laite#, lohko# KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-35 Poistoalgoritmi Puskureissa tilaa rajallisesti Kun ei enää tilaa uusille, poistettava joku Samat ongelmat kaikessa puskuroinnissa u TLB: mikä alkio korvataan? u Välimuisti: mikä muistilohko korvataan? u Virtuaalimuisti: mikä sivutila / segmentti korvataan? u Levypuskuri: mikä levylohko korvataan? Jos poistettava muuttunut, se täytyy kirjoittaa takaisin alkuperäiseen paikkaansa KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-36 8-18

Kertauskysymyksiä Miten siirräntälaitteet on tapana luokitella? Selitä siirrännän perustekniikoiden eroja! Selitä siirrännän toteutuksen hierarkista rakennetta! Mitä hyötyä hierarkiasta? Miksi KJ:n kannattaa puskuroida siirrettäviä tietoja? Miksi lohkopuskureita? KJ-I S2005 / Tiina Niklander, kalvot Auvo Häkkinen 8-37 8-19