Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лабораторная работа № 6. Файловые системы ОС Windows



 

1. Цель работы

Целью работы является приобретение навыков анализа физической и логической структуры магнитных дисков и закрепление знаний по файловым системам FAT и NTFS.

2. Методические указания

2.1 Общие особенности файловых систем Windows

На физическом уровне работа с устройством внешней памяти всегда проводится через соответствующий контроллер. Именно контроллер знает физические параметры устройства, поэтому физическая модель магнитных дисков не зависит от операционной системы (Linux или Windows).

Диск Windows, также как и Linux, может быть разбит на несколько разделов, которые могут быть первичными, расширенными или логическими. Параметры разделов хранятся в таблице разделов диска (partition table). В отличие от Linux, разделы диска называются логическими дисками и обозначаются латинскими буквами, за которыми следует двоеточие – A:, B:, C:, D: и т.д. Файловые системы каждого раздела, в отличие от Linux, не связаны между собой и функционируют отдельно друг от друга.

Небольшая часть адресного пространства каждого раздела выделяется под системную область, основная часть – под область данных. Единицей дисковой памяти в области данных является кластер, размер которого кратен размеру сектора и может достигать 64 Кбайт. Все кластеры имеют сквозную нумерацию, причем первый допустимый номер кластера равен 2. Файлы на диске могут храниться в несмежных кластерах, т.е. в различных частях диска.

Файл Windows - это поименованная совокупность информации, хранящаяся на ВЗУ. В виде файлов на диске хранятся программы и данные. Каталог – файл специального формата, предназначенный для хранения метаданных о зарегистрированных в этом каталоге файлах и подкаталогах (имя, расширение, атрибуты, размер, дата и время создания или последнего изменения, адрес). Каталоги каждого логического диска организованы в единую древовидную структуру. Имена файлов и каталогов, в отличие от Linux, регистронезависимы.

Структура системной области диска зависит от типа файловой системы, которая определяет способы доступа к информации в области данных. Наиболее известными файловыми системами для Windows являются FAT и NTFS.

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

На рис. 12 приведена логическая модель диска с файловой системой FAT. В системной области находятся загрузочная запись, таблица размещения файлов и корневой каталог. Загрузочная запись, иногда называемая начальным загрузчиком, имеет размер 512 байт, всегда хранится в нулевом секторе и используется в процессе загрузки операционной системы.

 
 

 


Рис. 12

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

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

2.1.1 Таблица размещения файлов

Таблица размещения файлов содержит информацию о номерах кластеров, выделенных для хранения каждого файла. Она представляет собой карту (образ) области данных, в которой описывается состояние каждого кластера диска. Размер таблицы зависит от объема диска. Номер начального кластера, выделенного файлу, записывается в элемент каталога этого файла.

Каждый элемент таблицы соответствует одному кластеру в области данных. Дефектные кластеры помечаются как " bad". Если кластер свободен, то соответствующий ему элемент FAT имеет значение " 0". Если кластер выделен для какого-либо файла, то возможны два варианта:

а) элемент содержит признак конца файла " EOF", если этот кластер является последним кластером, выделенным файлу;

б) элемент содержит значение номера следующего кластера, выделенного файлу.

Таким образом элементы FAT, выделенные одному файлу, связываются в цепочки, позволяющие получить доступ к информации даже в том случае, если файл при записи разбивается на несколько фрагментов, хранящихся в несмежных кластерах диска. Элементы FAT могут быть 16- и 32-разрядными, в зависимости от этого файловые системы имеют названия FAT-16 и FAT-32 и работают с 16-разрядными и 32-разрядными дисковыми адресами соответственно.

Логическое разбиение области данных на кластеры, как совокупность секторов, взамен использования одиночных секторов имеет следующий смысл:

- уменьшается размер FAT;

- уменьшается возможная фрагментация файлов;

- ускоряется доступ к файлу, т.к. в несколько раз сокращается длина цепочек фрагментов дискового пространства, выделенных для него.

Пример. Файл Ist.dat размером 14150 байтов занимает на диске кластеры 3, 4, 5 и 6. Приведем элемент каталога, в котором зарегистрирован этот файл, и фрагмент FAT, а также связь между ними:

элемент каталога:

Имя Тип Атрибут Резерв Время созд. Дата созд. Номер нач. кластера Размер файла
IST dat r   12-50 01.10.06

фрагмент FAT:

 

3 4 5
EOF EOF EOF

 

Следует иметь ввиду, что при увеличении размера кластера ухудшается коэффициент использования дисковой памяти за счет увеличения внутренней фрагментации. Минимальный размер кластера на диске с файловой системой FAT зависит об объема диска (Vдиска) и разрядности элемента FAT (r):

Vкл_min = Vдиска / 2 r

2.1.2 Корневой каталог диска

Записи корневого каталога имеют длину 32 байта, структура записей представлена в таблице 19. Если файл не имеет расширения, то в соответствующем поле хранятся пробелы. Дата и время используются в виде четырехбайтового значения в операциях сравнения. Номер начального кластера определяет точку входа в FAT для данного файла и одновременно дисковый адрес собственно файла.

Таблица 19

Номер поля Длина (байт) Назначение поля
имя файла
расширение имени
атрибуты
резерв
время создания/модификации
дата создания/модификации
номер начального кластера
размер файла

 

Байт атрибутов файла задает его статус в соответствии с табл. 20. Если байт атрибута равен 8, то метка тома хранится в полях имени и расширения файла элемента корневого каталога. Если элемент каталога указывает на подкаталог, то используются все поля элемента каталога, при этом последнее поле (размер файла) имеет нулевое значение.

Таблица 20

Значение байта атрибутов Характеристика файла
только чтение
скрытый файл
системный файл
элемент каталога хранит метку тома (11 байтов)
элемент каталога указывает на подкаталог

2.1.3 Каталог нижнего уровня

Все подкаталоги имеют структуру, аналогичную корневому каталогу, только в отличие от него они не имеют фиксированного размера и фиксированного дискового адреса, т.е. хранятся на диске как обычные файлы. Для того, чтобы в процессе работы существовала возможность перемещения по дереву каталогов как вниз, так и вверх, в подкаталогах предусмотрено существование двух элементов c именами "." и "..". Первый элемент каталога является указателем на данный каталог, а второй – на родительский каталог. Соответственно поле «Номер начального кластера» этих элементов содержит дисковые адреса этих каталогов.

Если это поле содержит нуль, то это означает, что каталог-родитель является корневым каталогом диска.

2.1.4 Хранение длинных имен файлов

Файловая система FAT для каждого файла и подкаталога хранит два имени – длинное и короткое. Хранение длинных имен файлов организуется в специально отформатированных записях каталога, у которых байт атрибутов равен 0F. Экспериментальным путем было определено, что такие записи каталога не видны для старых программ, работающих только с короткими именами. Структура записи каталога для хранения длинных имен приведена в таблице 21, откуда видно, что одна запись может хранить до 13 символов в кодировке Unicode.

Для регистрации файла с длинным именем в каталоге выделяется необходимое количество специальных записей, а также одна стандартная запись для хранения короткого имени. Блок специальных записей всегда располагается в каталоге перед стандартной записью, поэтому если к каталогу обращается 16-разрядная DOS программа, то она будет видеть только короткое имя файла, а 32-разрядные Windows-приложения могут работать с длинными именами.

Таблица 21

Номер поля Длина (байт) Назначение поля
порядок следования
первые 5 символов имени
Атрибуты (0F)
Указатель типа
Контрольная сумма
Следующие 6 символов имени
номер начального кластера (всегда 0)
последние 2 символа в имени

 

Короткое имя образуется из длинного следующим образом: оставляется 6 символов длинного имени, к которому дописываются знак “~” (тильда) и порядковый номер в пределах каталога для файлов, у которых первые 6 символов имени совпадают. Например, для регистрации файла с именем «Курсовой проект.doc» в каталоге будут выделены две специальные записи и одна стандартная, которая будет хранить имя “Курсов~1”.

2.1.5 Удаление файлов

При удалении файла обычно выполняются следующие действия:

- в таблице размещения файлов обнуляются все элементы, выделенные для описания этого файла;

- в соответствующем элементе каталога изменяется имя файла – вместо первого символа в поле имени записывается символ «х».

Остальные характеристики файла в элементе каталога, а также содержимое файла в кластерах диска, не изменяются, поэтому всегда есть возможность полностью или частично восстановить удаленный файл. Полное восстановление возможно, если:

- не перезаписан соответствующий элемент каталога;

- имеется доступ к каталогу;

- кластеры, ранее занимаемые файлом, не выделены другим файлам или каталогам;

- удаленный файл был нефрагментированным.

При несоблюдении последнего условия полное восстановление не гарантируется, т.к. не всегда возможно извлечь данные о том, какие кластеры были выделены файлу.

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

2.2 Файловая система NTFS

2.2.1 Организация раздела NTFS

Каждый раздел NTFS организован в виде последовательности кластеров размером до 64 Кбайт (по умолчанию обычно размер кластера равен 4 Кбайт) и содержит каталоги, файлы, битовые массивы и другие структуры данных. Основным отличием NTFS от файловой системы FAT является хранение основных системных структур данных в виде обычных файлов. Например, таким образом хранятся корневой каталог, битовый массив использованных блоков, определения атрибутов файлов и т.д. Имена системных файлов начинаются с символа “$”.

На рис. 13 показана организация раздела NTFS. В первом блоке раздела находится загрузочная запись ($Boot), в которой содержится программа загрузки и информация о разделе (тип файловой системы и адреса основных системных файлов). Загрузочная запись занимает обычно 8 КБ (16 первых секторов).

Основной структурой данных в NTFS является главная таблица файлов (Master File Table, MFT), которая хранится в файле $MFT и представляет собой главный каталог, в котором регистрируются все файлы раздела, включая системные файлы. Для MFT резервируется 12% от общего объема раздела в виде непрерывной последовательности блоков, которая называется MFT-зоной. Запись файлов и каталогов в эту зону не проводится, а ее адрес хранится в загрузочной записи.

MFT состоит из множества записей размером 1 Кбайт о файлах, расположенных на томе. В записи MFT хранится вся информация о файле (имя, дата и время создания, размер, положение на диске отдельных фрагментов, и т.д). Если не хватает одной записи MFT, то используются несколько, причем не обязательно подряд. При этом первая запись называется базовой. Каждая запись MFT имеет уникальный номер – индекс, общее количество записей – до 248.

Рис. 13

Структура файла $MFT показана на рис. 14. Первые 16 записей выделены для хранения информации о системных файлах. Самая первая запись в MFT – это запись о самом файле $ MFT. Во второй записи содержится информация о зеркальной копии MFT (файл $MFTMirr), в которой дублируются первые 4 записи таблицы MFT. В случае возникновения сбоя, если MFT окажется недоступным, информация о системных файлах будет считываться из файла $MFTMirr, адрес которого также имеется в загрузочной записи.

Рис. 14

Ниже приведено назначение некоторых системных файлов NTFS:

· $LogFile – файл журнала, в котором записывается информация о всех операциях, изменяющих структуру раздела NTFS, например, создание файлов и каталогов. Файл журнала используется при восстановлении тома NTFS после сбоев;

· $Volume – файл информации о томе, в котором содержатся имя тома (Volume label), версия NTFS и набор флагов состояния тома, например, флаг, установка которого означает, что том был поврежден и требует восстановления при помощи системной утилиты Chkdsk;

· $AttrDef – таблица определения атрибутов, содержащая возможные на данном томе типы атрибутов файлов;

· Root Directory – файл с информацией о корневом каталоге тома. В нем хранятся ссылки на файлы и каталоги, содержащиеся в корневом каталоге;

· $BitMap – файл битовой карты, каждый бит в которой соответствует одному кластеру: единичное значение бита соответствует занятому кластеру, нулевое – свободному;

· $Boot – файл загрузочной записи тома;

· $BadClus – файл плохих кластеров, содержащий информацию обо всех кластерах, имеющих сбойные секторы.

2.2.2 Структура записи MFT

Файловая запись MFT, структура которой приведена на рис. 15, всегда располагается в начале сектора; ее первые байты кодируют слово " FILE" (ASCII-коды 46 49 4C 45), а конец записи определяется 4-байтовой последовательностью FF FF FF FF. Запись состоит из заголовка и набора атрибутов. В заголовке содержится служебная информация о записи (например, её тип и размер), а все данные, относящиеся непосредственно к файлу, хранятся в виде атрибутов.

Каждый атрибут имеет заголовок, определяющий тип атрибута и его свойства, и тело, содержащее основную информацию атрибута. Названия атрибутов, как и системных файлов, начинаются с " $", например, имя файла ($FILE NAME), информация о его свойствах ($STANDARD_INFORMATION), данные файла ($DATA). Физически атрибут файла хранится в виде простой последовательности байтов.

Рис. 15

По расположению относительно MFT атрибуты бывают резидентные и нерезидентные. Резидентные атрибуты полностью помещаются в файловую запись MFT, нерезидентные атрибуты хранятся вне MFT. Область, в которой расположен нерезидентный атрибут, называется группой. Поскольку нерезидентных атрибутов в файле может быть несколько, то и групп бывает тоже несколько. Множество групп файла называется списком групп (RunList). Файловая запись при наличии нерезидентных атрибутов содержит ссылку на расположение группы на диске (см. рис. 14).

Некоторые поля заголовка файловой записи, а также резидентных и нерезидентных атрибутов представлены на рис.16. На том же рисунке справа показан пример файловой записи с конкретными значениями рассматриваемых полей. Числа слева от полей записи обозначают шестнадцатеричное смещение поля от начала записи.

В начале файловой записи находится признак её начала – слово " FILE" (46 49 4C 45). По смещению 0x14 расположено двухбайтовое поле, в котором записано смещение первого атрибута относительно начала файловой записи. В примере в этом поле записано 38, т. е. первый атрибут расположен по смещению 38.

В следующем поле хранится тип файловой записи: значение 01 обозначает файл, 02 – каталог (directory). В примере файловая запись соответствует файлу (значение 01 по смещению 16). Ещё одно поле в заголовке содержит размер всей записи. В примере на рис. 15 в этом поле записано 1A0, т. е. размер записи составляет 416 байт.

Каждый атрибут имеет поля, указывающие тип, длину и резидентность атрибута. Все типы атрибутов имеют свои численные значения, например, атрибуту $FILE_NAME соответствует значение 0x30, атрибуту $STANDARD_ INFORMA-TION – 0x10, атрибуту $DATA – 0x80.

Если атрибут резидентный, то в поле резидентности записывается 0x00, иначе – 0x01. В случае нерезидентного атрибута предусмотрены поля для хранения номеров кластеров, в которых располагается группа или несколько групп, выделенных для размещения файла.

Рис. 16

В примере на рис 16 показаны два атрибута. Первый атрибут имеет тип $STANDARD_INFORMATION (значение 10), длина атрибута 96 байт (6016 = 96), атрибут является резидентным (00). У второго атрибута тип $DATA (80), длина – 72 байта (4816 = 72), атрибут является нерезидентным (01).

Для нумерации кластеров используются два типа номеров – логический номер кластера (LCN) и виртуальный номер кластера (VCN). Логический номер является номером кластера в пределах всего диска и используется для поиска начального кластера группы. Виртуальный номер обозначает порядковый номер кластера внутри группы.

В случае нерезидентных атрибутов в заголовке атрибута содержатся следующие поля: номер VCN первого кластера группы (обычно равен 0х00), номер VCN последнего кластера группы и список групп (RunList), описывающий расположение групп на диске.

Рассмотрим пример описания расположения групп, приведенный на рис.16 справа. В этом примере значения полей следующие:

· первый VCN = 0x00;

· последний VCN = 0x3F;

· список групп (RunList) = 0x21 40 55 20 00.

Расположение кластеров для данного примера приведено на рис. 17.

Рис. 17

В этом примере значение для списка групп 0x21 40 55 20 00 обозначает следующее:

· 0x21 – первый байт кодирует размер двух полей, которые за ним следуют:

- младший полубайт обозначает размер поля (в байтах), в котором хранится длина группы в кластерах; в данном случае значение 1 указывает, что на длину группы отводится один байт;

- старший полубайт обозначает размер поля (в байтах), в котором расположен номер LCN первого кластера группы; в данном случае значение 2 указывает на двухбайтовое поле;

· 0x40 – длина группы. Поскольку в первом байте размер поля длины группы определен в один байт, в качестве длины группы рассматриваем однобайтовое поле; в данном примере оно равно 0x40 (64 кластера);

· 0x2055 – LCN номер первого кластера. В первом байте размер поля номер первого кластера определен в два байта, поэтому в качестве LCN номера первого кластера рассматривается двухбайтовое поле, которое в примере равно 0x2055 (обратите внимание, байты на диске записываются в обратном порядке: сначала младшие – 55, затем старшие – 20);

· 0x00 – признак окончания описания списка групп.

Указанные обозначения проиллюстрированы на рис. 18.

Рис. 18

В рассмотренном примере нерезидентный атрибут содержится всего в одной группе, но в общем случае групп может быть несколько.

2.2.3 Альтернативные потоки NTFS

Каждый файл в NTFS представляет набор потоков, в которых хранятся данные. По умолчанию содержимое файла записывается в основной поток, но при необходимости к файлу можно добавлять дополнительные, альтернативные потоки данных (ADS), в которых можно хранить, например, иконки и другую информацию о файле.

Потоки данных файла описываются атрибутом $DATA, одним из свойств которого является имя потока. Основной поток является неименованным, а каждый альтернативный поток должен иметь собственное имя. Альтернативные потоки скрыты от пользователя и не отображаются большинством стандартных программ.Они могут содержать любой тип информации – текстовый, графический, видео и т.д. В альтернативный поток можно даже записать программу, что иногда используется для распространения вредоносного ПО.

Пример. Пусть имеется файл primer.txt размером 15 байтов, содержащий строку: ”Hello, students! ”

1.Создаем в файле именованный поток с именем potok1.txt:

echo This is second stream> primer.txt: potok1.txt

Размер файла, выводимый командой dir или Проводником, при этом не изменится.

2. Просмотрим содержимое основного и альтернативного потоков:

type primer.txt (выводится строка «Hello, students! »)

type primer.txt: potok1.txt (ошибка, команда не видит второй поток! )

more< primer.txt: potok1.txt (выводится строка «This is second stream»)

notepad primer.txt: potok1.txt (Блокнот также видит альтернативный поток)

3. Создадим в файле второй альтернативный поток с именем potok2.jpg, содержащий графический файл:

type foto.jpg > primer.txt: potok2.jpg

Размер файла, выводимый командой dir или Проводником, при этом также не изменится.

4. Извлечем графические данные из потока с помощью графического редактора:

mspaint primer.txt: potok2.jpg

5. Создадим в файле третий альтернативный поток с именем calcul.exe, содержащий программу Калькулятор:

type c: \windows\system32\ calc.exe > primer.txt: calcul.exe

Размер файла, выводимый командой dir или Проводником, при этом опять не изменится.

6. Запустим Калькулятор из текстового файла:

start.\ primer.txt: calcul.exe

2. 3 Программное обеспечение для выполнения работы

Основным инструментом исследования файловой системы магнитных дисков является специальная программа - дисковый редактор. Современные дисковые редакторы обладают большим набором возможностей: просмотр и редактирование системной области диска; просмотр и редактирование директорий и файлов; восстановление удаленных директорий и файлов; доступ к любому участку диска по номеру сектора или кластера; работа с образом диска; создание загрузочных дисков и т.д.

Для выполнении лабораторной работы можно использовать дисковые редакторы Acronis Disk Editor (http: //www.acronis.com/ru-ru/), DiskExplorerForNTFS (http: //www.runtime.org/diskexplorer.htm) или DMDE (http: //dmde.ru). Редактор DMDE имеет свободно распространяемую версию, которую можно скачать с сайта разработчика, поэтому рекомендуем работать именно с этой программой. Выполнение данной лабораторной работы требует прямого обращения к дискам, что несет потенциальную опасность для вычислительной системы, поэтому для работы необходимо использовать дисковый редактор только в режиме чтения.

Если Вы выполняете работу на домашнем компьютере, то можно работать с реальными дисками или флэш – накопителями. В компьютерном классе в целях безопасности администратор системы может отключить возможность работы с дисками, в этом случае можно работать с заранее подготовленным образом диска или использовать виртуальную машину, работающую в любой среде виртуализации (Oracle Virtual Box, Microsoft Hiper-V и т.д.).

В классах ФПМИ лабораторная работа выполняется на виртуальной машине Hiper-V с операционной системой Windows Server 2012, имеющей три логических диска: системный диск с файловой системой NTFS (С: ) и пользовательские диски с файловыми системами NTFS (D: ) и FAT32 (F: ). Удаленное подключение к виртуальной машине проводится с помощью бригадной учетной записи командой:

Mstsc -v pmi-os-lab

После загрузки редактора необходимо выбрать тип диска – физический или логический. При выборе физического диска открывается таблица разделов, в которой хранится список логических дисков с указанием типа файловой системы, объема и границ каждого логического диска (рис. 19). Для отображения имени разделов диска можно нажать кнопку «Меню» и выбрать пункт «Показать буквы томов».

Индикаторы показывают наличие соответствующих структур:

· T – таблица разделов

· E – элемент таблицы разделов

· B – загрузочный сектор тома

· C – копия загрузочного сектора

· F – основные структуры ФС (например, начальная запись MFT для NTFS);

Рис. 19

С помощью контекстного меню для каждого логического диска можно выполнить следующие действия: открыть, удалить или создать образ. Образ представляет собой файл, содержащий снимок диска, т.е. его точную физическую копию, которую можно использовать для восстановления диска в случае повреждения.

После открытия логического диска редактор выводит его параметры, набор которых зависит от типа установленной файловой системы: размеры сектора и кластера, число элементов корневого каталога или расположение файла MFT и т.д. (рис. 20).

Рис. 20

Нажатие кнопки «Открыть» переводит редактор в режим просмотра, в котором имеется три панели (просмотр папок, просмотр файлов и панель редактора), показанных на рис. 21. В панель редактора можно выводить содержимое системной области и области данных диска. Управление панелью редактора проводится через меню Редактор.

Рис. 21

2.3.1 Работа с файловой системой FAT32

Для FAT32 в панель редактора из системной области можно выводить загрузочную запись, таблицу FAT и корневой каталог, а из области данных – каталоги и файлы.

При просмотре таблицы FAT элементы, соответствующие свободным кластерам, выводятся символом «0», занятым кластерам – символом «=», а занятым последним кластерам – символом «Е». Реальные значения элементов FAT выводятся при установке курсора на элемент, при этом в строке статуса отображается название файловой системы и номер кластера, который соответствует текущему элементу FAT (например, FAT32 [17251]). По каждому каталогу и файлу выводится имя, расширение, размер, номер начального кластера, атрибуты и даты создания и изменения (см. рис. 21).

Просмотр содержимого файла, которое выводится в шестнадцатиричном и символьном виде, проводится двойным щелчком мыши по имени файла; изменение кодировки символов проводится в меню Режим/Кодировка. В этом режиме можно также посмотреть цепочку кластеров, выделенных данному файлу (меню Редактор/ Карта кластеров), как показано на рис. 22.

Рис. 22

Элементы каталога, имена которых начинаются с символа «х» соответствуют удаленным файлам. Если в поле имени стоят цифры или символы «е0», то этот элемент предназначен для хранения длинного имени файла (рис. 23).

DMDE позволяет осуществить быстрый переход на заданный кластер или сектор диска по их номеру (меню Редактор/Кластер или меню Редактор/Сектор тома), а также восстановить удаленные файлы.

Для восстановления необходимо отметить на панели нужные файлы, выбрать в контекстном меню пункт «Восстановить объект…» и указать каталог, в который надо провести восстановление. Для того, чтобы не испортить файл-оригинал, восстановление желательно проводить на другой логический диск.

 

Рис. 23

2.3.1 Работа с файловой системой NTFS

После выбора логического диска в окне редактора будет выведено содержимое файла $MFT(рис. 24).

Рис. 24

Первая запись описывает сам файл $MFT, а вторая – копию его первых четырех записей ($MFTMirr). Для каждой записи выводится ее адрес на диске (номера кластера и сектора), граничные метки, внутренний номер (индекс) и набор атрибутов. Минимальный набор включает атрибуты $STAN-DART INFORMATION, $FILE NAME и $DATA. Для просмотра содержимого каждого атрибута необходимо в его строке сделать щелчок мыши на символе ‘+’.

На рис. 25 показано содержимое атрибута $DATA, указывающего на расположение данных одного из файлов.

Рис. 25

Анализ рисунка позволяет сделать следующие выводы:

· индекс файла в MFT – 172808;

· данные файла находятся на диске, т.к. атрибут является нерезидентным;

· данные занимают 8 кластеров (start vcn=0, end vcn=7) или 32768 байта, файл не фрагментирован;

· номер начального кластера файла – 18986720;

· длина атрибута – 72 байта.

На рис. 26 показан этот файл в режиме просмотра данных.

Рис. 26

3 Порядок выполнения работы

1. Войдите в среду Windows на рабочем компьютере с помощью бригадной учетной записи и подключитесь к виртуальной машине pmi-os-lab.

2. Откройте дисковый редактор DMDE и определите параметры виртуального диска: общий объем, число и типы разделов, тип файловой установленной файловой системы. Для FAT - раздела определите размеры сектора и кластера; число секторов, выделенных для таблицы FAT и размер корневого каталога. Для NTFS - раздела определите размеры сектора и кластера, размер файла $MFT и его адрес, размеры записи MFT и индексной записи. Занесите все параметры в отчет, подтверждая их скриншотами.

3. Откройте логический диск с файловой системой FAT32 и выполните следующие действия, подтверждая их скриншотами.

3.1 Создайте на диске каталог с именем, соответствующим Вашей учетной записи и в нем создайте структуру каталогов согласно заданию лабораторной работы № 1 (см. рис. 1).

3.2. В каталог abc_kk запишите три файла размером 40 – 60 Кбайт, имеющих форматы .txt, .doc и .docx, имена файлов должны содержать не менее 15 символов, например, Лабораторная работа № 6.

3.3. Для файла Лабораторная работа № 6.txt выполните следующие действия:

- определите число элементов каталога, выделенных для хранения информации по файлу;

- занесите в таблицу 22 содержимое элемента, предназначенного для хранения короткого имени;

Таблица 22

Наименование поля Значение поля
имя файла  
расширение имени  
атрибуты  
время создания  
дата создания  
номер начального кластера  
размер файла  

 

- просмотрите содержимое и коды первых 16 байтов, занесите их в отчет;

- определите используемую кодировку символов путем сравнения с кодировочными таблицами редактора;

- определите список кластеров этого файла, результаты занесите в таблицу 23;

Таблица 23

Логический номер кластера в файле n
Номер кластера на диске          
Значение элемента FAT          

 

3.4. С помощью программы Проводник скопируйте файл Лабораторная работа № 6.txt в каталог trash_kk.

3.5. Удалите файл Лабораторная работа № 6.txt из каталога abc_kk, проведите анализ изменений в FAT и в каталоге abc_kk, результаты занесите в отчет в виде таблиц 22 и 23. Посмотрите содержимое начального кластера удаленного файла, результат занесите в отчет.

3.6. Восстановите удаленный файл Лабораторная работа № 6.txt.

3.7. Определите используемую кодировку символов для файлов Лабораторная работа № 6.doc и Лабораторная работа № 6.docx, результаты занесите в отчет.

4. Откройте логический диск с файловой системой NTFS и выполните действия, подтверждая их скриншотами..

4.1. Создайте на диске структуру каталогов и файлов согласно п.3.1 и п.3.2.

4.2. Определите характеристики файла $MFT (начальный адрес, число записей, размер в байтах и кластерах).

4.3. Определите число записей в файле $MFTmirr.

4.4. Проведите полный анализ записи MFT, соответствующей файлу Лабораторная работа № 6.txt и занесите в отчет описания всех атрибутов, включая расположение файла на диске.

4.5. Удалите файл Лабораторная работа № 6.txt, проведите анализ изменений в MFT и в области данных. Результаты занесите в отчет.

4.6. Восстановите удаленный файл.

4.7. С помощью программы Блокнот создайте текстовый файл primer.txt, записав в него фразу «Very good weather today! ». Проведите анализ соответствующей записи MFT, определить адрес этого файла на диске.

4.8. Запишите в файл primer.txt второй поток данных, используя для этого, например, любой текстовый файл размером не менее 50 Кбайт. Проведите анализ соответствующей записи MFT и определите расположение данных этого потока на диске. Определите размер файла, сравните с предыдущим пунктом.

4.9. Запишите в файл primer.txt третий поток данных, используя для этого любой графический файл (например, фотографию). Проведите анализ соответствующей записи MFT и определите расположение данных этого потока на диске. Определите размер файла, сравните с предыдущим пунктом.

4 Контрольные вопросы

1. Каким образом поддерживается древовидная многоуровневая система каталогов в Windows?

4. Какова структура FAT, в чем отличия для жестких и гибких дисков?

5. Какова структура каталогов файловой системы FAT? В чем отличие корневого и прочих каталогов?

6. Какие действия выполняются файловой системой при удалении файла в файловых системах FAT и NTFS?

7. Поясните действия файловой системы FAT при поиске файла по имени:

а) файл находится в корневом каталоге;

б) файл расположен в подкаталоге.

8. Поясните механизм выделения дисковой памяти файловой системы FAT при записи нового файла на диск.

9. Какие компоненты компьютера используют физическую и логическую модели магнитного диска?

10. Чем определяется число элементов каталога, выделяемых для хранения метаданных файла в файловой системе FAT?

11. Назовите основные различия файловых систем FAT и NTFS.

12. Какова структура файла MFT?

13. Поясните структуру файловой записи MFT.

14. Алгоритмы восстановления файлов в FAT и NTFS.

15. Резидентные и нерезидентные атрибуты записи MFT.

16. Каким образом в NTFS увеличена скорость доступа к файлам по сравнению с FAT?


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-08; Просмотров: 3262; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.145 с.)
Главная | Случайная страница | Обратная связь