Контрольная работа на тему Контрольная работа по предмету: Операционные системы
-
Оформление работы
-
Список литературы по ГОСТу
-
Соответствие методическим рекомендациям
-
И еще 16 требований ГОСТа,которые мы проверили
Введи почту и скачай архив со всеми файлами
Ссылку для скачивания пришлем
на указанный адрес электронной почты
Содержание:
Введение 3
1. Задание 4
2. Решение 4
2.1. Модель оперативной памяти 4
2.2 Алгоритм преобразования виртуального адреса в физический 5
3. Контрольные примеры 8
Заключение 11
Список литературы 12
Введение:
Процесс обращается к физической памяти по виртуальному адресу, который представляет собой пару чисел: селектор и смещение. Селектор однозначно определяет виртуальный сегмент, к которому принадлежит искомый адрес, то есть это номер сегмента. Номер сегмента находится в соответствующем сегментном регистре. Смещение определяет положение искомого адреса относительно начала сегмента. Смещение определяется по полю машинной команды.
Виртуамльная паммять (англ. Virtual memory) — технология управления памятью ЭВМ, разработанная для многозадачных операционных систем.
При использовании виртуальной памяти упрощается программирование, так как программисту больше не нужно учитывать ограниченность памяти, или согласовывать использование памяти с другими приложениями. Для программы выглядит доступным и непрерывным все допустимое адресное пространство, вне зависимости от наличия в ЭВМ соответствующего объема ОЗУ.
Цель работы – преобразовать виртуальный адрес в физический по исходным данным.
Заключение:
Пользовательская программа под Windows не имеет доступа к физическим адресам в памяти, только к виртуальным.
Если говорить об инструментах: компилятор никак не расставляет адреса, он создает объектный файл с пустыми полями, куда линкер уже пропишет фактические виртуальные адреса или дельты для переходов.
Традиционно (и, видимо, для совместимости со старыми версиями Windows) базовый виртуальных адрес для экзешников выбирается равным 0x400000, для динамических библиотек — вроде бы 0x1000000. Но загрузчик исполняемых файлов Windows вполне может загрузить как экзешник, так и библиотеку по совершенно по другому адресу. Для исправления фиксированных адресов в исполняемом файле/библиотеке, в них присутствует так называемая «таблица релокаций» (таблица перемещаемых элементов, relocation table), в которой указаны места в исполняемом файле, где прописаны абсолютные виртуальные адреса. Такие адреса увеличиваются на разницу между исходным базовым адресом (прописанным в файле) и фактическим базовым адресом (по которому данный файл пытается разместить загрузчик).
Фрагмент текста работы:
1. Задание
Модель преобразования виртуального адреса в физический адрес.
1. Исходные данные:
o организация виртуальной памяти – сегментно-страничная, принятая в процессоре Pentium,
o разрядность виртуального адреса – 32,
o количество сегментов не более16,
o размер физической страницы – 4 Кбайт,
o объем оперативной памяти – 256 физических страниц,
o количество физических страниц в таблице страниц процесса не более 32,
o виртуальный адрес вводится с клавиатуры.
2. Результаты работы модели должны включать:
• виртуальный адрес,
• физический адрес,
• содержимое таблицы сегментов и таблицы страниц.
2. Решение
2.1. Модель оперативной памяти
Чтобы описать алгоритм преобразования виртуального адреса в физический, сначала необходимо разобраться с параметрами памяти и создать ее модель. Сделать это можно на основе предоставленных исходных данных.
Объем оперативной памяти равен 256 физическим страницам, каждая из которых фиксированного размера в 4 килобайта. То есть общий объем предоставленной памяти равен 1 Мб. Он разбит на 16 сегментов, каждый из которых может содержать до 32 страниц. Для удобства сделаем модель, которая будет содержать сегменты различных размеров: 8 сегментов по 8 страниц, 4 сегмента по 16 страниц, и 4 по 32 страницы.
Так как разрядность виртуального адреса – 32 бита, то каждая страница может содержать только 1024 адреса. Каждый адрес хранит в себе номер сегмента, номер виртуальной страницы и смещение. Первые десять бит отвечают за сегменты, следующие десять – за страницы, и оставшиеся двенадцать бит определяют смещение внутри страницы. Нумерация сегментов, страниц и смещения начинается всегда с нуля.
Таким образом, модель памяти можно представить следующей схемой.