The design of the UNIX Operating System 44 страница



 

A-(B,C)

 

C-(D,E)

 

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

 

Оверлеи могут быть полностью реализованы на пользовательском уровне в системах с простой файловой структурой. ОС при этом лишь делает несколько больше операций ввода-вывода. Типовое решение – по-


Основы операционных систем 77

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

 

Тщательное проектирование оверлейной структуры отнимает много времени и требует знания устройст-ва программы, ее кода, данных и языка описания оверлейной структуры. По этой причине применение оверлеев ограничено компьютерами с небольшим логическим адресным пространством. Как мы увидим в дальнейшем, проблема оверлейных сегментов, контролируемых программистом, отпадает благодаря появлению систем виртуальной памяти.

 

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

 

Динамическое распределение. Свопинг

 

Имея дело с пакетными системами, можно обходиться фиксированными разделами и не использовать ничего более сложного . В системах с разделением времени возможна ситуация, когда память не в со-стоянии содержать все пользовательские процессы. Приходится прибегать к свопингу (swapping) – пере-мещению процессов из главной памяти на диск и обратно целиком. Частичная выгрузка процессов на диск осуществляется в системах со страничной организацией (paging) и будет рассмотрена ниже.

 

Выгруженный процесс может быть возвращен в то же самое адресное пространство или в другое . Это ограничение диктуется методом связывания. Для схемы связывания на этапе выполнения можно загру-зить процесс в другое место памяти.

 

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

 

Схема с переменными разделами

 

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


Основы операционных систем 78


Дата добавления: 2021-01-21; просмотров: 97; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!