Билеты (Graur) (Экзамен), страница 8
Описание файла
Файл "Билеты (Graur)" внутри архива находится в следующих папках: Экзамен, Билеты, Билеты (ответы). PDF-файл из архива "Экзамен", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 8 страницы из PDF
Этот аппарат позволяет активизировать вложенные программы.В каждый момент времени программа может использовать множестворегистров общего назначения. Каждое регистровое окно состоит из трех частей:двух номеров регистров для приема и передачи информации. Средняя часть – длялокализации подпрограммы.Обращение к подпрограмме: параметры, которые должны быть переданы,размещаются в третьей части окна. Осуществляется смена указателя на текущееокно.Микропроцессоры SPARK используют такую архитектуру.Два регистра: указатель текущего окна и указатель сохраненного окна.Возникает необходимость сохранения регистровых окон в память.
Регистр SWPуказывает на сохраненное окно.Схема работы:При обращении к функции: программно увеличиваем указатель на текущееокно на 1 по модулю N. Проверяется содержимое этого указателя и указателя насохраненное окно. Если они совпадают, то происходит прерывание. Если жесовпадения нет, то мы работаем с новым окном.При выходе из функции: уменьшаем указатель текущего окна, сравниваем суказателем сохраненного окна.5.2.
Модель организации регистровой памяти в Intel Itanium.Эта модель более совершенная. Регистры, доступные для программы,представляют собой множество из 128 регистров. Первые 32 из них – статическиерегистры (общие для всех случаев, они никак не меняются). После статическихрегистров располагаются динамические регистры, которые располагаются с 32регистра до 127 (всего 96 регистров). Есть возможность при обращении кподпрограммам изменять регистровые окна.Отличие от предыдущей модели: размер окна при переключении окон можетварьироваться от 96 до 1 регистра.БИЛЕТ 14Виртуальная оперативная памятьАппарат виртуальной памятиРассмотрим некоторые проблемы организации адресации в программах/процессахи связанные с ними проблемы использования ОЗУ в целом.В общем случае схема получения исполняемого кода программы следующая:Исходный текстпрограммы на ЯПТрансляторОбъектный модульИсполняемыймодульРедактор внешнихсвязей, библиотекаобъектных модулейДанная схема достаточно очевидна, так как она связана с привычным для наспроцессами трансляции.
Остановимся подробней на исполняемом модуле. Данныймодуль представляет собой готовую к выполнению программу в машинных кодах.При этом внутри программы к моменту образования исполняемого модуляиспользуется модель организации адресного пространства программы (эта модель,в общем случае не связана с теми ресурсами ОЗУ, которые предполагаетсяиспользовать позднее).
Для простоты будем считать, что данная модельпредставляет собой непрерывный фрагмент адресного пространства в пределахкоторого размещены данные и команды программы. Будем называть подобнуюорганизацию адресации в программе программной адресацией илилогической/виртуальной адресацией.Итак, повторяем, на уровне исполняемого кода имеется программа в машинныхкодах, использующая адреса данных и команд. Эти адреса в общем случае неявляются адресами конкретных физических ячеек памяти, в которых размещеныэти данные, более того, в последствии мы увидим, что виртуальным (илипрограммным) адресам могут ставиться в соответствие произвольные физическиеадреса памяти. То есть при реальном исполнении программы далеко не всегдавиртуальная адресация, используемая в программе совпадает с физическойадресацией, используемой ЦП при выполнении данной программы.Элементарное программно-аппаратное решение – использование возможностибазирования адресов.
Суть его состоит в следующем: пусть имеется исполняемыйпрограммный модуль. Виртуальное адресное пространство этого модуля лежит вдиапазоне [0, Aкон]. В ЭВМ выделяется специальный регистр базирования Rбаз.,который содержит физический адрес начала области памяти, в которой будетразмещен код данного исполняемого модуля. При этом исполняемые адреса,используемые в модуле будут автоматически преобразовываться в адресафизического размещения данных путем их сложения с регистром Rбаз.. Такимобразом код используемого модуля может перемещаться по пространствуфизического ОЗУ. Эта схема является элементарным решением организациипростейшего аппарата виртуальной памяти.
То есть аппарата, позволяющегоавтоматически преобразовывать виртуальные адреса программы в адресафизической памяти.Рассмотрим более сложные механизмы организации виртуальной памяти.ОССвободныефрагментыОЗУПрограммаi0ПрограммаjПрограммаkA испПусть имеется вычислительная система, функционирующая в мультипрограммномрежиме. То есть одновременно в системе обрабатываются несколькопрограмм/процессов. Один из них занимает ресурсы ЦП. Другие ждут завершенияопераций обмена, третьи – готовы к исполнению и ожидают предоставленияресурсов ЦП.
При этом происходит завершение выполнявшихся процессов и вводновых, это приводит к возникновению проблемы фрагментации ОЗУ. Суть ееследующая. При размещении новых программ/процессов в ОЗУ ЭВМ (для ихмультипрограммной обработки) образуются свободные фрагменты ОЗУ междупрограммами/процессами. Суммарный объем свободных фрагментов может бытьдостаточно большим, но, в то же время, размер самого большого свободногофрагмента недостаточно для размещения в нем новой программы/процесса.
В этойситуации возможна деградация системы – в системе имеются незанятые ресурсыОЗУ, но они не могут быть использованы. Путь решения этой проблемы –использование более развитых механизмов организации ОЗУ и виртуальнойпамяти, позволяющие отображать виртуальное адресное пространствопрограммы/процесса не в одну непрерывную область физической памяти, а внекоторую совокупность областей.Организация страничной памятиСтраничная организация памяти предполагает разделение всего пространства ОЗУна блоки одинакового размера – страницы. Обычно размер страницы равен 2k. Вэтом случае адрес, используемый в данной ЭВМ, будет иметь следующуюструктуру:02k-12k2k+10 я страница1я страница...kk-1Номер страницы0Номер в страницеБИЛЕТ 15Пример организации страничной виртуальной памятиВзять 14 билет.Модельная (упрощенная) схема организации функционирования страничнойпамяти ЭВМ следующая: Пусть одна система команд ЭВМ позволяет адресовать ииспользовать m страниц размером 2k каждая.
То есть виртуальное адресноепространство программы/процесса может использовать для адресации команд иданных до m страниц.Физическое адресное пространство, в общем случае может иметь произвольноечисло физических страниц (их может быть больше m, а может быть и меньше).Соответственно структура исполнительного физического адреса будет отличатьсяот структуры исполнительного виртуального адреса за счет размера поля ”номерстраницы”.В виртуальном адресе размер поля определяется максимальным числомвиртуальных страниц – m.В физическом адресе – максимально возможным количеством физических страниц,которые могут быть подключены к данной ЭВМ (это также фиксированнаяаппаратная характеристика ЭВМ).В ЦП ЭВМ имеется аппаратная таблица страниц (иногда таблица приписки)следующей структуры:01230123...i...m-1i m1Таблица содержит m строк. Содержимое таблицы определяет соответствиевиртуальной памяти физической для выполняющейся в данный моментпрограммы/процесса.
Соответствие определяется следующим образом: i-я строкатаблицы соответствует i-й виртуальной странице.Содержимое строки αi определяет, чему соответствует i-я виртуальная страницапрограммы/процесса. Если αi ≥ 0, то это означает, что αi есть номер физическойстраницы, которая соответствует виртуальной странице программы/процесса.
Еслиαi= -1, то это означает, что для i-й виртуальной страницы нет соответствияфизической странице ОЗУ (обработка этой ситуации ниже).Итак, рассмотрим последовательность действий при использовании аппаратавиртуальной страничной памяти.1. При выполнении очередной команды схемы управления ЦП вычисляютнекоторый адрес операнда (операндов) Aисп. Это виртуальныйисполнительный адрес.2.
Из Aисп. Выделяются значимые поля номер страницы (номер виртуальнойстраницы). По этому значению происходит индексация и доступ ксоответствующей строке таблицы страниц.3. Если значение строки ≥ 0, то происходит замена содержимого поля номерстраницы на соответствующее значение строки таблицы, таким образом,получается физический адрес. И далее ЦП осуществляет работу сфизическим адресом.4. Если значение строки таблицы равно –1 это означает, что полученныйвиртуальный адрес не размещен в ОЗУ.
Причины такой ситуации? Их две.Первая – данная виртуальная страница отсутствует в перечне станиц,доступных для программы/процесса, то есть имеет место попыткаобращения в “ чужую”, не легитимную память. Вторая ситуация, когдаоперационная система в целях оптимизации использования ОЗУ, откачаланекоторые страницы программы/процесса в ВЗУ(свопинг, при действиях ОСпри свопинге позднее). Что происходит в системе, если значение строкитаблицы страниц –1, и мы обратились к этой строке? Происходитпрерывание “ защита памяти”, управление передается операционной системе(по стандартной схеме обработки прерывания и далее происходитпрограммная обработка ситуации (обращаем внимание, что все, чтовыполнялось до сих пор – пункт 1, 2, 3 и 4 – это действия аппаратуры, безкакого-либоучастияпрограммногообеспечения).ОС по содержимому внутренних данных определяет конечную причинуданного прерывания: или это действительно защита памяти, или мыпытались обратиться к странице ОЗУ, которая временно размещена вовнешней памяти.Таким образом, предложенная модель организации виртуальной памяти позволяетрешить проблему фрагментации ОЗУ.
На самом деле, некоторая фрагментацияостается (если в странице занят хотя бы 1 байт, то занята вся страница), но онаявляется контролируемой и не оказывает значительного влияния напроизводительность системы.Далее, данная схема позволяет простыми средствами организовать защиту памяти,а также своппирование страниц.Предложенная модель организации виртуальной памяти позволяет иметьотображение виртуального адресного пространства программы/процесса впроизвольные физические адреса, также позволяет выполнять в системепрограммы/процессы, размещенные в ОЗУ частично (оставшаяся часть может бытьразмещена во внешней памяти).Недостаток – необходимость наличия в ЦП аппаратной таблицы значительныхразмеров.Итак мы рассмотрели модельный, упрощенный вариант организации виртуальнойпамяти.