Механизмы реализации виртуальной памяти.

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

Одно из простых решений - снабжение ЦП двумя спец. рег.: базовым и предельным. При начале работы программы в базовый регистр помещается адрес ее начала, а в предельный - размер программы вместе с данными. При выборке ком. из памяти аппаратура проверяет счетчик команд (PC), и если он меньше, чем пред. рег., то доб. к нему значение базового регистра и сумму передает в адр. шину.

Базовый регистр позволяет программе ссылаться на любую часть памяти, следующую за хранящейся в ней адресом. Предельный регистр запрещает программе обращение к памяти за границы программы. С пом. этой схемы реш. обе задачи защиты и перем. программ. В рез. проверки и преобр. адрес, сформированный программой и называемый виртуальным, переводится в адрес, используемый памятью и называемый физическим. Устройство, которое выполняет проверку и преобразование, называется диспетчером памяти - MMU (Memory Management Unit). Оно расположено в ЦП.

Более сложный диспетчер памяти содержит две пары базовых и предельных регистров. Одна пара - для текста программы, другая - для данных. Появляется возможность делить одну и ту же программу между несколькими пользователями и при этом хранить в памяти только одну копию программы.

Из-за различий в кол. памяти, требующейся для разных программ, их трудно компактно разместить в ОЗУ. Поэтому разработаны системы со страничной организацией памяти, когда программа разбивается на блоки фиксированного размера - страницы (1 страница = 4 Кб). В этом случае обращение программы к ячейке памяти происходит по ВП, адрес которой состоит из номера страницы и смещения отн. ее начала. Страницы одной и той же прог. м/б разбросаны по всему ОЗУ. Система разбивки на страницы обесп. дин. соотв. м/у вирт. адресом, исп. программой, и реальным (физ.) адресом ОЗУ. Если программа обращается к странице, отсутствующей в ОЗУ, то диспетчер памяти обнаруживает это и загружает недост. страницу.

Основные понятия и концепция организации ввода-вывода в ОС.

По фун. назнач. внешние устройства, подключаемые к компьютеру делятся на следующие категории:

Устр. внешней памяти: устройства памяти с произв. доступом Direct Access Storage Device, устр. памяти с послед. доступом. Сетевые и коммуник. устр.. Устр. алф.-цифр. ввода/вывода. Устр. звукового вв./выв. Устр. графического ввода/вывода. Позиционные устр. ввода/вывода. Датчики и исполнительные устр. упр-щих систем. Нередко в эту классификацию вводят ещё один уровень. Устр. ввода делят на пассивные и акт. По отн. ЦП к выполняющейся на нем программе внешние устр. представляют собой набор спец. ячеек памяти или регистров. Регистры устройств подкл. к шинам адреса и данных выч. системы. Внешнее устр. имеет адресный дешифратор. Если выставленный по шине адрес соотв. адресу одного из регистров устройства дешифратор подключает соотв. регистр к шине данных. Т.о., регистры устройства получают адреса в физ. адресном пространстве микропроцессора. Сущ. два осн. подхода к адресации этих режимов: отдельные адресные пространства ввода/вывода; отобр. в память ввод/вывод, когда память и регистры вн. устройства размещаются в одном адресном пространстве. В первом случае для обращения к регистрам исп. команды IN и OUT. Во втором случае могут использоваться любые команды, работающие с операндами в памяти. Используют 2 осн. подхода к выделению адресов: фикс. адресация, когда одно и тоже устройство всегда имеет один и тот же адрес реестра; географическая, когда каждому разъёму периферийной шины соответствует свой диапазон адресов. При геогр. адресации перемещ. платы устр. в др. разъём прив. к переконф. ОС. Однако, этот способ искл. возможность конфликта адресов между устр. разных производ. или м/у двумя однотипными устр. Большинство периферийных шин современных компьютеров (PSI) организуют географическую адресацию. Многие операционные системы требуют, чтобы устройства имели конфигурационные регистры через обращение, к которым операционная система может выдать информацию об устройстве: фирму изготовителя, модель, версию, количество регистров.Наличие регистров позволяет операционной системе автоматически определять установленное оборудование и подгружать соответствующие управляющие модули.



Наши рекомендации