- •Основы построения операционных систем
- •Введение
- •1. Основные аспекты операционных систем
- •1.1. Программные системы
- •1.2. Ресурсы вычислительных систем
- •1.3. Функции операционных систем
- •1.3.1. Упрощение доступа к компьютеру
- •1.3.2. Повышение эффективности использования ресурсов
- •1.4. Классификация операционных систем
- •2. Управление файлами
- •2.1. Файлы
- •2.1.1. Имя файла
- •2.1.2. Типы файлов
- •2.1.3. Атрибуты файла
- •2.2. Функции системы управления файлами
- •2.3. Способы организации файлов
- •2.3.1. Последовательное размещение
- •2.3.2. Размещение с помощью сцепленных блоков
- •2.3.3. Организация файлов на основе таблиц размещения
- •2.3.4. Размещение с использованием таблицы индексов
- •2.3.5. Индексно-последовательное размещение
- •2.3.6. Библиотечная структура данных
- •2.4. Методы доступа к содержимому файлов
- •2.4.1. Последовательный доступ
- •2.4.2. Прямой доступ
- •2.4.3. Другие методы доступа
- •2.5. Способы организации файловой структуры
- •2.6. Манипулирование файловой структурой
- •3. Управление памятью
- •3.1. Простое непрерывное распределение
- •3.2. Распределение с несколькими непрерывными разделами
- •3.2.1. Мультипрограммирование и разбиение на разделы
- •3.2.2. Разделы с фиксированными границами
- •3.2.3. Разделы с подвижными границами
- •3.2.4. Своппинг
- •3.3. Организация виртуальной памяти
- •3.3.1. Основные концепции виртуальной памяти
- •3.3.2. Страничная организация памяти
- •3.3.3. Сегментная организация памяти
- •3.3.4. Сегментно-страничная организация памяти
- •3.4. Управление виртуальной памятью
- •3.4.1. Алгоритмы выталкивания страниц
- •3.4.2. Подкачка страниц по запросу
- •3.4.3. Подкачка страниц с опережением
- •3.4.4. Освобождение страниц
- •3.4.5. Размер страниц
- •4. Управление процессами
- •4.1. Концепции процесса
- •4.1.1. Понятие последовательного процесса
- •4.1.2. Состояния процесса
- •4.1.3. Блок управления процессом
- •4.1.4. Планирование процессов
- •4.1.5. Обработка прерываний
- •4.2. Синхронизация параллельных процессов
- •4.2.1. Параллельная обработка
- •4.2.2. Взаимное исключение
- •4.2.3. Алгоритм Деккера
- •4.2.4. Аппаратная реализация взаимного исключения
- •4.2.5. Семафоры
- •4.2.6. Мониторы
- •4.2.7. Передача сообщений
- •4.3. Тупиковые ситуации
- •4.3.1. Условия возникновения дедлоков
- •4.3.2. Основные направления исследований по проблеме тупиков
- •4.3.3. Предотвращение тупиков
- •4.3.4. Обход дедлоков
- •4.3.5. Алгоритм банкира
- •4.3.6. Распознавание дедлоков
- •4.3.7. Восстановление после тупиков
- •5. Управление процессором
- •5.1. Диспетчеризация процессов
- •5.2. Приоритеты
- •5.3. Алгоритмы диспетчеризации с одной очередью
- •5.3.1. Алгоритм fcfs (первый пришедший обслуживается первым)
- •5.3.2. Алгоритм spn (кратчайший процесс - следующий)
- •5.3.3. Алгоритм srt (по наименьшему остающемуся времени)
- •5.3.4. Алгоритм hrrn (по наибольшему относительному времени ответа)
- •5.3.5. Алгоритм циклической диспетчеризации rr
- •5.3.6. Сравнение алгоритмов диспетчеризации с одной очередью
- •5.4. Многоуровневые очереди с обратными связями
- •6. Управление устройствами
- •6.1. Общая организация ввода-вывода
- •6.2. Методы управления периферийными устройствами
- •6.3. Действия по вводу-выводу
- •6.3.1. Буферизация : прочитать и записать
- •6.3.2. Блокирование : получить и поместить
- •6.3.3. Подготовка : открыть и закрыть
- •6.4. Управление магнитными дисками
- •6.4.1. Физическая структура магнитного диска
- •6.4.2. Физическая структура формата данных дискеты
- •6.4.3. Логическая структура магнитного диска
- •6.4.4. Планирование работы с магнитными дисками
- •Заключение
- •Список используемых источников
- •Оглавление
2.1.3. Атрибуты файла
Атрибуты файла определяют способы его использования и права доступа к нему. Атрибуты файла содержатся в дескрипторе файла или блоке управления файлом. Набор атрибутов файла, входящих в состав дескриптора, зависит
от конкретной операционной системы. Дескриптор файла может включать следующие элементы:
- информацию о правах доступа, которая включает идентификацию владельца, список назначенных пользователей и права доступа, установленные для каждого класса пользователей. Частью этой информации являются пароли, если они используются;
- флаги, устанавливающие способы использования файла :
R (Read-only) - файл предназначен только для чтения и не может быть ни изменен, ни удален (без повторного запроса на удаление); однако можно скопировать файл и изменить или удалить его копию;
A (Archive) - архивный файл (лучше говорить «неархивированный»); атрибут приписывается каждому создаваемому файлу и сбрасывается средствами архивирования и резервирования файлов; может использоваться этими средствами для определения файлов, подлежащих архивации или резервированию;
H (Hidden) - скрытый файл, имя которого может не выводиться (при соответствующей конфигурации оболочки) на экран дисплея;
S (System) - системный файл;
- физическое размещение во внешней памяти. Если весь файл целиком занимает один последовательный участок внешней памяти, то достаточно указать его начало и длину. Если же записи файла рассредоточены, то дескриптор содержит либо непосредственно полную информацию о размещении, либо указатель на некоторую таблицу, где находится по крайней мере начало этой информации;
- тип организации файла (последовательная, индексно-последовательная и т. д.);
- дескриптор устройства - информацию о физическом устройстве, на котором размещается файл. Чтобы устранить копирование этой информации в дескрипторе каждого файла, расположенного на данном устройстве, можно вместо дескриптора устройства хранить указатель на него;
- тип файла, включающий в себя такую информацию, как назначение файла (например, данные, исходная программа на Паскале, объектный файл) и его представление (например, двоичное, в коде ASCII);
- статус, указывающий, является ли файл временным, подлежащим уничтожению по окончании использующего его процесса, или постоянным. Для постоянных файлов статус может указывать, должны ли автоматически создаваться копии файла;
- административная информация, которая включает дату создания файла, дату последнего изменения, число обращений, идентификацию использующих его процессов и срок хранения файла.
Как правило, дескриптор файла хранится во внешней памяти вместе с описываемым им файлом. Он передается в основную память только после открытия соответствующего файла. Дескриптором файла управляет файловая система - пользователь не может непосредственно к нему обращаться. Во время работы с файлом удобно держать копию дескриптора в оперативной памяти, чтобы сократить количество обменов при обращении к файлу.
2.2. Функции системы управления файлами
Под файловой системой понимают функциональную часть операционной системы, обеспечивающую выполнение операций над файлами, которые хранятся во внешней памяти. В зависимости от файловой системы набор таких операций может меняться, но при этом всегда обеспечиваются возможности создания и удаления файлов, а также считывание их содержимого и запись информации в них.
Управление файлами включается в операционную систему по двум причинам. Во-первых, пользователь освобождается от трудностей, связанных с хранением файлов вычислительной системы. Если он работает с файлами большого размера, то для их хранения может потребоваться большое количество дискет, что порождает ряд проблем при создании каталогов и восстановлении файлов. Включение в операционную систему средств управления файлами существенно облегчает ему эту задачу.
Второй причиной включения управления файлами в операционную систему является предоставление возможности нескольким пользователям разделять один и тот же файл.
Система управления файлами выполняет следующие функции:
- задает возможные способы организации файлов;
- реализует методы доступа к содержимому файлов;
- определяет способы организации файловой структуры;
- предоставляет средства манипулирования файловой структурой, в том числе файлами.
Под способом организации файла понимают логическую структуру файла в терминах его компонентов и взаимосвязей между ними. Некоторые операционные системы обеспечивают работу с последовательными, индексно-последовательными и библиотечными файлами, а также с файлами прямого доступа. В настоящее время отсутствует четкая и общепризнанная классификация способов организации файлов. В большинстве предложенных вариантов в той или иной степени смешиваются понятия "организация" и "методы доступа", так как последние классифицируются проще. Поэтому на практике организация файла зачастую определяется через совокупность допустимых для нее методов доступа.
Методом доступа называют алгоритм запоминания и поиска записей (компонентов) в файле. Известны последовательный, индексно-по-следовательный, библиотечный и прямой методы доступа. Метод доступа определяет требования к организации файлов, чтобы он был применим. Так, последовательный метод доступа может быть применен к файлам с любой организацией, а прямой - только к файлам прямого доступа, имеющим специфическую логическую структуру с целью обеспечения адресации каждой записи. Внешние запоминающие устройства налагают свои ограничения на возможные методы доступа к хранимой на них информации. Накопитель на магнитном диске может обеспечить любой метод доступа в связи с возможностью позиционирования головок непосредственно на заданный участок диска. Накопитель на магнитной ленте поддерживает только последовательный метод доступа.
Под файловой структурой будем понимать совокупность файлов и взаимосвязей между ними. Файловая система может поддерживать тот или иной вид (способ организации) файловой структуры. В простейшем случае на диске создается каталог всех содержащихся на нем файлов для обеспечения доступа к ним (иначе при поиске файла пришлось бы просматривать весь диск). Более развитые файловые системы поддерживают древовидную (иерархическую) файловую структуру. Можно ожидать появления и сетевых файловых структур.
Средства манипулирования файловой структурой обеспечивают изменение конфигурации файловой структуры, в частности, создание файлов, удаление файлов и изменение взаимосвязей между ними, а также изменение содержимого файлов.