ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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