Разработка операционных систем
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: отчет о прохождении практики, защита курсовой работы
| Добавил(а) на сайт: Елешев.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата
При смежном размещении размер загружаемой программы ограничивается размером накопителя. Для того чтобы при смежном размещении загружать программы, размеры которых превышают размеры накопителя, используют метод оверлейных сегментов (overlay segments).
В программе, имеющей древовидную структуру, модули второго уровня работают сугубо последовательно, поэтому в памяти может находиться только один из них.
Оверлейную структуру программы и последовательность загрузки оверлейных сегментов планирует сам программист.
В процессе выполнения программы все её адреса не должны быть меньше
числа а. В противном случае возможна запись какого-либо результата работы
программы (поверх операционной системы) и уничтожение некоторых её частей.
Защиту операционной системы в случае смежного размещения при
однопрограммном режиме можно осуществить с помощью регистра границы.
Во время работы прикладной программы все адреса, генерируемые CPU, сравниваются с содержимым регистра границы. Если генерируется адрес меньше числа а, работа программы прерывается.
3.2.2 Мультипрограммный режим с ФИКСИРОВАННЫМИ границами.
МУЛЬТИПРОГРАММИРОВАНИЕ С ФИКСИРОВАННЫМИ РАЗДЕЛАМИ (MULTIPROGRAMMING
WITH A FIXED NUMBER OF TASKS) ПРЕДПОЛАГАЕТ РАЗДЕЛЕНИЕ АДРЕСНОГО
ПРОСТРАНСТВА НА РяД РАЗДЕЛОВ ФИКСИРОВАННОГО РАЗДЕЛА. В КАЖДОМ РАЗДЕЛЕ
РАЗМЕЩАЕТСя ОДИН ПРОЦЕСС.
Наиболее простой и наименее эффективный режим MFT соответствует случаю, когда трансляция программ осуществляется в абсолютных адресах для соответствующего раздела.
В этом случае, если соответствующий раздел занят, то процесс остается в очереди во внешней памяти даже в том случае, когда другие разделы свободны.
Уменьшить фрагментацию при мультипрограммировании с фиксированными
разделами можно, если загрузочные модули получать в перемещаемых адресах.
Такой модуль может быть загружен в любой свободный раздел после
соответствующей настройки.
При мультипрограммировании с трансляцией в перемещаемых адресах имеются две причины фрагментации. Первая — размер загруженного процесса меньше размера, занимаемого разделом (внутренняя фрагментация), вторая — размер процесса в очереди больше размера свободного раздела, и этот раздел остается свободным (внешняя фрагментация).
Для защиты памяти при мультипрограммировании с фиксированным
разделами необходимы два регистра. Первый — регистр верхней границы
(наименьший адрес), второй — регистр нижней границы (наибольший адрес).
Прежде чем программа в разделе N начнет выполняться, ее граничные адреса загружаются в соответствующие регистры. В процессе работы программы все формируемые ею адреса контролируются на удовлетворение неравенства а < Адр. < б
При выходе любого адреса программы за отведенные ей границы, работа программы прерывается.
3.2.3. Мультипрограммирование с переменными разделами.
(multiprogramming with a variable number of tasks (MVT).
МЕТОД MULTIPROGRAMMING WITH A VARIABLE NUMBER OF TASKS ПРЕДПОЛАГАЕТ
РАЗДЕЛЕНИЕ ПАМяТИ НА РАЗДЕЛЫ И ИСПОЛЬЗОВАНИЕ ЗАГРУЗОчНЫХ МОДУЛЕЙ В
ПЕРЕМЕЩАЕМЫХ АДРЕСАХ, ОДНАКО, ГРАНИЦЫ РАЗДЕЛОВ НЕ ФИКСИРУЮТСя.
| | | | | |0|ОС |
|90 Кб | | | | |а|Раздел 1 |
|П5 |П4 |П3 |П2 |П1 | |Раздел 2 |
| | | | | | |Раздел 3 |
| | | | | | |Раздел 4 |
| | | | | | |80 Кб |
Как следует из рисунка, в начальной фазе отсутствует фрагментация, связанная с тем, что размер очередного процесса меньше размера, занимаемого
этим процессом раздела. На этой фазе причиной фрагментации является
несоответствие размера очередного процесса и оставшегося участка памяти. По
мере завершения работы программы освобождаются отдельные разделы. В том
случае, когда освобождаются смежные разделы, границы между ними удаляются и
разделы объединяются.
| | | |0|ОС |
| | |90 Кб |а|Раздел 1 |
|П7 |П6 |П5 | |100 Кб |
| | | | | |
| | | | |Раздел 4 |
| | | | | |
За счет объединения или слияния смежных разделов образуются большие фрагменты, в которых можно разместить большие программы из очереди.
Таким образом, на фазе повторного размещения действуют те же причины фрагментации, что и для метода MFT.
3.2.4. Мультипрограммирование с переменными разделами и уплотнением памяти.
ЯСНО, чТО МЕТОД MULTIPROGRAMMING WITH A VARIABLE NUMBER OF TASKS
ПОРОЖДАЕТ В ПАМяТИ МНОЖЕСТВО МАЛЫХ ФРАГМЕНТОВ, КАЖДЫЙ ИЗ КОТОРЫХ МОЖЕТ БЫТЬ
НЕДОСТАТОчЕН ДЛя РАЗМЕЩЕНИя ОчЕРЕДНОГО ПРОЦЕССА, ОДНАКО СУММАРНЫЙ РАЗМЕР
ФРАГМЕНТОВ ПРЕВЫШАЕТ РАЗМЕР ЭТОГО ПРОЦЕССА.
Уплотнением памяти называется перемещение всех занятых разделов по адресному пространству памяти. Таким образом, чтобы свободный фрагмент занимал одну связную область.
На практике реализация уплотнения памяти сопряжена с усложнением
операционной системы и обладает следующими недостатками:
1. в тех случаях, когда мультипрограммная смесь неоднородна по отношению к размерам программ, возникает необходимость в частом уплотнении, что расходует ресурс процессорное время и компенсирует экономию ресурса памяти.
1. во время уплотнения все прикладные программы переводятся в состояние
“ожидание”, что приводит к невозможности выполнения программ в реальном масштабе времени.
3.2.5. Основные стратегии заполнения свободного раздела.
Рекомендуем скачать другие рефераты по теме: бизнес реферат, нормы реферата.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата