150 likes | 252 Views
Siirräntäjärjestelmät. Siirräntäjärjestelmä Tiedostojärjestelmä ja siirräntä keskusmuistin ja oheislaitteiden välillä Voidaan käsitellä hierarkkisina tasoina Laitteistotaso Laiteajuritaso Tiedostojärjestelmätaso Saantimenetelmätasot. Laitteistotaso
E N D
Siirräntäjärjestelmä • Tiedostojärjestelmä ja siirräntä keskusmuistin ja oheislaitteiden välillä • Voidaan käsitellä hierarkkisina tasoina • Laitteistotaso • Laiteajuritaso • Tiedostojärjestelmätaso • Saantimenetelmätasot
Laitteistotaso • Tason palvelut riippuvat laitteiston ominaisuuksista • Laiteajuritaso • Pyritään kätkemään laitteiden erilaisuudet • Tiedostojärjestelmätaso • Toteutetaan tiedostot • Saantimenetelmätaso • tietue (tietokantoja varten)
Laitteistoliitännöistä • Väylät • Siirtotiet, joihin voidaan liittää suoritin-, muisti- ja oheislaitekortteja • Väylä jakaantuu data-, osoite- ja ohjainlinjoihin • yleiskäyttöisiä mikrojen väyliä PCI, ISA • Laiteväylästandardi (SCSI) • DMA-Direct memory Access
Väylän siirtonopeus voi rajoittaa väylään liitettävien laitteiden määrää • => suurissa järjestelmissä on käytetään usein erillistä I/O-suoritinta (kanavaa) tai useita sellaisia • Siirräntäoperaatioiden toteutuksessa käytetään usein seuraavia perusmenetelmiä: • muistiin kuvattu siirräntä (memory mapped I/O) • eksplisiittinen siirräntä
Muistiin kuvatussa siirrännässä kuhunkin laitteeseen tai laiteohjaimeen liittyy joukko muistiosoitteita, jotka todellisuudessa ovat laitteeseen liittyviä ns. laiterekistereitä • Joissakin järjestelmissä siirräntää ohjataan eksplisiittisillä I/O-käskyillä. Suorittimessa voi olla esim. käsky START_IO, jolloin I/O-suoritin alkaa suorittaa jotain kanavaohjelmaa
Laiteajurit • Kuhunkin laitteeseen liittyy laiteajuri. Laiteajuri sisältää laitteen ohjauksessa tarvittavat rutiinit ja tietorakenteet • Rutiineja ovat • laitteen alustus • luku/kirjoitus • ohjausrutiini (esim. päätteen ominaisuuksien asetus • laitteen keskeytykset käsittelevä rutiini
Laitekuvaaja: • laitteeseen liittyvät muuttujat ja tietorakenteet • Voi sisältää esim. • Työjono • Laiteajurirutiinien osoitteet • Siirrännän ohjauksessa tarvittavia muuttujia ja laitteen tilatietoja • Laitekohtaisia parametreja • Laiteajurit voivat olla prosesseja • Prosessit toimivat ikuisessa silmukassa, jossa ne odottavat siirräntäpyyntöjä ja sellaisen tultua toteuttavat siirrännän
Tiedostojärjestelmä • Tehtävät: • tiedostojen talletusrakenne • hakemistot • puskurointi • Joitakin toteutuksen ongelmia • paljon pieniä ja vähän isoja tiedostoja => tarve pienelle lohkokoolle • levyn saantiaikaa dominoivat hakuvarren siirto ja pyörähdysviive => tarve suurille lohkoille • Paikallisuus: joitakin tiedostoja tai tietueita tarvitaan hyvin usein => puskurointi keskusmuistiin • Järjestelmän kaatuessa em puskurointi voi johtaa epäeheään tilanteeseen
Hakemistojärjestelmä • Hakemistojärjestelmä liittää kuhunkin tiedostoon symbolisen nimen • Myös suojaukset hoidetaan usein hakemiston avulla • Hakemistoon voidaan liittää myös talletusrakenteeseen liittyviä tietoja • Nykyisin suositaan puumaisia hakemistoja • Vapaan tilan hallinta ja tilan varaus • Vapaiden alueiden ketjutus • Bittikartta • ”tiedosto”, joka sisältää vapaat alueet
Tiedostojen talletuksessa kaksi perusvaihtoehtoa • talletetaan tiedosto yhtenäiselle levyalueelle • varataan tiedostolle tilaa lohko kerrallaan • Levyn käytön optimointi • Saantiaika koostuu hakuvarren siirrosta, pyörähdysviiveestä ja siirtoajasta • kaksi ensimmäistä suurempia • => tiedostojen sijoittelua levylle ja siirräntäpyyntöjen järjestystä voidaan yrittää optimoida • Levyvälimuisti (disk cache)
Tiedostojärjestelmistä käytännössä • Monimutkaisuutta lisää se, että nykyään käyttöjärjestelmän on osattava käyttää paitsi ”omia” levyjään, myös jonkin toisen tiedostojärjestelmän mukaisia levyjä tai toisessa koneessa olevia levyjä • Windows NT • Suunniteltu tukeman useita tiedostojärjestelmiä • Liitettävissä laitteita, jotka tulevat samaan tiedostojärjestelmään
NT mahdollistaa ajureiden latauksen ja poiston ajon aikana • I/O -toimintoja hallitsee I/O Manager • Runsaat kutsut I/O-Managerin kautta aiheuttavat tehokkuusongelmia
RAID • Redundant Array of Independent Disks • Suuret, luotettavat levyjärjestelmät • RAID 0 • juova -tekniikka(striping): kirjoitetaan peräkkäiset lohkot eri levyille => nopeuden kasvatus rinnakkaisuudella • RAID 1 • Peilaus: sama data kirjoitetaan kahteen kertaan • RAID 5 • Tiedot kirjoitetaan usealle levylle • Tietoja vastaa pariteettitarkistus, joka on hajautettu eri levyille
RAID 6 • Sallii kahden levyn hajoamisen ennen kuin järjestelmä hidastuu • Kolmen levyn rikkoutuminen pysäyttää systeemin • Periaatteessa RAID5- ja RAID6 -tasolla rikkoutunut levy voidaan vaihtaa lennossa (käytännössä voi tulla ongelmia). Koskee periaatteessa myös RAID1:stä