Математика | ||||
Супервизор и управление данными- А. И. Илюшин | ||||
Операционная система IBM/360. Супервизор и управление данными. Нью-Йорк. Пер, с англ., под ред. А. И. Илюшина.
М., «Советское радио», 1973, 312 с. В книге описаны средства программирования и обработки данных, предоставляемые пользователю операционной системой OS/360. В главе I рассматриваются вопросы проектирования программ, управление задачами и подзадачами, методика распределения оперативной памяти и средства связи с оператором. Глава II и приложения посвящены управлению данными, находящимися на внешних носителях. В начале главы вводится большое количество понятий, связанных с управлением данными (набор данных, запись, способ организации набора данных, метод доступа и т. д.), далее детально описываются конкретные методы доступа к данным OS/360. В приложениях приводятся сведения о форматах и назначении меток наборов данных. Книга предназначена для прикладных и системных программистов. Она будет также полезна разработчикам архитектуры ВМ, преподавателям и студентам специальностей, связанных с использованием вычислительной техники. ПРЕДИСЛОВИЕ РЕДАКТОРА ПЕРЕВОДА Операционная система OS/360 создана фирмой IBM для средних и больших моделей семейства машин IBM/360. Следует отметить, что первой на машинах фирмы IBM начала использоваться другая операционная система — DOS/360, применяемая в настоящее время в основном на малых моделях. OS/360 существенно превосходит DOS/360 по всем основным компонентам, которые определяют качество операционной системы. В OS/360 гораздо более развитый язык управления заданиями, более гибкая и универсальная система управления данными, существенно большие возможности организации параллелизма как в работе самой операционной системы, так и в задачах пользователей. Однако эти большие возможности OS/360 дались фирме непросто. В первый период (начало эксплуатации 1966—67 г.) операционная система работала неустойчиво, раздавались жалобы на сложность ее обслуживания. Непрерыв-«0 проводя работу по ее модернизации (в настоящее время поставляется 21 редакция OS/360, приче.м у каждой редакции на протяжении ее жизнн бывает несколько последовательных вариантов), фирма IBM в основном справилась с этими трудностями. Сейчас вполне олре-деленно можно сказать, что OS/360 — удобная, эффективная и достаточно надежная операционная система с таким обширным набором возможностей, которого нет ни у одной другой системы -в мире. Предлагаемая книга является переводом фирменного описания возможностей OS/360, предоставляемых программисту. Она является ключевой для чтения более детальных описаний, ссылки на которые имеются в тексте. В ней описана рекомендуемая структура программ в OS/360, соглашения о связях между программами, средства управления ресурсами, синхронизация событий, служба времени, управление подзадачами, распределение оперативной памяти, средства связи с оператором, системный журнал и средства управления данными. На последнем следует остановиться особо. ми на внешних носителях играют ведущую роль. В мощной и гибкой системе управления данными, имеющейся в OS/360, основным является отделение физической структуры данных от ж)гической и использование нескольких уровней управления. На верхних уровнях программист максимально освобожден от необходимости вникать в детали управления вводом — выводом. В то же время на нижних уровнях он может наиболее эффективно для своего конкретного случая использовать машинные средства с помощью собственных программ управления и обработки данных. Хочется отметить одну важную особенность OS/360, лишь упомянутую в данной книге. Под OS/360 на самом деле понимается множество операционных систем, которые можно сгенерировать, используя специальные библиотеки. Процесс генерирования идет под управлением некоторого варианта OS/360 и складывается из трансляции символьных модулей, иаписанных на ассемблере, редактирования внешних связей и копирования библиотек. Цель генерирования •— создавать каждый раз такой вариант операционной системы, который наилучшим образом подходит для установленной конфигурации машины и класса задач, решаемых на ней. В частности, большинство средств, описанных в даннной книге, являются нео'бязательными и включаются в конкретную операционную систему по выбору. В 1971 г. фирма IBM объявила о создании нового семейства машин — IBM/370. При создании этого семейства была сохранена преемственность матобеспечения, и машины IBM/370 будут работать под управлением OS/360, описываемой в данной книге. Книга представляет большой интерес как для системных, так и для прикладных программистов. Она будет также полезна разработчикам архитектуры ВМ, преподавателям и студентам специальностей, связанных с использованием вычислительной техники. Глава 1 переведена В. П. Данилочкиным и И. Ф. Му-зылевой, глава 2 и приложения А и Б — А. А. Карловым. Приложение В, отражающее последние изменения в операционной системе OS/360, составлено В. П. Данилочкиным. А. И. Илюшин ПРЕДИСЛОВИЕ Это руководство описывает возможности супервизора и средства управления данными в операционной системе IBM/360. В нем содержится информация, необходимая программисту, который пишет свои программы на языке ассемблера. Руководство состоит из двух глав и приложений. Для лучшего уяснения предмета приведены многочисленные иллюстрации и примеры. 1. Средства супервизора.^ этой главе описаны возможности супервизора, которые используются с помощью макрокоманд ассемблера. Кроме того, в ней описываются соглашения о связях между программами, распределение основной памяти, имеющиеся средства управления программами, образование задач и управление ими. 2. Средства управления данными. В этой главе описаны средства управления данными, которые используются с помощью макрокоманд ассемблера. В ней также описываются организация данных и способы доступа к ним с помощью операционной системы, средства каталогизации и распределения памяти. 3. Приложение. В приложении приведена информация о форматах и использовании меток наборов данных. бГЛАВЛЕНИЁ Предисловие редактора перевода ........ 5 Предисловие.............. 7 Глава I Средства супервизора ........... 8 Введение . . ............ 8 Управление программами.......... 9 Исходные требования .......... 10 Установка базового регистра ....... 10 Сохранение регистров......... Ю Использование постоянного регистра базы .... 15 Регистры связи........... 15 Получение информации из поля PARM предложения EXEC.............. 16 Типы структур загрузочного модуля...... 17 Простая структура.......... 17 Оверлейная структура .... .... 18 Динамическая структура......... 18 Выполнение загрузочного модуля....... 19 Передача управления в простой структуре .... 19 Передача управления без возврата ...... 20 Передача управления с возвратом ...... 23 Как происходит возврат управления ...... 27 Возврат в управляющую программу..... ЗО Передача управления в оверлейной структуре ... ЗО Передача управления в динамической структуре ... 30 Занесение загрузочного модуля в основную память 31 Передача управления с возвратом...... 39 Как происходит возврат управления ..... 46 Передача управления без возврата ...... 47 Образование задач .......... 50 Образование подзадач .......... 50 Приоритет подзадач.......... 51 Управление задачами ............ 53 Связи между задачами и подзадачами..... 54 Синхронизация задач .......... 55 Средства управления программами....... 57 Дополнительные точки входа........ 57 РГдентификаторы точек входа и идентификаторы вызова 59 Работа с последовательно используемыми ресурсами . . 59 Присвоение имени ресурсу........ 61 Монопольные и совместные запросы...... 62 Обработка запроса....... . . . . 62 Правильное использование ENQ и DEQ .... 64 Получение информации из таблицы управления задачей 69 Служба времени........... 70 Дата и время дня.......... 71 I ПП-7 бременные интервалы ..... Связь с оператором и системный журнал Обработка программных прерываний Управление аварийными ситуациями Дамп......... Условия выдачи дампа .... Индикационный дамп .... Управление основной памятью .... Явные запросы....... Указание длины ....... Типы явных запросов..... Управление подпулами .... Неявные запросы ...... Управление загрузочными модулями Освобождение основной памяти Глава 2 Управление данными...... Часть 1. Введение в управление данными..... Характеристики наборов данных........ Идентификация наборов данных....... Хранение наборов данных ......... Тома с прямым доступом........ Тома на магнитной ленте........ Форматы записей наборов данных...... Записи фиксированной длины ....... Записи переменной длины ........ Записи неопределенной длины ....... Управляющий символ......... Характеристики устройств с прямым доступом . . . . Формат треков............ Адресация треков........... Переполнение треков .......... Проверка правильности записи ....... Взаимодействие с операционной системой ...... Описание набора данных......... Описание программы обработки....... Модификация таблицы управления данными .... Совместное использование одного набора данных . Часть 2. Процедуры обработки при управлении данными Способы обработки данных . ........ Способ доступа с очередями........ Макрокоманда GET — выбрать запись . . • • Макрокоманда PUT — записать запись . . . • Макрокоманда PUTX — записать исправленную запись Способ базисного доступа......... Макрокоманда READ — прочитать блок . . • • Макрокоманда WRITE — записать блок . . • • Макрокоманда CHECK — проверить завершение операции чтения—записи ......... Макрокоманда WAIT —ждать завершения операции чтения—записи ........... п 75 76 80 83 84 85 85 87 87 88 90 96 96 102 105 106 106 НО 111 113 114 115 116 117 119 119 120 121 122 123 123 124 127 129 136 138 139 140 140 141 141 142 143 144 145 145 ta6flHua управления событием данных (DECB) 145 Обработка ошибок........... 146 Макрокоманда SYNADAF — выполнить анализ SYNAD 146 Макрокоманда SYNADRLS — освободить области со- обш,ения и сохранения......... 147 Выбор метода доступа.......... 148 Открытие и закрытие набора данных...... 149 Макрокоманда OPEN — начать обработку набора данных ............ 150 Макрокоманда CLOSE — прекратить обработку набора данных............. 153 Обработка конца тома......... 154 Макрокоманда FEOV — окончить том..... 154 Запрос и управление буферами........ 155 Построение буферного пула........ 156 Макрокоманда BUILD—построить буферный пул 157 Макрокоманда GETPOOL — получить буферный пул 157 • Автоматическое построение буферного пула . . . . 158 Макрокоманда FREEPOOL — освободить буферный пул 158 Управление буферами.......... 160 Простая буферизация.......... 162 Обменная буферизация......... 165 Макрокоманда RELSE — освободить буфер ввода . . 169 Макрокоманда TRUNC — укротить буфер вывода . 170 Макрокоманда GETBUF — получить буфер из буферного пула.............. 171 Макрокоманда FREEBUF — вернуть буфер в буферный пул.............. 171 Макрокоманда FREEDBUF — вернуть динамический буфер в буферный пул.......... 171 Работа с последовательными наборами данных .... 172 Вопросы, связанные с форматами данных и типом устройства ввода—вывода.......... 172 Магнитная лента (ТА)......... 174 Читающее устройство с бумажной ленты (РТ) . . 174 Читающее устройство с перфокарт и карточный перфоратор (RD/PC)........... 175 Печатающее устройство (PR)....... 175 Устройства с прямым доступом (DA)..... 175 Последовательные наборы данных — управление устройствами .............. 176 Макрокоманда CNTRL — управление устройством ввода—вывода............ 176 Макрокоманда PRTOV — проверить печать на переполнение .............. 177 Макрокоманда BSP — возврат на блок на магнитной . ленте или на устройстве с прямым доступом . . . 177 Макрокоманда NOTE — отметить относительный адрес блока............. . 178 Макрокоманда POINT — подвести блок .... 178 Последовательные наборы данных — независимость от устройств............. 178 Вопросы генерирования операционной системы . . . 179 Вопросы программного обеспечения...... 180 Подпараметры таблицы управления данными (DCB) 181 Планирование цепочками при операциях ввоДа—вывода 1^ Создание набора данных с последовательной организацией ig Работа с наборами данных, организованными разделами . . jgi Оглавление набора данных, организованного разделами igi Работа с разделом набора данных...... 19 Макрокоманда BLDL — построить описок элементов оглавления............ igi Макрокоманда FIND — получить адрес заданного раздела .............. jg; Макрокоманда STOW — изменить элемент оглавления iq] Создание набора данных, организованного разделами . . jg^ Выборка разделов . ^.......... ig( Исправление разделов '.......... igf Работа с индексно-последовательными наборами данных . . igc Организация индексно-последовательного набора данных 20{ Основная область данных........ 201 Области индексов . ........ 201 Области переполнения......... 203 Добавление записей в индексно-последовательяый набор данных.............. 204 Обслуживание индексно-последовательного набора данных 205 Требования к буферам и рабочей области при работе с индексно-последовательным набором данных .... 207 Управление устройством с индексно-последовательным набором данных............ 208 Макрокоманда SETL — установить начало последовательной выборки........... 209 Макрокоманда ESETL — закончить последовательную выборку............. 210 Создание индексно-последовательного набора данных . . 210 Исправление индексно-последовательного набора данных 212 Прямая выборка и исправление индексно-последовательного набора данных . ......... 213 Обработка наборов данных с прямой организацией . . . 215 Организация прямого набора данных...... 216 Обращение к записям в наборе данных с прямой организацией .............. 217 Создание набора данных с прямой организацией . . . 219 Добавление за;писей в прямой набор данных и исправление записей............. 221 Часть 3. Управление наборами данных и распределение памяти ............... 224 Распределение памяти в томах с прямым доступом . . • 224 Задание требований к .памяти........ 225 Оценки требований к памяти........ 22Ь Распределение памяти для набора данных, организованно- го разделами............ •^•^° Распределение памяти для индексно-последовательного на- бора данных............ ^^ Определение основной области данных..... ^^2 Определение отдельной области индексов..... z^'z Определение независимой области переполнения Вычисление тре(5ований к объему памяти для индексно-последовательного набора данных...... Пункт 1............. 233 Пункт 2............. 233 Пункт 3............. 234 Пункт 4............. 234 Пункт 5............. 235 Пункт 6............. 235 Пункт 7............ 235 Пункт 8............ 236 Краткие результаты: расчеты требований к объему памяти для индексно-последовательного набора данных 237 Управление наборами данных......... 237 Направление наборов данных через выходной поток . 239 Открытие набора данных SYSOUT...... 240 Запись в набор данных SYSOUT...... 241 Объединение последовательных наборов данных и наборов данных, организованных разделами...... 242 Каталогизация наборов данных....... 244 Занесение в каталог имени набора данных .... 246 Занесение в каталог группы поколений данных . . . 247 Управление секретными данными — защита паролем . . 247 Приложение А. Размещение меток в томах .... 248 Метки на магнитной ленте.......... 248 Стандартные метки на ленте........ 248 Формат меток тома для томов на магнитной ленте и томов с прямым доступом......... 251 Формат дополнительных меток тома..... 251 Формат первой метки начала или конца набора данных 253 Формат второй метки начала или конца набора данных 254 Формат меток начала или конца, обеспечиваемых пользователем ............. 256 Нестандартные метки на ленте........ 256 Редактирование меток тома ........ 257 Организация тома на магнитной ленте...... 257 Метки в томе с прямым доступом........ 260 Группа меток тома.......... 260 Приложение Б. Управляющие символы..... 261 Машинный код............. 262 Расширенный код USASI.......... 262 Программы системного вывода (SYSOUT WRITERS) . . 262 Приложение В. Дополнительные возможности операционной системы ............. 263 Режим подзадач............ 264 Библиотека пункта задания ......... 264 Приоритет задач............ 264 Квантование времени . ........ 265 Обращение к нескольким пультам....... 267 Обращение к программисту......... 267 Обращение к запасному журналу....... 268 Обращение к с.чстемно.му журналу....... 2б9 Приостановка аварийного завершения...... 269 Иерархия памяти........... 273 Повторный пуск заданий......... 274 Установка контрольных точек . ,..... 276 311 Цена: 150руб. |
||||