Курс лекций - конспект от Томилина в PDF, страница 5
Описание файла
PDF-файл из архива "Курс лекций - конспект от Томилина в PDF", который расположен в категории "". Всё это находится в предмете "вычислительные сети и системы" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 5 страницы из PDF
К такому физическому адресу, соответствующему номеру сегмента в виртуальномадресе, прибавляется величина смещения, указанная в виртуальном адресе. Полученныйфизический адрес используется для непосредственного обращения к оперативной памяти.В указанной таблице соответствия помещено также значение длины сегмента,используемого в виртуальном адресе . Указание смещения в сегменте, большего этогозначения не допускается. Таким образом обеспечивается и защита сегментов друг от друга.Существенным преимуществом сегментной организации виртуальной памяти являетсявозможность уникальной защиты помещаемого в сегмент программного объекта по способуобращения к нему. Так, например, модуль процедуры должен быть защищен от возможностиосуществления записи в него; запись в модуль данных может быть либо запрещена, либоразрешена.
Информация об уникальной защите сегмента также размещается в таблицесоответствия. Там же размещается и признак наличия виртуального сегмента в оперативнойпамяти.Линейную таблицу соответствия виртуальных номеров сегментов задачи и их местрасположения в физической оперативной памяти (длина такой таблицы соответствуетколичеству виртуальных сегментов задачи) создает операционная система ЭВМ, посколькуименно она размещает требуемые сегменты в оперативной памяти, передавая их в нее извнешней памяти (выполняется также обратная перепись во внешнюю память сегментов,содержимое которых изменилось, в случае, если их место расположения отведено дляразмещения новых сегментов. Размещение таблицы соответствия в оперативной памятитребует при замене виртуального адреса на физический одного дополнительного обращения коперативной памяти, то есть 100% накладных расходов.
Существенно избежать этихнакладных расходов удается за счет размещения информации из таблицы соответствия вбыстродействующих регистрах, в каждом из которых находится как виртуальный номерсегмента, так и алрес его размещения в оперативной памяти. Ассоциативный поиск адресаразмещения виртуального сегмента в оперативной памяти происходит в этих регистрах по еговиртуальному номеру практически без задержки.
Свойство “локальности” программыпозволяет почти всегда успешно выполнять такой поиск и осуществлять автоматическуюзамену виртуального адреса на физический при относительно небольшом числе регистров,содержащих информацию из таблицы соответствия. Редкий “промах” приводит к переписинужной строки из таблицы соответствия, находящейся в оперативной памяти, в регистр“быстродействующей” таблицы. Выбор номера регистра производится аппаратно.Значительным недостатком организации виртуальной памяти, разделяемой на сегментыразной длины, является наличие “внешней фрагментации” оперативной памяти, то естьнезанятых участков памяти между сегментами. Этот недостаток проявляется при1213необходимости расположить в памяти новый сегмент задачи и отсутствии свободного фрагментаоперативной памяти для его размещения. В этом случае приходится принимать меры косвобождению для нового виртуального сегмента участка памяти необходимой длины за счетвозможной подвижки в оперативной памяти других виртуальных сегментов или переписиинформации (если она изменялась) из освобождаемого участка памяти во внешнюю память.Страничная организация виртуальной памятиСтраничная организация виртуальной памяти задачи исключает упоминавшийсянедостаток сегментной организации – внешнюю фрагментацию.
Виртуальная память задачиразделяется на виртуальные “страницы” одинаковой длины, которые могут помещаться налюбые физические “страницы” (области оперативной памяти той же длины, что и увиртуальных страниц задачи). Начальные адреса физических страниц имеют значения,кратные длине страницы. Часто используется величина, называемая номером физическойстраницы и являющаяся значением старших разрядов таких адресов. Количество младшихразрядов определяется длиной страницы (младшие разряды, естественно, используются дляуказания смещения данных в странице).Аналогично адресам по физической памяти также структурируются виртуальныеадреса.
Старшие разряды виртуального адреса являются номером виртуальной страницы, амладшие разряды указывают смещение данных в странице. Смещение данных в виртуальной ифизической странице одинаковое. Объем виртуальной памяти задачи может не совпадать собъемом физической памяти машины (как правило, превосходит его) и, соответственно, можетне совпадать длина виртуальных и физических адресов. При этом разным является лишьколичество разрядов, отводимых под номер страницы.Замена виртуального адреса на физический адрес в целом происходит аналогично такойзамене для виртуальной памяти сегментной организации. Используется создаваемаяоперационной системой таблица виртуальных страниц, каждая строка которой соответствуетодной виртуальной странице и содержит номер физической страницы, содержащейинформацию этой виртуальной страницы.
В этой же строке таблицы находится признакналичия данной виртуальной страницы в физической памяти. Если необходимая виртуальнаястраница присутствует в физической памяти, то физический адрес для непосредственногообращения в память образуется заменой номера виртуальной страницы на номер физическойстраницы из соответствующей строки таблицы соответствия. Если же необходимаявиртуальная страница в физической памяти отсутствует, то операционная система перемещаетее (“подкачивает”) из внешней памяти на физическую страницу, номер которой определяется сиспользованием применяемого алгоритма “замещения” страниц в физической памяти. Могутиспользоваться разные алгоритмы: “первым пришел – первым вышел”, по давностииспользования и др.При этом в замещаемой странице может находиться информация как выполняемойзадачи, так и других задач. Если содержимое страницы, выбранной для замены, изменялось смомента переписи в нее информации виртуальной страницы из некоторого места внешнейпамяти, то обратная перепись измененного содержимого страницы в то же место внешнейпамяти выполняется до осуществления переписи на выбранную физическую страницуинформации требуемой виртуальной страницы из внешней памяти.Использование для замещения страниц таблицы виртуальных страниц в оперативнойпамяти приводит (как и для сегментной виртуальной памяти) к 100% накладных расходов.Свойство “локальности” программы также как и для случая сегментной виртуальной памятипозволяет успешно использовать для замены адресов “быструю” таблицу “адреснойтрансляции” на регистрах.
Строки такой таблицы содержат как виртуальный номер страницы,так и соответствующий ему номер физической страницы. Ассоциативный поиск для заменывиртуального адреса на физический происходит в таблице адресной трансляции по номерувиртуальной страницы. В случае “промаха” при поиске в таблице адресной трансляции1314производится перепись необходимой строки в таблицу адресной трансляции из таблицывиртуальных страниц в оперативной памяти.Несомненным преимуществом страничной виртуальной памяти является обеспечениеплотного заполнения физической памяти и эффективной замены информации (страниц) в ней.При заметном числе страниц, используемых задачей, недоиспользование объемапоследней страницы (“внутренняя фрагментация”) не является существенным.Недостатком страничной организации виртуальной памяти является отсутствиеимеющейся в сегментной организации виртуальной памяти возможности уникальной защитыобъектов программы (программных модулей и модулей данных) в связи с тем, что несколькообъектов, требующих разного типа защиты, могут быть помещены в одной странице.Сегментно-страничная организация виртуальной памяти.Организация такой памяти преследует цель освободиться от недостатков каксегментной, так и страничной виртуальной памяти (“внешней фрагментации” и отсутствияуникальной защиты объектов программы соответственно).В сегментно-страничной организации памяти уникально защищаемый виртуальныйсегмент разбивается на виртуальные страницы, располагающиеся на любых физическихстраницах оперативной памяти.
Виртуальный сегментно-страничный адрес состоит из трехполей: поля виртуального номера сегмента, поля виртуального номера страницы в этомсегменте, поля смещения в странице. Замена виртуального сегментно-страничного адреса нафизический адрес производится так же, как и для сегментного и страничного виртуальныхадресов в основном с использованием “быстрой” таблицы адресной трансляции на регистрах.Ассоциативный поиск по этой таблице производится в этом случае по совокупности значенийвиртуальных номеров сегмента и страницы в нем, находящихся в строках этой таблицы. Присовпадении (получающемся в большинстве случаев, благодаря свойству локальностипрограммы) из найденной строки таблицы берется находящийся там физический номерстраницы, к которому прибавляется (“присоединяется”) смещение в странице.
Полученныйфизический адрес используется для непосредственного обращения в оперативную памятьмашины.При “промахе” в поиске по таблице адресной трансляции происходит двухуровневыйпоиск по таблицам, подготовленным операционной системой в оперативной памяти. Вначалеисследуется таблица виртуальных сегментов задачи. Найденная по виртуальному номерусегмента строка этой таблицы содержит сведения об уникальной защите сегмента,содержащего объект программы, и ссылку на таблицу виртуальных страниц этого сегмента.Найденная по виртуальному номеру страницы строка этой таблицы содержит признакнахождения виртуальной страницы в оперативной памяти и номер физической страницы, вкоторой находится информация виртуальной страницы.Указанным выше образом образуется физический адрес для непосредственногообращения в оперативную память и происходит размещение найденной информации в строке“быстрой” таблицы аппаратной трансляции.При большом количестве виртуальных сегментов, размер которых существенно меньшеразмеров страницы (для сегмента выделяется целая страница), указанная выше “внутренняяфрагментация” становится заметно отрицательным фактором.Параллелизм использования внешних устройств ЭВМПараллельная обработка информации в вычислительных системах требует вбольшинстве случаев организации параллельного выполнения многих потоков входных ивыходных данных и временного помещения во внешнюю память и считывания из неепромежуточных результатов обработки информации.Используются два основных способа организации параллельной работы внешнихустройств ЭВМ:1415-с использованием аппаратуры “селекторных” и “мультиплексных” каналов;с использованием аппаратуры “общей шины”.Селекторные и мультиплексные каналыУстройства “селекторный канал” и “мультиплексный канал” автоматическиосуществляют задаваемые операционной системой (“драйверами” - программами управленияработой устройств) обмены данными между оперативной памятью и устройствами,подключенными к этим каналам.К селекторным каналам через специальную аппаратуру непосредственного управленияустройствами (“контроллеры” – control unit) подключаются устройства, обмен данными скоторыми производится в режиме монопольного захвата канала.
Операционная системавыбирает одно из устройств, подключенных к селекторному каналу, и запускает обменинформацией с ним в монопольном режиме использования селекторного канала. Эффективноеиспользование селекторного канала возможно для обмена через него с так называемыми“быстрыми” внешними устройствами.
Основными такими устройствами являются устройствавнешней памяти на магнитных дисках. К селекторному каналу может быть подключенонесколько групп устройств через свое для каждой группы устройство управления работойустройств. К оперативной памяти может быть подключено несколько параллельноработающих селекторных каналов. Осуществлению такой возможности способствуетрассмотренное выше “расслоение” оперативной памяти на параллельно работающие блоки.Управление обменом данными осуществляет устройство “селекторный канал” сиспользованием подготовленного драйвером операционной системы “управляющего слова”обмена, помещаемого на регистр управляющего слова обмена устройства “селекторныйканал”.Управляющее слово обмена содержит адрес обмениваемых данных по оперативнойпамяти, постоянно изменяющийся устройством “селекторный канал” в процессе обмена, и,соответственно, постоянно уменьшающуюся в процессе обмена величину количества данных,которые осталось передать (или конечный адрес по оперативной памяти передаваемогомассива данных), для контроля окончания обмена.