Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Функции подсистемы управления памятьюОдним из основных системных ресурсов ЭВМ любого типа является физическая память, и в частности – оперативная память. Этот ресурс является особым, так как управление им осуществляется обычно не изолированно, а согласованно с распределением процессорного времени. Объясняется это тем, что ОС должна обеспечить работу ЭВМ с требуемыми характеристиками по производительности, и в нужном режиме. Вследствие этой связи между распределением ФП и распределением процессорного времени, можно выделить два уровня управления памятью: 1. Уровень долгосрочного планирования, или уровень управления процессами. В этом случае, память распределяется статически или динамически между несколькими процессами. Статическое распределение означает, что память выделяется процессам до начала их выполнения. Динамическое распределение соответствует случаю распределения памяти в ходе выполнения процессов. 2. Уровень краткосрочного планирования, или уровень управления потоками. Память здесь также распределяется статически или динамически внутри выделенного на предыдущем уровне планирования участка между потоками, относящимися к одному и тому же процессу. В произвольный момент времени работы системы, вся доступная для использования область ФП представляет собой чередующуюся последовательность из занятых, то есть уже распределенных, и свободных, то есть еще не распределенных участков памяти. Свободные участки называются фрагментами памяти. Задача управления памятью, решаемая на обоих уровнях, распадается на три подзадачи: 1. Учет памяти; 2. Распределение (выделение) памяти; 3. Возврат (освобождение) памяти. Реализация этих подзадач составляет основные функции подсистемы управления памятью. Учету памяти по определенным правилам подлежат либо только фрагменты, либо фрагменты и занятые участки. Как правило, эта задача решается системными программами с использованием специально формируемых служебных структур данных, в которых хранится информация о состоянии фрагментов и занятых участков. Решение задачи выделения памяти происходит каждый раз, когда со стороны процесса (пользовательского или системного) формируется запрос к подсистеме управления памятью на выделение участка памяти необходимого размера. Этот участок выделяется по определенному алгоритму из резерва свободной памяти, которая, в общем случае, представляется множеством несмежных фрагментов. Задача выделения решается на основе результатов решения задачи учета. Задача возврата решается в том случае, когда потребность в памяти со стороны процесса или потока исчезает. С помощью системных программ выполняется запрос на освобождение памяти, в результате чего весь ранее выделенный участок или его часть присоединяется к множеству свободных участков. Помимо названных трех основных функций подсистемы управления памятью, она выполняет ряд дополнительных функций: 1. Перемещение программ и данных процессов из ОП в ВП в том случае, когда размеры свободной области ОП недостаточны для размещения в ней программ и данных выполняющихся процессов, и возвращение этой информации в ОП, когда в ней появляется необходимое свободное место. 2. В ходе работы ОС часто возникает необходимость создания различных служебных (системных) информационных структур данных, например, таблиц распределения ресурсов, описателей процессов и потоков, буферных областей, объектов ядра и ряда других. Все эти структуры требуют для своего размещения соответствующую память. В некоторых ОС эта память резервируется заранее во время установки ОС. В других используется динамический способ выделения памяти для таких структур. В подобных случаях различные подсистемы ОС обращаются к подсистеме управления памятью с запросами на выделение соответствующих участков памяти. 3. Защита памяти. С помощью системных модулей и при использовании аппаратных средств процессоров создаются условия, не позволяющие выполняемому процессу записывать или считывать любые данные в память или из области памяти, выделенной другому процессу.
Дата добавления: 2014-10-10; просмотров: 481; Нарушение авторских прав Мы поможем в написании ваших работ! |