
- •Управление процессами и потоками в мультипрограммных ос. Общие сведения о процессах и потоках в ос Windows. Понятие объекта ядра. Типы объектов ядра.
- •Описатель, командная строка, и переменные окружения процесса.
- •Создание процессов.
- •Завершение процесса.
- •Общие сведения о потоках. Создание потоков.
- •Выполнение потоков.
- •Завершение потоков.
- •Планирование потоков. Приостановка и возобновление процессов и потоков.
- •Приоритеты потоков. Классы приоритетов процессов и относительные приоритеты потоков.
- •Синхронизация процессов и потоков в мультипрограммных ос. Независимые и взаимодействующие процессы. Понятие критических ресурсов и критических секций.
- •Синхронизация процессов и потоков в ос Windows. Объекты синхронизации и функции ожидания.
- •Синхронизация с помощью критических секций.
- •Мьютексы.
- •События.
- •Семафоры.
- •Передача и обмен данными между процессами. Способы передачи данных и типы связей между процессами.
- •Средства передачи и обмена данными между процессами в ос Windows.
- •Обмен данными с помощью буфера обмена данными Clipboard.
- •Обмен данными по технологии dde.
- •Обмен данными по технологии ole. Понятие документно-ориентированной среды.
- •Принципы технологии ole.
- •Особенности ole 2.0
- •Обмен данными через разделяемые файлы.
- •Обмен данными через файлы, проецируемые в память. Создание файлов, проецируемых в память.
- •Обмен данными через проекцию файлов в память.
- •Обмен данными через страничный файл.
- •Обмен данными через программные каналы.
- •Средства организации анонимных и именованных каналов в Windows.
- •Концепция почтовых ящиков.
- •Создание почтовых ящиков.
- •Соединение клиентов с почтовым ящиком.
- •Обмен данными через почтовый ящик.
- •Закрытие почтового ящика.
- •Получение информации о почтовом ящике.
- •Обмен данными с помощью очередей сообщений.
- •Подсистема управления памятью. Функции подсистемы управления памятью.
- •Физическая и логическая память. Виртуальное (логическое) и физическое адресное пространство.
- •Способ построения вап процессов.
- •Способы распределения памяти на уровне управления процессами. Односвязное непрерывное распределение памяти.
- •Распределение памяти фиксированными разделами.
- •Распределение памяти динамическими и перемещаемыми разделами.
- •Виртуализация оперативной памяти. Свопинг и виртуальная память.
- •Страничное распределение памяти.
- •Преобразование адресов страниц прямым отображением.
- •Преобразование адресов страниц ассоциативным отображением.
- •Преобразование адресов страниц комбинированным ассоциативно-прямым отображением.
- •Совместное использование программ и данных в системах со страничной организацией памяти. Выбор размера страниц.
- •Сегментное распределение памяти.
- •Управление доступом в системах с сегментной организацией памяти.
- •Сегментно-страничное распределение памяти.
- •Реализация режима виртуальной памяти. Стратегии замещения страниц.
- •Стратегия замещения случайной страницы.
- •Стратегия замещения по принципу fifo.
- •Замещение страницы, которая использовалась наименее часто (lfu).
- •Замещение страницы, которая не использовалась в последнее время (nur).
- •Концепция локального и рабочего множества программ в системах с виртуальной памятью.
- •Уровни привилегий и защита по привилегиям.
- •Кеширование данных в памяти эвм. Иерархия устройств памяти. Понятие и принцип действия кэш-памяти.
- •Способы отображения основной памяти на кэш.
- •Двухуровневое кэширование.
- •Кеширование в процессорах моделей Pentium.
- •Структура линейного виртуального адресного пространства процесса в ос Windows.
- •Раздел 4 используется для хранения совместно используемых всеми процессами данных. Сюда же загружаются все системные .Dll модули, поэтому же доступны любому пользовательскому процессу.
- •Управление устройствами. Основные понятия и концепции организации.
Страничное распределение памяти.
В этом способе, ВАП
каждого процесса условно делится на
виртуальные страницы, а все доступное
для выполняющихся процессов пространство
ФП, в частности ОП, делится на физические
страницы такого же размера. Размер
виртуальных и физических страниц
выбирается равным степени числа 2 -
.
Такой выбор позволяет упростить
преобразование ВАП на ФАП.
Общая схема реализации страничного преобразования может быть представлена следующим образом:
Для каждого процесса подсистема управления памятью создает служебную структуру данных, которая называется таблицей страниц процесса. Таблица страниц состоит из записей, называемых дескрипторами страниц. Каждый дескриптор описывает соответствующую виртуальную страницу и включает следующую основную информацию:
Состояние страницы, или иначе – признак присутствия виртуальной страницы в ОП. Он представляется в виде бита, который устанавливается в ноль или единицу в зависимости от отсутствия или присутствия страницы в ОП.
Номер соответствующей физической страницы в ОП. Численно, он равен начальному адресу страницы в ОП. В эту физическую страницу в текущий момент записываются данные виртуальной страницы.
Дополнительная информация, которая, в частности, описывает разрешенные операции с информацией на данной странице.
Информация из таблицы страниц используется в случае необходимости перемещения той или иной страницы между ОП и ВП, а также для преобразования виртуальных адресов в физические.
Сами таблицы страниц, в простейшем случае, могут размещаться в ОП, либо иным образом. Это зависит от способа реализации отображения ВАП на ФАП. Если таблица страниц размещается в ОП, то её начальный, то есть базовый адрес всегда включается в контекст процесса. Когда процесс становится активным, то есть начинает выполняться в процессоре, ОС загружает начальный адрес его таблицы страниц в специальный регистр процессора. При смене активного процесса содержимое этого регистра меняется на базовый адрес таблицы страниц другого процесса.
Виртуальный адрес, вырабатываемый в процессе, может быть представлен парой чисел P, dv, где P – порядковый номер страницы, а dv – смещение в пределах страницы.
Физический адрес того же элемента информации может быть представлен парой чисел n, df – номером страницы и смещением на странице.
Подсистема страничной
ВП, и в частности, схема преобразования
адресов, входящая в её состав, должна
выполнять преобразование
.
Существует несколько способов реализации такого преобразования, которые основываются на двух особенностях страничной организации памяти:
Объем страницы фиксирован, и всегда выбирается кратным степени двух, где степень определяет разрядность представления любого элемента информации на странице. Полный виртуальный адрес всегда больше этой степени, потому что размер ВАП всегда больше размера страницы. Значение смещения dv на виртуальной странице и df на физической странице может быть получено простым отделением k младших разрядов полного адреса, при этом оставшиеся m-k разрядов адреса представляют собой начальный адрес или базовый адрес физической страница в ОП. Численно он совпадает с номером страницы в ОП.
В пределах каждой страницы непрерывная последовательность виртуальных адресов однозначно отображается такую же последовательность адресов на физической странице. Это означает, что смещение dv на виртуальной странице для одного и того же элемента информации будет численно равно df на физической странице, но при этом,
.
Существует несколько способов реализации страницного преобразования.