Загрузка данных


Ответы на контрольные вопросы

---

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. Меньше фрагментация — за счёт умного размещения данных.

---

Если нужно — могу объединить ответы с отчётом в один готовый документ, чтобы можно было просто скопировать и сдать.