Читайте также:
|
|
Для выделения программе (задаче) необходимой памяти ОСу сообщается максимально необходимый объем. Этот объем выделяется неявно. Часть этого объема занимает программа, свободная часть остается для распределения по явным (динамическим) запросам, а также для загрузки и выполнения других программ по требованию текущей программы.
Все способы организации памяти подразделяются на два больших класса:
- непрерывные разделы;
- разрывное распределение памяти.
Существуют четыре основных способа непрерывной организации памяти:
- разделы с фиксированными границами;
- разделы с подвижными границами;
- подвижные разделы;
- своппинг.
К разрывным способам выделения памяти относятся три:
- сегментная организация памяти;
- страничная организация памяти;
- сегментно-страничная организация памяти.
Планировщик памяти
Специальная программа ОС " планировщик памяти " находит область памяти, достаточную для размещения данной задачи. В пределах выделенной памяти могут быть динамические запросы на память. Планировщик памяти строит список адресов и размеров свободной памяти, выделяет память для каждой задачи или по запросу памяти, освобождает память по завершению задачи.
Для распределения памяти необходимо хранить информацию о свободной памяти (где и сколько). Для размещения программы должна быть выделена память из свободной области, а по окончании эта память должна быть возвращена. Кроме того, в процессе работы программы может потребоваться дополнительная память. Выделение и возврат памяти осуществляются планировщиком памяти. Способ обслуживания памяти по запросам известен как динамическое распределение памяти. Под статическим распределением понимают память, зарезервированную в теле программы при ее написании для переменных и констант.
Из всех известных методов в настоящее время используют связывание свободной памяти в список. Блоки свободной памяти связываются в список, каждый элемент которого содержит размер свободного блока и указатель на следующий элемент списка. Часто элемент списка располагают в начале свободного блока (рис. 5.1).
Получение памяти происходит при обращении к планировщику с указанием требуемого количества. Он возвращает адрес выделенного участка. Возврат памяти в список также осуществляется планировщиком, но ему указывается не только возвращаемое количество, но и адрес возвращаемого блока памяти.
Дата добавления: 2015-10-02; просмотров: 74 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Защита памяти | | | Дисциплины выделения памяти |