- •Конспект лекций по курсу: «Операционные системы. Ч.1»
- •Введение
- •Аппаратные средства.
- •Центральный процессор.
- •Разрядность шины памяти.
- •Архитектура процессора.
- •Процессорное ядро.
- •Декодер.
- •Регистры процессора.
- •Многопроцессорные и многоядерные системы.
- •Многоядерные системы.
- •Оперативная память.
- •Адресация оп.
- •Ввод-вывод.
- •Прерывания.
- •Внешние устройства.
- •Классификация ос.
- •Основные понятия ос.
- •Структура ос.
- •Программная структура ос.
- •Программная структура ядра.
- •Интерфейсы системы вызовов.
- •Понятие мобильной ос.
- •Микроядерная архитектура.
- •Основные компоненты ос
- •Процессы и потоки.
- •Потоки.
- •Взаимодействие процессов, потоков.
- •Управление памятью.
- •Организация виртуальной памяти в ос.
- •Организация виртуальной памяти.
- •Сегментно-страничное распределение.
- •Преобразование адресов.
- •Буферы быстрого преобразования адреса.
- •Инвертированные таблицы страниц.
- •Алгоритмы замещения страниц.
- •Распределение виртуального адресного пространства.
- •Очистка страниц.
- •Перезапуск прерванной команды процессора.
- •Хранение страничной памяти на диске.
- •Реализация виртуальной памяти ос multics.
- •Виртуальная память в ос с аппаратной платформой Intel Pentium.
- •Защита памяти.
- •Ввод-вывод.
- •Контроллеры устройств.
- •Обмен данными с реальной оп.
- •Принципы программной реализации управления вводом-выводом.
- •Программная организация ввода-вывода.
- •Уровни реализации ввода-вывода.
- •Обработчики прерываний
- •Драйверы устройств.
- •Управление внешними устройствами.
- •Службы времени.
- •Алфавитно-цифровые терминалы.
- •Программное обеспечение ввода.
- •Программное обеспечение вывода.
- •Датчики.
- •Управление электропотреблением.
- •Файловые системы.
- •Логическая и физическая организация файлов.
- •Файловая система msdos.
- •Организация нескольких логических разделов.
- •Надежность файловой системы.
- •Производительность фс.
- •Файловая система cdr.
- •Формат записи каталога.
- •Сжатие видеоинформации.
- •Стандарт mpeg (Motion Picture Expert Group).
- •Структура реальной оп.
- •Структура виртуальной оп виртуальной машины.
- •Организация вычислительного процесса.
- •Планирование и диспетчирование.
- •Обработка прерываний.
- •Управление памятью.
- •Управление внешней памятью.
- •Планирование и диспетчирование.
- •Управление вводом-выводом.
- •Средства программирования и инструментальные средства.
- •Сетевые возможности операционных систем.
- •Понятие dce.
- •Подходы к обеспечению безопасности информации в ос.
Интерфейсы системы вызовов.
Слой взаимодействует с приложениями, образуя API. Для выполнения пользовательских запросов происходит обращение к соответствующему диспетчеру.
В общем случае, можно выделить следующие функциональные компоненты ядра:
1. Загрузчик – IPL (Initial Program Loader).
2. Инициализация ядра – NIP (Nucleus Initialization Program).
3. Поддержка привилегированного режима.
4. Средства трансляции адресов.
5. Средства переключения процессов.
6. Система обработки прерываний.
7. Системный таймер.
8. Средства защиты областей памяти.
1. Загрузчик представляет собой программу, которая считывает в оперативную память так называемую программу инициализации ядра (NIP), как правило, программа IPL находится в начальных секторах первого по номеру внешнего устройства.
2. NIP, загрузившись в оперативную память и выполняясь, определяет состояние аппаратных средств, устанавливает место загрузки ядра в оперативную память, заполняет системные таблицы о состоянии устройств и так далее. По окончании своей работы NIP передает управление ядру. После загрузки операционной системы вычислительная система находится в состоянии ожидания ввода команды оператором или запроса на выполнение (прерывание) от какого-нибудь датчика.
3. Поддержка привилегированного режима осуществляется, как правило, путем установки определенного флажка в слове состояния программы или машины.
4. Средства трансляции адресов осуществляют поддержку преобразования виртуальных адресов в реальные. Таблицы, предназначенные для трансляции адресов, хранятся в ОП. В ОС имеются ссылки на эти таблицы и, как правило, процесс преобразования происходит на аппаратном уровне.
5. Средства переключения процессов предназначены для сохранения информации о прерванном процессе при переходе к новому и возврату в исходное состояние. Как правило, эта информация включает содержимое общих регистров ЦП, содержимое системных регистров и так далее. Для хранения этой информации имеются ссылки, которые используются аппаратурой ЦП.
6. Обработка прерываний – в системах от IBM адреса обработчиков прерываний находятся в фиксированных ячейках оперативной памяти, адреса которых знает ОС. При прерывании смена PSW (Processor Status Word) на обработчик прерывания осуществляется аппаратно. Аналогично и при прерываниях ввода-вывода и от схем контроля.
7. Системный таймер необходим ос для выдержки заданных интервалов времени. В системный таймер заносится информация, а его уменьшение осуществляется программно или аппаратно. При нулевом значении – прерывание.
8. Средства защиты областей оп осуществляются по-разному. Возможно разделение ОП на блоки, при этом каждому блоку соответствует свой ключ. Например, если в PSW процесса ключ защиты отличается от ключа блока памяти, к адресу которого он обращается – прерывание (нарушение защиты). Существуют и другие схему реализации.
Понятие мобильной ос.
Одно и то же ядро не может быть без каких-либо изменений установлено на аппаратную платформу, отличающуюся типом процессора и аппаратуры.
Основными особенностями аппаратуры различных платформ являются:
1. Количество прерываний.
2. Формат таблиц ссылок (адресов) на обработку прерываний.
3. Состав регистров (системных и общего назначения).
4. Система команд процессора.
5. Организация ввода-вывода.
6. Количество процессоров и т.д.
Для уменьшения количества машинно-зависимых модулей, их переводят в машинно-независимые, снижая их уникальность (делая более универсальными). Например, для Windows NT ядро было разработано для 4 типов процессоров.
Если код ОС может быть переписан с одной платформы на другую, такая ОС называется мобильной (переносимой).
Основные характеристики мобильной ОС:
1. Написана на языке более высокого уровня, чем Assembler. На Assemblerе пишется часть, взаимодействующая с аппаратурой.
2. Объем кода, взаимодействующего с аппаратными средствами минимален.
3. Сокращается прямое манипулирование регистрами и другими возможностями процессора.
4. Для выполнения действий с аппаратурой используется программная эмуляция технических средств.
5. Аппаратно зависимый код изолирован в нескольких модулях, которые могут заменяться аналогичными модулями для других платформ.
