Van szükség töredezettség-mentesítésre?
A Magyar Macintosh Wiki wikiből
Ha a számítógéped Mac OS X operációs rendszert futtat, nagy valószínűséggel a merevlemezed HFS+ fájlrendszerű. Az Apple a HFS+ rendszerbe beépített néhány olyan eljárást, amelyek automatikusan elvégzik a merevlemez tartalmának töredezettség-mentesítését – ezért arra külön nincs szükség. Figyelem, techno-geek leírás következik!
Tartalomjegyzék |
Az operációs rendszer automatikus töredezettség-mentesítése
A Mac OS X 10.3 Panther rendszermagjának (kernel) része egy automatikus töredezettség-mentesítő mechanizmus. Amikor az operációs rendszer megnyit egy állományt, öt logikai vizsgálatot végez el:
Az állomány
- mérete kisebb-e mint 20MB;
- szabad-e (nincs használatban);
- írható-e (nem csak olvasható);
- több mint 8 blokkszakaszból áll-e;
Valamint
- a rendszer több mint 3 perce fut?
Ha mindegyik feltétel igaz és a tárolón van elég szabad hely, az állomány töredezettség-mentesítése automatikusan megtörténik. Az állomány új helyre másolódik a tárolón – ahol jobban elfér, kevesebb blokkszakaszban.
Egyik előnye ennek az eljárásnak, hogy a nem használt dokumentumokat feleslegesen nem mozgatja a rendszer, míg a gyakran használt dokumentumokat automatikusan igyekszik karbantartani.
A fentiekből látható, hogy a kisméretű fájlokat jól gondozza a rendszer. Mivel egy UNIX-ról van szó, maga a rendszer sok apró fájlt tartalmaz (ez nem csak a rendszerre, hanem általában minden programra igaz – OS X esetében kiváltképpen). Az Apple témába vágó oldalán (About Disk Optimization with Mac OS X) megemlítik, hogy a pici fájlok miatt sincs túl sok haszna egy külső programmal defragmentálni – akár rosszabb is lehet, mivel a művelet közben gyakran használt fájlok átkerülhetnek lassabban elérhető területekre.
| Ha nagy fájljaink vannak, óhatatlanul töredezettek lesznek. A rendszer a rendelkezésre álló szabad hely függvényében optimumra törekszik (minél kevesebb darabban helyezze el az állományokat). Már csak ezért is jó elegendő szabad helyet tartani a lemezeken. |
Blokkszakasz (extent)
A logikai blokk a fájlrendszer által kezelt legkisebb adattárolási egység. A logikai blokkot Byte-okban mérjük, egyetlen fájl tárolásához gyakran sok blokk szükséges.
Egy blokkszakasz több, összefüggő blokkot jelent. Egy blokkszakasz minden blokkja ugyanahhoz a fájlhoz tartozik. Ha egy fájl töredezett a rendszeren, több blokkszakaszból, azaz extentből áll. Minden blokkszakaszt három adat ír le: a) "file offset"; b) a szakasz kezdő blokkjának sorszáma, valamint c) a szakasz hossza (blokkjainak száma). A "file offset" mondja meg, hogy a blokkszakasz első blokkja hányadik az adott fájlban.
Sokkal hatékonyabb blokkszakaszokat kezelni egységként, mint blokkokat – különösen nagy ha nagy fájlokról van szó.
Az alábbi példa a resume.doc nevű, töredezett fájl elhelyezését mutatja a lemezen. A fájl három blokkszakaszban (extent) tárolódik, az első 5, a második 4, a harmadik pedig 3 blokkból áll.
http://www.backupbook.com/03Freezes_and_Crashes/Journaling.invis/image001L.gif
Jobbra látható minden szakasz leírása is: a) hány blokk van a fájlban az adott blokkszakasz első blokkja előtt, b) hányadik blokknál kezdődik a blokkszakasz a lemezen, c) hány blokkot tartalmaz (azaz milyen hosszú) a szakasz.
(Forrás: backupbook.com)
Ha sok blokkszakasz van
A minden fájl szokásos metaadatait tartalmazó jegyzékben nyolc blokkszakasz leírásához van hely. Egy állomány bármennyi blokkszakaszban tárolható. Ha 8-nál több szakaszból áll, a többi szakasz leírását a rendszernek külön helyen kell tárolnia ("Extents Overflow B-Tree"). Az ilyen fájlok használatakor ez plusz teher: nem elég, hogy maga a fájl töredezett, de a darabjait leíró táblázatok is több részből állnak.
http://www.kernelthread.com/mac/apme/fragmentation/
