- •Лекция 1. Программное обеспечение эвм. Основные термины и определения. Состав программного обеспечения. Операционные системы. Управляющие и обрабатывающие программы
- •Утилиты
- •Лекция 2. Назначение, основные функции ос эвм. Основные принципы построения ос. Типы операционных систем
- •Классификация ос
- •Особенности алгоритмов управления ресурсами
- •Поддержка многозадачности
- •Поддержка многопользовательского режима
- •Вытесняющая и невытесняющая многозадачность
- •Многопроцессорная обработка
- •Особенности аппаратных платформ
- •Особенности областей использования
- •Особенности методов построения
- •Лекция 3. Концептуальные основы ос. Процесс. Подсистема управления процессами. Механизм диспетчирования
- •Механизм диспетчирования
- •Лекция 4. Концептуальные основы ос. Ресурс. Дисциплины распределения ресурсов, используемые в ос. Концепция прерывания
- •Концепция прерываний
- •Ядро Операционной Системы
- •Лекция 5. Средства, механизмы, подсистемы ос. Подсистема управления вводом-выводом. Подсистема управления данными
- •Подсистемы
- •Лекция 6. Механизмы управления процессами. Средства взаимодействия параллельных процессов. Задачи синхронизации. Семафорная техника синхронизации и упорядочения процессов
- •Механизмы синхронизации в операционной системе Windows
- •Лекция 7. Организация оперативной памяти. Структура, основные понятия и принципы виртуализации памяти. Основы логической организации виртуальной оперативной памяти Функции ос по управлению памятью
- •Статическая настройка адресов
- •Динамическая настройка адресов
- •Типы виртуальной памяти
- •Лекция 8. Организация виртуальной оперативной памяти. Задачи управления виртуальной памятью: размещение, перемещение, преобразование адресов, замещение
- •Страничное распределение
- •Сегментное распределение
- •Сегментно-страничное распределение
- •Разделяемые сегменты памяти
- •Литература
- •Содержание
Лекция 7. Организация оперативной памяти. Структура, основные понятия и принципы виртуализации памяти. Основы логической организации виртуальной оперативной памяти Функции ос по управлению памятью
Под памятью (memory) здесь подразумевается оперативная память компьютера. В отличие от памяти жесткого диска, которую называют внешней памятью (storage), оперативной памяти для сохранения информации требуется постоянное электропитание.
Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Особая роль памяти объясняется тем, что процессор может выполнять инструкции протравы только в том случае, если они находятся в памяти. Память распределяется как между модулями прикладных программ, так и между модулями самой операционной системы.
В ранних ОС управление памятью сводилось просто к загрузке программы и ее данных из некоторого внешнего накопителя (перфоленты, магнитной ленты или магнитного диска) в память. С появлением мультипрограммирования перед ОС были поставлены новые задачи, связанные с распределением имеющейся памяти между несколькими одновременно выполняющимися программами.
Функциями ОС по управлению памятью в мультипрограммной системе являются:
отслеживание свободной и занятой памяти;
выделение памяти процессам и освобождение памяти по завершении процессов;
вытеснение кодов и данных процессов из оперативной памяти на диск (полное или частичное), когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место;
настройка адресов программы на конкретную область физической памяти.
Помимо первоначального выделения памяти процессам при их создании ОС должна также заниматься динамическим распределением памяти, то есть выполнять запросы приложений на выделение им дополнительной памяти во время выполнения. После того как приложение перестает нуждаться в дополнительной памяти, оно может возвратить ее системе. Выделение памяти случайной длины в случайные моменты времени из общего пула памяти приводит к фрагментации и, вследствие этого, к неэффективному ее использованию. Дефрагментация памяти тоже является функцией операционной системы.
Во время работы операционной системы ей часто приходится создавать новые служебные информационные структуры, такие как описатели процессов и потоков, различные таблицы распределения ресурсов, буферы, используемые процессами для обмена данными, синхронизирующие объекты и т. п. Все эти системные объекты требуют памяти. В некоторых ОС заранее (во время установки) резервируется некоторый фиксированный объем памяти для системных нужд.
В других же ОС используется более гибкий подход, при котором память для системных целей выделяется динамически. В таком случае разные подсистемы ОС при создании своих таблиц, объектов, структур и т. п. обращаются к подсистеме управления памятью с запросами.
Защита памяти — это еще одна важная задача операционной системы, которая состоит в том, чтобы не позволить выполняемому процессу записывать или читать данные из памяти, назначенной другому процессу. Эта функция, как правило, реализуется программными модулями ОС в тесном взаимодействии с аппаратными средствами.
Чтобы полностью осветить вопросы, связанные с иерархической структурой памяти, рассмотрим только взаимоотношения между первичной, непосредственно адресуемой памятью, и вспомогательными устройствами, предназначенными для хранения информации, а также познакомимся с основными понятиями.
Под первичной или основной памятью подразумевается набор адресуемых ячеек, доступных программам, написанным на машинном языке. В основной памяти находятся программы и данные, доступ к которым осуществляется с помощью механизма формирования адресов. Элементарные схемы взаимодействия процессора с памятью изображены на рис.5.
M
M
M
P
M’
P
M’
CM
M”
M’””
M
а б в
Рис. 5. Структуры микропрограммной памяти:
а - процессор (Р) и основная память (М);
б - процессор, основная память и кэш-память (М’);
в - процессор, основная память, кэш-память и микропроцессор с собственной микропрограммной памятью (М”), микропамятью (СМ) для хранения операндов микрокоманд и собственной кэш-памятью (М”’)
Промежуточная память - кэш-память - невелика по объему, но значительно быстрее основной. Такая память тоже доступна процессору, но необязательно доступна программам системы. Ведь если бы кэш-память была доступна всем программам, она ничем бы не отличалась от основной!
Малая память обычно называется кэш-памятью или скрытым буфером, если она полностью скрыта. При этом адресация ячеек кэш-памяти и управление перемещениями информации между ней и основной памятью полностью возлагаются на логику системы.
Основная память, т.е. память, к которой может быть организован прямой доступ центрального процессора за данными или командами, часто является критическим и ограничивающим ресурсом. Далее мы рассмотрим основные программные методы и аппаратуру для распределения пространства основной памяти и ее использования.
