Загрузка данных
Ответы на контрольные вопросы
---
1. Каким образом поддерживается древовидная многоуровневая система каталогов в Windows?
Каждый логический диск имеет корневой каталог — это вершина дерева. От него идут подкаталоги, от них — ещё подкаталоги и так далее.
В FAT: корневой каталог — фиксированное место в системной области. В каждом каталоге лежат 32-байтовые записи: имя, атрибуты, размер, номер начального кластера. По этому номеру система находит данные каталога, а там — записи вложенных файлов и папок.
В NTFS: корневой каталог — это файл $Root в таблице MFT. Каждый каталог тоже запись в MFT. Внутри — индексы, по которым быстро ищутся файлы.
Итог: дерево строится через записи в каталогах, где указаны ссылки на вложенные каталоги.
---
4. Какова структура FAT, в чём отличия для жёстких и гибких дисков?
FAT (File Allocation Table) — таблица размещения файлов. Каждый её элемент соответствует одному кластеру диска:
· 0 — кластер свободен;
· EOF — конец файла (последний кластер);
· число — номер следующего кластера файла;
· bad — дефектный кластер.
Отличия:
· Гибкие диски (дискеты) — FAT12: 12-разрядные элементы, максимум 4096 кластеров.
· Жёсткие диски — FAT16 (16-разрядные, до 65536 кластеров) или FAT32 (32-разрядные, до 268 млн кластеров, но реально используются 28 бит).
Чем больше разрядность — тем больше кластеров можно адресовать и тем больше объём диска.
---
5. Какова структура каталогов файловой системы FAT? В чём отличие корневого и прочих каталогов?
Каталог — это набор 32-байтовых записей. Каждая запись описывает один файл или подкаталог:
Поле Размер
Имя 8 байт
Расширение 3 байта
Атрибуты 1 байт
Зарезервировано 10 байт
Время 2 байта
Дата 2 байта
Начальный кластер 2 байта
Размер файла 4 байта
Отличия корневого каталога:
· Корневой — фиксированное число записей, расположен в системной области (сразу после FAT).
· Прочие каталоги — обычные файлы в области данных, размер неограничен, могут расти.
---
6. Какие действия выполняются файловой системой при удалении файла в FAT и NTFS?
FAT:
· все элементы FAT, выделенные файлу, обнуляются;
· в записи каталога первый символ имени заменяется на x (например, xабораторная работа.txt);
· остальные данные (размер, начальный кластер, даты) не меняются;
· содержимое кластеров сохраняется.
NTFS:
· запись MFT помечается как свободная (в служебном поле);
· в атрибуте $FILE_NAME первый символ имени заменяется на x;
· данные в кластерах сохраняются.
В обеих системах файл можно восстановить, пока его кластеры не заняты другими файлами.
---
7. Поясните действия файловой системы FAT при поиске файла по имени:
а) Файл в корневом каталоге:
1. Система читает корневой каталог (он в фиксированном месте системной области).
2. Просматривает все 32-байтовые записи подряд.
3. Сравнивает имя с искомым.
4. Находит нужную запись → берёт номер начального кластера → идёт в FAT → читает цепочку кластеров.
б) Файл в подкаталоге:
1. Сначала ищет запись подкаталога в корневом каталоге.
2. По номеру начального кластера читает содержимое подкаталога (это файл в области данных).
3. Просматривает записи внутри подкаталога.
4. Находит нужный файл → по начальному кластеру идёт в FAT → читает данные.
---
8. Поясните механизм выделения дисковой памяти файловой системы FAT при записи нового файла на диск:
1. Система просматривает FAT в поиске свободных кластеров (значение 0).
2. Находит первый свободный кластер — выделяет его.
3. Записывает номер этого кластера в запись каталога (поле «начальный кластер»).
4. Ищет следующий свободный кластер — записывает его номер в предыдущий элемент FAT.
5. Продолжает, пока файл не будет записан полностью.
6. В последнем элементе FAT ставит признак EOF (конец файла).
Так файл может занимать несмежные кластеры — получается цепочка.
---
9. Какие компоненты компьютера используют физическую и логическую модели магнитного диска?
· Физическую модель использует контроллер диска (аппаратная часть). Он знает геометрию: цилиндры, головки, секторы, дорожки. Работает напрямую с устройством.
· Логическую модель использует операционная система (Windows, Linux). Она работает с разделами, кластерами, файлами, каталогами — не вдаваясь в физику.
То есть контроллер — «железо», ОС — «логика».
---
10. Чем определяется число элементов каталога, выделяемых для хранения метаданных файла в файловой системе FAT?
Числом файлов и подкаталогов в данном каталоге. Одна запись = один файл или папка.
Для корневого каталога число элементов фиксировано при форматировании (задаётся в загрузочной записи, поле «Root Dir Entries»). Для обычных каталогов — динамическое, растёт по мере добавления файлов (каталог — это файл в области данных).
---
11. Назовите основные различия файловых систем FAT и NTFS:
Параметр FAT NTFS
Структура Таблица FAT Таблица MFT
Корневой каталог Фиксированный Файл $Root в MFT
Макс. размер файла 4 ГБ (FAT32) 16 ТБ и больше
Журналирование Нет Есть ($LogFile)
Альтернативные потоки Нет Есть (ADS)
Права доступа Нет Есть (ACL)
Шифрование Нет Есть (EFS)
Надёжность Ниже Выше
---
12. Какова структура файла MFT?
MFT (Master File Table) — это массив записей по 1 КБ каждая. Каждая запись описывает один файл или каталог.
· Первые 16 записей — системные файлы: $MFT, $MFTMirr, $LogFile, $Volume, $AttrDef, $Root, $Bitmap, $Boot, $BadClus и др.
· Остальные — пользовательские файлы и каталоги.
· Для MFT резервируется 12% объёма диска — MFT-зона, чтобы MFT не фрагментировался.
· Если одной записи не хватает — используются несколько (первая — базовая).
· Каждая запись имеет уникальный индекс (номер).
---
13. Поясните структуру файловой записи MFT:
Запись MFT = заголовок + набор атрибутов.
Основные атрибуты:
· $STANDARD_INFORMATION (10h) — даты создания/изменения/доступа, атрибуты файла;
· $FILE_NAME (30h) — имя файла, размер, ссылка на родительский каталог;
· $DATA (80h) — данные файла (резидентные или нерезидентные);
· $INDEX_ROOT, $INDEX_ALLOCATION — для каталогов (индексы);
· $BITMAP — для каталогов (какие записи заняты).
Атрибут может быть резидентным (в самой записи MFT) или нерезидентным (данные в кластерах диска).
---
14. Алгоритмы восстановления файлов в FAT и NTFS:
FAT:
1. Найти в каталоге запись с именем, начинающимся на x.
2. Проверить, что кластеры, которые занимал файл, не заняты другими файлами.
3. Восстановить первый символ имени.
4. Восстановить цепочку в FAT (или скопировать данные в новый файл).
NTFS:
1. Найти свободную запись MFT с сохранившимися атрибутами.
2. Проверить, что кластеры не заняты.
3. Пометить запись как занятую.
4. Восстановить имя (заменить x на первый символ).
5. При необходимости — восстановить атрибут $DATA.
Восстановление не гарантировано, если кластеры уже перезаписаны.
---
15. Резидентные и нерезидентные атрибуты записи MFT:
· Резидентный — данные хранятся прямо в записи MFT. Используется для маленьких файлов (обычно < 700 байт) и служебных атрибутов ($STANDARD_INFORMATION, $FILE_NAME).
· Нерезидентный — в записи MFT хранится только указатель (номер начального кластера, число кластеров), а сами данные — в кластерах диска. Используется для больших файлов.
Пример: текстовый файл 100 байт — резидентный. Файл 50 КБ — нерезидентный.
---
16. Каким образом в NTFS увеличена скорость доступа к файлам по сравнению с FAT?
1. MFT — все метаданные в одном месте, поиск быстрее, чем перебор записей каталогов в FAT.
2. Индексы — каталоги в NTFS хранят файлы в виде B-дерева, поиск по имени за O(log n), а не перебор всех записей.
3. Кэширование — MFT кэшируется в памяти.
4. MFT-зона — 12% диска зарезервировано, чтобы MFT не фрагментировался.
5. Журналирование — быстрее восстановление после сбоев.
6. Меньше фрагментация — за счёт умного размещения данных.
---
Если нужно — могу объединить ответы с отчётом в один готовый документ, чтобы можно было просто скопировать и сдать.