- •Раздел 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
1.4.4. Особенности методов построения
При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу.
К таким базовым концепциям относятся:
Способы построения ядра системы – монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС – серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой – ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно: аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, структурированность системы, состоящей из набора хорошо определенных объектов.
Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS DOS, Windows, Unix (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.
Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.
Кроме того, операционные системы можно также разделить на группы, используя различные признаки классификации (см. табл.1.1).
Таблица 1.1. – Классы операционных систем
№ |
Признак классификации |
Описание класса |
1. |
Мощность аппаратных средств |
персональные компьютеры; мини ЭВМ; большие ЭВМ; суперЭВМ. |
2. |
Количество ЭВМ, обслуживаемых ОС |
автономная ЭВМ; многомашинная ВС; сети ЭВМ (локальные и глобальные). |
3. |
Тип системы обработки данных |
система оперативной обработки; система пакетной обработки; система реального времени. |
4. |
Режим обработки данных |
однопрограммный; пакетный мультипрограммный; разделения времени. |
5. |
Режим обслуживания заявок |
одиночный отбор; групповой отбор; смешанный отбор. |
6. |
Дисциплина обслуживания заявок |
без приоритетов; с приоритетами. |