24520

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

Доклад

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

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

Русский

2013-08-09

40.26 KB

38 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

18082. Работа со строками в Java 311.5 KB
  Лабораторная работа 5 Работа со строками в Java. Цель работы Целью работы является приобретение навыков программирования с использованием строк языка Java. Состав рабочего места. Оборудование: IBMсовместимый персональный компьютер ПК. Программное...
18083. Программирование апплетов в Java 364 KB
  Лабораторная работа 303 Программирование апплетов в Java 1. Цель работы Целью работы является приобретение навыков программирования апплетов Java с использованием средств AWT. 2. Состав рабочего места 2.1. Оборудование: IBMсовместимый персональный компьютер ПК. ...
18084. Использование системы Swing в Java 493 KB
  Лабораторная работа 7 Использование системы Swing в Java 1. Цель работы Целью работы является приобретение навыков программирования графических приложений Java с использованием элементов управления AWT. 2. Состав рабочего места 2.1. Оборудование: IBMсовместимый п
18085. Программирование ввода-вывода в Java 276.5 KB
  Лабораторная работа 8 Программирование вводавывода в Java 1. Цель работы Целью работы является приобретение навыков использования потоков вводавывода в программах на языке Java. 2. Состав рабочего места 2.1. Оборудование: IBMсовместимый персональный компьютер...
18086. Использование потоков в Java 104.5 KB
  Лабораторная работа 903 Использование потоков в Java 1. Цель работы Целью работы является приобретение навыков работы с потоками при программировании на языке Java. 2. Состав рабочего места 2.1. Оборудование: IBMсовместимый персональный компьютер ПК. 2.2. Про
18087. Цивільний захист, конспект лекцій 699 KB
  Навчальна дисципліна «Цивільний захист» є нормативною дисципліною, що включається в навчальні плани як самостійна дисципліна обов’язкового вибору. Вона зберігає свою самостійність за будь - якої організаційної структури вищого навчального закладу.
18088. Технология программирования на языке Java. Работа с массивами в Java 561.5 KB
  Лабораторная работа 4 Технология программирования на языке Java. Работа с массивами в Java 1. Цель работы Целью работы является приобретение навыков программирования с использованием операторов управления и массивов в языке программирования Java. 2. Состав рабоч
18089. ОСНОВИ ЗАКОНОДАВСТВА УКРАЇНИ ПРО ОХОРОНУ ПРАЦІ 79.5 KB
  ОСНОВИ ЗАКОНОДАВСТВА УКРАЇНИ ПРО ОХОРОНУ ПРАЦІ Тема 1.1. ЗМІСТ ЦІЛІ І ЗАДАЧІ ОХОРОНИ ПРАЦІ Навчальні питання лекції Місце і роль охорони праці в трудовій діяльності нашого суспільства. Законодавчі та нормативноправові акти з охорони праці. Основні п
18090. ПРАВОВЕ РЕГУЛЮВАННЯ ОХОРОНИ ПРАЦІ 70 KB
  Тема 1.2. ПРАВОВЕ РЕГУЛЮВАННЯ ОХОРОНИ ПРАЦІ Практичне заняття 2 години. Навчальні питання занять: Гарантії прав громадян з охорони праці. Нормування праці і відпочинку. Трудова дисципліна. Література: Законодавство України про охорону праці // Зб...