|
![Suomeksi](/gif/hy/flag-fi-25x21.gif)
![in
English](/gif/hy/flag-uk-25x21.gif)
VIIMEINEN PALAUTUSPÄIVÄ: pe 8.12.2006
TAVOITTEET
Osion tavoitteena on havainnollistaa miten käyttöjärjestemä hallinnoi tiedostojärjestelmää ja miten tiedostojen siirto levyjen ja keskusmuistin välillä tapahtuu.
Avainsanat: I/O menetelmät, laiteriippuva vs. laiteriippumaton siirräntä, tiedostojenhallinta, vapaan levytilan hallinta
MATERIAALIA
- OPPIKIRJA: Stallings: Operating Systems - luvut 11-12
- Luentokalvot (katso syksyn 2006 kurssin pääsivu)
- See also Stallings's pages
Muuta materiaalia: Tanenbaum A.S.: Modern Operating Systems. 2nd ed. 2001. Luvut 5-6, sivut 269-452. Kirja löytyy myös TKTL:n kirjastosta.
OPINTOPIIRITOIMINTA
Osion 3 raportti tulee palauttaa kirjallisena joko luennolla tai huoneen D225 vieressä olevaan lokeroon. Raportin voi palauttaa myös luennolla tai harjoituksissa. Viimeinen palautusajankohta on pe 8.12.
Palautettavassa raportissa pitää olla:
- Kansilehti, jolla on opintopiirin jäsenten nimet ja laskuharjoitusryhmän numero (tai tapaamisajankohta).
- Varsinaisen tehtävän 'ratkaisu'
- sekä itsearviointiosio
OSA 1: Tiedostosta luku Tällä kertaa käyttäjän prosessi haluaa käsitellä tiedostoa JEMMA. Itseasiassa prosessi haluaa ainoastaan lukea tiedostosta yhden tähän tiedostoon tallennetun tavun, mutta kyseessä ei ole tiedoston ensimmäinen vaan vasta 2152. tavu. Käykää läpi kaikki käyttöjärjestelmän, laitteiston ja tiedostojärjestelmän piirteet, jotka tämän tehtävän suorittamiseen osallistuvat ja kertokaa mitä kaikkea järjestelmässä tapahtuu. Pohtikaa ja perustelkaa millaista tiedoston avausta (eksplisiittinen vai implisiittinen) käytätte. Eksplisiittinen tiedoston avaus tarkoittaa, että ohjelma täytyy erityisellä palvelupyynnöllä pyytää tiedoston avaamista ja sulkemista. Implisiittisessä avauksessa käyttöjärjestelmä avaa tiedoston, kun prosessi käyttää tiedostoa ensimmäisen kerran ja KJ sulkee tiedoston prosessin suorituksen päättyessä. Muistakaa ottaa kantaa myös hakemistorakenteeseen ja sen käyttöön tiedostoa avattaessa sekä tiedoston käyttötapojen kuvaamiseen. Kertokaa siis millainen on järjestelmänne hakemistorakenne. Tehtävän yksinkertaistamiseksi käytämme vanhaa FAT (File Allocation Table)-tiedostojärjestelmää tiedostojen tallentamiseksi levylle. Tiedosto JEMMA on siis tallennettu tälle FAT-tiedostojärjestelmää käyttävälle levylle. FAT-tiedostojärjestelmä käsittelee levyä ikäänkuin se olisi jatkuva levyn ulkoreunasta alkava varausyksikköjen (lohkojen) muodostama yksiulotteinen taulukko. Ensin numeroidaan ylimmän levypinnan uloimman uran lohkot, sitten seuraavan levypinnan uloimman uran lohkot jne. Tämän jälkeen numeroidaan ylimmän levypinnan toiseksi uloimman uran lohkot jne. Levyllä, jonne JEMMA on tallennettu, on kaksi levypintaa (numerot 0 ja 1), kummallakin pinnalla on 80 uraa (numerot 0..79 ulkoapäin lukien). Urat jakaantuvat 18:aan sektoriin (numerot 1..18). Sekä sektorin että lohkon koko on 512 tavua. Levyn alusta on varattu 1 sektori boottitietuetta varten, yhteensä 18 sektoria varaustaululle ja sen kopiolle (FAT, file allocation table) sekä 14 sektoria juurihakemistolle. Hakemistoalkiossa on tiedostonimen ja attribuuttien lisäksi vain tiedoston ensimmäisen lohkon numero. Loput tiedoston lohkot käyvät ilmi seuraamalla varaustaulussa ylläpidettyä ketjutusta. Tiedoston JEMMA ensimmäinen lohko on varausyksikössä 44, ja varaustaulun sisältö ko. kohdassa: 43: 44: 45 45: 46 46: 50 47: 48: 49: 50: 51 51: 52 52: 60 Kuvatkaa tuo tiedostosta luku ja sen aiheutamat kj:n toiminnot niin yksityiskohtaisesti, että kuvauksesta käy ilmi miltä levypinnalta, uralta ja sektorilta tuo haluttu 2152. tavu löytyy. Pitäkää huoli, että selitys kertoo täsmällisesti miten tarvittava tieto kulkee käyttöjärjestelmän ja levyn välillä.
OSA 2: LEVYN VIKAANTUMINEN Levyn vikaantuminen on sangen tavanomaista ja kaikilla levyillä on vain tietty käyttöikä. Erilaiset tiedostojärjestelmät toimivat vikaantumisten suhteen eri tavoin. Miettikää mitä tapahtuu toisaalta a) FAT ja toisaalta b) ext3fs tiedostojärjestelmän käytölle, jos vapaata levytilaa osoittava taulu tai linkitetty lista katoaa? Entä jos virhe ilmaantuu vain yhden tiedoston käyttämään osaan levystä? Onko jotain tehtävissä, jotta tiedostoja voidaan käyttää tai levylle vielä turvallisesti kirjoittaa?
|
Tiimityönä: Pohtikaa ryhmänne toimintaa seuraavien kysymysten valossa. Kirjatkaa pohdintanne raportin yhteyteen.
|
![o](/u/ahakkine/l-hand.gif)
|