Четверг, 19.09.2024
Kober
Меню сайта
Поиск
Категории раздела
Шпоры Орг ЭВМ [42]
Шпоры ОС [22]
Главная » Статьи » Шпоры ОС

23 Управление ОП в ОС UNIX, Windows NT, Swapping.

23 Управление ОП в ОС UNIX, Windows NT, Swapping.

В UNIX реализована сегментно-страничная модель памяти в ее традиционном виде. Наряду с механизмом управления страницами используется и механизм свопинга, когда на диск выталкиваются все страницы какого-либо процесса.

В UNIX используется алгоритм перемещения виртуальных страниц процесса в физическую память по запросу. Обычно при запуске процесса в физическую память помещается только небольшая часть страниц, необходимая для старта процесса, а остальные страницы загружаются при страничных сбоях. Очевидно, что начальный период работы любого процесса порождает повышенную нагрузку на систему. Если при поиске виртуального адреса в соответствующем дескрипторе обнаруживается признак отсутствия этой страницы в физической памяти, то происходит страничное прерывание, и ядро перемещает эту страницу с диска в физическую память.

Если в физической памяти недостаточно места для размещения затребованной процессом страницы, то ОС выгружает некоторые страницы на диск. Этот процесс осуществляется специальным процессом ядра, "выталкивателем страниц", имеющем в UNIX имя pageout. Для принятия решения о том, какую виртуальную страницу нужно переместить на диск, процессу pageout нужно иметь информацию о текущем состоянии физической памяти.


(*)- pageout не работает

(**)-pageout работает 4 раза в сек.

(***)-pageout вызывается по таймеру

(****)-в свопинг погружается весь процесс


Пороговые значения для действий PAGEOUT

Замечания: если свободная физическая память меньше порога 4, то в действие вступает процесс свопинга (наз. Shed в Unix(5)). Shed выбирает определенный процесс, выгружает все его страницы на диск, корректирует таблицы. Данный процесс исключается из претендентов на выполнение. Через интервал времени Δt, процесс Shed вызывается снова. Если кол-во свободн. ОП >4, то выгруженный процесс перекач-ся в физ. Память и ставится в очередь на выполнение. Pageout использует для вытеснения алгоритм NRU – вытесняется не используемая последнее время страница. Для NRU необходимо: 1)признак модификации, 2)признак доступа, т.е. бит изменения(модиф-и) и бит обращения.

Pageout периодически очищает эти признаки у страниц, которые заняты.

При разработке структуры Windows NT была в значительной степени использована концепция микроядра. В соответствии с этой идеей ОС разделена на несколько подсистем, каждая из которых выполняет отдельный набор сервисных функций - например, сервис памяти, сервис по созданию процессов, или сервис по планированию процессов.

Структурно Windows NT может быть представлена в виде двух частей: часть операционной системы, работающая в режиме пользователя, и часть операционной системы, работающая в режиме ядра. Часть Windows NT, работающая в режиме ядра, называется executive - исполнительной частью. Она включает ряд компонент, которые управляют виртуальной памятью.

Серверы Windows NT выполняются в отдельном процессе, память которого отделена от других процессов системой управления виртуальной памятью NT executive. Так как подсистемы автоматически не могут совместно использовать память, они общаются друг с другом посредством посылки сообщений. Ядро Windows NT работает в привилегированном режиме и никогда не удаляется из памяти.

 

Свопинг применяется в "предаварийных" ситуациях, когда размер свободной оперативной памяти уменьшается до некоторого заданного порога, так что работа всей системы очень затрудняется.

Необходимым условием для выполнения задачи является загрузка ее в оперативную память, объем которой ограничен. В этих условиях был предложен метод организации вычислительного процесса, называемый свопингом. В соответствии с этим методом некоторые процессы (обычно находящиеся в состоянии ожидания) временно выгружаются на диск. Планировщик операционной системы не исключает их из своего рассмотрения, и при наступлении условий активизации некоторого процесса, находящегося в области свопинга на диске, этот процесс перемещается в оперативную память. Если свободного места в оперативной памяти не хватает, то выгружается другой процесс.

При свопинге, в отличие от рассмотренных ранее методов реализации виртуальной памяти, процесс перемещается между памятью и диском целиком, то есть в течение некоторого времени процесс может полностью отсутствовать в оперативной памяти. Существуют различные алгоритмы выбора процессов на загрузку и выгрузку, а также различные способы выделения оперативной и дисковой памяти загружаемому процессу.

 

Категория: Шпоры ОС | Добавил: Kober (13.06.2013)
Просмотров: 875
Архив записей
Copyright MyCorp © 2024
Бесплатный хостинг uCoz