Хелпикс

Главная

Контакты

Случайная статья





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



 

В MBR знаходяться три важливих елементи (табл. 7.1):

1) програма початкового завантаження (non–system bootstrap). Вона запускається BIOS після успішного завантаження в пам'ять першого сектора з MBR. Їі призначення – завантажити наступну, більш складну програму – стартовий сектор операційної системи – і передати йому керування;

2) таблиця опису розділів диска (partition table). Розташовується в MBR за зміщенням 0x1BE і займає 64 байти. Таблиця partition table описує розміщення і характеристики наявних на вінчестері розділів;

3) сигнатура MBR. Останні два байти MBR мають вміщувати число AA55h. При наявності цієї сигнатури BIOS перевіряє що перший блок був завантажений успішно.

 

        Таблиця 7.1 – Структура MBR

                                                            

Зміщення Розмір, байт Вміст
Програма аналізу Partition table і завантаження System bootstrap з активного розділу жорсткого диска
+1BEh Partition1 entry (Описувач розділу)
+1CEh Partition2 entry
+1DEh Partition3 entry
+1EEh Partition4 entry
+1FEh Сигнатура (AA55h)

 

Із структури MBR видно, що на початку сектора знаходиться програма аналізу таблиці розділів і читання першого сектора з активного розділу диска. Таблиця partition table розташована в кінці MBR, і для опису кожного розділу в цій таблиці відводиться по 16 байт (табл. 7.2).

 

Таблиця 7.2 – Формат елемента таблиці розділів

                                                       

  Назва елемента Partition table     Довжина, байт  
Прапор активності розділу
Номер голівки початку розділу
Номер сектора і номер циліндра завантажувального сектора розділу
Кодовий ідентифікатор операційної системи
Номер голівки кінці розділу
Номер сектора і циліндра останнього сектора розділу
Молодше і старше двобайтове слово відносного номера початкового сектора
Молодше і старше двобайтове розміру розділу в секторах

 

Першим байтом в елементі розділу йде прапор активності розділу boot indicator (0 – не активний, 128 (80h) – активний). Він визначає, чи є розділ системи завантажувальним і чи є небхідність виконувати завантаження операційної системи з нього при ввімкненні комп'ютера. Активним може бути лише один розділ.

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

 

Таблиця 7.3 – Сигнатури (типи) розділів

                                                       

  System ID     Тип розділу     System ID   Тип розділу
Empty (порожній розділ) Novell NetWare
FAT16 Linux swap
HPFS/NTFS Linux native
0B WIN95 FAT32 OS/2
SFS Linux Extended
4D QNX 4.x EB Be OS

 

За байтом коду операційної системи розташований байт номера голівки кінця розділу, за яким ідуть два байти – номера сектора і номера циліндра останнього сектора даного розділу.

Номер сектора і номер циліндра секторів в розділах займають по 6 і 10 біт відповідно.

 

Біти номера циліндра

Біти номера сектора

                               

 

Завантажувач non-system bootstrap призначений для пошуку за допомогою partition table активного розділу, копіювання в оперативну пам'ять комп'ютера завантажувача system bootstrap із вибраного розділу і передачі йому керування, що дозволяє виконати завантаження операційної системи.

Зразу за сектором MBR розміщуються безпосередньо розділи (рис. 7.1). В процесі початкового завантаження сектора MBR, що вміщує таблицю partition table, працюють програмні модулі BIOS. Початкове завантаження вважається виконаним коректно лише у випадку, коли таблиця розділів вміщує допустиму інформацію.

В MS DOS в первинному розділі може бути сформований тільки один логічний диск, а в розширеному – будь-яка їх кількість. Кожний логічний диск керується своїм логічним приводом. Кожному логічному диску на вінчестері відповідає своя логічна (відносна) нумерація. Фізична адресація жорсткого диска наскрізна.

Первинний розділ DOS включає тільки системний логічний диск без будь-яких додаткових інформаційних структур. Розширений розділ DOS вміщує вторинний запис MBR (secondary MBR, SMBR), до складу якого замість partition table входить таблиця логічного диска(LDT, logical disk table), їй аналогічна.


 

 

Рисунок 7.1 - Розбиття диска на розділи

 

Таблиця LDT описує розташування і характеристики розділу, що вміщує єдиний логічний диск, а також може специфікувати наступний запис SMBR. Якщо в розширеному розділі DOS створено К логічних дисків, то він вміщує К екземплярів, зв'язаних в список. Кожний елемент цього списка описує відповідний логічний диск і посилається на наступний (крім останнього) елемент диска.

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

Абревіатура FAT (file allocation table) розшифровується як “таблиця розташування файлів”. Цей термін відноситься до лінійної табличної структури з відомостями про файли — імена файлів, їх атрибути та інші дані, що визначають розташування файлів (або їх фрагментів) у середовищі FAT. Елемент FAT визначає фактичну область диска, в якій зберігається початок фізичного файлу.

В файловій системі FAT логічний дисковий простір будь-якого логічного диска поділяється на дві області (рис.7.2): системну область і область даних.

R Sec Fat1  Fat2 Rdir Каталоги і файли

Системна область                      Область даних

 

Рисунок 7.2 - Структура логічного диска

 

Системна область логічного диска створюється та ініціалізується при форматуванні, а в подальшому оновлюється при маніпулюванні файловою структурою. Область даних логічного диска вміщує файли і каталоги, підпорядковані кореневому. Вона, на відміну від системної області, доступна через інтерфейс користувача DOS. Системна область складається з наступних компонентів, розташованих у логічному адресному просторі підряд:

1. завантажувального запису (boot record, BR);

2. зарезервованих секторів (reserved sector, ResSecs);

3. таблиці розташування файлів (file allocation table, FAT);

4. кореневого каталогу (root directory, RDir).

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.