- •Конспект лекций по курсу: «Операционные системы. Ч.1»
- •Введение
- •Аппаратные средства.
- •Центральный процессор.
- •Разрядность шины памяти.
- •Архитектура процессора.
- •Процессорное ядро.
- •Декодер.
- •Регистры процессора.
- •Многопроцессорные и многоядерные системы.
- •Многоядерные системы.
- •Оперативная память.
- •Адресация оп.
- •Ввод-вывод.
- •Прерывания.
- •Внешние устройства.
- •Классификация ос.
- •Основные понятия ос.
- •Структура ос.
- •Программная структура ос.
- •Программная структура ядра.
- •Интерфейсы системы вызовов.
- •Понятие мобильной ос.
- •Микроядерная архитектура.
- •Основные компоненты ос
- •Процессы и потоки.
- •Потоки.
- •Взаимодействие процессов, потоков.
- •Управление памятью.
- •Организация виртуальной памяти в ос.
- •Организация виртуальной памяти.
- •Сегментно-страничное распределение.
- •Преобразование адресов.
- •Буферы быстрого преобразования адреса.
- •Инвертированные таблицы страниц.
- •Алгоритмы замещения страниц.
- •Распределение виртуального адресного пространства.
- •Очистка страниц.
- •Перезапуск прерванной команды процессора.
- •Хранение страничной памяти на диске.
- •Реализация виртуальной памяти ос multics.
- •Виртуальная память в ос с аппаратной платформой Intel Pentium.
- •Защита памяти.
- •Ввод-вывод.
- •Контроллеры устройств.
- •Обмен данными с реальной оп.
- •Принципы программной реализации управления вводом-выводом.
- •Программная организация ввода-вывода.
- •Уровни реализации ввода-вывода.
- •Обработчики прерываний
- •Драйверы устройств.
- •Управление внешними устройствами.
- •Службы времени.
- •Алфавитно-цифровые терминалы.
- •Программное обеспечение ввода.
- •Программное обеспечение вывода.
- •Датчики.
- •Управление электропотреблением.
- •Файловые системы.
- •Логическая и физическая организация файлов.
- •Файловая система msdos.
- •Организация нескольких логических разделов.
- •Надежность файловой системы.
- •Производительность фс.
- •Файловая система cdr.
- •Формат записи каталога.
- •Сжатие видеоинформации.
- •Стандарт mpeg (Motion Picture Expert Group).
- •Структура реальной оп.
- •Структура виртуальной оп виртуальной машины.
- •Организация вычислительного процесса.
- •Планирование и диспетчирование.
- •Обработка прерываний.
- •Управление памятью.
- •Управление внешней памятью.
- •Планирование и диспетчирование.
- •Управление вводом-выводом.
- •Средства программирования и инструментальные средства.
- •Сетевые возможности операционных систем.
- •Понятие dce.
- •Подходы к обеспечению безопасности информации в ос.
Управление внешней памятью.
Страницы вытесняются во внешнюю память в места, которые называются гнезда. Для обращения к гнезду используется 4-байтный адрес CCPD, CC -- номер цилиндра, P -- номер гнезда на цилиндре, D -- код устройства. Данный адрес преобразуется в формат CCHHR, где CC -- адрес цилиндра, HH -- номер головки, R -- номер записи.
Алгоритм распределения гнезд:
1)для описания каждой области страничного обмена в ОС строится так называемый Allockblock, в который помещается следующая информация:
-кол-во цилиндров на участке области page
-кол-во распределенных цилиндров
-схема распределения цилиндров
2) для каждого распределенного цилиндра строится Recblock. Все Recblock и связываются в цепочку. Recblock содержит:
-количество гнезд на цилиндре
-количество распределенных гнезд
-битовую схему распределения гнезд на цилиндре
При распределении гнезд для страничного обмена, просматривается первый в цекочке Allockblockов. Первый Recblock, для которого количество распределенных гнезд не максимально, выбирается для распределения. Свободное гнездо ищется с помощью схемы распределения гнезд. Первое свободное гнездо распределяется под запрос. Если на цилиндре нет свободных гнезд, выбирается следующий и так далее. Если в первом Allockblockе нет цилиндров, свободных для распределения, выбирается следующий блок. Когда область Page заполняется на 70%, выдается диагностическое сообщение о том, что свободное место в области page ограничено. Администратор должен снять некоторые ВМ или провести иные действия.
Планирование и диспетчирование.
Функции планирования и диспетчирования зависят от того, какой процесс выполняется. Выделяется 4 типа процессов:
- системный
- процесс, порожденный ОС ВМ
- обслуживание ВМ CP
- состояние ожидания
Если выполнялась системная задача, то, значит, осуществлялся непосредственно процесс диспетчирования. Диспетчер обслуживает две очереди системных процессов: IO-блоков и CPEX-блоков. IO-блок описывает события ввода-вывода и попадает в очередь к диспетчеру после завершения операций ввода-вывода. CPEX-блок попадает в очередь, когда системному процессу требуется предоставить ресурс. Очередь CPEX-блоков обеспечивает очередность выполнения системных процессов. CPEX-блок содержит адрес команды, в которую надо передать управление. Если очередь CPEX-блоков пуста, открываются маски для обработки прерывания. Если в очереди нет системных процессов после открытия масок происходит диспетчирование ВМ(просматривается runlist). Первая ВМ в списке получает управление.
Если осуществляется обслуживание ВМ, то выполняется учетная функция(подсчитывается время в состоянии выполнения, моделируются средсвтва отсчета времени, отражение на виртуальную машину прерываний).
Управление вводом-выводом.
Планирование и выполнение операций ввода-вывода имеет две особенности: виртуальные адреса программ операционной системы виртуальной машины.
1. Виртуальные адреса в программах ввода-вывода, непосредственно связанных с устройствами, образуются не средствами механизма страничного обмена, а программным путем.
2. Диапазон виртуальных адресов, участвующих, участвующих в виртуальной программе ввода-вывода виртуальной машины определяет непрерывную область, но в реальной ОП может быть представлен не смежными участками.
В первом случае, диспетчер ввода-вывода осуществляет трансляцию виртуальных адресов в реальные.
Во втором случае, области памяти ввода-вывода в виртуальных адресах заменяются списком адресов, что позволяет осуществлять обмен данными с несмежными страницами реальной ОП.
Когда диспетчер ввода-вывода обнаруживает, что область обмена реальной ОП пересекает границу страницы, осуществляется переход над другой элемент списка. Данный процесс называется косвенной адресацией при вводе-выводе.
Моделирование операций ввода-вывода.
После того, как все данные для операции ввода-вывода подготовлены, диспетчер ввода-вывода строит IO-блок для этой операции, в который заносится вся необходимая информация. IO-блоки выстраиваются в цепочку. После выполнения ввода-вывода, диспетчер отображает прерывание ввода-вывода в виртуальную машину. ОС виртуальной машины, получая этот сигнал, строит собственные блоки(штатные для нее) по управлению вводом-выводом и планирует согласно принятой в ней идеологии.
Средства взаимодействия виртуальных машин.
Взаимодействие ВМ осуществляется с помощью штатного средства VMCF. VMCF обеспечивает передачу информации из виртуальной памяти процесса ВМ в виртуальную память процесса другой ВМ. Размер передаваемых данных не ограничен. Имеется возможность передавать данные сразу группе ВМ или всем ВМ.
Возможна передача сообщений с квитанциями и без квитанций. Передача данных осуществляется по командам, которые можно встраивать в программы, выполняющиеся в ВМ. VMCF поддерживает 6 типов протоколов обмена.
