- •Модель процесса, Создание и завершение процесса
- •Иерархии, реализация, состояния процессов
- •Иерархии процессов
- •Реализация процессов
- •Состояния процессов
- •Классическая модель потоков
- •2.1 Классическая модель потоков
- •Применение потоков, моделирование режима многозадачности
- •Потоки в posix, реализация потоков в пользовательском пространстве
- •Реализация потоков в ядре, гибридная реализация, активация планировщика Реализация потоков в ядре
- •Гибридная реализация
- •Активация планировщика
- •Всплывающие потоки, превращение однопоточного кода в многопоточный Всплывающие потоки
- •2.2. Превращение однопоточного кода в многопоточный
- •Взаимодействие процессов: состязательная ситуация, критические области Межпроцессное взаимодействие.
- •Состояние состязания.
- •Критическая область.
- •3.1 Взаимодействие между процессами
- •Передача информации от одного процесса другому
- •3.1.2 Состояние состязания
- •3.1.3 Критические области
- •Взаимодействие процессов: взаимное исключение с активным ожиданием, приостановка и активизация
- •2.Взаимное исключение с активным ожиданием
- •2.1 Запрещение прерываний.
- •2.2 Переменные блокировки.
- •3.Приостановка и активизация
- •Введение в планирование, планирование в пакетных системах
- •Планирование в пакетных системах
- •Планирование в интерактивных системах Введение
- •Гарантированное планирование
- •Лотерейное планирование
- •Справедливое планирование
- •Планирование потоков
- •Планирование в системах реального времени, политика и механизмы, планирование потоков
- •Понятие адресного пространства, правление свободной памятью.
- •Методы распределения памяти с использования дискового пространства:
- •Страничное распределение виртуальной памяти
- •Сегментное распределение памяти
- •3. Сегментно-страничная организация разделения памяти
- •Страничная организация памяти, таблицы страниц Страничная организация памяти, таблицы страниц
- •Страничная организация памяти. Виртуальная память.
- •Структура страниц.
- •Формирование адреса при страничном преобразовании.
- •Преимущества страничной памяти
- •Недостатки страничной памяти
- •Ускорение работы страничной организации памяти, таблицы страниц для больших объемов памяти
- •Оптимальный алгоритм замещения страниц, сравнительная характеристика алгоритмов замещения страниц Алгоритмы замещения страниц
- •Оптимальный алгоритм замещения страниц
- •Алгоритм исключения недавно использовавшейся страницы
- •Алгоритм fifo
- •Алгоритм «второй шанс»
- •Алгоритм «часы»
- •Алгоритм замещения наименее востребованной страницы
- •Сравнительная характеристика алгоритмов замещения страниц
- •Разработка систем страничной организации памяти: локальная и глобальная политики, управление загрузкой, разделение пространства команд и данных
- •Локальная и глобальная политика
- •Управление загрузкой
- •Разделение пространства команд и данных
- •Совместно использование страниц, библиотек, очистка страниц, обработка ошибки отсутствия страницы. Совместно используемые страницы
- •Совместно используемые библиотеки
- •Политика очистки страниц
- •Обработка ошибки отсутствия страницы
- •Файлы: имена, структура, типы атрибуты файлов, доступ и операции с файлами.
- •Каталоги: одноуровневые каталоги, иерархические системы каталогов, операции с каталогами
- •Структура файловой системы, реализация файлов, каталогов.
- •Основы аппаратного обеспечения ввода-вывода Устройства ввода-вывода
- •Контроллеры устройств
- •Ввод-вывод, отображаемый на пространство памяти.
- •Принципы создания программного обеспечения ввода-вывода
- •Диски: аппаратная часть, форматирование, алгоритмы планирования перемещения блока головок.
- •Форматирование диска
- •Алгоритмы планирования перемещения головок
- •Аппаратная составляющая и программное обеспечение часов, таймеры
- •Программное обеспечение пользовательского интерфейса: клавиатура, мышь, монитор
- •2.4. Монитор
- •Маршрутизация с использованием масок постоянной и переменной длины
- •Фрагментация ip-пакетов, параметры и механизм фрагментации
- •Групповое вещание
- •Стандартная модель группового вещания ip
- •Основные типы протоколов группового вещания
- •Инжиниринг трафика в mpls
Разработка систем страничной организации памяти: локальная и глобальная политики, управление загрузкой, разделение пространства команд и данных
При использовании страничной организации памяти, операционная система предоставит в распоряжении прикладных программ, такой объем оперативной памяти, какой им требуется для работы, независимо от объема физической памяти, установленной в компьютере.
Это возможно благодаря тому, что в физической памяти компьютера находятся только те участки программы, к которым процессор обращается в текущий момент времени. Остальные программы загружаются по мере востребования.
Вся область памяти, используемой программой, разбивается на участки небольшой длины, называется страницами
Во время выполнении программы процессор выгружает из памяти на диск те страницы, к которым долго не обращались и загружает те, которые нужны сейчас.
Для отслеживания всех страниц памяти, в операционной системе создается специальный набор таблиц, состоящий из страничного каталога и ряда таблиц страниц.
При обращение в программе к участку памяти, его линейный адрес автоматически преобразовывается процессором в физический адрес. Этот процесс называется страничной переадресацией
Локальная и глобальная политика
Предположим у нас есть три процесса – А,В,С, составляющие набор работоспособных процессов. Предположим, что процесс А сталкивается с ошибкой отсутствия страницы. Алгоритм может выбрать наиболее давно использованную страницу, рассматривая только страницы, принадлежащие процессу А. С наименьшим значением возраста будет А5, и мы получаем ситуацию показанную на рис. 1,б
В то же время, если страница с наименьшим значением возраста удаляется независимо от того, какому процессу она принадлежит, то будет выбрана страница В3, и мы получим ситуацию, показанную на рис. 1.20, в
Первая ситуация описывает локальный алгоритм замещения страниц, вторая ситуация описывает глобальный алгоритм замещения страниц.
Локальный алгоритм хорошо подходит для выделения каждому процессу фиксированной доли памяти. При использовании глобальных алгоритмов страничные блоки распределяются среди работоспособных процессов в динамическом режиме.
Управление загрузкой
Иногда из-за большого количества процессов объем выделенной памяти превышает объем имеющейся оперативной памяти и происходит пробуксовка.
Решить данную проблему можно с помощью избавлением от некоторых процессов.
Так же можно некоторые процессы сбросить некоторые процессы и освободить память
Разделение пространства команд и данных
Иногда адресное пространство слишком мал, что не позволяет поместить в него все необходимое
Первое решение заключается в использовании отдельных адресных пространств для команд (текста программы) и данных, называемых I-пространством и Б-пространством.
У каждого из них имеется собственная таблица страниц с собственным отображением виртуальных страниц на физические страничные блоки. Когда аппаратуре требуется извлечь команду, она знает, что для этого нужно использовать 1-пространство и таблицу страниц этого 1-пространства. Точно так же обращение к данным должно вестись через таблицу страниц Б-пространства. Кроме этих тонкостей, наличие отдельных I- и Б-пространств не приводит к каким- то особым осложнениям для операционной системы и при этом удваивает доступное адресное пространство.