Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет ДЕНИСА.doc
Скачиваний:
29
Добавлен:
15.04.2015
Размер:
868.86 Кб
Скачать

Министерство образования и науки РФ

Рязанский государственный радиотехнический университет

Кафедра ЭВМ

Отчет о лабораторной работе №4

«Архитектура и особенности файловой системы FAT32»

Выполнил: студент группы 0414 Рудь Д.А.

Проверил: доцент кафедры ЭВМ Засорин C. В.

Рязань 2012 г.

Задание 2-1.

2.1. Используя данные п. 1.2 и 1.3, разработать приложение Windows для чтения произвольного сектора заданного логического диска.

Скриншоты

Задание 2-2

2.2. С помощью разработанного приложения прочитать системные структуры данных BR, резервную копию BR, BF_BPB, FSInfo для одного из логических дисков1.

Зафиксировать полученные данные в отчете, расшифровать их и представить в виде соответствующих таблиц.

Считаем структуру данных BR. Сначала сектора расположен BF_BPB, а начиная со смещения 040 следует BR

Считаем резервную копию BR из 6-го раздела

Очевидно, что содержимое идентично в 0 и 6 секторах идентично.

Считаем BF_BPB, расположенную в 0 секторе со смещения 000 до смещения 03F

Расшифруем значения, полученные с помощью программы

  1. Структура BF_BPB

 Смещение

Размер, байт

Содержимое

0x00

3

Безусловный переход (jmp) на загрузочный код=90 58 EBh

0x03

8

Идентификатор фирмы-изготовителя=4D 53 44 4F 53 35 2E 30=MS DOS 5.0

0x0B

2

Число байт в секторе =0200h=512

0x0D

1

Число секторов в кластере=08h=8

0x0E

2

Число резервных секторов в резервной области раздела,

начиная с первого сектора раздела=00 22h=34

0x10

1

Число таблиц (копий) FAT=02h=2

0x11

2

Для FAT12/FAT16 - количество 32-байтных дескрипторов файлов в корневом каталоге; для FAT32 это поле имеет значение 0=00 00h

0x13

2

Общее число секторов в разделе; если данное поле содержит 0,

то число секторов задается полем по смещению 0x20=00 00h=0

0x15

1

Тип носителя = F8h -> Жесткий диск

0x16

2

Для FAT12/FAT16 это поле содержит количество секторов, занимаемых одной копией FAT; для FAT32 это поле имеет значение 0= 00 00h

0x18

2

Число секторов на дорожке (для прерывания 0x13)=00 3Fh=63

0x1A

2

Число рабочих поверхностей (для прерывания 0x13)=00 FFh=255

0x1C

4

Число скрытых секторов перед разделом=00 00 00 02h=2

0x20

4

Общее число секторов в разделе. Поле используется, если в разделе свыше 65535 секторов, в противном случае поле содержит 0=00 3E E7 E0=4 122 592

0x24

4

Количество секторов, занимаемых одной копией FAT=00 00 F0 B3h=4019

0x28

2

Номер активной FAT=00 00h=0

0x2A

2

Номер версии FAT32: старший байт - номер версии, младший – номер ревизии. В настоящее время используется значение 0:0

0x2С

4

Номер кластера для первого кластера корневого каталога=00 00 00 02h=2

0x30

2

Номер сектора структуры FSInfo в резервной области логического диска=00 01h

0x32

2

Номер сектора (в резервной области логического диска), используемого для хранения резервной копии загрузочного сектора=00 06h=6

0x34

12

Зарезервировано (содержит 0)=00h

Считаем структуру FSInfo, находящуюся на 1 секторе диска

Расшифруем полученные данные о FSinfo

 Смещение

Размер, байт

Описание

0x000

4

Значение 0x41615252 – сигнатура, которая служит признаком того, данный сектор содержит структуру FSInfo

0x004

480

Зарезервировано (содержит 0)

0x1E4

4

Значение 0x61417272 (сигнатура)

0x1E8

4

Текущее число свободных кластеров на диске. =00 07 D8 E7h=514279

0x1EC

4

Содержит номер кластера, с которого дисковый драйвер должен начинать поиск свободных кластеров. =00 00 00 26h=38

0x1F0

12

Зарезервировано (содержит 0)

0x1FC

4

Сигнатура 0xAA550000 – признак конца структуры FSInfo

Задание 2.3.

Модифицировать приложение для чтения информации о типе, расположении на диске и содержимом FAT, а также содержимом секторов задаваемого кластера диска.

Скриншоты

Видоизмененное приложение выглядит следующим образом. Была введена специальная форма для отображения содержимого FAT, а также содержимого секторов задаваемого кластера диска.

Задание 2.4.

По данным, полученным в п.2.2, прочитать информацию о FAT и зафиксировать ее в отчете.

Информация о FAT

Содержимое первого сектора FAT

Задание 2.5.

Создать на диске каталожную структуру (по варианту в лабораторной работе № 2).

Задание 2.6

Прочитать секторы диска, содержащие дескрипторы файлов и подкаталогов корневого каталога, двух-трех подкаталогов и двух-трех файлов с длинными именами в каждом подкаталоге. Прочитанную информацию зафиксировать в отчете, расшифровать ее и представить в виде таблиц, структура которых аналогична таблицам в лабораторной работе № 2.

Известно, что область данных начинается с 8072 сектора. Там начинается корневой каталог

Расшифровка дескрипторов корневого каталога

Cмещение

Размер, байт

Содержимое в 16-ричном коде

Расшифровка содержимого

Подкаталог S1

040h

32

20 20 20 20 20 20 20 20 20 20 31h

10

00

8F=143

97 2C=10010 111001 01100

40 85=0100000 0100 00101

40 85=0100000 0100 00101

00 00

97 2D=10010 111001 01101

40 85

00 03

00 00 00 00

Имя: S1

Атрибуты файла(каталог)

Поле для Windows NT

Поле, уточняющее время создания(в десятках миллисекунд)

Время создания= 18:57:20

Дата создания: 05.04.2012

Время последнего доступа: 05.04.2012

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

Время последней модификации:18:57:22

Дата последней модификации: 05.04.2012

Первый кластер: 3

Размер: 0 байт

Подкаталог S2

0A0h

32

20 20 20 20 20 20 20 20 20 53 32h

10

00

B3=10110011=179

97 2E=10010 111001 01100

40 85=0100000 0100 00101

40 85=0100000 0100 00101

00 00

97 2F

40 85

00 04

00 00 00 00

Имя: S2

Атрибуты файла(каталог)

Поле для Windows NT

Поле, уточняющее время создания(в десятках миллисекунд)=179

Время создания= 18:57:28

Дата создания: 05.04.2012

Время последнего доступа: 05.04.2012

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

Время последней модификации: 18:57:30

Дата последней модификации: 05.04.2012

Первый кластер: 4

Размер: 0 байт

Файлы корневого каталога

100h

32

46 49 4С 4F 53 4F 7E 31 44 4F 43

20

00

4B=75

97 43=10010 111010 00011

40 85

40 85

00 00

B9 E3=10101 000110 10011

40 6A

00 05

00 00 54 00

Имя: FILOSO~1DOC

Атрибуты файла(архивный)

Поле для Windows NT

Поле, уточняющее время создания(в десятках миллисекунд)=75

Время создания= 18:58:03

Дата создания: 05.04.2012

Время последнего доступа: 05.04.2012

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

Время последней модификации: 21:06:19

Дата последней модификации: 05.04.2012

Первый кластер: 5

Размер: 21 504 байт

0E0

32

01

46 00 69 00 6С 00 6F 00 73 00

0F

00

6A

6F 00 70 00 68 00 69 00 61 00 66 00

00 00

69 00 6C 00

Номер фрагмента

Символы 1-5 имени файла в Unicode Filos

Атрибуты файла

Байт флагов

Контрольная сумма короткого имени

Символы 6-11 имени файла в Unicode=phiaf

Номер первого кластера

Символы 12-13 имени файла в Unicode=il

0C0

32

42

65 00 2E 00 64 00 6F 00 63 00

0F

00

6A

00 00 FF FF FF FF FF FF FF FF FF FF

00 00

FF FF FF FF

Номер фрагмента

Символы 1-5 имени файла в Unicode e.doc

Атрибуты файла

Байт флагов

Контрольная сумма короткого имени

Символы 6-11 имени файла в Unicode=

Номер первого кластера

Символы 12-13 имени файла в Unicode=il

Теперь расшифруем содержимое подкаталога S1. При расшифровке предыдущей таблицы было найдено, что первый кластер = 3, поэтому считываем 8080 сектор

Расшифровка дескрипторов подкаталога s1

Cмещение

Размер, байт

Содержимое в 16-ричном коде

Расшифровка содержимого

Подкаталог S1

000h

32

20 20 20 20 20 20 20 20 20 20 2Eh

10

00

8F=143

97 2C=10010 111001 01100

40 85=0100000 0100 00101

40 85=0100000 0100 00101

00 00

97 2D=10010 111001 01101

40 85

00 03

00 00 00 00

Имя: .

Атрибуты файла(каталог)

Поле для Windows NT

Поле, уточняющее время создания(в десятках миллисекунд=143

Время создания= 18:57:20

Дата создания: 05.04.2012

Время последнего доступа: 05.04.2012

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

Время последней модификации:18:57:22

Дата последней модификации: 05.04.2012

Первый кластер: 3

Размер: 0 байт

020h

32

20 20 20 20 20 20 20 20 20 2E 2Eh

10

00

8F=143

97 2C=10010 111001 01100

40 85=0100000 0100 00101

40 85=0100000 0100 00101

00 00

97 2D=10010 111001 01101

40 85

00 00

00 00 00 00

Имя: ..

Атрибуты файла(каталог)

Поле для Windows NT

Поле, уточняющее время создания(в десятках миллисекунд)=143

Время создания= 18:57:20

Дата создания: 05.04.2012

Время последнего доступа: 05.04.2012

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

Время последней модификации:18:57:22

Дата последней модификации: 05.04.2012

Первый кластер: 0

Размер: 0 байт

080h

32

20 20 20 20 20 20 20 20 20 34 53h

10

00

5C=92

97 59=10010 111010 11001

40 85=0100000 0100 00101

40 85=0100000 0100 00101

00 00

97 5A=10010 111010 11010

40 85

00 26

00 00 00 00

Имя: S4

Атрибуты файла(каталог)

Поле для Windows NT

Поле, уточняющее время создания(в десятках миллисекунд)=92

Время создания= 18:58:50

Дата создания: 05.04.2012

Время последнего доступа: 05.04.2012

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

Время последней модификации:18:58:54

Дата последней модификации: 05.04.2012

Первый кластер: 38

Размер: 0 байт

0E0h

32

20 20 20 20 20 20 20 20 20 35 53h

10

00

C3=195

97 5A=10010 111010 11010

40 85=0100000 0100 00101

40 85=0100000 0100 00101

00 00

97 5B=10010 111010 11011

40 85

00 27

00 00 00 00

Имя: S5

Атрибуты файла(каталог)

Поле для Windows NT

Поле, уточняющее время создания(в десятках миллисекунд)=195

Время создания= 18:58:54

Дата создания: 05.04.2012

Время последнего доступа: 05.04.2012

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

Время последней модификации:18:58:56

Дата последней модификации: 05.04.2012

Первый кластер: 39

Размер: 0 байт

140h

32

20 20 20 20 20 20 20 20 20 36 53h

10

00

49=73

97 5C=10010 111010 11100

40 85=0100000 0100 00101

40 85=0100000 0100 00101

00 00

97 5D=10010 111010 11101

40 85

00 28

00 00 00 00

Имя: S6

Атрибуты файла(каталог)

Поле для Windows NT

Поле, уточняющее время создания(в десятках миллисекунд)=73

Время создания= 18:58:56

Дата создания: 05.04.2012

Время последнего доступа: 05.04.2012

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

Время последней модификации:18:58:58

Дата последней модификации: 05.04.2012

Первый кластер: 40

Размер: 0 байт

Файлы каталога S1

Файл Problemsfil.doc

1A0h

32

50 52 4F 42 4C 45 7E 31 44 4F 43

20

00

A2=162

97 5D=10010 111010 11101

40 85=0100000 0100 00101

40 85=0100000 0100 00101

00 00

06 51=00000 110010 10001

40 85

00 29

00 00 64 00

Имя: PROBLE~1.DOC

Атрибуты файла(архивный)

Поле для Windows NT

Поле, уточняющее время создания(в десятках миллисекунд)=162

Время создания= 18:58:56

Дата создания: 05.04.2012

Время последнего доступа: 05.04.2012

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

Время последней модификации:00:50:34

Дата последней модификации: 05.04.2012

Первый кластер: 41

Размер: 25600 байт

180

32

01

50 00 72 00 6F 00 62 00 6C 00

0F

00

E5

65 00 6D 00 73 00 66 00 69 00 6C 00

00 00

2E 00 64 00

Номер фрагмента

Символы 1-5 имени файла в Unicode Probl

Атрибуты файла

Байт флагов

Контрольная сумма короткого имени

Символы 6-11 имени файла в Unicode=emsfil

Номер первого кластера

Символы 12-13 имени файла в Unicode=.d

160

32

42

6F 00 63 00 00 00 FF FF FF FF

0F

00

E5

FF FF FF FF FF FF FF FF FF FF FF FF

00 00

FF FF FF FF

Номер фрагмента

Символы 1-5 имени файла в Unicode oc

Атрибуты файла

Байт флагов

Контрольная сумма короткого имени

Символы 6-11 имени файла в Unicode=

Номер первого кластера

Символы 12-13 имени файла в Unicode=il

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]