Bevezetés:-mivel a lemezterület korlátozott, újra kell használnunk a törölt fájlok helyét új fájlokhoz. A szabad lemezterület nyomon követése érdekében a rendszer szabad helylistát vezet. A szabad hely lista rögzíti az összes szabad lemezblokkot, amelyek nincsenek hozzárendelve valamilyen fájlhoz vagy könyvtárhoz. Ez a szabad hely lista a következők egyikeként valósítható meg:
a) Bitvektor – a Szabad hely lista bittérképként vagy bitvektorként valósul meg. Minden blokkot egy bit képvisel. Ha a blokk szabad, bit 1, ha a blokk kiosztott, bit 0.
ennek a megközelítésnek a fő előnye a relatív egyszerűsége és hatékonysága az első szabad blokk vagy n egymást követő szabad blokk megtalálásában a lemezen. A blokkszám kiszámítása (bitek száma szavanként) * (0 értékű szavak száma) az első 1 bit eltolása
b) Linkelt lista – a szabad helykezelés másik megközelítése az összes szabad lemezblokk összekapcsolása, amely az első szabad blokkhoz mutatót tart a lemez egy speciális helyén, és a memóriában tárolja. Az első blokk mutatót tartalmaz a következő szabad lemezblokkhoz.
c) csoportosítás – a szabad lista megközelítés módosítása az n szabad blokk címeinek tárolása az első szabad blokkban.
d) számlálás – egy másik megközelítés annak a ténynek a kihasználása, hogy több összefüggő blokk kiosztható vagy felszabadítható egyszerre, ha helyet osztanak ki a szomszédos allokációs algoritmussal vagy fürtözéssel.
hatékonyság és teljesítmény
a lemezek általában jelentős szűk keresztmetszetet jelentenek a rendszer teljesítményében, mivel ezek a leglassabb fő számítógépes összetevők. Hatékonyság:- A lemezterület hatékony felhasználása nagymértékben függ a használt lemezelosztástól és könyvtár algoritmusoktól.
teljesítmény:-a legtöbb lemezvezérlő helyi memóriát tartalmaz, hogy olyan fedélzeti gyorsítótárat képezzen, amely elég nagy ahhoz, hogy egyszerre teljes számokat tároljon. A keresés végrehajtása után a sáv beolvasásra kerül a lemez gyorsítótárába, a lemezfej alatti szektortól kezdve. A lemezvezérlő ezután minden szektorkérést átvisz az operációs rendszerre. Egyes rendszerek a fő memória külön szakaszát tartják fenn egy puffer gyorsítótár számára, ahol a blokkokat azzal a feltételezéssel tartják fenn, hogy újra felhasználják őket. Más rendszerek cache fájl adatait egy oldal cache. Az oldal gyorsítótár virtuális memória technikákat használ a fájladatok oldalként történő gyorsítótárazására, nem pedig fájlrendszer-orientált blokkokként. A fájladatok gyorsítótárazása virtuális címekkel hatékonyabb, mint a fizikai lemezblokkok gyorsítótárazása, mivel a fájlrendszer helyett a virtuális memóriához fér hozzá. Számos rendszer használja az oldal gyorsítótárazását mind a folyamatoldalak, mind a fájladatok gyorsítótárazásához. Ez az úgynevezett unified buffer cache.
vannak más problémák is, amelyek befolyásolhatják az I / O teljesítményét, például hogy a fájlrendszerbe történő írások szinkronban vagy aszinkron módon történnek-e. A szinkron írások abban a sorrendben fordulnak elő, amelyben a lemez alrendszer fogadja őket, és az írások nincsenek pufferelve. Az aszinkron írások az idő nagy részében készülnek. Egyes rendszerek a fájl hozzáférési típusától függően különböző cserealgoritmusokkal optimalizálják az oldal gyorsítótárát. A szekvenciális hozzáférés optimalizálható a free behind és read ahead néven ismert technikákkal. A Free behind eltávolítja az oldalt a pufferből, amint a következő oldalt kérik. A read ahead használatával a rendszer elolvassa és gyorsítótárazza a kért oldalt és több további oldalt.