- •Конспект лекций по курсу: «Операционные системы. Ч.1»
- •Введение
- •Аппаратные средства.
- •Центральный процессор.
- •Разрядность шины памяти.
- •Архитектура процессора.
- •Процессорное ядро.
- •Декодер.
- •Регистры процессора.
- •Многопроцессорные и многоядерные системы.
- •Многоядерные системы.
- •Оперативная память.
- •Адресация оп.
- •Ввод-вывод.
- •Прерывания.
- •Внешние устройства.
- •Классификация ос.
- •Основные понятия ос.
- •Структура ос.
- •Программная структура ос.
- •Программная структура ядра.
- •Интерфейсы системы вызовов.
- •Понятие мобильной ос.
- •Микроядерная архитектура.
- •Основные компоненты ос
- •Процессы и потоки.
- •Потоки.
- •Взаимодействие процессов, потоков.
- •Управление памятью.
- •Организация виртуальной памяти в ос.
- •Организация виртуальной памяти.
- •Сегментно-страничное распределение.
- •Преобразование адресов.
- •Буферы быстрого преобразования адреса.
- •Инвертированные таблицы страниц.
- •Алгоритмы замещения страниц.
- •Распределение виртуального адресного пространства.
- •Очистка страниц.
- •Перезапуск прерванной команды процессора.
- •Хранение страничной памяти на диске.
- •Реализация виртуальной памяти ос multics.
- •Виртуальная память в ос с аппаратной платформой Intel Pentium.
- •Защита памяти.
- •Ввод-вывод.
- •Контроллеры устройств.
- •Обмен данными с реальной оп.
- •Принципы программной реализации управления вводом-выводом.
- •Программная организация ввода-вывода.
- •Уровни реализации ввода-вывода.
- •Обработчики прерываний
- •Драйверы устройств.
- •Управление внешними устройствами.
- •Службы времени.
- •Алфавитно-цифровые терминалы.
- •Программное обеспечение ввода.
- •Программное обеспечение вывода.
- •Датчики.
- •Управление электропотреблением.
- •Файловые системы.
- •Логическая и физическая организация файлов.
- •Файловая система msdos.
- •Организация нескольких логических разделов.
- •Надежность файловой системы.
- •Производительность фс.
- •Файловая система cdr.
- •Формат записи каталога.
- •Сжатие видеоинформации.
- •Стандарт mpeg (Motion Picture Expert Group).
- •Структура реальной оп.
- •Структура виртуальной оп виртуальной машины.
- •Организация вычислительного процесса.
- •Планирование и диспетчирование.
- •Обработка прерываний.
- •Управление памятью.
- •Управление внешней памятью.
- •Планирование и диспетчирование.
- •Управление вводом-выводом.
- •Средства программирования и инструментальные средства.
- •Сетевые возможности операционных систем.
- •Понятие dce.
- •Подходы к обеспечению безопасности информации в ос.
Микроядерная архитектура.
Микроядерная архитектура является альтернативой классическому способу построения ОС (когда все основные функции ядра выполняются в привилегированном режиме). В этом случае, функции ядра разбиваются на функции микроядра (выполняются в привилегированном режиме) и функции ядра, выполняющегося в пользовательском режиме.
Каждое приложение пользовательского режима работает в собственном адресном пространстве и защищено от вмешательства другого приложения. Обращение к функциям ядра осуществляется в обоих случаях аналогично, но сами функции ядра выполняются на пользовательском уровне. Набор функций микроядра содержит функции, которые невозможно выполнить в пространстве пользователя. Общие методики разделения функций на микроядро и пользовательский режим не существует. Как правило, в серьезных ОС существуют средства, которые позволяют оценить эффективность вычислительного процесса. Статистика и ее анализ может показать, какие функции ядра включить в микроядро, а какие – в пользовательский режим. При увеличении функций пользовательского режима могут быть увеличены системные расходы на ввод-вывод.
Периферийные модули ядра называются серверами. Процесс обслуживания запросов строится на основе механизма вызова процедур. Клиент (пользовательская программа), посылает серверу сообщение, когда непосредственная передача сообщений невозможна, т.к. их адресные пространства изолированы друг от друга (пользовательский режим). Микроядро выполняется в привилегированном режиме и имеет доступ к любому адресу. Микроядро (посредник) посылает серверу адрес и параметры запроса. Сервер принимает запрос и передает его адрес через микроядро приложению.
Достоинства ос микроядерной архитектуры:
1. Переносимость: весь машинно-зависимый код сосредоточен в микроядре. Для переноса требуется переделать микроядро.
2. Расширяемость: добавление или удаление функций ОС может быть осуществлено добавлением или удалением серверов ядра.
3. Надежность: каждый сервер выполняется в своей области памяти и защищен от воздействия других серверов (если один из серверов отказал, перезагружать ОС не требуется, можно перезагрузить сервер).
4. Серверы не имеют доступа к аппаратуре, то есть не могут нарушить работоспособность системы в целом.
5. Микроядро – небольшой модуль (группа модулей), который можно постараться написать без ошибок.
Недостатки:
ОС на основе микроядра менее производительна: ввода-вывода больше.
Принципы поддержки нескольких операционных сред.
Задача:
выполнить под управлением одной операционной системы задачи, разработанные в разных ОС.
Реализация:
1. Приложение в своей среде через собственный API обращается к транслятору, который преобразует API данной среды в API базовой ОС и далее выполняется с использованием данной аппаратной платформы.
API (OC2)
транслятор
пользовательский
привилегированный
2
. Базовая
ОС содержит трансляторы, которые
находятся в ядре. API каждой операционной
среды обрабатывается соответствующим
транслятором и выполняется на данной
платформе.
3. Все пользовательское пространство разбивается на серверы, обслуживающие прикладную среду ОС2, ОС3... В свою очередь, каждая прикладная среда состоит из функциональных серверов, к которым обращается приложения, разработанные в данной среде. Сервер прикладной среды обращается к микроядру за выполнением действий, связанных с аппаратурой и получает результат.
OC4
Третий вариант более надежный, но более медленный.
Вспомогательные модули ОС.
К вспомогательным модулям ОС, как правило, относятся различные программы обслуживания и поддержки функционирования. Возможно вхождение вспомогательных модулей в состав приложений, поэтому штатный состав модулей ОС варьируется.
Вспомогательные модули, как правило, разделяются на:
1. Утилиты – программы поддержки функционирования вычислительной системы (инструментарии оценки эффективности, инструментарии восстановления после сбоев, инструментарии архивирования и т.п.).
2. Системные обрабатывающие программы – редакторы, сетевые средства, системы программирования.
3. Обеспечение безопасности.
Как и обычные приложения, вспомогательные модули ядра выполняются посредствам запросов.
Разделение ОС на ядро и вспомогательные модули обеспечивает возможность несложной модернизации ОС. Для добавления в ОС нового сервиса достаточно разработать новый вспомогательный модуль. При этом не надо модифицировать ядро. Вспомогательные модули, как правило, загружаются в ОП в процессе выполнения. То есть, являются транзитными.
