Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПО / ЛАБ_FS_2.doc
Скачиваний:
27
Добавлен:
03.03.2016
Размер:
370.69 Кб
Скачать

Лабораторна робота №4 Доступ до об’єктів кореневого каталогу файлової системи fat

Мета лабораторної роботи- дослідження структури логічного диску .

1 Структура логічного диску

Файлова система типу FAT - одна з найпоширеніших файлових систем, що зустрічається в багатьох операційних системах. Вона є основною файловою системою операційних систем Microsoft DOS і Windows 9х. Основна концепція файлової системи FAT полягає в тім, що кожному файлу й каталогу виділяється структура даних, називана дескриптором. У цій структурі зберігається ім'я файлу, його розмір, початкова адреса вмісту файлу й інші метадані. Уміст файлів і каталогів зберігається в блоках даних, називаних кластерами. Якщо файлу або каталогу виділяється більш одного кластера, інші кластери знаходять за допомогою структури даних, називаної FAT(File Allocation Table). Структура FAT використовується як для ідентифікації наступних кластерів у файлах, так і для визначення стану кластерів. Існує три версії FAT: FAT12, FAT16 і FAT32 (починаючи з Windows XP, підтримується ще FAText). Вони відрізняються друг від друга структурою фізичної моделі файлової системи. Зв'язки між службовими та інформаційними даними на прикладі одного об’єкту файлової системи (File1.dat) показано на рис1.1.

Рис 1.1 Зв’язки між структурами даних

Файлова система FAT ділиться на три фізичні області дляFAT32, та на чотири для FAT12/16(рис 1.2). Перша область називається зарезервованою; в FAT12 і FAT16 зарезервована область займає всього 1 сектор, але формально її розмір визначається в завантажувальному секторі. Друга область - область FAT - містить основні й резервні структури FAT. Вона починається в секторі, котрий розташовано за зарезервованою областю, а її розмір визначається кількістю й розміром структур FAT. Третя – кореневий каталог, для FAT12/16починається за областю FAT, а у FAT32має довільне положення у області даних. Область даних - містить кластери, виділені для зберігання файлів і вмісту каталогів.

Рис 1.2 Фізичні моделі файлових систем fat

2. Завантажувальний сектор

У файловій системі FAT дані, що необхідні для пошуку кореневого католог й структури логічного диска, зберігаються в структурі даних завантажувального сектора(BOOT). Завантажувальний сектор розташовується в першому секторі логічного диску , тому і є частиною зарезервованої області файлової системи. Microsoft називає деякі дані першого сектора блоком параметрів BIOS, або ВРВ (BIOS Parameter Block). В FAT32 завантажувальний сектор містить додаткові дані, у тому числі адресу резервної копії завантажувального сектора, і займає не один, як це було для FAT12,16 а три сектора.

FAT 12/16 і FA32 містять різні версії завантажувального сектора, хоча початкові 17 байт у них збігаються. Структура даних перших 17 байтів наведена в табл. 2.1, а структури інших байтів - у табл. 2.2 і 2.3. Структури описані мовою С++ приведені у додатку 1.

Таблиця 2.1 Структура перших 17 байтів завантажувального сектору

Діапазон (байти)

Опис

0-2

Ассемблерська команда переходу до завантажувального коду

3-10

Ім'я OEM в кодуванні ASCII

11-12

Кількість байтів в секторі

13-13

Кількість секторів у кластері

14-15

Розмір зарезервованої області у секторах

16

Кількість копій FAT

Команда в першому полі завантажувального сектора (байти 0-2) повідомляє комп'ютеру, де перебуває код, необхідний для завантаження операційної системи.

Тип носія визначає, перебуває файлова система на стаціонарному або змінному носії.

Починаючи з байта 17, між структурами завантажувального сектора FAT12/FAT16 і FAT32 починаються розбіжності. У них збігається тільки сигнатура 0x55 (байт 510) і ОхAA (байт 511).

Структура інших байтів завантажувального сектора FAT12 і FAT16 наведена в табл. 2.2

Таблиця 2.2 Структура інших байтів завантажувального сектора FAT12 і FAT16

Діапазон (байти)

Опис

0-16

таблиця 2.1

17-18

Максимальна кількість файлів у кореневому каталозі

19-20

Загальна кількість секторів логічного диска За умови що розмір менше 32MB

21-22

байт дескриптора середовища

22-23

Розмір кожної копії FAT

24-25

Кількість секторів на доріжці

26-27

Кількість головок

28-31

Кількість схованих секторів

32-35

Загальна кількість секторів логічного диска За умови що розмір більш ніж 32MB, інакше 0.

36

Тип пристрою

37

0

38

розширена сигнатура 0x29 ASCII код “)”

39-42

серійний номер тома

43-53

мітка тома

54-61

Мітка типу файлової системи (“FAT12”, “FAT16”)

510-511

сигнатура 0хАА55

Структура інших байтів завантажувального сектора FAT32 наведена в табл. 2.3

Таблиця 2.3 Структура інших байтів завантажувального сектора FAT32

Діапазон (байти)

Опис

0-16

Таблиця 2.1

17-20

Резерв

21-22

Байт дескриптора середовища

22-23

Розмір кожної копії FAT

24-25

Кількість секторів на доріжці

26-27

Кількість головок

28-31

Кількість схованих секторів

32-35

Резерв

36-37

Розмір однієї копії FAT (у секторах)

38-43

Зарезервовано

44-47

Перший кластер кореневого патолога

48-49

1

50-51

Сектор, у котрому знаходиться резервна копія загрузочного сектора

52-63

Зарезервовано

64

Тип пристрою

65

Резерв

66

сигнатура 0х29 – розширена сигнатура завантажника

67-70

серійний номер тома

71-81

мітка тома

82-89

Ідентифікатор типу файлової системи “FAT32”

...

510-511

сигнатура 0хАА55

Таблиця 2.4 Структура завантажувального сектора NTFS

Зсув

Розмір

Опис

0x0000

3

Команда JMP на завантажувальний код

0x0003

8

Рядок: "NTFS    "

0x000B

2

Кількість байт на сектор

0x000D

1

Кількість секторів на кластер

0x000E

7

Не використовується

0x0015

1

Медіа- дескриптор

0x0016

2

Не використовується

0x0018

2

Кількість секторів на доріжку

0x001A

2

Кількість голівок

0x001C

8

Не використовується

0x0024

4

Звичайно дорівнює 80 00 80 00 h

0x0028

8

Кількість секторів на розділі

0x0030

8

Номер початкового кластера області $MFT

0x0038

8

Номер початкового кластера області $MFTMirr

0x0040

4

Розмір MFT- запису в кластерах

0x0044

4

Розмір індексного запису в кластерах

0x0048

8

Серійний номер тому

0x0200

 

Завантажник Windows NT/2k/XP

Соседние файлы в папке СПО