- •Модель процесса, Создание и завершение процесса
- •Иерархии, реализация, состояния процессов
- •Иерархии процессов
- •Реализация процессов
- •Состояния процессов
- •Классическая модель потоков
- •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
Формирование адреса при страничном преобразовании.
В процессе страничного преобразования старшие 20 бит 32-х битного линейного адреса заменяются новым значением - номером физической страницы. Младшие же 12 бит линейного адреса определяют положение байта внутри страницы и остаются неизменными.
Для уменьшения размера таблицы страниц в микропроцессорах x86 предусмотрена двухуровневая схема преобразования адреса. Основой страничного преобразования служит регистр управления CR3 (Регистры управления предназначены для считывания и записи информации), содержащий 20-ти битный физический базовый адрес каталога страниц текущей задачи. Предполагается, что каталог выровнен по границе страничного кадра, постоянно находится в памяти и не участвует в свопинге.
swapping - обмен - это процесс выгрузки редко используемых областей виртуального адресного пространства программы и/или всей программы на диск или другое устройство внешней памяти
Корневая страница, называемая каталогом страниц, содержит 1024 32-х битных дескриптора (Дескриптор (лат. descriptor — описывающий, идентификатор, описание) – лексическая единица в компьютерных информационных системах, предназначенная для описания свойств, параметров, идентификации тех или иных объектных элементов языка.), называемых элементами каталога страниц PDE (Page Directory Entry). Каждый из них адресует подчиненную таблицу страниц. Каждая из этих таблиц содержит 1024 32-х битных дескриптора, называемая элементами таблицы страниц. PTE (Page Table Entry). Каждый PTE содержит адрес страничного кадра в физической памяти.
Преобразование линейных адресов в физические состоит из следующих действий:
- Старшие 10 бит 31 - 22 линейного адреса, дополненные двумя младшими нулями, служат индексом PDE.
- Средние 10 бит 21 - 12 линейного адреса, дополненные двумя младшими нулями, индексируют таблицу страниц PTE. Элемент PTE содержит 20-битный базовый адрес страничного кадра в физической памяти.
Этот базовый адрес из элемента PTE объединяется с младшими 12-ю битами линейного адреса, образуя 32-х битный физический адрес.
В элементе таблицы страниц существует бит не присутствующей страницы. Он означает, что указанной странице нет в памяти и ее необходимо загрузить с внешнего устройства. Также существуют биты, указывающие, происходит ли обращение к страницам. Эти страницы невозможно выгрузить из памяти.
Таблица страниц (PTE)
Если есть таблица страниц, которая содержит преобразование адреса, то необходимо воспользоваться и нагрузить ее дополнительными функциями:
-Добавить защиту доступа;
-Добавить дополнительную вспомогательную информацию (например, используется эта вирт. страница или нет, был ли к ней когда-либо осуществлен доступ, была ли в нее осуществлена запись…);
Таблица страниц превращается в сложную структуру данных, которые начинает использоваться множеством всяких дополнительных полей.
Все это нужно, чтобы сохранить память для других процессов, делать все быстро и не плодить десятки новых таблиц с данными – все по возможности хранить внутри таблицы РТЕ.
Приведем пример стректуры таблицы страниц PTE.
Рис. 2. Таблица страниц PTE.
Если мы посмотрим на запись в РТЕ, то мы увидим, что туда можно поместить:
V— может ли использоваться данная запись РТЕ (valid or not) – бит валидности, бит присутствия;
R- был ли доступ к этой странице;
M– была ли страница модифицирована;
P– какие операции разрешены (битовая маска операций);
PFN– номер фрейма (как основной, как основная нагрузка).
