- •Раздел 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
2.5. Понятие ядра и микроядра ос
2.5.1. Понятие ядра ос
Понятие ядра ОС непосредственно вытекает из принципов построения ОС, конкретно – из принципа избирательности.
Принцип функциональной избирательности предусматривает выделение некоторого множества важных модулей, которые должны быть постоянно в “горячем” режиме для обеспечения эффективного управления вычислительным процессом. Этот выделенный набор модулей называют ядром ОС. При формировании состава ядра ОС ищут компромисс между двумя разноречивыми требованиями: в состав ядра должны войти наиболее часто используемые модули; объем памяти, занимаемый ядром ОС, должен быть как можно меньше. Программы ядра ОС постоянно находятся в оперативной памяти ЭВМ и называются резидентными. Программы ОС, подгружаемы в ОЗУ по мере необходимости из внешней памяти, называются транзитными.
2.5.2. Понятие микроядра ос
Ядро любой современной ОС представляет собой набор очень большого количества функций, с запутанными взаимосвязями и очень расплывчатыми границами между основными подсистемами. В результате любая модификация организованной таким образом системы дается тяжело и приводит к появлению в новых версиях большого количества ошибок. Кроме того, не во всех инсталляциях нужны все компоненты ядра, а при монолитном его построении удаление ненужных функций затруднено. Недостатки, присущие операционным системам с большим монолитным ядром (а это в первую очередь различные версии Unix), породили интерес к системам, построенным на основе микроядра.
Микроядерный подход заключается в том, что базовые функции ядра оформляются в виде отдельной небольшой компоненты, выполняемой в привилегированном режиме, а остальные функции ОС выполняются в пользовательском режиме с использованием примитивов микроядра. Ввиду больших потенциальных преимуществ, которые сулит этот подход, можно предположить, что в ближайшее время большинство новых операционных систем будет строиться на основе микроядра. Наиболее известными реализациями этого подхода являются микроядра Mach и Chorus.
Основной сложностью использования микроядерного подхода на практике является замедление скорости выполнения системных вызовов при передаче сообщений через микроядро по сравнению с классическим подходом.
Микроядро по определению содержит базовые механизмы, имеющиеся внутри любой операционной системы, поэтому знакомство с этими механизмами в чистом виде полезно и для изучения любой конкретной ОС.
Микроядра лицензируются и используются как готовый программный продукт в качестве основы для построения коммерческой сетевой операционной системы. Сейчас имеется несколько коммерческих реализаций операционных систем на основе, например, микроядра Mach (NextStep фирмы Next, Unix BSD, OSF/1 v.1.3).
Контрольные вопросы к теме 2
Дать определение понятия процесса. Зачем оно требуется?
Дать определение понятия прерывания. Зачем оно требуется?
Дать определение понятия виртуальности. Зачем оно требуется?
Дать определение понятия ресурса. Зачем оно требуется?
Охарактеризуйте понятие «ядро ОС»?
Охарактеризуйте понятие «микроядро ОС»?
Тема 3. Понятие управления задачами
3.1. Организация управления задачами
Теория и практика создания операционных систем , концентрированно выраженных в принципах и концепциях построения ОС (см. темы № 1 и 2), позволили в качестве основы применять двухуровневую схему управления прохождением пакетов заданий в вычислительной системе. Применение не менее двух уровней в схеме управления опирается на использование частотного принципа при построении ОС. Различают уровни долгосрочного (внешнего) и краткосрочного (внутреннего) планирования.
Уровень внешнего планирования выполняет действия, относительно редкие в системе, но требующие больших системных затрат.
Уровень внутреннего планирования выполняет частые и более короткие действия по управлению процессами.
Объектами управления уровня долгосрочного планирования являются задачи и их объединения – работы.
Работа – совокупность задач обработки данных, объединенных для достижения заданных целей обработки. Каждая работа является независимой единицей обработки данных и связана с исполнением одной или нескольких программ (пользовательских и/или системных) на одном или нескольких процессорах для достижения определенного результата.
Объектом управления на уровне краткосрочного планирования являются процессы, которые выступают как конкурирующие друг с другом потребители ресурсов вычислительной системы.
Пакет заданий представляет собой заявку пользователя на выполнение вычислительной системой обработки данных и состоит из следующих компонентов:
данные для идентификации пользователя;
общую управляющую информацию пакета заданий (максимально необходимый объем ОЗУ, приоритет, вид выдачи сообщений ОС и т.п.);
одно или несколько заданий на обработку.
Каждое задание на обработку, будучи компонентом заявки пользователя, содержит следующие данные, передаваемые операционной системе:
программы заданий (или их имена) и параметры запуска программ;
управляющую информацию задания;
требования на аппаратные и информационные ресурсы (ОЗУ, внешние устройства , библиотеки программ и т.д.);
исходные данные обработки.
Обслуживание заявок на обработку данных в соответствии с требованиями пользователей осуществляется операционной системой с привлечением различных программно-аппаратных средств.