Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Дроздов Е.А. Основы построения и функционирования вычислительных систем

.pdf
Скачиваний:
15
Добавлен:
25.10.2023
Размер:
14.65 Mб
Скачать

и установление порядка обмена информацией .ѵежду ними. Задача распределения памяти состоит в установ­

лении

соответствия между

массивами

информации и

-массивами ячеек памяти ВС.

 

Различают централизованную и иерархическую орга­

низацию памяти. При

централизованном

способе орга­

низации

памяти все

типы

внешних ЗУ

(на магнитных

барабанах, дисках, картах, лентах) связаны непосред­ ственно с основной оперативной памятью. Обмен инфор­ мацией осуществляется только между ООП и соответ­ ствующим типом внешнего ЗУ. Обмен между однотип­

ными

или

разнотипными внешними ЗУ

производится

через

ООП.

Такая организация памяти ВС

эффективна

и целесообразна, когда имеется соответствие между числом различных массивов информации, отличающихся частотой использования и требуемым временем на пере­ пись массива в ООП, и числом различных типов внеш­

них

ЗУ.

Тогда

наиболее

часто используемые

массивы,

а также массивы с жесткими требованиями по

времени

на

перепись

их

в

ООП

 

(массивы

с высокой

степенью

готовности к использованию при решении

соответствую­

щих задач)

будут

храниться в ЗУ на магнитных

бара­

банах.

Массивы,

сравнительно

редко

используемые,

а

также массивы

с менее жесткими

требованиями

по

степени

готовности

к

использованию

размещаются

в медленно действующих ЗУ, например

в ЗУ

на

маг­

нитных

лентах.

В

ООП

хранятся

часть

программ

опе­

рационной системы и исполняемые рабочие программы

.абонентов.

Более

гибким, а поэтому и более распространенным

является

иерархический

способ организации

памяти.

В этом случае непосредственно с ООП связано наиболее

быстродействующее из внешних ЗУ

(например,

ЗУ на

магнитных барабанах), далее с этим

ЗУ связано

следую­

щее

по быстродействию

устройство

памяти

(например,

ЗУ

на магнитных дисках)

и т. д. Соединение

ЗУ произво­

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

40

ствующих ЗУ большей емкости к

быстродействующим

ЗУ, вплоть до ООП сравнительно

небольшой емкости.

В ЗУ нижнего уровня постоянно хранятся все Информа­ ционные массивы ВС, поэтому это ЗУ называется ещеархивной памятью системы. На всех других уровнях ЗУ информация хранится временно, эти ЗУ для информа­ ционных массивов составляют временную память. Ха­ рактеристики ЗУ промежуточной памяти и в первуюочередь характеристики ЗУ на магнитных барабанах во1

многом определяют производительность

ВС.

 

Простейшим способом распределения памяти явля­

ется

постоянное

распределение,

суть которого

заключа­

ется в следующем. За каждым

информационным масси­

вом

постоянно

закрепляются

области

памяти

внешних

ЗУ.

Каждый раз, когда новая

программа, принадлежа­

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

стант,

исходных

данных

и т. д. осуществляется на

все

время

вычислительного

процесса

до его

начала и

не

изменяется до его окончания. Такая система

распреде­

ления

памяти

не отличается гибкостью,

она

связана

с большими затратами времени на

реализацию

большого

количества передач. Если длина информационных мас­ сивов не является постоянной, оперативная память ис­ пользуется не эффективно, так как количество неисполь­

зуемых

ячеек

ООП может оказаться

значительным.

В связи

с этим

способ постоянного распределения па­

мяти применяется редко, главным образом

когда

можно

заранее

составить план использования ресурсов

ВС.

При постоянном распределении памяти базисные адреса информационных массивов сохраняют постоян­ ные значения. Следовательно, адреса в командах про­ граммы для распределения памяти прямо определяют ячейки ООП, к которым производится обращение в про­ грамме. Исполнительный адрес определяется либо пря­ мым адресом, указанным в команде, либо суммой пря-

4L

мого

адреса

и индекса,

по Которому производится модй'

фикация адресной части

команды.

динамическое

Более гибким и эффективным является

распределение

памяти, т. е. такое распределение, кото­

рое

основано

на выделении ячеек оперативной памяти

для

информационных массивов в порядке их

надобности

в данном вычислительном процессе и с учетом фактиче­ ской длины массивов. Динамическое распределение па­ мяти связано с изменением размещения программ, кон­ стант, исходных данных и т. д. в ООП, причем это изменение определяется условиями, которые выявляют­ ся лишь в ходе вычислительного процесса и не могут быть учтены при выборе исходного распределения.

При наличии ВЗУ большой емкости динамическое распределение памяти дает возможность абоненту счи­ тать, что в его распоряжении имеется большая опера­ тивная память, объем которой ограничен только разряд­ ностью адреса в команде. В действительности это вир­ туальная (кажущаяся) или математическая память, так как в любой момент времени только небольшая часть информации, содержащаяся в виртуальной памяти, бу­ дет храниться в физической оперативной памяти. Таким образом, с точки зрения абонента виртуальная память однородна, хотя в физическом отношении она составле­ на из ЗУ различных типов. Абонент избавлен от необ­ ходимости заниматься организацией обмена информа­ цией между ЗУ различных уровней, поскольку эти функции выполняются диспетчерскими программами операционной системы.

В современных ВС большое распространение полу­ чил метод динамического распределения памяти, осно­

ванный на страничной организации ЗУ и на

сегмента­

ции программ.

Все поле виртуальной

памяти

делится

на равные части, называемые виртуальными

страница­

ми. Типичные

размеры страниц — 256,

1 024, 4 096 бай­

тов. Физическая память также разделяется на равные части, называемые физическими страницами. Размеры физических и виртуальных страниц обычно одинаковы. Физические страницы расположены друг за другом в определенном порядке, однако с точки зрения про­ граммы все они являются независимыми. Следовательно,

при

загрузке программы в память ее следующие друг

за

другом виртуальные страницы необязательно долж­

ны

размещаться в следующих друг за другом физиче-

42

ских страницах. В ВС вводятся правила перевода виртуальных страниц в физические, задаваемые обычно в виде страничной таблицы, указывающей, какая физи­ ческая страница соответствует каждой виртуальной странице. Формирование страничной таблицы осущест­ вляется в процессе распределения памяти диспетчерски­ ми программами операционной системы.

Основной целью страничной организации памяти является повышение эффективности использования па­ мяти, уменьшение объема пересылки информации меж­ ду ООП и ВЗУ.

Виртуальная память каждой программы делится на части, именуемые сегментами и имеющие независимую адресацию слов внутри каждой части. Длина сегмента может соответствовать емкости нескольких виртуальных или физических страниц. Разбиение программы на сег­ менты осуществляется программистом или абонентом. Таким образом, абонент не только знает о том, что его программа разбита на части, сегменты, но он обязан

присвоить каждому

сегменту

соответствующий

номер.

Что

касается страничной организации

памяти

ВС, то

о ее

существовании

абонент

может и

не подозревать.

При страничной организации памяти и сегментации программ для выбора слова в виртуальной памяти вир­ туальный адрес команды должен включать номер сег­ мента, номер страницы и номер слова в странице. Перевод виртуальных адресов в истинные осуществля­ ется с помощью системы таблиц перевода, включающей программную таблицу, сегментные таблицы и странич­ ные таблицы. Эти таблицы с точки зрения подчиненно­ сти составляют иерархию сверху вниз. В программной таблице перечислены все программы, загруженные в память вычислительной системы, и для каждой про­ граммы указывается начало соответствующей сегмент­ ной таблицы. Таким образом, программная таблица устанавливает соответствие между программами и сег­ ментными таблицами. В сегментной таблице, число ко­ торых определяется числом программ, перечислены номера сегментов данной программы и для каждого сег­ мента указывается начало соответствующей страничной таблицы. Следовательно, сегментные таблицы устанав­ ливают соответствие между сегментами программ и страничными таблицами. Наконец, страничные таблицы устанавливают соответствие между виртуальными и фи-

43

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

полагаются необязательно подряд,

может

оказаться,

что часть страниц сегмента находится

в ООП,

а часть —

в ВЗУ.

 

 

Применение страничной организации памяти и сег­ ментации программ в мультипрограммной ВС дает су­ щественные преимущества:

1) при загрузке новых программ в ООП они могут быть направлены в любые свободные физические стра­ ницы, хотя они и не расположены подряд, следовательно, отпадает необходимость в перемещении информации в остальной части ООП;

2) сокращается объем информации, передаваемой из ООП в ВЗУ и обратно, так как вычислительный про­

цесс организуется

таким образом,

что в

ООП записы­

вается начальная страница

используемой

программы и

ей передается управление,

другие

страницы

переписы­

ваются в оперативную память ВС

(если

с самого

нача­

ла они не были туда записаны

из-за

ограниченности

емкости ООП) по мере необходимости;

 

 

 

3) уменьшаются

требования к

емкости

ООП,

так

как в ней содержатся только те страницы рабочих про­ грамм, которые являются активными в данное время или будут активными в течение ближайшего периода времени.

Заметим, что осуществление динамического распре­ деления памяти чисто программным путем привело бы к значительным потерям машинного времени, так как каждое обращение исполняемой рабочей программы к памяти требовало бы выполнения группы команд ди­ спетчерских программ операционной системы. Поэтому наиболее целесообразной является аппаратно-программ­ ная реализация применяемых способов динамического распределения памяти.

Более подробно об организации и распределении памяти можно познакомиться в работах [Л. 15, 22].

1-6. СИСТЕМЫ ЗАЩИТЫ ПАМЯТИ

В вычислительных системах практически любого ти­ па оперативная память используется так, что возможно одновременное хранение нескольких рабочих программ,

44

которые выполняются в принятой последовательности. Кроме рабочих программ, в оперативной памяти всегда размещается часть программ общего математического обеспечения системы. При правильном распределении памяти и отсутствии ошибок в программах система функционирует нормально, так как при реализации лю­ бой программы остальные программы и соответствую­ щие им данные не претерпевают никаких изменений. Однако вероятность наличия ошибок в адресных частях команд никогда не может считаться равной нулю, а та­ кие ошибки часто приводят к искажению информации по невыполняемым в данный промежуток времени про­ граммам. Пусть для некоторой программы Я , определен массив рабочих ячеек с адресами от 0200 по 0400, а про­

грамма IJj

записана в

ячейках

с адресами от

2200

по 3000. И

пусть одной

из команд

ПІ ошибочно

преду­

смотрена запись результата выполнения предыдущей операции в ячейку 2400. Очевидно, что при реализации ПІ программа jflj будет искажена. Обращение по счи­ тыванию информации к ячейкам полей памяти, относя­ щихся к другим программам, не вызывает искажения этих программ, но также может считаться нежелатель­ ным.

Для предотвращения возможных случаев искажения информации при одновременном размещении в опера­ тивной памяти нескольких или многих программ необ­ ходимо предусмотреть меры по защите программ от взаимного влияния как в процессе их реализации, так и при отладке. Поскольку каждой программе всегда от­ водится вполне определенное поле памяти, то практи­ чески защита программ сводится к защите от возмож­ ных ошибочных обращений зон или блоков памяти; говоря проще, защита программ сводится к защите па­ мяти. Реализация мер защиты осуществляется так на­ зываемыми системами защиты памяти. В общем случае под системой защиты памяти, которая иногда именуется системой защиты адресов памяти, понимается комплекс аппаратно-программных средств, обеспечивающий пред­ отвращение взаимного искажения программ, одновре­ менно находящихся в оперативной памяти.

Сущность функционирования любой системы защиты памяти заключается в проверке всех кодов адресов, по­

ступающих в оперативную память при обращении к ней, и выработке необходимых сигналов по результатам этой

45

проверки. Если адрес относится к выделенной для дан­ ной программы зоне памяти, то система защиты разре­ шает обращение к ОЗУ; если же адрес относится к запрещенной , зоне, то система защиты прекращает выполнение данной команды и посылает запрос на пре­ рывание реализуемой программы с целью установления причины нарушения границ зоны памяти.

Системы защиты памяти строятся по различным принципам, отвечающим возможностям размещения про­ граммы, допустимым затратам аппаратуры и машинного времени, а также методам организации вычислительного процесса. Наибольшее распространение получили си­ стемы с защитой памяти по граничным адресам, по ко­ дам признаков, или маскам, и по ключам. Все эти виды систем защиты предусматривают использование специ­ альной дополнительной аппаратуры. Если в вычисли­ тельной системе предусматривается страничная органи­ зация памяти с сегментацией страниц, то защита памяти может быть обеспечена только программными методами [Л. 2].

Системы защиты с граничными регистрами. Такие системы реализуют способ защиты по граничным адре­ сам, заключающийся в следующем. Для каждой про­ граммы в простейшем случае отводится зона оператив­ ной памяти, включающая ячейки с последовательными адресами; запись команд и операндов разрешается только в этой зоне. Границы зоны отмечаются фиксиро­ ванием адресов ее начальной и конечной ячеек. При обращении к памяти в процессе выполнения данной про­ граммы каждый поступающий в блок управления ОЗУ адрес сравнивается с граничными адресами. По резуль­ татам сравнения устанавливается возможность обраще­ ния к ОЗУ по поступившему адресу.

Блок защиты (БЗ), представляющий собой совокуп­ ность элементов и узлов, обеспечивающих реализацию рассматриваемого способа, строится достаточно просто. Его схема приведена на рис. 1-7, где дополнительно показаны некоторые узлы ОЗУ, взаимодействующие с БЗ в процессе работы. Основу блока защиты состав­

ляют два регистра

кодов границ

зоны РгКГі

и РгКГ%

и два узла сравнения кодов УСКі

и УСКг- Коды

границ,

или граничные адреса, вводятся в

регистры

через груп­

пы вентилей Ві и

В% программным

путем,

т. е. управ­

ляющей программой, перед началом

выполнения

каждой

46

программы; обычно АХі представляет младший из до­ пустимых адресов, а КГ2 — старший.

Текущий адрес, поступивший в регистр адреса РгА при очередном обращении к ОЗУ, одновременно подает­

ся на оба УСК. Если он больше КГ2,

то УСКі

формирует

сигнал нарушения границ

СНГъ если же он меньше /СА,

то УСКі формирует СНГ\,

сигналы

С # Л

и СНГ2 через

собирательную схему ИЛИ

поступают

в

центральное

 

/

Код

границы

 

 

УС,-

Код границы 1 t ^

Рис. 1-7. Схема защиты памяти с двумя граничными регистрами.

устройство управления; объединенный сигнал СНГ рас­ сматривается как сигнал одного из запросов на преры­ вание выполнения программы. В том случае, когда код адреса относится к заданной зоне оперативной памяти, узлы сравнения кодов формируют сигналы г4 и г2 соот­ ветственно, обеспечивающие образование на выходе элемента И сигнала разрешения г на обращение к ОЗУ. Блок управления ОЗУ вырабатывает сигнал передачи кода адреса в дешифратор адреса ДшА только при приеме от блока защиты сигнала разрешения г.

Защита памяти может быть организована только при обращениях по записи. Для этого достаточно допол­ нить схему рассматриваемого блока защиты элемен-

47

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

обходимостью дополнительной обработки

информации

в блоке защиты. Очевидно, что эти потери

определяются,

Главным образом, быстродействием узлов сравнения кодов.

 

53,

•кг]

 

 

к к г /

с и г г

 

 

 

 

И

63,

-кг/

 

 

TT

-кг!

-СНГ

 

 

 

Рей

вз„

-кг"

 

 

 

 

 

 

 

 

 

 

СНГ

 

Рис. 1-8. Схема защиты памяти с

несколькими парам»

граничных

регистров.

 

 

Использование системы

защиты,

базирующейся на

двух граничных регистрах, значительно снижает возмож­ ности программирования, а иногда и эффективность

всей вычислительной системы. Это связано

с тем, что

во многих случаях желательно размещение

программ

в зонах памяти, не представляющих собой общие после­ довательности. Для повышения гибкости системы защи­ ты с граничными регистрами в ее состав могут вклю­

чаться несколько пар

регистров

по

числу

возможных:

зон размещения одной

программы.

В

этом

случае к а ж ­

дая пара регистров или отдельный блок защиты обес­ печивает защиту одной заданной зоны памяти. Схема: связей узлов и блоков при использовании k блоков-, защиты приведена на рис. 1-8; надстрочными индексами при обозначениях сигналов и кодов здесь даны номера

соответствующих блоков

защиты; остальные обозначе­

ния те же, что и на рис.

1-7.

48

Анализ схемы рис. 1-8 показывает,- что для ее реализации требуются достаточно большие аппаратур­ ные затраты, которые могут быть уменьшены только за счет организации последовательного сравнения кодов для отдельных пар граничных регистров. Однако в этом случае резко возрастают затраты машинного времени.

Вследствие

указанных

причин

системы

защиты

памяти

с граничными регистрами используются сравнительно

редко.

 

 

 

 

 

Системы

защиты по

маскам.

Такие

системы

обеспе­

чивают возможность размещения одной программы во многих зонах оперативной памяти; эти зоны могут вы­ деляться в одном блоке памяти, а также совпадать с от­

дельными блоками

памяти, выделяемыми конструктив­

но. В любом случае

необходимо, чтобы зона включала:

в свой состав такое количество ячеек памяти, которое' равно целой степени числа два. Тогда старшие разряды, кода адреса всегда обозначают номер зоны. Если k — предельное количество зон, то для их нумерации необ­ ходимо использовать [log2 £] старших разрядов кода', адреса.

Доступ к выделенным зонам памяти обеспечивается1 специальным кодом, который для каждой выполняемой: программы формируется супервизором; этот код назы­ вают кодом маски защиты памяти, или кодом признаков" зон памяти. Код маски имеет k разрядов по числу вы­ деленных зон памяти. Если ;-й разряд кода (/' = 0, 1,. 2, k1) содержит единицу, то это означает, что вы­ полняемой программе разрешен доступ в /-ю зону опе­ ративной памяти. Если же /-Й разряд содержит нуль, то доступ в /-Ю зону запрещен. Код маски всегда содержит столько единиц, сколько зон памяти отведено супервизо­ ром для размещения данной программы.

Схема аппаратной части системы защиты памяти по маскам приведена на рис. 1-9, где кроме собственно блока защиты БЗ обозначены отдельные узлы оператив­ ного запоминающего устройства, включая его блок управления БУ ОЗУ. Регистр адреса РгА условно раз­ делен на две части, фиксирующие младшие и старшие

разряды

кода

адреса, т. е. /041 и

КА2 соответственно.

Старшие

разряды кода адреса, обозначающие номер

зоны (блока)

ОЗУ, подаются для

анализа в блок за­

щиты.

 

 

 

4—1514

49'

Соседние файлы в папке книги из ГПНТБ