Файл: Методы распределения памяти без использования внешней памяти (реальная память).docx
Добавлен: 11.01.2024
Просмотров: 33
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Методы распределения памяти без использования внешней памяти (реальная память).
1. Распределение памяти фиксированными разделами (схема с фиксированными разделами).
Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Это может быть выполнено вручную оператором во время старта системы (загрузки) или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь (рис 21а), либо в очередь к некоторому разделу (рис 21б).
Как правило, происходит условное разбиение физического адресного пространства. Связывание логических адресов процесса и физических происходит на этапе его загрузки в конкретный раздел.
Каждый раздел может иметь свою очередь или может существовать глобальная очередь для всех разделов.
Рис 21. Схема с фиксированными разделами: (a) с общей очередью процессов, (b) с отдельными очередями процессов.
Рис 22. Мультипрограммная организация с фиксированными разделами.
Задачи подсистемы управления памятью в этом случае следующие:
-
Выбор подходящего раздела, путем сравнения размера программы, поступившей на выполнение, и свободных разделов; -
Осуществление загрузки программы и настройка адресов.
Эта схема была реализована в IBM OS/360 (MFT) и в DEC RSX-11.
Подсистема управления памятью сравнивает размер программы, поступившей на выполнение, выбирает подходящий раздел, осуществляет загрузку программы и настройку адресов.
Выбор раздела, в который следует помещать программу, осуществляется посредством выбора одной из 3-х стратегий - стратегии первого подходящего, стратегии наиболее подходящего, стратегии наименее подходящего (лекция №9).
Достоинства:
-
Простота реализации; -
Большая загрузка ЦП; -
Большая пропускная способность.
Недостатки:
-
Внешняя фрагментация, которая выражается в недостаточности разделов для больших программ, что требует перезагрузки ОС для назначения больших разделов. -
Внутренняя фрагментация, при которой совокупная неиспользованная память может быть достаточной для выполнения программы, но разделена на несвязные участки и не может быть задействована для размещения процессов и данных. Наличие большого числа несмежных участков свободной памяти очень маленького размера. -
Жесткость. Так как в каждом разделе может выполняться только одна программа, то уровень мультипрограммирования заранее ограничен числом разделов не зависимо от того, какой размер имеют программы. Даже если программа имеет небольшой объем, она будет занимать весь раздел, что приводит к неэффективному использованию памяти. С другой стороны, даже если объем оперативной памяти машины позволяет выполнить некоторую программу, разбиение памяти на разделы не позволяет сделать этого.