Kolmas kodutöö - Salvestusruumi haldus
Kirjutada graafilise kasutajaliidesega simulaator failisüsteemi ühetasemelise indekseeritud paigutuse visualiseerimiseks.
- Vaja on näidata paigutust iga sammu järel.
- Paigutusest peab olema aru saada, mis alad kuuluvad missugusele failile.
- Vaja on simuleerida ainult andmeplokkide paigutust (indeksid on lihtsuse huvides kusagil väljaspool ja neile pole vaja plokke hõivata).
- Faili plokid ei pea paiknema sidusalt, selleks on meil kusagil mõtteline indeks.
- Uue loodava faili plokkideks võetakse alati esimesed vabad plokid.
- Kasutada on ketas 48 plokiga.
- Sisendiks on järjend failide loomise ja kustutamise sündmustega, näiteks A,2;B,3;A,-;C,4;B,+3;D,5;E,15;C,-;F,5
- Järjendis tähistab iga paar faili loomist koos sisu kirjutamisega, kasvatamist või kustutamist.
- Paari esimene element on unikaalne ühetäheline faili nimi.
- Paari teine element on loodava faili suurus (lihtsa arvu korral), faili kasvatamisel lisatav plokkide arv (kujul +arv) või miinus sellenimelise faili kustutamiseks: A,5 tähendab 5-plokilise faili loomist, A,+2 tähendab failile A 2 ploki lisamist ning A,- tähendab A kustutamist (mitte osalist vähendamist).
- Võib eeldada, et mustris on kuni 10 sündmust.
- Võib eeldada, et ühtki faili ei kustutata enne tema loomist.
- Võib eeldada, et iga faili kustutatakse maksimaalselt 1 kord (kustutamisel kustutatakse ära kõik tema osad).
- Kui mingil sammul uue faili jaoks ruumi ei jätku, tuleb sellest teada anda ja töö katkestada.
- Kasutaja saab valida 3 valmis pöördusmustri vahel: esimene näidismuster, millega ise saate ka testida, võiks olla
A,2;B,3;A,-;C,4;B,+3;D,5;E,15;C,-;F,5
, teised 2 näidismustrit looge ise. - Kasutajal peab olema võimalus sisestada (sealhulgas
paste
) oma pöördusmustri hindamiseks. - Visualiseering peab kajastama ketta seisu iga loomise või kustutamise sündmuse järel ning iga kettaploki kohta peab olema aru saada, mis failile see kuulub (või on vaba).
- Simulatsiooni
lõpuks
peab lisaks välja arvutama ja kasutajale näitama lõppseisu fragmenteerituse kahel erineval viisil:- Kui suur protsent allesjäänud failidest on fragmenteerunund (arvutamise hetkel mitu protsenti failidest koosnevad rohkem kui ühest järjestikust osast)?
- Kui suur protsent kasutatud ruumist kuulub fragmenteerunud failidele?
- Lisaks simulatsioonile peab esitama vastuse küsimusele:
- Miks SSD (Solid State Drive)-andmekandjatele kirjutamine muutub aeglasemaks, kui neil on vähe vaba salvestusruumi alles (ketas on n-ö täis, vaba alla 5 GB) (põhjenda)? Vihje: sisukas vastus võiks sisaldada terminit
TRIM
, aga põhjusi on veel ja eeldatav sisukas vastus on vähemalt 1 lõik tehnilist sisutihedat eestikeelset teksti.
- Miks SSD (Solid State Drive)-andmekandjatele kirjutamine muutub aeglasemaks, kui neil on vähe vaba salvestusruumi alles (ketas on n-ö täis, vaba alla 5 GB) (põhjenda)? Vihje: sisukas vastus võiks sisaldada terminit
Programmeerimiskeel ja -raamistik on vabad.
Tähtaeg: 21.12.2022
Näitemustrile A,2;B,3;A,-;C,4;B,+3;D,5;E,15;C,-;F,5 vastav näidisväljund:
18. Kodutöö 3 - Salvestusruumi haldusSolutions for this task can no longer be submitted.