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