Операционные системы 09.02.03 2 курс. Автономной некоммерческой образовательной организации профессионального образования
![]()
|
Ресурсы, виды ресурсов. Управление памятью. Виртуальная память.Все оборудование – процессор, принтер, память и т.д. – ресурс. Функции ОС по отслеживанию памяти: отслеживание свободной и занятой памяти выделение памяти процессам и освобождение по окончанию процесса вытеснение процессов на диск, когда оперативной памяти недостаточно для всех процессов возвращение оперативной памяти настройка адресов программы на конкретные области физической памяти Символьное имя (1 тип адреса) – как только назвали переменную, присвоили ей символьное имя. После того как программа обработала транслятор, то появляется виртуальный адрес (2 тип адреса). Физический адрес (3 тип адреса) соответствует непосредственным адресам, где расположена программа. Переход от виртуальных адресов к физическим осуществляется: 1 способ: перемещающий загрузчик, который на основании имеющих у него исходных данных в начальный физический адрес, в которую предстоит загрузить программу, и информация, предоставляемая транслятором о адресно-зависимых операндах программы, выполняет загрузку, совмещая её с заменой виртуальных адресов физической памяти. 2 способ: программа загружается в неизменном виде в виртуальных адресах. Во время выполнения программы при каждом обращении к оперативной памяти выполняется преобразования виртуального адреса в физический. Методы распределения памяти2 класса: без использования внешней памяти с использованием внешней памяти Подробно: без использования внешней памяти фиксированный раздел: Вся память делится на блоки фиксированной длины. Система управления памяти решает следующие задачи: сравнивает размер программы, поступившей на выполнение, и свободные разделы, и выбирает раздел осуществление загрузки и настройку адресов динамический раздел: Изначально вся память свободна. Поступает задача и выделяется память. Задачи ОС: ведение таблиц свободных и занятых областей, т. е. начало и размер при поступлении новой задачи анализ запроса, просмотр таблицы свободных областей и выбор свободной области загрузка задач и корректировка свободных областей освобождение области и корректировка таблиц свободной памяти перемещение: Время от времени ОС должна копировать содержимое одних разделов в другие, корректируя таблицы свободных областей. Момент сжатия памяти (варианты): по завершению каждой задачи время от времени Виртуальным называется ресурс, который пользователю и пользовательским ресурсам предоставляется свойствами, которыми он в действительности не обладает. Виртуальная память – это совокупность программно-аппаратных средств, позволяющие пользователю писать программы, размер которых превосходит имеющую оперативную память. Решает следующие задачи: Размещает данные в запоминающихся устройствах разного типа Перемещает по мере необходимости данные между запоминающимися устройствами разного типа Преобразование виртуальных адресов физической памяти Лекция №3Страничное распределение. Виртуальное адресное пространство делится на части, имеющие одинаковый и фиксированный размер у процессора. Данный элемент называется виртуальным страничным элементом. Вся оперативная память также делится на части такого же размера. 512 байт – размер страницы (кратное степени 2) (размер сетки 512 байт). При загрузке процесса часть виртуальных страниц загружается в АЗУ, остальные – на диске. Смежные виртуальные страницы необязательно располагаются в смежных виртуальных страницах. Т.о., при загрузке система создает для каждого процесса информационную структуру, которая называется таблицей страниц. В таблице страниц указывается соответствие между номерами тех физических страниц, которые в АЗУ, или делается отметка о том, что виртуальная страница выгружена на диск. В таблице страниц указываются следующие признаки: Признак модификации страниц (для того чтобы узнать, где находится страница – в АЗУ или на диске) Признак невыгружаемости (какая страница не загружена) Признак обращения к страницам Время последнего обращения При активизации процесса в один из регистров процесса загружается адрес страниц. При каждом обращении к памяти происходит чтение из таблицы страниц информации о виртуальной странице, к которой было обращение. Если данные виртуальной страницы в АЗУ, то происходит преобразование виртуального адреса в физический. Если нужная виртуальная страница выгружена на диск, происходит страничное прерывание. Соответственно, выполняющийся процесс переводится в состояние ожидания и активизируется новый процесс. Программа обработки страничного прерывания находит на диске и пытается загрузить в АЗУ. Загрузить её в АЗУ сразу может быть невозможным. Если в памяти есть свободные страницы, загрузка производится немедленно. Если же нет, то система решает, какую страницу в АЗУ надо выгрузить из АЗУ и поместить на диск. Может быть выгружена больше всего неиспользуемая, к которой меньше всего было обращений по времени. В некоторых системах используется понятие «рабочий набор страниц» – список наиболее часто употребляемых страниц, которые не выгружаются из АЗУ. После того, как страница выбрана, которая должна быть выгружена, используется признак модификации. Если она модифицируема, то система изменяет содержимое во внешней памяти. Если нет, страница может быть вычеркнута. Виртуальный адрес состоит из: номера виртуальной страницы смещения виртуальной страницы Нашли номер, умножили на 512, получили смещение. При каждом обращении к виртуальной памяти аппаратными средствами выполняются следующие действия: на основании начального адреса таблицы страниц номер виртуальной страницы и длины записи в таблице определяется адрес нужной записи в таблице страниц. Из записи находим номер физической страницы и к номеру добавляем смещение. Т.о. получили реальный физический адрес. Сегментное распределение Виртуальное адресное пространство делится на сегменты, объем которых определяется программистом с учетом смыслового значения содержащейся в ней информации. Кодовый сегмент желательно держать в памяти. Сегмент данных можно на диске. Адрес вычисляется также: сложение начального физического сегмента и смещения – реальный физический адрес. Сегментно-страничное распределение Виртуальное адресное пространство делится на сегменты, которые делятся на страницы. Для каждого сегмента создается своя таблица страниц. Для каждого процесса создается таблица сегмента, в которой указываются адреса таблиц страниц для всех сегментов процесса. Здесь 3-хуровневая адресация. |