Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OFK_1sem / OFK_FAR / FAR_2010_n.doc
Скачиваний:
13
Добавлен:
07.02.2016
Размер:
1.44 Mб
Скачать

2.1.2 Організація даних на диску

Основним типом пристрою, що використовується в сучасних обчислювальних системах для збереження файлів, є дискові накопичувачі. Ці пристрої призначені для зчитування і запису даних на тверді і гнучкі магнітні диски. Жорсткий диск складається з однієї або декількох пластин, кожна з яких покрита магнітним матеріалом. На обох сторонах кожної пластини розмічені тонкі концентричні кола-доріжки (traks), на яких зберігаються дані у двійковому коді. Кількість доріжок залежить від типу диска. Нумерація доріжок починається з 0 від зовнішнього краю до центра диска. Коли диск обертається, голівка, зчитує або записує двійкові дані на магнітні доріжки.

Запис даних на диск здійснюється завдяки здатності голівки змінювати магнітні властивості доріжки. Коли голівка фіксується на заданій доріжці однієї поверхні, всі інші голівки зупиняються над доріжками з такими ж номерами.

Сукупність доріжок одного радіуса на всіх поверхнях усіх пластин пакета називається циліндром (cylinder). Кожна доріжка розбивається на фрагменти, сектори (sectors), так що всі доріжки мають рівне число секторів. Найчастіше розмір сектора складає 512 байт. Доріжки різного радіуса мають однакове число секторів, щільність запису стає тим вище, ніж ближче доріжка до центра

Сектор — найменша одиниця обміну даними дискового пристрою з оперативною пам'яттю. Операційна система при роботі з диском використовує власну одиницю дискового простору-кластер (cluster). У системі FAT число секторів у кластері повинне бути кратної ступені двійки.

При створенні файлу місце на диску йому виділяється кластерами. Наприклад, якщо файл має розмір 2560 байт, а розмір кластера у файловій системі визначений у 1024 байта, то файлу буде виділено на диску 3 кластери.

Доріжки і сектори створюються в результаті виконання процедури фізичного (низькорівневого) форматування диска перед його використанням. Для визначення границь блоків на диск записується ідентифікаційна інформація.

Розмітку диска під конкретний тип файлової системи виконують процедури високорівневого (логічного) форматування. При високорівневому форматуванні визначається розмір кластера і на диск записується інформація, необхідна для роботи файлової системи, у тому числі інформація про доступний і вільний простір, про границі областей, відведених під файли і каталоги, інформація про ушкоджені області.

2.1.2.1 Фізична організація fat

При форматуванні диска під файлову систему, створюються дві області: область даних і системна область. Область даних призначена для розміщення усіх файлів і каталогів, крім кореневого. У системній області знаходяться:

  •  завантажувальний сектор-містить програму початкового завантаження операційної системи. Вид цієї програми залежить від типу операційної системи, що буде завантажуватися з цього розділу;

  •  основна копія FAТ- містить інформацію про розміщення файлів і каталогів на диску;

  •  резервна копія FAT;

  •  кореневий каталог ( на дискеті займає фіксовану область розміром у 32 сектори (16 Кбайт), що дозволяє зберігати 512 записів про файли і каталоги, тому що кожен запис каталогу складається з 32 байт).

Файлова система розподіляє пам’ять тільки з області даних, причому використовує як мінімальну одиницю дискового простору кластер.

Таблиця FAT (як основна копія, так і резервна) складається з масиву індексних покажчиків, кількість яких дорівнює кількості кластерів області даних. Між кластерами й індексними покажчиками є взаємно однозначна відповідність-нульовий покажчик відповідає нульовому кластеру і т. д

Індексний покажчик може приймати наступні значення, що характеризують стан зв'язаного з ним кластера:

  • кластер вільний (не використовується, для FAT16 це значення складає 0000Н);

  • кластер використовується файлом і не є останнім кластером файлу (у цьому випадку індексний покажчик містить номер наступного кластера файлу);

  • останній кластер файлу (для FAT 16 це значення складає FFF8 FFFFH);

  • дефектний кластер (для FAT 16 це значення складає FFF7H); або резервний кластер.

Таблиця FAT є загальною для усіх файлів диску. Після форматування усі кластери вільні і всі індексні покажчики приймають значення ”кластер вільний”. При розміщенні файлу ОС переглядає FAT, починаючи з початку, і шукає перший вільний індексний покажчик. Після його виявлення в поле запису каталогу ”номер першого кластера” фіксується номер цього покажчика. У кластер з цим номером записуються дані файлу, він стає першим кластером файлу. Якщо файл уміщається в одному кластері, то в покажчик, що відповідає даному кластеру, заноситься спеціальне значення “останній кластер файлу”. Якщо ж розмір файлу більше одного кластера, то ОС продовжує перегляд FAT і шукає наступний покажчик на вільний кластер. Після його виявлення в попередній покажчик заноситься номер цього кластера, що тепер стає наступним кластером файлу. Процес повторюється, поки не будуть розміщені всі дані файлу. У такий спосіб створюється зв'язний список усіх кластерів файлу.

Коли програма відправляє запит до операційної системи надати їй зміст якого-небудь файлу, ОС переглядає запис каталогу для нього, щоб знайти перший кластер цього файлу. Потім вона звертається до елемента FAT для даного кластера, щоб знайти наступний кластер у ланцюжку, повторюючи цей процес, поки не знайде останній кластер файлу, ОС точно визначає, які кластери належать даному файлу й у якій послідовності. Таким чином, система може надати програмі будь-яку частину запитуваного нею файлу.