Файл: Система математического обеспечения ЕС ЭВМ..pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 17.10.2024

Просмотров: 96

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Собственный адрес д о р о ж к и

с

L е>

ЯВ"

4

я

я

5

я

9

я

*

о.

QJ

Ч

о

га

Я

о

ч

я

я

*

о

о.

о

4 £-

га

5

о.

о

О

о

я

О,

собой специальную об­ ласть, идентифицирую­ щую начало блока. Ад­ ресный маркер предшест­ вует каждому блоку, за исключением блока Ro.

На рис. 24 и 25 пока­ зана также структура блока. Идентификатор блока содержит физиче­ ский адрес блока, а также информацию о длине клю­ ча и данных. Ключ блока содержит некоторый при­ знак блока (например, имя блока), который мо­ жет использоваться в ка­ честве аргумента при по­ иске блока, если неизве­ стен его физический ад­ рес. Длина ключа может составлять от 1 до 255 байтов. Нулевая длина ключа означает его отсут­ ствие. Максимальная дли­ на поля данных, опреде­ ленная в идентификаторе, равна 65 535 байтам. Од­ нако обычно длина блока не превышает длины од­ ной дорожки (у пакетов для накопителей ЕС-5050 3625 байтов) либо, если в устройстве управления накопителями реализова­ на возможность сегменти­ рования блоков, не пре­ восходит длины цилинд­

ра.

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

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

142

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

У большинства томов прямого доступа все дорожки делятся на две группы — группу основных дорожек и группу запасных до­ рожек. Так, у пакетов для накопителей типа ЕС-5050 к группе ос­ новных дорожек относятся дорожки цилиндров 0—199, а к группе запасных — дорожки цилиндров 200—202. Если при проверке по­ верхности тома в группе основных дорожек обнаруживается де­ фектная дорожка, то она подменяется запасной дорожкой. Авто­ матический переход с дефектной дорожки на соответствующую запасную выполняется с помощью блока R0. Идентификатор блока Ro дефектной дорожки содержит адрес запасной дорожки, которая ее подменяет, а идентификатор блока Ro этой запасной дорожки содержит адрес соответствующей дефектной дорожки. Так уста­ навливается взаимосвязь между дефектной дорожкой и заменяю­ щей ее запасной дорожкой.

Во время инициализации тома на нулевой дорожке нулевого цилиндра формируется метка тома, которая представляет собой блок, содержащий идентификатор, ключ длиной 4 байта (VOL1) и собственно метку длиной 80 байтов. Эта метка по своему форма­ ту и назначению аналогична метке тома VOL1 на магнитной ленте и отличается от нее только тем, что дополнительно содержит физический адрес оглавления тома. Вслед за меткой на этой же дорожке могут располагаться дополнительные метки тома с иден­ тификаторами VOL2 — VOL8.

Оглавление тома — это набор данных, который содержит метки всех наборов данных, находящихся в текущий момент времени на данном томе. Кроме того, оглавление содержит информацию о сво­ бодных областях, имеющихся на томе. Оглавление тома состоит из блоков, имеющих 44-байтовую область ключа и 96-байтовую об­ ласть данных. Каждый блок представляет собой метку определен­ ного формата и назначения. В момент инициализации тома оглав­ ление формируется в следующем виде. Первой в оглавлении тома стоит метка 4-го формата. Это метка самого оглавления. В ней со­ держится информация об устройстве, на котором установлен том, информация о размере самого оглавления, о запасных дорожках на томе и т. д. Далее следует метка 5-го формата, в ней записывает­ ся информация о свободных областях на томе (нижняя и верхняя границы непрерывной области в виде физических адресов). В одной метке 5-го формата могут быть описаны 26 непрерывных областей.

При большем числе свободных областей на то'ме

заводится

еще одна метка 5-го формата. Метки 5-го формата,

если их не­

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

ции тома прямого доступа на нем находится только

один набор

данных — оглавление тома, поэтому вся остальная

часть тома

указана в метке 5-го формата как свободная. Вся остальная часть оглавления заполняется метками нулевого формата, которые не

143


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

Инициализацию томов прямого доступа можно выполнить, используя либо независимую утилиту IBCDASDI, либо систем­ ную утилиту IEHDASDR. Управляющая программа ОС ЕС обес­ печивает автоматическое распределение памяти на томах прямого доступа. Для запроса памяти на томе прямого доступа использу­ ется параметр SPACE оператора DD, описывающего набор дан­ ных. В момент выделения памяти под набор данных на томе пря­ мого доступа в оглавление тома помещаются метки, описывающие этот набор.

Наборы данных, находящиеся на томе прямого доступа, могут описываться метками 1-го, 2-го и 3-го форматов. Метка 1-го фор­ мата имеется в оглавлении для каждого набора данных. Она ис­ пользуется управляющей программой ОС ЕС для определения физических границ областей тома, выделяемых под набор данных. В одной метке 1-го формата могут быть описаны границы только трех непрерывных областей тома. Если же при выделении памяти под набор данных число непрерывных областей превышает три, то в оглавлении тома заводится метка (или несколько меток) 3-гэ формата, в которой описываются последующие области тома. Мет­ ки 1-го и 3-го форматов связываются между собой в цепочку. Одна метка 3-го формата может содержать описания до 13 областей, выделенных под набор данных.

Для набора данных с индексно-последовательной организаци­ ей, кроме метки 1-го формата, заводится метка 2-го формата. В этой метке описывается физическое расположение различных ча­ стей этого набора. Метка 2-го формата сцепляется с меткой 1-го формата.

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

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

144


го состояния свободной памяти на томе. Для освобождения памя­ ти из-под набора данных можно использовать также системную утилиту IEHPROGM.

Оглавление тома может быть распечатано с помощью систем­ ной утилиты IEHLIST.

Если набор данных должен сохраняться на томе прямого досту­ па в течение некоторого времени, то для защиты его от затирания или освобождения памяти из-под него можно использовать зада­ ние в параметре LABEL оператора DD срока сохранения этого набора данных. Тогда управляющая программа будет учитывать этот срок при обращениях к набору данных.

Управляющая программа ОС ЕС включает систему автомати­ ческого разграничения доступа к наборам данных, хранящихся на томах пряхмого доступа. Доступ к набору данных, обслуживаемо­ му этой системой (см. параметр LABEL оператора T)D), разре­ шается лишь по предъявлении пароля.

На томах прямого доступа кроме рассмотренных выше меток наборов данных можно использовать метки пользователя начала и конца набора данных. Об их использовании управляющей про­ грамме сообщается через параметр LABEL оператора DD, описы­ вающего набор данных. Под метки пользователя отводится толь­ ко одна, первая дорожка, отведенная под набор данных. На эту дорожку помещаются сначала метки начала набора данных с идентификаторами UHL1 — UHL8, а за ними метки конца набора данных с идентификаторами UTL1 — UTL8.

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

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

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

прямая.

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

10. З а к а з 3414.

145


доступ к любому разделу библиотеки осуществляется непосредст­ венно по его имени. Библиотечная организация применяется чаще всего для хранения программ и таблиц.

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

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

6. УПРАВЛЕНИЕ НАБОРАМИ ДАННЫХ

6.1. П О Н Я Т И Е М Е Т О Д А Д О С Т У П А

Любой набор данных, используемый в программе, должен быть описан программистом непосредственно в программе, а также- в задании на выполнение программы. Способ описания набора дан­ ных как в программе, так и в задании зависит от организации набора данных и предусматриваемого способа доступа к нему. Опе­ рационная система ЕС ЭВМ располагает четырьмя типами орга­ низации наборов данных: последовательной, библиотечной, индекс­ но-последовательной и прямой.

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

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

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

Сочетание способа доступа к данным с определенным типом организации набора данных называется методом доступа. Базис­ ный способ доступа применим ко всем типам организации набора данных, способ доступа с очередями ориентирован на последова­ тельную и индексно-последовательную организацию. В табл. 2 при­ ведены основные методы доступа операционной системы ЕС ЭВМ.

Каждый метод доступа имеет свой набор макрокоманд (см. при­ ложение' 5).

10"

147


О р г а н и з а ц и я д ан н ы х

По с л е д о в а т е л ь н а я

Ин д е к с н о - п о с л е д о в а - т е л ь н а я

Б и б л и о т е ч н а я П р я м а я

Т а б л и ц а 2

М е т о д д о с т у п а

п р и б а з и с н о м с п о с о б е

Ба зи с н ы й п ос л е д о в а т е л ь н ы й

( B S A M )

Ин д е к с н о - п о с л е д о в а т е л ь н ы й

( B I S A M )

п р и с п о с о б е с о ч е р е д я м и

П о с л е д о в а т е л ь н ы й

с

о ч е р е д я м и (Q SA .M )

 

И н д е к с н о - п о с л е д о в а -

 

тельн ы й с о ч е р е д я м и

 

( Q I S A M )

 

Б и бл и от еч н ы й ( В Р А М )

П р я м о й ( B D A M )

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

6.2. Б Л О К У П Р А В Л Е Н И Я Д А Н Н Ы М И

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

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

DCB (см. приложе­

ние 6) во время трансляции программы.

обязательных

операн­

Макрокоманда DCB имеет только два

д а — DSORG и MACRF. Первый задает тип организации

набора

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

348