Операционные системы. Теория и практика. Замятин А.В. - 103 стр.

UptoLike

Составители: 

103
дется принять решение на место какого из присутствующих сегментов
будет загружаться требуемый. Перемещение сегментов из ОП на жест-
кий диск и обратно часто называют свопингом сегментов.
Итак, если требуемого сегмента в ОП нет, то возникает прерывание,
и управление передается через диспетчер памяти программе загрузки
сегмента. Пока происходит поиск сегмента во внешней памяти и загруз-
ка его в оперативную, диспетчер памяти определяет подходящее для
сегмента место. Возможно, что свободного места нет, и тогда принима-
ется решение о выгрузке какого-нибудь сегмента и выполняется его пе-
ремещение во внешнюю память. Если при этом еще остается время, то
процессор передается другой готовой к выполнению задаче. После за-
грузки необходимого сегмента процессор вновь передается задаче, вы-
звавшей прерывание из-за отсутствия сегмента. Всякий раз при считы-
вании сегмента в ОП в таблице дескрипторов сегментов необходимо
установить адрес начала сегмента и признак присутствия сегмента.
Если свободного фрагмента памяти достаточного объема нет, но,
тем не менее, сумма этих свободных фрагментов превышает требования
по памяти для нового сегмента, то в принципе может быть применено
сжатие памяти, упомянутое выше в п. 4.2.5.
В идеальном случае размер сегмента должен быть достаточно ма-
лым, чтобы его можно было разместить в случайно освобождающихся
фрагментах ОП, но достаточно большим, чтобы содержать логически
законченную часть программы с тем, чтобы минимизировать межсег-
ментные обращения.
Дисциплины замещения. Для решения проблемы замещения
пределения того сегмента, который должен быть либо перемещен во
внешнюю память, либо просто замещен новым) используются следую-
щие дисциплины:
FIFO (First In First Out первый пришедший первым и выбыва-
ет);
LRU (Least Recently Used неиспользуемый дольше других);
LFU (Least Frequently Used используемый реже других);
random случайный выбор сегмента.
Первая и последняя дисциплины являются самыми простыми в реа-
лизации, но они не учитывают, насколько часто используется тот или
иной сегмент, и, следовательно, диспетчер памяти может выгрузить или
расформировать тот сегмент, к которому в самом ближайшем будущем
будет обращение. Безусловно, достоверной информация о том, какой из
сегментов потребуется в ближайшем будущем, в общем случае быть не
может, но вероятность ошибки для этих дисциплин многократно выше,
чем у второй и третьей, в которых учитывается информация об исполь-