- •/Классификация операционных систем
- •Сравнительные характеристики ос.
- •/Процессы и примитивы.
- •Примитивы.
- •Процессы.
- •/Предполагаемая среда выполнения процессов.
- •/ Диаграмма переходов.
- •/Создание процессов.
- •/Уровневое представление ос unix
- •/Функции ядра операционной системы.
- •/Понятие прерываний в ос
- •/Структура ос
- •/Обзор подсистем ядра Unix
- •Описание подсистем ядра unix
- •Планирование но наивысшему приоритету (hpf)
- •Метод круговорота (карусель)
- •Очереди с обратной связно (fв)
- •Планирование в unix.
- •Типы многозадачности.
- •Состав планировщика
- •Зависимости подсистем ядра
- •Контроллер памяти (Метоrу Manager)
- •Механизм свопинга (Swapping)
- •Механизм пейджинга (Paging)
- •Внешний интерфейс
- •Verify_area()– проверка прав на доступ к выделенному региону памяти; get_free_page() / free_page() – выделение и освобождение физической памяти.
- •Реализация программ выделения памяти
- •Сборка мусора
- •Типы сборщиков памяти
- •Взаимодействие внутренних модулей мм
- •Архитектура vfs
- •Интерфейсы файловой системы
- •Ioctlo: установить атрибуты файла;
- •Защита файлов
- •Списки прав доступа
- •Механизмы обмена данными в vfs
- •Буферный кэш.
- •Механизмы обмена данными.
- •Логическая файловая система
- •Физическая организация файловой системы
- •Структура файла обычного типа
- •Примечания к физической организации vfs
- •Сетевая подсистема (Net)
- •Состав сетевой подсистемы
- •Представление и структуры данных
- •Внутренняя структура подсистемы
- •Зависимости сетевой подсистемы
- •Подсистема межпроцессного взаимодействия
Структура файла обычного типа
Как уже было отмечено, индексный блок включает в себя таблицу адресов расположения информации о файле на диске (смотри рис. 3.11).
Так как каждый блок на диске адресуется своим номером, в этой таблице хранится совокупность номеров дисковых блоков. Если 6ы данные файла занимали непрерывный участок на диске (то есть файл занимал бы линейную последовательность дисковых блоков), то для обращения к данным в файле было бы достаточно хранить в индексе адрес начального блока и размер файла. Однако такая стратегия размещения данных не позволяет осуществлять простое расширение и сжатие файлов в файловой системе без образования фрагментации свободного пространства памяти на диске. Более того, ядру пришлось 6ы выделять и резервировать непрерывное пространство в файловой системе перед выполнением операций, которые приводят к увеличению размера файла.

В целях повышения гибкости ядро присоединяет к файлу по одному блоку, что позволяет размещать информацию файла по всей файловой системе. Однако такая схема размещения усложняет задачу поиска данных. Таблица адресов состоит из списка номеров блоков, содержащих принадлежащую файлу информацию.
Как уже было отмечено, каждый файл и/или каталог в файловой системе Unix представлен некоторым i-узлом, содержащим указатели на блоки, образующие файл. Каждый индексный узел содержит n указателей, причем первые п-3 непосредственно ссылаются на блоки данных файла. Так, если размер блока в файловой системе Unix определен в 512 байт, то для организации файла длиной больше чем (п-3)*512 байт используется п-2 указателей i-узла, ссылающийся на косвенный индексный блок из п ссылок
(указателей) на блоки данных. Если этого недостаточно для размещения файла, то используется указатель п-1 индексного узла, как указатель на второй косвенный блок. Если же и этого недостаточно, то используется последний п-й указатель на третий косвенный блок. В косвенных блоках возможна такая же система индексной адресации, но без дополнительных косвенных ссылочных блоков, То есть указатели могут быть направлены только на блоки данных.
Посмотрим, какой максимальной длины можкет достигать файл в файловой системе Unix, для чего предположим, что размер блока равен 1 К6айт, тогда:
|
|
Таблица 3.1 объем файла в байтах при размере блока 1 Кбайт |
|
||
|
Размер |
Наименование |
Итоговый размер |
||
|
10 блоков |
Блоки прямой адресации по 1 К6 каждый |
10 Кбайт |
||
|
1 блок |
Блок косвенной адресации с 256 6локами прямой адресации |
256 Кбайт |
||
|
1 блок |
Блок двойной косвенной адресации с 256 блоками косвенной адресации |
64 Мбайта |
||
|
] блок |
Блок тройной косвенной адресации с 256 блоками двойной косвенной адресации |
16 Г6айт |
||
Как видно из табл. 3.1, максимальный размер файла в файловой системе Unix при размере дискового блока в 1 К6айт составляет 16 Гбайт. несмотря на это, для файловой системы Unix время доступа к данным очень мало и не превышает времени, необходимого на "прохождение" через три индекса. В то время как в файловой системе FAT время доступа к данным может измеряться прохождением через десятки индексов.
