- •Содержание
- •1 Начальные сведения об операционных системах
- •1.1 Назначение и функции операционных систем
- •1.2 История развития операционных систем
- •1.3 Классификация операционных систем
- •1.4 Обзор аппаратного обеспечения компьютера
- •1.5 Архитектура операционной системы
- •1.5.1 Классическая архитектура
- •1.5.2 Микроядерная архитектура
- •2 Процессы и потоки
- •2.1 Процессы
- •2.2 Потоки
- •2.3 Межпроцессное взаимодействие
- •2.3.1 Взаимное исключение с активным ожиданием
- •2.3.2 Примитивы межпроцессного взаимодействия
- •2.4 Планирование
- •2.4.1 Планирование в системах пакетной обработки данных
- •2.4.2 Планирование в интерактивных системах
- •2.4.3 Планирование в системах реального времени
- •2.5 Понятие взаимоблокировки
- •3 Управление памятью
- •3.1 Основы управления памятью
- •3.2 Методы распределения памяти без использования подкачки
- •3.2.1 Метод распределения с фиксированными разделами
- •3.2.2 Метод распределения с динамическими разделами
- •3.2.3 Метод распределения с перемещаемыми разделами
- •3.3 Методы распределения памяти с подкачкой на жесткий диск
- •3.3.1 Страничная организация памяти
- •3.3.2 Сегментная организация памяти
- •3.3.3 Сегментно-страничная организация памяти
- •3.4 Кэширование данных
- •4 Аппаратная поддержка мультипрограммирования на примере процессора Pentium
- •4.1 Регистры
- •4.2 Привилегированные команды
- •4.3 Сегментация с использованием страниц
- •4.4 Защита данных в процессоре Pentium
- •4.5 Средства вызова процедур и задач
- •4.6 Механизм прерываний
- •4.7 Кэширование в процессоре Pentium
- •5 Ввод-вывод
- •5.1 Принципы аппаратуры ввода-вывода
- •5.2 Принципы программного обеспечения ввода-вывода
- •6 Файловые системы
- •6.1 Основы файловых систем
- •6.2 Файловая система fat
- •6.3 Файловая система ntfs
- •6.4 Файловые системы Ext2, Ext3 и ufs
- •7 Безопасность операционных систем
- •7.1 Основы безопасности
- •7.2 Аутентификация пользователей
- •7.3 Атаки изнутри операционной системы
- •7.4 Атаки операционной системы снаружи
- •8 Обзор современных операционных систем
- •8.1 Операционная система Windows 2000
- •8.1.1 Структура Windows 2000
- •8.1.2 Реализация интерфейса Win32
- •8.1.3 Эмуляция ms-dos
- •8.2 Архитектура unix-образных операционных систем
- •8.3 Мультипроцессоры и мультипроцессорные операционные системы
- •8.4 Операционные системы реального времени и мобильные операционные системы
- •8.4.1 Операционная система Windows ce 5.0
- •Список использованных источников
6.4 Файловые системы Ext2, Ext3 и ufs
Файловая система UFS (Unix File System) является основой для многих других файловых систем, в том числе и популярных в Linux Ext2 и Ext3. Несмотря на различия, эти системы имеют общую структуру, которая и будет рассмотрена ниже.
Основными целями при проектировании этих файловых систем были быстрота и надежность. Копии важных структур данных дублируются в файловой системе, а все данные, ассоциированные с файлом, локализуются, чтобы свести к минимуму перемещение головок жесткого диска во время чтения. Файловая система начинается с необязательной зарезервированной области, а оставшаяся часть делится на секции, называемые группами блоков или группами цилиндров. Все группы, за исключением последней, содержат одинаковое количество блоков, используемых для хранения имен файлов, метаданных и содержимого файлов.
В начале файловой системы находится суперблок с основной информацией о строении. Содержимое каждого файла хранится в блоке, который представляет собой группу смежных секторов. Блоки также могут делиться на фрагменты, которые используются для хранения завершающих байтов файла. Метаданные каждого файла и каталога хранятся в i-узлах. Имена файлов хранятся в записях каталогов, содержащихся в выделенных каталогу блоках. На рисунке 56 представлено отношение между записями каталогов, индексных узлов и блоков данных.
Файловые системы этого типа обладают дополнительными функциями, разделенными на три категории в зависимости от того, что должна делать операционная система, обнаружив файловую систему с функциями, которые она не поддерживает.
Рисунок 56 – Отношения между записями каталогов, индексными узлами и блоками данных
Функции совместимости. Даже если операционная система не поддерживает какие-то функции, она может смонтировать файловую систему и продолжить работу в обычном режиме.
Несовместимые функции. Столкнувшись с ними операционная система не должна монтировать файловую систему.
Совместимые только в режиме чтения.
В файловой системе ufs на логическом диске (разделе реального диска) находится последовательность секций файловой системы (Рисунок 57).
Рисунок 57 – Структура расположения данных в файловой системе UFS
Суперблок содержит список свободных блоков и свободные i-узлы (information nodes – информационные узлы). В файловых системах ufs для повышения устойчивости поддерживается несколько копий суперблока (как видно из рисунка 57 по одной копии на группу цилиндров). Каждая копия суперблока имеет размер 8196 байт, и только одна копия суперблока используется при монтировании файловой системы. Однако, если при монтировании устанавливается, что первичная копия суперблока повреждена или не удовлетворяет критериям целостности информации, используется резервная копия.
Блок группы цилиндров содержит число i-узлов, специфицированных в списке i-узлов для данной группы цилиндров, и число блоков данных, которые связаны с этими i-узлами. Размер блока группы цилиндров зависит от размера файловой системы. Для повышения эффективности файловая система ufs старается размещать i-узлы и блоки данных в одной и той же группе цилиндров.
Список i-узлов содержит список i-узлов, соответствующих файлам данной файловой системы. Максимальное число файлов, которые могут быть созданы в файловой системе, определяется числом доступных i-узлов. В i-узле хранится информация, описывающая файл: режимы доступа к файлу, время создания и последней модификации, идентификатор пользователя и идентификатор группы создателя файла, описание блочной структуры файла и т.д.
Блоки данных – в этой части файловой системы хранятся реальные данные файлов. В случае файловой системы ufs все блоки данных одного файла пытаются разместить в одной группе цилиндров. Размер блока данных определяется при форматировании файловой системы и может быть установлен в 512, 1024, 2048, 4096 или 8192 байтов.
Контрольные вопросы по разделу
1 Перечислите функции файловой системы.
2 Чем отличаются функции многопользовательских многопрограммных файловых систем от однопользовательской однопрограммной?
3 Чем отличается иерархия файловых систем UNIX и Windows?
4 Что такое MBR и зачем она нужна?
5 В чём недостаток реализации файлов связными списками?
6 Объясните назначение структуры FAT и её нахождение в памяти?
7 Как хранятся длинные имена файлов в системе FAT-32?
8 Перечислите основные преимущества системы NTFS.
9 Что такое MFT-таблица и MFT-запись?
10 Объясните назначение суперблока в системе UFS.