- •Лабораторна робота № 2 Дослідження файловой системи fat
- •Вимоги до лабораторної бази та перелік необхідного програмного забезпечення
- •Теоретичні відомості
- •Структура BootSector
- •Структура области root
- •Структура области fat
- •Поиск файла на логическом диске
- •Удаление файла на логическом диске
- •Контрольные вопросы:
- •Порядок выполнения лабораторной работы № 2
- •Формат записи для файла с длинным именем
- •Задание на дом:
Формат записи для файла с длинным именем
Хотя файловая система FAT изначально ориентировалась на имена файла, не превышающие восьми символов (так называемый, формат MS-DOS «8.3»), но со временем получили поддержку и файловые имена большей длины, а также содержащие символы кириллицы. При этом в системной области ROOT формируется две записи:
первая - для файла, имя которого сокращено до формата MS-DOS «8.3» за счет отбрасывания всех остальных символов и замены двух последних символов имени символом «~» и цифрой. Эта запись имеет 32-байтный формат, стандартный для всех файлов.
вторая - для полного имени файла, указанном в UNICODE и следующего формата:
В приведенном примере показано формирование записей в области ROOT для файла с именем «The quick brown.fox». Как видно из иллюстрации, каждый символ UNICODE занимает двухбайтное поле. Размещение этих полей с 32-байтном блоке таково, что некоторые байты не задействуются, поэтому в 32-байтном блоке помещается не 18, а всего 13 символов, зашифрованных в UNICODE. Поэтому для хранения имени данного файла, насчитывающего, включая точку, пробелы и расширение «fox», 19 символов потребовалось два 32-байтных блока. Данный формат называется «каталожным» и формируется следующим образом:
Н
иже
приведена таблица UNICODE:
Контрольные вопросы:
Назовите основные разделы логического диска в файловой системе FAT и охарактеризуйте их содержимое.
Почему раздел FAT представлен на логическом диске в двух экземплярах?
Что обозначают цифры в названии файловых систем FAT-12, FAT-16 и т.п.?
Почему максимальный объем логического диска связан с длиной номера кластера?
Где хранится информация об основных характеристиках файла?
Как происходит процедура доступа ОС к файлу или папке?
Что такое фрагментация файлов и каковы ее особенности отображения в системе FAT?
Какими кодами обозначаются свободный, дефектный кластер, последний кластер файла?
Какие преобразования в системных областях происходят при удалении файла?
По какой причине восстановление файла не всегда возможно?
Порядок выполнения лабораторной работы № 2
1. С помощью программы NCDD.exe и образа дискеты в файле DiskLab2.IMG сформировать рабочую дискету для выполнения лабораторной работы. (Если программа NCDD.exe в среде WINDOWS не запускается, то скопируйте всю папку NCDD в корневой каталог рабочего логического диска на "винчестере" и повторите запуск программы.)
2. Загрузить с помощью ярлыка программу DiskEdit.exe, находящуюся на дискете, и просмотреть содержимое основных системных областей дискеты.
3. В области ROOT найти и отредактировать серийный номер дискеты (поле SerNumVolume) таким образом, чтобы при просмотре затем номера дискеты с помощью программы nomer_x.exe был сформирован 8-значный номер формата ddmm-yyyy ,
где dd - дата, mm – месяц и yyyy – год рождения студента, выполняющего лабораторную работу.
В протоколе на лабораторную работу привести схему соответствия байт в поле SerNumVolume и цифр на экране в программе nomer_x.exe.
4. В корневом каталоге дискеты средствами WINDOWS создать текстовый файл EXAMPLE.txt, в который записать свою фамилию, имя, отчество. Затем удалить данный файл. С помощью ярлыка запустить программу UNERASE.exe и восстановить удаленный файл. Открыть восстановленный файл и убедиться в сохранности его содержимого.
5. С помощью программы DiskEdit.exe открыть системный раздел ROOT, найти запись для файла EXAMPLE.txt и отредактировать ее, заменив первый символ в имени файла на код «Е5». В среде WINDOWS просмотреть содержимое дискеты и убедиться в том, что файл EXAMPLE.txt теперь невидим и недоступен.
6. В корневом каталоге дискеты создать текстовый файл с именем - «Пример файла с длинным именем.txt» и содержимым - «Файл к лабораторной работе № 4» С помощью программы DiskEdit.exe просмотреть системный раздел ROOT, найти соответствующую этому файлу запись и переписать ее в протокол лабораторной работы. С помощью таблицы кодирования UNICODE провести исследование и посимвольное раскодирование записи для данного файла в протоколе лабораторной работы. Определить количество 32-байтных блоков, которое потребовалось для сохранения длинного имени данного файла.
7. Дискету с результатами выполнения лабораторной работы предъявить преподавателю.
