- •Конспект лекций по курсу: «Операционные системы. Ч.1»
- •Введение
- •Аппаратные средства.
- •Центральный процессор.
- •Разрядность шины памяти.
- •Архитектура процессора.
- •Процессорное ядро.
- •Декодер.
- •Регистры процессора.
- •Многопроцессорные и многоядерные системы.
- •Многоядерные системы.
- •Оперативная память.
- •Адресация оп.
- •Ввод-вывод.
- •Прерывания.
- •Внешние устройства.
- •Классификация ос.
- •Основные понятия ос.
- •Структура ос.
- •Программная структура ос.
- •Программная структура ядра.
- •Интерфейсы системы вызовов.
- •Понятие мобильной ос.
- •Микроядерная архитектура.
- •Основные компоненты ос
- •Процессы и потоки.
- •Потоки.
- •Взаимодействие процессов, потоков.
- •Управление памятью.
- •Организация виртуальной памяти в ос.
- •Организация виртуальной памяти.
- •Сегментно-страничное распределение.
- •Преобразование адресов.
- •Буферы быстрого преобразования адреса.
- •Инвертированные таблицы страниц.
- •Алгоритмы замещения страниц.
- •Распределение виртуального адресного пространства.
- •Очистка страниц.
- •Перезапуск прерванной команды процессора.
- •Хранение страничной памяти на диске.
- •Реализация виртуальной памяти ос multics.
- •Виртуальная память в ос с аппаратной платформой Intel Pentium.
- •Защита памяти.
- •Ввод-вывод.
- •Контроллеры устройств.
- •Обмен данными с реальной оп.
- •Принципы программной реализации управления вводом-выводом.
- •Программная организация ввода-вывода.
- •Уровни реализации ввода-вывода.
- •Обработчики прерываний
- •Драйверы устройств.
- •Управление внешними устройствами.
- •Службы времени.
- •Алфавитно-цифровые терминалы.
- •Программное обеспечение ввода.
- •Программное обеспечение вывода.
- •Датчики.
- •Управление электропотреблением.
- •Файловые системы.
- •Логическая и физическая организация файлов.
- •Файловая система msdos.
- •Организация нескольких логических разделов.
- •Надежность файловой системы.
- •Производительность фс.
- •Файловая система cdr.
- •Формат записи каталога.
- •Сжатие видеоинформации.
- •Стандарт mpeg (Motion Picture Expert Group).
- •Структура реальной оп.
- •Структура виртуальной оп виртуальной машины.
- •Организация вычислительного процесса.
- •Планирование и диспетчирование.
- •Обработка прерываний.
- •Управление памятью.
- •Управление внешней памятью.
- •Планирование и диспетчирование.
- •Управление вводом-выводом.
- •Средства программирования и инструментальные средства.
- •Сетевые возможности операционных систем.
- •Понятие dce.
- •Подходы к обеспечению безопасности информации в ос.
Инвертированные таблицы страниц.
Одним из решений по уменьшению размера таблицы страниц является применение инвертированных таблиц. В этих таблицах каждая запись содержит по одной записи на страничный блок а реальной ОП. При неудачном поиске в TLB поиск в инвертированной таблице страниц осуществляется программно. Для всех виртуальных страниц, находящихся в данный момент времени в реальной ОП, подсчитывается некоторая хэш-функция. Хэш-таблица состоит из количества записей, равных количеству рамок в реальной ОП. Значение хэш-функции является индексом для поиска в хэш-таблице, по результатам которого определяется блок физических рамок. Виртуальные страницы, имеющие одинаковое значение хэш-функции сцепляются друг с другом.
Алгоритмы замещения страниц.
Если выгружается страница, к которой обращение происходит часто, то интенсивность страничного обмена увеличивается. Оптимальным (некоторая целевая функция обращается в максимум или минимум) алгоритмом замещения страниц будет, когда будет известно точно к каким страницам в ближайшее время не будет обращения. Нереализуем, так как неизвестно, как осуществляется ветвление в программе.
1. Алгоритм NRU (not ready use). Неиспользовавшаяся в последнее время страница. Используется статистический подсчет значений битов обращений и модификаций. Все страницы делятся на 4 типа:
00 - не было обращений и изменений страницы.
01 - страница изменена, установка единички вместо нуля ожидается.
10 - было обращение, но не изменена.
11 - было обращение, изменена.
Алгоритм вытесняет страницу, имеющую признак 01 с наименьшим номером.
2. Алгорит FIFO (first in, first out).
Из реальной ОП удаляется страница, которая первая заняла рамку (самая старая). На диск выгружается страница из начала списка страниц, а новая страница добавляется в его конец.
3. Алгоритм "вторая попытка".
Ищет в списке самую старую страницу, к которой не было обращения за определенный интервал времени.
4. Алгоритм LRU (last recently used).
Страница, не использующаяся дольше всего.
Распределение виртуального адресного пространства.
Для уменьшения размера виртуального адресного пространства, используемого процессом, применяется разделение виртуальных адресных пространств на области инструкций (i-пространства) и данных (d-пространства).
Пространства i- и d- имеют свой таблицу страниц и соответственно своё отображение в реальную ОП. Механизм используется для организации совместного доступа. Это необходимо, когда в одно и то же время несколькими процессами используются общие модули. Целесообразно загрузить в реальную ОП только одну копию модуля. В этом случае используется одна таблица страниц для i-пространства и несколько таблиц страниц для d-пространства, каждая для одного процесса. Каждый процесс имеет указатель на общую таблицу для i-пространства и разные для d-пространства.
Очистка страниц.
Если случилось вдруг, что все страничные рамки заполнены, то во многих ОС существуют фоновые процессы или страничные демоны. Если свободно слишком мало блоков (рамок), страничный демон освобождает страницы (либо сбрасывает на диск) в фоновом режиме.
