Характеристика основных типов адресов. Методы распределения памяти без использования дискового пространства. Разделение информации фиксированными разделами и ветвями переменной величины. Особенность процедуры сжатия диска. Понятие виртуальных данных.
Аннотация к работе
Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Функциями ОС по управлению памятью являются: отслеживание свободной и занятой памяти, выделение памяти процессам и освобождение памяти при завершении процессов, вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти. Для идентификации переменных и команд используются символьные имена (метки), виртуальные адреса и физические адреса (рисунок 1). Виртуальные адреса вырабатывает транслятор, переводящий программу на машинный язык. Так как во время трансляции в общем случае не известно, в какое место оперативной памяти будет загружена программа, то транслятор присваивает переменным и командам виртуальные (условные) адреса, обычно считая по умолчанию, что программа будет размещена, начиная с нулевого адреса.Все методы управления памятью могут быть разделены на два класса: методы, которые используют перемещение процессов между оперативной памятью и диском, и методы, которые не делают этого (рисунок 2.8).Это может быть выполнено вручную оператором во время старта системы или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь (рисунок 3), либо в очередь к некоторому разделу. Подсистема управления памятью в этом случае выполняет следующие задачи: · сравнивая размер программы, поступившей на выполнение, и свободных разделов, выбирает подходящий раздел, · осуществляет загрузку программы и настройку адресов.Каждой вновь поступающей задаче выделяется необходимая ей память. После завершения задачи память освобождается, и на это место может быть загружена другая задача. Так в момент t0 в памяти находится только ОС, а к моменту t1 память разделена между 5 задачами, причем задача П4, завершаясь, покидает память. На освободившееся после задачи П4 место загружается задача П6, поступившая в момент t3. Задачами операционной системы при реализации данного метода управления памятью является: · ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти, · при поступлении новой задачи - анализ запроса, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения поступившей задачи, · загрузка задачи в выделенный ей раздел и корректировка таблиц свободных и занятых областей, · после завершения задачи корректировка таблиц свободных и занятых областей.Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших либо в сторону младших адресов, так, чтобы вся свободная память образовывала единую свободную область (рисунок 5). В дополнение к функциям, которые выполняет ОС при распределении памяти переменными разделами, в данном случае она должна еще время от времени копировать содержимое разделов из одного места памяти в другое, корректируя таблицы свободных и занятых областей. Сжатие может выполняться либо при каждом завершении задачи, либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера.Уже достаточно давно пользователи столкнулись с проблемой размещения в памяти программ, размер которых превышал имеющуюся в наличии свободную память. Все оверлеи хранились на диске и перемещались между памятью и диском средствами операционной системы. Однако разбиение программы на части и планирование их загрузки в оперативную память должен был осуществлять программист. Пользователь пишет программы так, как будто в его распоряжении имеется однородная оперативная память большого объема, но в действительности все данные, используемые программой, хранятся на одном или нескольких разнородных запоминающих устройствах, обычно на дисках, и при необходимости частями отображаются в реальную память. Таким образом, виртуальная память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер которых превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие задачи: · размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;При загрузке операционная система создает для каждого процесса информационную структуру - таблицу страниц, в которой устанавливается соответствие между номерами виртуальных и физических страниц для страниц, загруженных в оперативную память, или делается отметка о том, что виртуальная страница выгружена на диск.
План
Оглавление
1. Управление памятью
2. Методы распределения памяти без использования дискового пространства
3. Распределение памяти фиксированными разделами
4. Распределение памяти разделами переменной величины