logo search
Bilety-otvety_Informatika_Ekzamen

Управление памятью.

Память – это 2-х мерный массив для хранения информации. Она заполнятся двоичным кодом.

Оперативная память:

  1. Используется для хранения данных.

  2. Управляется шиной адреса (процессор должен знать, где взять и куда положить).

  3. Хранится только при подаче напряжения питания.

Сегодня перед ОС поставлены задачи, связанные с распределением имеющейся памяти между несколькими одновременно выполняющимися программами.

Функции ОС по управлению памятью:

  1. Отслеживание свободных и занятых ячеек в памяти.

  2. Выделение памяти для процессов.

  3. Освобождение памяти по завершении процессов.

  4. Вытеснение процессов из оперативной памяти на диск (полное или частичное), когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место.

  5. Настройка адресов программа на конкретную область физической памяти.

Помимо выделения памяти для процессов ОС занимается динамическим распределением памяти, то есть выполняет запросы приложениям на выделение им дополнительной памяти во время выполнения. После того как приложение перестает нуждаться в дополнительной памяти, оно может возвратить ее системе. Выделение памяти случайной длины в случайные моменты времени из общего пула памяти приводит к фрагментации и, вследствие этого, к неэффективному ее использованию. Дефрагментация памяти тоже является функцией (ОС) операционной системы.

Задачи ОС при реализации динамического разделения памяти:

  1. Ведение таблицы свободных и занятых областей;

  2. При поступлении новой задачи: Анализ запроса→просмотр таблицы свободных областей→поиск раздела, размер которого достаточен для размещения новой задачи.

  3. Загрузка задачи в выделенный ей раздел

  4. После завершения задачи корректировка таблицы свободных и занятых областей.

Во время работы ОС часто создает новые служебные информационные структуры: описатели процессов, буферы, используемые процессами для обмена данными и др. - все эти системные объекты требуют памяти. В некоторых ОС заранее (во время установки) резервируется некоторый фиксированный объем памяти для системных нужд. В других же ОС память для системных целей выделяется динамически, т.е. при создании объектов, таблиц подсистемы ОС обращаются к подсистеме управления памятью с запросами.

Защита памяти — еще одна важная задача ОС, которая не позволяет выполняемому процессу записывать или читать данные из памяти, предназначенные другому процессу.

Для идентификации переменных и команд используются символьные имена (метки), виртуальные адреса и физические адреса