- •Операционные системы (учебное пособие)
- •Введение
- •1. Операционная система: основные понятия
- •1.1. Понятие операционной системы, её роль и функции
- •1.2. Операционная и программная среды
- •1.3. Очередь и стек
- •1.4. Машинная команда, способы адресации, привилегированные команды
- •1.5.Система прерываний
- •1.6. Задачи, вычислительные процессы и ресурсы
- •Ресурс – это абстрактная структура, имеющая множество атрибутов, характеризующих способы доступа к ресурсу и его физическое представление в системе
- •1.7. Мультипрограммный, мультизадачный и многопользовательский режимы работы операционной системы. Режим разделения времени
- •2. Управление памятью в операционных системах
- •2.1. Память и отображения, виртуальное адресное пространство
- •2.2. Простое непрерывное распределение и распределение с перекрытием
- •2.3. Распределение памяти статическими разделами
- •2.4. Распределение памяти с динамическими разделами
- •2.5. Распределение памяти с фрагментацией задач
- •3. Управление процессами
- •3.1. Реализация последовательного процесса в операционной системе
- •3.2. Планирование и диспетчеризация процессов и задач
- •3.3. Управление параллельными процессами
- •3.3.1. Понятие параллельных процессов
- •3.3.2. Методы реализации взаимных исключений
- •3.3.3. Блокировка памяти
- •3.3.4. Применение специальных операций типа "проверка–установка"
- •3.3.5.Семафоры и их применение
- •3.3.6. Мониторы
- •3.3.7. Почтовые ящики, конвейеры и очереди сообщений
- •4. Проблема тупиков и её решение
- •4.1. Проблема тупиков, разделяемые ресурсы и модели параллельных процессов
- •4.2. Модель повторно используемых ресурсов Холта1
- •4.3. Сети Петри
- •4.4. Модель пространства состояний системы
- •4.5. Борьба с тупиками
- •4.5.1. Предотвращение тупиков
- •4.5.2. Обход тупиков
- •4.5.3. Обнаружение тупика
- •5. Жёсткий диск
- •5.1. Устройство накопителя жесткого диска (hdd) и адресация элементов дискового пространства
- •5.2. Логическая структура диска
- •5.3. Создание загрузочных дисков
- •6. Файловые системы
- •6.1. Файлы и каталоги
- •6.2. Понятие и функции файловой системы и системы управления файлами.
- •6.3. Обзор файловых систем
- •6.3.1. Файловая система fat16, fat32 и vfat
- •6.3.2. Файловая система ntfs
- •6.3.3. Файловые системы компакт-дисков
- •7. Средства защиты и восстановления операционных систем
- •7.1. Цифровая подпись драйверов и её верификация
- •7.2. Защита и проверка системных файлов
- •7.3. Откат драйверов
- •7.6. Безопасный режим загрузки
- •7.7. Мастер и точки восстановления системы
- •7.8. Резервное копирование и восстановление
- •7.9. Аварийное восстановление системы. Консоль восстановления.
- •8. Загрузчики операционных систем
- •8.1. Понятие загрузчика и виды его реализации
- •8.2. Решение проблемы четырех разделов в mbr
- •8.3. Установка загрузчиков ос
- •8.4. Настройка загрузчиков ос
- •8.5. Удаление загрузчиков ос
- •9. Системный реестр и системные службы
- •9.1. Назначение и структура реестра
- •9.2. Работа с реестром
- •9.3. Системные службы
- •10. Безопасность операционных систем
- •10.1. Угрозы, уязвимости, атаки
- •10.2. Политика безопасности
- •10.3. Защита от вторжений
- •10.4. Межсетевые экраны
- •10.5. Отключение ненужных служб
- •10.6. Защита от спама
- •10.7. Защита от вредоносных программ и вирусов средствами операционных систем
- •10.8. Защита конфиденциальной информации.
- •Список литературных источников
6.3. Обзор файловых систем
6.3.1. Файловая система fat16, fat32 и vfat
Файловые системы FAT16, VFAT и FAT32 получила своё название по основному элементу этих файловых систем – таблице размещения файлов (File Allocation Table). Все три файловых системы предполагают разбивку диска на секторы и объединение нескольких секторов, идущих друг за другом, в кластеры. FAT16 является 16-разрядной файловой системой, позволяющей обращаться к 216 кластерам.
Файловая система FAT16 использовала формат имени файла 8.3: 8 символов отводилось для имения и 3 символа для расширения имени файла. Это достаточно жёсткое ограничение усугублялось ограниченным набором символов, допускавшихся для образования имени файла и его расширения.
Поэтому в операционных системах Windows 95 и NT, а затем и в исходных версиях Windows 2000 и XP появились файловые системы VFAT (виртуальная FAT) и FAT32. Файловая система VFAT поддерживает длинные имена файлов и совместима со стандартной системой FAT16. Совместимость обеспечивается наличием специальных утилит. Недостатком VFAT являются большие потери на кластеризацию и ограничения на размер логического диска. FAT32 является самостоятельной 32-разрядной файловой системой, наиболее совершенной из описываемых трёх систем.
Во всех трёх файловых системах пространство логического диска делится на системную область и на область данных. Обязательным элементом всех трёх систем является загрузочная запись, расположенная в начале диска (табл. 6.2). Она состоит из блока параметров диска (BDP) и системного загрузчика (SB). Во всех трёх файловых системах присутствуют каталоги и файлы, которые описываются как файловый объект. Структуры файловых объектов в системах FAT16, VFAT и FAT32 показаны на рис. 6.2.
Таблица 6.2. Структура загрузочной записи |
FAT32 |
Содержимое |
Безусловный переход на системный загрузчик |
Системный идентификатор |
Размер сектора, байт |
Число секторов в кластере |
Число зарезервированных секторов |
Число копий FAT-таблицы |
0000h |
0000h |
Дескриптор носителя |
0000h |
Число секторов на дорожке |
Число рабочих поверхностей |
Обозначение поля |
Jmp 3Eh |
|
SectSize |
ClstSize |
ResSecs |
FATcnt |
RootSize |
TotSecs |
Media |
FATSize |
TrcSecs |
HeadCnt |
||
Длина поля, байт |
3 |
8 |
2 |
1 |
2 |
1 |
2 |
2 |
1 |
2 |
2 |
2 |
||
FAT16 |
Содержимое |
Безусловный переход на системный загрузчик |
Системный идентификатор |
Размер сектора, байт |
Число секторов в кластере |
Число зарезервированных секторов |
Число копий FAT-таблицы |
Максимальное число элементов корневого каталога |
Число секторов на логическом диске объёмом до 32 Мбайт, иначе 0000h |
Дескриптор носителя |
Размер FAT в секторах |
Число секторов на дорожке |
Число рабочих поверхностей |
|
Обозначение поля |
Jmp 3Eh |
|
CectSize |
ClastSize |
ResCecs |
FATcnt |
RootSize |
TotSecs |
Media |
FATsize |
TrcSecs |
HeadCnt |
||
Длина поля, байт |
3 |
8 |
2 |
1 |
2 |
1 |
2 |
2 |
1 |
2 |
2 |
2 |
||
Смещение, байт |
00h |
03h |
0Bh |
0Dh |
0Eh |
10h |
11h |
13h |
15h |
16h |
18h |
1Ah |
Таблица 6.2. (продолжение) |
FAT32 |
Содержимое |
Число скрытых секторов |
Число секторов на логическом диске |
Число секторов в таблице FAT |
– |
– |
– |
Расширенные флаги |
Версия файловой системы |
– |
Номер первого кластера корневого каталога |
Номер сектора с резервной копией загрузочного сектора |
Зарезервировано |
Системный загрузчик |
– |
* Том –логическое дисковое пространство, состоящее из одного или нескольких разделов, которое может быть воспринято файловой системой как один логический диск |
Обозначение поля |
HidnSecs |
|
|
|
|
|
|
|
|
|
|
|
|
– |
|||
Длина поля, байт |
4 |
4 |
4 |
– |
– |
– |
2 |
2 |
– |
4 |
2 |
12 |
|
– |
|||
FAT16 |
Содержимое |
Число скрытых секторов |
Число сектров на логическом диске до 32 Мбайт |
Тип диска (00h – FDD, 80h – HDD) |
Зарезервирован |
Маркер с кодом 29h |
Серийный номер тома |
– |
– |
Метка тома* |
– |
– |
Имя файловой системы |
Системный загрузчик |
Сигнатура (слово AA44h) |
||
Обозначение поля |
HidnSecs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Длина поля, байт |
4 |
4 |
1 |
1 |
1 |
4 |
– |
– |
11 |
4 |
– |
8 |
|
2 |
|||
Смещение, байт |
1Ch |
20h |
24h |
25h |
26h |
27h |
28h |
2Ah |
2Bh |
2Ch |
34h |
36h |
3Eh |
1Feh |
31 |
Структура каталога для короткого имени FAT16 |
Размер файла в байтах |
Структура каталога для короткого имени FAT132 |
Размер файла в байтах |
Структура каталога для длинного имени VFAT и FAT32 |
6 – 11 символы имения файла в кодировке Unicode |
|
31 |
|
Рис. 6.2. Структура файлового объекта |
30 |
30 |
|||||||||
29 |
29 |
|||||||||
28 |
28 |
|||||||||
27 |
Номер начального кластера |
Младшее слово номера начального кластера |
0000h |
27 |
||||||
26 |
26 |
|||||||||
25 |
Дата последней записи |
Дата последней записи |
6 – 11 символы имения файла в кодировке Unicode |
25 |
||||||
24 |
24 |
|||||||||
23 |
Время последней записи |
Время последней записи |
23 |
|||||||
22 |
22 |
|||||||||
21 |
Зарезервировано |
Старшее слово номера начального кластера |
21 |
|||||||
20 |
20 |
|||||||||
19 |
Дата последнего доступа |
19 |
||||||||
18 |
18 |
|||||||||
17 |
Дата создания файла |
17 |
||||||||
16 |
16 |
|||||||||
15 |
Время создания файла |
15 |
||||||||
14 |
14 |
|||||||||
13 |
|
Контрольная сумма |
13 |
|||||||
12 |
Зарезервировано |
Зарезервировано |
12 |
|||||||
11 |
Атрибуты |
Атрибуты |
Атрибуты |
11 |
||||||
10 |
Имя файла в формате 8.3 (имя – 8 символов, расширение – 3 символа) |
Имя файла в формате 8.3 (имя – 8 символов, расширение – 3 символа) |
1 – 5 символы имени файла в кодировке Unicode |
10 |
||||||
9 |
9 |
|||||||||
8 |
31 |
|||||||||
7 |
30 |
|||||||||
6 |
29 |
|||||||||
5 |
28 |
|||||||||
4 |
27 |
|||||||||
3 |
26 |
|||||||||
2 |
25 |
|||||||||
1 |
24 |
|||||||||
0 |
23 |
На рис. 6.3 показана структура логического диска в системе FAT16. В этой файловой системе системная область создаётся при форматировании диска и включает в себя:
загрузочную запись BR (Boot Record), структура которой приведена в табл. 6.2;
зарезервированных секторов Rsec (Reserved Sectors);
двух копий (основной и резервной) таблицы размещения файлов FAT1 и FAT2;
корневого каталога диск Rdir (Root Directory).
Рис. 6.3. Структура логического диска в FAT16
Таблицы размещения файлов содержат в себе:
перечень непосредственно адресуемых участков логического диска, отведённых для размещения на них файлов или их фрагментов;
перечень адресов свободных областей дискового пространства;
перечень адресов дефектных областей диска.
Область данных содержит обычные файлы и файлы-каталоги. В отличие от системной области область данных доступна через элементы пользовательского интерфейса операционной системы. Она разбита на кластеры, включающие в себя от 4 до 64 секторов и имеющие размеры в пределах 2 – 4 Кб. Размеры кластеров зависят от ёмкости раздела физического диска, отведённого под логический диск. Разбивка области на кластеры выполняется в следующих целях:
уменьшение таблицы FAT;
уменьшение возможной фрагментации файлов;
ускорение доступа к файлу.
Однако выделение для файла целых кластеров приводит к потерям дискового пространства в среднем по половине кластера на файл.
Описание файловых объектов приведено на рис. 6.2. Размещение файлов на диске показано на рис. 6.4.
Рис. 6.4. Описание файла и кластеры области данных, отведённых под файл
Кластеры с номерами 00 – 1В показаны прямоугольниками. Номера кластеров стоят над их обозначениями. Символы "00" указывают, что кластеры свободны. Символы "F7" внутри обозначения 18-о кластера указывает, что этот кластер дефектный.
Номер начального кластера файла указан в описании. Файл расположен в двух цепочках кластеров 08, 09, 0А, 0В и 15, 16, 17, 18, 19, 1А, 1В. Числа внутри обозначений этих кластеров размещаются после данных, записанных в кластер, и указывают номера последующих кластеров в цепочке. В конце последнего кластера в цепочке стоит код FF – указывающий на завершение файла.
Для обращения к кластеру используется 16-разрядное слово. Отсюда и появилось число 16 в обозначении файловой системы. Вариант файловой системы super-FAT применяется в операционной системе OS/2.
VFAT является файловой системой поддерживающей длинные имена. Её основным недостатком являются большие потери на кластеризацию. От этого недостатка в значительной мере свободна FAT32, которая является самостоятельной 32-разрядной файловой системой, и имеет следующие особенности:
применение для адресации кластеров 28 бит из 32 позволяет адресовать 228 кластеров, поэтому кластеры в этой файловой системе имеют меньший размер, и потери дискового пространства на кластеризацию меньше, чем в FAT16 и VFAT;
возможность использования резервной копии таблицы FAT вместо стандартной;
представление корневого каталога как обычной цепочки кластеров и, как следствие, возможность перемещения корневого каталога и снятие ограничения на размер корневого каталога;
расширенная загрузочная запись, позволяющая создавать резервные копии критически важных структур данных и, как следствие повышенная устойчивость дисков FAT32 к нарушениям структуры таблицы FAT;
использование для представления длинных имён файлов элементов каталогов, в т.ч. и корневого.
Поддержка длинных имен в системах VFAT и FAT32 проиллюстрирована на рис. 6.2. Имена файлов записываются в кодировке Unicode. Имя файла разделено на три части, содержащие 1 – 5, 6 – 11 и 12 – 13 символы. В описании файлового объекта с длинным именем отсутствуют даты и время создания файла, последней записи в файл, последнего доступа к файлу, а также сведения о номере начального кластера. Сведения о начальном номере кластера и отсутствущие данные о файле операционная система может взять из описания файлового элемента с коротким именем.