|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Не смежное размещение процессовПри несмежном размещении процессов, программа разбивается на множество частей, которые располагаются в различных, не обязательно смежных, участках адресного пространства. При этом так же существует несколько подходов к относительному размещению процессов в ОЗУ, которые обеспечивают возможность многозадачной работы ОС. Одним из способов не смежного размещения процессов является мультипрограммирование с фиксированными разделами. Данный метод состоит в том, что адресное пространство ОЗУ разбивается на несколько областей фиксированной величины, называемых разделами. Процессы так же разделяются на несколько видов по заданным заранее функциональным признакам. При этом, в каждом разделе ОЗУ, в каждый момент времени, размещается только один процесс определенного вида. (рис. 2) Достоинства: Простота реализации Недостатки: 1. Фиксированные разделы приводят к высокой жесткости системы. Т.к. в каждом разделе может выполняться только один процесс, то уровень многозадачности ОС ограничивается числом разделов. 2. Трансляция программ осуществляется в абсолютных адресах для соответствующего раздела, в этом случае если соответствующий раздел занят, то процесс остается в очереди во внешней памяти даже в том случае, когда все другие разделы свободны. Это приводит к возникновению фрагментации памяти. При выполнении процесса в каждом разделе ведется контроль на принадлежность адресов (генерируемых процессом) интервалу раздела. Уменьшить фрагментацию при мультипрограммировании с фиксированными разделами можно, если для процессов использовать загрузочные модули, получаемые в перемещаемых (относительных) адресах. Такой модуль может быть загружен в любой свободный раздел после соответствующей настройки (сегментных регистров). (рис. 3) Однако данный метод не позволяет полностью избавиться от фрагментации ОЗУ. При мультипрограммировании с фиксированными разделами и трансляцией в перемещаемых адресах имеются 2 причины для фрагментации: 1. Размер загруженного процесса меньше размера раздела (внутренняя фрагментация) 2. Размер процесса в очереди больше размера свободного раздела(ов) и этот раздел(ы) остаются свободными (внешняя фрагментация) Для защиты памяти в режиме мультипрограммирования с фиксированными разделами используются 2 регистра: регистр верхней границы (для контроля наименьшего адреса, генерируемого процессом) и регистр нижней границы (для контроля наибольшего адреса генерируемого процесса). Прежде чем процесс в разделе начнет выполняться, его граничные адреса загружаются в соответствующие регистры. При выполнении процесса, все формируемые им адреса, контролируются на выполнение неравенства: Значение в регистре верхней границы < адреса, генерируемые процессом< значение в регистре нижнего регистра При выходе любого адреса, генерируемого процессом, за отведенные границы, работы процесса прерывается. Другой метод несмежного размещения процессов называется мультипрограммирование с переменными разделами. Данный метод предполагает разделение ОЗУ на разделы и использование загрузочных модулей в перемещаемых (относительных) адресах, при этом границы разделов не фиксируются. При этом в процессе работы по мере выполнения процесса освобождаются отдельные разделы. В этом случае, когда освобождаются смежные разделы, границы между ними удаляются, и разделы могут объединяться. За счет этого образуются большие фрагменты, в которых можно разместить большие по объему процессы из очереди. Очевидно, что мультипрограммирование с переменными разделами порождает в ОЗУ множество малых фрагментов, каждый из которых может быть недостаточен для размещения очередного процесса, однако суммарный размер фрагментов превышает размер этого процесса. В этом случае может использоваться метод уплотнения памяти. Уплотнением памяти называется перемещение всех занятых разделов по адресному пространству ОЗУ таким образом, чтобы все свободные фрагменты занимали одну связную область ОЗУ. (рис 4) На практике реализация уплотнения памяти сопряжена с усложнением ОС и обладает следующими недостатками: 1. В тех случаях, когда в ЭВМ создается и выполняется множество разных по размеру процессов, возникает необходимость в частом уплотнении памяти, что приводит к дополнительной загрузке процессора. 2. Во время уплотнения все прикладные процессы переводятся в состояние ожидания, что приводит к невозможности выполнения процессов в реальном масштабе времени. ð В ОСРВ нельзя использовать Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |