- •Раздел 1. Архитектура операционных систем Тема 1. Принципы построения операционных систем
- •1.1. Понятие об архитектуре аппаратных средств
- •1.1.1. Вводные замечания
- •1.1.2. Классификация программных средств
- •1.1.3. Место и функции системного программного обеспечения
- •1.2. Принципы работы вычислительной системы
- •1.3. Режимы работы операционных систем
- •1.3.1. Режимы обработки данных
- •1.3.1.1. Однопрограммные режимы обработки данных
- •1.3.1.2. Многопрограммные режимы обработки данных
- •1.3.2. Режимы и дисциплины обслуживания
- •1.3.2.1. Режимы обслуживания
- •1.3.3.2. Дисциплины обслуживания
- •1.4. Классификация операционных систем
- •1.4.1. Особенности алгоритмов управления ресурсами
- •1.4.1.1. Поддержка многозадачности
- •1.4.1.2. Поддержка многонитевости
- •1.4.2. Особенности аппаратных платформ
- •1.4.3. Особенности областей использования
- •1.4.4. Особенности методов построения
- •1.5. Основные принципы построения операционных систем
- •1.6. Пользовательский интерфейс операционных систем
- •1.6.1. Классификация интерфейсов
- •1.6.2. Пакетная технология.
- •1.6.3. Технология командной строки.
- •1.6.4. Графический интерфейс
- •1.6.4.1. Простой графический интерфейс.
- •1.6.4.2. Wimp-интерфейс
- •1.6.5. Речевая технология
- •1.6.6. Биометрическая технология)
- •1.6.7. Семантический интерфейс.
- •Контрольные вопросы к теме 1
- •Тема 2. Концептуальные основы операционных систем
- •2.1. Концепция процесса
- •2.2. Концепция ресурса
- •2.3. Концепция виртуальности
- •2.4. Концепция прерывания
- •2.5. Понятие ядра и микроядра ос
- •2.5.1. Понятие ядра ос
- •2.5.2. Понятие микроядра ос
- •Контрольные вопросы к теме 2
- •Тема 3. Понятие управления задачами
- •3.1. Организация управления задачами
- •3.2. Средства и механизмы управления задачами
- •3.2.1. Средства управления задачами на уровне внешнего планирования
- •3.2.2. Средства управления задачами на уровне внутреннего планирования
- •3.3. Алгоритмы управления задачами
- •3.3.1. Алгоритмы управления задачами на уровне внешнего планирования
- •3.3.2. Алгоритмы управления задачами на уровне внутреннего планирования
- •3.3.2.1. Мультизадачность, процессы и нити Мультизадачность
- •Процессы
- •Контекст и дескриптор процесса
- •3.3.2.2. Состав алгоритмов внутреннего планирования
- •3.3.2.3. Алгоритм управления количеством процессов в рабочей смеси
- •3.3.2.4. Алгоритмы выбора очередности обработки
- •3.3.2.5. Алгоритмы выбора величины кванта
- •3.4. Взаимосвязанные и конкурирующие задачи
- •3.4.1. Средства управления ресурсами
- •3.4.2. Механизмы синхронизации процессов
- •3.4.2.1. Параллельные процессы и критические участки
- •3.4.2.2. Примитивы взаимоисключения
- •3.4.2.3. Программная реализация примитивов взаимоисключения
- •3.4.2.4. Реализация примитивов взаимоисключения с использованием аппаратных средств
- •3.4.2.5. Семафоры
- •3.4.2.6. Мониторы
- •3.4.3. Алгоритмы управления ресурсами
- •3.4.3.1. Вводные замечания
- •3.4.3.2. Алгоритм предоставления ресурса по первому обращению
- •3.4.3.3. Алгоритмы предотвращения тупиков
- •3.4.3.3.1. Стратегии предотвращения тупиков
- •3.4.3.3.2. Алгоритм предварительного распределения ресурсов
- •3.4.3.3.3. Алгоритм распределения ресурсов с освобождением при отказе
- •3.4.3.3.3. Алгоритм распределения с линейным упорядочением по типам ресурсов
- •3.4.3.3. Алгоритмы обхода тупиков
- •Контрольные вопросы к теме 3
- •Тема 4. Управление памятью в операционных системах
- •4.1. Понятие об организации и управлении физической памятью
- •4.2. Методы связного распределения основной памяти (без использования дискового пространства)
- •4.2.1. Связное распределение памяти для одного пользователя
- •4.2.2. Связное распределение памяти при мультипрограммной обработке
- •4.2.3. Стратегии размещения информации в памяти
- •4.3. Организация виртуальной памяти (с использованием дискового пространства)
- •4.3.1. Основные концепции виртуальной памяти
- •4.3.2. Схема прямого отображения адресов
- •4.3.3. Отображения адресов при страничной организации виртуальной памяти
- •4.3.4. Отображения адресов при сегментной организации виртуальной памяти
- •4.3.4. Отображения адресов при странично-сегментной организации виртуальной памяти
- •4.4. Управление виртуальной памятью
- •4.4.1. Стратегии управления виртуальной памятью
- •4.4.2. Стратегии вталкивания (подкачки)
- •4.4.3. Стратегии размещения
- •4.4.4. Стратегии выталкивания
- •Контрольные вопросы к теме 4
- •Тема 5. Управление файлами и вводом-выводом в ос
- •5.1.Методы организации данных в операционных системах
- •5.2. Методы доступа к данным
- •5.3. Объединение записей в блоки и буферизация
- •5.4. Управление файлами
- •5.4.1. Понятие файлового способа хранения данных и файловой системы
- •5.4.2. Организация файлов
- •5.4.3. Организация хранения файлов
- •5.4.4. Операции над файлами
- •5.4.5. Файловая система
- •5.4.5.1. Общая модель файловой системы
- •5.4.5.2. Современные архитектуры файловых систем
- •5.5. Система ввода-вывода
- •5.5.1. Общие положения
- •5.5.2. Физическая организация устройств ввода-вывода
- •5.5.3. Организация программного обеспечения ввода-вывода
- •5.5.3.1. Уровни организации программного обеспечения ввода-вывода
- •5.5.3.2. Обработка прерываний
- •5.5.3.3. Драйверы устройств
- •5.5.3.4. Независимый от устройств слой операционной системы
- •5.5.3.5. Пользовательский слой программного обеспечения
- •Контрольные вопросы к теме 5
5.4.3. Организация хранения файлов
Современные файловые системы ЭВМ предназначены для обслуживания многих тысяч файлов. Поэтому роль механизмов учета в составе файловой системы чрезвычайно важна. В настоящее время общепринятым приемом реализации механизма учета файлов является сведение всей учетной информации о расположении файлов в одну таблицу, называемую каталогом.
Каталог (Catalog) – справочник файлов и каталогов с ссылками на их расположение.
Справочник (Directory) – таблица идентификаторов и ссылок к соответствующим элементам данных.
Каталог может также содержать другую информацию, например, типы устройств, на которых хранятся файлы, пароли, коэффициенты блокирования и т.п.
Доступ к файлам организован в файловых системах только через каталоги. Каталоги обычно располагают на тех же носителях (томах, разделах дисков и т.п.), где расположены файлы (локальная стратегия ведения каталогов).
Структура и содержание каталогов определяется структурой и содержанием учитываемых в них файлов, а также стремление достигнуть должной гибкости в способах доступа к файлам, обеспечить допустимое время доступа.
Современные файловые системы работают с каталогами, имеющими древовидную структуру. При этом различают так называемый главный (корневой) каталог и подчиненные (вложенные) каталоги.
Корневой каталог размещается так, что его местоположение всегда заранее известно файловой системе. Корневой каталог содержит идентификаторы и адреса размещения файлов и каталогов, хранящихся на данном томе внешней памяти. Используя данные, находящиеся в корневом каталоге, файловая система осуществляет доступ к файлу или к вложенному каталогу (если необходимый файл не поименован в корневом каталоге).
Наиболее развитой файловой системой в настоящее время обладает ОС Unix, в которой поддерживается иерархия каталогов, логически связанная в древовидную структуру. Каждый пользователь может работать в составе этой структуры со своей системой каталогов (со своим поддеревом), а также осуществлять переход к другим каталогам. Полное имя файла в данной структуре задает траекторию перехода между каталогами в данной логической структуре каталогов. Каждый каталог рассматривается как файл, имеет собственное имя, доступен непосредственно пользователям для чтения. Запись в каталоги осуществляется по требованию пользователя с помощью специальных системных процедур. Продвижение по каталогу при поиске некоторого каталога или файла возможно как вниз, по дереву от текущего узла, так и вверх, в направлении к корню. Система обеспечивает гибкий и одновременно защищенный доступ к файлам.
Каждый файл, размещенный в рамках некоторого каталога, должен отличаться от другого файла этого же каталога. Поэтому каждому файлу дается имя, выражаемое строкой символов. Кроме того, файловые системы наряду с именем поддерживают расширение имени файла, которое записывается справа от имени и отделяется от него символом-разделителем (как правило, символ «.» – точка). Полное имя файла, содержащее имя и расширение, записывается в качестве идентификатора в каталог файлов.
Наряду с именем и расширением имени файлы могут отличаться друг от друга и другими характеристиками – наборами атрибутов, специфицирующих его тип, защиту, способ буферизации и т.п. Состав набора атрибутов файлов и способ их кодирования не совпадают в различных операционных системах.
Для эффективного управления файлами требуется также несколько блоков структурированных данных, главным из которых является блок управления файлом (БУФ), называемый также дескриптором файла.
Дескриптор файла содержит различные данные, необходимые для выполнения операций с файлом, например, атрибуты файла, дату и время создания файла, размер файла, размер записи и т.п. Дескриптор файла может храниться как вместе с файлом, так и в каталоге файлов.