24520

Функции ОС по управлению памятью. Типы адресов. Преобразование адресов

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-08-09

40.26 KB

30 чел.

Вопрос 25. Функции ОС по управлению памятью. Типы адресов. Преобразование адресов.

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

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

Сама ОС обычно располагается в самых младших или старших адресах памяти. Функциями ОС по управлению памятью являются:

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

- выделение и освобождение памяти для процессов;

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

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

§5.2 Типы адресов.

Программист при написании программы в общем случае обращается к памяти с помощью неупорядоченных символьных имен (отдельные переменные, например элементы массива, могут иметь частичную упорядоченность). Имена переменных и входных точек программных модулей составляют неупорядоченное пространство символьных имен.

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

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

Символьные имена присваивает программист при написании программы на алгоритмическом языке или ассемблере.

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

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

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

Рис. 5.1. Типы адресов

Совокупность виртуальных адресов процесса называется виртуальным адресным пространством. Каждый процесс имеет собственное виртуальное адресное пространство (рис. 5.2). Диапазон возможных адресов виртуального пространства у всех процессов одинаков. Максимальный размер виртуального адресного пространства ограничивается разрядностью адреса, присущей данной архитектуре компьютера, и, как правило, не совпадает с объемом физической памяти, имеющимся в компьютере.

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

Переход от виртуальных адресов к физическим может осуществляться двумя способами.

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

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

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

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

Рис. 5.2. Виртуальные адресные пространства нескольких программ


 

А также другие работы, которые могут Вас заинтересовать

61464. Информационные технологии на уроках ИЗО 223.73 KB
  Цель моей педагогической деятельности в течение последних лет выявить возможности применения компьютера на уроках ИЗО. В результате я определила формы применения компьютера на уроках ИЗО...
61465. Быстрый эффект Instagram в Фотошоп 238.16 KB
  Откройте изображение, к которому вы хотите применить эффект, далее, идём Слой – Новый Корректирующий слой – Уровни (Layer>New Adjustment Layer>Levels). В панели RGB, выберите Канал Синий...
61466. Путешествие в страну «Имя числительное» 157.7 KB
  Станция Орфографическая. Станция Кинематографическая. Станция Творческая включить музыку –Минус На фоне музыки читается стихотворение о Гжели: О. Станция Финальная О.
61467. Додавання та віднімання чисел частинами. Задачі на різницеве порівняння 31.6 KB
  Лялька Буратіно тестові завдання картки для роботи в групах іграшковий мікрофон зразки банкнот різних країн світу шоколадні монетки. Правильно це Буратіно. Відправляючись в країну дурнів Буратіно потрапляє в казковий математичний ліс.
61468. Літературні казки. І.Я.Франко «Фарбований лис»; узагальнення та систематизація знань з тем «Натуральні числа» та «Геометричні фігури». Інтегрований урок з математики і української літератури 69.26 KB
  Учитель літератури: Перед вами віхи життя і творчості І. Учитель математики: Щоб заповнити пропуски таблиці вам доведеться здійснити математичнолітературну подорож у яку поведуть вас ваші капітани яких ми оберемо так.
61469. Интерактивный урок по физике: Излучение и поглощение света атомами. Виды спектров, спектральный анализ 23.73 KB
  Цели урока: образовательные: сформировать представление о том как происходит излучение света познакомить с различными видами источников света объяснить природу линейчатого полосатого и сплошного спектров суть спектрального анализа.