Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Распределение разделами с подвижными границамиСодержание книги
Поиск на нашем сайте
Основная идея данной дисциплины распределения заключается в том, что в памяти выделяется раздел, размер которого равен размеру очередной загружаемой задачи. Следовательно, такое выделение возможно только во время работы вычислительной системы. Поэтому, в составе ОС необходимо иметь некоторое средство, позволяющее оперативно предоставлять память под загружаемые задачи. Такое средство будем называть планировщиком памяти. Планировщик памяти входит в состав ядра ОС. Он создаёт и поддерживает в своей собственной памяти список свободных областей. Элементы такого списка состоят из двух полей. В первом поле хранится значение начального адреса свободной области памяти, а во втором значение размера этой области. Просматривая список, планировщик определяет свободную область памяти, подходящую по размеру для очередной загружаемой задачи, после чего производится непосредственная загрузка кода задачи в память. После каждой загрузки планировщик модифицирует (корректирует) вышеуказанный список. Просмотр списка с целью определения подходящей свободной области памяти может осуществляться двумя способами - “первый подходящий” или “наиболее подходящий”. Первый способ предполагает поиск любой свободной области памяти, размер которой не меньше размера кода загружаемой задачи. Второй способ предполагает поиск сбодной области памяти, размер которой наиболее близок размеру кода загружаемой задачи и при этом не меньше, чем размер этого кода. При первом способе требуется просматривать, в среднем, половину списка, а при втором - весь список. Кроме того, планировщик реализует функцию освобождения памяти после выполнения очередной задачи, модифицируя список сбодных областей памяти. При данной дисциплине распределения памяти уровень фрагментации и коэффициент мультипрограммирования могут значительно изменяться во времени, что иллюстрируется на рис.
T 1 t 2 t 3
T 4 t 5 t 6 В момент t1 в памяти находятся коды четырёх задач. В момент t2 закончилось выполнение задачи task2 и планировщик освободил память, достаточную для загрузки задачи task5 (момент t3). В момент t4 закончилось выполнение задачи task3, планировщик освободил память, но размеры свободных областей недостаточны по размеру для загрузки задачи task6. Поэтому, очередная загрузка произойдёт только после выполнения task4 и соответствующего освобождения памяти (момент t5). При этом, размер свободной области памяти оказался достаточным для загрузки кодов сразу двух задач – task6 и task7 (момент t6). Данная дисциплина распределения является средством локальной оптимизации, так как оптимизируется местоположение в памяти для конкретной задачи, но не распределение всей памяти в целом. Распределение подвижными разделами Для оптимизации распределения всей памяти в целом и уменьшения уровня фрагментации можно использовать метод смещения (сдвига) по адресам кодов загруженных задач с целью получения непрерывных областей памяти, размеры которых будут достаточны для загрузки новых задач. Данный метод иллюстрируется на рис.
T 1 t2 t3 В момент t1 в памяти имеется две свободные области, но ни одна из них недостаточна по размеру, чтобы загрузить следующую задачу. Планировщик делает смещение кода задачи task4, образуя одну, большую по размеру, непрерывную свободную область памяти (момент t2). Поэтому появляется возможность загрузить следующую задачу task6 (момент t3). Смещение в памяти кода задачи, которое выполняет планировщик, должно быть согласовано по времени с окончанием операции ввода/вывода для этой задачи (в данном случае – task4). Если такое согласование отсутствует, то результаты ввода/вывода могут записаться на “старое” место в памяти, и задача будет разрушена. С другой стороны, такое согласование противоречит принципам мультипрограммирования, в соответствии с которыми внешние устройства должны работать независимо и асинхронно относительно центрального процессора. Поэтому данная дисциплина распределения разделами не нашла практического применения. 13. Сегментная организация памяти.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2020-03-02; просмотров: 242; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.184.125 (0.006 с.) |