Файлова система FAT

Информация - Разное

Другие материалы по предмету Разное

Файлова система FAT

Курсова робота з курсу тАЬАрхiтектура ЕОМтАЭ

Студент 3-го курсу Заньковський Ю.В.

Мiнiстерство освiти Украiни

Чернiвецький державний унiверситет iм. Ю. Федьковича

Фiзичний факультет

Кафедра ЕОМ

1999

Вiдразу пiсля завантажувального сектора на логiчному диску знаходяться сектори, що мiстять таблицю розмiщення файлiв FAT (File Allocation Table).

Для того, щоб призначення цiСФi таблицi стало бiльш зрозумiлим, розглянемо, як органiзоване збереження iнформацii на рiзноманiтних носiях даних.

Магнiтнi стрiчки.

При використаннi магнiтних стрiчок iнформацiя записуСФться у виглядi файлiв iз послiдовним доступом. Послiдовний доступ означаСФ, що для читання якогось файла потрiбно спочатку прочитати всi попереднi файли. При записi iнформацiя може добавлятися в кiнець стрiчки, пiсля тiСФi iнформацii, що була записана востаннСФ.

Якщо ви спробуСФте перезаписати файл, то це може привести до втрати усiх файлiв, розташованих на магнiтнiй стрiчцi пiсля нього (цього файла).

Доступ до iнформацii, записаноi на магнiтному диску, може виконуватися або послiдовним, або прямим методом доступу. Використання прямого методу доступу дозволяСФ позицiонувати головки вiдразу на той файл, що вам потрiбний (або на потрiбний запис файла). Наприклад, ви можете задати номер сектора на визначенiй дорiжцi i номер голiвки.

Але метод доступу це ще не усе. Важливе значення маСФ засiб розподiлу мiiя на диску для файлiв. Вiд правильного вибору засобу розподiлу залежить ефективнiсть роботи програм.

Операцiйна система дозволяСФ задати початкову кiлькiсть цилiндрiв диска для розмiщення набору даних i розмiр областi диска, що може бути використана для цього набору додатково. Якщо при записi у файл усе розподiлене для файла мiiе на диску виявиться вичерпаним, програма завершиться аварiйно, навiть якщо на диску ще СФ вiльнi цилiндри.

Операцiйнi системи, такi як DOS, UNIX, OS/2 використовують дисковий простiр iншим способом.

У цих операцiйних системах при створеннi файла для нього не задаСФться початковий розподiл памятi в дорiжках або секторах. У мiру того, як файл збiльшуСФться в розмiрах, операцiйна система вiдводить цьому файлу сектори з числа вiльних, не використовуваних iншими файлами. При цьому файл розташовуСФться не обовязково в сумiжних областях диска, вiн може бути розкиданий по рiзних дорiжках i секторах.

Очевидно, що в цьому випадку операцiйна система повинна вести облiк використовуваних дiлянок диска. Для кожного файла вона повинна берегти десь iнформацiю про те, якому файлу якi дiлянки диска вiдведенi.

Як правило в операцiйних системах для збереження цiСФi iнформацii використовуСФться таблиця розмiщення файлiв.

Весь диск розбиваСФться операцiйною системою на дiлянки однакового розмiру, якi називаються кластерами. Кластер може мiстити декiлька секторiв. Для кожного кластера FAT маСФ свою iндивiдуальну комiрку , в якiй зберiгаСФться iнформацiя про використання даного кластера. РЖншими словами, таблиця розмiщення файлiв - це масив, що мiстить iнформацiю про кластери. Розмiр цього масиву визначаСФться загальною кiлькiстю кластерiв на логiчному диску. (Саме кластерiв, а не секторiв!).

Що зберiгаСФться в таблицi розмiщення файлiв?

Всi вiльнi кластери позначенi в нiй нулями. Якщо файл займаСФ декiлька кластерiв, то цi кластери повязанi в список. Для повязаних у список кластерiв елементи таблицi FAT мiстять номера наступних використовуваних даним файлом кластерiв. Кiнець списку вiдзначений у таблицi спецiальним значенням. Номер першого кластера, видiленого файлу, зберiгаСФться в елементi каталога, що описуСФ даний файл.

Утилiти операцiйноi системи i деякi спецiальнi утилiти перевiряють диск на предмет наявностi дефектних областей. Кластери, що знаходяться в цих дефектних областях, вiдзначаються в FAT як поганi i не використовуються операцiйною системою.

Отже, FAT - масив iнформацii про використання кластерiв диска, мiстить однозвязанi списки кластерiв, розподiлених мiж файлами. Номера початкових кластерiв файлiв зберiгаються в каталогах.

Розглянемо спочатку два формати FAT - 12-бiтовий i 16-бiтовий. Цi формати використовують, вiдповiдно, 12 i 16 бiтiв для збереження iнформацii про один кластер диска.

12-бiтовий формат зручний для дискет iз невеликою кiлькiстю секторiв - уся таблиця розмiщення файлiв помiщаСФться в одномо секторi. Якщо розмiр диска такий, що для представлення всiх секторiв дванадцятьох розрядiв недостатньо, можна збiльшити розмiр кластера, наприклад до восьми секторiв. Проте великий розмiр кластера приводить до неефективного використання дискового простору. Це вiдбуваСФться через те, що мiнiмальний видiляСФмий файлу елемент - кластер - маСФ занадто великий розмiр. Навiть для файла, що маСФ довжину 1 байт видiляСФться цiлий кластер. Виходить, якщо розмiр кластера складаСФ 8 секторiв, то для збереження одного байта буде використано 4 кiлобайта дисковоi памятi.

При використаннi FAT 16-бiтового формату операцiйна система може працювати з диском, що маСФ розмiр бiльш 32 мегабайт. DOS версii 4.0 при використаннi 16-бiтового формату FAT i кластерiв розмiром 4 сектори може працювати з роздiлами, якi по розмiру досягають 134 мегабайти.

Як програма визначаСФ формат FAT.

Для DOS версii 3.0 16-бiтовий формат використовуСФться, якщо розмiр диска перевищуСФ 4086 кластерiв. Це число утворилося виходячи з того, що в 12 розрядах може бути подане макси?/p>