
- •Основные понятия и концепции ос
- •Классификация ос
- •Управление процессами
- •Операции над процессом
- •13092012 Лекция 2
- •Алгоритмы планирования
- •Средства взаимодействия и синхронизации процессов
- •Синхронизация процессов
- •20092012 Лекция 3 Взаимоблокировки
- •Ликвидация взаимоблокировок
- •Неделимые транзакции
- •04102012 Лекция 4 Архитектура и управление процессами в ос семейства Windows
- •11102012 Лекция 5 Синхронизация потоков
- •Архитектура и процессы unix
- •Управление процессами
- •Создание новых процессов
- •18102012 Лекция 6 Межпроцессное взаимодействие
- •Файловая система
- •Структуризация файлов
- •25102012 Лекция 7 Адресация доступа к файлам
- •Операции над файлами
- •Обобщенная модель файловой системы
- •Отображаемые в память файлы
- •Современная архитектура файловых систем
- •Файловые системы Windows
- •01112012 Лекция 8 Файловая система fat
- •Файловая система ntfs
- •081112 Лекция 9
- •Файловые системы unix Традиционная фс s5
- •Виртуальная фс vfs (Virtual File System)
- •Монтирование файловых систем vfs
- •15112012 Лекция 10 Управление вводом/выводом
- •Драйверы устройств
- •Система ввода/вывода unix
- •29112012 Лекция 11 Подсистема ввода/вывода Windows
- •06122012 Лекция 12 Основные процедуры драйверов устройств
- •Процедуры обслуживания прерывания isr (interrupt Service Routine)
- •Дерево устройств
- •Диспетчер электропитания
- •13122012 Лекция 13 Основные требования ос
- •Множественные прикладные среды
- •Способы построения множественных прикладных сред
- •Реализация множества прикладных средств в Windows системах
Файловые системы Windows
Выделяются два типа драйверов ФС:
Локальная FSD (File System Driver), управляющая дисками, подключенными непосредственно к компьютеру. Например, FAT, NTFS, CDFS.
Сетевые FSD, позволяющая обращаться в дисковым томам удаленного компьютера.
Локальный FSD должен зарегистрироваться у диспетчера ввода\вывода. При первом обращении к тому диспетчер ввода\вывода, вызывается драйвер для распознавания – анализа загрузочного сектора тома и метаданных ФС для проверки её целостности.
Приложения (множество) <<->> Диспетчер в/в Драйвер ФС Драйвера устройств <<->> Логический том (раздел)
Все поддерживаемые Windows файловые системы резервируют первый сектор тома как загрузочный. В нем содержаться данные, идентифицирующие файловый формат системы тома и расположение метаданных.
01112012 Лекция 8 Файловая система fat
Чтобы уменьшить общее количество единиц хранения используется объединение смежных секторов диска - Cluster. Его размер – степень двойки и определяется размером тома при форматировании диска.
Первый сектор жесткого диска (сектор 1, дорожка 0) содержит Master Boot Record- программа, помещаемая в ОС во время загрузки. Физический диск может быть разбит на части (разделы или томы). Таблица разделов диска Partition Table располагается в конце первого сектора и содержит 4 элемента, описывающие разделы диска
Смещение |
Размер |
Содержимое |
+0 |
1 |
Признак активного раздела 0 – не активный, 80h активный |
+1 |
1 |
Номер стороны для начального сектора раздела |
+2 |
2 |
Номер сектора и дорожки (первых) (формат INT 13h) |
+4 |
1 |
Код файловой системы |
+5 |
1 |
Номер стороны для последнего сектора раздела |
+6 |
2 |
Номер сектора и дорожки (послед) (формат INT 13h) |
+8 |
4 |
Относительный номер начала раздела |
+16 |
4 |
Размер раздела в секторах |
Для вычисления относительного номера сектора используется формула
RelSet = (Cyl * Sect * Head) + (Head * Sect) + Sect
Cyl – номер дорожки
Sect – номер сектора на дорожке
Head – номер головки
Как правило, разделы начинаются с четных номеров дорожек, за исключением первого.
Структура разделов под FAT выглядит следующим образом:
Загрузочный сектор Параметры BIOS |
FAT |
FAT (копия) |
Корневой каталог |
Область файлов |
FAT - File Allocation Table – таблица размещения файлов.
Записи в таблицы FAT определяют цепочки размещения файлов и каталогов, где отдельные звенья – это указатели на следующий кластер данного файла. Элемент каталога хранит начальный кластер файла.
FAT32 использует 32х разрядные идентификаторы кластеров, но резервируют старшие 4 бита как раз на эти ссылки. Эффективный размер – 28.
Максимальный размер файла – 4Гб.
Файловая система ntfs
Использует 64х разрядные номера кластеров.
Первые 16 секторов раздела NTFS распределены под загрузочную запись и код загрузки. Дубликат сектора загрузочной записи находит в логическом центре диска. Для хранения данных о файлах используется главная таблица файлов MFT – Master File Table.
Раздел NTFS делится на две части:
Главный служебный файл файловой системы $MFT не подлежит дефрагментации и содержится на специально отведенных первых 12% процентах диска (MFT-зоне).
Обычное пространство для хранения файлов.
Свободное место диска включается в себя незаполненные куски MFT зоны. Кластеры раздела имеют сквозную нумерацию от его начала до конца, это называется LCN – Logical Cluster Number.
Файл NTFS – это набор атрибутов. Структура MFT
$MFT – сама MFT
$MFTMirr – зеркало MFT
$logFile – журнал транзакций, в котором регистрируются все операции, влияющие на структуру тома.
$Volume – файл тома, содержит имя тома, версию NFTS и бит исправности.
$AttrDef – таблица определения атрибутов, она задает типы атрибутов, поддерживаемые на томе.
. – корневой каталог
$BitMap – это файл битовой карты, содержащей схему распределения пространства на томе.
$Boot – загрузочный файл с кодом начального загрузчика ОС
$BadClus – файл плохих кластеров, поврежденных кластеров
$Quota – содержит данные квот-пользователей.
$UpCase – таблица трансляции символов кодировки UNICODE верхнего регистра.
Далее – обычные файлы
Файл на томе идентифицируется 64разрядным значением (файловой ссылкой):
Номер последовательности |
Номер файла |
От 63 до 48 |
От 47 до 0 |
Номер файла соответствует позиции его файловой записи в MFT – 1. Номер последовательности увеличивается каждый раз, когда данная позиция в MFT используется повторно. Файл может описываться несколькими файловыми записями при нехватке места под его атрибуты. В этом случае первая запись называется основной, остальные – дополнительными.
NTFS получает адрес файла на диске из объектов файлов.