Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция 13_2012_13 управ пам.doc
Скачиваний:
14
Добавлен:
15.11.2019
Размер:
218.62 Кб
Скачать

«У Т В Е Р Ж Д А Ю»

Заведующий кафедрой КС

Профессор Н.Е. Сапожников

« » 2012 г.

Л Е К Ц И Я № 13

по дисциплине Системное программное обеспечение

Тема: «Управление памятью в ОС. Основные понятия.»

Цель:

Ознакомить студентов с основными понятиями организации памяти,

принципами управления памятью в ОС.

План:

  1. Функции службы управления памятью.

  2. Стратегии распределения памяти.

Литература:

  1. А.В. Гордеев, А.Ю. Молчанов «Системное программное обеспечение»,

С.-П.: Питер 2001г. 736с.

  1. В.Г. Олифер, Н.А. Олифер «Сетевые операционные системы»,

С.-П.: Питер 2002г. 544с.

  1. Функции службы управления памятью.

Любая программа, введенная в систему, должна быть размещена в памяти и оформлена в виде процесса для ее выполнения.

Компью́терная па́мять (устройство хранения информации, запоминающее устройство) — часть вычислительной машины, физическое устройство или среда для хранения данных, используемых в вычислениях, в течение определённого времени. Память, как и центральный процессор, является неизменной частью компьютера с 1940-х. Память в вычислительных устройствах имеет иерархическую структуру и обычно предполагает использование нескольких запоминающих устройств, имеющих различные характеристики.

К настоящему времени создано множество устройств, предназначенных для хранения данных, основанных на использовании самых разных физических эффектов. Универсального решения не существует, у каждого имеются свои достоинства и свои недостатки, поэтому компьютерные системы обычно оснащаются несколькими видами систем хранения, основные свойства которых обуславливают их использование и назначение.

Запоминающие устройства можно классифицировать по следующим критериям:

  1. По типу запоминающих элементов. В этой классификации говоря о памяти пользуются термином «запоминающее устройство». Различают ЗУ полупроводниковые, магнитные, конденсаторные, оптоэлектронные, голографические, криогенные.

  2. По функциональному назначению. Здесь используют термин «память». Память различают двух видов: внешнюю (Storage – склад, хранилище) и внутреннюю (memory – память). К внутренней относятся:

    • Сверхоперативные (регистровые) ЗУ;

    • КЭШ-память;

    • Оперативные RAM (ЗУ с произвольной выборкой);

    • Постоянные ROM.

  3. По типу/способу организации обращения: с последовательным поиском, с прямым доступом, адресные, ассоциативные, стековые, магазинные.

  4. По характеру хранения: статические, динамические.

Память вычислительной машины представляет собой иерархию запоминающих устройств (ЗУ), отличающихся средним временем доступа к данным, объемом и стоимостью хранения одного бита (рис. 1). Фундаментом этой пирамиды запоминающих устройств служит внешняя память, как правило, представляемая жестким диском. Она имеет большой объем (десятки и сотни гигабайт), но скорость доступа к данным является невысокой. Время доступа к диску измеряется миллисекундами.

На следующем уровне располагается более быстродействующая (время доступа равно примерно 10-20 наносекундам) и менее объемная (от десятков мегабайт до нескольких гигабайт) оперативная память, реализуемая на относительно медленной динамической памяти DRAM.

Все перечисленные характеристики ЗУ быстро изменяются по мере совершенствования вычислительной аппаратуры. В данном случае важны не абсолютные значения времени доступа или объема памяти, а их соотношение для разных типов Запоминающих устройств.

Для хранения данных, к которым необходимо обеспечить быстрый доступ, используются компактные быстродействующие запоминающие устройства на основе статической памяти SRAM, объем которых составляет от нескольких десятков до нескольких сотен килобайт, а время доступа к данным обычно не превышает 8 нс.

И наконец, верхушку в этой пирамиде составляют внутренние регистры процессора, которые также могут быть использованы для промежуточного хранения данных. Общий объем регистров составляет несколько десятков байт, а время доступа определяется быстродействием процессора и равно в настоящее время примерно 2-3 нс.

Таким образом, можно констатировать печальную закономерность — чем больше объем устройства, тем менее быстродействующим оно является. Более того, стоимость хранения данных в расчете на один бит также увеличивается с ростом быстродействия устройств. Однако пользователю хотелось бы иметь и недорогую, и быструю память.

Рис. 1. Иерархия запоминающих устройств

Из всех видов внутренней (memory) памяти нас интересует в первую очередь оперативная, так как именно ее необходимо разделять между всеми процессами. Для сохранения информации в оперативной памяти требуется постоянное электропитание. Об оперативной памяти говорят «энергозависимая память». Название «оперативная» эта память получила потому, что она работает очень быстро, так что процессору не приходится ждать при чтении данных из памяти или записи в память. ОЗУ служит для хранения программ которыми занят процесор в данное время. В ОЗУ также хранятся данные этих программ. И данные и программа – это упорядоченные последовательности логических единиц и нулей. Каждый разряд памяти (ячейка, хранящая «1» или «0») называется – бит. Информация «разбивается» на блоки по 8 бит, называемые байтами. Каждый байт может хранить целое натуральное значение от 0 до 255 путем записи его в двоичной системе счисления. В одном байте может кодироваться три вида информации: код команды микропроцессора, число и символ. Вид информации нигде в байте не задается, а зависит от кода программы. Последовательность из двух байт называется – «машинное слово».

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

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

  • отслеживание свободной и занятой памяти,

  • выделение памяти процессам и освобождение памяти при завершении процессов,

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

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

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

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