Fájl elhelyezés - stadopedia
Folyamatos elhelyezéssel jellemezhető, hogy minden fájl folyamatos tömböket foglal el.
A szegmentált elhelyezés azt jelenti, hogy a fájlok "darabokban" helyezkedhetnek el. egy fájl több, egymástól eltérő hosszúságú szegmenst foglalhat el. Mindkét elhelyezés módját az 1. ábrán mutatjuk be. 16.1.
Ábra. 16.1 A fájlok lemezekre való elosztásának módjai
A folyamatos elhelyezkedésnek két fő előnye van.
A fájl helye nagyon egyszerű és kevés helyet foglal el. Tény, hogy elegendő két szám tárolása: a fájl kezdeti blokkjának száma és a foglalt blokkok száma (vagy a fájlméret byte-ban, ami könnyen számítható a blokkok számának).
Hozzáférés bármilyen helyzetben a fájl gyorsan, mert ismerve a tolva a fájl elején, akkor könnyen kiszámítja a száma a kívánt készüléket, és olvassa el azonnal ezt a blokkot anélkül, hogy elolvasta az előző blokkokat.
Sajnos a folyamatos eloszlás hiányosságai még jelentősebbek.
Fájl létrehozásakor ismernie kell a méretét előre, hogy megtalálja és tartsa a lemezt megfelelő méretű területre. A fájl későbbi lehetséges növelése nagyon nehéz, mert A fájl vége után lehet, hogy nincs elég szabad hely. Valójában a fájlok növelése helyett általában nagyobb fájlt kell létrehozni egy másik helyen, felül kell írni az adatokat, és törölni kell a régi fájlt. De ez a megoldás igényel sok időt olvasási és írási adatokat, és emellett csökkenti az adatok megbízhatóságát tárolása, mint egy hiba, amikor írása vagy olvasása sokkal valószínűbb, mint az adatok a korrupció, „megnyugodni” a lemezen.
A fájlrendszer rendes működése során a különböző hosszúságú fájlok többszörös létrehozása és törlése után a lemezen lévő szabad lemez kisméretű részekké válik. A lemezen lévő szabad területek összmennyisége meglehetősen nagy lehet, de nem biztos, hogy megfelelő méretű fájlt hozhat létre, mivel a szükséges hosszúságú terület nem létezik. Ezt a jelenséget disztribúciónak nevezzük. Ennek leküzdéséhez speciális defragmentációs eljárást kell használnia. amely az összes fájlt áthelyezi egymás felé, a lemez adatterületének kezdetétől. De ez az eljárás sok időt vesz igénybe, csökkenti a megbízhatóságot, ahogy fent említettük, és súlyosbítja a problémákat, ha később bővíteni kell a fájlt.
Elhelyezése az első szegmentált mentes a hátrányai folyamatos: ez létrehozásakor a fájl általában nem memóriát, majd, mint a fájl mérete növekszik, ez minden szabad szegmensek a lemezen lehet extraháljuk, függetlenül azok hosszát.
Nem olyan egyszerű a széttöredezettséggel. Természetesen, ellentétben a folyamatos elhelyezéssel, a szegmentált nem töredezettség megakadályozza, hogy a rendszer a lemezen rendelkezésre álló összes blokkot használja. A szegmentált fájlból származó sorozatos leolvasás azonban sokkal lassabban végezhető el, mivel a szegmensről a szegmensre kell áttérni. A lassulás különösen akkor érzékelhető, ha a fájl kisebb darabokban szétszóródott a lemez több hengere fölött. Ennek eredményeként időről időre tanácsos a lemezek töredezettségmentesítését az adatelérési sebesség növelése érdekében. Szegmentált telepítés esetén a töredezettségmentesítés nemcsak a lemez összes szabad területének egyesítését jelenti, hanem főként az egyes fájlok szegmenseinek integrálását is. Ez az eljárás sokkal bonyolultabb, mint a töredezettségmentesítés a folyamatos elhelyezés esetén.
A hátránya a szegmentált elhelyezése, hogy a fájlkezelési információkat ebben az esetben sokkal bonyolultabb, mint a folytonos esetben, és hogy a legkellemetlenebb, az információk mennyisége változó: minél nagyobb a szegmensek számát tartja a fájl, annál van szüksége az információ, mert szükséges felsorolni az összes szegmens. A probléma megoldására majdnem annyi lehetőség van, hogy hány különböző fájlrendszer létezik.
Ahhoz, hogy csökkentse hatását a szegmentáció a hozzáférés sebessége az a fájl adatait az operációs rendszer, egy szegmentált elrendezésben vannak különböző kiválasztási algoritmus fájlterületre. Céljuk, hogy a fájlt lehetőleg egy szegmensben helyezzük el, és csak végső megoldásként a fájlt több szegmensre osztjuk.
A mágneses lemezek fájlrendszerének korszerű operációs rendszerében szinte mindig használják a szegmentált felosztást. A másik dolog az olvasható lemezeken található fájlrendszerek (például CD-ROM-ok). Nem nehéz megérteni, hogy ebben az esetben a folyamatos elhelyezkedés hiányosságai nem számítanak, és méltósága továbbra is fennáll.
A nagy klaszterek használata negatív oldala van. Mivel a fájl mérete is tekinthető véletlen változó (legalábbis ez a méret nem kapcsolódik a klaszter méret), akkor kb feltételezhető, hogy átlagosan a fele az utolsó klaszter minden egyes fájl marad üresen. Ezt a jelenséget néha belső fragmentációnak nevezik (ellentétben a szabad lemezterület fent leírt fragmentációjával, amit külső fragmentációnak is neveznek). Ezenkívül, ha a klaszterbe tartozó szektorok közül legalább egy hibás, akkor a teljes klaszter hibásnak tekinthető, azaz nem használható. Nyilvánvaló, hogy a fürt méretének növekedése, így a fel nem használt lemezszektorok száma is.
Az optimális fürtméret automatikusan kiszámításra kerül, ha a lemezt formázta, vagy manuálisan.
A fájlrendszer normál működéséhez szükséges, hogy a fájlok helyére vonatkozó információk mellett a rendszer könnyen hozzáférhető formában tárolja a rendelkezésre álló szabad fürtöket a lemezen. Ez az információ szükséges új vagy meglévő fájlok létrehozásakor. A szabad területre vonatkozó információk bemutatásának különféle módjait használják, amelyek közül néhányat az alábbiakban felsorolunk.
Az összes szabad klasztert összekapcsolt lineáris listaként tárolhatja, pl. Minden egyes szabad klaszter kezdetén tárolja a következő számot a listában. A hátránya ennek a módszernek, hogy a nehéz keresést egy szabad folyamatos töredéke a megfelelő méretű, így nehéz, hogy optimalizálja a fájlok elhelyezkedése.
Ezt a hátrányt lehet leküzdeni, ha a listát nem tárolja az egyes klaszterektől, hanem a lemez folyamatos szabad töredékétől. Igaz, egy ilyen listával való munka némileg bonyolultabb.
A folyamatos kiosztással rendelkező rendszerekben a lemez minden egyes folyamatos töredékét ugyanúgy írják le, mint egy fájlt, de "szabad" jelzéssel jelölve.