







      Министерство приборостроения, средств автоматизации

                      и систем управления




                  Операционная система МОС ВП


              Подсистема системного программиста


                      УПРАВЛЕНИЕ СИСТЕМОЙ


                      Справочный материал


                       Лист утверждения

                    2б.00152-01 97 10-ЛУ


                    Представители предприятия - разработчика

                           Руководитель темы
                           Зам. директора

                           _______________ Хрущев С.Н.
                           "___"__________ 1987 г.

                           Ответственный исполнитель темы
                           Зав. отделением

                           _______________ Остапенко Г.П.
                           "___"__________ 1987 г.

                           Зав. лабораторией

                           _______________ Нестеров А.А.
                           "___"__________ 1987 г.

                           Нормоконтролер

                           _______________ Скворцов В.А.
                           "___"__________ 1987 г.

                           1987
  Перв. примен.                                   Литера
  2б.00152-01













  


  





                  Операционная система МОС ВП




              Подсистема системного программиста





                      УПРАВЛЕНИЕ СИСТЕМОЙ



                      Справочный материал





                      	 00152-01 97 10

                           Листов 452














                             1987









  Утвержден


  2б.00152-01 97 10-ЛУ









                  Операционная система МОС ВП



              Подсистема системного программиста





                      УПРАВЛЕНИЕ СИСТЕМОЙ



                      Справочный материал






                      2б.00152-01 97 10


                           Листов 458/6K












                             1987

 Перв.примен.

  2б.00152-01                                        Литера





                            - 2 -

                        00152-01 97 10






                           АННОТАЦИЯ




       Данный документ описывает  действия,  необходимые  для

  управления операционной системой МОС ВП  (далее  по  тексту

  МОС ВП) и для обеспечения ее эксплуатации.

       В разделах 1-7 рассмотрены задачи по подготовке МОС ВП

  к эксплуатации, а также средства, необходимые  для  решения

  этих задач. В частности описаны  процедуры  для  выполнения

  модификаций МОС ВП с учетом специфики вычислительной систе-

  мы, действия по отключению и запуску МОС ВП, по определению

  и сопровождению  пользовательских  учетных  разделов  и  по

  выделению системных ресурсов.

       В разделах 8-11 рассмотрены задачи и  средства  сопро-

  вождения и эксплуатации МОС ВП. Описаны действия по  сопро-

  вождению общих файлов и томов, установки образов в качестве

  известных МОС ВП, по управлению очередями и по  модификации

  системных параметров.

       Документ предназначен для системных администраторов  и

  операторов.






                            - 3 -

                        00152-01 97 10






                          СОДЕРЖАНИЕ





  1.  Предварительные сведения                             19


  1.1.    Задачи управления МОС ВП                         19

  1.1.1.    Задачи эксплуатации                            21

  1.1.2.    Средства и привилегии                          21

  1.1.2.1.  Команды языка DCL                              22

  1.1.2.2.  Обслуживающие программы МОС ВП                 22

  1.1.2.3.  Привилегии                                     24

  1.1.3.    Компоненты МОС ВП                              24


  2.  Настройка МОС ВП после установки                     26


  2.1.    Вход в МОС ВП                                    28

  2.2.    Командные процедуры запуска                      29

  2.2.1.    Командная   процедура    запуска,    не

            учитывающая  специфику   вычислительной

            системы                                        31

  2.2.2.    Командная  процедура   конфигурирования

            устройств                                      32

  2.2.3.    Командная      процедура       запуска,

            учитывающая  специфику   вычислительной

            системы                                        33

  2.3.    Создание     собственной      командной

          процедуры     запуска,      учитывающей



                            - 4 -

                        00152-01 97 10


          специфику вычислительной системы                 34

  2.3.1.    Монтирование общих дисков                      35

  2.3.2.    Определение  общесистемных   логических

            имен                                           36

  2.3.3.    Задание характеристик устройств                37

  2.3.4.    Инициализация и запуск очередей                38

  2.3.5.    Установка известных образов                    39

  2.3.6.    Работа анализатора дампа системы               40

  2.3.7.    Обслуживание     файла      регистрации

            сообщений оператору                            41

  2.3.8.    Запуск стандартных пакетных заданий            41

  2.3.9.    Подсоединение устройств                        41

  2.3.10.   Установка   вторичных   файлов   обмена

            страниц и обмена рабочих наборов               42

  2.3.11.   Выдача сообщений                               43

  2.3.11.1. Сообщение SYS$ANNOUNCE                         43

  2.3.11.2. Сообщение SYS$WELCOME                          44

  2.3.12.   Переопределение   числа   интерактивных

            пользователей                                  45

  2.3.13.   Завершение SYSTARTUP.COM                       46

  2.4.    Выбор  подразумеваемой   по   умолчанию

          командной процедуры загрузки                     46

  2.5.    Модификация     подразумеваемой      по

          умолчанию командной процедуры загрузки           48

  2.6.    Выполнение модификаций для  специальных

          конфигураций  и  требований  к  рабочей

          нагрузке                                         51




                            - 5 -

                        00152-01 97 10


  2.6.1.    Модификация МОС ВП в  системе  с  двумя

            дисками типа DL или DQ  для  размещения

            дампов аварийных отказов                       52

  2.6.2.    Переопределение   построчно-печатающего

            устройства                                     52

  2.7.    Перезагрузка для установки  модификаций

          МОС ВП                                           53

  2.8.    Дублирование МОС ВП                              55

  2.8.1.    Дублирование консольного тома                  55

  2.8.2.    Дублирование системного диска                  57

  2.8.2.1.  Создание  набора  автономной  программы

            BACKUP на диске                                58

  2.8.2.2.  Создание   командной   процедуры    для

            загрузки автономной программы BACKUP из

            каталога    [SYSE]    диска    файловой

            структуры                                      59

  2.8.2.3.  Загрузка автономной программы BACKUP  с

            диска                                          62

  2.8.2.4.  Построение набора автономной  программы

            BACKUP на консольном носителе                  63

  2.8.2.5.  Загрузка автономной программы BACKUP  с

            консольного носителя                           66

  2.8.3.    Создание и копирование системного диска        68

  2.8.3.1.  Построение  операционной   системы   на

            другом диске                                   69

  2.8.3.2.  Копирование файлов  МОС  ВП  на  другой

            диск                                           72




                            - 6 -

                        00152-01 97 10


  3.  Настройка вычислительных систем с малыми  по  об'ему

      дисками                                              74


  3.1.    Группы файлов, поддерживаемые МОС ВП             75

  3.2.    Создание  групп   файлов,   учитывающих

          специфику вычислительной системы                 79

  3.3.    Команды подгонки                                 80

  3.4.    Специальные  операции  для   систем   с

          малыми дисками                                   96

  3.4.1.    Подготовка к выполнению средств UETP           97

  3.4.1.1.  Работа средств UETP при  их  размещении

            на библиотечном диске                          98

  3.4.1.2.  Работа средств UETP при  их  размещении

            на системном диске                             99

  3.4.2.    Разблокирование очередей заданий              100

  3.4.3.    Анализ ошибок МОС ВП                          101

  3.4.3.1.  Установка параметра SAVEDUMP                  101

  3.4.3.2.  Сохранение дампа для анализа                  102

  3.4.4.    Установка файлов образов с привилегиями       104

  3.4.5.    Копирование на системный диск  образов,

            необходимых для команд языка DCL              105

  3.5.    Сообщения об ошибках  и  информационные

          сообщения средства подгонки                     116


  4.  Отключение и запуск МОС ВП                          125


  4.1.    Отключение МОС ВП                               125

  4.1.1.    Аккуратное   отключение    с    помощью

            процедуры SHUTDOWN.COM                        126



                            - 7 -

                        00152-01 97 10


  4.1.2.    Аварийное отключение МОС ВП  с  помощью

            процедуры OPCCRASH                            135

  4.1.3.    Аварийное отключение МОС ВП  с  помощью

            процедуры CRASH                               136

  4.2.    Загрузка МОС ВП                                 140

  4.2.1.    Подразумеваемая по умолчанию загрузка         140

  4.2.2.    Альтернативная безостановочная загрузка       141

  4.2.3.    Альтернативная диалоговая загрузка            141

  4.3.    Проблемы перезапуска                            145

  4.3.1.    Проблемы аппаратуры                           146

  4.3.2.    Проблемы программного обеспечения             146


  5.  Управление пользователями МОС ВП                    147


  5.1.    Файл авторизации пользователей                  147

  5.1.1.    Записи файла UAF, поддерживаемые МОС ВП       151

  5.1.2.    Общее сопровождение файла UAF                 153

  5.2.    Подготовка         к         добавлению

          пользовательского учетного раздела              156

  5.2.1.    Имя и пароль пользователя                     157

  5.2.2.    Код идентификации пользователя                159

  5.2.3.    Запись дисковой квоты                         159

  5.2.4.    Каталог и подразумеваемая по  умолчанию

            спецификация файлов пользователя              160

  5.2.5.    Командные процедуры входа в МОС ВП  для

            интерактивных учетных разделов                161

  5.2.6.    Командные процедуры входа в МОС ВП  для

            ограничивающих учетных разделов               167




                            - 8 -

                        00152-01 97 10


  5.2.7.    Командные процедуры выхода из МОС ВП          168

  5.3.    Использование  обслуживающей  программы

          AUTHORIZE   для   добавления   учетного

          раздела пользователя                            169

  5.4.    Использование командной  процедуры  для

          добавления       учетного       раздела

          пользователя                                    172

  5.5.    Сопровождение пользовательской среды            177

  5.5.1.    Создание    дополнительных     шаблонов

            подразумеваемых по умолчанию записей          177

  5.5.2.    Удаление учетного раздела пользователя        179

  5.5.3.    Запрет на учетный раздел пользователя         182

  5.5.4.    Ограничение    использования    учетных

            разделов                                      182

  5.5.4.1.  Использование типов дней недели               183

  5.5.4.2.  Ограничение на конкретное время входа в

            МОС ВП                                        184

  5.5.4.3.  Ограничения на функции входа в МОС ВП         185

  5.6.    Проверка полей входа в МОС ВП  в  файле

          UAF                                             186

  5.7.    Альтернативные процедуры входа в МОС ВП         188

  5.8.    Создание учетного раздела для  входа  в

          МОС ВП по доверенности                          190

  5.8.1.    Создание  сетевого  файла   авторизации

            пользователей                                 191

  5.8.2.    Добавление учетных разделов входа в МОС

            ВП по доверенности                            192




                            - 9 -

                        00152-01 97 10


  5.8.3.    Управление   входом   в   МОС   ВП   по

            доверенности                                  195


  6.  Управление ресурсами                                196


  6.1.    Установка   лимитов   на    динамически

          выделяемые системные ресурсы                    196

  6.1.1.    Лимит очереди прерываний AST (ASTLM)          201

  6.1.2.    Лимит  числа  операций  буферизованного

            ввода-вывода (BIOLM)                          201

  6.1.3.    Лимит  числа   байтов   буферизованного

            ввода-вывода (BYTLM)                          202
6;
  6.1.4.    Лимит времени  центрального  процессора

            (CPU)                                         202

  6.1.5.    Лимит    числа     операций     прямого

            ввода-вывода (DIOLM)                          203

  6.1.6.    Квота очередности (ENQLM)                     203

  6.1.7.    Лимит открытых файлов (FILLM)                 205

  6.1.8.    Квота таблицы заданий (JTQUOTA)               205

  6.1.9.    Лимит  максимального  числа  заданий  в

            учетном разделе (MAXACCTJOBS)                 205

  6.1.10.   Лимит максимального числа отсоединенных

            процессов (MAXDETACH)                         206

  6.1.11.   Лимит  максимального  числа   процессов

            (MAXJOBS)                                     206

  6.1.12.   Лимит файла обмена страниц (PGFLQUO)          206

  6.1.13.   Лимит создания процессов (PRCLM)              207

  6.1.14.   Лимиты разделяемых файлов (SHRFILLM)          207




                           - 10 -

                        00152-01 97 10


  6.1.15.   Лимит записи в очередь таймера (TQELM)        208

  6.1.16.   Подразумеваемый  по  умолчанию   размер

            рабочего набора (WSDEF)                       208

  6.1.17.   Размер рабочего набора (WSеXTENT)             209

  6.1.18.   Квота рабочего набора (WSQUOTA)               209

  6.2.    Установка приоритетов  пользовательских

          процессов                                       210

  6.3.    Назначение привилегий                           211

  6.3.1.    Привилегия ACNT (поглощающая)                 217

  6.3.2.    Привилегия ALLSPOOL (поглощающая)             217

  6.3.3.    Привилегия ALTPRI (системная)                 218

  6.3.4.    Привилегия BUGCHK (поглощающая)               219

  6.3.5.    Привилегия BYPASS (полная)                    219

  6.3.6.    Привилегия CMEXEC (полная)                    220

  6.3.7.    Привилегия CMKRNL (полная)                    221

  6.3.8.    Привилегия DETACH (полная)                    221

  6.3.9.    Привилегия DIAGNOSE (файловая)                221

  6.3.10.   Привилегия EXQUOTA (поглощающая)              222

  6.3.11.   Привилегия GROUP (групповая)                  222

  6.3.12.   Привилегия GRPNAM (поглощающая)               223

  6.3.13.   Привилегия GRPPRV (групповая)                 224

  6.3.14.   Привилегия LOG_IO (полная)                    224

  6.3.15.   Привилегия MOUNT (нормальная)                 225

  6.3.16.   Привилегия NETMBX (нормальная)                225

  6.3.17.   Привилегия OPER (системная)                   225

  6.3.18.   Привилегия PFNMAP (общая)                     226

  6.3.19.   Привилегия PHY_IO (общая)                     227




                           - 11 -

                        00152-01 97 10


  6.3.20.   Привилегия PRMCEB (поглощающая)               228

  6.3.21.   Привилегия PRMGBL (поглощающая)               228

  6.3.22.   Привилегия PRMMBX (поглощающая)               229

  6.3.23.   Привилегия PSWAPM (системная)                 230

  6.3.24.   Привилегия READALL (общая)                    230

  6.3.25.   Привилегия SECURITY (общая)                   231

  6.3.26.   Привилегия SETPRV (общая)                     231

  6.3.27.   Привилегия SHARE (системная)                  232

  6.3.28.   Привилегия SYSGBL (файловая)                  232

  6.3.29.   Привилегия SYSLCK (системная)                 233

  6.3.30.   Привилегия SYSNAM (общая)                     233

  6.3.31.   Привилегия SYSPRV (общая)                     234

  6.3.32.   Привилегия TMPMBX (нормальная)                234

  6.3.33.   Привилегия VOLPRO (файловая)                  235

  6.3.34.   Привилегия WORLD (системная)                  236

  6.4.    Учет использования системных ресурствов         237

  6.4.1.    Учетные записи                                238

  6.4.2.    Файл регистрации учета                        239


  7.  Сопровождение общих файлов и томов                  241


  7.1.    Установка общих файловых структур               242

  7.1.1.    Хранение пользовательских файлов              243

  7.1.2.    Использование наборов томов                   243

  7.2.    Форматирование дисков                           246

  7.3.    Инициализация общих томов                       246

  7.4.    Монтирование общих томов                        250

  7.4.1.    Подготовка к использованию томов дисков




                           - 12 -

                        00152-01 97 10


            и магнитных лент                              253

  7.4.2.    Ответ  на  пользовательские  запросы  о

            монтировании                                  255

  7.5.    Сохранение целостности томов                    258

  7.6.    Проверка монтирования                           259

  7.6.1.    Проверка    монтирования     устройств,

            находящихся в автономном режиме               260

  7.6.2.    Проверка  монтирования  заблокированных

            по записи устройств                           263

  7.6.3.    Отмена проверки монтирования                  265

  7.6.3.1.  Системный параметр MVTIMEOUT                  266

  7.6.3.2.  Команды отмены                                267

  7.6.3.3.  Размонтирование тома                          269

  7.7.    Дублирование общих томов                        270

  7.7.1.    Наборы чередующихся дублей                    274
                                                          
  7.7.2.    Полное  дублирование  томов  и   набора

            томов                                         275

  7.7.2.1.  Дублирование общего диска на диск             276

  7.7.2.2.  Дублирование общего диска на  магнитную

            ленту                                         280

  7.7.2.3.  Дублирование набора дисковых томов  при

            ограниченном числе накопителей                281

  7.7.2.4.  Запись  наборов  сохранения   на   тома

            последовательных дисков                       284

  7.7.3.    Выборочное дублирование                       287

  7.7.4.    Возрастающее дублирование                     291

  7.7.5.    Ежедневное дублирование                       292




                           - 13 -

                        00152-01 97 10


  7.7.6.    Еженедельное дублирование                     293

  7.7.7.    Ежемесячное дублирование                      293

  7.7.8.    Защита носителя BACKUP                        294

  7.7.9.    Использование журнальных файлов BACKUP        295

  7.7.10.   Дублирование консольного носителя             299

  7.7.11.   Дублирование   системного    диска    с

            использованием   автономной   программы

            BACKUP                                        299

  7.7.12.   Восстановление всех дисковых томов            299

  7.7.13.   Восстановление  тома  из   возрастающих

            дублей                                        302

  7.7.14.   Восстановление файлов и каталогов             306

  7.7.14.1. Листинг содержимого  набора  сохранения

            BACKUP                                        306

  7.7.14.2. Восстановление   дисковых   файлов   из

            наборов  сохранения,  содержащихся   на

            магнитной ленте                               308

  7.7.14.3. Восстановление   дисковых   файлов   из

            наборов  сохранения,  содержащихся   на

            последовательных дисках                       310

  7.7.14.4. Восстановление   дисковых   файлов   из

            наборов сохранения на множество томов         312

  7.8.    Управление дисковым пространством               313

  7.8.1.    Установка сроков действия файлов              313

  7.8.2.    Установка дисковых квот                       315

  7.8.2.1.  Действия с дисковыми квотами                  316

  7.8.2.2.  Ограничения   на    другие    системные




                           - 14 -

                        00152-01 97 10


            операции                                      318


  8.  Установка образов в качесте известных образов       320


  8.1.    Приписывание    атрибутов     известным

          образам                                         321

  8.2.    Установка   образов   с    разделяемыми

          атрибутами                                      323

  8.3.    Установка образов с привилегиями                324

  8.3.1.    Привилегированные выполнимые образы           325

  8.3.2.    Привилегированные разделяемые образы          325

  8.4.    Удаление    известных     образов     и

          размонтирование томов                           326

  8.5.    Определение логических имен для  файлов

          разделяемых образов                             326


  9.  Пакетные задания и задания печати                   329


  9.1.    Создание очередей и работа с ними               329

  9.1.2.    Инициализация и запуск очередей               335

  9.1.3.    Модификация очередей                          336

  9.1.4.    Приостанов очередей                           337

  9.1.5.    Останов очередей                              337

  9.1.6.    Удаление очередей                             338

  9.1.7.    Удерживание заданий в очереди                 339

  9.1.8.    Очистка файла очередей                        340

  9.1.9.    Установка ограничений по привилегиям на

            очередь                                       341

  9.2.    Создание пакетных очередей                      344




                           - 15 -

                        00152-01 97 10


  9.2.1.    Установка    пакетных    очередей     в

            преимущественно интерактивных системах        345

  9.2.2.    Установка    пакетных    очередей     в

            преимущественно пакетных системах             347

  9.2.3.    Установка  пакетных  очередей  в  малых

            системах                                      348

  9.3.    Создание очередей вывода                        349

  9.3.1.    Именование очередей печати                    352

  9.3.2.    Использование   библиотек    управления

            устройством                                   353

  9.3.3.    Ограничение обработки очередей печати         355

  9.3.3.1.  Ограничение размеров заданий                  356

  9.3.3.2.  Ограничения заданий характеристиками          357

  9.3.3.3.  Ограничение заданий при помощи форм           359

  9.3.4.    Определение атрибутов обработки заданий

            печати                                        360

  9.3.5.    Определение    признаков     разделения

            задания                                       368

  9.3.6.    Создание общих очередей вывода                370

  9.3.6.1.  Прикрепление    общих    очередей    по

            умолчанию                                     372

  9.3.6.2.  Явное прикрепление общей очереди              374

  9.3.7.    Создание логических очередей                  375

  9.3.8.    Установка   устройств,    обслуживающих

            через спул                                    377

  9.3.9.    Установка очередей печатающих устройств

            и    построчно-печатающих    устройств,




                           - 16 -

                        00152-01 97 10


            обслуживающих через спул                      382

  9.3.9.1.  Конфигурация   с    одним    печатающим

            устройством                                   384

  9.3.9.2.  Конфигурация   с   двумя    печатающими

            устройствами                                  385

  9.3.9.3.  Конфигурация   с   тремя    печатающими

            устройствами                                  388

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

          очередями                                       390

  9.4.1.    Слияние очередей печати                       391

  9.4.2.    Возобновление выполнения заданий печати       392

  9.4.3.    Маскирующие формы печати                      394

  9.4.4.    Завершение,   повторное   занесение   в

            очередь и хранение задания печати             395

  9.4.5.    Завершение выполнения пакетного задания       397

  9.4.6.    Удаление пакетного задания или  задания

            печати из очереди                             399

  9.4.7.    Перезапуск диспетчера заданий                 400


  10. Ошибки и другие события в МОС ВП                    402


  10.1.   Операции регистрации ошибок                     402

  10.1.1.   Использование сообщений об ошибках            404

  10.1.2.   Ведение файлов регистрации ошибок             405

  10.1.3.   Распечатка файла регистрации ошибок           406

  10.2.   Использование     файла     регистрации

          сообщений оператору                             407

  10.2.1.   Сопровождение     файла     регистрации




                           - 17 -

                        00152-01 97 10


            сообщений оператору                           410

  10.2.2.   Печать  файла   регистрации   сообщений

            оператору                                     411

  10.2.3.   Перезапуск процесса OPCOM                     413

  10.3.   Использование терминала  оператора  для

          обработки пользовательских запросов             413


  11. Генерация МОС ВП                                    416


  11.1.   Функции командной процедуры AUTOGEN             417

  11.2.   Вызов командной процедуры AUTOGEN               421

  11.3.   Сбор данных для вычислений,  проводимых

          процедурой AUTOGEN                              426

  11.4.   Действия    процедуры    AUTOGEN     по

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

  11.5.   Действия с системными файлами                   433

  11.6.   Функции программы SYSGEN                        434

  11.7.   Модификация системных параметров                435

  11.7.1.   Создание нового файла параметров              437

  11.7.2.   Модификация файла системных параметров        438

  11.7.3.   Модификация активной МОС ВП                   439

  11.8.   Подсоединение  устройств   и   загрузка

          драйверов устройств                             440

  11.9.   Модификация системных файлов                    442

  11.10.  Определение командной процедуры запуска

          для операции загрузки                           447


      Перечень условных обозначений                       449





                           - 18 -

                        00152-01 97 10


      Перечень ссылочных документов                       450
























































                           - 18К -

                        00152-01 97 10


      Перечень ссылочных документов                       450К

       














































                           - 19 -

                        00152-01 97 10


                 1. Предварительные сведения




       В этом документе рассматриваются задачи управления МОС

  ВП. Они связаны с оптимизацией характеристик работы МОС ВП,

  повышением эффективности ее  фукционирования,  обеспечением

  ее эксплуатации.

       Задачи управления МОС  ВП  могут  быть  выполнены  как

  одним человеком, системным администратором, так и  несколь-

  кими: системным администратором с помощью одного или  боль-

  шего числа операторов. Поскольку функции  системного  адми-

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

  системы к другой, то далее в этом документе различий  между

  системным администратором и операторами не делается.

       Невозможно описать раз и навсегда  определенный  набор

  действий управления МОС ВП. Здесь приводятся общие правила,

  которые системный  администратор  должен  использовать  для

  разработки своей собственной стратегии управления, комбини-

  руя понимание потребностей пользователей с приобретенными в

  результате опыта знаниями возможностей МОС ВП.



       1.1. Задачи управления МОС ВП



       Обычно задачи управления МОС ВП делятся  на  следующие

  категории:

       - установка и корректировка МОС ВП;

       - выполнение модификаций, учитывающих специфику вычис-

         лительной системы;



                           - 20 -

                        00152-01 97 10


       - управление эксплуатацией МОС ВП;

       - выбор конфигурации МОС ВП с целью обеспечения эффек-

         тивных характеристик ее работы;

       - планирование с целью удовлетворения тех  требований,

         которые могут возникнуть в будущем.

       Первая задача рассматривается  в  документе  [1].  Три

  следующие задачи  описаны  в  данном  документе.  Последняя

  задача выходит за его рамки.

       Системный администратор может  выполнять  значительную

  часть своих обязанностей на терминалах пользователей. Одна-

  ко одну из своих основных функций - связь с другими пользо-

  вателями - он должен выполнять с терминала оператора, кото-

  рый определяется  привилегированной  командой  REPLY/ENABLE

  диалогового командного языка (далее по тексту языка DCL).

       Связь системного администратора с пользователями бази-

  руется в основном на сообщениях, которые  передаются  между

  ним и пользователями. Протокол этих  сообщений  воспроизво-

  дится на терминале оператора. Для последующего  использова-

  ния такие сообщения вносятся и в файл регистраций сообщений

  оператору.

       Некоторые функции по управлению МОС ВП системный адми-

  нистратор может выполнять только с консольного терминала. К

  ним относится начальная загрузка МОС ВП и связь с  консоль-

  ной подсистемой процессора СМ 1700.










                           - 21 -

                        00152-01 97 10


       1.1.1. Задачи эксплуатации


       Обычно МОС ВП  функционирует  при  минимальном  вмеша-

  тельстве системного администратора. Однако во многих проце-

  дурах установки  системный  администратор  поддерживает  ее

  нормальную работу, выполняя следующие задачи:

       - физическое монтирование магнитных лент и  дисков  по

         запросам пользователей - владельцев этих лент и дис-

         ков;

       - инициализация общих файлов и томов;

       - передача сообщений пользователям;

       - обслуживание построчно-печатающих устройств;

       - реагирование на аварийные ситуации;

       - распечатка копий файла регистрации сообщений  опера-

         тору и файла регистрации ошибок;

       - упорядочение и отключение компонентов сети.



       1.1.2. Средства и привилегии



       Для управления МОС ВП системный администратор имеет  в

  своем распоряжении мощные команды и обслуживающие  програм-

  мы, позволяющие контролировать действия и ресурсы МОС ВП  и

  управлять ими. Кроме того он получает привилегии, необходи-

  мые для выполнения функций управления.











                           - 22 -

                        00152-01 97 10


       1.1.2.1. Команды языка DCL



       Данный  документ  содержит  многочисленные  ссылки  на

  команды языка DCL, наиболее часто используемые для  поддер-

  жания нормальной работы МОС  ВП.  Большинство  этих  команд

  требуют привилегии OPER. Детальное описание команд  дано  в

  документе [2].



       1.1.2.2. Обслуживающие программы МОС ВП


       В табл.1 перечисляются обслуживающие программы,  часто

  применяемые в качестве средств управления МОС ВП, и  кратко

  описывается их назначание. В соответствующих местах данного

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

  иные обслуживающие программы.

                                                   Таблица 1

         Обслуживающие программы для управления МОС ВП

  ----------------------------------------------------------

     Имя программы    !          Функция

  ----------------------------------------------------------

  ACCOUNTING          ! Выдает сообщения и краткую информа-

                      ! цию об использовании МОС ВП

                      !

  ANALYZE/ERROR_LOG   ! Сообщает содержимое файла регистра-

                      ! ции ошибок

                      !

  AUTHORIZE           ! Добавляет и модифицирует записи в




                           - 23 -

                        00152-01 97 10


                                         Продолжение табл. 1

  ----------------------------------------------------------

     Имя программы    !          Функция

  ----------------------------------------------------------

                      ! существующих файлах авторизации

                      ! пользователей и авторизации сетей

                      ! или создает новые файлы. Добавляет

                      ! и модифицирует записи в базах дан-

                      ! ных прав по идентификаторам

                      !

  BAD                 ! Анализирует блок-адресуемые устрой-

                      ! ства и достоверность тех блоков,

                      ! которые не обеспечивают надежное

                      ! хранение данных

                      !

  DISKQUOTA           ! Управляет использованием дисковых

                      ! томов

                      !

  INSTALL             ! Устанавливает и поддерживает извес-

                      ! тные образы

                      !

  MONITOR             ! Контролирует общесистемные характе-

                      ! ристики работы

                      !

  SYSGEN              ! Выполняет задачи, связанные с гене-

                      ! рацией системы, такие как загрузка

                      ! и подключение драйверов, создание




                           - 24 -

                        00152-01 97 10


                                         Продолжение табл. 1

  ----------------------------------------------------------

     Имя программы    !          Функция

  ----------------------------------------------------------

                      ! и расширение файла обмена рабочих

                      ! наборов и файла обмена страниц, ото-

                      ! бражение или модификация значений

                      ! системных параметров



       1.1.2.3. Привилегии


       Функции управления МОС ВП требуют привилегий,  которые

  не даются большинству пользователей. В разделе 6  приведена

  более детальная информация о привилегиях и о том, кто может

  их получить. В разделе 5  описано,  как  установить  записи

  авторизации, чтобы дать эти привилегии.



       1.1.3. Компоненты МОС ВП


       Для эффективного управления МОС ВП необходимо детально

  ознакомиться с ее основными компонентами, которые содержат-

  ся в десяти  системных  каталогах.  Логические  имена  этих

  каталогов и краткое описание следующие:

  SYS$ERRORLOG

       - содержит файл регистрации ошибок (ERRLOG.SYS);

  SYS$EXAMPLES

       - содержит образцы программ драйверов,  программ  сис-

         темного обслуживания,  написанных  пользователем,  и




                           - 25 -

                        00152-01 97 10


         других исходных программ;

  SYS$HELP

       - содержит файлы текстов и библиотеки помощи для  обс-

         луживающей программы HELP;

  SYS$LIBRARY или SYS$SHARE

       - содержит различные макро и  об'ектные  библиотеки  и

         разделяемые образы;

  SYS$MAINTENANCE

       - содержит программы диагностики системы;

  SYS$MANAGER

       - содержит файлы, используемые для управления МОС ВП;

  SYS$MESSAGE

       - содержит файлы системных сообщений;

  SYS$SYSTEM

       - содержит выполняемые образы большинства функций  МОС

         ВП;
          
  SYS$TEST

       - содержит файлы, используемые  при  проверке  функций

         МОС ВП;

  SYS$UPDATE

       - содержит файлы, используемые при применении  коррек-

         тирующей информации МОС ВП.

  Полный перечень файлов МОС ВП, приведен в документе [1].












                           - 26 -

                        00152-01 97 10


             2. Настройка МОС ВП после установки



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

  том, чтобы подготовить МОС ВП к работе и запустить ее.  Как

  минимум он должен установить и  загрузить  МОС  ВП,  следуя

  процедурам, описанным в документе [1].

       После установки МОС ВП можно осуществить ее  настройку

  с учетом конкретного режима эксплуатации  путем  выполнения

  одного или нескольких действий из числа следующих:

       1) создание командных  процедур  запуска,  учитывающих

  специфику вычислительной системы.

       С целью обеспечения удобств установки, командная  про-

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

  мы, SYS$MANAGER:SYSTARTUP.COM,  при  установке  МОС  ВП  не

  заполнена. После установки МОС ВП администратор добавляет в

  процедуру SYSTARTUP.COM команды для того, чтобы задать спе-

  цифику режима вычислительной системы. Например, в эту  про-

  цедуру обычно включаются команды, которые инициализируют  и

  запускают пакетные очереди и очереди вывода.  В  подразделе

  2.2 описаны командные процедуры запуска. В  подразделе  2.3

  показано, как создать типичную командную процедуру  запуска

  с учетом специфики вычислительной системы;

       2) выбор подразумеваемой по умолчанию командной проце-

  дуры загрузки.

       Файл DEFBOо.CMD является командной процедурой загрузки

  (подраздел 2.4), вызываемой по умолчанию для  загрузки  мос

  вп с соответствующего дискового накопителя. После установки




                           - 27 -

                        00152-01 97 10


  необходимо выбрать и скопировать в DEFBOO.CMD подразумевае-

  мую по умолчанию командную процедуру загрузки из числа про-

  цедур, имеющихся на консольном  носителе  (подразделы  2.4;

  2.5). Можно выбрать или безостановочную или диалоговую про-

  цедуру. Безостановочная процедура применяется в том случае,

  когда необходимо загрузить МОС ВП,  не  останавливаясь  для

  изменения системных параметров. Диалоговая процедура позво-

  ляет изменять параметры в процессе загрузки;

       3)  выполнение  учитывающих  специфику  вычислительной

  системы модификаций для специальных конфигураций или требо-

  ваний к рабочей нагрузке.

       При загрузке МОС ВП командная процедура AUTOGEN задает

  соответствующие аппаратуре системные параметры. Однако, при

  необычной конфигурации аппаратуры или при специальных  тре-

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

  в модификации некоторых из этих параметров. Обсуждение про-

  цедуры AUTOGEN для этого случая дано в разделе 11. В систе-

  ме с двумя дисками типа DL или DQ необходимо отрегулировать

  размеры файлов обмена рабочих наборов  с  целью  размещения

  дампов аварийных отказов. Кроме того, если система  исполь-

  зует синхронный порт типа XG, то необходимо  переопределить

  имена построчно-печатающих устройств. Эти модификации  опи-

  саны в пп. 2.6.1 и 2.6.2. После выполнения модификаций  мос

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

  мо отключить и перезагрузить МОС ВП для того чтобы гаранти-

  ровать установку этих  модификаций.  Например,  большинство

  модификаций системных параметров не действительны до отклю-




                           - 28 -

                        00152-01 97 10


  чения и перезагрузки МОС ВП.  Процедуры  для  отключения  и

  перезагрузки МОС ВП об'ясняются в подразделе 2.7. и в  раз-

  деле 4;

       4) дублирование МОС ВП.

       После установки и доводки МОС ВП необходимо  выполнить

  различные операции дублирования в соответствии с  подразде-

  лом 2.8.

       В подразделах 2.1...2.8 данного раздела обсуждаются те

  задачи, которые должен  выполнять  системный  администратор

  для настройки вновь установленной МОС ВП и подготовки ее  к

  ежедневному использованию.

       В разделе 3 описываются процедуры для  настройки  сис-

  тем, размещаемых на небольших по об'ему дисках.



       2.1. Вход в МОС ВП


       Перед выполнением модификаций,  учитывающих  специфику

  вычислительной системы, необходимо войти в МОС ВП под учет-

  ным именем администратора, SYSTEM. При загрузке МОС ВП  она

  об'являет о себе сообщением инициализации:


          M32/VOS VERSION 4.3. <DD-MMM-YYYY HH:MM:SS.S>

      %%%%%%%%%%% OPCOM, <DD-MMM-YYYY HH:MM:SS.S> %%%%%%%%%%%

      LOGFILE HAS BEEN INITIALIZED BY OPERATOR _OPAO:

      LOGFILE IS SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;1

      %SET-I-INTSET, LOGIN INTERACTIVE LIMIT = 64

                     CURRENT INTERACTIVE VALUE = 0

      SYSTEM         JOB TERMINATED AT <DD-MMM-YYYY




                           - 29 -

                        00152-01 97 10


                     HH:MM:SS.S>


       Для входа  в  МОС  ВП  в  качестве  ее  администратора

  используется следующая процедура:

       1) на консольном терминале нажать клавишу <ВК>;

       2) в ответ на запрос  МОС  ВП  об  имени  пользователя

  напечатать SYSTEM;

       3) в ответ на запрос МОС ВП о пароле напечатать пароль

  SYSTEM.

       Примечание. Для надежной защиты МОС  ВП  рекомендуется

  часто изменять учетный  пароль  системного  администратора.

  Кроме того, соответствующий учетный раздел имеет по умолча-

  нию полные привилегии, поэтому  при  использовании  данного

  пароля необходимо соблюдать осторожность.

       При вводе пароля, МОС ВП напечатает на консольном тер-

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

  последнего входа:


       WELCOME TO M32/VOS VERSION 4.3

       LAST INTERACTIVE LOGIN AT 15-APR-1987 15:13:21.O7


       Когда на консольном терминале  напечатается  командная

  подсказка, можно начать модификацию МОС ВП, используя инст-

  рукции подраздела 2.2.



       2.2. Командные процедуры запуска



       МОС ВП содержит следующие командные процедуры запуска:





                           - 30 -

                        00152-01 97 10


  SYS$SYSTEM:STARTUP.COM

       - файл содержащий команды, которые должны  выполняться

         во время инициализации, для того чтобы МОС ВП  функ-

         ционировала надлежащим образом. Эта процедура  неза-

         висима от специфики вычислительной системы;

  SYS$MANAGER:SYCONFIG.COM

       - пустой файл, к которому можно добавлять  собственные

         команды специфического  конфигурирования  устройств.

         Эта  командная   процедура   вызывается   процедурой

         STARTUP.COM (п. 2.2.2);

  SYS$MANAGER:SYSTARTUP.COM

       - пустой файл, к которому можно добавлять команды спе-

         цифической  инициализации  конкретной  системы.  Эта

         процедура является командной процедурой, учитывающей

         специфику вычислительной системы, и вызывается  про-

         цедурой STARTUP.COM (п. 2.2.3).

       Примечание.  Нельзя  модифицировать  файл  SYS$SYSTEM:

  STARTUP.COM. Вместо этого следует помещать команды,  учиты-

  вающие   специфику   вычислительной   системы,    в    файл

  SYSTARTUP.COM, поскольку новые  версии  МОС  ВП  стирают  и

  заменяют  командный  файл  STARTUP.COM.   При   модификации

  STARTUP.COM следует убедиться, что корректировка МОС ВП  на

  новую версию не приводит к потере команд,  специфичных  для

  конкретной вычислительной системы. Кроме  того,  если  файл

  STARTUP.COM не будет затронут, то это препятствует  случай-

  ному изменению любых команд в данном файле.

       Рис.  1  иллюстрирует  последовательность   выполнения




                           - 31 -

                        00152-01 97 10


  командных процедур запуска.


             Последовательность выполнения командных
                         процедур запуска

    SYS$SYSTEM:STARTUP.COM           SYS$MANAGER:SYCONFIG.COM
  +-------------------------+       +-----------------------+
  !$SAVED_VERIFY=F$VERIFY(0)!     />! $ SET VERIFY          !
  !                         !    /  !                       !
  !            .            !   /   !           .           !
  !            .            !  /    !           .           !
  !            .            ! /     !           .           !
  !                         !/      !                       !
  ! $@SYS$MANAGER:SYCONFIG  !<------!  $ EXIT               !
  !                         !       +-----------------------+
  !                         !
  !            .            !
  !            .            !
  !            .            !
  !                         !       SYS$MANAGER:SYSTARTUP.COM
  !                         !        +----------------------+
  ! $@SYS$MANAGER:SYSTARTUP !------->! $ SET NOON           !
  !                         !<-\     !                      !
  !            .            !   \    !          .           !
  !            .            !    \   !          .           !
  !            .            !     \  !          .           !
  !                         !      \ !                      !
  ! $еXIT                   !       \! $ LOGOUT/BRIEF       !
  +-------------------------+        +----------------------+

                             Рис. 1



       2.2.1. Командная   процедура    запуска,    не

              учитывающая  специфику   вычислительной

              системы



       Сразу после загрузки МОС ВП автоматически  выполняется

  командная  процедура   SYS$SYSTEM:STARTUP.COM,   включающая

  команды, которые:

       - выполняют различные служебные действия;

       - определяют общесистемные логические имена, требуемые

         для символического отладчика, языковых  процессоров,



                           - 32 -

                        00152-01 97 10


         компоновщика, активатора образов и процессора  помо-

         щи;

       - запускают три процесса, которые управляют  регистра-

         цией  ошибок,  диспетчером  заданий  и  регистрацией

         сообщений оператору;

       - подсоединяют устройства, которые физически  доступны

         системе, загружают их драйверы ввода-вывода (см.  П.

         2.2.2);

       - устанавливают известные образы.

       Перед завершением процедуры STARTUP.COM  она  вызывает

  командную процедуру запуска SYS$MANAGER:SYSTARTUP.COM  (см.

  п. 2.2.3). При завершении SYSTARTUP.COM управление  возвра-

  щается в STARTUP.COM, и, если в процедуре SYSTARTUP не было

  задано число интерактивных пользователей, то оно по умолча-

  нию задается равным 64 (см. п. 2.3.12).  После  этого  шага

  осуществляется выход из STARTUP.COM.



       2.2.2. Командная  процедура   конфигурирования

              устройств



       Одна  из  стадий   командной   процедуры   SYS$SYSTEM:

  STARTUP.COM  состоит  в  присоединении  устройств,  которые

  физически  доступны  системе,  и  загрузке   их   драйверов

  ввода-вывода.  Для  этого  STARTUP.COM   сначала   вызывает

  командную процедуру SYS$MANAGER:SYCONFIG.COM, которая  пос-

  тавляется как пустой файл. Можно оставить данный файл  пус-

  тым или можно добавить в него собственные команды  специфи-




                           - 33 -

                        00152-01 97 10


  ческого конфигурирования устройств.

       После выполнения SYCONFIG.COM управление  возвращается

  в STARTUP.COM, и  для  автоматического  присоединения  уст-

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

  ды:


       $ RUN SYS$SYTEM:SYSGEN

       $ AUTOCONFIGURE ALL


       Это автоконфигурирование можно подавить  включением  в

  качестве последней строки процедуры SYCONFIG.COM  следующей

  команды:


       $ STARTUP$AUTOCONFIGURE_ALL==0



       2.2.3. Командная      процедура       запуска,

              учитывающая  специфику   вычислительной

              системы



       Для  выполнения  команд,  специфичных  для  конкретной

  вычислительной  системы,  командная  процедура  STARTUP.COM

  вызывает процедуру SYS$MANAGER:SYSTARTUP.COM. Рекомендуется

  отредактировать файл SYSTARTUP.COM с целью включения в него

  команд, которые с учетом специфики  вычислительной  системы

  будут выполнять следующие типичные действия:

       - монтировать общие диски;

       - определять логические имена;

       - задавать характеристики терминалов или  других  уст-

         ройств;



                           - 34 -

                        00152-01 97 10


       - инициализировать и запускать очереди;

       - устанавливать известные образы;

       - запускать анализатор дампа системы;

       - очищать файл регистрации сообщений оператору;

       - запускать пакетные задания, которые будут выполнять-

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

         время ее работы;

       - подсоединять устройства;

       - устанавливать вторичные файлы обмена страниц и обме-

         на рабочих наборов;

       - об'являть о том, что МОС ВП скорректирована и  рабо-

         тает;

       - переопределять число интерактивных пользователей;

       - завершать данную командную процедуру.

       Для уменьшения накладных расходов при выполнении  про-

  цедуры SYSTARTUP.COM в ее начало обычно включается  команда

  SET NOON языка DCL, блокирующая обработку ошибок.



       2.3. Создание     собственной      командной

            процедуры     запуска,      учитывающей

            специфику вычислительной системы



       В пп. 2.3.1...2.3.13 описаны правила  создания  типич-

  ной, учитывающей специфику вычислительной системы командной

  процедуры запуска. Все командные процедуры даются в качест-

  ве примеров. Не следует копировать их один к одному.






                           - 35 -

                        00152-01 97 10


       2.3.1. Монтирование общих дисков



       Чтобы смонтировать общие диски для общесистемного дос-

  тупа целесообразно включить команды монтирования  в  собст-

  венную процедуру запуска. Следует  также  учесть  некоторые

  преимущества использования логических имен томов для  того,

  чтобы не обращаться по  именам  физических  устройств.  При

  монтировании диска команда MOUNT создает специальное  логи-

  ческое имя, называемое логическим именем тома, которое мож-

  но использовать для обращения к тому.  При  размонтировании

  тома это логическое имя стирается.

       Пример.


       $ MOUNT/SYSTEM DQA1: USERFILES USER


       Эта команда создает логическое имя тома USER и прирав-

  нивает его к строке имени устройства DQA1. Однако имя  USER

  лишь транслируется в физическое устройство, в то время  как

  фактически монтируется диск данных.

       Если при монтировании диска  логическое  имя  явно  не

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

  по умолчанию имя вида: DISK$метка_тома. Если бы  в  примере

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

  ваемым   по   умолчанию   логическим   именем    было    бы

  DISK$USERFILE. Поскольку логическое имя тома распечатывает-

  ся на странице флагов листинга и воспроизводится на  терми-

  нале командами SHOW DEVICE/FILES и SHOW MEMORY/FILES  языка

  DCL, то время от времени такие метки можно смотреть.




                           - 36 -

                        00152-01 97 10


       Если системный администратор и пользователи  применяют

  логическое  имя  тома  согласовано,  то  нет  необходимости

  знать, на  каком  физическом  устройстве  смонтирован  том.

  Таким образом, можно не включать имена физических устройств

  в программы и командные процедуры.

       При выполнении процедуры SYSTARTUP.COM (и только  тог-

  да) подразумеваемым  по  умолчанию  квалификатором  команды

  MOUNT является квалификатор  /NOASSIST.  Он  означает,  что

  помощь оператора при монтировании запрещена. Если во  время

  работы SYSTARTUP желательно,  чтобы  эта  возможность  была

  разрешена, то необходимо задавать /ASSIST с каждой командой

  MOUNT. Более подробная информация о монтировании общих дис-

  ков приведена в разделе 7.



       2.3.2. Определение  общесистемных   логических

              имен



       Кроме логических имен, определенных в учитывающей спе-

  цифику вычислительной системы командной процедуре  запуска,

  можно определить и общесистемные логические имена  командой

  типа:


       $ DEFINE/SYSTEM SYSDSK SYS$SYSDеVICE:


  более детальная информация  о  присвоении  логических  имен

  приведена в документе [2].








                           - 37 -

                        00152-01 97 10


       2.3.3. Задание характеристик устройств



       Для задания характеристик  терминалов  и  других  уст-

  ройств системы можно в рассматриваемой командной  процедуре

  использовать ряд команд SET. При необходимости можно  вклю-

  чить в нее комментарии, которые задают имена  пользователей

  для владельцев терминалов.

       Пример.


  $ SET TERMINAL TTC2: /SPEED=300/DEVICE_TYPE=LA36/PERMANENT

  $ SET TERMINAL TTD1: /SPEED=9600/PERMANENT

  $ SET TERMINAL TTD4: /SPEED=1200/PERMANENT

  $ SET TERMINAL TTG4: /SPEED=1200/MODEM/PERMANENT

  $ SET PRINTER LPA0: /LOWER/NOCR

  $ SET DEVICE LPA0: /SPOOLED


       Следует отметить, что квалификатор /SPEED задает одним

  значением и скорость передачи и скорость приема. Квалифика-

  тор /MODEM определяет терминал, который будет использовать-

  ся на входной линии. Характеристики печатающего  устройства

  (задаваемые командами SET PRINTER и SET DEVICE) должны быть

  заданы до создания очередей печатающих  устройств.  Команды

  SET TERMINAL можно включить в  отдельный  файл,  именуемый,

  например,  TERMSET.COM,  а  для  вызова  командного   файла

  TERMSET.COM  можно  включить  соответствующую   команду   в

  SYSTARUP.COM. При завершении  выполнения  этого  командного

  файла управление возвращается в SYSTARTUP.COM.






                           - 38 -

                        00152-01 97 10


       2.3.4. Инициализация и запуск очередей



       Для запуска программы, управляющей системными очередя-

  ми заданий, следует использовать команды работы с  очередя-

  ми, устанавливать устройства, обслуживающие через  спул,  и

  создавать очереди печати и пакетные очереди.

       Инициализация и запуск каждой  очереди  осуществляется

  отдельной командной строкой INITIALIZE/QUEUE/START.  Запуск

  программы, управляющей системными очередями заданий, а так-

  же инициализация и запуск всех очередей, если они  останов-

  лены, выполняется следующими командами:


  $ !

  $ !START THE SYSTEM JOB QUEUE MANAGER

  $ !

  $ START/QUEUE/MANAGER

  $ !

  $ !SET PRINTERS SPOOLED AND ESTABLISH PRINTER GUEUES

  $ !

  $ SET PRINTER/LOWER LPA0:

  $ SET DEVICE/SPOOLED=SYS$PRINT LPA0:

  $ INITIALIZE/QUEUE/START/DEFAULT=FLAG/NOENABLE_GENERIC -

  _$ LPA0:

  $ !

  $ SET PRINTER/LOWER LPB0:

  $ SET DEVICE/QUEUE/START/GENETIC=(LPA0,LPB0) SYS$PRINT

  $ INITIALIZE/QUEUE/START/DEFAULT=FLAG/NOENABLE_GENERIC -

  _$ LPB0:



                           - 39 -

                        00152-01 97 10


  $ !

  $ INITIALIZE/QUEUE/START/GENERIC=(LPA0,LPB0) SYS$PRINT

  $ !

  $ !ESTABLISH BATCH QUEUES

  $ INITIALIZE/QUEUE/START/BATCH/JOB_LIMIT=2/BASE_PRIORITY=3-

  _$ SYS$BATCH


       В системе с большим  числом  очередей  можно  включить

  команды работы с очередями  в  отдельный  файл,  именуемый,

  например,  STARTQ.COM,  а  также  включить  соответствующую

  команду в SYSTARTUP.COM с  целью  вызова  командного  файла

  работы с очередями. Когда этот файл завершает свое выполне-

  ние, управление возвращается в SYSTARTUP.COM.

       В разделе 9 описано, как задать очереди  и  установить

  устройства, обслуживающие через спул.



       2.3.5. Установка известных образов



       Важно установить пользовательские и системные програм-

  мы (в дополнении к программам,  установленным  в  командной

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

  системы) таким образом, чтобы они могли быть быстро  найде-

  ны, разделены и снабжены привилегиями:


          $ INSTALL = "INSTALL/COMMAND_MODE

          $ INSTALL

          ADD/OPEN/SHARED/HEADER_RESIDENT BLISS32

          ADD/OPEN/SHARED MACRO32




                           - 40 -

                        00152-01 97 10


          ADD/OPEN DIRECTORY


       Более детальная  информация  об  установке  образов  в

  качестве известных образов приведена в разделе 8, а  описа-

  ние обслуживающей программы INSTALL - в документе [3].



       2.3.6. Работа анализатора дампа системы



       Каждый раз при загрузке МОС  ВП  необходимо  запускать

  анализатор дампа системы (SDA), если  во  время  последнего

  сеанса работы МОС ВП функционировала со сбоями:


          $ ANALYZE/CRASH_DUMP SYS$SYSTEM:SYSDUMP.DMP

          COPY SYS$ERRORLOG:SYSDUMP.DMP

          SET OUTPUT LPA0:SYSDUMP.LIS

          SHOW CRASH

          SHOW STACK/ALL

          SHOW SUMMARY

          SHOW PROCESS/PCB/PHD/REGISTERS


       Если необходима более подробная информация,  то  после

  завершения запуска  можно  вызвать  SDA  для  интерактивной

  работы в соответствии с описанием документа [4].

       Примечание. Если для  файла  дампа  используется  файл

  обмена страниц, то во время перезагрузки МОС ВП  необходимо

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

  ровать дамп в другой файл, для последующего  анализа.  Если

  операцию копирования выполнить  не  удается,  то  страницы,

  использованные для сохранения информации дампа, освобождены



                           - 41 -

                        00152-01 97 10


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

  STARTUP.COM в процессе перезагрузки система зависнет.



       2.3.7. Обслуживание     файла      регистрации

              сообщений оператору



       В разделе 10 даются некоторые советы  по  обслуживанию

  файла регистрации сообщений  оператору.  Если  на  практике

  системный администратор решит их не использовать, то вместо

  этого для очистки всех версий (кроме двух последних)  файла

  регистрации сообщений оператору  можно  добавить  следующую

  команду:


  $ PURGE/KEEP=2 SYS$MANAGER:OPERATOR.LOG



       2.3.8. Запуск стандартных пакетных заданий



       В некоторых вычислительных системах могут быть  пакет-

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

  вп и которые перезапускают  сами  себя  через  определенные

  интервалы функционирования МОС ВП. Для таких заданий в фай-

  ле запуска используется команда SUBMIT языка команд DCL:


  $ SUBMIT SYS$MANAGER:спецификация-файла



       2.3.9. Подсоединение устройств



       Для подсоединения устройств, не подсоединяемых автома-




                           - 42 -

                        00152-01 97 10


  тически в процедуре STARTUP.COM, следует выполнить обслужи-

  вающую программу генерации системы SYSGEN (см. раздел 11  и

  [5]). Она вызывается командой:


          $ RUN SYS$SYSTEM:SYSGEN


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

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

  динить его следующей командой:


          CONNECT CONSOLE


       Консольное запоминающее устройство можно монтировать и

  командой типа:


       $ MOUNT/FOREIGN/SYSTEM/PROTECTION=(SYSTEM:RWED) CSA1:-

       _$ CONSOLE


       Сбой при монтировании консольного  запоминающего  уст-

  ройства с соответствующей защитой не запрещает  пользовате-

  лям монтировать это устройство и обращаться  к  нему,  пос-

  кольку оно имеет формат системы рафос без защиты файлов.



       2.3.10. Установка   вторичных   файлов   обмена

               страниц и обмена рабочих наборов



       Для установки вторичных файлов обмена страниц и обмена

  рабочих наборов выполняется обслуживающая программа SYSGEN:








                           - 43 -

                        00152-01 97 10


          $ RUN SYS$SYSTEM:SYSGEN

          INSTALL DISK$SYS2:[SYSTEM]PAGEFILE2.SYS /PAGEFILE

          INSTALL DISK$SYS2:[SYSTEM]SWAPFILE2.SYS /SWAPFILE





       2.3.11. Выдача сообщений



       Обычно  последняя  команда   процедуры   SYSTARTUP.COM

  выдает сообщения на все терминалы о том, что МОС ВП  готова

  и функционирует:


       $ REPLY/ALL/BELL "мос вп инициализирована"


       Перед выходом из SYSTARTUP.COM может оказаться необхо-

  димым определить одно или оба логических имени SYS$ANNOUNсE

  и SYS$WELCOME с учетом  специфики  вычислительной  системы.

  Эти логические имена проверяются при каждом входе пользова-

  теля в МОС ВП, и тогда же даются специальные сообщения.



       2.3.11.1. Сообщение SYS$ANNOUNCE



       SYS$ANNOUNCE определяет  текст,  который  должен  быть

  распечатан, когда пользователь входит в МОС ВП, т.е  текст,

  который печатается сразу  после  правильного  набора  кода,

  символов УС/Y или получения символа <ВК>. Этот текст  может

  содержать до 63 символов. Для печати более длинных  сообще-

  ний можно перед именем файла, содержащего текст,  поместить

  знак (@), с тем, чтобы командная процедура  входа  печатала




                           - 44 -

                        00152-01 97 10


  весь файл как сообщение.

       Например, в файл SYSTARTUP.COM можно включить  команду

  следующего вида:


       $ DEFINE/SYSTEM SYS$ANNOUNCE "ENTER IF YOU DARE"



  или возможно предпочтительнее напечатать файл:



    $ DEFINE/SYSTEM SYS$ANNOUNCE "@SYS$MANAGER:ANNOUNCE.TXT"


       Если имя SYS$ANNOUNCE не определено, то никакое  сооб-

  щение не печатается.



       2.3.11.2. Сообщение SYS$WELCOME



       SYS$WELCOME  определяет  текст,  который  должен  быть

  напечатан, когда пользователь успешно войдет в МОС ВП, т.е.

  текст, который печатается  сразу  после  ввода  корректного

  пароля. Этот пароль может содержать  до  63  символов.  Для

  печати более длинных сообщений можно  перед  именем  файла,

  содержащего текст, поместить знак (@), с тем, чтобы команд-

  ная процедура входа печатала  весь  файл  как  приглашающее

  сообщение.

       Например, в файл SYSTARTUP.COM можно включить  команду

  следующего вида:










                           - 45 -

                        00152-01 97 10


       $ DEFINE/SYSTEM SYS$WELCOME "WELCOME TO OLD МОС ВП"



   или возможно предпочтительнее напечатать файл:



      $ DEFINE/SYSTEM SYS$WELCOME "@SYS$MANAGER:WELCOME.TXT"


       Если SYS$WELCOME специально не определяется, то  печа-

  тается стандартное приглашающее сообщение МОС ВП:


       WELCOME TO M32/VOS VERSION 4.3


       Следует отметить, что, если определено логическое  имя

  SYS$NODE, то последнее сообщение может кончаться специфика-

  цией имени узла.



       2.3.12. Переопределение   числа   интерактивных

               пользователей



       Если число интерактивных пользователей, которые однов-

  ременно могут войти в МОС  ВП,  не  равно  64,  то  в  файл

  SYSTARTUP.COM включается следующая команда:


       $ STARTUP$INTERACTIVE_LOGINS==N



  для N указывается соответствующее число пользователей.

       При завершении SYSTARTUP.COM управление возвращается в

  процедуру STARTUP.COM, которая проверяет,  было  ли  задано

  число пользователей. Если это было сделано, то используется

  заданное число. В противном случае STARTUP.COM задает  чис-




                           - 46 -

                        00152-01 97 10


  ло, равное по умолчанию 64, и выполняет выход.



       2.3.13. Завершение SYSTARTUP.COM



       В командную процедуру SYSTARTUP.COM в качестве послед-

  ней команды включается команда EXIT. Она завершает процеду-

  ру  и   возвращает   управление   в   командную   процедуру

  STARTUP.COM.



       2.4. Выбор  подразумеваемой   по   умолчанию

            командной процедуры загрузки



       Подразумеваемые по умолчанию командные процедуры  заг-

  рузки сгруппированы по типам  систем  контроллеров  дисков:

  интегральным контроллерам дисков (IDC), дисковым  адаптерам

  общей шины (UDA), контроллерам общей шины. Во всех  случаях

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

  ле: кассетах типа CS.

       После установки МОС ВП необходимо  выбрать  подразуме-

  ваемую по умолчанию командную процедуру загрузки  из  числа

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

  определить какие процедуры  имеются,  необходимо  выполнить

  следующие действия:

       1) проверить, подсоеденено ли  консольное  устройство.

  Если нет, то следует вызвать обслуживающую программу SYSGEN

  и  для  подсоединения  этого  устройства  ввести  следующую

  команду:




                           - 47 -

                        00152-01 97 10


       SYSGEN>CONNECT CONSOLE


       2) затем надо выйти из SYSGEN и смонтировать  консоль-

  ный том, как чужой (его формат RT-11). В этом примере пред-

  полагается, что консольный том физически  располагается  на

  CSA1:


       $ MOUNT/FOREIGH CSA1:


       3)  затем  следует  вызвать  обслуживающую   программу

  EXCHANGE, используя следующую команду языка DCL:


       $ EXCHANGE


       4) когда появится подсказка EXCHANGE>, то, для получе-

  ния листинга файлов консольного тома, надо ввести следующую

  команду:


       EXCHANGE> DIRECTORY CSA1:


       Для определения процедур пригодных для загрузки с сис-

  темных устройств необходимо после печати  листинга  изучить

  его. Обычно, файлы загрузки начинаются с буквы D и кончают-

  ся или символами BOO.CMD  (безостановочные)  или  символами

  GEN (диалоговые).

       По первым двум буквам в  имени  файла,  представляющим

  код устройства, можно установить связь каждой  процедуры  с

  дисковым устройством. Например, файлы, начинающиеся с  букв

  DM, используются для загрузки с дисковых устройств типа DM.

  (перечень кодов устройств для различных дисковых  накопите-

  лей приведен в документе [5].)



                           - 48 -

                        00152-01 97 10


       Третий символ имени файла обычно тождественнен  номеру

  соответствующего дискового устройства. Например, DM1BOO.CMD

  используется для загрузки с  диска  типа  DM,  приписанного

  номером устройства 1 к первому контроллеру общей шины.

       Если третий символ представляет собой букву (A,B,C или

  D), то такой файл можно использовать для  загрузки  с  уст-

  ройств, присоединенных к соответствующему контроллеру (A  -

  к первому контроллеру, B - ко второму  и  т.д.).  Например,

  DMBBOO.CMD (третьим символом является B)  используется  для

  загрузки с дисковых накопителей  типа  DM,  приписанных  ко

  второму контроллеру общей шины. При использовании процедуры

  этого типа необходимо задать номер устройства одним из сле-

  дующих способов: или отредактировать процедуру для  занесе-

  ния выбранного номера в регистр  R3  (регистр  номера  уст-

  ройства) или использовать консольную команду DEPOSIT с  той

  же целью.

       Например, если необходимо провести загрузку с  накопи-

  теля DM, приписанного номером устройства 3 к третьему конт-

  роллеру общей шины, то к файлу загрузки DMCBOO.CMD  следует

  добавить строку:


       DEPOSIT R3 00000003 ! номер дискового устройства.



       2.5. Модификация     подразумеваемой      по

            умолчанию командной процедуры загрузки



       Как только подразумеваемая по умолчанию командная про-

  цедура загрузки для конкретной вычислительной системы  выб-



                           - 49 -

                        00152-01 97 10


  рана, может появиться необходимость в модификации этой про-

  цедуры. Такая модификация требуется  если,  например,  надо

  загрузить МОС ВП с дискового накопителя отличного от  обыч-

  ного системного устройства.

       Из-за способа форматирования консольного  тома  нельзя

  модифицировать файл на этом томе. Сначала необходимо скопи-

  ровать этот файл в дисковый каталог, затем  смодифицировать

  его, и наконец, скопировать его обратно в  консольный  том.

  Для выполнения операций копирования используется  командная

  процедура DXCOPY следующим образом:


       1) вызвать DXCOPY


          $ @SYS$UPDATE:DXCOPY


       2) на вопрос командной процедуры о том, смонтирован ли

  консольный носитель, напечатать букву Y:


       IS THE SYSTEM CONSOLE STORAGE MEDIUM MOUNTED (Y/N)?: Y


       3) на вопрос DXCOPY о необходимости копирования  файла

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

  лог напечатать Y:


       COPY FROM CONSOLE MEDIUM (Y/N)?: Y


       4) когда DXCOPY выдаст подсказку на копирование,  сле-

  дует напечатать имя того файла, который надо скопировать  в

  подразумеваемый по умолчанию каталог:


       NAME OF FILE TO BE COPIED?: спецификация-файла




                           - 50 -

                        00152-01 97 10


       $


  DXCOPY копирует файл и возвращает управление  на  командный

  уровень. При появлении подсказки языка DCL можно редактиро-

  вать и переименовывать подразумеваемый  по  умолчанию  файл

  командной процедуры загрузки в то время, когда он  размещен

  в подразумеваемом по умолчанию каталоге. Если  надо  выпол-

  нить модификацию этого файла, то его следует  переименовать

  на DEFBOO.CMD, используя следующую команду:


       $ RENAME имя-файла DEFBOO.CMD


       5) вызвать DXCOPY  для  копирования  смодифицированной

  процедуры обратно на консольный носитель:


       $ @SYS$UPDATE:DXCOPY


       6) на вопрос командной процедуры о том, смонтирован ли

  консольный носитель напечатать Y:


       IS THE SYSTEM CONSOLE STORAGE MEDIUM MOUNTED (Y/N)?: Y


       7) на вопрос DXCOPY о необходимости копирования с кон-

  сольного носителя напечатать N:


       COPY FROM CONSOLE MEDIUM (Y/N)?: N


  отрицательный ответ говорит процедуре DXCOPY о необходимос-

  ти копирования файла из подразумеваемого по умолчанию ката-

  лога на консольный носитель;

       8) на вопрос этой командной процедуры о файле, напеча-

  тать имя файла, который необходимо скопировать из  подразу-



                           - 51 -

                        00152-01 97 10


  меваемого по умолчанию каталога на консольный  носитель.  В

  данном примере надо напечатать DEFBOO.CMD:


       NAME OF FILE TO BE COPIED? DEFBOO.CMD

       $


  DXCOPY реагирует копированием смодифицированного  файла  на

  консольный том и осуществляет возврат на командный уровень.

  Теперь этот файл можно использовать для загрузки системного

  диска с выбранного устройства.



       2.6. Выполнение модификаций для  специальных

            конфигураций  и  требований  к  рабочей

            нагрузке



       При  первой  загрузке  МОС  ВП   командная   процедура

  SYS$UPDATE:AUTOGEN.COM задает значения  системных  парамет-

  ров, размеры файлов обмена страниц, обмена рабочих  наборов

  и дампа, а также содержимое списка установленных по умолча-

  нию образов.

       Процедура  AUTOGEN  задает  соответствующие  значения,

  базирующиеся на конфигурации аппаратуры и на  тех  оценках,

  которые AUTOGEN устанавливает для типичных  рабочих  нагру-

  зок. Однако, при необычной конфигурации аппаратуры или спе-

  циальных требованиях к рабочей  нагрузке  может  возникнуть

  необходимость в модификации системных параметров.  Действия

  для выполнения таких модификаций описываются в данном доку-

  менте (см. раздел 11).




                           - 52 -

                        00152-01 97 10


       2.6.1. Модификация МОС ВП в  системе  с  двумя

              дисками типа DL или DQ  для  размещения

              дампов аварийных отказов



       В вычислительной системе с двумя дисками типа  DL  или

  DQ не предусматривается файл дампа  для  размещения  дампов

  аварийных отказов. Вместо этого для данной цели использует-

  ся файл обмена страниц. Однако в конфигурации с двумя  дис-

  ками типа DL или DQ файл обмена страниц может использовать-

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

  файл обмена страниц имеет по крайней мере  на  1000  блоков

  больше, чем число физических страниц основной памяти систе-

  мы, а файл обмена рабочих наборов  имеет  по  крайней  мере

  1000 блоков.

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

  AUTOGEN создает файлы обмена страниц и обмена рабочих набо-

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

  DL или DQ может возникнуть потребность в увеличении  разме-

  ров этих файлов. Процедура изменения их размеров описана  в

  данном документе (см. раздел 11)



       2.6.2. Переопределение   построчно-печатающего

              устройства



       Имена построчно печатающих устройств, которые  исполь-

  зует синхронный порт типа XG,  определяются,  как  LC.  Все

  другие имена построчно-печатающих  устройств  определяются,




                           - 53 -

                        00152-01 97 10


  как LP. Для того, чтобы не было трудностей с программами  и

  процедурами, использующими  обозначение  LP,  рекомендуется

  переопределить имя построчно-печатающего  устройства  путем

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

  командную процедуру SYSTARTUP.COM следующих команд:


          $ DEFINE/SYSTEM LP LCA0:

          $ DEFINE/SYSTEM LP0 LCA0:

          $ DEFINE/SYSTEM LPA LCA0:

          $ DEFINE/SYSTEM LPA0 LCA0:



       2.7. Перезагрузка для установки  модификаций

            МОС ВП



       Для гарантированной установки в МОС ВП всех  модифика-

  ций необходимо отключить МОС ВП, а затем перезагрузить  ее.

  Следует отметить, что, например, все  системные  параметры,

  модифицированные   при   выполнении   командной   процедуры

  AUTOGEN, не будут действительны до перезагрузки МОС ВП.

       Отключение и перезагрузку МОС ВП можно делать команда-

  ми процедуры AUTOGEN,  или  же  можно  выполнить  процедуру

  SHUTDOWN.COM, используя метод, описанный в данном подразде-

  ле. (более детально процедура SHUTDOWN.COM описана в разде-

  ле 4). Если управление в системе установлено  на  автомати-

  ческую перезагрузку, и подразумеваемая по умолчанию команд-

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

  диска, то необходимо выполнить лишь первый шаг:





                           - 54 -

                        00152-01 97 10


       1) на подсказку языка DCL напечатать:


          $ @SYS$SYSTEM:SHUTDOWN


       Эта командная процедура  отключения  задает  несколько

  вопросов, например, о времени в минутах до  отключения  мос

  вп и о причине отключения. Эти вопросы относятся  к  ситуа-

  циям, в которых выполняется аккуратное отключение  с  нали-

  чием пользователей, вошедших в МОС ВП. Можно  давать  конк-

  ретные ответы на эти вопросы или просто нажимать на клавишу

  <ВК> для ввода подразумеваемых по умолчанию  значений.  МОС

  ВП будет готова к отключению при появлении следующего сооб-

  щения:


       SYSTEM SHUTDOWN COMPLETE - USE CONSOLE TO HALT SYSTEM


       2) для останова МОС ВП надо использовать клавиши УС/P.

  Когда напечатается консольная подсказка (>>>), МОС ВП  отк-

  лючится;

       3) перезагрузить МОС ВП, напечатав на консольном  тер-

  минале букву B или задействовав переключатель  загрузки  на

  панели управления процессором. МОС  ВП  ответит  сообщением

  следующего вида:


  M32/VOS VERSION 4.3 <DD-MMM-YYYY HH:MM:SS.S>

  %%%%%%%% OPCOM, <DD-MMM-YYYY HH:MM:SS.S> %%%%%%%%

  LOGFILE HAS BEEN INITIALIZED BY OPERATOR _OPA0:

  LOGFILE IS SYS$SYSROOT:[SYSMGR]OPERATOR.LOG; 1

  %SET-I-INSET, LOGIN INTERACTIVE LIMIT = 64, CURRENT

                INTERACTIVE VALUE = 0



                           - 55 -

                        00152-01 97 10


     SYSTEM     JOB TERMINATED AT <DD-MMM-YYYY HH:MM:SS.S>





       2.8. Дублирование МОС ВП



       После  установки  и  настройки  МОС  ВП  рекомендуется

  выполнить следующие процедуры:

       - сдублировать консольный том;

       - сдублировать системный диск;

       - создать и скопировать системный диск.

       В  пп.  2.8.1...2.8.3  эти  процедуры  описываются  по

  шагам.



       2.8.1. Дублирование консольного тома



       Для защиты оригинала от разрушения надо сделать дубли-

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

  для дублирования консольного тома.

       Вначале необходимо вставить исходную консольную кассе-

  ту типа CS в накопитель CSA2, а помеченную кассету типа  CS

  - в CSA1. Затем эти устройства монтируются, и для  дублиро-

  вания исходной кассеты на помеченную  кассету  используется

  команда BACKUP языка DCL. При дублировании консольного тома

  необходимо:

       1) войти в МОС ВП под учетным именем администратора;

       2) проверить, что консольная кассета типа CS вставлена

  в CSA2;




                           - 56 -

                        00152-01 97 10


       3) поместить чистую кассету типа CS в CSA1. Убедиться,

  что тумблер защиты по записи на этой кассете  установлен  в

  положение, допускающее запись, т.е. переключен в  направле-

  нии стрелки, указанной на кассете;

       4) вызвать обслуживающую программу SYSGEN с командного

  уровня:


       $ RUN SYS$SYSTEM:SYSGEN



  при появлении подсказки SYSGEN ввести следующую команду:



       SYSGEN > CONNECT CONSOLE


       5) выйти из программы SYSGEN:


       SYSGEN > EXIT


       6) при своем завершении обслуживающая программа SYSGEN

  возврашает управление на  командный  уровень.  Смонтировать

  CSA1 следующей командой:


       $ MOUNT/FOREIGN CSA1


       7) когда МОС ВП подтвердит, что кассета CSA1 смонтиро-

  вана, смонтировать CSA2:


       $ MOUNT/FOREIGN/NOWRITE CSA2



       8) когда МОС ВП  подтвердит,  что  CSA2  смонтирована,

  сдублировать кассету типа CS на чистую кассету типа CS:





                           - 57 -

                        00152-01 97 10


       $ BACKUP/PHYSICAL/VERIFY CSA2: CSA1:


       9) выполнение операции дублирования программой  BACKUP

  занимает примерно 30 минут. При появлении  подсказки  языка

  DCL размонтировать обе кассеты следующими командами:


       $ DISMOUNT CSA1

       $ DISMOUNT CSA2


       Для проверки корректности вновь  созданной  консольной

  кассеты необходимо использовать ее  в  качестве  консольной

  кассеты типа CS. Первоначальную кассету следует  трактовать

  как дублирующую копию.



       2.8.2. Дублирование системного диска



       Для  дублирования   системного   диска   рекомендуется

  использовать автономную программу BACKUP, в ней применяется

  подмножество квалификаторов облуживающей  программы  BACKUP

  [6]. Особенно важно, чтобы перед использованием  автономной

  программы BACKUP, были поняты функции квалификаторов /IMAGE

  и /PHYSICAL.

       Набор автономной программы BACKUP необходимо построить

  или на диске или на консольном носителе. Затем можно загру-

  зить автономную программу BACKUP с консольного запоминающе-

  го устройства или с корня  альтеративного  каталога  [SYSE]

  диска файловой структуры.

       Так как автономная обслуживающая программа  BACKUP  на

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


                           - 58 -

                        00152-01 97 10


  использовании ее на диске экономится время.

       В подпунктах 2.8.2.1...2.8.2.5. Об'ясняется как:

       - создать набор автономной программы BACKUP в каталоге

         [SYSE] на дисках файловой структуры;

       - создать командную процедуру для загрузки  автономной

         программы BACKUP из [SYSE];

       - загрузить автономную программу BACKUP из [SYSE];

       - создать набор автономных программ BACKUP на консоль-

         ном носителе;

       - загрузить автономную программу BACKUP с  консольного

         носителя.



       2.8.2.1. Создание  набора  автономной  программы

                BACKUP на диске



       Для создания набора  автономной  программы  BACKUP  на

  диске надо скопировать необходимые файлы с системного диска

  на приемный диск  другого  дискового  накопителя  (приемный

  диск может быть закреплен и смонтирован). Войти в МОС ВП  в

  качестве системного администратора и вызвать размещенную  в

  каталоге SYS$UPDATE командную процедуру STABACKIT.COM, сле-

  дующим образом:


       $ @SYS$UPDATE:STABACKIT


       Эта процедура выдаст подсказку на ввод имени приемного

  устройства. После ввода имени и нажатия клавиши <ВК> проце-

  дура STABACKIT.COM скопирует файлы в каталог  [SYSE.SYSEXE]




                           - 59 -

                        00152-01 97 10


  и сообщит на терминал об операции  копирования  (если  этот

  каталог не существует, то он создается автоматически). Ког-

  да все файлы скопируются, процедура выдаст следующее  сооб-

  щение:


       KIT IS COMPLETE



       2.8.2.2. Создание   командной   процедуры    для

                загрузки автономной программы BACKUP из

                каталога    [SYSE]    диска    файловой

                структуры



       Командную процедуру для загрузки автономной  программы

  BACKUP из каталога [SYSE] можно создать  путем  копирования

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

  сеты типа CS в подразумеваемый по умолчанию каталог диска и

  редактирования ее. Для копируемой командной процедуры можно

  выбрать любое незанятое имя типа ХХХBOO.CMD. Однако предпо-

  лагается, что используется имя файла, идентичное копируемо-

  му файлу, за исключением того, что первая буква  заменяется

  на х.

       Например, если необходимо загрузить  автономную  прог-

  рамму BACKUP из [SYSE] на накопитель,  именуемый  DUA0,  то

  следует создать командную процедуру загрузки,  смодифициро-

  вав процедуру DU0BOO.CMD и назвав новый файл XU0BOO.CMD.

       Если необходимо  использовать  модифицированную  форму

  подразумеваемой по умолчанию командной  процедуры  загрузки

  (DEFBOO.CMD),  то  надо  назвать  созданный   файл   именем



                           - 60 -

                        00152-01 97 10


  XTBBOO.CMD. Следующая  процедура  предполагает,  что  будет

  использоваться файл по имени XTBBOO.CMD, и  об'ясняет,  как

  его модифицировать:

       1) вставить консольную кассету типа  CS  в  накопитель

  CSA2;

       2) вызвать командную процедуру DXCOPY:


       $ @SYS$UPDATE:DXCOPY


  на вопрос процедуры о том, смонтирован ли консольный  нако-

  питель напечатать Y:


       IS THE SYSTEM CONSOLE STORаGE MEDIUM MOUNTED (Y/N)?: Y


       3) на вопрос DXCOPY о необходимости копирования  файла

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

  каталог) напечатать Y:


       COPY FROM CONSOLE MEDIUM (Y/N)?: Y


       4) когда DXCOPY выдаст подсказку на копирование, напе-

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

  меваемый по умолчанию каталог.  Например,  при  копировании

  DEFBOO.CMD следует напечатать:


       NAME OF FILE TO BE COPIED ?: DEFBOO.CMD

       $


       5) при появлении подсказки языка DCL можно  редактиро-

  вать и переименовывать файл командной  процедуры  загрузки,

  если он размещен в подразумеваемом по  умолчанию  каталоге.




                           - 61 -

                        00152-01 97 10


  для  переименования  этого  файла  используется   следующая

  команда:


          $ RENAME DEFBOO.CMD XTBBOO.CMD


       6) вызвать редактор текстов для модификации  следующей

  строки в рассматриваемой командной процедуре:


          D/G/L 5 0


       7) смодифицировать эту строку:


          D/G/L 5 E0000000


  шестнадцатеричное число  е  представляет  корневой  каталог

  [SYSE] альтернативного диска, где должна храниться автоном-

  ная программа BACKUP;

       8) вызвать DXCOPY  для  копирования  смодифицированной

  процедуры обратно на консольный носитель:


          $ @SYS$UPDATE:DXCOPY


       9) на вопрос данной процедуры о  том,  смонтирован  ли

  этот консольный носитель, напечатать Y:


       IS THE SYSTEM CONSOLE MEDIUM MOUNTED (Y/N)?: Y


       10) на вопрос процедуры о необходимости копирования  с

  консольного носителя, напечатать N:


       COPY FROM CONSOLE MEDIUM (Y/N)?: N


  отрицательный ответ говорит процедуре  DXCOPY  о  том,  что




                           - 62 -

                        00152-01 97 10


  файл надо копировать из подразумеваемого по умолчанию ката-

  лога на консольный носитель;

       11) на вопрос командной процедуры о копировании, напе-

  чатать имя файла, который надо скопировать из подразумевае-

  мого по умолчанию каталога на консольный носитель.  В  этом

  примере следует напечатать XTBBOO.CMD


       NAME OF FILE TO BE COPIED?: XTBBOO.CMD


  DXCOPY скопирует модифицированный файл на консольную кассе-

  ту типа CS и возвратит управление на командный уровень.



       2.8.2.3. Загрузка автономной программы BACKUP  с

                диска



       Для загрузки автономной программы BACKUP с  диска  при

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

  следующую последовательность действий:

       1) для отключения МОС ВП ввести команду:


          $ @SYS$SYSTEM:SHUTDOWN.COM


  командная процедура отключения задаст вопросы о  времени  в

  минутах до отключения МОС ВП,  о  причине  отключения  и  о

  необходимости останова дисков;

       2) ответить на эти вопросы нажатием клавиши <ВК>.  При

  продолжении процедуры отключения, на  консольном  терминале

  напечатается несколько соответствующих сообщений.  Отключе-

  ние закончится при выдаче следующего сообщения:




                           - 63 -

                        00152-01 97 10


          SHUTDOWN COMPLETE --- USE CONSOLE TO HALT SYSTEM


       3) остановить процессор, нажав клавиши УС/Р;

       4) после печати на консольном терминале подсказки кон-

  сольного режима (>>>) ввести следующую команду:


          >>> B XTB


       Если модифицированная версия подразумеваемой по  умол-

  чанию командной процедуры загрузки не используется, то надо

  ввести три первые символа имени созданной командной  проце-

  дуры. Например, для процедуры XU0BOO.CMD надо  ввести  сле-

  дующую команду:


          >>> B XU0



       2.8.2.4. Построение набора автономной  программы

                BACKUP на консольном носителе



       Для построения набора автономной программы  BACKUP  на

  консольном носителе используется процедура STABACKIT.COM  в

  соответствии со следующей методикой:

       1)  пометить  три  чистых  кассеты   через   SYSTEM-1,

  SYSTEM-2 и BACKUP соответственно;

       2) войти в МОС ВП в качестве системного администратора

  и вызвать процедуру STABACKIT.COM;

       3) когда STABACKIT запросит имя приемного  устройства,

  напечатать CSA1;

       4)  после  идентификации  приемного  диска,  процедура




                           - 64 -

                        00152-01 97 10


  STABACKIT сообщит, что для построения набора необходимы три

  чистых кассеты: две для автономных файлов МОС ВП  и  третья

  для прикладного образа. STABACKIT позволяет  также  строить

  файлы МОС ВП в виде системного набора без построения  прик-

  ладного набора (в данном случае BACKUP), или же  строить  и

  системный и прикладной наборы.  Ответить  на  два  заданных

  вопроса нажатием клавиши <ВК>;

       5) после этого процедура STABACKIT позволяет применять

  обслуживающую программу выявления дефектных блоков (BAD)  с

  целью проверки блоков на приемной  кассете.  Проверка  трех

  кассет программой BAD займет примерно два часа, однако, она

  может сэкономить время на поиск дефектных  блоков,  которые

  иначе могут создать трудности при построении  рассматривае-

  мого набора;

       6) когда процедура STABACKIT выдаст подсказки, в  кон-

  сольный накопитель надо вставить первую кассету (с пометкой

  SYSTEM-1) и, при готовности к продолжению процедуры, ввести

  слово YES:


  PLEASE PLACE THE FIRST SYSTEM FLOPPY DISKETTE IN

  DRIVE _CSA1:

  THIS VOLUME WILL RECEIVE THE VOLUME LABEL SYSTEM_1.

  ENTER "YES" WHEN READY: YES


       Если  принято  решение  выполнить  программу  BAD,  то

  STABACKIT выдаст сообщение:


       ANALYZING FLOPPY DISKTTE FOR BAD BLOCKS ...

       SYSTEM_1        MOUNTED ON _CSA1:



                           - 65 -

                        00152-01 97 10


       Эта проверка займет примерно 40 минут. При ее заверше-

  нии програма BAD сообщает число блоков, имеющихся на кассе-

  те, а также число дефектных блоков. Затем STABACKIT  монти-

  рует кассету, создает каталог [SYSO.SYSEXE]  и  копирует  в

  него набор системных файлов, выдавая соответствующие  сооб-

  щения;

       7)  после  копирования  последнего  файла,   STABACKIT

  выдаст указание о том, что надо вставить следующую кассету.

  Заменить кассету,  помеченную  как  SYSTEM_1,  на  кассету,

  помеченную как SYSTEM_2, и ввести символы YES при готовнос-

  ти к продолжению процедуры:


  PLEASE PLACE THE FIRST SYSTEM FLOPPY DISKETTE IN DRIVE

  _CSA1:

  THIS VOLUME WILL RECEIVE THE VOLUME LABEL SYSTEM_2.

  ENTER "YES" WHEN READY: YES


       STABACKIT запускает программу BAD ( предполагается что

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

  оставшиеся системные файлы в каталог [SYS0.SYSEXE];

       8)  после  копирования  последнего  файла,   STABACKIT

  выдаст указание о том, что надо  вставить  третью  кассету.

  Заменить кассету,  помеченную  как  SYSTEM_2,  на  кассету,

  помеченную как BACKUP, и ввести символы YES при  готовности

  к продолжению процедуры:


  PLEASE PLACE THE FIRST SYSTEM FLOPPY DISKETTE IN DRIVE

  _CSA1:

  THIS VOLUME WILL RECEIVE THE VOLUME LABEL BACKUP.



                           - 66 -

                        00152-01 97 10


  ENTER "YES" WHEN READY: YES


       STABASKIT запускает программу BAD, монтирует кассету и

  копирует выполняемый образ BACKUP (STABACKUP.EXE) в каталог

  [SYS0.SYSEXE];

       9) заменить кассету, помеченную словом BACKUP, на кон-

  сольную кассету и ввести символы YES при готовности к  про-

  должению процедуры:


  THE CONSOLE VOLUME WILL BE MOUNTED /NOWRITE FOR PROTECTION.

  PLEASE REPLACE THE ORIGINAL CONSOLE FLOPPY DISSKETTE.

  ENTER "YES" WHEN READY: YES


       Процедура реагирует на  это  монтированием  консольной

  кассеты, сообщает время начала и конца своей работы и возв-

  ращает управление на командный уровень.



       2.8.2.5. Загрузка автономной программы BACKUP  с

                консольного носителя



       Для загрузки автономной программы BACKUP с консольного

  носителя необходимо выполнить следующие действия:

       1) вставить консольную кассету типа  CS  в  накопитель

  CSA2 и вставить автономный том, помеченный как SYSTEM_1,  в

  накопитель CSA1;

       2) если процессор работает не в консольном режиме,  то

  нажать клавиши УС/Р;

       3) когда на консольном  терминале  появится  подсказка

  консольного режима, надо ввести следующую команду:



                           - 67 -

                        00152-01 97 10


          >>> B CS1


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

  что  в  консольный  накопитель  необходимо  последовательно

  поместить три тома с набором автономной  программы  BACKUP.

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

  устройстве на первый автономный том. Не обращая внимания на

  данное сообщение, следует просто ввести  символы  YES  (или

  Y). После этого процедура выдаст следующее сообщение:


       RESUMING LOAD OPERATION ON VOLUME 'SYSTEM_1',

       PLEASE STAND BY ...


       5) при загрузке первого тома процедура  дает  указание

  на его замену автономным томом, помеченным как SYSTEM_2,  и

  на ввод символов YES при готовности к продолжению  процеду-

  ры. При вводе YES, процедура выдает следующее сообщение:


       RESUMING LOAD OPERATION ON VOLUME 'SYSTEM_2',

       PLEASE STAND BY ...


       6) по окончании загрузки второго тома автономная  сис-

  тема об'явит о себе и попросит ввести  дату  и  время.  Эту

  информацию следует ввести в формате, указанном в подсказке,

  и нажAть клавишу <ВК>;

       7) затем процедура даст указание о замене второго тома

  на том, помеченный как BACKUP, и о вводе символов  YES  при

  готовности к продолжению процедуры. Когда YES будет введено

  процедура выдаст сообщение:





                           - 68 -

                        00152-01 97 10


       RESUMING LOAD OPERATION ON VOLUME 'BACKUP',

       PLEASE STAND BY ...


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

  себе и выдаст подсказку языка DCL:


       % BACKUP - I - IDENT,STAND-ALONE BACKUP V.4.0.;

       THE DATE IS <DD-MMM-YYYY  HH:MM>


       Примечание. Нельзя снимать кассету BACKUP с накопителя

  CSA1 до тех пор пока не будет получено соответствующее ука-

  зание. После выполнения действий сохранения следует  нажать

  клавиши УС/Р с тем, чтобы остановить процессор и  завершить

  автономную программу BACKUP.



       2.8.3. Создание и копирование системного диска



       На некотором этапе может  возникнуть  необходимость  в

  перемещении файлов МОС ВП на другой диск. Пусть,  например,

  МОС ВП вместе с некоторыми пользовательскими файлами перво-

  начально хранилась на диске типа  DM.  Пусть,  кроме  того,

  приобретен дисковый накопитель типа DQ, и с DM на DQ  необ-

  ходимо перенести только файлы МОС ВП.  Используя  командную

  процедуру VMSKITBLD, можно создать МОС ВП на диске  DQ,  не

  затронув пользовательские файлы на диске DM. Функция  BUILD

  процедуры VMSKITBLD эффективно устраняет любые программы на

  приемном диске.

       Другой способ использования VMSKITBLD.COM иллюстрирует

  следующая ситуация. Пусть для  хранения  файлов  МОС  ВП  и



                           - 69 -

                        00152-01 97 10


  пользовательских файлов применяется  в  данное  время  диск

  типа DM, а диск типа DQ  применяется  для  пользовательских

  файлов. Пусть решено приобрести  дополнительные  программые

  изделия, но на диске DM для них нет достаточного  места.  В

  этой ситуации хотелось бы переместить файлы МОС ВП на  диск

  DQ без воздействия на пользовательские файлы  этого  диска.

  Здесь можно использовать возможности команды COPY процедуры

  VMSKITBLD, поскольку эта команда не воздействует на  файлы,

  которые в данный момент находятся на приемном диске.



       2.8.3.1. Построение  операционной   системы   на

                другом диске



       Если МОС ВП  необходимо  построить  на  другом  диске,

  информацию на котором можно затереть, то следует  использо-

  вать функцию BUILD процедуры VMSKITBLD следующим образом:

       1) загрузить МОС ВП с исходного диска, обычно это диск

  типа DM;

       2) войти в МОС ВП под учетным именем администратора;

       3) установить SYS$UPDATE, как подразумеваемый по умол-

  чанию каталог:


          $ SET DEFAULT SYS$UPDATE


       4)  поставить  приемный  диск   (предполагается,   что

  используется с'емный диск) на соответствующий накопитель  и

  подключить его;

       5) для вызова VMSKITBLD.COM ввести следующую команду:




                           - 70 -

                        00152-01 97 10


          $ @VMSKITBLD


       6) в ответ на подсказку этой процедуры, ввести  инфор-

  мацию об исходном и приемном дисковых накопителях;

       7) после этого VMSKITBLD спросит:


          OPERATION [BUILD, ADD, COPY, COMMON]?


       Ввести слово BUILD  (если  требуется,  чтобы  приемный

  диск был построен, как общекластерный  системный  диск,  то

  следует ввести слово COMMON).

       Примечание. Перед построением МОС ВП возможность BUILD

  уничтожает всю имеющуюся информацию на приемном диске.

       При возобновлении построения будут получены  несколько

  сообщений, которые или  дают  информацию,  необходимую  для

  завершения операции, или информируют о состоянии процедуры.

  Типичная последовательность сообщений может выглядеть так:


  ENTER MOUNTED SOURCE DISK NAME (DDCU:):SYS$SYSDEVICE:

  ENTER SOURCE DISK TOP LEVEL SYSTEM DIRECTORY [DEFAULT =

                          SYS0]: <BK>

  ENTER TARGET DISK NAME (DDCU:): DRA0: <BK>

  ENTER THE TARGET DISK'S LABEL [DEFAULT = VAXVMSRL4]: <BK>

  ENTER TARGET DISK TOP LEVEL SYSTEM DIRECTORY [DEFAULT =

                          SYS0]: <BK>

    IT WILL BE NECESSARY TO INITIALIZE THE TARGET DISK(S).

  IS THE TARGET DISK, DRA0:. READY TO BE INITIALIZED? (Y/N):

    _DRA0: ALLOCATED

  %MOUNT-I-MOUNTED, VAXVMSRL4 MOUNTED ON _DRA0:




                           - 71 -

                        00152-01 97 10


  CREATE DIRECTORY ENTRIES ON THE TARGET DISK.

  COPY THE SYSTEM EXECUTIVE FILES.

  COPY THE SYSTEM LIBRARY FILES.

  COPY THE SYSTEM MESSAGE FILES.

  COPY THE SYSTEM MANAGER FILES.

  COPY THE SYSTEM UPDATE COMMAND FILES.

  COPY THE SYSTEM EXE FILES.

  COPY THE SYSTEM HELP FILES.

  WRITE A BOOTBLOCK.

  COPY BLISS REGUIRE FILES AND STRLET DCL LIBRARY.

  COPY CODING EXAMPLES.

  COPX THE UETP FILES.


       При    завершении    построения    системного    диска

  VMSKITBLD.COM посылает на терминал следующее информационное

  сообщение:


          KIT IS COMPLETE


       8) теперь приемный диск содержит все  требуемые  файлы

  полной МОС ВП. Загружая их с подразумеваемыми по  умолчанию

  параметрами, а затем используя процедуру AUTOGEN для конфи-

  гурирования полученной МОС ВП,  можно  формировать  систему

  надлежащим образом;

       9) при появлении подсказки SYSBOOT> надо  ввести  сле-

  дующие команды:


          SYSBOOT>USE DEFAULT

          SYSBOOT>CONTINUE




                           - 72 -

                        00152-01 97 10


       10) после загрузки МОС ВП следует войти в нее под име-

  нем SYSTEM и выполнить процедуру AUTOGEN (см. раздел 11).



       2.8.3.2. Копирование файлов  МОС  ВП  на  другой

                диск



       Процедуру VMSKITBLD.COM можно использовать и для копи-

  рования файлов МОС ВП на приемный диск без  воздействия  на

  уже находящиеся там файлы. Но сначала МОС ВП  должна  функ-

  ционировать, а исходный,  предназначенный  для  копирования

  диск, должен быть смонтирован.  Часто  этот  исходный  диск

  является системным диском, с которого МОС ВП была  загруже-

  на. Копирование исходного диска на приемный диск выполняет-

  ся следующим образом:

       1) войти в МОС ВП под учетным именем администратора;

       2) создать SYS$UPDATE, как подразумеваемый по  умолча-

  нию каталог:


          $ SET DEFAULT SYS$UPDATE


       3) поместить приемный диск на соответствующий  накопи-

  тель;

       4) для вызова VMSKITBLD ввести следующую команду:


          $ @VMSKITBLD


       5) в ответ на  подсказки  VMSKITBLD  дать  необходимую

  информацию об исходном и приемном дисковых накопителях;

       6) после выдачи этой  информации  процедура  VMSKITBLD




                           - 73 -

                        00152-01 97 10


  выдаст вопрос:


          OPERATION [BUILD, ADD, COPY, COMMON]?



  ввести слово COPY;

       7) после этого на терминале будут получены  сообщения,

  которые дают информацию о завершении  операции  копирования

  или о состоянии процедуры;

       8) когда операция  копирования  завершится,  VMSKITBLD

  выдаст следующее сообщение:


          KIT IS COMPLETE




































                           - 74 -

                        00152-01 97 10


      3. Настройка вычислительных систем с малыми  по  об'ему

         дисками



       В этом разделе рассматривается среда МОС ВП, состоящая

  из малых по об'ему дисков и включающая поддерживаемые  кон-

  фигурации, группы файлов МОС ВП, средство подгонки  МОС  ВП

  (VMSTAILOR) и операционные процедуры, характерные для  сис-

  темы с малыми дисками. Кроме того, здесь описываются  сооб-

  щения об ошибках и информационные сообщения.

       В настоящее время поддерживаются следующие  системы  с

  малыми дисками:

       - системы СМ 1700, конфигурируемые на двух дисках типа

         DL или DQ;

       - системы, конфигурируемые на двух дисках типа DM.

       При выполнении процедуры установки  или  корректировки

  следует отвечать на соответствующие подсказки, указывая  на

  необходимость генерации подогнанной  системы.  Затем  можно

  использовать средство подгонки для настройки МОС ВП на спе-

  циальные приложения.

       Примечание. В настоящее время средство  подгонки  под-

  держивается  только  на  конфигурациях  систем  с  дисковым

  пространством, имеющим менее 140000 блоков.

       В системе с малыми дисками библиотечный диск дополняет

  системный диск. Системный диск должен включать лишь те час-

  ти МОС ВП, которые требуются для решения конкретной задачи.

  При необходимости настройки  системного  диска  на  решение

  определенной задачи следует использовать команды  настройки




                           - 75 -

                        00152-01 97 10


  с целью копирования соответствующих файлов МОС ВП с библио-

  течного диска на системный диск  и  удаления  с  последнего

  ненужных файлов. Тем самым на системном диске будет получе-

  но дополнительное пространство для пользовательских  файлов

  (команды подгонки рассматриваются в подразделе 3.3).

       Следует отметить, что размер библиотечного диска  дол-

  жен составлять по меньшей мере 20000 блоков (диск  типа  DQ

  или DL). Кроме того, если этот размер меньше 30000  блоков,

  то на диске не будет пространства достаточного для необяза-

  тельного набора сохранения, который включает карту системы,

  обязательные файлы BLISS и каталог SYS$EXAMPLES.



       3.1. Группы файлов, поддерживаемые МОС ВП


       Для процедур средства подгонки в среде с малыми диска-

  ми, файлы МОС ВП делятся на группы. Группа файлов представ-

  ляет собой некоторый файл,  который  ведет  список  каждого

  файла конкретной группы в следующем формате:


       [каталог]имя.тип


       На системах с малыми дисками поддерживается  стандарт-

  ный набор групп файлов. Для большей гибкости можно  создать

  собственные группы файлов, используя формат  поддерживаемых

  групп. В этом подразделе рассматриваются поставляемые с МОС

  ВП группы файлов, а в следующем описываются  процедуры  для

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

  системы.





                           - 76 -

                        00152-01 97 10


       Файлы, поставляемые на библиотечном диске, делятся  на

  две связанные с задачами группы. Например,  файлы,  исполь-

  зуемые для управления очередями, собираются в группу, назы-

  ваемую QUEUES. Если управление очередями  в  системе  будет

  нужно, то в качестве параметра команды COPY  средства  под-

  гонки необходимо указать QUEUES. При этом средство подгонки

  копирует все файлы группы QUEUES с библиотечного  диска  на

  системный диск.

       Наоборот, если конкретная функция МОС ВП не нужна,  то

  с системного диска соответствующую группу файлов можно уда-

  лить. Например, после работы средств проверки  функциониро-

  вания МОС ВП (UETP) можно удалить те файлы МОС ВП,  которые

  поддерживают эту функцию. Удаление производится при задании

  UETP в качестве параметра команды DELETE средства подгонки.

       Приведем список и краткое описание поддерживаемых  МОС

  ВП групп файлов. В этот список включен приблизительный раз-

  мер (в блоках) каждой группы, в процессе подгонки это может

  помочь в выборе правильного решения.


                   Группа системных файлов:


  REQUIRED

       - файлы, необходимые для загрузки МОС ВП и  выполнения

         таких основных действий с файлами, как COPY,  RENAME

         и TAILORING, а также для  того,  чтобы  предоставить

         все средства для работы МОС ВП. Эти файлы с  систем-

         ного диска удалять нельзя. (3300 блоков).






                           - 77 -

                        00152-01 97 10



                  Группы библиотечных файлов:


  BLISSREQ

       - исходные файлы,  используемые  при  установке  языка

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

         ляции. Эти файлы могут быть удалены после завершения

         установки языка BLISS. (2800 блоков);

  DEVELOR

       - файлы, используемые при разработке прикладных  прог-

         рамм. В них входят  редактор  EDT,  ассемблер  языка

         программирования MACRO-32, библиотекарь МОС ВП, ком-

         поновщик, символический отладчик  и  те  библиотеки,

         которые они используют. В эти файлы включен и  текст

         помощи для этих обслуживающих программ.  (8200  бло-

         ков);

  EXAMPLES

       - примеры программирования  для  различных  применений

         МОС ВП вместе с картой системы. (1500 блоков);

  FILETOOLS

       - обслуживающие программы, используемые при анализе  и

         создании дампов файлов, а также для создания и моди-

         фикации файлов метода доступа ISAM. (600 блоков);

  HELP

       - текст помощи, выводимый по команде HELP системы  мос

         вп, и различные системные  обслуживающие  программы.

         (4400 блоков);






                           - 78 -

                        00152-01 97 10


  LIBRARY

       - библиотеки, используемые при ассемблировании, компо-

         новке и компиляции программ. (5000 блоков);

  MANAGER

       - файлы, используемые для выполнения функций  управле-

         ния МОС ВП, например, функций учета, дисковых  квот,

         подготовки и сопровождения томов, авторизации  поль-

         зователей, а также командные процедуры, используемые

         системным администратором. (1500 блоков);

  MISCTOOLS

       - средства  поддержки   системного   программирования,

         средства для анализа дампов аварийных отказов и дру-

         гие разнообразные средства. (2200 блоков);

  QUEUES

       - файлы, используемые  для  инициализации,  запуска  и

         останова пакетных очередей устройств,  а  также  для

         приписывания заданий. (200 блоков);

  TEXTTOOLS

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

         них включаются все редакторы и форматеры. (580  бло-

         ков);

  UETP

       - файлы средства  проверки  функционирования  МОС  ВП,

         которые содержат различные тесты для  проверки  пра-

         вильности работы МОС ВП. (494 блока).


       Для получения списка файлов  или  группы  файлов  надо

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


                           - 79 -

                        00152-01 97 10



       $ @SYS$UPDATE:VMSTAILOR


       Когда система выдаст подсказку TAILOR>,  можно  запро-

  сить список файлов, например, группы QUEUES:


       TAILOR> DIRECTORY QUEUES

       CONTENTS OF QUEUES GROUP

       ------------------------

       [SYSEXE] INPSMB.EXE

       [SYSEXE] PRTSMB.EXE

       [SYSEXE] QUEMAN.EXE

       [SYSEXE] SUBMIT.EXE

       [SYSEXE] SMBSRVSHR.EXE



       3.2. Создание  групп   файлов,   учитывающих

            специфику вычислительной системы


       Для конкретных, учитывающих  специфику  вычислительной

  системы приложений, можно  создать  соответствующие  группы

  файлов, используя формат  файлов,  поддерживаемых  МОС  ВП.

  Однако не следует модифицировать те группы файлов,  которые

  поддерживаются МОС ВП, поскольку они используются для  кор-

  ректировки МОС ВП, а  также  для  установки  дополнительных

  программных изделий.

       Для создания файла, который составляет  список  группы

  файлов, можно использовать  любой  редактор  текстов.  Если

  новая группа файлов создается путем модификации копии  под-

  держиваемой МОС ВП группы, то необходимо убедиться  в  том,




                           - 80 -

                        00152-01 97 10


  что создаваемому файлу присвоено новое имя, а также следует

  быть внимательным, чтобы не изменить поддерживаемый МОС  ВП

  файл. Если, например, надо создать собственную группу  фай-

  лов  для  обработки  текстов  путем  редактирования   файла

  SYS$UPDATE:TEXTTOOLS.TLR редактором EDT, то гарантию в том,

  что новый файл будет иметь новое имя, а поддерживаемый  МОС

  ВП файл не изменится, дает следующая команда:


  $ EDIT/оUTPUT=новое-имя-файла SYS$UPDATE:TEXTTOOLS.TLR


       Так как поддерживаемые МОС ВП группы файлов размещают-

  ся на системном диске в каталоге  SYS$UPDATE  и  имеют  тип

  TLR, то при обращении к командам подгонки нет необходимости

  включать в спецификацию файла имя устройства, каталога  или

  тип файла. Если же создаваемые группы файлов надо поместить

  в другой каталог или на другое устройство,  то  в  командах

  подгонки следует задавать файл явно.  Например,  если  соз-

  дается группа файлов по имени  SPECIAL.TLR,  которая  будет

  храниться на устройстве USER$DISK в  каталоге  [USER.JOBS],

  то для копирования ее на системный диск  используется  сле-

  дующая команда:


       TAILOR>COPY USER$DISK:[USER.JOBS]SPECIAL



       3.3. Команды подгонки


       Средство VMSTAILOR имеет набор команд  и  квалификато-

  ров, применяемых для подгонки системного диска.  Ключ  под-

  гонки узнает, какие группы файлов необходимы для  поддержки




                           - 81 -

                        00152-01 97 10


  системных операций, и затем копирует эти группы на  систем-

  ный диск.

       Для ввода команд подгонки имеются  два  метода.  Можно

  вызвать данное средство  и  вводить  команды  на  командном

  уровне подгонки или же можно  единственной  командой  языка

  DCL задать конкретную функцию подгонки.

       В первом методе используется следующая процедура:

       1) войти в МОС ВП под учетным именем администратора;

       2) на подсказку языка DCL ввести следующую команду:


       $ SYS$UPDATE:VMSTAILOR


  МОС ВП ответит подсказкой TAILOR>, это указывает на то, что

  работа осуществляется на командном уровне средства  подгон-

  ки.

       Для возврата на уровень языка DCL используется команда

  подгонки EXIT.

       Если подгонку надо выполнять вторым методом (на уровне

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

  требуемой функции вводится единственная строка команды язы-

  ка DCL. Если, например,  диалог  осуществляется  на  уровне

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

  группу файлов TEXTTOOLS, то сначала надо убедиться  в  том,

  что системный диск смонтирован командой подгонки  MOUNT,  а

  затем ввести следующую команду:


       $ @SYS$UPDATE:VMSTAILOR COPY TEXTTOOLS


  DCL вызовет средство подгонки, которое выполнит эту команду




                           - 82 -

                        00152-01 97 10


  и осуществит возврат на уровень языка DCL.

       В  табл.  2  приводятся  команды   средства   подгонки

  (VMSTAILOR). При использовании команд подгонки надо  соблю-

  дать следующие правила:

       - команды, которые используют  в  качестве  параметров

         имена групп файлов, допускают применение только абб-

         ревиатуры имени. Однако, если созданная группа  фай-

         лов размещена на устройстве и в каталоге отличном от

         SYS$UPDATE, то при задании в качестве параметра име-

         ни группы файлов  необходимо  явно  определять  уст-

         ройство и каталог;

       - для выполнения команд COPY, DELETE, DIRECTORY/SIZE и

         RECORD библиотечный диск  должен  быть  смонтировать

         командой подгонки MOUNT;

       - библиотечный диск должен использоваться  только  как

         читаемый источник групп файлов МОС ВП. Для  сохране-

         ния корректирующей информации системы его содержимое

         нельзя изменять. Только при сопровождении  корректи-

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

         следует монтировать библиотечный диск с квалификато-

         ром /WRITE. (VMSINSTAL, например, монтирует  библио-

         течный диск с этим квалификатором);

       - квалификатор /LIBRARY  резервируется  для  командных

         процедур, которые используются в целях  корректиров-

         ки. При подгонке системы этот  квалификатор  никогда

         не применяется.

       Примечание. При изменении библиотечного диска создает-




                           - 83 -

                        00152-01 97 10


  ся  неподдерживаемая  системой  конфигурация   программного

  обеспечения, которая может привести к  некорректной  работе

  системы.


                                                   Таблица 2

              Конспект команды средства подгонки

  ----------------------------------------------------------

           Команда            !          Функция

  ----------------------------------------------------------

   COPY группа-файлов[,...]   ! Копирует указанную группу(ы)

                              ! файлов с библиотечного диска

                              ! на системный диск

                              !

   DELETE группа-файлов[,...] ! Удаляет ранее скопированную

                              ! группу(ы) файлов с системно-

                              ! го диска

                              !

   DIRECTORY группа-          ! Выдает каталог файлов ука-

   файлов[,...]               ! занных групп(ы) файлов

                              !

   DISMOUNT [DDCU:]           ! Размонтирует библиотечный

                              ! диск на указанном устройстве

                              !

          EXIT                ! Осуществляет выход из

                              ! средства подгонки

                              !

   HELP [тема] [подтема]      ! Поясняет указанные команды




                           - 84 -

                        00152-01 97 10


                                         Продолжение табл. 2

  ----------------------------------------------------------

           Команда            !          Функция

  ----------------------------------------------------------

                              ! и квалификаторы подгонки

                              !

   MOUNT DDCU:[метка]         ! Монтирует библиотечный диск

                              ! на указанном устройстве

                              !

   RECORD[соответствие] -     ! Создает файл листинга всех

         [исправление]        ! файлов МОС ВП, созданных

                              ! на библиотечном диске и

                              ! имеющих соответствие на

                              ! системном диске

                              !

   SEARCH спец-файла          ! Ищет группу(ы) файлов,

                              ! в котором размещен ука-

                              ! занный файл


                         Команда COPY

       Копирует группы файлов или отдельные  файлы  указанной

  группы с библиотечного диска на системный диск. Скопирован-

  ные файлы заменяют любую более старую версию. Команда  COPY

  имеет формат:


       COPY группа-файлов[,...]

       /CONFIRM

       /FILE




                           - 85 -

                        00152-01 97 10


       /LIBRARY

       /LOG


  где группа-файлов

       - определяет  одну  или  несколько  групп  файлов  или

         отдельный файл, которые необходимо скопировать;

  /CONFIRM

       - просит подтверждения  на  необходимость  копирования

         каждого файла группы. Если пользователь отвечает  N,

         то соответствующий файл не копируется, а если  поль-

         зователь отвечает Y или нажимает  клавишу  <ВК>,  то

         файл копируется;

  /FILE

       - указывает, что вместо группы файлов надо скопировать

         отдельный файл. Вместо параметра,  задающего  группу

         файлов, с этим квалификатором надо использовать спе-

         цификацию файла. Подразумеваемым по  умолчанию  уст-

         ройством и каталогом является  LIB$SYSROOT:[SYSEXE],

         а подразумеваемым по умолчанию типом  файла  -  EXE.

         Если в командных  процедурах  корректировки  исполь-

         зуется квалификатор /LIBRARY с квалификатором /FILE,

         то подразумеваемым по умолчанию устройством и  ката-

         логом является SYS$SPECIFIC:[SYSEXE],  а  подразуме-

         ваемым по умолчанию типом файла - EXE. В  специфика-

         ции файлов, но не  в  списках  спецификаций  файлов,

         можно использовать символы обобщения;

  /LIBRARY

       - этот квалификатор используется командными процедура-



                           - 86 -

                        00152-01 97 10


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

         библиотечный диск. При  интерактивном  использовании

         команд подгонки этот квалификатор задавать  не  сле-

         дует;

  /LOG

       - отображает имя каждого копируемого файла.


       Пример.

       Копирование файлов групп QUEUES и FILETOOLS с  библио-

  течного диска на системный диск и отображение на  терминале

  имени каждого файла осуществляет команда:


       TAILOR>COPY/LOG QUEUES,FILETOOLS


  средство подгонки реагирует перечислением  копируемых  фай-

  лов.

       Если на системном диске недостаточно места для копиро-

  вания группы файлов, то на терминал будет выдано  следующее

  сообщение:


       %BACKUP-E-OPENOUT,   ERROR    OPENING    SYS$SPECIFIC:

  [SYSEXE].EDF.EXE;1  AS  OUTPUT  -RMS-F-FUL,   DEVICE   FULL

  (INSUFFICIENT SPACE FOR ALLOCATION)


       В этом случае для удаления ненужных файлов с системно-

  го диска и повторной попытки копирования можно использовать

  команду DЕLETE.









                           - 87 -

                        00152-01 97 10



                        Команда DELETE

       Удаляет с системного диска все версии каждого файла  в

  заданных группах файлов.  Перед  выполнением  удаления  эта

  команда проверяет наличие дублирующей копии на библиотечном

  диске. Команда DELETE имеет формат:


       DELETE группа-файлов [,...]

       /CONFIRM

       /FILE

       /LIBRARY

       /LOG

       /OVERRIDE


  где группа-файлов

       - задает одну или несколько групп файлов или отдельный

         файл, которые должны быть удалены с системного  дис-

         ка. Группу файлов REQUIRED с  помощью  этой  команды

         удалить нельзя;

  /CONFIRM

       - запрашивает подтверждение  перед  удалением  каждого

         файла. При вводе пользователем символа N или нажатии

         клавиши <ВК> файл не удаляется, при вводе символа  Y

         - удаляется;

  /FILE

       - указывает, что вместо  группы  файлов  надо  удалить

         отдельный файл. Вместо  параметра  группы  файлов  с

         этим квалификатором необходимо использовать специфи-

         кацию файла. Подразумеваемым по умолчанию  устройст-



                           - 88 -

                        00152-01 97 10


         вом и  каталогом  является  LIB$SYSROOT:[SYSEXE],  а

         подразумеваемым по умолчанию типом файла - EXE.  При

         использовании в командных  процедурах  корректировки

         квалификатора /LIBRARY с квалификатором /FILE подра-

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

         будет SYS$SPECIFIC:[SYSEXE],  а  подразумеваемым  по

         умолчанию типом файла - EXE. В  спецификации  файла,

         но не в списках спецификаций файлов, можно использо-

         вать символы обобщения;

  /LIBRARY

       - этот квалификатор используется в командных  процеду-

         рах корректировки для удаления файлов с библиотечно-

         го диска. Он не задается при интерактивном использо-

         вании команд подгонки;

  /LOG

       - отображает имя каждого удаляемого файла;

  /OVERRIDE

       - отменяет проверку дублирующей копии перед удалением.

         Этот квалификатор позволяет удалить файлы с  систем-

         ного диска без монтирования библиотечного диска.


       Пример.

       Удаление файлов  группы  LIBRARY  с  системного  диска

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


       TAILOR>DELETE/CONFIRM LIBRARY


       При этом средство подгонки отображает имя каждого фай-

  ла, который может быть выбран для удаления, и просит  подт-



                           - 89 -

                        00152-01 97 10


  вердить необходимость удаления вводом символа Y:


  SYS$SPECIFIC:[SYSEXE]MP.STB;1 DELETE? (Y OR N) : Y

  SYS$SPECIFIC:[SYSEXE]SYS.STB;1 DELETE? (Y OR N) : Y

  SYS$SPECIFIC:[SYSEXE]SYSDEF.STB;1 DELETE? (Y OR NO) : Y

  SYS$SPECIFIC:[SYSLIB]FORDEF.FOR;1 DELETE? (Y OR N) : Y

  SYS$SPECIFIC:[SYSLIB]FORIоSDEF.FOR;1 DELETE? (Y OR N) : N

  SYS$SPECIFIC:[SYSLIB]IMAGELIB.OLB;1 DELLETE? (Y OR N) : N

  SYS$SPECIFIC:[SYSLIB]LIB.MLB;1 DELETE? (Y OR N) : N

  SYS$SPECIFIC:[SYSLIB]LIBDEF.FOR;1 DELETE? (Y OR N) : N

  SYS$SPECIFIC:[SYSLIB]MTHDEF.FOR;1 DELETE? : (Y OR N) : N

  SYS$SPECIFIC:[SYSLIB]SIGDEF.FOR;1 DELETE? (Y OR N) : N

  SYS$SPECIFIC:[SYSLIB]STARLET.MLB;1 DELETE? (Y OR N) : N

  SYS$SPECIFIC:[SYSLIB]STARLET.OLB;1 DELETE? (Y OR N) : N

  SYS$SPECIFIC:[SYSLIB]XFDEF.OLB;1 DELETE? (Y OR N) : N


                       команда DIRECTORY

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

  Команда DIREKTORY имеет формат:


       DIRECTORY группа-файлов [,...]

       /GROUPS

       /OUTPUT=спец-файла

       /SIZE


  где группа-файлов

       - задает группу файлов;

  /GROUPS

       - перечисляет все группы файлов, имеющиеся в  каталоге




                           - 90 -

                        00152-01 97 10


         SYS$UPDATE. С  этим  квалификатором  не  допускаются

         никакие параметры;

  /OUTPUT=спец-файла

       - требует, чтобы листинг вывода был записан не в теку-

         щее устройство, а в указанный файл.  Подразумеваемый

         по умолчанию тип файла - LIS;

  /SIZE

       - требует отображения размера каждого файла  вместе  с

         его именем.


       Пример.

       Перечисление файлов групп HELP и REQUIRED  в  выходном

  файле с именем HELREQ.LIS выполняет следующая команда


       TAILOR>DIRECTORY/OUTPUT=HELREQ HELP, REQUIRED


                       Команда DISMOUNT

       Размонтирует библиотечный диск на указанном устройстве

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

  VMSTAILOR при  монтировании  диска.  Эти  логические  имена

  перечисляются в табл. 3.



















                           - 91 -

                        00152-01 97 10


                                                    Таблица 3

        Определение логических имен библиотечного диска

  -----------------------------------------------------------

         Логическое имя       !       Определение

  -----------------------------------------------------------

      LIB$SYSDEVICE           !  = DDCU:

      LIB$TOPSYS              !  = SYS0

      LIB$SYSROOT             !  = DDCU:[SYS0.]

      LIB$ERRORLOG            !  = LIB$SYSROOT:[SYSERR]

      LIB$HELP                !  = LIB$SYSROOT:[SYSHLP]

      LIB$LIBRARY             !  = LIB$SYSROOT:[SYSLIB]

      LIB$MAINTENENCE         !  = LIB$SYSROOT:[SYSMAINT]

      LIB$MANAGER             !  = LIB$SYSROOT:[SYSMGR]

      LIB$MESSAGE             !  = LIB$SYSROOT:[SYSMSG]

      LIB$SHARE               !  = LIB$SYSROOT:[SYSLIB]

      LIB$SYSTEM              !  = LIB$SYSROOT:[SYSEXE]

      LIB$TEST                !  = LIB$SYSROOT:[SYSTEST]

      LIB$UPDATE              !  = LIB$SYSROOT:[SYSUPD]


       Команда DISMOUNT имеет формат:


       DISMOUNT [DDCU:]


  где DDCU:

       - определяет накопитель, на котором  надо  размонтиро-

         вать библиотечный диск. Если пользователь не опреде-

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

         ческое имя LIB$SYSDEVICE.





                           - 92 -

                        00152-01 97 10



                         Команда EXIT

       Осуществляет выход из средства подгонки и  возврат  на

  уровень языка DCL. Команда EXIT имеет формат:


       EXIT


                         Команда HELP

       Дает подробное описание всех команд  и  квалификаторов

  подгонки. Если пользователь напечатает только HELP,  то  он

  получит об'яснение команды HELP и список других  тем,  опи-

  санных в файле HELP. Команда HELP имеет формат:


       HELP [тема] [подтема]


  тема

       - определяет  любую  команду  и  необязательную   тему

         GROUP;

  подтема

       - определяет квалификаторы команды (если темой являет-

         ся команда) или  имя  группы  (если  темой  является

         GROUP).


       Пример.

       Отображение информации о группе файлов DEVELOP  выпол-

  няет следующая команда:


       TAILOR> HELP GROUPS DEVELOP


  система выдаст следующую информацию:






                           - 93 -

                        00152-01 97 10


   GROUPS

     DEVELOP

        DEVELOP FILES ARE USED FOR THE DEVELOPMENT OF APPLI-

        CATION PROGRAMS. THEY INCLUDE THE EDT EDITOR,

        MACRO-32 ASSEMBLER, МОС ВП LIBRARIAN, МОС ВП LINKER,

        СМ 1700 SYMBOLIC DEBUGGER, AND THE LIBRARIES THEY

        USE. HELP TEXT FOR THE MENTIONED UTILITIES IS ALSO

        INCLUDED.


                         Команда MOUNT

       Монтирует  библиотечный  диск  на  указанном  дисковом

  накопителе и определяет  соответствующие  логические  имена

  (см.  табл.  3).  Для  применения  команд   COPY,   DELETE,

  DIRECTORY/SIZE и RECORD библиотечный диск должен быть смон-

  тирован командой MOUNT. Эта команда имеет формат:


       MOUNT DDCU:[метка]

       /WRITE


  где DDCU:

       - определяет накопитель, на котором  монтируется  биб-

         лиотечный диск;

  метка

       - определяет метку на библиотечном диске, который надо

         смонтировать. Подразумеваемой  по  умолчанию  меткой

         является M32VOSLB4;

  /WRITE

       - позволяет выполнять  запись  на  библиотечный  диск.

         Квалификатор /WRITE используется лишь при  установке



                           - 94 -

                        00152-01 97 10


         дополнительных программ или при необходимости выпол-

         нения средства UETP.


       Примечание. Изменение библиотечного диска дает  непод-

  держиваемую конфигурацию программного обеспечения и возмож-

  но неблагоприятное воздействие на работу МОС ВП. По умолча-

  нию библиотечный диск защищен по записи.


       Пример.

       Монтирование библиотечного диска  на  накопителе  DQA1

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


       TAILOR>MOUNT DQA1:


                        Команда RECORD

       Создает так  называемую  группу  файлов  соответствия,

  содержащую имена всех файлов МОС  ВП  библиотечного  диска,

  которые в данный момент имеются и на системном  диске.  При

  помощи этой команды можно сохранить для последующего приме-

  нения запись единственной  группы  файлов.  Команда  RECORD

  имеет формат:


       RECORD группа-файлов-соответствия [группа-измененных-

       _$ файлов]


  где группа-файлов-соответствия

       - дает имя создаваемой группе файлов соответствия. Имя

         и номер версии файла должны на том  и  другом  диске

         совпадать. Если существует несколько версий  некото-

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




                           - 95 -

                        00152-01 97 10


         файлов соответствия лишь самая последняя;

  группа-измененных-файлов

       - дает имя создаваемой группе измененных  файлов.  Эта

         группа  включает  файлы  системного  диска,  которые

         имеют соответствующее имя на библиотечном диске,  но

         другой номер версии. Если не определять группу изме-

         ненных файлов, а на системном диске имеются изменен-

         ные файлы, то для каждого такого файла  на  терминал

         будет выдано сообщение об ошибке.


       За командой RECORD обычно следует команда DELETE,  что

  позволяет создать на системном  диске  другую  конфигурацию

  программ. В этом случае группа файлов,  созданная  командой

  RECORD, может быть впоследствии скопирована обратно на сис-

  темный диск для восстановления старой конфигурации.


       Пример.

       Для получения списка существующей, подогнанной  конфи-

  гурации программ в группе  файлов  MYCONFIG,  надо  вызвать

  средство VMSTAILOR, используя команду  MOUNT,  смонтировать

  библиотечный диск и ввести команду RECORD в следующем виде:


       TAILOR> RECORD MYCONFIG


       Теперь следует удалить MYCONFIG  с  системного  диска,

  используя команду DELETE:


       TAILOR> DELETE MYCONFIG


       Затем, копированием на системный  диск  групп  файлов,




                           - 96 -

                        00152-01 97 10


  можно построить новую конфигурацию этого диска. Если,  нап-

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

  ся функции управления МОС  ВП,  то  надо  ввести  следующую

  команду:


       TAILOR> COPY MANAGER


       Теперь командой DISMOUNT средства подгонки можно  раз-

  монтировать библиотечный диск и выполнить операции управле-

  ния системой. При необходимости  восстановления  предыдущей

  конфигурации следует вновь смонтировать библиотечный диск и

  ввести следующие команды:


       TAILOR> DELETE MANAGER

       TAILOR> COPY MYCONFIC


                        Команда SEARCH

       Ищет группу(ы) файлов, в  которых  размещен  указанный

  файл. Команда SEARCH имеет формат:


       SEARCH спец-файла


  спец-файла

       - задает имя файла, который надо найти. Символы  обоб-

         щения не допускаются. Информация выводится  на  уст-

         ройство SYS$OUTPUT.



       3.4. Специальные  операции  для   систем   с

            малыми дисками






                           - 97 -

                        00152-01 97 10


       Ограничения на об'ем пространства в системах с  малыми

  дисками требуют, чтобы в таких системах некоторые  действия

  выполнялись иначе, чем в  среде  с  большими  дисками.  Эти

  действия следующие:

       - выполнение средств UETP;

       - разблокирование очередей заданий;

       - анализ системных ошибок;

       - установка файлов образов с привилегиями;

       - копирование на системный диск файлов образов,  необ-

         ходимых для команд языка DCL.

       Процедуры для выполнения этих действий описаны  в  пп.

  3.4.1...3.4.5.



       3.4.1. Подготовка к выполнению средств UETP


       Средства проверки функционирования МОС ВП (UETP)  тес-

  тируют аппаратуру и программы с целью проверки правильности

  установки МОС ВП. Работа UETP может  осуществляться  или  с

  библиотечного диска или после копирования  этого  диска  на

  системный диск. Оба метода требуют копирования дополнитель-

  ных файлов на системный диск. Для копирования  используется

  следующая команда:


       $ @SYS$UPDATE:VMSTAILOR COPY DEVELOP,FILETOOLS,-

       -$ TEXTOOLS, MISCTOOLS


       Если для копирования всех этих групп  файлов  недоста-

  точно места, то вместо копирования групп можно  скопировать

  отдельные требуемые файлы. Для такого копирования необходи-



                           - 98 -

                        00152-01 97 10


  мо вызвать средство подгонки:


       $ @SYS$UPDATE:VMSTAILOR


  после этого надо ввести следующую последовательность команд

  подгонки:


       TAILOR> COPY /FILE CONVERT

       TAILOR> COPY /FILE DIFF

       TAILOR> COPY /FILE SEARCH

       TAILOR> COPY /FILE SORT32

       TAILOR> COPY /FILE [SYSLIB]CONVSHR

       TAILOR> COPY /FILE [SYSLIB]FDLSHR

       TAILOR> COPY /FILE [SYSHLP]HELPLIB.HLB

       TAILOR> EXIT


       После завершения  данной  подготовки,  надо  запустить

  средства UETP в соответствии с инструкциями документа [1].

       Если очереди заданий в системе не  разблокированы,  то

  во время выполнения фазы тестирования загрузки на терминале

  может  появиться   сообщение   "%JBC-E-SYMBDSAB,   SYMBIONT

  MANAGER IS DISABLED". Его можно игнорировать. Более подроб-

  ная информация о разблокировании очередей заданий дана в п.

  3.4.2.



       3.4.1.1. Работа средств UETP при  их  размещении

                на библиотечном диске


       Если выполнение средств UETP  будет  осуществляться  с

  библиотечного диска, то  в  учетном  разделе  SYSTEST  надо



                           - 99 -

                        00152-01 97 10


  изменить имя подразумеваемых по умолчанию устройств.

       Если в дальнейшем будет принято решение выполнять UETP

  с системного диска, то  перед  этим  надо  восстановить  на

  SYSROOT поле устройства в учетном разделе SYSTEST.

       Для изменения имени подразумеваемого по умолчанию уст-

  ройства и для записи UETP на библиотечный диск используется

  следующая процедура:

       1) войти в МОС ВП под именем SYSTEM;

       2) ввести следующую команду:


       $ RUN SYS$SYSTEM:AUTHORIZE


       3) в ответ на подсказку UAF> ввести следующую информа-

  цию:


       UAF > MODIFY SYSTEST/DEVICE=LIB$SYSROOT

       UAF > EXIT


       4)  поместить  библиотечный  диск  на  соответствующий

  накопитель (DDCU:)

       5) вызвать средство подгонки и смонтировать библиотеч-

  ный диск, как доступный по записи, следующей командой:


       $ @SYS$UPDATE:VMSTAILOR MOUNT/WRITE DDCU:



       3.4.1.2. Работа средств UETP при  их  размещении

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


       Если предполагается, что UETP будет выполняться с сис-

  темного диска, то вначале  надо  смонтировать  библиотечный




                           - 100 -

                        00152-01 97 10


  диск командой MOUNT средства подгонки, а затем  скопировать

  на системный диск группу файлов UETP. Для этого использует-

  ся следующая процедура:

       1)  поместить  библиотечный  диск  на  соответствующий

  накопитель (DDCU:);

       2) вызвать средство подгонки:


       $ @SYS$UPDATE:VMSTAILOR


       3) ввести следующую последовательность команд  подгон-

  ки:


       ТAILOR>MOUNT DDCU:

       TAILOR>COPY UETP

       TAILOR>EXIT



       3.4.2. Разблокирование очередей заданий


       По умолчанию очередей заданий в МОС ВП нет. Если такие

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

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


       TAILOR>MOUNT DDCU:

       TAILOR>COPY QUEUE

       TAILOR>EXIT


       После этого выполняется отключение и перезагрузка (см.

  подраздел 2.7).

       Для создания системного файла очередей (SYS$SYSTEM:

  JBCSYSQUE.EXE) требуется примерно 100 блоков. Информация  о




                           - 101 -

                        00152-01 97 10


  создании очередей и управлении ими приведена в данном доку-

  менте (см. раздел 9).



       3.4.3. Анализ ошибок МОС ВП


       МОС ВП включает средства для записи на системный  диск

  дампов аварийных отказов при возникновении серьезных  труд-

  ностей с аппаратурой или программами. Обычно требуемый раз-

  мер файла дампа (SYS$SYSTEM: SYSDUMP.DMP) равен числу стра-

  ниц физической памяти в системе плюс четыре блока. Однако в

  системах с маленькими дисками дампы аварийных отказов запи-

  сываются  на  место   системного   файла   обмена   страниц

  (SYS$SYSTEM:PAGEFILE.SYS).

       Дампы обычно переписываются при  каждой  загрузке  МОС

  ВП. Для сохранения дампов аварийных  отказов  (с  целью  их

  анализа) надо установить параметр SAVEDUMP программы SYSGEN

  в 1 и скопировать дамп на другой диск. Эти действия  описы-

  ваются в подпунктах 3.4.3.1 и 3.4.3.2.



       3.4.3.1. Установка параметра SAVEDUMP


       В системах с маленькими дисками параметр  SAVEDUMP  по

  умолчанию равен нулю. Если требуется сохранять  дампы  ава-

  рийных отказов стандартным образом, то этот  параметр  надо

  установить в 1. Следует однако отметить, что, если  МОС  ВП

  дает ошибки, а этот параметр равен 0, то остановом в проце-

  дуре SYSBOOT при перезагрузке МОС ВП и установкой параметра

  SAVEDUMP в 1, дамп еще можно сохранить. Инструкции по  заг-




                           - 102 -

                        00152-01 97 10


  рузке и останову в SYSBOOT даны в п. 4.2.3.

       Для установки  параметра  SAVEDUMP  при  интерактивной

  работе надо вызвать программу SYSGEN следующим образом:


       $ RUN SYS$SYSTEM:SYSGEN


       Модифицирование  параметра   SAVEDUMP   осуществляется

  путем  ввода  на  последовательность  подсказок   программы

  SYSGEN следующих команд:


       SYSGEN > USE CURRENT

       SYSGEN > SET SAVEDUMP 1

       SYSGEN > WRITE CURRENT

       SYSGEN > EXIT


       После этого необходимо отключить и перезагрузить  сис-

  тему (см. подраздел 2.7).



       3.4.3.2. Сохранение дампа для анализа


       Поскольку при сохранении дампа  основная  часть  файла

  обмена страниц становится недоступной, то следует  по  воз-

  можности быстрее освободить пространство,  занятое  дампом.

  Если доступен лишь небольшой об'ем файла обмена страниц, то

  может оказаться, что МОС ВП  работает  очень  медленно  или

  дает сбои. Если для файла обмена  страниц  остается  меньше

  1000 блоков,  то  параметр  SAVEDUMP  игнорируется  и  дамп

  немедленно удаляется.

       Для того, чтобы обеспечить автоматическое  копирование

  дампов на другой диск и восстановление  пространства  файла



                           - 103 -

                        00152-01 97 10


  обмена страниц, надо в командную процедуру запуска,  учиты-

  вающую  специфику  вычислительной   системы   (SYS$MANAGER:

  SYSTARTUP.COM),  ввести  следующие  команды.  (эти  команды

  предполагают присутствие диска данных на устройстве DQA1  с

  меткой тома USERDISK и каталагом [CRASH]):


       $ MOUNT DQA1:USERDISK

       $ ANALYZE/CRASH SYS$SYSTEM:PAGEFILE.SYS

       $ COPY DQA1:[CRASH]SYSDUMP.DMP;1

       $ EXIT


       После монтирования диска вызывается системный анализа-

  тор дампа (SDA). Для управления  дампом  аварийного  отказа

  SDA выполняет следующие действия:

       1) будучи вызван из командной  процедуры  запуска,  он

  осуществляет немедленный выход, если  выполняется  одно  из

  следующих условий:

       - файл дампа не содержит действительного дампа;

       - дамп был проанализирован раньше;

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

         отключения;

       2) при успешном завершении операции COPY,  освобождает

  пространство файла обмена страниц для немедленного  исполь-

  зования;

       3) при копировании  дампа  в  уже  существующий  файл,

  заменяет этот файл, а не создает новый. При  явном  задании

  номера версии 1, каждый новый дамп аварийного отказа  заме-

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




                           - 104 -

                        00152-01 97 10


  дамп аварийного отказа.

       Если дамп аварийного отказа невозможно  загрузить  или

  успешно скопировать, то можно  загрузить  другой  системный

  диск, смонтировать системный  диск,  содержащий  дамп,  как

  диск данных, и затем проанализировать дамп аварийного отка-

  за.



       3.4.4. Установка файлов образов с привилегиями


       Для правильной работы библиотечные файлы,  перечислен-

  ные в табл. 4, должны в системах с маленькими дисками уста-

  навливаться с привилегиями.

                                                   Таблица 4

           Файлы, требующие установки с привилегиями

  ----------------------------------------------------------

           Файл            !         Группа файлов

  ----------------------------------------------------------

   AUTHORIZE.EXE           ! MANAGER

   ANALIMDMP.EXE           ! DEVELOP

   INIT.EXE                ! MANAGER

   SHWCLSTR.EXE            ! MISCTOOLS

   MAIL.EXE                ! MISCTOOLS

   PHONE.EXE               ! MISCTOOLS

   CDU.EXE                 ! MISCTOOLS

   MONITOR.EXE             ! MISCTOOLS

   SUBMIT.EXE              ! QUEUES

   DBGSSISHR.EXE           ! DEVELOP





                           - 105 -

                        00152-01 97 10


       Если МОС ВП загружается с этими файлами уже  подогнан-

  ными к системному диску, то они будут устанавливаться авто-

  матически. Если же эти файлы подгоняются к системному диску

  после загрузки, то они устанавливаются одним из двух спосо-

  бов:

       - можно  отключить   МОС   ВП,   используя   процедуру

         SYS$SYSTEM:SHUTDOUWN, и перезагрузить ее  (см.  под-

         раздел 2.7);

       - можно вызвать процедуру установки образов  следующей

         командой:


       $ @SYS$MANAGER:VMSIMAGES INSTALL VMSIMAGES


       Информация об установке  образов  приведена  в  данном

  документе (см. раздел 8).



       3.4.5. Копирование на системный диск  образов,

              необходимых для команд языка DCL


       Многие команды языка DCL активизируют  соответствующие

  образы МОС ВП.  Например,  команда  LIBRARIAN  этого  языка

  обычно вызывает образ LIBRARY. В среде с маленькими дисками

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

  среде. При попытке сделать это, на терминале будет получено

  следующее сообщение об ошибках:


       %  DCL-W-ACTIMAGE,  ERROR   ACTIVATING   IMAGE   'имя'

  -CLI-E-IMAGEFNF, IMAGE FILE NOT FOUND 'имя образа'






                           - 106 -

                        00152-01 97 10


       Перед вызовом образа необходимо применить команду COPY

  средства подгонки для  копирования  соответствующего  файла

  образа или группы файлов с библиотечного диска на системный

  диск. В табл.  5  перечислены  команды,  вызывающие  образ,

  активизированный образ и группа файлов, в которой он предс-

  тавлен, а также показано, как квалификаторы  команды  могут

  изменить вызов образа.

       Примечание. Показанная в табл. 5 связь между командами

  языка DCL и вызываемыми образами характерна лишь для данной

  версии МОС ВП, эта связь дана только  как  руководство  для

  подгонки системного диска. Не следует  создавать  программы

  или процедуры, зависящие от  данной  связи,  поскольку  она

  меняется от одного варианта МОС ВП к другому.

                                                    Таблица 5

   Команды языка DCL, активизируемые образы и группы файлов

  -----------------------------------------------------------

      Команда          !   Образ           ! Группа файлов

  -----------------------------------------------------------

  ACCOUTING            ! ACC               ! MANAGER

  ANALYZE              ! ANALYZOBJ         ! FILETOOLS

                       !     1)            !

      /CRASH_DUMP      ! SDA               ! MISCTOOLS

      /DISK_STRUCTURE  ! VERIFY            ! MANAGER

      /ERROR_LOG       ! ERF               ! MISCTOOLS

      /MEDIA           ! ANALYZBAD         ! MANAGER

      /PROCESS_DUMP    ! ANALIMDMP         ! DEVELOP

      /RMS_FILE        ! ANALYZRMS         ! REQUIRED




                           - 107 -

                        00152-01 97 10


                                          Продолжение табл. 5

  -----------------------------------------------------------

      Команда          !   Образ           ! Группа файлов

  -----------------------------------------------------------

                       !     1)            !

      /SYSTEM          ! SDA               ! MISCTOOLS

  APPEND               ! COPY              ! FILETOOLS

  ASSIGN               ! DCL               ! REQUIRED

       /MERGE          ! QUEMAN            ! QUEUES

       /QUEUE          ! QUEMAN            ! QUEUES

  BACKUP               ! BACKUP            ! REQUIRED

  CHECKSUM             ! CHECKSUM          ! MISCTOOLS

  CONVERT              ! CONVERT,CONVSHR   ! FILETOOLS

       /RECLAIM        ! RECLAIM,CONVSHR   ! FILETOOLS

  COPY                 ! COPY              ! REQUIRED

  CREATE               ! CREATE            ! REQUIRED

       /FDL            ! CREATEFDL,CONVSHR ! FILETOOLS

  DEASSIGN             ! DCL               ! REQUIRED

       /QUEUE          ! QUEMAN            ! QUEUES

  DEFINE               ! DCL               ! REQUIRED

       /CHARACTERISTIC ! QUEUEMAN          ! QUEUES

       /FORM           ! QUEUEMAN          ! QUEUES

  DELETE               ! DELETE            ! REQUIRED

       /CHARACTERISTIC ! QUEUEMAN          ! QUEUES

       /ENTRY          ! QUEMAN            ! QUEUES

       /FORM           ! QUEUEMAN          ! QUEUES

       /QUEUE          ! QUEMAN            ! QUEUES




                           - 108 -

                        00152-01 97 10


                                          Продолжение табл. 5

  -----------------------------------------------------------

      Команда          !   Образ           ! Группа файлов

  -----------------------------------------------------------

  DIFFERENCES          ! DIFF              ! TEXTTOOLS

  DIRECTORY            ! DIRECTORY           REQUIRED

  DISMOUNT             ! DISMOUNT,DISMNTSHR! REQUIRED

  DUMP                 ! DUMP              ! FILETOOLS

  EDIT                 ! EDT               ! TEXTTOOLS

       /ACL            ! ACLEDT            ! FILETOOLS, MA-

                       !                   ! NAGER

       /FDL            ! EDF,FDLSHR        ! FILETOOLS

       /SUM            ! SUMSLP,SUMSHR     ! TEXTTOOLS

       /TECO           ! TECO              ! TEXTTOOLS

  EXCHANGE             ! EXCHANGE          ! MANAGER

                       !      2)           !

  HELP                 ! HELP              ! REQUIRED

  INITIALIZE           ! INIT              ! MANAGER

       /BASE_PRIORITY  ! QUEMAN            ! QUEUES

       /BATCH          ! QUEMAN            ! QUEUES

       /BLOCK_LIMIT    ! QUEMAN            ! QUEUES

       /CHARACTERISTICS! QUEMAN            ! QUEUES

       /CPUDEFAULT     ! QUEMAN            ! QUEUES

       /CPUMAXIMUM     ! QUEMAN            ! QUEUES

       /DEFAULT        ! QUEMAN            ! QUEUES

       /DISABLE_SWAP-  ! QUEMAN            ! QUEUES

        PING           !                   !




                           - 109 -

                        00152-01 97 10


                                          Продолжение табл. 5

  -----------------------------------------------------------

      Команда          !   Образ           ! Группа файлов

  -----------------------------------------------------------

        /ENABLE_GENE-  ! QUEMAN            ! QUEUES

         RIC           !                   !

        /FORM          ! QUEMAN            ! QUEUES

        /GENERIC       ! QUEMAN            ! QUEUES

        /JOB_LIMIT     ! QUEMAN            ! QUEUES

        /LIBRARY       ! QUEMAN            ! QUEUES

        /ON            ! QUEMAN            ! QUEUES

        /PROCESSOR     ! QUEMAN            ! QUEUES

        /QUEUE         ! QUEMAN            ! QUEUES

        /RETAIN        ! QUEMAN            ! QUEUES

        /SEPARATE      ! QUEMAN            ! QUEUES

        /START         ! QUEMAN            ! QUEUES

        /TERMINAL      ! QUEMAN            ! QUEUES

        /WINDOWS       ! QUEMAN            ! QUEUES

        /WSDEFAULT     ! QUEMAN            ! QUEUES

        /WSEXTENT      ! QUEMAN            ! QUEUES

        /WSQUOTA       ! QUEMAN            ! QUEUES

  LIBRARY              ! LIBRARIAN         ! DEVELOP

                       !      3)           !

  LINK                 ! LINK              ! CRFSHR

                       !        1)         !

  MACRO                ! MACRO32, SUMSHR   ! DEVELOP

  MAIL                 ! MAIL,CONVSHR,     ! MISCTOOLS




                           - 110 -

                        00152-01 97 10


                                          Продолжение табл. 5

  -----------------------------------------------------------

      Команда          !   Образ           ! Группа файлов

  -----------------------------------------------------------

                       ! EDTSHR            !

  MERGE                ! MERGE             ! MISCTOOLS

  MESSAGE              ! MESSAGE           ! MISCTOOLS

  MONITOR              ! MONITOR           ! MISCTOOLS

  MOUNT                ! VMOUNT,MOUNTSHR   ! REQUIRED

  PATCH                ! PATCH             ! MISCTOOLS

  PHONE                ! PHONE             ! MISCTOOLS

  PRINT                ! SUBMIT            ! QUEUES

  PURGE                ! DELETE            ! REQUIRED

  RENAME               ! RENAME            ! REQUIRED

  REPLY                ! REPLY             ! REQUIRED

  REQUEST              ! REQUEST           ! REQUIRED

  RUN                  ! DCL               ! REQUIRED

        /ACCOUTING     ! RUNDET            ! REQUIRED

        /AST_LIMIT     ! RUNDET            ! REQUIRED

        /AUTOHORIZE    ! RUNDET            ! REQUIRED

        /BUFFER_LIMIT  ! RUNDET            ! REQUIRED

        /DELAY         ! RUNDET            ! REQUIRED

        /DETACHED      ! RUNDET            ! REQUIRED

        /DUMP          ! RUNDET            ! REQUIRED

        /ENQUEUE_LIMIT ! RUNDET            ! REQUIRED

        /ERROR         ! RUNDET            ! REQUIRED

        /EXTENT        ! RUNDET            ! REQUIRED




                           - 111 -

                        00152-01 97 10


                                          Продолжение табл. 5

  -----------------------------------------------------------

      Команда          !   Образ           ! Группа файлов

  -----------------------------------------------------------

        /FILE_LIMIT    ! RUNDET            ! REQUIRED

        /INPUT         ! RUNDET            ! REQUIRED

        /INTERVAL      ! RUNDET            ! REQUIRED

        /IO_BUFFERED   ! RUNDET            ! REQUIRED

        /IO_DIRECT     ! RUNDET            ! REQUIRED

        /JOB_TABLE     ! RUNDET            ! REQUIRED

         _QUOTA        !                   !

        /MAILBOX       ! RUNDET            ! REQUIRED

        /MAXIMUM_WOR-  ! RUNDET            ! REQUIRED

         KING_SET      !                   !

        /OUTPUT        ! RUNDET            ! REQUIRED

        /PAGE_FILE     ! RUNDET            ! REQUIRED

        /PRIORITY      ! RUNDET            ! REQUIRED

        /PRIVILEGES    ! RUNDET            ! REQUIRED

        /PROCESS       ! RUNDET            ! REQUIRED

        /QUEUE_LIMIT   ! RUNDET            ! REQUIRED

        /RESOURCE_WAIT ! RUNDET            ! REQUIRED

        /SCHEDULE      ! RUNDET            ! REQUIRED

        /SERVICE_FAILU-! RUNDET            ! REQUIRED

         RE            !                   !

        /SUBPROCESS_LI-! RUNDET            ! REQUIRED

         MIT           !                   !

        /SWARRING      ! RUNDET            ! REQUIRED




                           - 112 -

                        00152-01 97 10


                                          Продолжение табл. 5

  -----------------------------------------------------------

      Команда          !   Образ           ! Группа файлов

  -----------------------------------------------------------

        /UIC           ! RUNDET            ! REQUIRED

  RUNOFF               ! RUNOFF            ! TEXTTOOLS

        /CONTENTS      ! DSRTOC            ! TEXTTOOLS

        /INDEX         ! DSRINDEX          ! TEXTTOOLS

  SDL/NOPARSE          ! SDLNPARSE         ! DEVELOP

  SEARCH               ! SEARCH            ! TEXTTOOLS

  SET                  ! SET               ! REQUIRED

        ACCOUNTING     ! SET               ! REQUIRED

        ACL            ! SETSHOACL         ! FILETOOLS,MA-

                       !                   ! NAGER

            /EDIT      ! ACLEDT            ! FILETOOLS,MA-

                       !                   ! NAGER

        AUDIT          ! SET               ! REQUIRED

        BROADCAST      ! SET               ! REQUIRED

        CARD_READER    ! SET               ! REQUIRED

        CLUSTER        ! SET               ! REQUIRED

        COMMAND        ! CDU               ! MISCTOOLS

        DAY            ! SET               ! REQUIRED

        DEVICE         ! SET               ! REQUIRED

            /ACL       ! SETSHOACL         ! FILETOOLS,MA-

                       !                   ! NAGER

            /EDIT      ! ACLEDT            ! FILETOOLS,MA-

                       !                   ! NAGER




                           - 113 -

                        00152-01 97 10


                                          Продолжение табл. 5

  -----------------------------------------------------------

      Команда          !   Образ           ! Группа файлов

  -----------------------------------------------------------

        DIRECTORY      ! SET               ! REQUIRED

            /ACL       ! SETSHOACL         ! FILETOOLS,MA-

                       !                   ! NAGER

           /EDIT       ! ACLEDT            ! FILETOOLS,MA-

                       !                   ! NAGER

        FILE           ! SET               ! REQUIRED

           /ACL        ! SETSHOACL         ! FILETOOLS,MA-

                       !                   ! NAGER

           /EDIT       ! ACLEDT            ! FILETOOLS,MA-

                       !                   ! NAGER

        HOST           ! RTPAD             ! DECNET

        LOGINS         ! SET               ! REQUIRED

        MAGTAPE        ! SET               ! REQUIRED

        MESSAGE        ! SETPO             ! REQUIRED

        PASSWORD       ! SETPO             ! REQUIRED

        PRINTER        ! SET               ! REQUIRED

        PROCESS        ! SET               ! REQUIRED

        PROTECTION     ! SET               ! REQUIRED

        QUEUE          ! QUEMAN            ! QUEUES

        RESTART_VALUE  ! QUEMAN            ! QUEUES

        RMS_DEFAULT    ! SET               ! REQUIRED

        TERMINAL       ! SET               ! REQUIRED

        VOLUME         ! SET               ! REQUIRED




                           - 114 -

                        00152-01 97 10


                                          Продолжение табл. 5

  -----------------------------------------------------------

      Команда          !   Образ           ! Группа файлов

  -----------------------------------------------------------

        WORKING_SET    ! SET               ! REQUIRED

  SHOW                 ! SHOW              ! REQUIRED

        ACCOUTING      ! SHOW              ! REQUIRED

        ACL            ! SETSHOACL         ! FILETOOLS,MA-

                       !                   ! NAGER

        AUDIT          ! SHOW              ! REQUIRED

        BROADCAST      ! SHOW              ! REQUIRED

        CLUSTER        ! SHWCLSTR          ! MISCTOOLS

        CPU            ! MP                ! REQUIRED

        DEVICES        ! SHOW              ! REQUIRED

        ERROR          ! SHOW              ! REQUIRED

        LOGICAL        ! SHOW              ! REQUIRED

        MAGTAPE        ! SHOW              ! REQUIRED

        MEMORY         ! SHOW              ! REQUIRED

        NETWORK        ! SHOW              ! REQUIRED

        PRINTER        ! SHOW              ! REQUIRED

        PROCESS        ! SHOW              ! REQUIRED

        QUEUE          ! QUEMAN            ! QUEUES

        RMS_DEFAULT    ! SHOW              ! REQUIRED

        SYSTEM         ! SHOW              ! REQUIRED

        TERMINAL       ! SHOW              ! REQUIRED

        USERS          ! SHOW              ! REQUIRED

        WORKING_SET    ! SHOW              ! REQUIRED




                           - 115 -

                        00152-01 97 10


                                          Продолжение табл. 5

  -----------------------------------------------------------

      Команда          !   Образ           ! Группа файлов

  -----------------------------------------------------------

  SORT                 ! SORTMEPGE         ! MISCTOOLS

  START                ! QUEMAN            ! QUEUES

        /CPU           ! MP                ! REQUIRED

  STOP                 ! DCL               ! REQUIRED

       /ABORT          ! QUEMAN            ! QUEUES

       /CPU            ! MP                ! REQUIRED

       /ENTRY          ! QUEMAN            ! QUEUES

       /HOLD           ! QUEMAN            ! QUEUES

       /MANAGER        ! QUEMAN            ! QUEUES

       /NEXT           ! QUEMAN            ! QUEUES

       /PRIORITY       ! QUEMAN            ! QUEUES

       /QUEUE          ! QUEMAN            ! QUEUES

       /REQUEUE        ! QUEMAN            ! QUEUES

       /RESET          ! QUEMAN            ! QUEUES

  SUBMIT               ! SUBMIT            ! QUEUES

  SYCHRONIZE           ! QUEMAN            ! QUEUES

  TYPE                 ! TYPE              ! REQUIRED

  UNLOCK               ! UNLOCK            ! FILETOOLS

  ----------------------


  1) требуется SYS.STB (группа файлов LIBRARY).

  2) требуется HELPLIP.LIB.

  3) требуется  STARLET.OLB  и  IMAGELIB.OLB  (группа  файлов

  LIBRARY).



                           - 116 -

                        00152-01 97 10


       3.5. Сообщения об ошибках  и  информационные

            сообщения средства подгонки


       В этом подразделе приводится список сообщений об ошиб-

  ках и информационных сообщений, вызываемых  средством  под-

  гонки. Каждое сообщение состоит из аббревиатуры, за которой

  следует текст сообщения.


  AMBIGRP, 'имя группы' IS AN AMBIGUOUS GROUP NAME

       Об'яснение: имя группы в том виде, в котором оно  вве-

  дено, содержит слишком мало символов и не однозначно.

       Действие пользователя: повторно ввести эту  команду  с

  однозначным именем группы.


  AMBIGWRD, 'слово' IS AN AMBIGUOUS WORD

       Об'яснение: сокращенная команда или квалификатор двус-

  мысленны.

       Действия пользователя: повторно ввести команду,  зада-

  вая длину достаточной для разрешения двусмысленности.


  BADCOMMA, INVALID COMMA IN COMMAND

       Об'яснение: в команде неверная запятая.

       Действие  пользователя:  скорректировать  и   повторно

  ввести команду.


  CTRLY, FUNCTION ABORTED BY CTRL/Y

       Об'яснение: выполняющаяся функция была прервана однов-

  ременным нажатием клавиш УС и Y.

       Действие пользователя: не требуется.





                           - 117 -

                        00152-01 97 10


  DEVICEREG, DEVICE MUST BE SPECIFIED

       Об'яснение: в команде не задано имя устройства.

       Действие пользователя: ввести команду повторно с опре-

  делением имени устройства.


  DISMOUNT, DEVICE DISMOUNTED

       Об'яснение: библиотечный диск размонтирован.

       Действие пользователя: не требуется.


  EXPNOTFND, EXPECTED FILE 'имя файла' NOT FOUND

       Об'яснение: при выполнении операции открывания файл  с

  заданным именем не найден.

       Действия пользователя: изучить  исходный  каталог  для

  проверки наличия файла.  Проверить  написание  спецификации

  файла.


  FILENAMEREG, A FILENAME MUST BE SPECIFIED

       Об'яснение: в этой команде должно быть задано имя фай-

  ла.

       Действия пользователя: ввести команду повторно с  ука-

  занием имени файла.


  GROUPREG, а GROUP MUST BE SPECIFIED

       Об'яснение: в этой  команде  должно  быть  задано  имя

  группы.

       Действия пользователя: ввести команду повторно с  ука-

  занием имени группы.


  HELPGROUPS, TYPE DIR/GROUPS FOR A LIST OF TAILORING GROUPS





                           - 118 -

                        00152-01 97 10


       Об'яснение: это информационное сообщение, оно выдается

  при использовании неверного имени группы.

       Действия пользователя: для получения списка правильных

  имен групп ввести команду DIRECTORY/GROUPS средства подгон-

  ки.


  HELPVERB, TYPE HELP 'команда'

       Об'яснение: это информационное сообщение, оно выдается

  при вводе неверной команды.

       Действия пользователя: для получения  более  детальной

  информации использовать команду HELP.


  HLPMOUNTWRT, TYPE HELP MOUNT/WRITE

       Об'яснение: выдается вслед за  ошибкой  по  блокировке

  записи.

       Действия пользователя: для получения  более  подробной

  информации о монтировании дисков с  разрешением  по  записи

  использовать указанную команду HELP.


  LIBNOTMOUNT, THE LIBRARY DISK MUST BE MOUNTED

       Об'яснение: для выполнения команды  необходим  библио-

  течный диск.

       Действия пользователя: смонтировать библиотечный  диск

  и повторно ввести эту команду.


  LIBPROTECT, THE LIBRARY DISK MUST BE WRITEABLE

       Об'яснение: сообщение о той ошибке блокировки  записи,

  которая произошла на библиотечном диске в результате коман-

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




                           - 119 -

                        00152-01 97 10


  этот диск.

       Действия  пользователя:  проверить,  заблокирована  ли

  защита по записи, смонтировать библиотечный диск, как  дос-

  тупный по записи, и повторно ввести команду.


  NOBACKUP, NO BACKUP COPY ON DEVICE 'устройство'

       Об'яснение: запрос на удаление  файла  проигнорирован,

  поскольку на библиотечном  диске  дублирующей  копии  этого

  файла нет.

       Действия пользователя: проверить, есть ли этот файл на

  дублирующем диске и правильно ли введено имя файла.


  NOHELP, HELP NOT AVAILABLE

       Об'яснение: на системном  диске  или  на  библиотечном

  диске, если он смонтирован, не может быть найдена  обслужи-

  вающая программа HELP или библиотека помощи  средства  под-

  гонки.

       Действия пользователя: смонтировать библиотечный  диск

  и повторно ввести команду. Если библиотечный диск уже смон-

  тирован, то эта ошибка указывает, что с одного или  с  двух

  дисков файлы были удалены неправильно.


  NONZEROREF, OPEN FILES ON DEVICE, NOT DISMOUNTED

       Об'яснение: библиотечный диск  нельзя  размонтировать,

  поскольку каналы к этому устройству открыты.

       Действия  пользователя:  для  того,  чтобы  определить

  какие пользователи или пакетные задания имеют открытые фай-

  лы надо исследовать список файлов, отображаемых с использо-

  ванием поля ID процесса. Закрыть эти файлы и повторно ввес-



                           - 120 -

                        00152-01 97 10


  ти команду DISMOUNT.


  NOQUAL, NO QUALIFIERS ALLOWED ON THE 'команда' COMMAND

       Об'яснение: с указанной командой применение квалифика-

  торов не разрешено.

       Действия пользователя:  проверить  введенную  команду.

  Для получения более детальной информации о синтаксисе  дан-

  ной команды ввести команду HELP.


  NOSEARCH, SEARCH NOT AVAILABLE

       Об'яснение: на системном или  на  библиотечном  диске,

  если последний смонтирован, не может  быть  обнаружен  файл

  SEARCH.EXE.

       Действия пользователя: смонтировать библиотечный  диск

  и повторно ввести команду. Если библиотечный диск уже смон-

  тирован, то эта ошибка указывает на то, что  с  одного  или

  двух дисков этот файл удален неправильно.


  NOSUCHDEV, NO SUCH DEVICE AS 'устройство'

       Об'яснение: специфицированное  устройство  не  сущест-

  вует.

       Действия пользователя: проверить написание имени  уст-

  ройства. Для получения списка имеющихся устройств использо-

  вать команду SHOW DEVICE языка DCL.


  NOSUCHDIR, EXPECTED DIRECTORY 'каталог' NOT FOUND

       Об'яснение: указанный каталог не найден.

       Действия пользователя: проверить написание  специфика-

  ции файла, использованной в команде. Если оно корректно, то




                           - 121 -

                        00152-01 97 10


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

  DIRECTORY языка DCL.


  NOSUCHFILE, NO FILES MATCHING THE SPECIFICATION 'имя файла'

  WERE FOUND

       Об'яснение: файлы, соответствующие указанной  специфи-

  кации, не обнаружены.

       Действия пользователя: проверить написание имени  фай-

  ла. Для просмотра  указанных  файлов  использовать  команду

  DIRECTORY языка DCL.


  NOSUCHGROUP, GROUP FILE 'имя группы' NOT FOUND

       Об'яснение: указанная группа не может быть найдена.

       Действия пользователя: проверить написание имени груп-

  пы. Для получения списка групп использовать команду подгон-

  ки DIRECTORY /GROUP.


  NOTDELETED, 'имя файла' NOT DELETED

       Об'яснение: указанное имя файла не удалено. Это инфор-

  мационное сообщение, оно выдается вместе  с  сообщением  об

  ошибке, которое об'ясняет причину ошибки при удалении.

       Действия пользователя: исследовать второе сообщение об

  ошибке.


  NOWILDCARDS, WILDCARDS NOT ALLOWED IN GROUP NAMES

       Об'яснение: в спецификации имени группы  не  разрешены

  символы обобщения (* и %).

       Действия пользователя: ввести команду повторно с явным

  именем группы.




                           - 122 -

                        00152-01 97 10



  NOWRITE, DEVICE IS NOT WRITE ENABLED

       Об'яснение: попытка монтирования библиотечного диска с

  квалификатором /WRITE вызвала ошибку.

       Действия пользователя: проверить, не защищен  ли  диск

  по записи. Ввести команду повторно.


  OPENIN, ERROR OPENING 'имя файла' AS INPUT

       Об'яснение: указывает, что файл не может быть открыт.

       Действия пользователя: проверить, существует  ли  этот

  файл и имеется ли к нему доступ по чтению.


  OPENOUT, ERROR OPENING 'имя файла' AS OUTPUT

       Об'яснение: указанный входной файл не может быть  отк-

  рыт.

       Действия пользователя: проверить  существует  ли  этот

  каталог и имеется ли к нему доступ по чтению.


  REISSUE, CORRECT THE SITUATION AND REISSUE THE COMMAND

       Об'яснение:  это  информационное  сообщение   выдается

  вместе с другими сообщениями об ошибке.

       Действия пользователя: обратиться к  информации,  опи-

  санной соседним сообщением об ошибке, и ввести команду пов-

  торно.


  REQNOTALLOWED, THE ROQUIRED FILE GROUP CANNOT BE DELETED

       Об'яснение: была сделана попытка удалить группу файлов

  REQUIRED.

       Действия  пользователя:  отсутствуют.  Группа   файлов

  REQUIRED необходима для загрузки системы.



                           - 123 -

                        00152-01 97 10



  TOOMANYPARM, TOO MANY PARAMETERS

       Об'яснение: в командной строке задано  число  парамет-

  ров, превышающее максимально допустимое.

       Действия пользователя:  проверить  написание  команды.

  Если оно корректно, то разбить команду на  несколько  более

  простых команд, имеющих меньше параметров.


  UNRECCMC, 'команда' IS AN UNRECOGNIZED COMMAND

       Об'яснение: указанная команда не верна.

       Действия пользователя: для получения списка правильных

  команд использовать команду HELP.


  UNRECQUAL, 'квалификатор' NOT VALID FOR THIS COMMAND

       Об'яснение:  указанный  квалификатор   для   введенной

  команды не верен.

       Действия пользователя: проверить написание  квалифика-

  тора и команды. Для получения правильного написания  приме-

  нить команду HELP.  Следует  заметить,  что  в  отличии  от

  интерпретатора языка DCL,  который  проверяет  лишь  первые

  четыре символа, средство подгонки проверяет написание  клю-

  чевых слов полностью.


  USEEXIT, TYPE EXIT TO EXIT

       Об'яснение: неправильная попытка завершить подгонку.

       Действия пользователя: для выхода использовать команду

  EXIT.


  USEHELP, TYPE HELP FOR MORE INFORMATION





                           - 124 -

                        00152-01 97 10


       Об'яснение:  это  информационное  сообщение   выдается

  вместе с различными сообщениями об ошибках.

       Действия пользователя: для получения  более  детальной

  информации  об  использованной  команде  применить  команду

  HELP. Если, например, ошибка произошла на команде COPY,  то

  напечатать HELP COPY.














































                           - 125 -

                        00152-01 97 10


                4. Отключение и запуск МОС ВП



       Для выполнения  различных  обслуживающих  функций  при

  эксплуатации МОС ВП ее необходимо  отключать  и  перезапус-

  кать. Например, может возникнуть необходимость в  изменении

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

  аппаратуры. Если, кроме того, МОС ВП дает ошибки или  авто-

  матически не перезагружается, то для ее перезапуска необхо-

  димо выполнить начальную загрузку вручную. Для отключения и

  перезапуска МОС ВП имеются несколько процедур. Эти процеду-

  ры описаны в данном разделе.



       4.1. Отключение МОС ВП



       Можно выполнить три типа операций отключения:

       1)   аккуратное   отключение   с   помощью   процедуры

  SYS$SYSTEM:SHUTDOWN.COM. Эта процедура  отключает  МОС  ВП,

  выполняя такие функции обслуживания, как  блокировка  даль-

  нейших входов в МОС ВП, останов пакетных очередей и  очере-

  дей печати, размонтирование смонтированных томов и  останов

  процессов пользователей (п. 4.1.1);

       SHUTDOWN.COM дополнительно вызывает учитывающую специ-

  фику    вычислительной    системы    командную    процедуру

  SYS$MANAGER:SYSHUTDWN.COM, которую администратор  подгоняет

  к требованиям системы.  Файл  SYSHUTDWN.COM  представлен  в

  наборе дистрибутивов, но он не содержит команд;

       2) аварийное отключение с помощью программы  OPCCRASH.




                           - 126 -

                        00152-01 97 10


  если с помощью процедуры SHUTDOWN.COM МОС ВП  отключить  не

  удается, то  выполняется  программа  аварийного  отключения

  OPCCRASH (п. 4.1.2);

       3) аварийное отключение  с  помощью  процедуры  CRASH.

  Если программа OPCCRASH выдает ошибку,  то  для  аварийного

  отключения МОС ВП используется процедура CRASH. Она  содер-

  жится на системном консольном носителе в качестве  консоль-

  ной программы, называемой CRASH (п. 4.1.3).



       4.1.1. Аккуратное   отключение    с    помощью

              процедуры SHUTDOWN.COM



       В   данном   пункте   описано   применение   процедуры

  SHUTDOWN.COM для отключения МОС ВП аккуратным  образом.  Не

  следует  модифицировать  SHUTDOWN.COM.  Вместо  этого   для

  выполнения  функций  обслуживания,  учитывающих   специфику

  вычислительной системы, можно добавить команды в  командную

  процедуру SYS$MANAGER:SYSHUTDWN.COM.

       Для выполнения процедуры SHUTDOWN.COM необходима  при-

  вилегия  SETPRV  или  все  следующие  привилегии:   CMKRNL,

  EXQUOTA, OPER, SYSNAM, SYSPRV, TMPMBX и WORLD. Если  приви-

  легия SETPRV у пользователя имеется, то эта процедура авто-

  матически припишет ему требуемые привилегии.

       Для выполнения аккуратного  отключения  МОС  ВП,  надо

  вызвать процедуру SHUTDOWN.COM с любого терминала и с любым

  учетным именем следующей командой языка DCL:






                           - 127 -

                        00152-01 97 10


       @SYS$SYSTEM:SHUTDOWN


       После этого данная процедура выдает подсказки с  рядом

  вопросов и сообщений:


       1) HOW MANY MINUTES UNTIL FINAL SHUTDOWN [0]?


  ввести целое число. Если  определено  системное  логическое

  имя SHUTDOWN$MINIMUM_MINUTES, то его целое значение являет-

  ся минимальным значением, которое можно ввести. Если,  нап-

  ример, это логическое имя равно 10, то  для  окончательного

  отключения необходимо указать по крайней мере 10  минут.  В

  противном случае будет выдано сообщение об ошибке. Если  не

  будет введено никакого значения, то  по  умолчанию  исполь-

  зуется значение данного  логического  имени.  Если  оно  не

  определено, и никакое значение не вводится, то используется

  0 минут;


       2) REASON FOR SHUTDOWN:


  ввести причину отключения системы в виде  одного  предложе-

  ния;


       3) DO YOU WANT TO SPIN DOWN THE DISK VOLUMES [NO]?


  ввести YES или NO (Y или N). Следует, однако, заметить, что

  системный диск не может быть остановлен;


       4) DO YOU WANT TO INVOKE  THE  SITE-SPECIFIC  SHUTDOWN

  PROCEDURE [YES]?






                           - 128 -

                        00152-01 97 10


  ввести YES или NO;


       5) SHOULD AN AUTOMATIC SYSTEM BOOT BE PERFORMED [NO]?


  по умолчанию МОС ВП автоматически не перезагружается. Если,

  однако, при завершении отключения ответить YES,  то  выпол-

  няется попытка автоматической перезагрузки МОС ВП.  Следует

  отметить, что автоматически перезагрузить МОС ВП можно лишь

  в том случае, когда на процессоре  установлен  также  соот-

  ветствующий  аппаратный  переключатель  и  когда  правильно

  установлен  подразумеваемый  по  умолчанию  командный  файл

  начальной загрузки (см. подраздел 2.4);


       6) WHEN WILL THE SYSTEM BE REBOOTED [LATER]?


  ввести время в формате желательном для распечатки в сообще-

  нии, которое будет рассылаться пользователям. Можно, напри-

  мер, указать IMMEDIATELY, или IN 10 MINUTES, или такое вре-

  мя, как 2 P.M., или 14:00. Если неизвестно,  когда  МОС  ВП

  станет доступной вновь, то надо нажать клавишу <ВК>,  опре-

  делив тем самым понятие "позже" в качестве  времени  после-

  дующей перезагрузки МОС ВП;


       7) SHUTDOWN OPTIONS (ENTER AS A COMMA-SEPARATED LIST):

  REMOVE_NODE REMAINING NODES IN THE  CLUSTER  SHOULD  ADJUST

  QUORUM

       CLUSTER_SHUTDOWN  ENTIRE  CLUSTER  IS  SHUTTING   DOWN

  REBOOT_CHECK CHECK EXISTENCE OF BASIC SYSTEM FILES

  SHUTDOWN OPTIONS [NONE]





                           - 129 -

                        00152-01 97 10


       Процедура подсказывет, что надо задать одну  или  нес-

  колько возможностей отключения. Если  МОС  ВП  не  является

  членом  кластера,  то  можно  указать  только   возможность

  REBOOT_CHECK. Она вводится в том  случае,  когда  требуется

  проверить  наличие  подмножества  файлов,  необходимых  для

  перезагрузки МОС ВП после отключения.  Если  уверенность  в

  существовании этих файлов имеется, то надо  нажать  клавишу

  <ВK>.

       Если выбирается возможность REBOOT_CHECK, то процедура

  отключения будет проверять  наличие  необходимых  файлов  и

  уведомлять об отсутствии любого из  них  (следует,  однако,

  заметить, что эта проверка не исчерпывающая). Перед продол-

  жением процедуры такие файлы надо вставить. Если в  наличии

  имеются все файлы, то появится сообщение об успешном завер-

  шении проверки:


       % SHUTDOWN-I-CHECKOK, BASIK REBOOT  CONSISTENCY  CHECK

  COMPLETED


       При продолжении процедуры отключения  происходят  сле-

  дующие события, которые сопровождаются сообщениями,  распе-

  чатываемыми на терминале:

       1) всем пользователям МОС  ВП  рассылается  сообщение,

  которое требует от пользователей выйти из МОС ВП;

       2) системное логическое имя SHUTDOWN$TIME определяется

  как абсолютное время отключения . Если, например,  в  ответ

  на первый вопрос значение 10 определяется в виде 12:00,  то

  это логическое имя приписывается значению 12:10 абсолютного




                           - 130 -

                        00152-01 97 10


  времени. Запрашивая определение логического имени (командой

  SHOW LOGICAL), можно увидеть, выполняется ли  отключение  и

  определить  фактическое  время  отключения.  Это   средство

  полезно, когда по какой-либо причине некоторому пользовате-

  лю не поступило рассылаемое сообщение об отключении;

       3) не больше чем за шесть минут до отключения  МОС  ВП

  терминал, с которого вызвана процедура  отключения,  стано-

  вится консолью оператора. Все дальнейшие  входы  в  МОС  ВП

  пользователей, которые не обладают  привилегией  оператора,

  блокируются. Если работает система программного обеспечения

  "трал" или "магистр", то она отключается;

       4) когда до отключения остается одна минута,  останав-

  ливаются очереди устройств и  пакетов,  а  также  системный

  диспечер очередей заданий;

       5) на последней минуте вызывается учитывающая специфи-

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

  SYS$MANAGER:SYSHUTDWN.COM;

       6) останавливаются все процессы пользователей,  однако

  системный процесс продолжает работать. Процессы  ACP  могут

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

  тома окончательно размонтируются;

       7) в двухпроцессорных системах останавливается вторич-

  ный процессор;

       8) удаляются все установленные образы;

       9) все смонтированные тома размонтируются и, если  это

  было затребовано, останавливаются диски.  Следует,  однако,

  заметить, что системный диск не может быть остановлен;




                           - 131 -

                        00152-01 97 10


       10) закрывается файл регистрации записей оператора;

       11)  для  отключения  МОС  ВП   вызывается   программа

  SYS$SYSTEM:OPCCRASH;

       12) если автоматическая  перезагрузка  затребована  не

  была, то на консоли появляется следующее сообщение:


  SYSTEM SHUTDOWN COMPLETE - USE CONSOLE TO HALT SYSTEM


  если же она была затребована,  то,  при  условии  установки

  необходимых компонентов управления, МОС ВП перезагружается;

       13) если автоматическая перезагрузка  не  выполняется,

  то после  распечатки  на  консольном  терминале  последнего

  сообщения необходимо остановить МОС ВП.

       В примере показано корректное  отключение  МОС  ВП  на

  узле AVALON с помощью процедуры SHUTDOWN.

       Пример.


  $ @SYS$SYSTEM:SHUTDOWN



           SHUTDOWN---PERFORM AN ORDERLY SYSTEM SHUTDOWN

  HOW MANY MINUTES UNTIL FINAL SHUTDOWN [0]: 10

  REASON FOR SHUTDOWN: [STANDALONE] MONTHLY PREVENTIVE

  MAINTENANCE.

  DO YOU WANT TO SPIN DOWN THE DISK VOLUMES [NO]? <ВК>

  DO YOU WANT TO INVOKE THE SITE-SPECIFIC SHUTDOWN

  PROCEDURE [YES]? <ВК>

  SHOULD AN AUTOMATIC SYSTEM BOOT BE PERFORMED [NO]? <ВК>

  WHEN WILL THE SYSTEM REBOOTED [LATER]? 12:30

  SHUTDOWN OPTIONS:



                           - 132 -

                        00152-01 97 10


   REBOOT_CHECK     CHECK EXISTENCE OF BASIC SYSTEM FILES

  SHUTDOWN OPTIONS [NONE] <ВК>



  %SHUTDOWN-I-OPERATOR. THIS TERMINAL IS NOW AN OPERATOR'S

  CONSOLE.

  %%%%%%%%%%% OPCOM, 16-JUN-1984 12:04:00.15 %%%%%%%%%%%

  OPERATOR STATUS FOR OPERATOR _AVALON$OPA0:

  CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK,

  OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPDR8,

  OPER9, OPER10, OPER11, OPER12

  %SHUTDOWN-I-DISLOGINS, INTERACTIVE LOGINS WILL NOW BE

  DISABLED.

  %SET-I-INTSET, LOGIN INTERACTIVE LIMIT = 0 CURRENT

  INTERACTIVE VALUE = 17

  %SHUTDOWN-I-SHUTNET. THE NETWORK VILL NOW BE SHUT

  DOWN.

  %SHUTDOWN-I-STOPQUEMAN. THE QUEQE MANAGER WILL NOW BE

  STOPPED.



  SHUTDOWN MESSAGE ON AVALON, FROM USER SYSTEM AT

  _AVALON$OPA0:   12:04:00.20

  AVALON WILL SHUT DOWN IN 5 MINUTES; BACK UP 12:30. PLEASE

  LOG OFF NODE AVALON.

  MONTHLY PREVENTIVE MAINTENANCE



  17 TERMINALS HAVE BEEN NOTIFIED ON AVALON

  SHUTDOWN MESSAGE ON AVALON FROM USER SYSTEM AT




                           - 133 -

                        00152-01 97 10


  _AVALON$OPA0:   12:05:55:28

  AVALON WILL SHUT DOWN IN 4 MINUTES; BACK UP 12:30. PLEASE

  LOG OFF NODE AVALON.

  MONTHLY PREVENTIVE MAINTENANCE



  %%%%%%%%%%% OPCOM, 16-JUN-1984 12:05:12.30 %%%%%%%%%%%

  MESSAGE FROM USER ON AVALON

  EVENT 2.0, LOCAL NODE STATE CHANGE

  FROM NODE 2.161 (AVALON), 16-JUN-1984 12:05:22.26

  OPERATOR COMMAND, OLD STATE = ON, NEW STATE = SHUT



  SHUTDOWN MESSAGE ON AVALON FROM USER SYSTEM AT

  _AVALON$OPA0:   12:07:12:56

  AVALON WILL SHUT DOWN IN 3 MINUTES; BACK UP 12:30. PLEASE

  LOG OFF NODE AVALON.

  MONTHLY PREVENTIVE MAINTENANCE



  %SHUTDOWN-I-STOPQUEMAN, THE QUEUE MANAGER WILL NOW BE

  STOPPED.

  SHUTDOWN MESSAGE ON AVALON FROM USER SYSTEM AT

  _AVALON$OPA0:   12:07:12:56

  AVALON WILL SHUT DOWN IN 3 MINUTES; BACK UP 12:30. PLEASE

  LOG OFF NODE AVALON.

  MONTHLY PREVENTIVE MAINTENANCE



  %%%%%%%%%%% OPCOM, 16-JUN-1984 12:08:12.30 %%%%%%%%%%%

  MESSAGE FROM USER JOB_CONTROL ON AVALON




                           - 134 -

                        00152-01 97 10


  -SYSTEM-S-NORMAL, NORMAL SUCCESSFUL COMPLETION



  %%%%%%%%%%% OPCOM, 16-JUN-1984 12:08:42.30 %%%%%%%%%%%

  MESSAGE FROM USER ON AVALON

  SHUTTING DOWN



  SHUTDOWN MESSAGE ON AVALON FROM USER SYSTEM AT

  _AVALON$OPA0:   12:09:12:56

  AVALON WILL SHUT DOWN IN 1 MINUTE; BACK UP 12:30. PLEASE

  LOG OFF NODE AVALON.

  MONTHLY PREVENTIVE MAINTENANCE



  17 TERMINALS HAVE NOTIFIED ON AVALON

  %SHUTDOWN-I-SITESHUT, THE SITE-SPECIFIC SHUTDOWN PROCEDURE

  WILL NOW BE INVOKED.

  %SHUTDOWN-I-STOPUSER, ALL USER PROCESSES WILL NOW BE

  STOPPED.

  %SHUTDOWN-I-REMOVE, ALL INSTALLED IMAGES WILL NOW BE

  REMOVED.

  %SHUTDOWN-I-DISMOUNT, ALL VOLUMES WILL NOW BE DISMOUNTED.

  %%%%%%%%%%% OPCOM, 16-JUN-1984 12:09:42.30 %%%%%%%%%%%

  MESSAGE FROM USER SYSTEM ON AVALON

  _AVALON$OPA0:, AVALON SHUTDOWN WAS REQUESTED BY THE

  OPERATOR.



  %%%%%%%%%%% OPCOM, 16-JUN-1984 12:10:02.44 %%%%%%%%%%%

  LOGFILE WAS CLOSED BY OPERATOR _AVALON$OPA0:




                           - 135 -

                        00152-01 97 10


  LOGFILE WAS SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;8



  %%%%%%%%%%% OPCOM, 16-JUN-1984 12:10:32.20 %%%%%%%%%%%

  OPERATOR _AVALON$OPA0: HAS BEEN DISABLED, USERNAME SYSTEM



       SYSTEM SHUTDOWN COMPLETE - USE CONSOLE TO HALT SYSTEM



       4.1.2. Аварийное отключение МОС ВП  с  помощью

              процедуры OPCCRASH


       В данном пункте описывается порядок немедленного оста-

  нова МОС ВП без выполнения функций, гарантирующих  коррект-

  ное  отключение.  Поскольку  процедура  OPCCRASH  выполняет

  только минимальные функции, при которых данные  могут  быть

  потеряны, то, как правило, МОС ВП надо отключать корректной

  процедурой отключения (см. п. 4.1.1). Для выполнения проце-

  дуры OPCCRASH необходима привилегия CMKRNL.  Команды  можно

  вводить с любого терминала и под любым учетным именем.

       Для немедленного останова МОС ВП надо  выполнить  сле-

  дующие действия:

       1) ввести команду:


       $ RUN SYS$SYSTEM:оPCCRASH


       2) если в ответ на это МОС ВП  дает  ошибку,  то  надо

  использовать  альтернативную  процедуру  аварийного  отказа

  (см. п.4.1.3);

       3) на консоли появится следующее сообщение:





                           - 136 -

                        00152-01 97 10


       SYSTEM SHUTDOWN CONPLETE - USE CONSOLE TO HALT SYSTEM


       4) теперь надо остановить МОС ВП нажатием клавиш УС/Р.

       В примере приводится аварийное  отключение  с  помощью

  процедуры OPCCRASH.

       Пример.


  $ RUN SYS$SYSTEM:OPCCRASH

  SYSTEM SHUTDOWN CONPLETE - USE CONSOLE TO HALT SYSTEM

  УС/P

  >>>HALT



       4.1.3. Аварийное отключение МОС ВП  с  помощью

              процедуры CRASH


       В этом пункте описывается  командный  файл  консольной

  программы CRASH, который вынуждает МОС ВП  сделать  ошибку,

  приводящую к немедленному отключению.

       Примечание. Использовать программу CRASH следует  лишь

  тогда, когда МОС ВП не будет воспринимать вводимые команды,

  т.е.,  когда  МОС  ВП  дает  ошибку  при  вызове  процедуры

  OPCCRASH или при ответе на эту процедуру.

       Все команды, которые вызывают  программу  CRASH,  надо

  вводить с консольного терминала системы.

       Для того, чтобы заставить  МОС  ВП  сделать  ошибку  в

  ответ на программу CRASH надо продолжать действия следующим

  образом:

       1) остановить МОС ВП, нажав клавиши УС/Р;





                           - 137 -

                        00152-01 97 10


       2) в ответ на консольную подсказку напечатать


       >>> @CRASH


  эта команда вызывает командный  файл  консольной  программы

  CRASH;

       3) на консольном  терминале  распечатываются  дополни-

  тельные сообщения и информация, например,  сообщение  внут-

  ренней диагностической проверки. Файл дампа системы записы-

  вается на диск. Следующий пример приводит эту процедуру.

       Пример.


  УС/P

  >>>HALT

  >>>@CRASH

  !

  ! COMMAND FILE TO CRASH VOS ABNORMALLY

  !

  HALT                    ! HALT SYSTEM, EXAMINE PC,

       HALTED AT 8000702A

  EXAMINE PSL             ! PSL,

       00000000

  EXAMINE/INTERN/NEXT:4 0 ! AND ALL STACK POINTERS



       I   00000000   80001D48

       I   00000001   00000000

       I   00000002   00000000

       I   00000003   00000000

       I   00000004   8009E600



                           - 138 -

                        00152-01 97 10


  DEPOSIT PC=-1           ! INVALIDATE PC

  DEPOSIT PSL=1F0000      ! KERNEL MODE, IPL 31

  CONTINUE

  <@EOF>

  <@EXIT>

  **** FATAL BUG CHECK, VERSION = 4.3 INVEXCEPTN,

  EXCEPTION WHILE ABOVE

  ASTDEL OR ON INTERRUPT STACK

       CURRENT PROCESS = NULL

       REGISTER DUMP

         R0 = 0000001F

         R1 = 001F0000

         R2 = 00000000

         R3 = 00000000

         R4 = 00000000

         R5 = 00000000

         R6 = 00000000

         R7 = 00000000

         R8 = 00000000

         R9 = 00000000

         R10= 00000000

         R11= 00000000

         AP = 00000000

         FP = 00000000

         SP = 80001D14

         PC = 800038C1

         PSL= 001F0009




                           - 139 -

                        00152-01 97 10




       KERNAL/INTERRUPT STACK



         80001D1C   00000004

         80001D20   00000000

         80001D24   FFFFFFFD

         80001D28   00000000

       HALT INST EXECUTED

       HALTED AT 800071B3

       >>>


       Ввод строки @CRASH вызывает командную процедуру с кон-

  сольной программой CRASH. Эта процедура заставляет  МОС  ВП

  проверить счетчик инструкций (PC), длинное слово  состояния

  процессора (PSL) и указатели стеков. В РС и  PSL  заносятся

  такие значения,  которые  вызывают  условие  исключительной

  ситуации и приводят к формированию дампа системы.  На  кон-

  сольном терминале печатается фатальное сообщение внутренней

  диагностической проверки. В конце концов происходит останов

  МОС ВП и  печать  содержимого  счетчика  инструкций.  Вновь

  появляется консольная подсказка (>>>).

       Если автоматическая перезагрузка разрешена, то МОС  ВП

  будет останавлена, а затем автоматически перезагружена.  Но

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

  сделать вручную.









                           - 140 -

                        00152-01 97 10


       4.2. Загрузка МОС ВП


       Загрузку МОС ВП можно выполнить с  помощью  подразуме-

  ваемой по умолчанию или альтернативной командной  процедуры

  загрузки. В любом случае МОС ВП должна  загружаться  непос-

  редственно с системного диска.

       Обычно загрузка выполняется с помощью процедуры, кото-

  рая выбрана системным администратором в качестве подразуме-

  ваемой по умолчанию для конкретной системы  (см.  подраздел

  4.2). Если, однако, эта процедура не подходит, или загрузка

  выполняется с целью создания некоторой среды для  специали-

  зированной задачи (типа автономной отладки), то можно  при-

  менить альтернативную процедуру. В пп. 4.2.1...4.2.3 описа-

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

  загрузки.



       4.2.1. Подразумеваемая по умолчанию загрузка


       Самый прямой способ загрузки МОС ВП состоит в  активи-

  зации переключателя загрузки или же в установке консольного

  режима и печати команды BOOT (просто символа B).

       Пример.


       >>> B


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

  умолчанию командную процедуру (DEFBOO.CMD) и выполняет ее.

       Загрузка МОС ВП с  использованием  подразумеваемой  по

  умолчанию процедуры выполняется следующим образом:




                           - 141 -

                        00152-01 97 10


       1) остановить МОС ВП, нажав клавиши УС/Р;

       2) ввести команду  B  или  активировать  переключатель

  загрузки на управляющей  панели  процессора.  Для  загрузки

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

  процедура DEFBOO.CMD.



       4.2.2. Альтернативная безостановочная загрузка


       Если из-за сбоев устройства, предназначенного для под-

  разумеваемой по умолчанию процедуры загрузки, эта процедура

  не может быть выполнена, то обычно  используется  альтерна-

  тивная безостановочная командная  процедура  загрузки.  Она

  выполняется следующим образом:

       1) остановить процессор, нажав клавиши УС/Р;

       2) произвести начальную загрузку командой


       >>> B DDU


  где DD есть тип устройства; U - его номер.



       4.2.3. Альтернативная диалоговая загрузка


       Диалоговая загрузка обычно используется при исследова-

  нии и  совершенствовании  конфигураций  с  целью  изменения

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

  отладки. Для опытного пользователя эта процедура дает  воз-

  можность:

       - выбрать альтернативный  файл  в  качестве  источника

         значений системных параметров;




                           - 142 -

                        00152-01 97 10


       - установить и посмотреть значения отдельных  парамет-

         ров;

       - задать альтернативную не зависящую от вычислительной

         системы процедуру запуска;

       - задать минимальный запуск.

       Инициирование диалоговой загрузки выполняется  следую-

  щим образом:

       1) остановить процессор нажав клавиши УС/Р;

       2) произвести загрузку МОС ВП командой:


       >>>@DDUGEN


  где DD есть тип устройства; U - его номер;

       3) когда  программа  SYSBOOT  будет  готова  принимать

  команды, она выдаст следующую подсказку:


       % %

       SYSBOOT>



  два  знака  процента,  предшествующие  подсказке  SYSBOOT>,

  говорят о том, что проверка микрокода прошла успешно.  Если

  знаки процента не появились, то продолжать загрузку не сле-

  дует, надо обратиться к обслуживающему персоналу.

       После того, как программа  SYSBOOT  выдаст  подсказку,

  для проверки или  модификации  МОС  ВП  можно  использовать

  любые подмножества команд  обслуживающей  программы  SYSGEN

  [5] из числа приведенных в табл. 6.







                           - 143 -

                        00152-01 97 10


                                                    Таблица 6

       Команды программы SYSGEN, используемые в SYSBOOT

  -----------------------------------------------------------

           Команда      !             Описание

  -----------------------------------------------------------

   CONTINUE             ! Возобнавляет процедуру загрузки

                        !

   DISSABLE CHECKS      ! Запрещает проверку значений параме-

                        ! тров, указанных в команде SET

                        !

   ENABLE CHECKS        ! Разрешает проверку значений пара-

                        ! метров, указаных в команде SET

                        !

   HELP                 ! Отображает на терминале краткую

                        ! сводку по командам программы

                        ! SYSBOOT

                        !

   SET имя - параметра  ! Устанавливает значение системного

                        ! параметра генерации

                        !

   SET/STARTUP          ! Задает имя командной процедуры за-

                        ! пуска МОС ВП

                        !

   SHOW [параметр]      ! Отображает активные, текущие, под-

                        ! разумеваемые по умолчанию, максима-

                        ! льные и минимальные значения указа-

                        ! нных параметров. При соответствую-




                           - 144 -

                        00152-01 97 10


                                          Продолжение табл. 6

  -----------------------------------------------------------

           Команда      !             Описание

  -----------------------------------------------------------

                        ! щих квалификаторах отображает ха-

                        ! рактеристики параметров, сгруппиро-

                        ! ванных по категориям

                        !

   USE [спец-файла]     ! Дополнительно задает файл парамет-

                        ! ров, который должен быть использо-

                        ! ван как источник значений (необхо-

                        ! димо ввести всю спецификацию файла,

                        ! включая устройство и каталог)


       Для того, чтобы во время выполнения типичной процедуры

  диалоговой загрузки задать новое значение  параметра  WSMAX

  программы SYSGEN и продолжить процедуру, надо  ввести  сле-

  дующие команды


       SYSBOOT > SET WSMAX 512

       SYSBOOT > CONTINUE


  в этом примере параметру WSMAX присваивается значение 512 и

  загрузка продолжается. Когда МОС ВП об'явит о  себе,  новое

  значение этого параметра станет активным.                  

       Режим диалоговой загрузки  можно  использовать  и  для

  того, чтобы задать минимальные действия по  запуску.  Если,

  например, необходимо произвести загрузку системы без  авто-

  конфигурирования всех устройств, то  на  подсказку  SYSBOOT



                           - 145 -

                        00152-01 97 10


  следует ввести следующую команду:


       SYSBOOT > SET STARTUP_P1 "MIN"


  эта команда инициирует  минимальные  действия  по  запуску,

  которые выполняют следующую последовательность операций:

       1) запускает процессы, управляющие  регистрацией  оши-

  бок, диспетчер заданий и запись действий оператора;

       2) устанавливает известные образы;

       3) определяет число интерактивных пользователей равным

  восьми;

       4) завершает работу.

       Следует заметить, что  эта  минимальная  процедура  не

  вызывает    командные    процедуры     SYCONFIG.COM     или

  SYSTARTUP.COM.

       Если при выполнении командной процедуры запуска  необ-

  ходимо задать проверку, то можно ввести следующую команду:


       SYSBOOT > SET STARTUP_P2 "YES"


  параметры STARTUP_PN не сохраняются до  следующей  операции

  загрузки.



       4.3. Проблемы перезапуска


       Иногда после ввода команды BOOT МОС ВП не загружается.

  Это может быть вызвано неправильной работой аппаратуры  или

  программ.







                           - 146 -

                        00152-01 97 10


       4.3.1. Проблемы аппаратуры


       Ошибки чтения, возникающие на дисковом накопителе  или

  консольном носителе, или ошибки, возникающие  при  проверке

  машины, указывают на неправильную  работу  аппаратуры.  При

  возникновении  аппаратных  проблем,  сообщению  об  ошибке,

  которое отображается на консольном терминале, обычно  пред-

  шествует знак вопроса (?). При этом надо:

       - посмотреть соответствующий справочник по аппаратуре;

       - обратиться к обслуживающему персоналу.



       4.3.2. Проблемы программного обеспечения


       Если при загрузке МОС ВП не выполняется командная про-

  цедура STARTUP.COM, то, по-видимому,  неправильно  работают

  программы. Это следует предполагать в том случае, когда  не

  появляется обычное сообщение, указывающее число интерактив-

  ных пользователей.

       Для того, чтобы  исправить  ситуацию  можно  выполнить

  одно или оба следующие действия:

       - повторив процедуру  начальной  загрузки,  попытаться

         вновь перезапустить МОС ВП;

       - поместить системный диск на  другой  накопитель  или

         поместить на тот же накопитель другую копию диска  и

         повторить процедуру перезапуска.










                           - 147 -

                        00152-01 97 10


             5. Управление пользователями МОС ВП



       Эффективность управления МОС ВП в значительной степени

  зависит от эффективности управления пользователями.  Управ-

  ление функциями МОС ВП в части обеспечения и  контролирова-

  ния действий пользователей играет важную роль при  управле-

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

  защиту МОС ВП.

       Для эффективного управления пользователями  необходимо

  понимать:

       - каким лицам нужен доступ к МОС ВП;

       - какие задачи они должны выполнять;

       - какие системные ресурсы им потребуются;

       - какую информацию им надо предоставить.

       Если администратор понимает потребности пользователей,

  то он может задать функции  управления,  которые  выполняют

  соответствующую настройку МОС ВП. Мос вп предоставляет  ряд

  средств  для  управления  потреблением  системных  ресурсов

  отдельными пользователями. В этом  разделе  рассматриваются

  эти средства и обсуждается, когда и как их использовать.



       5.1. Файл авторизации пользователей


       В  МОС  ВП  управление  пользователями  выполняется  в

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

  осуществляют контроль над тем, кто может войти в МОС  ВП  и

  как эти лица могут ее использовать. Создавая и  сопровождая

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


                           - 148 -

                        00152-01 97 10


  эксплуатацией системы пользователями.

       Каждый пользовательский  учетный  раздел  определяется

  одной записью  в  файле  SYS$SYSTEM:SYSUAF.DAT,  называемом

  файлом авторизации пользователей  (UAF),  и  сопровождаемым

  при помощи  обслуживающей  программы  AUTHORIZE.  Детальное

  об'яснение принципов использования этой обслуживающей прог-

  раммы дано в документе [7].

       При входе пользователя в МОС ВП, она с помощью  инфор-

  мации, содержащейся в файле UAF, подтверждает достоверность

  попытки входа, создает учетный контекст и процесс  с  соот-

  ветствующими атрибутами.  Тем  самым  МОС  ВП  ограничивает

  пользователей в рамках тех ресурсов, которые  администратор

  приписал каждому учетному разделу.

       Поскольку файл UAF является основным хранилищем инфор-

  мации о пользовательских учетных разделах, то  прежде,  чем

  добавлять в него записи, важно понимать из  чего  они  сос-

  тоят.

       Используя  обслуживающую  программу  AUTHORIZE,  можно

  создавать и сопровождать записи файла UAF путем определения

  значений в различных  полях  внутри  каждой  записи.  Такие

  задаваемые администратором значения идентифицируют  пользо-

  вателя, определяют рабочую среду  и  управляют  применением

  системных ресурсов. В примере представлена типичная  запись

  файла UAF для ограниченного пользовательского учетного раз-

  дела и рассмотрены ее поля.








                           - 149 -

                        00152-01 97 10


       Пример.


  USERNAME: WELCH                  OWNER: ROB WELCH  "1"

  ACCOUNT:                         UIC: [21,51] ([INV.WELCH])

  CLI:      DCL                    TABLES: DCLTABLES  "2"

  DEFAULT:  USERS:[WELCH]

  LGICMD:                                          "3"

  LOGIN FLAGS: DISWELCOME DISNEWMAIL

  PRIMARY DAYS: MON TUE WED THU FRI

  SECONDARY DAYS:                    SAT SUN

  PRIMARY   000000000011111111112222

                          SECONDARY 000000000011111111112222

  DAY HOURS 012345678901234567890123

                          DAY HOURS 012345678901234567890123

  NETWORK   ------ NO ACCESS -------

                                    ----- FULL ACCESS ------

  BATCH:    XXXXXXXXX--------XXXXXXX

                                    ---------XXXXXXXXX-------

  LOCAL:    XXXXXXXXX--------XXXXXXX

                                    ---------XXXXXXXXX-------

  DIALUP:   ----- FULL ACCESS ------

                                    ------ NO ACCESS --------

  REMOTE:   ----- FULL ACCESS ------

                                    ------ NO ACCESS --------

  EXPIRATION:          (NONE)    PWDMINIMUM: 6 LOGIN FAILS  0

  PWDLIFETIME:         (NONE)    PWDCHANGE: 15-APR-1984 13:58

  LAST LOGIN:          (NONE) (INTERACTIVE)

                                 (NONE) (NON-INTERACTIVE)



                           - 150 -

                        00152-01 97 10


  MAXJOBS:        0 FILLM:     20 BYTLM:          8992   "4"

  MAXACCTJOBS:    0 SHRFILLM:   0 PHYTLM:            0

  MAXDETACH:      0 BIOIM:     18 JTQUOTA:        1024

  PRCLM:          2 DIOIM:     18 WSDEF:           150

  PRIO:           4 ASTLM:     24 WSQUO:           200

  QUEPRIO:        4 TQELM:     10 WSEXTENT:        500

  CRU      (NONE)   ENQLM:     30 PGFIQUO:       10000

  AUTHORIZED PRIVILEGES:                                "5"

    TMPMBX NETMBX

  DEFAULT PRIVILEGES:

    TMPMBX NETMBX



       1)  поле  идентификатора  пользователя  "1"   содержит

  информацию, необходимую МОС ВП как для целей учета,  так  и

  для идентификации пользователя;

       2) поле "по умолчанию" ("2") содержит  подразумеваемые

  по умолчанию спецификации:

       - интерпретатора командного языка (DCL по умолчанию);

       - имени командной процедуры, которая во время входа  в

         МОС ВП должна выполняться  автоматически.  Если  это

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

         процедура SYS$LOGIN:LOGIN.COM;

       - таблиц интерпретатора командного языка;

       - имен устройства и каталога для доступа к файлам;

       3) поле характеристик входа в МОС  ВП  ("3")  налагает

  специфические ограничения на вход, которые:

       - препятствуют выполнению некоторых  функций  входа  в




                           - 151 -

                        00152-01 97 10


         МОС ВП;

       - контролируют дни недели, когда допускаются различные

         типы входов в МОС ВП;

       - контролируют время дня, когда допускаются  различные

         типы входов в МОС ВП;

       4) поля управления ресурсами ("4") управляют системны-

  ми ресурсами путем:

       - ограничения  использования  динамически   выделяемых

         системных ресурсов;

       - указания базового приоритета, применяемого при  пла-

         нировании процесса, который  создается  МОС  ВП  для

         пользователя;

       5) поле привилегий ("5") задает привилегии,  позволяю-

  щие использовать системные функции, которые при  некоррект-

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

  работу МОС ВП.



       5.1.1. Записи файла UAF, поддерживаемые МОС ВП


       Поставляемая МОС ВП,  содержит  файл  UAF  с  четырьмя

  записями:

  запись DEFAULT

       - служит в качестве  шаблона  при  создании  пользова-

         тельских записей в файле UAF. Новой пользовательской

         записи присваиваются значения записи  DEFAULT,  если

         администратор явно не указал обратное. Таким образом

         при добавлении нового  учетного  раздела  необходимо

         определить только те значения, которые должны  отли-



                           - 152 -

                        00152-01 97 10


         чаться от значений записи DEFAULT. Например, следую-

         щая команда обслуживающей программы  AUTHORIZE  соз-

         дает новую запись, имеющую те  же  значения,  что  и

         запись DEFAULT, за исключением пароля,  кода  UIC  и

         подразумеваемого по умолчанию каталога файлов:


          UAF> ADD TAMARA/PASSWORD=GLPBYTGA/UIC=[033,004]-

          _$ /DIRECTORY=[TAMARA]



         в подразделе 5.3 приводится пример, использования

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

         учетного раздела.

         Эту команду можно применять и в целях модификации

         записи DEFAULT для ее настройки на конкретные требо-

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

         по умолчанию записей, служащих шаблоном для специ-

         фичных типов учетной информации. В п.5.5.1 об'яс-

         няется, как создавать и использовать такие записи.

         Примечание. Подразумеваемая по умолчанию запись не

         может быть переименована или удалена из файла UAF;

  запись FIELD

       - позволяет обслуживающему персоналу  проверять  новую

         МОС ВП. Эта запись может быть удалена при  установке

         МОС ВП;

  запись SYSTEM

       - дает средства входа в МОС ВП с полными привилегиями.

         Эту запись можно модифицировать, но нельзя  переиме-

         новывать или удалять из файла UAF. Следует заметить,



                           - 153 -

                        00152-01 97 10


         что изменение записи SYSTEM, в особенности  подразу-

         меваемых по умолчанию устройства и каталога, а также

         привилегий может помешать успешной установке  допол-

         нительных программных изделий или будущих реализаций

         МОС ВП;

  запись SYSTEST

       - предоставляет надлежащий контекст для работы средств

         проверки функционирования МОС ВП (UETP). Эта  запись

         может быть удалена при установке МОС ВП.



       5.1.2. Общее сопровождение файла UAF


       Обычно используется тот файл UAF, который поставляется

  с МОС ВП (однако командой RENAME языка DCL можно переимено-

  вать файл UAF, а затем, командой AUTHORIZE - создать  новый

  UAF). Следует ограничивать любые виды доступа к этому  фай-

  лу, используя имя SYSTEM (основные принципы по защите  сис-

  темных файлов описаны в документе  [8]).  Кроме  того,  при

  каждой модификации этого файла следует создавать его дубли-

  рующую копию с тем, чтобы не утратить сделанные в нем изме-

  нения при ошибках в работе МОС  ВП.  Принципы  дублирования

  файлов описаны в документе [9].

       Доступ к файлу UAF осуществляется как  к  разделяемому

  файлу, а его корректировка реализуется на  уровне  записей,

  что, при выполнении обслуживающей программы AUTHORIZE, уст-

  раняет потребность как во временном файле UAF, так и в  его

  новой версии. Корректировка  оказывает  влияние  на  работу

  сразу после ввода команд программы AUTHORIZE, а не после ее



                           - 154 -

                        00152-01 97 10


  завершения (по этой причине не  следует  вводить  временные

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

  ния обслуживающей программы AUTHORIZE).

       Сразу после установки МОС ВП необходимо сделать следу-

  щие изменения в файле UAF:

  учетные разделы SYSTEM, FIELD и SYSTEST

       - следует изменить в  них  пароли.  Надо  использовать

         сложные пароли из шести или более  символов  и  пос-

         тоянно менять их. Эти учетные разделы позволяют осу-

         ществлять такой доступ к МОС  ВП,  которого  рядовой

         пользователь не должен иметь. В качестве альтернати-

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

         MODIFY/FLAGS=DISUSER     обслуживающей     программы

         AUTHORIZE, особенно если  эти  разделы  используются

         редко. Флаг входа в систему DISUSER блокирует  учет-

         ный раздел и  препятствует  входу  в  систему  через

         него. При  необходимости  его  разблокирования  надо

         вызвать программу AUTHORIZE и ввести команду


                    MODIFY/FLAGS=NODISUSER.


         Общее правило состоит в том, что не следует делать

         другие изменения в разделе SYSTEM файла UAF, пос-

         кольку реализации МОС ВП и дополнительные програм-

         мных изделия могут зависеть от некоторых значений в

         разделе SYSTEM;

  учетный раздел DEFAULT

       - может возникнуть необходимость в изменении некоторых




                           - 155 -

                        00152-01 97 10


         полей в этом разделе, например:


         UAF>MODIFY DEFAULT/DEVICE=DISK$USER/PGFLQUOTA=25000


         подразумеваемое по умолчанию устройство устанавлива-

         ется на имя, используемое наиболее часто для добав-

         ления учетной информации пользователей. Аналогичным

         образом, значение квоты файла страниц задается рав-

         ным значению, свойственному большинству пользовате-

         лей вычислительной системы.

       Следует заметить, что учетный раздел SYSTEM применяет-

  ся лишь для реализации  системных  функций,  например,  для

  выполнения  дублирования  и  для  установки  корректирующей

  информации. Этот учетный раздел имеет полные привилегии,  и

  при ее использовании  нужно  быть  внимательным.  Например,

  поскольку системный администратор имеет привилегию  BYPASS,

  то МОС ВП позволяет ему удалять любой  файл  независимо  от

  его защиты. Если он вводит некорректное имя  или  ошибочную

  звездочку, то это может привести к уничтожению файлов, нуж-

  ных ему или другим пользователям.

       В связи с этим, при выполнении ежедневных действий  по

  управлению МОС ВП администратор должен использовать  другой

  учетный раздел с иными привилегиями.

       Если необходимо получить сообщение об учетном  разделе

  SYSTEM, то в командной процедуре запуска, учитывающей  спе-

  цифику вычислительной системы (см.раздел 2), можно  опреде-

  лить общесистемное логическое  имя,  чтобы  приравнять  имя

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




                           - 156 -

                        00152-01 97 10


  администратора. Для получения любого сообщения SYSTEM, нап-

  равляемого в другой учетный раздел,  можно  использовать  и

  команду SET FORWARD обслуживающей программы MAIL.



       5.2. Подготовка         к         добавлению

            пользовательского учетного раздела


       Способ установки  учетного  пользовательского  раздела

  зависит от потребностей пользователя. Имеются два типа уче-

  ных разделов:

  интерактивный

       - лицо,  использующее  интерактивный  учетный  раздел,

         имеет доступ к системным программам и  может  выпол-

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

         редактирование текстов и т.д.). Обычно такой  раздел

         считается индивидуальным, т.е. его  может  использо-

         вать лишь один пользователь;

  ограничивающий

       - лицо,  использующее  ограничивающий  учетный  раздел

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

         может  выполнять  строго  лимитированные   действия.

         Обычно такой раздел  считается  функциональным,  т.е

         его может использовать любое лицо, которому  необхо-

         димо выполнить отдельное действие. Можно,  например,

         разработать систему инвентаризации. Любой  пользова-

         тель, задание которого требует управления инвентари-

         зацией, может обратиться к  системе  инвентаризации,

         но не к другим системам и не к базовому программному



                           - 157 -

                        00152-01 97 10


         обеспечению.

       Предлагаются следующие процедуры подготовки к добавле-

  нию пользовательского учетного раздела:

       1) определить имя и пароль пользователя;

       2) определить код идентификации пользователя (UIC);

       3) если дисковые квоты задействованы, то для  добавле-

  ния записи о таких квотах надо  использовать  обслуживающую

  программу DISKQUOTA;

       4) выбрать место размещения  файлов  учетного  раздела

  (устройство и каталог) и на  соответствующем  томе  создать

  каталог первого уровня;

       5) создать некоторые командные файлы входа в систему и

  выхода из нее.

       После выполнения этих шагов можно вызвать  обслуживаю-

  щую программу AUTHORIZE  (см.  подраздел  5.3)  и  добавить

  учетный раздел.

       В последующих пунктах обсуждается каждый из этих шагов

  при создании учетного раздела и вводятся  различные  управ-

  ляющие обслуживающие программы и команды.



       5.2.1. Имя и пароль пользователя


       Для определения имени и пароля пользователя применяют-

  ся именующие соглашения, которые учитывают характер учетно-

  го раздела. Например, интерактивным  учетным  разделам  имя

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

  этот раздел. С другой стороны, ограничивающие учетные  раз-

  делы обозначаются именем имя, описывающим  функции  данного



                           - 158 -

                        00152-01 97 10


  раздела. Таким образом предпочтительно, чтобы интерактивный

  учетный раздел для петра иванова имел имя IVANOV, а ограни-

  чивающий  учетный  раздел  для  системы  инвентаризации   -

  INVENTORY. В системах с большим числом  пользователей  надо

  помнить о присвоении пользователям уникальных имен.

       Для интерактивных учетный разделов лучше всего,  чтобы

  лицо, использующее такой раздел,  само  управляло  паролем.

  Вначале системный администратор  задает  простой  пароль  и

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

  командой SET PASSWORD языка DCL.  Пароль  необходимо  знать

  лишь лицу, использующему  соответствующий  учетный  раздел.

  Следует  поощрять  пользователей,  устанавливающих  сложные

  пароли по крайней мере из шести символов и часто изменяющих

  их.

       Для ограничивающих учетных разделов, тип пароля должна

  определять  степень  чуствительности  данных,  используемых

  таким разделом. Например, пароль для приложений, типа веде-

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

  для учетного раздела приказов по подразделению может даже и

  не потребоваться, он может быть нулевым (в  последнем  слу-

  чае, все, что необходимо сделать для входа в систему -  это

  нажать клавишу <ВК> в ответ  на  подсказку  PASSWORD).  Для

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

  щается изменять  пароль.  Для  этого  администратор  должен

  задать  квалификатор  /FLAGS=LOCKPWD,  когда  он  добавляет

  учетный раздел обслуживающей программой AUTHORIZE.  Следует

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




                           - 159 -

                        00152-01 97 10


  опасности (например, если лицо, использующее  соответствую-

  щий учетный раздел, переходит к  выполнению  другого  зада-

  ния).



       5.2.2. Код идентификации пользователя


       Детальное описание кода UIC дано в документе [2].  Как

  правило, каждому учетному разделу присваивается  уникальный

  код UIC, а учетным разделам пользователей, выполняющих оди-

  наковые работы, часто обращающихся к одним и тем же  файлам

  и/или  использующих  большое  число  одинаковых  логических

  имен, следует присваивать одинаковый номер группы.



       5.2.3. Запись дисковой квоты


       Если дисковые квоты используются,  то  для  добавления

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

  DISKQUOTA. Дисковые квоты лимитируют об'ем дискового прост-

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

  томе. Добавление записи дисковой квоты выполняется  следую-

  щим образом:


       $ RUN SYS$SYSTEM:DISKQUOTA

       DISKQ> USE DISK$USER

       DISKQ> ADD [014,006] /PERMQUOTA=2000/OVERDRAFT=500

       DISKQ> EXIT


       Последовательность команд этого примера:

       - вызывает обслуживающую программу DISKQUOTA;




                           - 160 -

                        00152-01 97 10


       - определяет  диск  DISK$USER,  как  том,  на  котором

         задаются квоты;

       - добавляет запись дисковой квоты на 2000  блоков  для

         кода UIC [014,006] и  определяет  запись  превышения

         квоты на 500 блоков;

       - осуществляет выход из обслуживающей программы.

       Сумма значений квоты и ее превышения является абсолют-

  ным, максимальным числом блоков, выделяемых пользователю. В

  данном примере - это 2500 блоков. Дисковые квоты рассматри-

  ваются  в  подпункте   7.8.2.1.   Обслуживающая   программа

  DISKQUOTA детально описывается в документе [10].



       5.2.4. Каталог и подразумеваемая по  умолчанию

              спецификация файлов пользователя



       Для каждого интерактивного учетного раздела необходимо

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

  CREATE/DIRECTORY языка DCL), в котором интерактивный  поль-

  зователь может создавать и  хранить  файлы  и  подкаталоги.

  Владельцем каталога  целесообразно  сделать  тот  код  UIC,

  который выбран для нового учетного раздела. Кроме того, для

  каталога первого уровня обычно используется имя этого  раз-

  дела. Если, например, выбраны  учетное  имя  IVANOV  и  UIC

  [014,006], то с целью создания каталога первого уровня  для

  учетного раздела на томе DISK$USER следует ввести следующую

  команду языка DCL:






                           - 161 -

                        00152-01 97 10


  $ CREATE/DIRECTORY DISK$USER:[IVANOV]/OWNER_UIC=[014,006]



       Том, на котором создается каталог,  определяется  уст-

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

  учетных разделов, и  об'емом  пространства,  доступного  на

  каждом из них.

       Подразумеваемая  по  умолчанию   спецификация   файла,

  даваемая новому учетному разделу (при  выполнении  обслужи-

  вающей программы AUTHORIZE), должна быть именем  устройства

  и именем каталога первого уровня,  который  используется  в

  команде CREATE/DIRECTORY языка DCL.

       Способ создания каталога первого уровня для  ограничи-

  вающего учетного раздела  зависит  от  характера  пользова-

  тельской системы. Если она  использует  файлы  в  отдельном

  каталоге, то спецификацию этого  каталога  следует  сделать

  подразумеваемой  по  умолчанию.  Если,  например,   система

  инвентаризации использует файлы DISK$DATA:[инV]STOCK1.DAT и

  DISK$DATA:[INV]STOCK2.DAT, то спецификация подразумеваемого

  по умолчанию устройства должна быть DISK$DATA, а специфика-

  ция подраземеваемого по умолчанию каталога - [INV].



       5.2.5. Командные процедуры входа в МОС ВП  для

              интерактивных учетных разделов


       Для интерактивных учетных разделов командные процедуры

  входа в МОС ВП содержат команды, обычно выполняемые в нача-

  ле каждого сеанса. Эти команды  реализуют  такие  действия,

  как:



                           - 162 -

                        00152-01 97 10


       - определение символических имен;

       - назначение логических имен;

       - отображение сообщений и времени дня;

       - определение ключей для выполнения некоторых функций.

       Командные процедуры входа в МОС  ВП  полезны  как  для

  уменьшения числа нажатий на клавиатуру, так и для  стандар-

  тизации операций. При создании командных процедур  входа  в

  систему можно выбрать следущие варианты:

  системный

       - системный администратор обычно создает  и  поддержи-

         вает стандартную командную процедуру входа в систем-

         ном   каталоге   (этот   файл   обычно    называется

         SYS$MANAGER:SYLOGIN.COM).   Затем   логическое   имя

         SYS$SYLOGIN следует приравнять имени этого файла,  с

         тем, чтобы данная процедура выполнялась  при  каждом

         входе пользователя в МОС ВП;

  индивидуальный

       - при помощи квалификатора /LGICMD обслуживающей прог-

         раммы  AUTHORIZE  можно  определить   дополнительную

         командную процедуру входа в МОС ВП. Командному файлу

         входа в МОС ВП можно дать любую правильную  специфи-

         кацию. Тогда, при входе пользователя в МОС ВП  вслед

         за процедурой SYLOGIN.COM будет выполняться заданная

         процедура;

  командный файл, определенный пользователем

       - если подразумеваемая или системная командные  проце-

         дуры входа не реализованы, то МОС ВП ищет  командный




                           - 163 -

                        00152-01 97 10


         файл, называемый SYS$LOGIN, в пользовательском ката-

         логе  входа  (как   определено   логическим   именем

         SYS$LOGIN). Если этот файл найден, то МОС ВП  выпол-

         няет его. Он создается и поддерживается  пользовате-

         лем и должен удовлетворять двум условиям. Во-первых,

         имена устройства и каталога  должны  соответствовать

         спецификации  подразумеваемого  по  умолчанию  файла

         учетного раздела. Во-вторых, имя файла  должно  быть

         LOGIN. Для помощи новым пользователям можно  копиро-

         вать образец командной процедуры входа в МОС  ВП  во

         вновь создаваемые каталоги первого  уровня.  Однако,

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

         использование файла,  надо  изменить  код  владельца

         этого  файла  на  UIC  пользователя.  Это  изменение

         выполняется командой SET FILE/OWNER_UIC языка DCL.

       Примеры 1 и 2 иллюстрируют типичные системную и  опре-

  деленную пользователем командные процедуры входа в МОС ВП.

       Как показано в примере 1, можно заблокировать  функцию

  УС/Y (которая приостанавливает выполнение текущего образа и

  вызывает командный интерпретатор) для того,  чтобы  вызвать

  выполнение командной процедуры  полного  входа  при  каждом

  входе в МОС ВП пользователя. Это можно сделать командой SET

  NOCONTROL=Y языка DCL. В некотором месте комадная процедура

  должна восстанавливать функцию УС/Y командой SET  CONTROL=Y

  языка DCL.








                           - 164 -

                        00152-01 97 10



     Пример 1. Образец командной процедуры входа в МОС ВП

  (SYS$MANAGER:SYLOGIN.COM)


  $ V = F$VERIFY(0)

  $START:

  $ !

  $ SET NOCONTROL=Y  ! DO NOT ALLOW ус/Y TO EXIT PROCEDURE

  $ SET NOON

  $ !

  $ !   SET DEFAULT FILE PROTECTION BACK TO THE OLD DEFAULT

  $ !

  $ SET PROTECTION=(SY:RWED,OW:RWED,GR:RWED,WO:RE)/DEFAULT

  $ !

  $ !   ALLOW NETWORK JOBS TO START FASTER

  $ !

  $ IF F$MODE() .EQS. "NETWORK" THEN GOTO EXIT

  $ !

  $ !   ENABLE ус/T HANDLING BY DCL

  $ !

  $ SET CONTROL=T

  $ !   DEFINE FOREIGN COMMANDS FOR INSTALLED UTILITIES

  $ !

  $ SDA                ==   "ANALYZE/CRASH_DUMP"

  $ USERS              ==   "SHOW USERS"

  $ DISPLAY            ==   "MONITOR PROCESSES/TOPCPU"

  $ NCP                ==   "$NCP"

  $ INFO               ==   "SHOW PROCESS/CONTINUOUS"




                           - 165 -

                        00152-01 97 10


  $ SYSPEND            ==   "SET PROCESS/SUSPEND"

  $ RESUME             ==   "SET PROCESS/RESUME"

  $ SETNAME            ==   "SET PROCESS/NAME"

  $ !

  $ !   DEFINE A SYMBOL INDICATING WHETHER THE TERMINAL

  $ !   IS ON A DIALUP PORT

  $ !

  $ TT == F$GETDVI("TT","DEVNAM")-"-"

  $ DIALUP == ((TT. GES. "TTGO:" .AND. TT .LES. "TTG4:") -

          .OR. (TT .GES. "TTH1:" .AND. TT .LES. "TTH4:") -

          .OR  (TT .EQS. "TTI5:"))

  $ IF DIALUP THEN SET TERMINAL/INQUIRE

  $ !

  $EXIT:

  $ IF V THEN SET VERIFY

     .

     .

     .

  $ SET CONTROL=Y

  $ EXIT


       Пример 2. Образец командной процедуры входа в  МОС  ВП

  (LOGIN.COM)



  $ SET NOON

  $ SET PROTECTION=(S=RD, O=RWED, G=R, W=R)/DEFAULT

  $ !

  $ ! DEFINE ABBREVIATIONS FOR OFTEN USED COMMANDS



                           - 166 -

                        00152-01 97 10


  $ !

  $ DIR*ECTORY    ==     DIRECTORY/DATE/SIZE

  $ PH*ONE        ==     PHONE/SCROLL

  $ !

  $ !

  $ ! OTHER USEFUL ABBREVIATIONS

  $ !

  $ SHP           ==     "SHOW PROCESS/PRIVILEGES"

  $ PRI*NT        ==     "PRINT/NOTIFY"

  $ SHD           ==     "SHOW DEFAULT"

  $ UP            ==     "SET DEFAULT [-]"

  $ SP            ==     "SET PROCESS/PRIVILEGES="

  $ SQ            ==     "SHOW QUEUE/BATCH/ALL/DEVICE"

  $ H*OME         ==     "SET DEFAULT SYS$LOGIN"

  $ SUB*MIT       ==     "SUBMIT/NOTIFY"

  $ SPC           ==     "SHOW PROCESS/CONTINUOUS"

  $ SYS           ==     "SHOW SYSTEM"

  $ DAY           ==     "SHOW TIME"

  $ !

  $ ! SET/LOG FOR ALL COMMANDS

  $ !

  $ BAC*UP        ==     "BACKUP/LOG"

  $ DEL*ETE       ==     "DELETE/LOG"

  $ LIB*RARY      ==     "LIBRARY/LOG"

  $ PUR*GE        ==     "PURGE/LOG"

  $ REN*AME       ==     "RENAME/LOG"

  $ !




                           - 167 -

                        00152-01 97 10


  $ ! END OF LOGIN.COM PROCESSING

  $ !

  $ GOTO F$MODE()

  $NETWORK:

  $ EXIT

  $ INTERACTIVE:

  $ VN            ==     "SET TERMINAL/WIDTH=80"

  $ VW            ==     "SET TERMINAL/WIDTH=132"

  $ EXPERT        ==     "SET MESSAGE/NOFACIL/NOSEVER/NOIDENT

  $ NOVICE        ==     "SET MESSAGE/FACILITY/SEVERITY/IDENT




       5.2.6. Командные процедуры входа в МОС ВП  для

              ограничивающих учетных разделов



       Для ограничивающих учетных разделов командная процеду-

  ра входа в МОС ВП, определенная квалификатором /LGICMD обс-

  луживающей программы AUTHORIZE, направляет учетного пользо-

  вателя в прикладную программу и реализует выход пользовате-

  ля из МОС ВП при  завершении  задачи.  Командная  процедура

  входа для системы инвентаризации может, например,  состоять

  из следующих команд:


       $ DEFINE SYS$DISK DISK$IMENT

       $ RUN INVENTORY

       $ LOGOUTNOW


       Для лица, регистрирующегося в учетном  разделе,  прием

  управления  прикладной  программой  INVENTORY   выполняется



                           - 168 -

                        00152-01 97 10


  прозрачно. Следует определить флаг CAPTIVE  в  поле  флагов

  входа в систему, задав квалификатор /FLAGS=CAPTIVE обслужи-

  вающей программы AUTHORIZE. Флаг CAPTIVE не дает  пользова-

  телям ограничивающего учетного раздела выйти за рамки прик-

  ладных программ. При создании раздела файла UAF для ограни-

  чивающего учетного раздела также используется обслуживающая

  программа AUTHORIZE (см. подраздел 5.3).



       5.2.7. Командные процедуры выхода из МОС ВП



       При  выходе  пользователя  из  МОС  ВП  автоматическое

  выполнение какой-либо командной процедуры  не  предусматри-

  вается. Однако, ее можно задать следующим образом:

       1) создать общесистемную командную процедуру,  которая

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

  МОС  ВП  (такой   файл   обычно   называется   SYS$MANAGER:

  SYLOGOUT.COM);

       2) для того, чтобы убедиться,что эта командная  проце-

  дура  всегда  выполняется,  надо  включить  в  файл   входа

  SYSMANAGER:SYLOGIN.COM  команду,  которая  при   выполнении

  командной процедуры выхода из МОС ВП эквивалентна  наиболее

  общей аббревиатуре команды LOGOUT (чаще всего  LO).  Напри-

  мер:


       $ LO*GOUT:== @SYS$MANAGER:SYLOGOUT


       После чего  в  последней  строке  командной  процедуры

  выхода из МОС ВП используется альтернативная формула коман-




                           - 169 -

                        00152-01 97 10


  ды LOGOUT, например, команда LOGOUTHOW (можно задать  любое

  имя команды, начинающееся с символов LO). Нельзя  использо-

  вать ту аббревиатуру, которая использовалась для символьно-

  го имени (в данном случае LO), иначе  эта  процедура  будет

  запускаться вновь. В качестве альтернативы последнюю строку

  этой процедуры можно сделать такой:


       $ DELETE/SYMBOL/GLOBAL LOGOUT




       5.3. Использование  обслуживающей  программы

            AUTHORIZE   для   добавления   учетного

            раздела пользователя



       После того, как системному администратору станут  ясны

  цели пользователя, и он решит,  какие  атрибуты  и  ресурсы

  пользователю нужны, для  создания  учетного  раздела  этого

  пользователя  можно  использовать  обслуживающую  программу

  AUTHORIZE. Для этого системный администратор должен предос-

  тавить себе привилегию SYSPRV. Для того,  чтобы  установить

  подразумеваемые  по  умолчанию  устройства  и  каталог   на

  SYS$SYSTEM нужно затем ввести следующие команды  и  вызвать

  обслуживающую программу AUTHORIZE:


       $ SET DEFAULT SYS$SYSTEM

       $ RUN AUTHORIZE

       UAF>


       После того, как  эта  обслуживающая  программа  выдаст




                           - 170 -

                        00152-01 97 10


  подсказку UAF>, можно добавить типичный интерактивный учет-

  ный раздел следующим образом:


       UAF> ADD IVANOV/PASSWORD=LPB57WM/UIC=[014,006] -

       _/DEVICE=DISK$USER/DIRECTORY=[IVANOV] -

       _/LGICMD=DISK$USER:[NEWPROD]GRPLOGIN -

       _/OWNER="PITER IVANOV"/ACCOUNT=NEWPROD


       Спецификации /OWNER и /ACCOUNT служат в основном целям

  учета и могут быть опущены. Следующие неуказанные  квалифи-

  каторы обычно принимают из раздела DEFAULT  подразумеваемые

  по умолчанию значения:

  лимиты и квоты (/ASTEM, /BIOLM, /CPUTIME,  /DIOLM,  /ENQLM,

  /FILLM,  /JTQNOTA,  /MAXACCTJOBS,   /MAXDETACH,   /MAXJOBS,

  /PGFLQUOTA,   /PRCLM,   /SHRFILLM,   /TQELM,    /WSDEFAULT,

  /WSEXTENт, /WSQUOTA).

       - посредством определения лимитов и квот  (см.  раздел

         6)  эти  квалификаторы  накладывают  ограничения  на

         использование   динамически   выделяемых   системных

         ресурсов. Их подразумеваемые по  умолчанию  значения

         обычно достаточны;

  приоритет (/PRIORITY, /QUEPRIORITY)

       - эти квалификаторы определяют приоритеты (см.  раздел

         6). Для процессов, не выполняющихся в реальном  вре-

         мени, подразумеваемые  по  умолчанию  значения  этих

         квалификаторов обычно достаточны;

  привилегии (/DEFPRIVILEGES, /PRIVILEGES)

       - эти квалификаторы определяют привилегии (см.  раздел




                           - 171 -

                        00152-01 97 10


         6). Подразумеваемые по умолчанию привилегии (TMPMBX,

         NETMBX) обычно достаточны;

  основное и вторичное время входа в систему. Функции входа в

  систему (/ACCESS, /DIALUP,  /FLAGS,  /INTERACTIVE,  /LOCAL,

  /PRIMEDAYS, /REMOTE)

       - по умолчанию пользователям разрешено входить  в  МОС

         ВП в любое  время  любого  дня  недели.  Для  отмены

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

         SET DAY языка DCL. Эту команду следует  использовать

         в том случае, когда выходной день оказывается  днем,

         обычно считающимся основным, а его надо считать вто-

         ричным. Использование  этих  полей  для  ограничения

         времени и функций входа в МОС ВП  рассматривается  в

         п. 5.5.4;

  интерпретатор командного языка (DCL)

       - если работа осуществляется в режиме совместимости  с

         ОС РВ, то следует задать интерпретатор MCR.


       Команда обслуживающей программы AUTOHORIZE для  добав-

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

  следующем примере.

       Пример.


  UAF> ADD INVENTORY/PASSWORD=QRC7Y94A/UIC=[033,066] -

  _/DEVICE=DISK$INVENT/DIRECTORY=[INV]/LGICMD=INVENTORY -

  _/FLAGS=CAPTIVE/NOACCESS=(PRIMARY, 18-8, SECONDARY, 0-23)



  в этом примере квалификаторы /FLAGS и /NOACCESS применяются




                           - 172 -

                        00152-01 97 10


  для того, чтобы  лимитировать  пользователей  при  входе  в

  ограничивающий учетный раздел. Квалификатор /NOACCESS лими-

  тирует вход конкретными часами (см. п. 5.5.4). Квалификатор

  /FLAGS=CAPTIVE добавляет флаг входа CAPTIVE в запись  огра-

  ничивающего учетного раздела.  Флаг  CAPTIVE  не  позволяет

  лицу, использующему этот учетный раздел, выйти за  приклад-

  ные программы, что достигается за счет:

       - блокировки функции УС/Y  для  того,  чтобы  помешать

         пользователю прерывать выполнение командной процеду-

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

       - лишения пользователя возможности задать при входе  в

         систему альтернативный интерпретатор команд квалифи-

         катором /CLI;

       - лишения пользователя возможности задать при входе  в

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

         дисковое устройство квалификатором /DISK.

       Кроме того, может оказаться необходимым запретить поч-

  товые и приглашающие уведомления, что делается квалификато-

  ром /FLAGS=(DISNEWMAIL, DISWELCOME)



       5.4. Использование командной  процедуры  для

            добавления       учетного       раздела

            пользователя


       Для получения надлежащих  результатов  при  добавлении

  пользовательского  учетного  раздела  (интерактивного   или

  ограничивающего) можно ввести конкретные команды в  команд-

  ную процедуру, аналогичную процедуре для добавления пользо-



                           - 173 -

                        00152-01 97 10


  вателя, показанную в примере.

       Пример.


  $ !

  $ ! ADDUSER.COM---ADDS A NEW USER TO THE SYSTEM AUHORIZA-

  $ ! TION FILE

  $ !

  $ USERDISK = "WRKD$:"         ! DEFAULT DISK FOR NEW USERS

  $ UAF = "$AUTHORIZE"

  $ ON CONTROL_Y THEN GOTO CLEANUP

  $ ON WAPNING THEN GOTO CLEANUP

  $ OLDDIR = F$ENVIRONMENT("DEFAULT")

  $ PREVPRIV = F$SETPRV("SYSPRV")

  $ IF NOT F$PRIVILEGE("SYSPRV") THEN GOTO NOPRIV

  $ SET DEFAULT SYS$SYSTEM

  $ !

  $ ! REQUEST ACCOUNT INFORMATION

  $ !

  $ INQUIRE USERNAME "USERNAME"

  $ INQUIRE FULLNAME "FULL NAME"

  $ SET TERMINAL/NOECNO

  $ INQUIRE PASSWORD "PASSWORD [''USERNAME']"

  $ SET TERMINAL/ECNO

  $ IF PASSWORD .EQS. "" THEN PASSWORD = USERNAME

  $GET_GRP:

  $ INQUIRE GRP "UIC GROUP NUMBER"

  $ IF GRP .EQS. "" THEN GRP = "*"

  $ WPITE SYS$OUTPUT ""



                           - 174 -

                        00152-01 97 10


  $ WRITE SYS$OUTPUT "DETERMINE THE UIC FROM THE FOLLOWING -

  _$ LISTING:"

  $ WRITE SYS$OUTPUT ""

  $ UAF SHOW ['GRP',*] /BRIEF

  $ INQUIRE UIC

  $ IF UIC .EQS. "" THEN GOTO GET_GRP

  $ IF F$LOCATE("[",UIC) .EQ. F$LENGTH(UIC) .AND. -

  _$ F$LOCATE("<",UIC) .EQ. F$LENGTH(UIC) THEN -

  _$ UIC = "[" + UIC + "]"

  $ INQUIRE ACCOUNT "ACCOUNT NAME [VMS]"

  $ IF ACCRUNT .EQS. "" THEN ACCOUNT = "VMS"

  $ INQUIRE PRIVS "PRIVILEGES [NONE]"

  $ IF PRIVS .NES. "" THEN PRIVS = "/PRIV=(" + PRIVS + ")"

  $ USERDIR = F$EXTRACT(0,9,USERNAME)

  $ INQUIRE TMP "LODIN DIRECTORY [''USERDIR']"

  $ IF TMP .NES. "" THEN USERDIR = TMP

  $ INQUIRE TMP "LOGIN DEVICE [''USERDISK']"

  $ IF TMP .NES. "" THEN USERDISK = TMP

  $ DQUOTA = 0

  $ IF F$SEARCH("''USERDISK'[0,0]QUOTA.SYS") .EQS. "" THEN GO

  _$ TO NQO

  $ DQUOTA = 1

  $ !

  $ ! PEQUEST DISK QUOTA ENTRY INFORMATION

  $ !

  $ INQUIORE QUOTA "DISK QUOTA [1000]"

  $ IF QUOTA .EQS. "" THEN QUOTA =1000




                           - 175 -

                        00152-01 97 10


  $ INQUIRE OVERDRAFT "OVERDRAFT QUOTA [100]"

  $ IF OVERDPAFT .EQS. "" THEN OVERDRAFT = 100

  $ OPEN/WRITE FILE SYS$LOGIN:ADDQUOTA.TMP

  $ WRITE FILE "RUN SYS$SYSTEM:DISKQUOTA"

  $ !

  $ !ADD QUOTA ENTRY

  $ !

  $ WRITE FILE "USE ''USERDISK'"

  $ WRITE FILE "ADD ",UIC,"/PERMQUOTA=",OVERDRAFT

  $ CLOSE FILE

  $ SYS$LOGIN:ADDQUOTA.TMP

  $ DELETE SYS$LOGIN:ADDQUOTA.TMP:*/NOLOG

  $NQO:

  $ !

  $ ! CREATE A FIRST-LEVEL DIRECTORY FOR THE ACCOUNT

  $ !

  $ CREATе/DIRECTORY/OWNER_UIC='UIC'/PROTECTION=(S=RWE,о=RWE,

  _$ G=RE,W) 'USERDISK'[USERDIR']/LOG

  $ IF F$SEARCH(SYS$MANAGER:LGISAMPL.COM") .EQS. "" THEN -

  _$ GOTO ADDACC

  $ !

  $ ! COPY THE LOGIN.COM TEMPLATE TO USER ACCOUNT

  $ !

  $ COPY SYS$MANAGER:LGISAMPL.COM 'USERDISK'['USERDIR']LO-

  _$ GIN.COM

  $ SET FILE/OWNER_UIC='UIC' 'USERDISK'['USERDIR']LO-

  _$ GIN.COM:   !CHANGE THE UIC




                           - 176 -

                        00152-01 97 10


  $ !

  $ ! ADD THE ACCOUNT RECORD TO THE UAF

  $ !

  $ADDACC:

  $ OPEN/WRITE FILE SYS$LOGIN:ADDUAF.TMP

  $ WRITE FILE "RUN SYS$SYSTEM:AUTHORIZE"

  $ WRITE FILE "ADD ",USERNAME,"/OWNER=""",FULLNAME,"""/ACCO-
                             
  _$ UNT=",ACCOUNT,"/DEVICE=' 'USERDISK'/DIRECTORY=[''USER-

  _$ DIR']/UIC="<UIC,PRIVS,="/PASSWORD=",PASSWORD

  $ CLOSE FILE

  $ SYS$LOGIN:ADDUAF.TMP

  $ DELETE SYS$LOGIN:ADDUAF.TMP:*/NOLOG

  $ !

  $ ! RESTORE PRIOR WORKING ENVIRONMENT

  $ !

  $CLEANUP:

  $ SET TERMINAL/ECHO

  $ PREVPRIV = F$SETPRV(PREVPRIV)

  $ SET DEFAULT 'OLDDIR'

  $ EXIT

  $ !

  $ ! IN CASE PROPER PRIVILEGES ARE NOT SET

  $ !

  $NOPRIV:

  $ WRITE SYS$OUTPUT "YOU NEED SETPRV OR SYSPRV PRIVILEGES -

  _$ TO PUN THIS PROCEDURE"

  $ GOTO CLEANUP




                           - 177 -

                        00152-01 97 10






       5.5. Сопровождение пользовательской среды



       При изменении рабочих требований на МОС ВП может  ока-

  заться необходимым:

       - создание дополнительных подразумеваемых по умолчанию

         учетных разделов, которые будут служить  в  качестве

         шаблона для новых категорий пользователей;

       - удаление или блокировка учетных разделов пользовате-

         лей, которые больше  не  будут  работать  на  данной

         вычислительной системе;

       - наложение ограничений на вход в МОС ВП с целью лими-

         тирования использования системы некоторыми пользова-

         телями.

       Такие действия по сопровождению можно выполнить  путем

  изменения или удаления записей в файле UAF с помощью обслу-

  живающей программы AUTHORIZE.



       5.5.1. Создание    дополнительных     шаблонов

              подразумеваемых по умолчанию записей


       Шаблоном для добавления записей новых пользователей  в

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

  обычно служит поддерживаемая  МОС  ВП,  подразумеваемая  по

  умолчанию раздел DEFAULT. Может, однако, оказаться, что мос

  вп  обеспечивает  работу  нескольких  различных   категорий

  пользователей, каждая из которых выполняет специфичный  тип



                           - 178 -

                        00152-01 97 10


  работы и требует своих атрибутов  раздела.  В  этом  случае

  лучше не применять поддерживаемый МОС  ВП,  подразумеваемый

  по умолчанию раздел в качестве шаблона и не выполнять  раз-

  личные изменения при каждом добавлении раздела  пользовате-

  ля, а можно создать дополнительные подразумеваемые по умол-

  чанию разделы файла UAF, которые  будут  служить  шаблонами

  для каждой категории пользователей.

       Для создания дополнительных, подразумеваемых по  умол-

  чанию разделов нужно вначале решить:

       - какие отдельные категории пользователей имеются;

       - какие атрибуты являются общими для каждой категории;

       - как назвать подразумеваемые по умолчанию разделы.

       Подразумеваемый по умолчанию раздел можно создать пос-

  ле того, как будет определена  категория  пользователей,  и

  установлено, какие атрибуты ей необходимы.  Например,  сле-

  дующая команда создает подразумеваемую по умолчанию  раздел

  для той категории пользователей, которым необходим  отдель-

  ный ограничивающий учетный раздел:


       UAF>ADD DEFAULT2/LGICMD = ALT_COM_PROC/FLAGS=CAPTIVE-

       _$ /DEDICE=USER3:/DIRECTORY=[PRODUCT]


  команда этого примера использует поддерживаемый МОС ВП раз-

  дел DEFAULT для создания раздела DEFAULT2 и  изменяет  поле

  LGICMD, поле флагов входа в МОС ВП, поле подразумеваемых по

  умолчанию устройства и каталога.  После  этого  может  быть

  использована команда COPY обслуживающей программы AUTHORIZE

  для создания дополнительных записей, имеющих те же  атрибу-




                           - 179 -

                        00152-01 97 10


  ты, что и раздел DEFAULT2.

       Команда COPY создает новый раздел файла  UAF,  который

  является дубликатом специфицированного подразумеваемого  по

  умолчанию раздела, кроме значений тех полей,  которые  явно

  изменены. Например, для создания раздела нового пользовате-

  ля, который является дубликатом подразумеваемого по умолча-

  нию раздела DEFAULT2, можно использовать следующую команду:


  UAF>COPY DEFAULT2 POLAKOV/PASSWORD=W7YAS4M1/UIC=[360,114]



  в этом примере раздел DEFAULT2 используется как образец при

  создании дублирующего  раздела  для  пользователя  POLAKOV.

  Единственными значениями, которые изменяются, являются зна-

  чения пароля и кода UIC.



       5.5.2. Удаление учетного раздела пользователя


       Основная трудность при удалении учетного раздела, осо-

  бенно интерактивного, состоит в чистке полей,  используемых

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

  действия:

       1) скопировать все необходимые файлы в другой  учетный

  раздел. Необходимо изменить код UIC владельца  файлов  так,

  чтобы этот код соответствовал коду  UIC  нового  владельца.

  Кроме  того,  можно  использовать  обслуживающую  программу

  BACKUP для копирования этих файлов на дублирующую магнитную

  ленту или на диск;

       2) удалить файлы и каталоги  учетного  раздела  снизу,




                           - 180 -

                        00152-01 97 10


  используя следующую процедуру:

       - при помощи команды  DIRECTORY  [умолчение...]  языка

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

         умолчанию каталога данного учетного раздела),  найти

         и просмотреть все подкаталоги;

       - удалить файлы в каждом подкаталоге и  затем  удалить

         подкаталоги;

       - удалить подкаталог первого уровня учетного  раздела.

         Удалить подкаталог без предварительного удаления его

         файлов не удастся. В примере показана командная про-

         цедура, удаляющая файлы учетного раздела снизу;

       3) используя обслуживающую программу AUTHORIZE удалить

  учетный раздел;

       4) при помощи обслуживающей программы  DISKQUOTA  уда-

  лить из файла дисковых квот раздел о пользовательской  дис-

  ковой квоте, если она существовала.

       Если множество пользователей с одинаковым кодом UIC  в

  МОС ВП никогда не было определено, то для  удаления  файлов

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

  структуре,  можно  использовать   обслуживающую   программу

  BACKUP. При этом используется команда вида:


       $ BACKUP/DELETE PUBLIC:[...]/OWNER=[UIC] MTA0:LENA


  эта команда BACKUP копирует и удаляет с диска  PUBLIC  лишь

  файлы того владельца, который определяется указанным  кодом

  UIC. Файлы копируются в набор сохранения,  именуемый  LENA,

  на устройстве MTA0. В примере дан образец командной  проце-




                           - 181 -

                        00152-01 97 10


  дуры для удаления файлов учетного раздела.

       Пример.


  $ ! DELTREE.COM - DELETES A COMPLETE DIRECTORY TREE

  $ !

  $ ! P1 = PATHNAME OF ROOT OF TREE TO DELETE

  $ !

  $ ! ALL FILES AND DIRECTORIES IN THE TREE, INCLUDING

  $ ! THE NAME ROOT, ARE DELETED.

  $ !

  $ IF "''DELTREE'" .EQS. "" THEN DELETE = "@SYS$LIBRARY: -

  _$ DELTREE"

  $ ON CONTROL_Y THEN GOTO DONE

  $ ON WARNING THEN GOTO DONE

  $ DEFAULT = F$LOGICAL("SYS$DISK") + F$DIRECTORY()

  $10:

  $ IF P1 .NES. "" THEN GOTO 20

  $ INQUIRE P1 "ROOT"

  $ GOTO 10

  $20:

  $ IF F$PARSE(P1) .EQS. ""THEN OPEN FILE 'P1'

  $ SET DEFAULT 'P1'

  $LOOP:

  $ FILESPEC = F$SEARCH("*.DIR;1")

  $ IF FILESPEC .EQS. ""THEN GOTO LOOPEND

  $ DELTREE [.'F$PARSE(FILESPEC..."NAME")']

  $ GOTO LOOP

  $LOOPEND:



                           - 182 -

                        00152-01 97 10


  $ IF F$SEARCH("*.*:*") .NES. "" THEN DELETE *.*:*

  $ DIR = (F$DIRECTORY()-"]"-">")-(F$PARSE("[-]"...-

           "(DIRECTORY")-"]"-")-"."

  $ SET PROTECTION=WORLD:RWED [-]'DIR'.DIR;1

  $ DELETE [-]'DIR'.DIR;1

  $DONE:

  $ SET DEFAULT 'DEFAULT'



       5.5.3. Запрет на учетный раздел пользователя


       Если  необходимо  запретить  использование  некоторого

  учетного раздела, причем его удаление из МОС  ВП  в  данный

  момент нежелательно,  то  для  установки  флага  блокировки

  пользователя  (/FLAGS=DISUSER)  используется  обслуживающая

  программа AUTHORIZE. Если пользователь вошел в МОС  ВП,  то

  запрет на его учетный раздел реализуется лишь  после  того,

  как он выйдет из МОС ВП.

       Запрет на большой, но редко используемый учетный  раз-

  дел обеспечивает дополнительную степень защиты за счет уст-

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



       5.5.4. Ограничение    использования    учетных

              разделов


       Часто бывает так, что рабочая загрузка навязывает  дни

  и время дня, когда МОС ВП используется для выполнения  спе-

  циальных операций. В зависимости от вида  работ,  выполняю-

  щихся на вычислительной системе, может оказаться  необходи-




                           - 183 -

                        00152-01 97 10


  мым управлять временем разрешаемого входа  пользователей  в

  МОС ВП. Используя обслуживающую программу  AUTHORIZE  можно

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

  находящихся в разделе файла UAF, с тем, чтобы ограничить то

  время, когда пользователь может войти в МОС ВП  и  помешать

  выполнению некоторых функций входа.

       Подробное  описание  квалификаторов,  применяемых  для

  ограничения использования  учетных  разделов,  приведено  в

  документе [7]. Некоторые наиболее общие  ограничения  расс-

  матриваются в подпунктах 5.5.4.1...5.5.4.3.



       5.5.4.1. Использование типов дней недели


       Использование некоторых учетных разделов ограничивает-

  ся определением дней недели в виде основных  (PRIMARY)  или

  вторичных (SECONDARY) дней, а затем назначением ограничений

  на вход в МОС ВП этими  определенными  типами  дней.  Если,

  например, дни суббота и воскресенье определяются  как  вто-

  ричные, то тогда любые ограничения, которые  налагаются  на

  вторичный тип дней, применяются к субботе и к воскресенью.

       Существуют два вида ограничений  на  вход  в  МОС  ВП,

  которые можно наложить на оба типа дня:

       - ограничения по времени, они лимитируют вход в МОС ВП

         конкретными часами дня;

       - ограничения по функциям, они лимитируют виды входа в

         МОС ВП.

       По умолчанию в каждом  пользовательском  разделе  пять

  дней (от понедельника до пятницы) определяются как основные



                           - 184 -

                        00152-01 97 10


  дни, а два последних дня (суббота и воскресенье) - как вто-

  ричные.

       Способ определения дней и наложения ограничений  зави-

  сит от вычислительной системы. Предположим, например, что в

  рабочие дни система выделяется в распоряжение большого чис-

  ла  интерактивных  пользователей,  а  в  конце  недели  она

  используется для некоторых работ, которым необходимо  выде-

  ление системных ресурсов. Наложением ограничений на вторич-

  ный тип дней, можно исключить доступ пользователей к МОС ВП

  в   эти    дни.    Используя    квалификатор    /PRIMEDAYS=

  ([NO]DAY[...]), можно заменить определения этих типов  дней

  для любого учетного раздела. Квалификатор /PRIMEDAYS  прог-

  раммы AUTHORIZE использует перечень  имен  дней  для  того,

  чтобы определить основные и вторичные дни. Для  определения

  некоторого дня вторичным перед именем дня используется пре-

  фикс NO. Все дни, которые не входят  в  перечень  принимают

  подразумеваемое по умолчанию значение.



       5.5.4.2. Ограничение на конкретное время входа в

                МОС ВП


       Ограничений на часы входа в МОС ВП по  умолчанию  нет.

  Задать ограничения на время входа в МОС ВП можно с  помощью

  следующих квалификаторов обслуживающей программы AUTHORIZE:

  /[NO]ACCESS

       - определяет часы доступа для всех режимов входа в МОС

         ВП;





                           - 185 -

                        00152-01 97 10


  /[NO]DIALUP

       - определяет часы доступа для интерактивных  входов  в

         МОС ВП через терминал;

  /[NO]INTERACTIVE

       - определяет часы доступа для интерактивнных входов  в

         МОС ВП через терминал;

  /[NO]LOCAL

       - определяет часы доступа для интерактивных  входов  в

         МОС ВП через локальные терминалы;

  /[NO]REMOTE

       - определяет часы доступа для интерактивных  входов  в

         МОС ВП через удаленные терминалы сети.



       5.5.4.3. Ограничения на функции входа в МОС ВП


       Помимо определения ограничений на часы входа в МОС  ВП

  можно наложить функциональные ограничения в учетном  разде-

  ле, что реализуется соответствующими  ключевыми  словами  с

  квалификатором /FLAGS в обслуживающей программе  AUTHORIZE.

  По умолчанию ограничений нет. Возможности здесь следующие:

  [NO]AUDIT

       - [не] проверять все связанные с защитой действия;

  [NO]CAPTIVE

       - [не]    препятствовать    изменению    пользователем

         каких-либо подразумеваемых по умолчанию значений при

         входе в МОС ВП;

  [NO]DEFCLI

       - [не] препятствовать изменению пользователем  таблицы



                           - 186 -

                        00152-01 97 10


         CLI или подразумеваемой по умолчанию таблицы CLI;

  [NO]DISCFLY

       - [не] запрещать интерпретацию ключа УС/Y;

  [NO]DISNEWMAIL

       - [не] подавлять уведомление "NEW MAIL...";

  [NO]DISREPORT

       - [не] сообщать информацию о входе в МОС ВП (последняя

         дата входа, ошибки при входе и т.д.);

  [NO]DISUSER

       - [не] блокировать учетный раздел полностью;

  [NO]DISWELCOME

       - [не] подавлять сообщение входа "WELCOME TO ..";

  [NO]GENPWD

       - [не] требовать от пользователя применения сгенериро-

         ванного пароля;

  [NO]LOCKPWD

       - [не] мешать пользователю менять пароль;

  [NO]MAIL

       - [не] мешать пользователю отправлять почту;

  [NO]PWD_EXPIRED

       - [не] метить пароль, как исчерпавший себя;

  [NO]PWD2_EXPIRED

       - [не] метить вторичный пароль, как исчерпавший себя.



       5.6. Проверка полей входа в МОС ВП  в  файле

            UAF






                           - 187 -

                        00152-01 97 10


       В этом подразделе об'ясняется, как  МОС  ВП  проверяет

  поля входа файла UAF при попытке пользователя войти  в  МОС

  ВП, это поможет понять действия ограничителей на вход в МОС

  ВП.

       Когда  пользователь  активизирует  терминал  (включает

  питание, и нажимает на клавишу <ВК>, если  терминал  непос-

  редственно присоединен к МОС ВП, или же вызывает МОС ВП  по

  коду и просматривает протокол дистанционной связи), и  этот

  терминал не закреплен за пользовательским процессом, МОС ВП

  выдает подсказку на ввод имени и пароля. Лицо,  находящееся

  за терминалом, должно напечатать комбинацию имени и пароля,

  которая существует в разделе файла UAF, в противном  случае

  МОС ВП отказывает этому лицу в дальнейшем доступе. Если имя

  и пароль являются допустимыми, то МОС ВП после этого выпол-

  няет следующие действия:

       1) проверяет флаги входа,  начиная  с  флага  DISUSER.

  Если он установлен, то попытка входа  отклоняется.  Следует

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

  учетных записей (таких, как SYSTEM, SYSTEST, FIELD)  факти-

  чески исключает риск угадать в этих записях пароль;

       2) если флаг DISUSER не установлен, то проверяет огра-

  ничения на основные и вторичные  дни.  Поле  проверки  типа

  текущего дня МОС ВП определяет, имеются ли  ограничения  на

  часы  входа  в  МОС  ВП  (как  определено   квалификаторами

  /ACCESS, /DIALUP, /INTERACTIVE, /LOCAL и /REMOTE).  Если  в

  текущий час вход в МОС ВП запрещен, то он сразу  же  откло-

  няется, в противном случае вход в МОС ВП будет успешным;




                           - 188 -

                        00152-01 97 10


       3) при успешном входе в  МОС  ВП  передает  управление

  интерпретатору команд (например, интерпретатору языка DCL),

  имя которого находится в разделе файла UAF;

       4)   проверяет,   определено   ли    логическое    имя

  SYS$SYLOGIN. Если определено, то  оно  преобразуется  (чаще

  всего в процедуру SYS$MANAGER:SYLOGIN.COM) и эта  процедура

  выполняется. После ее завершения МОС ВП ищет в разделе фай-

  ла UAF данного пользователя имя командной процедуры входа в

  МОС ВП. Если в поле LGICMD определена  некоторая  командная

  процедура и она существует, то эта процедура выполняется. В

  противном случае, если  поле  LGICMD  пусто,  автоматически

  выполняется пользовательский командный файл LOGIN (если  он

  существует).

       После успешного входа в МОС  ВП  интерпретатор  команд

  выдает подсказку на ввод пользователем информации  (интерп-

  ретатор языка DCL выдает знак  $),  и  пользователь  вводит

  команду, корректную с точки зрения данного  интерпретатора.

  Однако МОС ВП запрещает действия, которые нарушают допусти-

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



       5.7. Альтернативные процедуры входа в МОС ВП


       Существуют ситуации, когда нормальные действия входа в

  МОС ВП, использующие файл UAF, оказываются невозможными или

  нежелательными. По некоторым причинам файл UAF  может  быть

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

  автономные  функции,  используя  альтернативный  файл  UAF,

  который ограничивает доступ к  МОС  ВП.  Эти  две  ситуации



                           - 189 -

                        00152-01 97 10


  рассматриваются в данном подразделе.

       Если файл UAF заблокирован, отключен или  отсутствует,

  то в МОС ВП можно войти с консольного теминала с любым име-

  нем и паролем. МОС ВП присваивает следующие значения такому

  пользовательскому учетному разделу:

       - имя - имя пользователя;

       - UIC - [001,004];

       - интерпретатор команд - DCL;

       - флаги входа в систему - нет;

       - приоритет - значение системного параметра DEFPRI;

       - ресурсы - значения системных параметров PQL;

       - привилегии - все.

  Именем процесса обычно является имя устройства, с  которого

  осуществлен вход в МОС ВП, т.е. - OPA0:.

       Если необходимо забрать МОС ВП в автономное  пользова-

  ние, то во время загрузки можно выбрать альтернативный файл

  UAF (SYS$SYSTEM:SYSUAFALT.DAT),  используя  файл  системных

  параметров, в котором параметр UAFALTERNATE имеет  значение

  1. Это значение можно изменить на 1 и во  время  диалоговой

  загрузки. Создать файл системных параметров может админист-

  ратор (см. раздел 11). Следует заметить, что во время  заг-

  рузки файл по имени SYSUAFALT в формате UAF должен  сущест-

  вовать (мос вп вначале  переходит  на  альтернативный  файл

  UAF, приписывая файлу  SYSUAFALT  логическое  имя  SYSUAF).

  Если параметр UAFALTERNATE установлен во время загрузки,  а

  альтернативный файл UAF не существует, то МОС  ВП  работает

  как открытая система.




                           - 190 -

                        00152-01 97 10


       Создать или изменить альтернативный файл UAF можно при

  помощи следующих команд:


       $ SET DEFAULT SYS$SYSTEM

       $ DEFINE SYSUAF SYSUAFALT

       $ RUN AUTHORIZE



       В любой момент после загрузки МОС ВП с помощью альтер-

  нативного файла UAF можно осуществить переключение на стан-

  дартный файл UAF (т.е. на SYS$SYSTEM:SYSUAF.DAT), для этого

  используется следующая команда языка DCL:



       $ DEASSIGN SYSUAF/SYSTEM



       После загрузки можно  осуществить  переключение  и  на

  альтернативный файл UAF, эTO реализуется следующей командой

  языка DCL:



       $ DEFINE/SYSTEM/EXEC SYSUAF SYSUAFALT



  (в этом режиме эксплуатации альтернативный файл  UAF  может

  иметь любое имя).



       5.8. Создание учетного раздела для  входа  в

            МОС ВП по доверенности


       Учетный раздел входа в МОС ВП по  доверенности  позво-

  ляет пользователям, находящимся  на  удаленном  узле  сети,




                           - 191 -

                        00152-01 97 10


  обращаться к данным через локальный учетный раздел системы.

  Учетные разделы входа в МОС ВП по  доверенности  полезны  в

  том случае, когда одному или  нескольким  пользователям  на

  удаленном узле надо дать доступ  к  конкретным  файлам,  но

  предоставление им личных учетных разделов в МОС ВП является

  нежелательным. Создание и управление рассматриваемыми учет-

  ными разделами осуществляется с помощью обслуживающей прог-

  раммы AUTHORIZE.

       При помощи учетных разделов, предназначеннных для вхо-

  да по доверенности, на удаленном  узле  можно  авторизовать

  одного или нескольких пользователей с  целью  ввода  команд

  языка DCL, чтобы обращаться к данным  из  личного  учетного

  раздела МОС ВП. Учетные разделы входа по доверенности  поз-

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

  локальным данным (например, файлам  вывода  и  печати)  без

  необходимости входа в МОС ВП или  использования  последова-

  тельности управления доступом. Удаленным пользователям пре-

  доставляются те же права на доступ к файлам и те же  приви-

  легии, что и пользователям локального учетного  раздела.  В

  пп. 5.8.1...5.8.3 приводятся процедуры для установки  учет-

  ных разделов входа в МОС ВП по доверенности.



       5.8.1. Создание  сетевого  файла   авторизации

              пользователей


       Учетные разделы входа в МОС ВП по доверенности  предс-

  тавляют  собой  запись  в  сетевом  файле  UAF,  называемом

  SYS$SYSTEM:NETUAF.DAT, они создаются и сопровождаются  обс-



                           - 192 -

                        00152-01 97 10


  луживающей программой AUTHORIZE. Так как сетевой  файл  UAF

  не поставляется с МОС ВП, то его необходимо создать и  ини-

  циализировать.   Для   этой   цели   используется   команда

  CREATE/PROXY обслуживающей программы AUTHORIZE.

       Рассматриваемые учетные разделы должны быть связаны  с

  пользовательскими учетными разделами в файле SYSUAF.DAT  на

  локальной системе. Для учетных разделов входа  по  доверен-

  ности возможно  будет  необходимо  создать  учетный  раздел

  "стандартный доступ" в файле UAF. Можно, например,  создать

  учетный раздел по имени REMOTE_MARKET с ограниченными  при-

  вилегиями, который позволит обращаться к  некоторым  файлам

  данных локальной системы.

       Предположим, что в локальной  системе  имеется  группа

  пользователей, которые составляют отчеты о торговле,  осно-

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

  других  систем.  Тогда  следует  приписать  учетный  раздел

  REMOTE_MARKET к файлу UAF с тем же номером группы и с  теми

  же привилегиями, что и раздел, приписанный к локальной тор-

  говой группе. При этом удаленные помощники могут обращаться

  к любым файлам данных, которыми владеют пользователи торго-

  вой группы и которые не защищены от группового доступа.



       5.8.2. Добавление учетных разделов входа в мос

              вп по доверенности


       Учетный раздел входа в МОС ВП по доверенности создает-

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

  приравнивает одного или нескольких пользователей удаленного



                           - 193 -

                        00152-01 97 10


  узла к пользователям своего узла.

       Команда добавления учетного раздела входа в МОС ВП  по

  доверенности показана в примере.

       Пример.


       UAF>ADD/PRоXY HAB::HERA REMOTE_MARKET



       Предположим, что на своем узле создан учетный раздел с

  именем REMOTE_MARKET. Запись,  созданная  в  этом  примере,

  по>;7682:876<=7;0:260$")   704728>26:9870:2062    7776:=62$

  &7190>0:<9852077<68799229:;76:?2:773790=2260)"&'*"/&

  )%"*9;7237:=609

  8767><0:?2:773790=2260;47208727;2927779:4876<=7;0:26<$")

  67;2:9237:=607190>0:<

  985601<62077<6557:79<667;2:7190>0:<98)"&'*"/&

  )%"*&$'89462?0742879576<5::20627

  7<5876<=7;0:26<876:?02::2;2894;462344?:7 и локальный  поль-

  зователь, то не следует устанавливать учетные разделы входа

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

  имеющим специальные  привилегии.  Предоставление  удаленным

  пользователям таких возможностей  доступа  угрожает  защите

  МОС ВП.

       Следует помнить, что при создании такого учетного раз-

  дела каждому пользователю, находящемуся на удаленном  узле,

  разрешен доступ лишь к одному учетному  разделу  локального

  узла. Таким образом, в примере пользователю HAL::HERA  раз-

  решен доступ лишь к тем файлам, к которым может  обращаться

  REMOTE_MARKET. При попытке добавить другой  учетный  раздел



                           - 194 -

                        00152-01 97 10


  входа по доверенности для HAL::HERA будет получено  сообще-

  ние об ошибке.

       Ряд пользователей может иметь учетные разделы на  уда-

  ленном узле и требовать доступа по чтению  к  их  локальным

  файлам. Можно создать сетевую запись  авторизации,  которая

  предоставляет доступ к каждому из них, но при условии,  что

  имя пользователя в системе будет таким же, как имя  пользо-

  вателя на удаленном узле. Добавление такой записи осуществ-

  ляет следующий вариант команды ADD/PROXY:



       UAF>ADD/PROXY HAL::* *



       Эта команда авторизует любого пользователя,  находяще-

  гося на удаленном узле HAL, для доступа к  любому  учетному

  разделу, у которого то же имя пользователя, как и на  своей

  системе.

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

  такой же вид доступа ровно одному пользователю.



       UAF>ADD/PROXY HAL::TAMARA *



       В этом случае пользователь TAMARA на  узле  HAL  может

  обращаться к любым  файлам,  к  которым  TAMARA  (и  только

  TAMARA) может обращаться на своей системе.










                           - 195 -

                        00152-01 97 10


       5.8.3. Управление   входом   в   МОС   ВП   по

              доверенности


       При всяком запросе на вход в МОС  ВП  по  доверенности

  МОС ВП проверяет, имеется ли разрешение на доступ по  дове-

  ренности к участвующим в работе узлам (по умолчанию  доступ

  по доверенности и на вход и на выход разрешен  для  каждого

  узла). Если доступ разрешен, то МОС  ВП  проверяет  учетную

  информацию в своем файле NETUAF.DAT. Можно,  однако,  изме-

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

  помощи программы управления сетью (NCP).





































                           - 196 -

                        00152-01 97 10


                   6. Управление ресурсами



       В этом разделе подробно описываются следующие атрибуты

  управления ресурсами, которые можно придать  пользовательс-

  кому процессу при создании записи в файле UAF:

       - лимиты на динамические  выделяемые  процессу  и  его

         подпроцессам системные ресурсы;

       - базовый приоритет для планирования  пользовательских

         процессов;

       - привилегии, позволяющие процессу  выполнять  те  или

         иные действия;

  кроме того в этом разделе описывается файл регистрации уче-

  та, являющийся средством отслеживания использования  ресур-

  сов, которые выделяются в МОС ВП пользователям.



       6.1. Установка   лимитов   на    динамически

            выделяемые системные ресурсы



       Каждый пользователь МОС ВП ограничен  в  использовании

  таких ресурсов как память системы.  Ограничения  устанавли-

  ваются при помощи  лимитов,  значения  которых  хранятся  в

  записях файла авторизации пользователя (UAF). Эти  значения

  устанавливаются (явно администратором или по умолчанию  мос

  вп) при авторизации пользователя в МОС ВП. Кроме того, сис-

  темный администратор может  изменить  значение  одного  или

  нескольких лимитов и в процессе работы пользователя.

       Лимиты управляют способом, при помощи которого процесс




                           - 197 -

                        00152-01 97 10


  участвует в распределении некоторого ресурса  с  созданными

  им подпроцессами. Кроме того, для ограничения числа процес-

  сов, которые может создать один пользователь  одновременно,

  МОС ВП при разделении ресурсов применяет четыре типа  лими-

  тов:

  об'единенные

       - если лимит на использование ресурса является об'еди-

         ненным, то процесс и созданные им подпроцессы разде-

         ляют весь лимит по принципу "первый  пришел,  первым

         обслужен";

  вычитаемые

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

         таемым, то подпроцессу выделяется часть лимита,  эта

         часть вычитается из всего лимита;

  не вычитаемые

       - если лимит не вычитаем,  то  подпроцессу  выделяется

         весь лимит процесса, создающего  данный  подпроцесс.

         Вычитание из доли создающего процесса не производит-

         ся;

  общесистемный

       - если лимит является общесистемным, то процесс и  все

         созданные подпроцессы, имеющие то же  пользовательс-

         кое или учетное имя, разделяют весь лимит по принци-

         пу "первый пришел, первым обслужен".

       В табл. 7 приведены каждый из лимитов, их  рекомендуе-

  мые значения и типы. Более подробно лимиты  описаны  в  пп.

  6.1.1...6.1.8. Кроме того, в документе [11] даются рекомен-




                           - 198 -

                        00152-01 97 10


  дации по оценке и настройке лимитов для оптимизации рабочих

  характеристик МОС ВП.

                                                    Таблица 7

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

                        и типы лимитов

  -----------------------------------------------------------

      Лимит   ! Значение ! Тип   !        Описание

  -----------------------------------------------------------

  ASTLM       !     24   !   N   ! Лимит на очередь AST

              !          !       !

  BIOLM       !     18   !   N   ! Лимит числа операций бу-

              !          !       ! феризованного ввода-вывода

              !          !       !

  BYTLM       !   8192   !   P   ! Лимит числа байтов ввода-

              !          !       ! вывода

              !          !       !

  CPU         !      0   !   D   ! Лимит времени центрального

              !          !       ! процессора (0 означает от-

              !          !       ! сутствие лимита)

              !          !       !

  DIOLM       !     18   !   N   ! Лимит числа операций пря-

              !          !       ! мого ввода-вывода

              !          !       !

  ENQLM       !     30   !   P   ! Квота очередности

              !          !       !

  FILLM       !     20   !   P   ! Лимит открытых файлов

              !          !       !




                           - 199 -

                        00152-01 97 10


                                          Продолжение табл. 7

  -----------------------------------------------------------

      Лимит   ! Значение ! Тип   !        Описание

  -----------------------------------------------------------

  JTQUOTA     !   1024   !   P   ! Первоначальная квота бай-

              !          !       ! тов для таблицы логических

              !          !       ! имен заданий

              !          !       !

  MAXACCTJOBS !      0   !   S   ! Максимальное число актив-

              !          !       ! ных процессов для одного

              !          !       ! учетного раздела (0 озна-

              !          !       ! чает отсутствие лимита)

              !          !       !

  MAXDETACH   !      0   !   S   ! Максимальное число отсое-

              !          !       ! диненных процессов для од-

              !          !       ! ного имени пользователя (0

              !          !       ! означает отсутствие лими-

              !          !       ! та)

              !          !       !

  MAXJOBS     !      0   !   S   ! Максимальное число актив-

              !          !       ! ных процессов для одного

              !          !       ! имени пользователя (0 оз-

              !          !       ! начает отсутствие лимита)

              !          !       !

  PGFLQUO     !  12800   !   P   ! Лимит файла обмена страниц

              !          !       !

  PRCLM       !      2   !   P   ! Лимит создания подпроцес-




                           - 200 -

                        00152-01 97 10


                                          Продолжение табл. 7

  -----------------------------------------------------------

      Лимит   ! Значение ! Тип   !        Описание

  -----------------------------------------------------------

              !          !       ! сов

              !          !       !

  SHRFILLM    !      0   !   P   ! Максимальное число откры-

              !          !       ! тых разделяемых файлов (0

              !          !       ! означает отсутствие лими-

              !          !       ! та)

              !          !       !

  TQELM       !     10   !   P   ! Лимит записей в очереди

              !          !       ! таймера

              !          !       !

  WSDEF       !    300   !   N   ! Подразумеваемый по умолча-

              !          !       ! нию размер рабочего набора

              !          !       !

  WSEXTENT    !    700   !   N   ! Размер рабочего набора

              !          !       !

  WSQUO       !    350   !   N   ! Квота рабочего набора

              !          !       !

  -------------------

  обозначения для лимитов:

  D - вычитаемый, N - невычитаемый, P - об'единенный,

  S - общесистемный.








                           - 201 -

                        00152-01 97 10


       6.1.1. Лимит очереди прерываний AST (ASTLM)


       ASTLM ограничивает сумму следующих величин:

       - числа запросов на асинхронные  системные  прерывания

         (AST), которые пользовательский процесс может  иметь

         необслуженными одновременно;

       - числа запланированных запросов на пробуждение, кото-

         рые пользовательский процесс может иметь необслужен-

         ными одновременно.

       Этот лимит воздействует не  только  на  все  программы

  системного обслуживания,  которые  принимают  адрес  AST  в

  качестве аргумента, но и на программу системного обслужива-

  ния "планирования пробуждения" ($SCHDWK).

       Если разрешены различные возможности записи (DFW),  то

  число прерываний AST, используемых в файле,  равно  1  плюс

  число множества буферов. В противном случае это число равно

  1 плюс число потоков записей.

       ASTLM является невычитаемым  лимитом  с  рекомендуемым

  значением 24.



       6.1.2. Лимит  числа  операций  буферизованного

              ввода-вывода (BIOLM)


       BIOLM  ограничивает   число   необслуженных   операций

  ввода-вывода, разрешенных пользовательскому процессу.

       При выполнении операции буферизованного ввода-  вывода

  данные передаются не из специфированного процессом  буфера,

  а из промежуточного буфера в системный спул. К буферизован-




                           - 202 -

                        00152-01 97 10


  ным операциям пользовательского процесса  относится  терми-

  нальный  ввод-вывод,  ввод-вывод  через  файловую  систему,

  сетевой ввод-вывод, необслуживаемый  через  спул  вывод  на

  печать.    При    выполнении    операции    буферизованного

  ввода-вывода страницы, содержащие специфированный процессом

  буфер, захватывать в памяти не нужно.

       BIOLM является невычитаемым  лимитом  с  рекомендуемым

  типовым значением 18.



       6.1.3. Лимит  числа   байтов   буферизованного

              ввода-вывода (BYTLM)


       BYTLM ограничивает об'ем буферного пространства, кото-

  рое может использовать пользовательский процесс.

       Это буферное пространство используется  для  буферизо-

  ванных операций ввода-вывода и для создания временных  поч-

  товых ящиков. Кроме того, лимит BYTLM ограничивает и  число

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

  качестве сегментированных (кафедральных) окон.  Такие  окна

  обычно используются для уменьшения накладных  расходов  при

  считывании больших файлов.

       BYTLM является об'единенным  лимитом  с  рекомендуемым

  типовым значением 8192.



       6.1.4. Лимит времени  центрального  процессора

              (CPU)


       CPU ограничивает время центрального процессора,  кото-




                           - 203 -

                        00152-01 97 10


  рое предоставляется пользовательскому процессу при интерак-

  тивной или пакетной работе.

       Это время должно быть задано в сокращенном дельта фор-

  мате - HH:MM:SS:CC.

       CPU является вычитаемым лимитом с рекомендуемым  типо-

  вым значением 0 (нет лимита), но это  значение  применяется

  лишь по отношению к данной реализации или к другим реализа-

  циям пользовательских процессов. CPU  не  накапливается  по

  отдельным сеансам или пакетным заданиям.



       6.1.5. Лимит    числа     операций     прямого

              ввода-вывода (DIOLM)


       DIOLM ограничивает число необслуженных операций прямо-

  го ввода-вывода, допускаемых для пользовательского  процес-

  са.

       При выполнении операции  прямого  ввода-вывода  данные

  передаются непосредственно  из  специфированного  процессом

  буфера. К операциям прямого ввода-вывода  пользовательского

  процесса обычно относятся операции ввода-вывода для  дисков

  и магнитных лент.

       DIOLM является невычитаемым  лимитом  с  рекомендуемым

  типовым значением 18.



       6.1.6. Квота очередности (ENQLM)


       ENQLM  ограничивает  число  захватов,  которыми  может

  обладать процесс. Система СУД-32 использует средство управ-




                           - 204 -

                        00152-01 97 10


  ления захватами для  синхронизации  доступа  к  разделяемым

  файлам, глобальным буферам и  захватам  записей.  Поскольку

  система СУД-32 обслуживает один захват для  каждого  разде-

  ляемого файла, локального буфера, глобальной буферной  сек-

  ции и необслуженного захвата записи, то пользователям, ожи-

  дающим выполнения большого числа операций  разделения  фай-

  лов, следует установить большое значение для лимита  ENQLM.

  Если процесс выполняет обширное  разделение  файла  системы

  СУД-32 без достаточной квоты  очередности,  то  может  быть

  получено сообщение об ошибке SS$EXENQLM. Если, кроме  того,

  система выполняет обширное  разделение  файла,  а  значение

  системного параметра LOCKIDTBL слишком мало, то может  быть

  получено сообщение об ошибке  SS$_NOLOCKID.  Следует  отме-

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

  LOCKIDTBL, может оказаться необходимым увеличение  значения

  системного параметра RESHASHTBL [5].

       Для разделенных файлов значение  лимита  ENQLM  должно

  представлять собой число файлов, открытых как  разделяемые,

  умноженное на число захватов в процессе для каждого  файла.

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

  буферов, число захватов можно  оценить  как  равное  4  для

  индексных последовательных файлов и 3 -  для  относительных

  файлов. Если для количества буферов используется не  подра-

  зумеваемое по умолчанию значение, то число захватов в  про-

  цессе для каждого файла можно оценить как равное 1 для фай-

  ла плюс количество буферов для этого файла плюс число  зах-

  ваченных записей (которое обычно равно 1).  Подразумеваемое




                           - 205 -

                        00152-01 97 10


  по умолчанию  число  буферов  воспроизводится  каждой  SHOW

  RMS_DEFAULT языка DCL.

       ENQLM является об'единенным  лимитом  с  рекомендуемым

  типовым значением 30.



       6.1.7. Лимит открытых файлов (FILLM)


       FILLM ограничивает  число  файлов,  которые  пользова-

  тельский процесс может иметь открытыми одновременно. В дан-

  ный лимит  включается  число  сетевых  логических  каналов,

  которые могут быть активными в это же время.

       FILLM является об'единенным  лимитом  с  рекомендуемым

  типовым значением 20. Следует отметить, что каждый открытый

  файл требует также не менее 96 байтов лимита FILLM.



       6.1.8. Квота таблицы заданий (JTQUOTA)


       JTQUOTA  определяет  первоначальную  квоту  байтов,  с

  которой должна быть создана таблица логических  имен  зада-

  ний.

       JTQUOTA является об'единенной квотой  с  рекомендуемым

  типовым значением 1024.



       6.1.9. Лимит  максимального  числа  заданий  в

              учетном разделе (MAXACCTJOBS)


       MAXACCTJOBS определяет  максимальное  число  пакетных,

  интерактивных и отсоединенных процессов,  которые  одновре-

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


                           - 206 -

                        00152-01 97 10


  учетного раздела.

       MAXACCTJOBS являтся общесистемным лимитом  с  рекомен-

  дуемым типовым значением 0.



       6.1.10. Лимит максимального числа отсоединенных

               процессов (MAXDETACH)


       MAXDETACH определяет максимальное число  отсоединенных

  процессов, которые  одновременно  могут  быть  активными  у

  одного  имени  пользователя.  Процессы,  превышающие   этот

  лимит, завершаются.

       MAXDETACH является общесистемным лимитом с рекомендуе-

  мым типовым значением 0.



       6.1.11. Лимит  максимального  числа   процессов

               (MAXJOBS)


       MAXJOBS определяет максимальное  число  интерактивных,

  пакетных и  отсоединенных  процессов,  которые  могут  быть

  активными для одного имени пользователя.  Процессы,  превы-

  шающие этот лимит, завершаются.

       MAXJOBS является общесистемным лимитом с рекомендуемым

  типовым значением 0.



       6.1.12. Лимит файла обмена страниц (PGFLQUO)


       PGFLQUO  ограничивает  число  страниц,  которые  может

  занимать пользовательский процесс в системном файле  обмена

  страниц. Этот файл предоставляет временную дисковую  память



                           - 207 -

                        00152-01 97 10


  для страниц,  выгруженных  из  основной  памяти  операциями

  управления памятью. PGFLQUO ограничивает общее  виртуальное

  адресное пространство, которое может быть создано при помо-

  щи программ системного  обслуживания  "создать  виртуальное

  адресное пространство"  ($CRETVA)  или  "расширить  область

  управления/программы" ($EXPREG).

       PGFLQUO является об'единенным лимитом с  рекомендуемым

  типовым значением 12800.



       6.1.13. Лимит создания процессов (PRCLM)


       PRCLM ограничивает число подпроцессов,  которые  может

  создать пользовательский процесс.

       Процесс, создаваемый при входе пользователя в систему,

  может создать подпроцессы. Все эти подпроцессы  подчиняются

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

  процессу.

       PRCLM является об'единенным  лимитом  с  рекомендуемым

  типовым значением 2.



       6.1.14. Лимиты разделяемых файлов (SHRFILLM)


       SHRFILLM  определяет  максимальное  число  разделяемых

  файлов, которые могут  находиться  одновременно  в  учетном

  разделе.

       SHRFILLM является об'единенным лимитом с рекомендуемым

  типовым значением 0.






                           - 208 -

                        00152-01 97 10


       6.1.15. Лимит записи в очередь таймера (TQELM)


       TQELM ограничивает сумму следующих величин:

       - числа  записей,  которые  пользовательский   процесс

         может иметь в очереди таймера;

       - числа  временных  кластеров  общих  флагов  событий,

         которые может иметь пользовательский процесс.

  Этот лимит не управляет созданием постоянных кластеров фла-

  гов событий.

       Записи в очереди таймера используются при планировании

  зависимых от времени событий. Общие флаги  событий  исполь-

  зуются при  синхронизации  действий  групп  взаимосвязанных

  процессов.

       TQELM является об'единенным  лимитом  с  рекомендуемым

  типовым значением 10.



       6.1.16. Подразумеваемый  по  умолчанию   размер

               рабочего набора (WSDEF)


       WSDEF задает лимит  первоначального  размера  рабочего

  набора пользовательского процесса.

       WSDEF является невычитаемым  лимитом  с  рекомендуемым

  типовым значением 300 страниц. Если специфицированное  зна-

  чение превышает лимит WSQUOTA (п. 6.1.18), то  используется

  меньшее значение.










                           - 209 -

                        00152-01 97 10


       6.1.17. Размер рабочего набора (WSЕXTENT)


       WSEXTENT  определяет  максимальный  размер  физической

  памяти, которая может быть выделена пользовательскому  про-

  цессу (независимо от загрузки МОС ВП). Увеличение  физичес-

  кой памяти для пользователя до значения WSEXTENT выполняет-

  ся обычно в ответ на тяжелый режим страничных отказов прог-

  раммой системного обслуживания "отрегулировать лимит  рабо-

  чего набора" ($ADJWSL).

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

  типовым значением 700 или больше. Это значение должно  быть

  всегда не меньше квоты WSQUOTA, оно контролируется  систем-

  ным параметром WSMAX.



       6.1.18. Квота рабочего набора (WSQUOTA)


       WSQUOTA гарантирует пользователю, что указанное  число

  физических страниц будет  доступно.  В  частности,  WSQUOTA

  ограничивает число страниц, которые пользователь может зах-

  ватить в основной памяти.

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

  типовым значением 350. Это значение должно быть  не  меньше

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

  WSMAX.












                           - 210 -

                        00152-01 97 10


       6.2. Установка приоритетов  пользовательских

            процессов


       Приоритет пользовательского процесса является  базовым

  приоритетом. Он применяется при планировании процесса, соз-

  даваемого системой для пользователя. В МОС  ВП  имеются  32

  уровня программных приоритетов: от 0 до 31. Высший  приори-

  тет равен 31, низший - 0. Приоритеты  процессов  разделения

  времени заключены в диапазоне  от  0  до  15,  а  процессов

  реального времени - в диапазоне от 16 до 31.

       Процессы реального времени планируются строго в  соот-

  ветствии с базовым приоритетом. Готовый к  выполнению  про-

  цесс реального времени с высшим базовым приоритетом  выпол-

  няется первым. Процессы разделения времени  планируются  по

  несколько иному принципу, цель которого состоит в том, что-

  бы  поддерживать  одновременное  выполнение  вычислений   и

  ввода-вывода.

       В учетной записи файла UAF подразумеваемое по  умолча-

  нию значение пользовательского приоритета равно 4. Из прак-

  тических соображений его минимальное значение равно 1. Сис-

  темный администратор должен обеспечивать процессам разделе-

  ния времени подразумеваемое по умолчанию значение приорите-

  та. Если, путем увеличения приоритета, некоторым  пользова-

  телям будет предоставлено преимущество перед другими  поль-

  зователями, то, поскольку МОС ВП резко  реагирует  даже  на

  небольшие отличия в приоритетах, это может привести к ухуд-

  шению рабочих характеристик.





                           - 211 -

                        00152-01 97 10


       Значение приоритета  выше  числа  31  задавать  нельзя

  (иначе действия МОС ВП станут непредсказуемыми).



       6.3. Назначение привилегий


       Привилегии ограничивают  некоторые  действия  МОС  ВП,

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

  предназначены для защиты МОС ВП. Предоставление  привилегий

  каждому пользователю осуществляется с учетом двух  основных

  факторов:

       - имеется ли у пользователя достаточная квалификация и

         опыт применения привилегий;

       - имеется ли у пользователя разумная  необходимость  в

         данной привилегии.

       Привилегии подразделяются на семь основных категорий в

  зависимости от ущерба, который может нанести МОС  ВП  обла-

  дающий ими пользователь:

  пустая

       - отсутствие привилегий;

  нормальная

       - минимальные привилегии для эффективного  использова-

         ния МОС ВП;

  групповая

       - потенциальная возможность работы с  членами  той  же

         группы;

  поглощающая

       - потенциальная  возможность  потреблять   некритичные

         ресурсы МОС ВП;



                           - 212 -

                        00152-01 97 10


  системная

       - потенциальная возможность работы с обычными  систем-

         ными операциями;

  файловая

       - потенциальная возможность нарушать защиту файлов;

  полная

       - потенциальная возможность управлять МОС ВП.

       Пользователь не может выполнить образ, который требует

  некоторой привилегии, отсутствующей  у  пользователя,  если

  только этот образ не установлен как известный образ с  дан-

  ной привилегией (порядок установки известных образов описан

  в разделе 8). Выполнение  известного  образа  с  временными

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

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

  му образ. Таким  образом,  системный  администратор  должен

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

  того, как он убедится, что доступ пользователю к этим обра-

  зам необходим, и что вряд ли пользователь злоупотребит им.

       Привилегии пользователя заносятся в запись файла  UAF,

  в 64-битный вектор привилегий. При работе пользователя век-

  тор привилегий хранится в заголовке пользовательского  про-

  цесса. Таким образом,  привилегии  пользователя  передаются

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

  могут применять команду SET  PROCESS/PRIVILEGES  для  того,

  чтобы установить или снять привилегии, с которыми они авто-

  ризованы, и для дальнейшего управления  привилегиями,  дос-

  тупными тем образам, которые  они  выполняют.  Кроме  того,




                           - 213 -

                        00152-01 97 10


  пользователь, имеющий привилегию SETPRV,  может  установить

  любую привилегию.

       В табл. 8 перечисляются  привилегии  по  категориям  и

  даются краткие общие определения каждой из них. Более  под-

  робное описание каждой привилегии в  алфавитном  порядке  с

  указанием категории дается в пп. 6.3.1...6.3.34.

                                                    Таблица 8

     Привилегии системы МОС ВП, их категории и определения

  -----------------------------------------------------------

    Категория ! Привилегия !       Разрешенные действия

  -----------------------------------------------------------

  Пустая      !    Нет     ! Отсутствие требуемых привилегий

              !            !

  Нормальная  !   MOUNT    ! Монтирование томов ввода-вывода

              !            !

              !  NETMBX    ! Создание соединений в сети

              !            !

              !  TMPMBX    ! Создание временных почтовых ящи-

              !            ! ков

              !            !

  Групповая   !  GROUP     ! Управление процессами той же

              !            ! группы

              !            !

              !  GRPPRV    ! Групповой доступ через поле за-

              !            ! щиты SYSTEM

              !            !

  Поглощающая !   ACNT     ! Запрет учета




                           - 214 -

                        00152-01 97 10


                                          Продолжение табл. 8

  -----------------------------------------------------------

    Категория ! Привилегия !       Разрешенные действия

  -----------------------------------------------------------

              !            !

              ! ALLSPOOL   ! Закрепление устройств, обслужи-

              !            ! вающих через спул

              !            !

              !  BUGCHK    ! Занесение записей о регистрации

              !            ! ошибок при внутренней диагности-

              !            ! ческой проверке

              !            !

              !  EXQUOTA   ! Превышение дисковых квот

              !            !

              !  GRPNAM    ! Внесение групповых логических

              !            ! имен в таблицу имен

              !            !

              !   PRMCEB   ! Создание/удаление постоянных

              !            ! кластеров общих флагов событий

              !            !

              !   PRMGBL   ! Создание постоянных глобальных

              !            ! секций

              !            !

              !   PRMMBX   ! Создание постоянных почтовых

              !            ! ящиков

              !            !

  системная   !   ALTPRI   ! Установка базового приоритета




                           - 215 -

                        00152-01 97 10


                                          Продолжение табл. 8

  -----------------------------------------------------------

    Категория ! Привилегия !       Разрешенные действия

  -----------------------------------------------------------

              !            ! выше назначенного

              !            !

              !   OPER     ! Выполнение функций администрато-

              !            ! ра (оператора)

              !            !

              !   PSWAPM   ! Изменение режима обмена процес-

              !            ! сов

              !            !

              !   SHARE    ! Доступ к устройствам, выделенным

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

              !            !

              !   SYSLCK   ! Захват ресурсов МОС ВП

              !            !

              !   WORLD    ! Управление любым процессом

              !            !

  Файловая    !   DIAGNOSE ! Диагностика устройств

              !            !

              !   SYSGBL   ! Создание глобальных

              !            ! секций МОС ВП

              !            !

              !   VOLPRO   ! Обход защиты томов

              !            !

  Полная      !   BYPASS   ! Преодоление защиты




                           - 216 -

                        00152-01 97 10


                                          Продолжение табл. 8

  -----------------------------------------------------------

    Категория ! Привилегия !       Разрешенные действия

  -----------------------------------------------------------

              !            !

              !   CMEXEC   ! Переход в режим управления

              !            !

              !   CMKRNL   ! Переход в режим ядра

              !            !

              !   DETACH   ! Создание отсоединенных процессов

              !            ! для произвольного кода UIC

              !            !

              !   LOG_IO   ! Выдача запросов логического

              !            ! ввода-вывода

              !            !

              !   PFNMAP   ! Отображение в конкретные физи-

              !            ! ческие страницы

              !            !

              !   PHY_IO   ! Выдача запросов физического

              !            ! ввода-вывода

              !            !

              !   READALL  ! Доступ по чтению к любым

              !            ! об'ектам

              !            !

              !   SECURITY ! Выполнение функций, связанных с

              !            ! защитой

              !            !




                           - 217 -

                        00152-01 97 10


                                          Продолжение табл. 8

  -----------------------------------------------------------

    Категория ! Привилегия !       Разрешенные действия

  -----------------------------------------------------------

              !   SETPRV   ! Установка любой привилегии

              !            !

              !   SYSNAM   ! Внесение (удаление) системных

              !            ! логических имен в таблицу (из

              !            ! таблицы) имен

              !            !

              !   SYSPRV   ! Доступ к об'ектам через поле

              !            ! защиты SYSTEM

              !            !



       6.3.1. Привилегия ACNT (поглощающая)


       ACNT позволяет пользователю создавать подпроцессы  или

  отсоединенные процессы в которых заблокирован  учет.  Таким

  образом, ввести команду  RUN  языка  DCL  с  квалификатором

  /NOACCOUNTING или подавить учет в программе системного обс-

  луживания "создать процесс" ($CREPRC) может лишь  пользова-

  тель с данной привилегией.



       6.3.2. Привилегия ALLSPOOL (поглощающая)


       ALLSPOOL позволяет пользовательскому  процессу  закре-

  пить  устройство,  обслуживающее  через  спул,  при  помощи

  выполнения  программы  системного  обслуживания  "закрепить




                           - 218 -

                        00152-01 97 10


  устройство" ($ALLOC). Эта программа дает  возможность  про-

  цессу закрепить или зарезервировать  устройство  для  моно-

  польного пользования. Устройства, смонтированные как разде-

  ляемые, закрепить нельзя. Пользователь может закрепить уст-

  ройство, обслуживающее через спул, и командой ALLOCATE язы-

  ка DCL. Эту привилегию  следует  предоставлять  только  тем

  пользователям, которым необходимо выполнить операции  логи-

  ческого или физического ввода-вывода на устройстве,  обслу-

  живающем через спул.



       6.3.3. Привилегия ALTPRI (системная)


       ALTPRI позволяет пользовательскому процессу:

       - увеличивать его собственный базовый приоритет;

       - установить для другого процесса более высокий  базо-

         вый приоритет.

       Базовый приоритет увеличивается при  выполнении  прог-

  раммы  системного   обслуживания   "установить   приоритет"

  ($SETPRI) или команды SET PROCESS/PRIORITY языка  DCL.  Как

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

  установить его собственный базовый приоритет. Процесс может

  установить базовый приоритет и другого процесса, если:

       - процесс, вызывающий программу системного  обслужива-

         ния $SETPRI, имеет тот же код UIC, как и принимающий

         процесс;

       - вызывающий процесс имеет привилегию управления  про-

         цессами (GROUP или WORLD) по отношению к принимающе-

         му процессу.



                           - 219 -

                        00152-01 97 10


       Имея привилегии ALTPRI процесс  может  создать  другой

  процесс с приоритетом, превышающий собственный. Он  создает

  такой процесс, используя дополнительный аргумент в програм-

  ме $CREPRC или в команде RUN языка DCL.

       Не следует предоставлять эту привилегию  многим.  Если

  неквалифицированные пользователи имеют неограниченную  воз-

  можность устанавливать базовые приоритеты, то упорядоченное

  планирование процессов может быть легко нарушено.



       6.3.4. Привилегия BUGCHK (поглощающая)


       Привилегию BUGCHK следует предоставлять  лишь  систем-

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

  используют средство BUGCHECK МОС ВП. Эта привилегия  позво-

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

  ошибок при внутренней диагностической проверке.



       6.3.5. Привилегия BYPASS (полная)


       BYPASS позволяет пользовательскому процессу обращаться

  ко всем файлам с доступом на чтение, запись,  выполнение  и

  удаление, причем, с обходом защиты по коду UIC.

       Эту привилегию следует предоставлять с  крайней  осто-

  рожностью, она позволяет преодолевать защиту  всех  файлов.

  Ее можно предоставлять опытным пользователям, хорошо прове-

  ренным, надежным программам и командным процедурам или опе-

  рациям дублирования (см. раздел 2 и документ [9]). Несмотря

  на то, что привилегия SYSPRV обеспечивает  еще  и  проверку




                           - 220 -

                        00152-01 97 10


  доступа, тем не менее она при интерактивной работе адекват-

  на рассматриваемой привилегии (поскольку привилегия  SYSPRV

  предоставляет полный доступ ко всем файлам).



       6.3.6. Привилегия CMEXEC (полная)


       CMEXEC позволяет пользовательскому процессу  выполнять

  программу системного обслуживания "перейти в режим управле-

  ния" ($CMEXEC).

       Эта программа дает возможность процессу  изменить  его

  режим доступа на режим управления,  выполнить  определенную

  программу и затем вернуться в исходный режим доступа.  Про-

  цессу, работающему в режиме управления, разрешено выполнять

  программу системного обслуживания "перейти  в  режим  ядра"

  ($CMKRNL).

       Эту привилегию следует предоставлять лишь тем  пользо-

  вателям, которым необходим доступ к защищенным  и  чувстви-

  тельным к воздействию структурам данных, а также  ко  внут-

  ренним функциям МОС ВП. Если неквалифицированные  пользова-

  тели имеют неограниченный доступ к таким структурам и функ-

  циям, то МОС ВП и программы других пользователей могут быть

  легко разрушены. К таким разрушениям относятся  ошибка  МОС

  ВП, порча базы  данных  и  незащищенность  конфиденциальной

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











                           - 221 -

                        00152-01 97 10


       6.3.7. Привилегия CMKRNL (полная)


       CMKRNL позволяет пользовательскому процессу  выполнять

  программу системного обслуживания "перейти  в  режим  ядра"

  ($CMKRNL).

       Эта программа дает процессу возможность  изменить  его

  режим доступа на режим ядра, выполнить  определенную  прог-

  рамму и затем вернуться в исходный режим доступа.

       При предоставлении этой привилегии следует  руководст-

  воваться описанием привилегии CMEXEC (см. п. 6.3.6).



       6.3.8. Привилегия DETACH (полная)


       Привилегия DETACH позволяет пользовательскому процессу

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

  системного обслуживания "создать процесс" ($CREPRC). Отсое-

  диненные процессы существуют даже после того, как пользова-

  тель выйдет из МОС ВП.

       Примером  отсоединенного  процесса  является  процесс,

  созданный МОС ВП для пользователя при его входе в МОС ВП.

       Ограничений на код UIC, который может быть  задан  для

  отсоединенного процесса, нет. Таким образом нет ограничений

  на файлы и каталоги, к которым может получить доступ отсое-

  диненный процесс.



       6.3.9. Привилегия DIAGNOSE (файловая)


       Привилегия DIAGNOSE позволяет  пользователю  выполнять

  неавтономные диагностические программы, а также получать  и



                           - 222 -

                        00152-01 97 10


  копировать  все  сообщения,  которые  записываются  в  файл

  регистрации ошибок.



       6.3.10. Привилегия EXQUOTA (поглощающая)


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

  пользовательскими файлами на заданных дисковых томах,  пре-

  высить любые квоты использования,  установленные  на  томах

  для этого пользователя (в соответствии с кодом UIC).



       6.3.11. Привилегия GROUP (групповая)


       Привилегия GROUP позволяет пользовательскому  процессу

  воздействовать на другие процессы своей  группы  с  помощью

  следующих программ системного обслуживания управления  про-

  цессами:

       - отмены запроса на пробуждение ($CANWAK);

       - удаление процесса ($DELPRC);

       - принудительного выхода ($FORCEX);

       - возобновления процесса ($RESUME);

       - планирования пробуждения ($SCHDWK);

       - установки приоритетов ($SETPRI);

       - приостанова процессов ($SUSPND);

       - пробуждения ($WAKE).

       Кроме  того,  пользовательскому  процессу  разрешается

  опрашивать другие процессы той же группы при  помощи  прог-

  раммы  системного  обслуживанию  "получить   информацию   о

  задании/процессе" ($GETJPI). Пользователь, имеющий привиле-




                           - 223 -

                        00152-01 97 10


  гию GROUP, может вводить следующие команды  языка  DCL  для

  других процессов той же группы:  SET  QUEUE,  DELETE/ENTRY,

  STOP/ENTRY и SET PROCESS.

       Привилегия  GROUP  не  нужна  тому  процессу,  который

  управляет созданными им подпроцессами  или  опрашивает  их.

  Эту привилегию  следует  предоставлять  тем  пользователям,

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

  ми.



       6.3.12. Привилегия GRPNAM (поглощающая)


       Привилегия GRPNAM позволяет пользовательскому процессу

  вносить имена в таблицу логических имен той группы, к кото-

  рой он принадлежит, а также удалять имена из данной  табли-

  цы. При этом процесс использует программы системного обслу-

  живания логических имен "создать логическое имя"  ($CPELNM)

  и "удалить логическое имя" ($DELLNM).

       Кроме  того,  привилегированный   пользователь   может

  использовать команды ASSIGN и DEFINE языка DCL для  занесе-

  ния имен в таблицу логических имен группы. Команда DEASSIGN

  удаляет имена из этой таблицы, а квалификатор /GROUP коман-

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

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

  зователям МОС ВП: она  позволяет  создавать  неограниченное

  число групповых логических имен.  Если  неквалифицированный

  пользователь имеет такую возможность, то это может привести

  к чрезмерному использованию системной динамической памяти и

  к ухудшению характеристик работы МОС ВП. Кроме того,  поль-



                           - 224 -

                        00152-01 97 10


  зователь, обладающий привилегией GRPNAM, может вмешаться  в

  действия других пользователей той же группы, создавая опре-

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

  SYS$SYSTEM.



       6.3.13. Привилегия GRPPRV (групповая)


       Привилегия GRPPRV позволяет процессу обращаться к фай-

  лам с помощью поля SYSTEM защиты файлов в том случае, когда

  этот процесс входит в ту же группу, что и владелец  файлов.

  Кроме того, она позволяет процессу изменять защиту  файлов,

  группа владельцев которых соответствует группе процесса.



       6.3.14. Привилегия LOG_IO (полная)


       Привилегия LOG_IO позволяет пользовательскому процессу

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

  ди ввода-вывода для реализации операций логического  уровня

  ввода-вывода. Кроме того,  эта  привилегия  необходима  для

  некоторых функций управления  устройствами,  например,  для

  установки постоянных характеристик терминала.

       Как  правило,  пользовательские  запросы  ввода-вывода

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

  ввода-вывода, такого как СУД-32. Однако, для усиления конт-

  роля над операциями ввода-вывода и для повышения их  эффек-

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

  венно интерфейсом между их процессами и системной  програм-

  мой драйвера ввода-вывода.




                           - 225 -

                        00152-01 97 10


       Привилегию LOG_IO  следует  предоставлять  только  тем

  пользователям, которым она необходима: она  позволяет  про-

  цессу обращаться к данным, находящимся в любом  месте  выб-

  ранного тома, не используя никакой файловой структуры. Если

  эта привилегия предоставляется неквалифицированному пользо-

  вателю, то МОС ВП и программы  других  пользователей  могут

  быть легко разрушены. При этом может быть уничтожена инфор-

  мация на системном устройстве и уничтожены пользовательские

  данные.



       6.3.15. Привилегия MOUNT (нормальная)


       Привилегия MOUNT позволяет пользовательскому  процессу

  выполнять монтирование  томов  ввода-вывода.  Использование

  этой функции должно быть  ограничено  в  рамках  системного

  программного обеспечения.



       6.3.16. Привилегия NETMBX (нормальная)


       Привилегия  NETMBX  позволяет  пользователю  выполнять

  функции, связанные  с  системами  программного  обеспечения

  "трал" или "магистр". Как правило, эта  привилегия  предос-

  тавляется обычным пользователям.



       6.3.17. Привилегия OPER (системная)


       Привилегия OPER позволяет использовать процесс сообще-

  ний оператору следующим образом:

       - отвечать на запросы пользователей;



                           - 226 -

                        00152-01 97 10


       - рассылать сообщения на все терминалы, с которых  был

         осуществлен вход в систему;

       - назначать терминалы в качестве терминалов  оператора

         и определять типы воспроизводимых сообщений;

       - инициализировать  операторский  файл  регистрации  и

         управлять им.

       Кроме того,  эта  привилегия  позволяет  пользователям

  устанавливать устройства, обслуживающие через спул,  созда-

  вать пакетные очереди и очереди печати, а  также  управлять

  ими, инициализировать и монтировать общие тома.

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

  системы. Операторы - это пользователи, которые отвечают  на

  запросы обычных пользователей, обслуживают потребности сис-

  темных периферийных устройств (монтирование магнитных  лент

  и изменение форм печати), сопровождают все другие  ежеднев-

  ные системные операции.



       6.3.18. Привилегия PFNMAP (общая)


       Привилегия PFNMAP позволяет пользовательскому процессу

  отображать  информацию  в  конкретные  страницы  физической

  памяти или в регистры устройств ввода-вывода, независимо от

  того, кто использует эти страницы или регистры.

       При предоставлении данной привилегии надо быть  внима-

  тельным. Если неквалифицированный пользователь имеет  неог-

  раниченный доступ к физической памяти, то МОС ВП может быть

  легко разрушена. При этом  не  исключено  уничтожение  базы

  данных и раскрытие конфиденциальной информации  неавторизо-



                           - 227 -

                        00152-01 97 10


  ванным лицам.



       6.3.19. Привилегия PHY_IO (общая)


       Привилегия PHY_IO позволяет пользовательскому процессу

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

  ди ввода-вывода ($QIO) для реализации операций  физического

  уровня ввода-вывода.

       Обычно, запросы пользователя на  ввод-вывод  обрабаты-

  ваются косвенно с использованием такого пакета ввода- выво-

  да, как СУД-32. Однако для усиления контроля над операциями

  ввода-вывода и для улучшения  эффективности  их  применения

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

  интерфейсом между своими процессами и системной  программой

  драйвера ввода-вывода. Это можно сделать при  помощи  прог-

  раммы    системного    обслуживания    запросов     очереди

  ввода-вывода.  В  большинстве  случаев  требуемая  операция

  является операцией физического уровня ввода-вывода.

       Привилегию PHY_IO следует предоставлять только пользо-

  вателям, которым она необходима. Эта привилегия должна пре-

  доставляться даже с большим вниманием чем привилегия LOG_IO

  (см. п. 6.3.14). Если эта привилегия предоставляется неква-

  лифицированным пользователям, то МОС ВП  может  быть  легко

  разрушена. При этом не исключено уничтожение пользовательс-

  ких данных и раскрытие конфиденциальной информации  неавто-

  ризованным лицам.







                           - 228 -

                        00152-01 97 10


       6.3.20. Привилегия PRMCEB (поглощающая)


       Привилегия PRMCEB позволяет пользовательскому процессу

  создавать или удалять постоянный кластер общих флагов собы-

  тий при помощи выполнения программ системного  обслуживания

  "связать кластер общих флагов событий" ($ASCEFC), или "уда-

  лить кластер  общих  флагов  событий"  ($DLCEFC).  Кластеры

  общих флагов событий позволяют взаимодействующим  процессам

  связываться друг с другом, обеспечивая тем  самым,  возмож-

  ность синхронизации их работы.

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

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

  ченное число постоянных  кластеров  общих  флагов  событий.

  Постоянные кластеры остаются в МОС ВП даже после завершения

  создавшего их процесса и продолжают занимать часть  динами-

  ческой памяти.

       Интенсивное использование системной динамической памя-

  ти может привести к ухудшению характеристик работы МОС ВП.



       6.3.21. Привилегия PRMGBL (поглощающая)


       Привилегия PRMGBL позволяет пользовательскому процессу

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

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

  ($CRMPSC). Кроме того, пользователь, имеющий эту привилегию

  (плюс привилегии CMKRNL и SYSGBL), может использовать  обс-

  луживающую программу INSTALL.

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




                           - 229 -

                        00152-01 97 10


  которые  могут  быть  отображены  одновременно  в  адресное

  пространство многих процессов. Все такие процессы осуществ-

  ляют просмотр одного и того же кода или данных.  Глобальные

  секции используются для реентерабельных программ и  буферов

  данных.

       Эту привилегию следует предоставлять с  осторожностью.

  Если постоянные глобальные секции явно не удаляются, то они

  связывают пространство в глобальной  секции  и  в  таблицах

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

  ресурсы.



       6.3.22. Привилегия PRMMBX (поглощающая)


       Привилегия PRMMBX позволяет пользовательскому процессу

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

  выполнения программ системного обслуживания "создать почто-

  вый ящик и прикрепить канал" ($CREMBX) или "удалить  почто-

  вый ящик" ($DELMBX).

       Почтовые ящики -  это  буфера  в  виртуальной  памяти,

  которые рассматриваются как устройства, ориентированные  на

  записи. Почтовый ящик используется для  общей  связи  между

  процессами.

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

  зователям. При удалении процесса, создающего почтовые  ящи-

  ки, последние автоматически не удаляются и поэтому  исполь-

  зуют часть системной динамической памяти.







                           - 230 -

                        00152-01 97 10


       6.3.23. Привилегия PSWAPM (системная)


       Привилегия PSWAPM позволяет пользовательскому процессу

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

  выполнения программы  системного  обслуживания  "установить

  режим обмена процесса" ($SETSWM). Процесс должен иметь  эту

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

  балансном наборе (то есть для запрещения обмена), но и  для

  того, чтобы разблокировать себя (то есть разрешить обмен).

       Процесс, имеющий эту привилегию, может создать некото-

  рый процесс, который блокируется в  балансном  наборе  (для

  него запрещается режим обмена) при  помощи  дополнительного

  аргумента в программе системного обслуживания "создать про-

  цесс" ($CREPRC), или при создании такого процесса с помощью

  команды RUN языка DCL с соответствующим квалификатором.

       Эту привилегию следует предоставлять только тем  поль-

  зователям, которым необходимо заблокировать процесс в памя-

  ти для поддержания требуемых характеристик работы. Как пра-

  вило, таким процессом является процесс  реального  времени.

  Если неквалифицированный пользователь имеет  неограниченную

  возможность блокировать процессы  в  балансном  наборе,  то

  физическая память может быть  занята  без  надобности,  что

  ухудшит рабочие характеристики МОС ВП.



       6.3.24. Привилегия READALL (общая)


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

  ограничения, которые мешают ему читать некоторый файл. Если




                           - 231 -

                        00152-01 97 10


  пользователь не имеет привилегии BYPASS, которая  позволяет

  осуществлять запись информации в файл  и  удаляет  его,  то

  привилегия READALL разрешает лишь читать файл.

       Эту привилегию следует предоставлять только тем лицам,

  которые имеют  соответствующие  обязанности  по  управлению

  вычислительной системой.



       6.3.25. Привилегия SECURITY (общая)


       Привилегия SECURITY позволяет процессу выполнять функ-

  ции защиты, например, функции разрешения и запрета контроля

  защиты или установки системного пароля.

       Эту привилегию следует предоставлять лишь  тем  лицам,

  которые отвечают за защиту МОС ВП.



       6.3.26. Привилегия SETPRV (общая)


       Привилегия SETPRV позволяет пользовательскому процессу

  создавать процессы с привилегиями, превышающими  привилегии

  создающего процесса. При этом используется  программа  сис-

  темного обслуживания "создать процесс" ($CREPRC) с дополни-

  тельным аргументом или команда RUN языка DCL. Пользователь,

  имеющий  эту  привилегию,  может  применять   команду   SET

  PROCESS/PRIVILEGES с тем,  чтобы  получить  любую  желаемую

  привилегию.

       При предоставлении привилегии SETPRV  необходимо  при-

  нять определенные меры предосторожности (также  как  и  при

  предоставлении  любой  другой   привилегии   из   категории




                           - 232 -

                        00152-01 97 10


  "общая") поскольку привилегия SETPRV позволяет пользователю

  получить любую привилегию или все привилегии.



       6.3.27. Привилегия SHARE (системная)


       Привилегия SHARE позволяет пользовательскому  процессу

  назначать каналы  к  устройствам,  прикрепленным  к  другим

  пользователям.

       Эту привилегию следует предоставлять только системному

  программному обеспечению, например, симбионтам. Эта  приви-

  легия позволяет пользователям  вмешиваться  в  работу  уст-

  ройств, принадлежащих другим пользователям.



       6.3.28. Привилегия SYSGBL (файловая)


       Привилегия SYSGBL позволяет пользовательсколу процессу

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

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

  секцию" ($CRMPSC). Кроме того,  пользователь,  имеющий  эту

  привилегию, плюс привилегии CMKRNL и PRMGBL, может  исполь-

  зовать обслуживающую программу INSTALL.

       При предоставлении этой привилегии  необходимо  соблю-

  дать осторожность. Для системных глобальных секций  необхо-

  димо пространство в таблицах глобальных секций и глобальных

  страниц, которые являются ограниченными ресурсами.










                           - 233 -

                        00152-01 97 10


       6.3.29. Привилегия SYSLCK (системная)


       Привилегия SYSLCK позволяет пользовательскому процессу

  захватывать системные ресурсы при помощи программы  систем-

  ного обслуживания "поставить в очередь  запрос  на  захват"

  ($ENQ). Эту привилегию следует предоставлять пользователям,

  обращающимся к программам, которые  захватывают  ресурсы  в

  пространство имен общесистемных ресурсов. Поскольку пользо-

  ватели, владеющие этой  привилегией,  могут  вмешиваться  в

  синхронизацию системных и пользовательских программ, то при

  предоставлении данной привилегии  надо  соблюдать  осторож-

  ность.



       6.3.30. Привилегия SYSNAM (общая)


       Привилегия SYSNAM позволяет пользовательскому процессу

  вносить имена в таблицу логических имен системы  и  удалять

  имена из этой таблицы, используя программы системного  обс-

  луживания "создать логическое  имя"  ($CRELNM)  и  "удалить

  логическое имя" ($DELLNM).

       Кроме  того,  пользователь,  имеющий  эту  привилегию,

  может применять команды ASSIGN и DEFINE для добавления имен

  в таблицу логических  имен  системы  и  может  использовать

  команду DEASSIGN для удаления имен из этой таблицы.

       Данную привилегию следует предоставлять только систем-

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

  димо определять такие системные логические имена, как имена

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




                           - 234 -

                        00152-01 97 10


  каталогов. Например, монтирование или размонтирование  сис-

  темного тома, которое  приводит  к  определению  системного

  логического имени, будет выполняться только в  том  случае,

  когда у пользователя  имеется  привилегия  SYSNAM.  Следует

  отметить, что пользователь, имеющий эту  привилегию,  может

  переопределить такие важные системные логические имена, как

  SYS$SYSTEM и SYSUAF, приобретая, тем  самым,  контроль  над

  МОС ВП.



       6.3.31. Привилегия SYSPRV (общая)


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

  права на доступ к файлам, а также  позволяет  изменять  код

  UIC владельца файла и защиту файла. Если даже файл  защищен

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

  пользователь с привилегией SYSPRV может просто изменить его

  защиту.

       При предоставлении данной привилегии следует соблюдать

  осторожность. Если неквалифицированные  пользователи  имеют

  права на системный доступ, то МОС ВП может быть легко  раз-

  рушена. При этом не исключено  уничтожение  базы  данных  и

  лишение защиты конфиденциальной информации от доступа неав-

  торизованных лиц.



       6.3.32. Привилегия TMPMBX (нормальная)


       Привилегия TMPMBX позволяет пользовательскому процессу

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




                           - 235 -

                        00152-01 97 10


  программы системного обслуживания "создать почтовый ящик  и

  назначить канал" ($CREMBX).

       Почтовые ящики -  это  буфера  в  виртуальной  памяти,

  которые рассматриваются как устройства ввода-вывода, ориен-

  тированные на записи. Почтовый ящик используется для  общей

  межпроцессной связи. В  отличии  от  постоянного  почтового

  ящика, который должен быть удален явно, временный  почтовый

  ящик удаляется автоматически, когда к нему больше не  обра-

  щаются никакие процессы. Следует отметить, что эта привиле-

  гия необходима для применения команд SUBMIT и  PRINT  языка

  DCL.

       В большинстве случаев эта  привилегия  предоставляется

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

  Поскольку число временных почтовых ящиков управляется лими-

  тами использования динамической памяти  (квота  BYTLM),  то

  при создании таких ящиков характеристики работы  обычно  не

  ухудшаются.



       6.3.33. Привилегия VOLPRO (файловая)


       Привилегия VOLPRO позволяет пользователю:

       - инициализировать ранее использованный  том  с  кодом

         UIC, отличным от кода UIC данного пользователя;

       - отменять срок хранения данных на диске или  дисковом

         томе, которым этот пользователь не владеет;

       - монтировать с квалификатором /FOREIGN  том  файловой

         структуры, которым этот пользователь не владеет;

       - отменять защиту по коду UIC владельца тома.



                           - 236 -

                        00152-01 97 10


       Привилегия  VOLPRO  позволяет  управлять  только  теми

  томами, которые пользователь может монтировать или  инициа-

  лизировать. Тома, смонтированные с квалификатором  /SYSTEM,

  не доступны пользователю, имеющему привилегию VOLPRO,  если

  он не имеет, кроме того, привилегии SYSNAM.

       При  предоставлении  привилегии  VOLPRO  следует  быть

  крайне внимательным. Если неквалифицированные  пользователи

  преодолеют защиту тома, то МОС ВП может быть легко разруше-

  на. При этом может быть уничтожена база данных  и  раскрыта

  кофиденциальная информация для неавторизованных лиц.



       6.3.34. Привилегия WORLD (системная)


       Привилегия WORLD позволяет пользовательскому  процессу

  воздействовать на другие процессы, как внутри,  так  и  вне

  его группы с помощью выполнения следующих программ  систем-

  ного обслуживания управления процессами:

       - отмены запросов на пробуждение ($CANWAK);

       - удаления процессов ($DELPRC);

       - принудительного выхода ($FORCEX);

       - возобновления процесса ($RESUME);

       - планирования пробуждения ($SCHDWK);

       - установки приоритетов ($SETPRI);

       - приостанова процессов ($SUSPND);

       - пробуждения ($WAKE).

       Кроме  того,  пользовательскому  процессу  разрешается

  проверять процессы других групп при помощи выполнения прог-

  раммы  системного  обслуживания  "получить   информацию   о



                           - 237 -

                        00152-01 97 10


  задании/процессе" ($GETJPI). Пользователь, обладающий  при-

  вилегией  WORLD,  может  применять   команды   SET   QUEUE,

  DELETE/ENTRY, STOP/ENTRY и SET PROCESS для всех других про-

  цессов.

       Для управления подпроцессами или для опроса подпроцес-

  сов, которые созданы некоторым процессом, последнему приви-

  легия специального типа не нужна. Для воздействия  на  про-

  цессы внутри своей группы или для их опроса процессу  необ-

  ходима только привилегия GROUP. Но для воздействия на  про-

  цессы других групп или для их опроса,  процессу  необходима

  привилегия WORDL. Как правило, эту привилегию следует  пре-

  доставлять пользователю, которому  надо  воздействовать  на

  другие общесистемные процессы.



       6.4. Учет использования системных ресурствов


       В целях учета МОС  ВП  содержит  записи  использования

  системных ресурсов. Эти записи находятся в файле  регистра-

  ции учета SYS$MANAGER:ACCOUNTING.DAT. Этот  файл  корректи-

  руется всякий раз, когда:

       - инициализируется МОС ВП;

       - завершается учитываемый процесс или образ;

       - заканчивается задание печати;

       - происходит отказ пользователю на вход в МОС ВП.

       В файл регистрации учета могут заносить записи и поль-

  зователи.

       Для подавления функций учета и, тем самым, для  подав-

  ления учета системных ресурсов необходима привилегия  ACNT.



                           - 238 -

                        00152-01 97 10


  пользователи, имеющие эту привелегию, могут создавать подп-

  роцессы или отсоединенные процессы, в которых  заблокирован

  учет. Квалификатор /NOACCOUNTING команды RUN языка DCL бло-

  кирует учет в созданном процессе.

       Пользователь, имеющий привилегию OPER, может выборочно

  блокировать различные виды учета в МОС ВП при помощи квали-

  фикатора /DISABLE команды SET  ACCOUNTING  языка  DCL  [2].

  Обычно это действие входит в функции системного администра-

  тора.



       6.4.1. Учетные записи


       Учетные записи содержат накапливаемую учетную информа-

  цию о ресурсах, используемых процессами или образами (уста-

  новленными для пользователей)  или  же  симбионтами  печати

  (которые распечатывают  файлы  для  пользователей).  Каждая

  учетная запись состоит из трех полей:  имени  пользователя,

  кода UIC и учетного имени. Они  определяют  пользователя  и

  создают связь между ним и учетной записью. Эти  поля  соот-

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

  дела в файле UAF.

       Системный администратор может использовать обслуживаю-

  щую программу ACCOUNTING для сортировки, отбора и получения

  учетных записей. Эти  записи  могут  служить  как  средства

  управления МОС ВП. Используя в качестве  альтернативы  под-

  робные учетные записи, предоставляемые  МОС  ВП,  системный

  администратор или системный программист  может  разработать

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


                           - 239 -

                        00152-01 97 10


       6.4.2. Файл регистрации учета


       Файл регистрации учета создается и открывается автома-

  тически при инициализации МОС ВП. Учетные записи помещаются

  в этот файл в  хронологическом  порядке.  Следующий  список

  перечисляет характеристики файла регистрации учета:

       - имя файла: ACCOUNTING.DAT (этот файл представлен  не

         в стандарте ASCII; следовательно  перед  распечаткой

         он должен быть сформатирован);

       - устройство и каталог: SYS$MANAGER;

       - организация файла: последовательная;

       - длина записей: переменная;

       - типов записей: восемь.

       Типы записей соответствуют условиям, которые  приводят

  к занесению записи в файл. Эти типы приведены  в  следующем

  списке, а их коды (задаваемые  в  макроопределении  $ACRDEF

  файла SYS$LIBRARY:STARLET.MLB) показаны в скобках:

       - записи,    заносимые    при    удалении     процесса

         (ACR$K_PRCDEL);

       - записи,    заносимые    при    завершении     образа

         (ACR$K_IMGDEL);

       - записи,   заносимые   при   инициализации    системы

         (ACR$K_SYSINIT);

       - записи, заносимые при постановке в  очередь  заданий

         печати (ACR$K_PRINT);

       - записи, заносимые при отказе пользователю на вход  в

         систему (ACR$K_LOGFAIL);

       - записи,  заносимые  при  пересылке  пользовательских



                           - 240 -

                        00152-01 97 10


         сообщений в файл регистрации учета (ACR$K_USER);

       - записи, которые указывают на  следующий  файл  учета

         (ACR$K_FILE_FL);

       - записи, которые указывают на предыдущий файл  учета,

         если он есть (ACR$K_FAIL_BL).

       Более подробная информация о записях файла регистрации

  учета дана в документе [12].

       При вводе записей в файл регистрации учета, все  запи-

  си, кроме записи о завершении  образа,  немедленно  пересы-

  лаются на диск. Такая предосторожность гарантирует  целост-

  ность этого файла и полноту учетных данных даже при  отказе

  системы.

       Как правило, текущая версия  файла  регистрации  учета

  закрывается после его распечатки, при этом создается и отк-

  рывается новая версия данного файла.  Обычно  администратор

  выполняет эти действия командой SET ACCOUNTING.

       Если попытка занести запись в файл  регистрации  учета

  приводит к ошибке, то этот файл автоматически  закрывается.

  Создается и открывается новая его копия.




















                           - 241 -

                        00152-01 97 10


            7. Сопровождение общих файлов и томов



       В этом разделе содержатся основные правила установки и

  сопровождения общих файлов и томов,  рассматривается  прог-

  рамма, позволяющая  инициализировать  и  монтировать  общие

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

  задачи по  проверке  монтирования,  по  дублированию  томов

  (BACKUP) и по управлению дисковым пространством.

       Общие  тома,  обычно  называемые  системными   томами,

  представляют из себя файло-структуированные дисковые  тома,

  которые содержат общие файлы. Такие файлы должны быть  дос-

  тупны большинству или всем пользователям. Кроме того, общие

  тома могут содержать файлы, создаваемые пользователями  для

  личных или общих целей. Таким образом, доступ к общим томам

  и к размещенным на них файлам имеют все пользователи,  если

  только это допускается защитой файлов по коду UIC.

       На общих томах могут содержаться следующие типы  общих

  файлов:

       - МОС ВП и относящиеся к ней файлы в выполнимой форме;

       - обслуживающие программы в выполнимой форме;

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

         форме, а также файлы, связанные с этими программами;

       - различные системные библиотеки, например,  макробиб-

         лиотеки, библиотеки об'ектных  модулей,  разделяемые

         исполнительные библиотеки сообщений об ошибках;

       - текстовые файлы, например, файлы помощи;

       - дополнительные программы в выполнимой форме, а также




                           - 242 -

                        00152-01 97 10


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

       В общие тома можно включить файлы специфичные для про-

  цедуры установки, которые должны быть доступны  многим  или

  всем пользователям.

       Кроме того создавать и хранить файлы в общем томе мож-

  но позволить любому пользователю. Обычно,  системный  адми-

  нистратор создает на общем томе подразумеваемый по  умолча-

  нию каталог дисковых файлов для каждого пользователя, авто-

  ризованного в системе (см.  раздел  5).  В  зависимости  от

  защиты файлов пользовательские файлы могут иметь общую  или

  ограниченную  доступность.  Пользователь  может  создавать,

  каталогизировать и хранить файлы на общем томе только в том

  случае, если это позволяет защита тома, дисковые  квоты  и,

  если пользователь имеет доступ на запись к некоторому ката-

  логу этого тома.



       7.1. Установка общих файловых структур


       Одна из основных функций администратора по  управлению

  МОС ВП состоит в  сопровождении  общих  файловых  структур.

  Необходимо сбалансировать потребности пользователей и  воз-

  можность системных  устройств  большой  емкости.  Системный

  администратор должен определить, как будут сконфигурированы

  в системе  устройства  большой  емкости,  какие  устройства

  будут доступны для личных  пользовательских  томов,  и  как

  будут сконфигурированы общие тома. В его обязанности  также

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

  уровня для пользовательских файлов и управление пространст-



                           - 243 -

                        00152-01 97 10


  вом пользовательских дисков.



       7.1.1. Хранение пользовательских файлов


       Во многих случаях для общей дисковой памяти необходимо

  предоставлять большие дисковые накопители.  В  относительно

  больших системах пользовательские файлы не следует помещать

  на системный том. Системный диск предназначен для работы  с

  фалами обмена страниц, обмена рабочих наборов,  спула,  для

  хранения системных  регистрирующих  записей  и  т.д.  Кроме

  того, если возникнет необходимость построения  нового  сис-

  темного диска из имеющегося диска, то этот процесс  сущест-

  венно более сложен и требует больше времени в  том  случае,

  когда на данном диске хранятся пользовательские файлы.

       В конфигурациях  с  относительно  малым  пространством

  внешней памяти других вариантов, кроме размещения пользова-

  тельских файлов на системном диске, нет. В этом случае сле-

  дует предпринять соответствующие  меры  предосторожности  с

  тем, чтобы пользовательские файлы не  превысили  свободного

  пространства на системном диске.



       7.1.2. Использование наборов томов


       Набор  томов  представляет  собой  множество  дисковых

  томов, которые связаны в единый об'ект командой  MOUNT/BIND

  языка DCL. Набор томов выглядит  как  единый  большой  том.

  Файлы автоматически размещаются в наборе там,  где  имеется

  свободное пространство, дисковые квоты воздействуют на весь




                           - 244 -

                        00152-01 97 10


  набор, и единственная каталоговая структура охватывает весь

  набор томов. Набор томов следует использовать тогда,  когда

  необходимо обеспечить большую  однородность  общего  прост-

  ранства файлов.

       Если, например, предполагается  создать  базу  данных,

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

  набор томов. Следует отметить, что файловая система пытает-

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

  файлы на таком томе, который в данный момент заполнен мень-

  ше всего.

       Если, с другой стороны, необходимы несколько различных

  зон файловой памяти с различными способами  управления,  то

  для каждой зоны следует  использовать  отдельный  том  (или

  набор томов).  Например,  для  постоянной  пользовательской

  памяти возможно будет нужен один том с жесткими  квотами  и

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

  нежесткими квотами или вообще без квот. Он не  дублируется,

  а его файлы чистятся периодически. Каждый отдельный том или

  набор томов должен содержать каталог  верхнего  уровня  для

  файлов любого пользователя, хранящего файлы на этом томе.

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

  модульности. Если один  из  накопителей,  содержащий  набор

  томов, будет находиться в состоянии, исключающем обслужива-

  ние, то, из-за взаимосвязанного характера структуры катало-

  гов набора томов, этот набор будет целиком недоступен. Если

  же не  функционирует  накопитель,  содержащий  единственный

  том, то недоступны лишь хранящиеся на нем файлы.




                           - 245 -

                        00152-01 97 10


       При планировании работ по созданию набора  томов  сле-

  дует помнить о том, что:

       - любой том может быть введен в набор томов, если  его

         связать с некоторым вновь инициализированным  томом.

         Анологичным образом, к  существующему  набору  томов

         можно всегда добавить другой вновь  инициализирован-

         ный том;

       - дисковые тома различных типов можно связать  в  один

         набор томов;

       - два существующих отдельных тома, в которых содержат-

         ся файлы, нельзя связать в набор томов (кажется, что

         команда MOUNT может предоставить эту возможность, но

         она не дает сцепленный набор томов);

       - для эффективного связывания команду MOUNT/BIND необ-

         ходимо ввести только раз, после  чего  информация  о

         связи набора томов записывается на тома;

       - после связывания двух или нескольких томов  в  набор

         томов, они не могут быть разделены.  Для  разделения

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

         ся в  выборочном  копировании  наборов  каталогов  с

         использованием обслуживающей программы BACKUP.

       Более подробная информация о наборах томов  содержится

  в документе [2].

       Примечание. Не  рекомендуется  делать  системный  диск

  частью набора томов. Хотя МОС ВП будет успешно  загружаться

  и функционировать даже и в этом  случае,  однако  установка

  дополнительных изделий, сопровождение корректирующей инфор-




                           - 246 -

                        00152-01 97 10


  мации, корректировка МОС ВП на системном диске, входящем  в

  набор томов, окажется не совсем правильной.  При  установке

  корректирующей информации или программного изделия, систем-

  ные файлы будут размещаться  в  произвольном  месте  набора

  томов, и МОС ВП возможно больше не загрузится.



       7.2. Форматирование дисков


       Поставляемые диски, сформатированы с помощью дискового

  форматера EVRAC. Однако в некоторых условиях  форматировать

  диск бывает желательно или необходимо самому  пользователю.

  Повторно форматировать диски надо в тех случаях, когда  они

  подвергаются воздействию рентгеновского излучения,  размаг-

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

  питания. Кроме того форматирование  может  оказаться  жела-

  тельным, если на диске будет обнаружено значительное  коли-

  чество ошибок по четности. В этих случаях следует обратить-

  ся за помощью к обслуживающему персоналу.



       7.3. Инициализация общих томов


       Целью инициализации дискового тома  является  удаление

  всей старой информации и придание тому файловой  структуры,

  распознаваемой МОС ВП. Эта структура готовит том к  получе-

  нию и хранению данных таким образом, чтобы МОС ВП могла  их

  легко найти.

       При инициализации общего тома,  в  команде  INITIALIZE

  языка DCL необходимо  задать  квалификатор  /SYSTEM.  Кроме




                           - 247 -

                        00152-01 97 10


  того, может возникнуть необходимость  в  применении  одного

  или нескольких квалификаторов команды INITIALIZE  из  числа

  следующих:


       - /ACCESSED = N;

       - /CLUSTER_SIZE = N;

       - /EXTENION = N;

       - /HEADERS = N;

       - /INDEX = позиция;

       - /MAXIMUM_FILE = N;

       - /WINDOW = N.


                    Квалификатор /ACCESSED


       Квалификатор /ACCESSED определяет предполагаемое коли-

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

  ременно. Указанное количество последних использованных бло-

  ков управления файлами каталогов (FCB каталогов) будет хра-

  ниться в простанстве системы. Это делается  для  реализации

  быстрого доступа к каталогам и, соответственно, к файлам, а

  также для существенного уменьшения накладных  расходов  при

  работе с каталогами. В томах, смонтированных с помощью ква-

  лификатора /SYSTEM, значение рассматриваемого квалификатора

  отвергается системным параметром ACP_DIMDXCACHE.

       Поскольку общее число FCB каталогов будет равно  сумме

  значений всех квалификаторов  /ACCESSED,  определенных  для

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

  вать на каждом томе  разумное  значение  для  квалификатора

  /ACCESSED.



                           - 248 -

                        00152-01 97 10



                  Квалификатор /CLUSTER_SIZE


       Квалификатор /CLUSTER_SIZE определяет основную единицу

  распределения, (выраженную в блоках) на  томе.  При  выборе

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

  цов файлов к размеру  карты  памяти  тома,  которая  должна

  содержать один бит на каждый кластер тома  (или  один  блок

  для каждых 4096 кластеров).


                    Квалификатор /EXTENSION


       Квалификатор /EXTENSION определяет подразумеваемое  по

  умолчанию число блоков, выделяемых на томе  для  расширения

  файлов. В МОС ВП значение данного квалификатора менее  важ-

  но, чем в ОС РВ, ввиду того, что система СУД-32  использует

  адаптивный алгоритм, максимизированный относительно  значе-

  ния  /EXTENSION.  Значение  рассматриваемого  квалификатора

  должно  быть   равно   множеству   значений   квалификатора

  /CLUSTER_SIZE.


                     Квалификатор /HEADERS


       Квалификатор /HEADERS определяет число заголовков фай-

  лов, которые вначале должны быть размещены в индексном фай-

  ле. Основное преимущество предварительного размещения заго-

  ловков файлов состоит в том, что их легко найти вблизи фай-

  ла карты памяти (обычо в середине диска). Такое  размещение

  заголовков файлов помогает  уменьшить  перемещение  головки

  при действиях с файлами. Поскольку пространство, выделяемое




                           - 249 -

                        00152-01 97 10


  заголовкам, не доступно для  файлов,  то  значение  данного

  квалификатора следует задавать с осторожностью.


                      Квалификатор /INDEX


       Квалификатор /INDEX задает размещение индексного файла

  на томе. Подразумеваемое по  умолчанию  положение  (MIDDLE)

  минимизирует перемещение головки во время обработки  файла.

  Положение BEGINNING следует использовать в том случае, ког-

  да диск содержит один  файл  или  несколько  очень  больших

  смежных файлов.

       Когда  обслуживающая  программа  BACKUP   по   команде

  BACKUP/IMAGE копирует некоторый том, она сохраняет размеще-

  ние индексного файла, если только выходное устройство имеет

  тот же тип, что и входное. В противном случае он помещается

  в положение MIDDLE.


                  Квалификатор /MAXIMUM_FILES


       Квалификатор  /MAXIMUM_FILES  определяет  максимальное

  число файлов, которые могут содержаться на некотором  томе.

  Подразумеваемое по умолчанию значение существенно не  огра-

  ничивает свободу действий.  Более  точная  оценка  значения

  помогает оптимизировать размещение индексного файла.  Одна-

  ко, после установки этого значения максимальное число  фай-

  лов на томе увеличивать нельзя. Следует заметить, что  каж-

  дый каталог и каждый заголовок расширения файла со  многими

  заголовками засчитывается в этом максимальном значении  как

  файл.




                           - 250 -

                        00152-01 97 10



                     Квалификатор /WINDOW


       Квалификатор  /WINDOW  определяет  подразумеваемое  по

  умолчанию число указателей карты в окне  доступа  к  файлу.

  Это значение представляет из себя число экстентов файла,  к

  которым можно получить доступ без накладных расходов,  зат-

  рачиваемых файловой системой.



       7.4. Монтирование общих томов


       Целью монтирования тома (набора томов) является созда-

  ние связи между томом, устройством, на которое том физичес-

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

  могут получить доступ к данному тому.

       При монтировании общего тома с использованием квалифи-

  катора /SYSTEM команды MOUNT  языка  DCL  может  возникнуть

  необходимость в применении одного или нескольких квалифика-

  торов /ACCESSED, /EXTENSION, /WINDOW (описанных в подразде-

  ле 7.3) или в применении дополнительных квалификаторов:


          - /ASSIST;

          - /COMMENT = текст;

          - /MOUNT_VERIFICATION;

          - /PROCESSOR = вариант.


       В этом подразделе дана информация,  дополняющая  общие

  принципы монтирования, описанные в документе [2].







                           - 251 -

                        00152-01 97 10



                     Квалификатор /ASSIST


       Квалификатор /ASSIST подключает или отключает средства

  уведомления оператора о сбоях при монтировании. По  умолча-

  нию эти средства подключены.

       Существуют ситуации, в которых уведомление оператора о

  сбоях при монтировании оказывается нежелательным. Во  время

  выполнения командной процедуры SYSTARTUP.COM такие  уведом-

  ления запрещаются по умолчанию. Это сделано по той причине,

  что отсутствие некоторого системного тома, монтируемого  во

  время выполнения данной процедуры,  будет  мешать  загрузке

  системы.

       Если для корректной работы системы необходимы один или

  несколько томов, то в командах  монтирования  можно  задать

  квалификатор /ASSIST. Если, однако, некоторый том  окажется

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

  должен быть готов к следующему:

       - средства  уведомления  выдают  запрос  оператору  на

         необходимость приведения тома в состояние готовности

         и будут ждать удовлетворения данного  запроса.  Если

         оператор может подготовить том, то проблем не возни-

         кает;

       - если оператор подготовить том не может (например,  в

         случае отключения накопителя или  повреждения  этого

         тома), то он не может завершить командную  процедуру

         SYSTARTUP.COM. Для прерывания запроса на  монтирова-

         ние необходимо ввести команду  REPLY/ABORT.  Однако,




                           - 252 -

                        00152-01 97 10


         когда системная консоль выполняет эту процедуру, она

         недоступна. Кроме того, в этот момент другие  терми-

         налы еще не сконфигурированы, а вход в  систему  еще

         не разрешен.

       В этих условиях существует единственный способ загруз-

  ки  системы,  он  состоит  в  вызове  командной   процедуры

  SYS$SYSTEM:STARTUP.MIN.


                     Квалификатор /COMMENT


       Квалификатор /COMMENT включает взятую в кавычки  текс-

  товую строку, которая задается  администратором  как  часть

  запроса на монтирование. Этот квалификатор полезен  главным

  образом там, где  нужно  уведомление  оператору,  поскольку

  этот квалификатор дает, например, информацию  о  физическом

  размещении конкретного запрашиваемого тома. Следует  поощь-

  рять пользователей, применяющих это средство.


               Квалификатор /MOUNT_VERIFICATION


       Квалификатор /MOUNT_VERIFICATION разрешает или  запре-

  щает применять средство проверки монтирования томов на дис-

  ках файловой структуры,  описанное  в  подразделе  7.6.  По

  умолчанию проверка монтирования разрешена. Следует, однако,

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

  диски или магнитные ленты.










                           - 253 -

                        00152-01 97 10



                    Квалификатор /PROCESSOR


       Квалификатор /PROCESSOR определяет число вспомогатель-

  ных управляющих процессов (ACP), которые  должны  использо-

  ваться для управления различными общими томами. При  выборе

  соответствующего варианта для квалификатора /PROCESSOR при-

  ходится  принимать  компромиссное  решение.   При   задании

  варианта SAME,  параллелизм  и  удовлетворительные  рабочие

  характеристики файловой  системы  могут  быть  принесены  в

  жертву ради сохранения системного  пространства.  Наоборот,

  если выбран вариант UNIQUE, то системное пространство  при-

  носится в жертву ради  параллелизма  и  надлежащих  рабочих

  характеристик файловой системы.  Если  существенной  потери

  памяти быть не должно, то следует  использовать  подразуме-

  ваемый по  умолчанию  системный  вариант.  Более  подробная

  информация об этом квалификаторе дана в документе [5].

       Управлять  характеристиками  процессов  ACP   файловой

  структуры можно с помощью команды MONITOR FCP обслуживающей

  программы MONITOR [13].  Информация,  предоставляемая  этой

  программой, может помочь в определении конфигурации  файло-

  вой системы.



       7.4.1. Подготовка к использованию томов дисков

              и магнитных лент


       При подготовке томов для работы, пользователям возмож-

  но потребуется  помощь  системного  администратора.  Помощь

  нужна в тех случаях, когда:



                           - 254 -

                        00152-01 97 10


       - процессор и периферийные устройства недоступны  всем

         или некоторым пользователям или же размещены  далеко

         от них;

       - файловая система магнитных лент запросила монтирова-

         ние тома магнитной ленты;

       - необходимо смонтировать системный или общий диск.

       Для того, чтобы получить доступ к томам,  пользователи

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

  несколько действий из числа следующих:

       - используя команды ALLOCATE языка  DCL  ,  закрепляет

         устройство, с размещенным на нем томом;

       - физически монтирует том  на  устройстве.  Физическое

         монтирование тома означает установку его на  указан-

         ный накопитель  и  запуск  накопителя.  В  ленточных

         накопителях оператор загружает ленту на накопитель и

         для запуска накопителя нажимает клавишу загрузки.  В

         дисковых накопителях оператор ставит диск на  диско-

         вый накопитель и для его  запуска  нажимает  клавишу

         запуска;

       - используя команду INITIALIZE,  инициализирует  новые

         тома;

       - используя команду MOUNT, монтирует том.

       Если необходимости в инициализации диска нет,  то  для

  получения устройства и для запроса необходимой помощи поль-

  зователь может ввести единственную команду MOUNT языка DCL.

  Например, пользователь может ввести команду MOUNT для выда-

  чи   запроса   на   монтирование   или    ввести    команду




                           - 255 -

                        00152-01 97 10


  MOUNT/COMMENT, чтобы , кроме того, послать на терминал опе-

  ратора сообщение. Это сообщение может определять  имя  зак-

  репляемого устройства, монтируемый том, физический  иденти-

  фикатор (возможно имеющийся с наружной стороны тома) и мес-

  тоположение тома. После этого пользователь  ждет  ответа  с

  сообщением, указывающим, что том смонтирован. Полное описа-

  ние команды MOUNT дано в документе [14].

       В  документе  [2]  при   описании   команд   ALLOCATE,

  INITIALIZE и MOUNT даны примеры выделения  устройств,  ини-

  циализации и монтирования томов.

       Более подробная информация об управлении  томами  маг-

  нитных лент дана в документе [9]. Кроме того,  в  нем  дана

  информация о запросах и уведомлениях, относящихся к  монти-

  рованию томов дисков и магнитных лент.



       7.4.2. Ответ  на  пользовательские  запросы  о

              монтировании


       Когда пользователь выдает запрос на монтирование диска

  или магнитной ленты, процесс сообщений оператору выдает  на

  терминал оператора следующее сообщение:


  %%%%%%%%%%% OPCOM, DD:MMM:YYYY:HH:MM:SS.CC %%%%%%%%%%%

  REQUEST 'идентификатор запроса' FROM USER 'имя

  пользователя'



       Например,   пользователь,   требующий,    чтобы    том

  TEST_FILES был смонтирован на устройстве DMA2:, может ввес-




                           - 256 -

                        00152-01 97 10


  ти следующую команду:


        $ MOUNT DMA2: TEST_FILES/COMMENT="слота 6B"



       Эта команда выдает на  терминал  оператора  сообщение,

  следующего вида:


        %%%%%%%%%%% OPCOM,15-APR-1964 15:47:50.25 %%%%%%%%%%%

        REQUEST 5, FROM USER MALCOLM

        PLEASE MOUNT VOLUME TEST_FILES IN DEVICE DMA2:

        слота 6B



       Пользователь получает сообщение, указывающее, что зап-

  рос к оператору поступил:


  MOUNT-I-OPRQST, PLEASE MOUNT VOLUME TEST_FILES IN DEVICE

  _DMA2:

  слота 6B



       Кроме того, требуя смонтировать том на специфированном

  устройстве, пользователь может выдать  общий  запрос  путем

  указания лишь типа устройства. Так  для  монтирования  тома

  TEST на накопителе магнитной ленты, имя которой начинается,

  например, с символов MT, пользователь может выдать  следую-

  щую команду:


         $ MOUNT MT: TEST /COMMENT="слота 12C"



       Если за пользователем уже  закреплен  накопитель,  имя




                           - 257 -

                        00152-01 97 10


  которого начинается с букв MT, то  обслуживающая  программа

  MOUNT потребует, чтобы том TEST  был  смонтирован  на  этом

  накопителе. Если за пользователем такой накопитель не  зак-

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

  найденный ею  доступный  ленточный  накопитель  типа  MT  и

  выдаст запрос на монтирование тома TEST на этом накопителе.

       Обслуживая запрос пользователя на  монтирование  тома,

  оператор выполняет следующие действия:

       1) помещает том на указанное  устройство,  после  чего

  пользователь получает сообщение вида:


        %MOUNT-I-MOUNTED, TEST MOUNTED ON _DMA2:

        %MOUNT-I-RQSTDON, OPERATOR REQUEST CANCELLED:



       2) выполняет необходимую процедуру запуска,  а  именно

  на дисковых накопителях нажимает клавишу запуска,  на  лен-

  точном накопителе - клавишу загрузки.

       Если пользователь собирается записывать информацию  на

  смонтированный ленточный том, то перед  загрузкой  тома  на

  накопитель оператор проверяет, содержит ли магнитная  лента

  кольцо записи. Том без кольца записи недоступен для  опера-

  ций записи.

       Если пользователю необходимо выявить  дефектные  блоки

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

  том с квалификатором /FOREIGN.  Информация  по  применениию

  обслуживающей программы обнаружения дефектных блоков  (BAD)

  дана в документе [15].





                           - 258 -

                        00152-01 97 10


       Более подробная информация о  роли  пользователей  при

  монтировании томов приведена в документе [9].



       7.5. Сохранение целостности томов


       Для улучшения характеристик работы, МОС  ВП  хранит  в

  памяти информацию о свободном пространстве томов,  заголов-

  ках файлов, идентификаторах файлов и записях файловых квот.

  Определение степени кэширования можно произвести при помощи

  системных параметров кэша процесса ACP [5]. При помощи ква-

  лификаторов команды MOUNT языка DCL отдельные  пользователи

  могут менять размеры кэшей на своих томах.

       Мос вп переписывает информацию из кэша на диск в  слу-

  чае размонтирования диска или в случае  своего  отключения.

  Очевидно, что перемещение диска до того, как  кэши  записы-

  ваются обратно, приведет к потере всей измененной  информа-

  ции, содержащейся в кэшах. Поэтому ни системный администра-

  тор, ни отдельный пользователь не должны:

       - блокировать том по записи пока он монтируется;

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

         будет размонтирован;

       - останавливать систему, не выполнив корректную проце-

         дуру отключения системы (см. раздел 4).

       Если кто-то заблокирует том по  записи  во  время  его

  монтирования, то МОС ВП кроме того, блокирует запись.  Если

  надо разрешить запись на том, который был  смонтирован  при

  нажатой клавише блокировки записи,  то  сначала  необходимо

  размонтировать этот том. Если том на накопителе был смонти-



                           - 259 -

                        00152-01 97 10


  рован с выключенной  блокировкой  записи,  а  затем  кто-то

  нажал клавишу блокировки записи (и если для тома  разрешена

  проверка монтирования, которая задана по умолчанию), то  на

  томе проводится проверка монтирования. На этом томе  приос-

  танавливаются все операции ввода-вывода. В п. 7.6.2  описа-

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

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

  монтирования надо размонтировать том, разрешить  запись  на

  накопитель и повторно смонтировать этот том).

       Если во время монтирования МОС ВП определяет, что  при

  последнем обращении к тому кэши не были  записаны  обратно,

  то путем просмотра содержимого тома  МОС  ВП  автоматически

  вновь создает информацию о файлах. Однако,  заголовки  фай-

  лов, открытые во время неправильного размонтирования, могут

  быть частично или полностью потеряны.



       7.6. Проверка монтирования


       Средство проверки монтирования дисков файловой  струк-

  туры обычно не сообщает пользователю о том, что диск  пере-

  ходил в автономное управление и вернулся из него, или,  что

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

  затем был восстановлен.  При  монтировании  диска  проверка

  монтирования разрешается по умолчанию при помощи квалифика-

  тора /MOUNT_VERIFICATION. Для отключения проверки  монтиро-

  вания    пользователь    должен     задать     квалификатор

  /NOMOUNT_VERIFICATION. Следует заметить, что  это  средство

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


                           - 260 -

                        00152-01 97 10


  использованием квалификатора /FOREIGN.

       При проверке монтирования посылается сообщение процес-

  су OPCOM. Поскольку имеются случаи, когда сообщения провер-

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

  процесс OPCOM не в состоянии обеспечить такие сообщения, то

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

  специальные сообщения с префиксом %SYSTEM-I-MOUNTVER. Если,

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

  или, если процесс OPCOM не присутствует в системе, то  опе-

  ратор будет получать по крайней мере сообщения с  префиксом

  %SYSTEM-I-MOUNTVER. В нормальных условиях на терминал  опе-

  ратора поступают оба сообщения, причем сообщение с  указан-

  ным префиксом поступает первым.



       7.6.1. Проверка    монтирования     устройств,

              находящихся в автономном режиме


       Проверка монтирования инициализируется  при  следующих

  обстоятельствах:

       - из-за аппаратных или  пользовательских  ошибок  диск

         находится в автономном режиме управления  (например,

         он может быть остановлен). Когда такой  том  возвра-

         щается в неавтономный  режим,  большинство  дисковых

         накопителей генерирует специальное прерывание, кото-

         рое заставляет программное обеспечение  метить  этот

         том, как  неисправный.  Однако,  некоторые  дисковые

         накопители (например, типа DX, DY, DL,  DQ,  DS)  не

         генерируют таких прерываний. Автономный  режим  этих



                           - 261 -

                        00152-01 97 10


         устройств выявляется  только  при  инициализировании

         операции ввода-вывода для этого накопителя;

       - из-за неисправности тома или из-за автономного режи-

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

         ввода-вывода на может  быть  выполнена.  Программное

         обеспечение метит такой том,  указывая,  что  он  не

         должен подвергаться проверке  монтирования,  и,  что

         все операции ввода-вывода на этом томе  должны  быть

         приостановлены.

       После этого процесс OPCOM выдает сообщение администра-

  тору, разблокировавшему устройства DISK или DEVICE,  об'яв-

  ляя о недоступности диска:


        %%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%

        DEVICE 'имя устройства' IS OFFLINE

        MOUNT VERIFICATION IN PROGRESS



       Если смонтированный диск переходит в режим автономного

  управления при разрешенной проверке монтирования,  то  сис-

  темный администратор может возобновить  операции  следующим

  образом:

       1) отключить проверку монтирования одним из трех мето-

  дов (п. 7.6.3), вывести диск из  автономного  режима  и  из

  состояния отложенной проверки. Эти методы приводят к  тому,

  что на данном томе не  будут  выполняться  незавершенные  и

  последующие операции ввода-вывода;

       2) если соответствующий дисковый накопитель дает ошиб-

  ку, а на этом же контроллере имеется другой накопитель,  то



                           - 262 -

                        00152-01 97 10


  можно переставить диск на второй из них и перекоммутировать

  раз'емы выбора устройства.

       Когда этот диск вернется  в  неавтономный  режим  (что

  определяется программой проверки монтирования, опрашивающей

  дисковый накопитель), МОС  ВП  проверит,  соответствует  ли

  собственный блок диска блоку в базе  данных  смонтированных

  томов, подтверждая тем самым, что это тот самый диск, кото-

  рый был смонтирован раньше.

       Если данный накопитель не содержит  конкретного  тома,

  то процесс OPCOM выдает сообщение следующего вида:


        %%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%

        DEVICE 'имя устройства' CONTAINS THE WRONG VOLUME

        MOUNT VERIFICATION IN PROGRESS



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

  метится как исправный. Процесс OPCOM выдает следующее сооб-

  щение:


  %%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%

  MOUNT VERIFICATION COMPLETED FOR DEVICE 'имя устройства'



       С этого момента на диске разрешено продолжение  опера-

  ций ввода-вывода, как показано в примере.

       Пример.


        %%%%%%%%%% OPCOM, 15-APR-1984 11:54:54.12 %%%%%%%%%%

        DEVICE DMA0: IS OFFLINE.

        MOUNT VERIFICATION IN PROGRESS.



                           - 263 -

                        00152-01 97 10


        %%%%%%%%%% OPCOM, 15-APR-1984 11:57:34.22 %%%%%%%%%%

        MOUNT VERIFICATION COMPLETED FOR DEVICE DMA0:.



       В этом примере сообщение от процесса OPCOM информирует

  администратора о том, что устройство DMA0 перешло  в  авто-

  номный режим и,  что  инициирована  проверка  монтирования.

  Оператор обнаруживает, что накопитель был случайно останов-

  лен и включает его. Следующее сообщение указывает на успеш-

  ное завершение проверки монтирования, на установку того  же

  тома на накопитель (который, как обнаружено, вновь находит-

  ся в неавтономном режиме) и на возобновление всех  операций

  ввода-вывода на томе.



       7.6.2. Проверка  монтирования  заблокированных

              по записи устройств


       Устройства могут оказаться в состоянии  блокировки  по

  записи при следующих условиях:

       - в то время, когда дисковый  том  файловой  структуры

         монтируется для записи  (по  умолчанию  используется

         квалификатор  /WRITE),  происходит  аппаратная   или

         пользовательская ошибка;

       - аппаратура обнаруживает, что  диск  заблокирован  по

         записи (обычно при сбое ввода-вывода с ошибкой  бло-

         кировки по записи). Этот диск отмечается как  прове-

         ряемый.

       Процесс OPCOM  выдает  сообщение  операторам,  которым

  разрешено обращаться к устройствам DISK и DEVICE,  об'являя



                           - 264 -

                        00152-01 97 10


  о недоступности диска:


        %%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%

        DEVICE 'имя устройства' HAS BEEN WRITE LOCKED.

        MOUNT VERIFICATION IN PROGRESS



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

  блокируется по записи, хотя проверка монтирования  разреше-

  на, то для возобновления операций можно действовать следую-

  щим образом:

       1) отключив проверку монтирования одним из трех  мето-

  дов (см.п. 7.6.3), вывести диск  из  состояния  отложненной

  проверки. Эти методы приводят к тому, что  незавершенные  и

  последующие операции ввода-вывода на данном томе  не  будут

  выполняться;

       2) разблокировав накопитель по записи нажатием клавиши

  блокировки записи;

       3) если этот накопитель дает  ошибку,  а  на  этом  же

  контроллере имеется другой функционирующий  накопитель,  то

  можно переставить диск на второй из них и перекоммутировать

  раз'емы выбора устройства (следует заметить, что переключе-

  ние на другой накопитель  приведет  к  автономной  проверке

  монтирования тома. После  ее  завершения  будет  продолжена

  проверка монтирования с блокировкой записи).

       Когда программа  проверки  монтирования,  опрашивающая

  дисковый накопитель, определит, что том доступен по записи,

  продолжение операций ввода-вывода на диске будет разрешено.

  Однако, процесс OPCOM не выдает сообщение,  указывающее  на



                           - 265 -

                        00152-01 97 10


  завершение проверки монтирования с блокировкой  по  записи.

  Вместо этого, для  предупреждения  оператора  о  блокировке

  устройства по записи, процесс OPCOM выдает  сообщение  сле-

  дующего вида:


        %%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%

        DEVICE 'имя устройства' HAS BEEN WRITE LOCKED

        MOUNT VERIFICATION IN PROGRESS



       Разрешение на запись можно дать с помощью клавиши бло-

  кировки   записи.   На    диске    возобновятся    операции

  ввода-вывода, появятся последующие сообщения.



       7.6.3. Отмена проверки монтирования


       Запрос на проверку монтирования можно  отменить  одним

  из трех способов:

       1) разрешив выполняющейся проверке  монтирования  про-

  должаться столько времени (в секундах), сколько  определено

  системным параметром MVTIMEOUT. Когда  это  время  истечет,

  МОС ВП автоматически отменит незавершенную проверку  монти-

  рования. Следует отметить, что проверка монтирования,  ини-

  циированная блокировкой по записи, не закончится;

       2) вызвав с консольного терминала специальную програм-

  му отмены;

       3) размонтировав том командой DISMOUNT  языка  DCL  из

  того процесса, который не находится в зависшем состоянии.

       Эти    методы     рассматриваются     в     подпунктах




                           - 266 -

                        00152-01 97 10


  7.6.3.1...7.6.3.3.



       7.6.3.1. Системный параметр MVTIMEOUT


       Системный  параметр  MVTIMEOUT  определяет  время   (в

  секундах), в течение которого незаконченной проверке монти-

  рования разрешено завершиться до того, как она будет  отме-

  нена автоматически [5]. При обычных операциях  на  вычисли-

  тельной системе этот параметр должен всегда иметь  разумное

  значение (инструкции по проверке  и  модификации  системных

  параметров осблуживающей программы SYSGEN  даны  в  разделе

  11).  Следует  отметить,   что   восстановление   параметра

  MVTIMEOUT не будет влиять на выполняющуюся в данный  момент

  проверку монтирования.

       При отмене по истечению времени незавершенной проверки

  монтировния, процесс OPCOM  печатает  сообщение  следующего

  вида:


       %%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%

       MOUNT VERIFICATION ABORTED FOR DEVICE 'имя устройства'



       По истечении времени проверки монтирования  все  неза-

  вершенные и последующие запросы на ввод-вывод с этим  томом

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

  станет доступным вновь,  он  должен  быть  размонтирован  и

  вновь смонтирован.

       Примечание. Проверка  монтирования  при  блокированной

  записи по времени не завершается.




                           - 267 -

                        00152-01 97 10


       7.6.3.2. Команды отмены


       Если проверку  монтирования  необходимо  завершить  до

  истечения времени, определенного параметром MVTIMEOUT, то с

  консольного терминала надо ввести следующую  последователь-

  ность команд:


       УC/P

       >>>HALT

       >>>D/I 14 C

       >>>COUNT

       IPC>



       Подсказка IPC> указывает на то, что все системные опе-

  рации приостановлены (при готовности  к  завершению  отмены

  надо нажать клавиши УC/Z).

       Следует отметить следующие особенности программы отме-

  ны проверки монтирования:

       - строчные буквы преобразуются в прописные;

       - служебные символы (например, символы управления)  не

         выводятся. Вместо этого на терминал выдается звонок,

         как сигнал предупреждения;

       - начальные пробелы игнорируются и не выводятся;

       - несколько пробелов сжимаются в один пробел, то есть,

         все символы пробелов, после первого, игнорируются.

       В ответ на подсказку IPC> можно ввести две команды:


      1) IPC> имя-устройства





                           - 268 -

                        00152-01 97 10


       Эта команда отменяет любую незавершенную проверку мон-

  тирования на заданном устройстве (если на нем не выполняет-

  ся проверка монтирования, то выдается предупреждение).


      2) IPC>X



       Эта  команда  передает  управление  средству   отладки

  XDELTA (при условии, что оно  загружено  вместе  с  МОС  ВП

  путем установки соответствующего значения в  файле  загруз-

  ки). Если средство XDELTA не было загружено,  то  подсказка

  IPC> выдается повторно.

       Для выхода из программы отмены проверки монтирования и

  возобновления работы МОС ВП надо нажать  на  клавиши  УC/Z.

  Когда зависшая проверка монтирования будет  отменена,  про-

  цесс OPCOM напечатает сообщение следующего вида:


  %%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%

  MOUNT VERIFICATION ABORTED FOR DEVICE 'имя устройства'



       После описанной отмены проверки монтирования тома,  но

  до обращения  к  нему,  необходимо  его  смонтировать.  Это

  делается следующим образом:


       %%%%%%%%%% OPCOM, 15-JUN-1984 10:54:54.12 %%%%%%%%%%

               DEVICE DBA0: IS OFFLINE.

               MOUNT VERIFICATION IN PROGRESS.

       Ус/P

       >>>HALT

       >>>D/I 14 C



                           - 269 -

                        00152-01 97 10


       >>>CONT

       IPC>C DBA0

       IPC>ус/Z

       %SYSTEM-I-MOUNTVER, _DBA0: HAS ABORTED MOUNT

       VERIFICATION.

       %%%%%%%%%% OPCOM, 15-JUN-1984 10:56:26.13 %%%%%%%%%%

       MOUNT VERIFICATION ABORTED FOR DEVICE DBA0:



       Из этого текста видно, что устройство DQA0:  находится

  в автономном режиме, но диск включить вновь не возможно. На

  данном контроллере нет другого доступного накопителя,  поэ-

  тому переключать раз'ем выбора устройства на второй накопи-

  тель нельзя. Поскольку данный диск не смонтирован как  лич-

  ный том, то для этого диска  невозможно  ввести  и  команду

  DISMOUNT.

       Можно не ждать десять минут до истечения срока провер-

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

  отмены. На нем появится сообщение %SYSTEM-I-MOUNTVER.



       7.6.3.3. Размонтирование тома


       В некоторых случаях проверку монтирования можно  прер-

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

  доступное действие, если только имеется возможность  ввести

  команду DISMOUNT языка DCL (например, если не завис процесс

  ACP системных файлов).

       Для этого нужно сделать следующее:





                           - 270 -

                        00152-01 97 10


       1) войти в МОС ВП с другого терминала или использовать

  любой терминал, с которого осуществлен  вход  в  МОС  ВП  и

  который имеет доступ к рассматриваемому тому;

       2) ввести для этого тома команду DISMOUNT;

       3) после отмены  незавершенной  проверки  монтирования

  при помощи размонтирования тома, процесс OPCОM выдаст сооб-

  щение следующего вида:


  %%%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC. %%%%%%%%%%%

  MOUNT VERIFICATION ABORTED FOR DEVICE 'имя устройства'



       Если доступа к данному тому  нет,  то  будет  получено

  сообщение об ошибке. Если имеется  процесс,  который  может

  быть использован соответствующим образом,  то  можно  попы-

  таться проделать это вновь. Если процесс зависает, то зави-

  сает процесс ACP системных файлов, и этот метод отмены про-

  верки монтирования использовать невозможно.

       4) после успешного завершения отмены надо снять том  с

  накопителя.



       7.7. Дублирование общих томов


       Дублирование тома - это копирование содержимого данно-

  го тома на другой том или набор томов (например, на  другой

  диск или магнитную ленту). Дублирование является  профилак-

  тическим средством, позволяющим восстановить  информацию  в

  случае ее разрушения или потери. Мероприятия по  дублирова-

  нию файлов, размещенных на общих томах, вводятся  и  плани-




                           - 271 -

                        00152-01 97 10


  руются на большинстве вычислительных систем.

       Следует выполнять дублирование и личных томов. Однако,

  обязанности по их дублированию  возлагаются  на  владельцев

  этих файлов и томов. Документ [9] дает исчерпывающее введе-

  ние в использование обслуживающей программы BACKUP, и вклю-

  чает подробную информацию о носителях и задачах  дублирова-

  ния.

       Существует два вида дублирования общих файлов и томов:

       1) возрастающее (или частичное).  Сохраняются  не  все

  файлы некоторого тома при каждом выполнении операции дубли-

  рования, а лишь те файлы, которые были созданы или  модифи-

  цированы после последней операции дублирования. Такое выбо-

  рочное дублирование называется возрастающим (п. 7.7.4);

       2) полное (или всеоб'емлющее).

       В любом  случае  носителем  сдублированной  информации

  может быть диск или магнитная лента. Возрастающие  операции

  дублирования эффектно охватывают только те  файлы,  которые

  были модифицированы после последнего полного  дублирования.

  Для обеспечения восстановления потерянных томов  необходимо

  переодическое, полное дублирование.

       Как правило, возрастающие операции дублирования выпол-

  няются более часто, чем операции дублирования МОС ВП. После

  консультации с  пользователями  необходимо  выбрать  период

  дублирования файлов и томов и длительность хранения носите-

  ля сдублированной информации. Ответственность за выбор так-

  тики дублирования и за  проведение  этой  тактики  в  жизнь

  несет системный администратор.




                           - 272 -

                        00152-01 97 10


       Следующий график дублирования общих дисковых томов  на

  магнитную ленту обеспечивает приемлемую защиту  данных  для

  многих систем:

  ежедневное дублирование

       - возрастающий дубль хранится в течении  7  дней.  Для

         этого графика требуется 7  магнитных  лент,  которые

         чередуются через неделю;

  еженедельное дублирование

       - возрастающий дубль хранится в течении 4 недель.  Для

         этого графика требуется  4  набора  магнитных  лент,

         которые чередуются через 4 недели;

  ежемесячное дублирование

       - полный дубль сохраняется в течении года.  Для  этого

         графика требуется 12 наборов магнитных лент, которые

         чередуются через год.

       Полное дублирование можно выполнить или  на  магнитную

  ленту или на диск. В том и другом  методе  имеются  преиму-

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

  лент является намного меньшая стоимость  носителя.  Меньшая

  стоимость носителя может, в свою очередь, обеспечить  более

  долгое хранение дублей по сравнению с хранением полных дуб-

  лей на диске.

       Хранение дублей на диске также может иметь преимущест-

  ва, которые в некоторых случаях перевешивают более  высокую

  стоимость дискового носителя:

       - диски обладают более  высокой  надежностью  хранения

         данных;




                           - 273 -

                        00152-01 97 10


       - диски имеют тенденцию уменьшать потери памяти;

       - если  необходимо  восстановить  потерянную  на  томе

         информацию, то том  с  дисковой  копией  может  быть

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

         магнитная лента должна быть сначала восстановлена на

         диск;

       - если для дублей используются диски, то можно исполь-

         зовать "набор чередующихся дублей", несколько дисков

         или набор дисков которого применяются  в  МОС  ВП  с

         чередованием  по  кругу.  В  конце  каждого  периода

         использования  (например,  одного  месяца)  том  или

         набор томов, применяемый в настоящий  момент,  копи-

         руется на самый старый  набор  дисков,  текущий  том

         изымается из обращения, а новая копия используется в

         течении последующего периода времени.

       В пп. 7.7.1...7.7.14, описываются задачи  дублирования

  с ориентацией на управление МОС ВП. Это  поможет  системным

  администраторам в сохранении  целостности  общих  файлов  и

  томов. В данном разделе не рассматривается автономная прог-

  рамма BACKUP. Конкретные инструкции по ее  работе  (включая

  шаги по дублированию  и  восстановлению  системного  диска)

  даны в разделе 2.

       Полная информация об  обслуживающей  программе  BACKUP

  дана в документе [6]. Подробное описание  задач  и  методов

  использования носителей программы BACKUP приведено в  доку-

  менте [9].

                                               




                           - 274 -

                        00152-01 97 10


       7.7.1. Наборы чередующихся дублей


       Набор чередующихся дублей имеет два  основных  преиму-

  щества:

       1) поскольку, дублирующая копия (только что из'ятый из

  обращения том  или  набор  томов)  использовалась,  то  она

  является корректной. Сохранность новой  копии  будет  подт-

  верждена при ее последующем применении. Используя дублирую-

  щую копию можно исправить все обнаруженные дефекты;

       2) свободное пространство на новом томе сжимается, все

  файлы на нем становятся  смежными  или  почти  смежными,  в

  результате чего улучшаются характеристики файловой системы;

       Набор чередующихся дублей имеет четыре недостатка:

       1) наборы чередующихся дублей более уязвимы к дисковым

  ошибкам, чем наборы, созданные путем из'ятия  из  обращения

  копий и продолжения работы с оригиналом.  Дисковые  ошибки,

  возникающие во время выполнения операции копирования,  при-

  водят к разрущению данных на новом томе. Дисковые ошибки  в

  заголовках каталогов или файлов приводят  к  потере  одного

  или нескольких файлов. Таким образом, операцию  копирования

  необходимо выполнять очень внимательно, особенно по отноше-

  нию к ошибкам, и вручную устранять все  возникающие  неисп-

  равности;

       2) во время корректировки пользователями своих файлов,

  операцию копирования выполнять нельзя. Для получения согла-

  сованой копии, том или набор томов должны быть заблокирова-

  ны по записи;





                           - 275 -

                        00152-01 97 10


       3) файлы, созданные с явным указанием  местоположения,

  утрачивают это местоположение при копировании тома. Поэтому

  не следует использовать  набор  чередующихся  дублей,  если

  основным содержимым тома является множество файлов баз дан-

  ных, которые для оптимизации рабочих характеристик размеще-

  ны на томе очень тщательно;

       4) наборы чередующихся дублей дороги для применения  в

  нес'емных дисках.



       7.7.2. Полное  дублирование  томов  и   набора

              томов


       Если необходимо сдублировать  весь  дисковый  том  или

  набор томов,  то  в  обслуживающей  программе  BACKUP  надо

  использовать квалификатор /IMAGE. Дублирование образа можно

  выполнить при помощи операции копирования  (диск  на  диск)

  или операции сохранения (на диск или на  магнитную  ленту).

  При  использовании  в  операции  сохранения   квалификатора

  /IMAGE, обслуживающая программа BACKUP создает набор сохра-

  нения, который содержит данные, необходимые  для  повторной

  инициализации дискового тома (запись атрибутов,  содержащая

  эту информацию, называется суммирующей записью тома  сохра-

  нения).

       При использовании в операциях копирования или  восста-

  новления квалификатора /IMAGE, выходной том инициализирует-

  ся повторно. Восстановленный том представляет  собой  функ-

  ционально эквивалентную копию  первоначального  тома.  Если

  выходной том  был  уже  инициализирован  как  том  файловой



                           - 276 -

                        00152-01 97 10


  структуры, то для  повторной  инициализации  этого  тома  с

  использованием находящихся на нем параметров  инициализации

  можно применить квалификатор /NOINITIALIZE.

       С командным квалификатором /IMAGE нельзя  использовать

  другие квалификаторы отбора файлов. Сохраняются  все  файлы

  диска, включая резервные и утерянные файлы (файлы, о  кото-

  рых нет записи в каталоге).

       Можно задавать командный квалификатор  /RECORD  в  том

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

  возрастающим, использующим квалификатор /RECORD  дублирова-

  нием.

       Можно  сдублировать  целиком  набор  томов,  для  чего

  используется процедура дублирования  дискового  тома  (под-

  пункт 7.7.2.1). При этом нужно задать  имя  устройства,  на

  котором смонтирован корневой том (том с номером 1).



       7.7.2.1. Дублирование общего диска на диск


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

  принципы копирования содержимого  общего  диска  на  другой

  диск (общий диск - это диск, смонтированный с помощью  ква-

  лификатора /SYSTEM).

       Следует убедиться, что приемный диск имеет достаточный

  об'ем свободного пространства.  Для  того,  чтобы  помешать

  пользователям изменять  любые  данные  на  исходном  диске,

  необходимо заблокировать его по записи. При этом  пользова-

  тели могут считывать с него данные.





                           - 277 -

                        00152-01 97 10


       Копирование общего диска на  другой  диск  выполняется

  следующим образом:

       1) для того, чтобы предупредить пользователей  о  том,

  что при дублировании диск будет размонтироваться и блокиро-

  ваться по записи, необходимо ввести следующую команду:


        $ REPLY/ALL/BELL "текст-сообщения"



       В этом сообщении должно присутствовать  имя  исходного

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

  течении которого он будет заблокирован;

       2) для гарантированного закрытия всех файлов на  диске

  надо использовать команду SHOW DEVICE/FILE. Затем, если это

  необходимо,  следует  разослать  сообщения   пользователям,

  имеющим открытые файлы;

       3) в течении времени,  указанного  в  этом  сообщении,

  надо ввести команду DISMOUNT/NOUNLOAD с тем, чтобы логичес-

  ки размонтировать исходный  диск.  Это  делается  следующим

  образом:


        $ DISMOUNT/NOUNLOAD имя-устройства:



       4) поставить переключатель защиты по записи в  положе-

  ние блокирующее запись на исходный диск. Этот переключатель

  размещен на передней панеле дискового накопителя;

       5) вновь смонтировать исходный диск следующим образом:


        $ MOUNT/SYSTEM имя-устройства: метка-тома





                           - 278 -

                        00152-01 97 10


       6) поставить приемный диск на накопитель и подготовить

  устройство, нажав на клавишу его запуска;

       7) смонтировать приемный диск следующим образом:


        $ MOUNT/FOREIGN имя-устройства



       8) вызвать обслуживающую  программу  BACKUP  следующим

  образом:


        $ BACKUP/IMAGE/VERIFY входное-устройство:-

        _$ выходное-устройство:



       Если от программы BACKUP поступит какое-либо сообщение

  об ошибке, то надо обратиться к документу [16];

       9) размонтировать приемный том следующей командой:


        $ DISMOUNT имя-устройства:



       10) снять приемный том с накопителя и приклеить к нему

  метку с внешней стороны. Эта метка  должна  включать  метку

  тома и текущую дату;

       11) введя  команду  DISMOUNT/NOUNLOAD,  размонтировать

  исходный диск следующим образом:


        $ DISMOUNT/NOUNLOAD имя-устройства:



       12) поставить переключатель защиты по записи в положе-

  ние, разрешающее запись информации на исходный диск;

       13) при помощи  команды  MOUNT  повторно  смонтировать




                           - 279 -

                        00152-01 97 10


  исходный диск:


        $ MOUNT/SYSTEM имя-устройства: метка-тома



       14) сообщить пользователям о том,  что  исходный  диск

  больше не заблокирован по записи, для чего ввести команду:


        $ REPLY/ALL/BELL "текст-сообщения"



       Эта процедура иллюстрируется в примере 1.

       Пример 1.


  $ REPLY/ALL/BELL "DMA2: будет заблокирован по записи на 5

  минут для дублирования."

  _OPA0:,SYSTEM 06:31:29.78

  DMA2: будет заблокирован по записи на 5 минут для дублиро-

  вания

  $ SHOW DEVICE/FILES DMA2:

         .

         .

         .

  $ DISMOUNT/NOUNLOAD DMA2:

  $ MOUNT/SYSTEM DMA2: PUBLIC

  %MOUNT-I-WRITELOCK, VOLUME IS WRITE LOCKED

  %MOUNT-I-MOUNTED, PUBLIC MOUNTED ON _DMA2:

  $ MOUNT/FOREIGN DMA1:

  %MOUNT-I-MOUNTED, PUBLIC MOUNTED ON DMA1:

  $ BACKUP/IMAGE/VERIFY DMA2: DMA1:

  $ DISMOUNT DMA1:



                           - 280 -

                        00152-01 97 10


  $ DISMOUNT/NOUNLOAD DMA2:

  $ MOUNT/SYSTEM DMA2: PUBLIC

  %MOUNT-I-MOUNTED, PUBLIC MOUNTED ON _DMA2:

  $ REPLY/ALL/BELL "DMA2: больше не заблокирован по записи."

  _OPA0:,SYSTEM 06:46:44.23

  DMA2: больше не заблокирован по записи



       Обслуживающую программу BACKUP можно использовать  или

  для копирования файлов на новый диск или для создания набо-

  ра сохранения на новом диске. При создании набора  сохране-

  ния на новом диске необходимо сначала  создать  каталог,  в

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

  выходного  файла   необходимо   использовать   квалификатор

  /SAVE_SET. Созданный каталог  должен  быть  включен  в  имя

  набора сохранения или должен быть подразумеваемым по  умол-

  чанию каталогом.

       Пример 2.


  $ SHOW DEFAULT

  DMA1:[SYSTEM]

  $ BACKUP/IMAGE DMA1: DB4:[BACKUPS]21JANDMA1.BCK/SAVE_SET





       7.7.2.2. Дублирование общего диска на  магнитную

                ленту


       Если в качестве носителя дубля используется  магнитная

  лента, то может оказаться необходимым монтирование дополни-




                           - 281 -

                        00152-01 97 10


  тельных магнитных лент. Их число зависит от размера  сохра-

  няемого диска и от об'ема занятого на диске пространства.

       При дублировании образа на магнитную ленту всегда соз-

  дается набор сохранения, поэтому квалификатор /SAVE_SET  не

  нужен. Для выполнения рассматриваемой  операции  необходимо

  выполнить  действия  (подпункт  7.7.2.1)  для  дублирования

  информации на диск. Однако, если используется новая магнит-

  ная лента, то ее надо инициализировать, включив  квалифика-

  тор /REWIND в команду BACKUP.

       Пример.


        $ BACKUP/IMAGE/VERIFY/REWIND DQA1: MTA0:1июн.BCK





       7.7.2.3. Дублирование набора дисковых томов  при

                ограниченном числе накопителей


       При использовании  обслуживающей  программы  BACKUP  с

  набором томов, необходимо  смонтировать  все  тома  набора.

  Поэтому, если число дисковых накопителей ограничено, то  не

  исключено, что скопировать большой набор томов  непосредст-

  венно на диск будет невозможно. Используя на  один  накопи-

  тель больше, чем число наборов в  томе,  можно  скопировать

  набор томов по одному тому за один раз. При этом применяет-

  ся команда BACKUP/IMAGE/VOLUME. Для  обеспечения  совмести-

  мости наборов надо заблокировать по записи  набор  томов  в

  течении всей процедуры дублирования.






                           - 282 -

                        00152-01 97 10


       Пример.


  (рассылка соответствующих предупреждающих сообщений)

       .

       .

       .

  $ DISMOUNT/NOUNLOAD DQA0:

  $ MOUNT/SYSTEM/NOWRITE DQA0:, DQA1: DQA2: PUBLIC01,-

  _$ PUBLIC02, RUBLIC03

  %MOUNT-I-MOUNTED, PUBLIC01 MOUNTED ON _DQA0:

  %MOUNT-I-MOUNTED, PUBLIC02 MOUNTED ON _DQA1:

  %MOUNT-I-MOUNTED, PUBLIC03 MOUNTED ON _DQA2:

  $ MOUNT/FOREIGN DQA3:

  %MOUNT-I-MOUNTED, SCRATCH01 MOUNTED ON _DQA3:

  $ BACKUP/IMAGE/VOLUME=1 DQA0: DQA3:

  $ DISMOUNT DQA3:

  $ MOUNT/FOREIGN DQA3:

  %MOUNT-I-MOUNTED, SCRATCH02 MOUNTED ON _DQA3:

  $ BACKUP/IMAGE/VOLUME=2 DQA0: DQA3:

  $ DISMOUNT DQA3:

  $ MOUNT/FOREIGN DQA3:

  %MOUNT-I-MOUNTED, SCRATCH03 MOUNTED ON _DQA3:

  $ BACKUP/IMAGE/VOLUME=3 DQA0: DQA3:

  $ DISMOUNT DQA3:

  $ DISMOUNT/NOUNLOAD DQA0:

  $ MOUNT/SYSTEM DQA0:,DQA1:,DQA2:, PUBLIC01, PUBLIC02,-

  _$ PUBLIC03

  %MOUNT-I-MOUNTED, RUBLIC01 MOUNTED ON _DQA0:



                           - 283 -

                        00152-01 97 10


  %MOUNT-I-MOUNTED, RUBLIC02 MOUNTED ON _DQA1:

  %MOUNT-I-MOUNTED, RUBLIC31 MOUNTED ON _DQ20:

          .

          .

          .

  (об'явление о том, что общий диск снова доступен)



       В этом примере оператору необходимо сдублировать трех-

  томный набор. Таким  образом,  требуются  по  крайней  мере

  четыре накопителя.  Оператор  предупреждает  пользователей,

  что для выполнения операции дублирования накопители  DQA0:,

  DQA1:, DQA2: будут заблокированы по записи. Затем  оператор

  вводит  команды  MOUNT  для   томов   PUBLIC01,   PUBLIC02,

  PUBLIC03, которые размещены на накопителях DQA0:,  DQA1:  и

  DQA2:  соответственно,  задавая  блокировку  по  записи   с

  помощью квалифкатора /NOWRITE. Следует  отметить,  что  том

  PUBLIC01 является корневым томом. Помеченный том монтирует-

  ся на накопителе DQA3:, он будет использоваться как  прием-

  ный том. После заполнения тома, размещенного на  накопителе

  DQA3:, он размонтируется  и  монтируется  новый  помеченный

  том. Эта процедура повторяется до тех пор,  пока  не  будут

  скопированы три тома. Затем на накопителе  DQA0:  размонти-

  руется последний  том.  Для  повторного  разрешения  записи

  информации на данный набор томов администратор размонтирует

  том на накопителе DQA0: без квалификатора /NOUNLOAD и опять

  монтирует эти тома без квалификатора /NOWRITE. На последнем

  шаге администратор сообщает пользователям о том, что  набор




                           - 284 -

                        00152-01 97 10


  томов вновь доступен по записи.

       Примечание.  Операции  размонтирования  набора   общих

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

  так далее дожны завершиться успешно. Не следует просто бло-

  кировать по записи смонтированный том, иначе могут  возник-

  нуть ошибки и/или приостанов работы МОС ВП.



       7.7.2.4. Запись  наборов  сохранения   на   тома

                последовательных дисков


       В качестве альтернативы стандартной файловой  структу-

  ре, можно записывать наборы сохранения на  диск  последова-

  тельно, так, как они были бы записаны на  магнитную  ленту.

  Основное преимущество  наборов  томов  с  последовательными

  дисками состоит в том,  что  том  можно  рассматривать  как

  набор сохранения на магнитной ленте. Это позволяет монтиро-

  вать многотомные наборы сохранения по одному тому за раз.

       Для сохранения данных  в  наборе  с  последовательными

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

  содержит имя дискового устройства, имя набора сохранения  и

  квалификатор /SAVE_SET, но не содержит имя каталога.

       Для записи информации в наборы сохранения с последова-

  тельными дисками надо монтировать выходной диск с  квалифи-

  катором /FOREIGN. Однако, в этом случае обслуживающая прог-

  рамма BACKUP работает с данным диском,  используя  файловую

  структуру.

       Тома для наборов сохранения с последовательными диска-

  ми должны быть только инициализированы или должны содержать



                           - 285 -

                        00152-01 97 10


  лишь наборы сохранения. Тома,  которые  использовались  для

  общей обработки файлов, обычно не подходят  для  последова-

  тельных  дисков.  Том  можно  инициализировать,   используя

  команду BACKUP с квалификатором /INITIALIZE.

       Следует  отметить,  что  без  применения  квалфикатора

  /INITIALIZE на выходной том накладываются следующие ограни-

  чения:

       - диск должен быть диском файловой структуры уровня 2;

       - диск не должен быть частью обычного набора  сохране-

         ния файловой структуры;

       - фактор кластера должен равняться 1;

       - свободное пространство на диске должно быть  разбито

         не более чем на 100 смежных экстентов;

       - индексный файл не может быть расширен;

       - главный каталог файлов (MFD) не может быть расширен.


       Пример.

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

  диска, находящегося на накопителе DMA0:, и  для  сохранения

  файла  CONTRACTS.DAT   в   наборе   сохранения   с   именем

  CONTRACTS.BCK можно использовать следующие команды:


         $ MOUNT/FOREIGN DMA0:

         $ BACKUP/LOG CONTRACTS.DAT DMA0:CONTRACTS.BCK -

         _$ /SAVE_SET/INITIALIZE/LABEL=SAVEWORK

         % BACKUP_S_COPIED, COPIED DBA2:[USER]CONTRACTS.DAT;1



       Команда MOUNT/FOREIGN указывает обслуживающей програм-




                           - 286 -

                        00152-01 97 10


  ме BACKUP на то, что запись на  выходной  том  должна  быть

  последовательной.  Квалификатор  SAVE_SET  в   спецификации

  выходного файла команды BACKUP необходим для записи  выход-

  ного файла в формате BACKUP. Квалификатор /INITIALIZE  раз-

  рушает всю ранее созданную структуированную  информацию  на

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

  за этим томом метку SAVEWORK.

       Метка тома, указанная при  инициализации  тома,  будет

  постоянной, то есть она будет  действительна  до  тех  пор,

  пока не будет выполнено одно из следующих действий:

       - изменение метки командой SET VOLUME/LABEL языка DCL;

       - повторная инициализация тома.

       Более подробная информация о команде BACKUP/INITIALIZE

  дана в документе [6]. Более подробная информация о  команде

  SET VOLUME дана в документе [2].


                 Запись многотомных наборов с

                   последовательными дисками


       Многотомный вариант особенно полезен, если  в  системе

  отсутствует ленточный накопитель, но зато  имеется  большой

  нес'емный диск и маленький с'емный. При заполнении последо-

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

  подсказку на то, что нужен другой диск (как это имеет место

  в наборах сохранения с магнитными лентами). Для  сохранения

  или восстановления данных можно использовать  более  одного

  дискового устройства. Это позволяет продолжить обработку на

  другом диске, несмотря на то, что последний  использованный




                           - 287 -

                        00152-01 97 10


  диск остановлен. Следует заметить, что для чтения или запи-

  си в многотомном наборе сохранения с последовательными дис-

  ками необходима привилегия LOG_IO.

       Обслуживающая программа BACKUP обычно  не  инициализи-

  рует первый последовательный том, поскольку подразумеваемым

  по умолчанию квалификатором является /NOINITIALIZE. Однако,

  следующий  том  инициализируется  всегда.  Инициализировать

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

  можно при помощи квалификатора /INITIALIZE.

       Примечание. Набор дисков, записанный обработчиком пос-

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

  вается тесно связанным набором  томов:  в  нем  не  хватает

  некоторых информационных структур, присущих обычным наборам

  сохранения (например, списочного файла набора  сохранения).

  Из-за этих тонких отличий в структурах не  следует  записы-

  вать файлы на том с последовательными дисками так, как если

  бы он был обычным диском файловой  структуры,  иначе  могут

  произойти непонятные ошибки и путаница.  Поскольку  тома  с

  последовательными дисками являются частью набора томов,  то

  обслуживающей программой VERIFY их нельзя обработать  поот-

  дельности.



       7.7.3. Выборочное дублирование


       Для  некоторых  групп  файлов,  требующих  специальной

  обработки, бывает необходимо выборочное дублирование.  Если

  файлы должны дублироваться регулярно,  то  следует  создать

  командную процедуру с нужными командами дублирования. Более



                           - 288 -

                        00152-01 97 10


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

  документе [17].

       Один из способов выполнения  выборочного  дублирования

  заключается в использовании символов обобщения. Для отборов

  файлов по именам, типам или номерам версий можно  использо-

  вать символ звездочку (*). В примере  1  показаны  команды,

  которые отбирают файлы по номеру версии  и  копируют  их  в

  каталог [SAVE], размещенный на  указанном  накопителе  типа

  DM.

       Пример 1.


       $ BACKUP/LOG *.*;3 DMA1:[SAVE]

       %BACKUP-S-CREATED, CREATED DMA1:[SAVE]диаграммы.DAT;3

       %BACKUP-S-CREATED, CREATED DMA1:[SAVE]рисунки.DAT;3

       %BACKUP-S-CREATED, CREATED DMA1:[SAVE]списки.DAT;3

       %BACKUP-S-CREATED, CREATED DMA1:[SAVE]таблицы.DAT;3



       Команды примера 2 копируют  файлы  из  каталога  и  из

  дерева каталогов, размещенных на накопителе DMA0:, во вновь

  созданные каталоги, размещенные на  накопителе  DMA1:.  Все

  файлы каталога [АLЕКS] и его подкаталогов,  размещенных  на

  исходном диске, копируются в каталоги с  теми  же  именами,

  размещенные     на     приемном     томе.      Квалификатор

  /OWNER_UIC=ORIGINAL гарантирует, что выходные  файлы  будут

  иметь коды владельцев входных файлов. Все  файлы  с  именем

  DUNGEON в каталоге [SYSEXE] исходного  диска  копируются  в

  каталог [SYSEXE] приемного тома.





                           - 289 -

                        00152-01 97 10


       Пример 2.


  $ BACKUR DMA0:[АLЕКS...] DMA1:[*...]/OWNER_UIC=ORIGINAL

  $ BACKUP DMA0:[SYSEXE]DUNGEON.*;* DMA1:[SYSEXE]



       Обслуживающая программа  BACKUP  имеет  квалификаторы,

  которые позволяют отбирать файлы в  соответствии  с  такими

  критериями, как код UIC, дата  создания,  срок  действия  и

  модифицирующие  данные.  Например,  используя  квалификатор

  /OWNER_UIC, можно отобрать файлы  в  соответствии  с  кодом

  UIC, как показано в примере 3:

       Пример 3.


  $ BACKUP/LOG [.MEM]/OWNER_UIC=[300,16] $1$DLA2:[USER]

  %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]ASSIGN.LIS;

  %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]BBALL.DIS;19

  %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]BBLEAGUE.FISTATEME

  %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]BRULES.LIS;1

  %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]GYM.MAI;1

  %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]INFO.DAT;2

  %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]MEMO.MAI;1

  %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]NEWS.MAI;1

  %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]TEAM.LIS;19



       В этом примере обрабатываются все файлы, размещенные в

  подкаталоге [.MEM] с кодом UIC [300.16]. При  задании  кода

  UIC  необходимы  квадратные  скобки.   Вводя   квалификатор

  /OWNER_UIC без кода, можно определить код UIC текущего под-




                           - 290 -

                        00152-01 97 10


  разумеваемого по умолчанию процесса.

       Если входные файлы необходимо выбрать в соответствии с

  датой  их  создания,  то  можно  использовать  квалификатор

  /CREATED  с  квалификатором  /BEFORE   или   квалификатором

  /SINCE.  Следующая  команда  копирует  все  файлы  каталога

  [TAMARA], которые были созданы после 3 апреля 1987 года:


       $ BACKUP DMA1:[TAMARA]*/SINCE=03-APR-1987/CPEATED-

       _$ DQA2:[USER.ALEKS]



       Для отбора файлов в соответствии со сроком  их  дейст-

  вия, записанного в заголовке файла, можно использовать ква-

  лификатор /EXPIRED с квалификатором /SINCE или квалификато-

  ром /BEFORE:


  $ BACKUP *.COB;*/BEFORE=20-JUL-1987/EXPIRED MTA0:JUL20SAVE



       Здесь все версии всех файлов текущего подразумеваемого

  по умолчанию каталога, которые имеют тип файла COB  и  срок

  действия до 20 июля 1987 года,  будут  сохранены  в  наборе

  JUL20SAVE.BCK на накопителе MTA0:

       Иногда бывает целесообразно исключить некоторые  файлы

  из операции копирования. Это можно сделать следующим  обра-

  зом:


       $ BACKUP DQA0:[ALEKS...]/EXCLUDE=(*.LOG;*,NOTES.*;*)-

       _$ MTA1:SAVE.BCK







                           - 291 -

                        00152-01 97 10


       Эта команда указывает обслуживающей  программе  BACKUP

  на то, что нужно сохранить все файлы каталога [ALEKS] и его

  подкаталогов, за исключением тех из них, которые имеют  тип

  LOG или имя NOTES, независимо от типа файла и  номера  вер-

  сии. Если с квалификатором /EXCLUDE задается некоторый спи-

  сок, то необходимы скобки.



       7.7.4. Возрастающее дублирование


       Для выполнения возрастающего дублирования используется

  квалификатор /SINCE=BACKUP (в спецификации входного  файла)

  и квалификатор /RECORD (как командный квалификатор). Первый

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

  должна отобрать только те файлы, которые были  созданы  или

  модифицированы   после   выполнения   последней    операции

  BACKUP/RECORD. Второй квалификатор  указывает  на  то,  что

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

  в поле данных дубля каждого заголовка файлов.

       Пример.


  $ BACKUP/RECORD DQ2[*...]/SINCE=BACKUP MTA0:19OCT.BCK



  применять командный квалификатор /RECORD может лишь  владе-

  лец файлов или пользователь, имеющий привилегию SYSPRV.

       Примечание. Если другие пользователи выполняют  дубли-

  рование, применяя командный квалификатор /RECORD, то  дубли

  могут получиться неполными.

       Недостатком возрастающего дублирования является  необ-




                           - 292 -

                        00152-01 97 10


  ходимость в  большом  числе  магнитных  лент  или  дисковых

  томов, содержащих возрастающие наборы сохранения.



       7.7.5. Ежедневное дублирование


       Ежедневное дублирование выполняется в  соответствии  с

  инструкциями, описывающими возрастающее  дублирование  (см.

  п.    7.7.4),    но     иногда     полезен     квалификатор

  /IGNORE=INTERLOCK. Он  заставляет  обслуживающую  программу

  BACKUP копировать файлы даже в том случае, когда они откры-

  ты по записи. Это означает, что можно получить копию  файла

  с неполной структурой. Если этот  квалификатор  не  исполь-

  зуется, то открытые файлы могут генерировать  сообщение  об

  ошибке, они не будут дублироваться. Их копии будут получены

  только при следующем возрастающем дублировании.

       Квалификатор /IGNORE=INTERLOCK  особенно  полезен  для

  всегда открытых  файлов  (которые  без  него  дублироваться

  никогда не будут).

       Пример.


       $ MOUNT/FOREIGN MTA0:

       %MOUNT-I-MOUNTED, INCD5J MOUNTED ON _MTA0:

       $BACKUP/IGNORE=INTERLOCK/RECORD/SINCE=BACKUP-

       _$ PUBLIC:[*...] MTA0:INCD12JUN

       $ DISMOUNT MTA0:



       Следует заметить,  что  для  применения  квалификатора

  /IGNORE=INTERLOCK необходима привилегия SYSPRV или  систем-




                           - 293 -

                        00152-01 97 10


  ный код UIC.



       7.7.6. Еженедельное дублирование


       Еженедельное дублирование выполняется аналогично ежед-

  невному дублированию. Однако с помощью квалификатора /SINCE

  можно определить дату последнего  еженедельного  дублирова-

  ния. Как правило, это прошлая неделя.

       В следующем примере предполагается, что текущей  датой

  является 14 октября 1987 года.

       Пример.


       $ MOUNT/FOREIGN MTA0:

       %MOUNT-I-MOUNTED, INCW7J MOUNTED ON _MTA0:

       $ BACKUP/IGNORE=INTERLOCK/RECORD/SINCE=7-OCT-1987-

       _$ PUBLIC:[*...]MTA0:INCW14OCT

       $ DISMOUNT MTA0:





       7.7.7. Ежемесячное дублирование


       Ежемесячное дублирование дожно быть полным  (всеоб'ем-

  лющем). Поэтому для копирования не только  файлов,  а  всей

  информации, которая необходима для инициализации  тома  или

  набора томов при выполнении операции  восстановления,  сле-

  дует использовать квалификатор /IMAGE.









                           - 294 -

                        00152-01 97 10


       Пример.


       $ MOUNT/FOREIGN MTA0:

       %MOUNT-I-MOUNTED, FULLMA MOUNTED ON _MTA0:

       $ MOUNT/FOREIGN MTA1:

       %MOUNT-I-MOUNTED, FULL02 MOUNTED ON _MTA1:

       $ BACKUP/IMAGE/IGNORE=INTERLOCK/RECORD PUBLIC: -

       _$ MTA0:FULLJUN82.MTA1

       %BACKUP-I-RESUME, RESUMING OPERATION ON VOLUME 2

       %BACKUP-I-RESUME, RESUMING OPERATION ON VOLUME 3

       %BACKUP-I-RESUME, RESUMING OPERATION ON VOLUME 4

            .

            .

            .

       $ DISMOUNT MTA0:

       $ DISMOUNT MTA1:





       7.7.8. Защита носителя BACKUP


       Независимо от того,  где  находится  набор  сохранения

  BACKUP (на диске или на магнитной ленте), файловая структу-

  ра будет обрабатывать его как  единый  файл.  Обслуживающая

  программа BACKUP не проверяет защиту отдельных файлов внут-

  ри набора сохранения, поэтому решающим фактором для  защиты

  файлов системы является защита наборов  сохранения.  Файлам

  таких наборов следует приписать  ограничивающую  защиту.  В

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




                           - 295 -

                        00152-01 97 10


  квалификаторы /OWNER_UIC и  /PROTECTION  в  соответствии  с

  описанием, данным в документе [6]. Надо обеспечить и  физи-

  ческую защиту для  наборов  сохранения,  которые  в  данный

  момент не используются на машине. Например, магнитные ленты

  и последовательные диски целесообразно запирать.

       Если пользователю надо восстановить  конкретный  файл,

  то не следует выдавать ему  том  с  дублем,  поскольку  тем

  самым ему может быть предоставлен  доступ  ко  всем  файлам

  этого тома. Самое безопасное средство восстановления  конк-

  ретного файла заключается в том, чтобы смонтировать  том  и

  восстановить файл при помощи команды следующего типа:


  $ BACKUP MTA0:SAVESET/SELECT=[USER.ALEKS]текст.DAT [*...]-

  _$ /OWNER_UIC=ORIGINAL


  этот файл будет восстановлен в своем первоначальном катало-

  ге, для первоначального владельца и с первоначальной  защи-

  той, что позволяет  файловой  системе  определить,  был  ли

  когда-нибудь разрешен этому пользователю доступ  к  данному

  файлу.



       7.7.9. Использование журнальных файлов BACKUP


       Журнальный файл BACKUP содержит записи операций сохра-

  нения BACKUP и спецификаций файлов, которые были  сохранены

  при выполнении каждой такой операции. Для поиска отдельного

  файла в многотомном  наборе  сохранения  можно  просмотреть

  журнальный файл BACKUP и найти том магнитный ленты,  содер-

  жащий этот файл.



                           - 296 -

                        00152-01 97 10


       Для создания журнального файла BACKUP или для добавле-

  ния к нему информации используется  квалификатор  /JOURNAL.

  Если вместе с ним спецификация файла не указывается, то  по

  умолчанию   именем   журанального   файла   BACKUP    будет

  SYS$DISK:BACKUP.BJL. По умолчанию типом  журнального  файла

  BACKUP будет BJL.

       Если указанный журнальный файл не  существует,  то  он

  создается. Если он уже существует, то к нему присоединяется

  новая журнальная информация. Можно создавать  новую  версию

  журнального файла BACKUP, создав  пустой  файл  при  помощи

  некоторого редактора, например, EDT, или при помощи команды

  CREATE языка DCL.

       Для просмотра журнального  файла  BACKUP  надо  ввести

  команду следующего вида:


       $ BACKUP/LIST/JOURNAL[=спец-файла]


       В этой команде не следует указывать спецификацию вход-

  ного или выходного файлов. Если в квалификаторе /LIST  опу-

  щена спецификация файла, то выходная информация направляет-

  ся в файл SYS$OUTPUT. Если  спецификация  файла  опущена  в

  квалификаторе /JOURNAL, то по умолчанию  используется  жур-

  нальный файл BACKUP.

       В команде BACKUP/JOURNAL/LIST можно использовать  ква-

  лификаторы отбора файлов. Они позволяют найти набор  файлов

  в некотором наборе сохранения точно  так  же,  как  команда

  DIRECTORY позволяет найти набор файлов на диске.  Следующий

  пример воспроизводит все файлы каталога [USER.аLекS], сдуб-




                           - 297 -

                        00152-01 97 10


  лированные после 5 октября 1987 года и перечисленные в жур-

  нальном файле BACKUP по имени текст.BJI:

       Пример 1.


       $ BACKUP/LIST/JOURNAL=текст.BJL/SELECT=[USER.ALEKS]-

       _$ /SINGE=5-OCT-1987


       В примере 2 показаны возможности применения журнально-

  го файла BACKUP:

       Пример 2.


  $ BACKUP/JOURNAL/LOG/IMAGE DLA2: MTA0:3OCT.FUL

          .

          .

          .

        (здесь печатается первый набор)

          .

          .

          .

  $BACKUP-I-RESUME, RESUMING OPERATION ON VOLUME 2

  %BACKUP-I-READWRITE, MOUNT VOLUME 2 ON _MTA0: FOR WRITING

  PRESS RETURN WHEN READY: <ВК>

          .

          .

          .

       (здесь печатается второй набор)

          .

          .

          .



                           - 298 -

                        00152-01 97 10


  $ BACKUP/JOURNAL/LIST

  LISTING OF BACKUP JOURNAL

  JOURNAL FILE _DL2:[SYSMGR]BACKUP.BJL ON 3-OCT-1987

    00:40:56.36

  SAVE SET 3OCT.FUL CREATED ON 3-OCT-1987 00:46:56.36

  VOLUME NUMBER 1, VOLUME LABEL 3OCT01

       [ALEKS]ALPHA.DAT;4

       [ALEKS]EDITNI.EDT;5

       [ALEKS]LOGIN.COM;46

       [ALEKS]LOGIN.COM;45

       [ALEKS]MAIL.MAT;1

       [ALEKS]MAR.DIR;1

       [ALEKS.MAR]GETJPI.EXE;9

       [ALEKS.MAR]GETJPI.LIS;14

          .

          .

          .

       [LENA]LES.MAI;1

          .

          .

          .

  SAVE SET 3OCT.FUL CREATED ON 3-OCT-1987 00:40:56.36

  VOLUME NUMBER 2, VOLUME LABEL 3OCT02

       [LENA]MAIL.MAI;1

       [LENA]MEMO.RNO;5

       [LENA]MEMO.RNO;4

          .




                           - 299 -

                        00152-01 97 10


          .

          .

       [USER.VIR]KD.RNO;52

  END OF BACKUP JOURNAL



       7.7.10. Дублирование консольного носителя


       Описание процедуры дублирования и восстановления  кон-

  сольного носителя дано в разделе 2.



       7.7.11. Дублирование   системного    диска    с

               использованием   автономной   программы

               BACKUP


       Для дублирования  и  восстановления  системного  диска

  следует использовать автономную программу  BACKUP  в  соот-

  ветствии с описанием, данным в разделе 2.



       7.7.12. Восстановление всех дисковых томов


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

  информации из набора сохранения, следующий:


       $ BACKUP спец-набора-сохранения[/SAVE_SET] спец-выхода


       Квалификатор /SAVE_SET используется тогда, когда  спе-

  цификатор набора сохранения ссылается на дисковый том.

       Для восстановления всего дискового тома из набора сох-

  ранения,  созданного  с  помощью  командного  квалификатора

  /IMAGE, необходимо монтировать новый том, применяя  команду



                           - 300 -

                        00152-01 97 10


  MOUNT/FOREIGN языка DCL.  Затем  надо  восстановить  том  с

  помощью команды BACKUP/IMAGE.

       Если набор сохранения создается с применением  команд-

  ного квалификатора /IMAGE, то в этот набор помещаются  дан-

  ные, необходимые для  повторной  инициализации  тома.  Если

  этот командный квалификатор используется для восстановления

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

       Пример 1.


       $ MOUNT/FOREIGN DQA1:

       %MOUNT-I-MOUNTED 24JUND MOUNTED ON _DQA1:

       $ BACKUP/IMAGE MTA0:24JUNDMA1.BCK DQA1:


       Том инициализируется с применением параметров  инициа-

  лизации, записанных в набор сохранения. В новом томе  восс-

  танавливаются все файлы и каталоги набора  сохранения.  Для

  восстановления набора томов в виде образа, необходимо смон-

  тировать все тома этого набора как  чужие.  Кроме  того,  в

  спецификацию выходного файла команды BACKUP  надо  включить

  список устройств, на которых монтируются тома.

       Пример 2.


       $ MOUNT/FOREIGN DQA0:

       %MOUNT-I-MOUNTED, PUBLICO1 MOUNTED ON _DQA0:

       $ MOUNT/FOREIGN DQA1:

       %MOUNT-I-MOUNTED, PUBLICO2 MOUNTED ON _DQA1:

       $MOUNT/FOREIGN DQA2:

       %MOUNT-I-MOUNTED, PUBLICO3 MOUNTED ON _DQA2:

       $ BACKUP/IMAGE MTA0:31JUNPUB DQA0:,DQA1:,DQA2:



                           - 301 -

                        00152-01 97 10




       Тома в наборе томов получают номера в том  порядке,  в

  каком они перечисляются в команде BACKUP. В последнем  при-

  мере устройства DQA0, DQA1, DQA2 становятся томами 1, 2 и 3

  соответственно.


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

                     перед восстановлением


       Если желательно изменить параметры инициализации тома,

  то необходимо выполнить следующие действия:

       1) инициализировать новый том, используя  новые  пара-

  метры инициализации;

       2)  смонтировать  новый  том,  используя  квалификатор

  /FOREIGN;

       3) восстановить том командой BACKUP, используя команд-

  ный квалификатор /NOINITIALIZE.

       В примере 3 размер кластера тома изменяется на 3. Дру-

  гие  параметры  инициализации  тома  принимают  от  команды

  INITIALIZE подразумеваемые по умолчанию значения.

       Пример 3.


  $ ALLOCATE DQA2:

  %DCL-I-ALLOC, _DQA2: ALLOCATED

  $ INITIALIZE/CLUSTEP_SIZE=3 DQA2: тест-прог

  $ MOUNT/FOREIGN DQA2:

  %MOUNT-I-MOUNTED, тест-прог MOUNTED ON _DQA2:

  $ BACKUP/IMAGE/NOINITIALIZE/TRUNCATE MTA0:1JUN.BCK DQA2:





                           - 302 -

                        00152-01 97 10


       Единственным  неизменяемым  параметром   инициализации

  является уровень структуры тома. Если, как в последнем при-

  мере, изменяется фактор кластера, то с  практической  точки

  зрения в команду BACKUP целесообразно включить квалификатор

  /TRUNCATE.



       7.7.13. Восстановление  тома  из   возрастающих

               дублей


       Если на некотором томе  создана  комбинация  полных  и

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

  дублей (в случае утери на нем информации) необходимо выпол-

  нить следующую процедуру.

       Сначала надо восстановить том из его последнего полно-

  го дубля, используя операцию восстановления образа в  соот-

  ветствии с примером 1 (квалификатор /RECORD  необходим  для

  корректности операции этой процедуры).

       Пример 1.


        $ MOUNT/FOREIGN DQA0:

        %MOUNT-I-MOUNTED, SCRATCH MOUNTED ON _DQA0:

        $ MOUNT/FOREIGN MTA0:

        %MOUNT-I-MOUNTED, FULLMA MOUNTED, INCD16

          MOUNTED ON _MTA0:

        $ MOUNT/FOREIGN MTA1:

        %MOUNT-I-MOUNTED, FULLO2 MOUNTED ON _MTA1:

        $ BACKUP/IMAGE/RECORD MTA0:FULLJUN84.MTA1 DQA0:

        %BACKUP-I-RESUME, RESUMING OPERATION ON VOLUME 2




                           - 303 -

                        00152-01 97 10


        %BACKUP-I-RESUME, RESUMING OPERATION ON VOLUME 3

        %BACKUP-I-RESUME, RESUMING OPERATION ON VOLUME 4

            .

            .

            .

        $ DISMOUNT MTA0:

        $ DISMOUNT MTA1:

        $ DISMOUNT/NOUNLOAD DQA0:


       Теперь      надо      смонтировать      диск       как

  файло-структуированный том и использовать возрастающие дуб-

  ли в обратном хронологическом  порядке.  Начать  следует  с

  последнего  ежедневного  дубля,  затем  использовать  дубль

  предшествующего дня и в конце концов - еженедельный дубль.

       Пример 2.


        $ MOUNT DQA0: PUBLIC

        %MOUNT-I-MOUNTED, PUBLIC MOUNTED ON _DQA0:

        $ MOUNT/FOREIGN MTA0:INCD17

        %MOUNT-I-MOUNTED, INCD17 MOUNTED ON _MTA0:

        $ BACKUP/INCREMENTAL MTA0: IND16JUN DQA0:

        $ DISMOUNT MTA0:

            .

            .

            .

        $ MOUNT/FOREIGN MTA0: INCD16

        %MOUNT-I-MOUNTED ON MTA0:

        $ BACKUP/INCREMENTAL MTA0: INCD16JUN DQA0:




                           - 304 -

                        00152-01 97 10


        $ DISMOUNT MTA0:

           .

           .

           .

        $ MOUNT/FOREIGN MTA0: INCD15

        %MOUNT-I-MOUNTED, INCD15 MOUNTED ON  MTA0:

        $ BACKUP/INCREMENTAL MTA0:INCD15JUN DQA0:

        $ DISMOUNT MTA0:

           .

           .

           .

        $ MOUNT/FOREIGN MTA0: INCW14

        %MOUNT-I-MOUNTED, INCW14 MOUNTED ON MTA0:

        $ BACKUP/INCREMENTAL MTA0:INCW14JUN DQA0:

        $ DISMOUNT MTA0:

           .

           .

           .

        $ MOUNT/FOREIGN MTA0: INCW7J

        %MOUNT-I-MOUNTED, INCW7J MOUNTED ON _MTA0:

        $ BACKUP/INCREMENTAL MTA0:INCW7JUN DQA0:

        $ DISMOUNT MTA0:


       В примере 2 применение самого последнего возрастающего

  дубля и использование квалификатора /INCREMENTAL приводит к

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

  во время создания дубля. Кроме того, восстанавливаются  все

  файлы  возрастающего  набора  сохранения.  Файлы,   которые



                           - 305 -

                        00152-01 97 10


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

  ния, но которых нет в каталогах возрастающего  дубля,  уда-

  ляются (эти файлы были удалены пользователями за время меж-

  ду полным дублированием и последним возрастающим дублирова-

  нием).

       При применении самых ранних возрастающих дублей,  обс-

  луживающая программа BACKUP восстанавливает остающиеся фай-

  лы, которые имеют записи о каталогах тома.  Это  те  файлы,

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

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

  лись при получении последнего возрастающего дубля.

       Примечание. Обслуживающая программа BACKUP восстановит

  том корректно, независимо от порядка, в котором применяются

  возрастающие дубли, но наиболее эффективен обратный  хроно-

  логический порядок.

       Квалификаторы /RECORD и /INCREMENTAL должны  использо-

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

  операция будет корректной.

       Если решено выборочно исключить некоторые  файлы  воз-

  растающих дублей, например, файлы листингов или регистрации

  пакетов, то эти файлы не будут восстановлены, но они  будут

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

  исправляющий  прогон  с  помощью  обслуживающей   программы

  VERIFY, можно  прочистить  записи  о  "нулевых"  каталогах.

  Более  подробная  информация  об  обслуживающей   программе

  VERIFY дана в документе [18].

       Следует  заметить,  что,  если  файлы  каталогов  были




                           - 306 -

                        00152-01 97 10


  переименованы за отрезок  времени,  охватывающий  получение

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

  появятся и под старым и под новым именем. Файлы, записанные

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

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

  старым именем. Старые и  новые  каталоги  необходимо  слить

  вручную.



       7.7.14. Восстановление файлов и каталогов


       Используя команду BACKUP/LIST/JOURNAL  для  нахождения

  тома, содержащего некоторый отдельный файл, можно восстано-

  вить этот файл. Затем можно смонтировать том и использовать

  команду BACKUP для отбора и восстановления желательных фай-

  лов. Если в многотомном наборе сохранения этот том не  пер-

  вый, то будет получено следующее предупреждающее сообщение:


  %BACKUP-W-NOT1STVOL, TAPE 'имя' IS NOT THE START OF A SAVE

  SET



       7.7.14.1. Листинг содержимого  набора  сохранения

                 BACKUP


       Для получения листинга  файлов  набора  сохранения  на

  терминале или в заданном выходном файле  следует  использо-

  вать командный квалификатор /LIST. Обслуживающая  программа

  BACKUP  может  воспроизводить  информацию  одновременно   с

  выполнением любой другой своей операции или отдельно.





                           - 307 -

                        00152-01 97 10


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

  набора сохранения:


       $ BACKUP/LIST 2MAR1987.BCK/SAVE_SET


       Для выдачи той же информации в файл по имени  INFO.LIS

  следует ввести следующую команду:


       $ BACKUP/LIST=INFO.LIS 2MAR1987.BCK/SAVE_SET


       Если имя набора сохранения  на  томе  магнитной  ленты

  пользователю неизвестно, то устройство можно не  указывать.

  Следует, однако, заметить, что после этого  команда  BACKUP

  выдает листинг так, как это было бы при операции восстанов-

  ления с одной спецификацией устройства: считывается  первый

  набор сохранения, встречающийся на магнитной ленте, и, пос-

  ле достижения конца этого набора, обработка  останавливает-

  ся. Команда BACKUP автоматически не перематывает  ленту  до

  тех пор, пока не встретится метка конца ленты EOT (если  не

  был задан квалификатор /REWIND). Поэтому  можно  продолжать

  операцию со следующим набором сохранения (если  он  сущест-

  вует) повторением этой команды.

       Путем включения звездочки (*) в спецификацию устройст-

  ва, можно заставить обслуживающую программу BACKUP перечис-

  лить все наборы сохранения (в том числе имена файлов) тома.

       Пример 1.


       $ BACKUP/LIST MTA0:*


       Если нужно перечислить лишь имена  наборов  сохранения




                           - 308 -

                        00152-01 97 10


  некоторого тома без имен содержащихся в нем файлов, то мож-

  но смонтировать  том  магнитной  ленты,  как  том  файловой

  структуры, а затем ввести команду DIRECTORY.

       Пример 2.


  $ MOUNT MTA0: SAVEWORK TAPE

  %MOUNT-I-MOUNTED, SAVEWORK MOUNTED OT _MTA0:

  $ DIRECTORY/SIZE/DATE/PROTECTION TAPE:

    DIRECTIRY MTA0:[]

  CONTRACTS.BCK;1     5  13-JUN-1987 12:11  (RWED,RWED,RE,)

  JUL20SAVE.BCK;1     3  20-JUL-1987 23:59  (RWED,RWED,RE,)

  MYRHILE.BCK;1       2  28-SEP-1987 12:00  (RWED,RWED,RE,)

  TOTAL OF 3 FILES, 10 BLOCKS



       7.7.14.2. Восстановление   дисковых   файлов   из

                 наборов  сохранения,  содержащихся   на

                 магнитной ленте


       Восстановить все файлы  набора  сохранения  в  текущий

  подразумеваемый по умолчанию каталог можно командой следую-

  щего типа:


       $ BACKUP TAPE:NOV12SAVE.BCK []


       Следующая команда восстанавливает файлы в дерево  под-

  каталогов:


       $ BACKUP TAPE:NOV12SAVE.BCK [LYKINS...]


       Если необходимо восстановить конкретный файл из  неко-




                           - 309 -

                        00152-01 97 10


  торого набора сохранения, то можно использовать  квалифика-

  тор /SELECT.

       Пример.


  $ MOUNT/FOREIGN MTA0:

  %MOUNT-I-MOUNTED, NOV25A MOUNTED ON _MTA0:

  $ BACKUP

  _FROM: MTA:NOV2SAVE.BCK/SELECT=[LUKINS.текст]STRAT1.DAT;5

  _TO:   STRAT1.DAT;5

  $ DIRECTORY STRAT1:DAT

  DIRECTORY [LUKINS.текст]

  STRAT1.DAT;5

  TOTAL OF 1 FILE


       В   этом   примере   файл    STRAT1.DAT    подкаталога

  [LUKINS.текст] был случайно удален. До  этого  пользователь

  сдублировал данный файл в наборе сохранения NOV2SAVE.BCK  и

  теперь, используя квалификатор /SELECT, восстанавливает его

  в первоначальный каталог.

       Если для входной магнитной ленты опустить  имя  набора

  сохранения, то  обслуживающая  программа  BACKUP  считывает

  первый встреченный ею на этой магнитной ленте набор  сохра-

  нения и прекращает обработку, когда достигнет  конца  этого

  набора. Поскольку обслуживающая программа BACKUP  автомати-

  чески не перематывает ленту, пока не достигнет ее конца, то

  повторив команду BACKUP, можно продолжать работу со следую-

  щим набором сохранения (если он существует). Альтернативный

  вариант состоит в  том,  чтобы  в  спецификацию  устройства




                           - 310 -

                        00152-01 97 10


  включить звездочку (*), которая заставит  программу  BACKUP

  считывать все наборы сохранения, содержащиеся на томе  маг-

  нитной ленты.



       7.7.14.3. Восстановление   дисковых   файлов   из

                 наборов  сохранения,  содержащихся   на

                 последовательных дисках


       Читать набор  сохранения  из  последовательных  дисков

  можно или последовательно, или как обычный набор сохранения

  файловой структуры.

       Если решено считать набор сохранения  последовательно,

  то можно смонтировать один том за раз (как это делалось при

  создании набора  сохранения  на  последовательных  дисках).

  Подразумеваемым по  умолчанию  каталогом  для  спецификации

  файла набора сохранения является каталог [000000],  который

  представляет собой главный каталог файлов на диске. Поэтому

  включать этот каталог в спецификацию файла не надо.

       Пример.


       $ MOUNT/FOREIGN DMA0:

       $ BACKUP/LOG DMA0:аLекS.BCK/SAVE_SET аLекS.DAT

       %BACKUP-S-CREATED, CREATED DQA2:[USER]CONTRACTS.DAT;1


       Поскольку  том  монтируется  как  чужой,  то   команда

  DIRECTORY языка DCL  будет  давать  ошибку  и  генерировать

  соответствующее сообщение. Однако  обслуживающая  программа

  BACKUP распознает  этот  формат  и  ищет  набор  сохранения

  ALEKS.BCK в главном каталоге файлов (MFD). В любой операции



                           - 311 -

                        00152-01 97 10


  восстановления с диска неоходим квалификатор SAVE_SET.

       Набор сохранения можно читать и другим  способом,  как

  обычный том файловой структуры:


  $ MOUNT DMA0: SAVEWORK

  $ BACKUP/LOG DMA0:[000000]ALEKS.BCK/SAVE_SET ALEKS.DAT

  %BACKUP-S-CREATED, CREATED DQA2:[USER]ALEKS.DAT;1


       Подразумеваемым по умолчанию каталогом является подра-

  зумеваемый по умолчанию каталог процесса данного  пользова-

  теля, поэтому необходимо  задавать  каталог  [000000].  Для

  восстановления файла к его первоначальной структуре необхо-

  дим квалификатор /SAVE_SET. Без него набор сохранения будет

  просто копироваться.

       Файлы набора сохранения, считанные на диск  с  помощью

  файловой системы, также могут быть считаны последовательно.

  Такой режим выполнения операции полезен  при  использовании

  автономной программы BACKUP. Необходимо задать каталог,  из

  которого должен считываться набор сохранения. Если  он  был

  считан на набор томов с  использованием  дисковой  файловой

  структуры, то необходимо соблюдать следующие правила:

       - все тома в наборе томов должны быть  смонтированы  с

         квалификатором /FOREIGN (при использовании  автоном-

         ной программы BACKUP тома монтируются неявно);

       - при задании томов  в  спецификации  входного  файла,

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

         относительных номеров томов, смонтированных на  этих

         устройствах. Пусть, например, тома с именами  USER01




                           - 312 -

                        00152-01 97 10


         и USER02 некоторого набора томов монтируются на двух

         накопителях DMA3 и DMA5, тогда  спецификатор  набора

         сохранения для этого набора томов должен иметь  сле-

         дующий формат:


  DMA3:[каталог]имя-набора-сохранения.тип;версия, DMA5:



       7.7.14.4. Восстановление   дисковых   файлов   из

                 наборов сохранения на множество томов


       Если набор  сохранения  содержит  несколько  магнитных

  лент или несколько последовательных дисковых томов, то мож-

  но начать операции восстановления без монтирования  первого

  тома набора сохранения. Однако при использовании квалифика-

  тора /IMAGE обработка должна  начинаться  с  первого  тома.

  Если смонтированная лента не является первым томом в наборе

  сохранения, то пользователь получит предупреждающее сообще-

  ние:


  %BACKUP-W-NOT1STVOL, TAPE 'имя' IS NOT THE START

   OF A SAVE SET



       Если из больщого набора  сохранения  восстанавливается

  небольшое число файлов, то полезно использовать  квалифика-

  тор /LOG. Он позволяет воспроизводить имена файлов по  мере

  их восстановления. Программа BACKUP будет продолжать  обра-

  ботку до тех пор, пока не достигнет конца  набора  сохране-

  ния. После восстановления необходимых файлов, можно  нажать

  клавиши УС/Y и тем самым завершить обработку.



                           - 313 -

                        00152-01 97 10


       7.8. Управление дисковым пространством


       Пользовательские файлы имеют свойство увеличиваться до

  тех пор, пока не превысят об'ема дисковой памяти. Для борь-

  бы с этим можно:

       - устанавливать сроки действия файлов;

       - задавать дисковые квоты.



       7.8.1. Установка сроков действия файлов


       Сроки действия файлов могут приписываться любым файлам

  файловой структуры уровня 2 для отслеживания  интенсивности

  их использования. Такие сроки помогают избавиться от  редко

  используемых файлов.

       Для  установки  сроков  действия  файлов  используется

  команда SET VOLUME языка DCL:


       $ SET VOLUME имя-устройства:/RETENTION=(MIN,MAX)



       Для значений MIN и MAX задается минимальный  и  макси-

  мальный интервал хранения файлов на  томе,  причем  в  виде

  значения дельта-времени. Например, следующая команда  уста-

  навливает минимальный интервал хранения равным  15  дням  и

  максимальный - 20 дням:


       $ SET VOLUME DQA0:/RETENTION=(15-0:0,20-0:0)



       Эти интервалы хранения  действуют  следующим  образом:

  каждый раз когда пользователь обращается к файлу по  чтению




                           - 314 -

                        00152-01 97 10


  или записи, а срок действия файла более ранний, чем текущая

  дата плюс минимальный интервал хранения, то  срок  действия

  файла изменяется на текущую дату плюс максимальный интервал

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

  часто обращаются, изменяется между минимальным и максималь-

  ным интервалом  плюс  текущая  дата.  Разница  между  двумя

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

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

       Если в команде SET  VOLUME/RETENTION  задается  только

  одно значение, то оно будет минимальным  интервалом  хране-

  ния. Максимальный интервал хранения станет равным удвоенно-

  му минимальному, или минимальному плюс 7 дней, в зависимос-

  ти от того, что из них меньше.

       Можно иммитировать обслуживание "дат  доступа",  имею-

  щихся в некоторых других операционных системах, если  уста-

  навливать интервалы хранения  очень  маленькими  (например,

  один час). Следует, однако, заметить, что при частом обнов-

  лении сроков действия файлов будут  существенно  возрастать

  накладные расходы файловой системы.

       Установка интервалов хранения не приводит к  автомати-

  ческому удалению не используемых файлов, а  лишь  поддержи-

  вает сроки действия файлов, позволяя пользователю проводить

  собственный план обработки тех  файлов,  к  которым  он  не

  обращается или обращается редко. Например, следующая коман-

  да BACKUP будет копировать на ленту, и затем удалять файлы,

  срок действия которых истек:






                           - 315 -

                        00152-01 97 10


  $ BACKUP/DELETE диск1[*...]/BEFORE=TODAY/EXPIRED MTA0:ARCH2



       Примечание. Если сроки  действия  файлов  введены  для

  тома, на котором уже есть файлы, то для существующих файлов

  они равны нулю до тех пор, пока  к  этим  файлам  не  будет

  обращения. Файлы с нулевым сроком действия  рассматриваются

  как недействительные.



       7.8.2. Установка дисковых квот


       Введение файлов  квот  на  общих  томах  (или  наборах

  томов) позволяет ограничивать об'ем  пространства,  предос-

  тавляемого на них отдельным пользователям.  Кроме  того,  с

  помощью  квот  любое  лицо  имеет  возможность   ограничить

  использование личного тома.  Каждый  том  или  набор  томов

  может иметь собственный файл квот. Том, на котором не  под-

  держиваются квоты, не имеет файла квот.  Файл  квот  набора

  томов содержится на томе 1. Каждая запись файла квот  вклю-

  чает следующую информацию об одном пользователе:

       - код UIC, он предоставляет пользователю право хранить

         файлы на данном томе;

       - счетчик занятости, это число блоков тома, занимаемых

         файлами пользователей;

       - квота, это максимальное число блоков  тома,  которые

         могут быть заняты пользовательскими  файлами  прежде

         чем пользователю будет выдано сообщение об ошибке;

       - кредит, это число блоков сверх квоты, которые  могут

         быть заняты пользовательскими файлами.



                           - 316 -

                        00152-01 97 10


       Максимальное число блоков, выделяемых пользователю  на

  томе, равно сумме квоты и кредита.

       Системный администратор или пользователь, сопровождаю-

  щий том, определяет квоты, коды UIC  и  кредиты  с  помощью

  обслуживающей программы DISK QUOTA [10]. Счетчик  занятости

  отслеживается системой во время обычных действий с файлами.

       Спецификации файла квот является [000000]QUOTA.SYS  на

  используемом томе. Для файла квот необходим один блок  дис-

  ковой памяти на каждые 16 записей.

       Файл квот инициализируется с записью [0,0]  кода  UIC.

  Счетчик занятости для этого кода UIC не меняется  (остается

  нулевым) - код UIC не владеет файлами. Однако, в  некоторых

  ситуациях квота и кредит служат в качестве  подразумеваемых

  по умолчанию величин, поэтому им должны присваиваться  зна-

  чения, которые с наибольшей вероятностью будут приписывать-

  ся квотам и кредитам других кодов UIC.



       7.8.2.1. Действия с дисковыми квотами


       При обычном использовании тома с файлом квот,  МОС  ВП

  автоматически корректирует счетчики занятости по мере того,

  как пользователи создают, удаляют,  расширяют  и  уменьшают

  файлы. Пользователи, не имеющие записей в  файле  квот,  не

  могут создавать файлы или захватывать пространство на томе,

  если только они не обладают привилегией EXQUOTA.









                           - 317 -

                        00152-01 97 10



                       Превышение квоты


       Новый файл можно создать в том случае,  когда  счетчик

  занятости меньше квоты. Если при выполнении операции добав-

  ления нового файла или расширения  текущего  файла  счетчик

  занятости превысит квоту, то система отменит эту операцию и

  выдаст сообщение об ошибке.

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

  файла, открытого по записи,  то  пользователь,  превысивший

  квоту, может выполнить эту операцию, повторив соответствую-

  щее действие.  Операции  расширения  файлов  будут  успешно

  выполняться до тех пор, пока счетчик использования не  пре-

  высит сумму квоты и кредита. После этого  система  повторно

  выдаст сообщение об ошибке и запретит дальнейшее расширение

  файлов.

       Ограничение по квоте не воздействует на пользователей,

  имеющих привилегию EXQUOTA. Но счетчики занятости для таких

  пользователей ведутся.


                        Приостанов квот


       Команда DISABLE  обслуживающей  программы  DISK  QUOTA

  приостанавливает действия  квот  на  томе,  команда  ENABLE

  отменяет такую приостановку. Кроме того, определяя квалифи-

  катор /NOQUOTA в команде MOUNT языка DCL, можно  приостано-

  вить действия квот на томе во время его монтирования.  Сле-

  дует отметить ,  что  после  приостановки  и  возобновления

  действия квот на томе, значение счетчика занятости возможно




                           - 318 -

                        00152-01 97 10


  будет неверным. Его надо скорректировать при помощи команды

  REBUILD облуживающей программы DISK QUOTA [10] или обслужи-

  вающей программы VERIFY [18].

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

  команду DISABLE,  выйти  из  обслуживающей  программы  DISK

  QUOTA и удалить файл QUOTA.SYS.


           Обеспечение точности файла квот с помощью

            операции REBUILD во время монтировании


       При монтировании тома, который перед этим не был  над-

  лежащим образом размонтирован, МОС ВП автоматически  выпол-

  няет операцию REBUILD. Если на этом томе  квоты  действуют,

  то такая операция гарантирует, что файл квот точно отражает

  использование диска при любом из следующих обстоятельств:

       - произошел сбой МОС ВП;

       - том физически снят с накопителя без размонтирования;

       - на устройстве нажата кнопка защиты по записи.



       7.8.2.2. Ограничения   на    другие    системные

                операции


       Независимо от того, используются или нет дисковые кво-

  ты, на системные операции накладываются следующие ограниче-

  ния:

       - поскольку изменение владельца файла приводит к  пот-

         реблению ресурсов другого пользователя, то для изме-

         нения кода UIC владельца файла необходима привилегия

         SYSPRV;



                           - 319 -

                        00152-01 97 10


       - относительный том 1 из набора томов должен быть  все

         время в неавтономном режиме.






















































                           - 320 -

                        00152-01 97 10


       8. Установка образов в качесте известных образов




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

  можно улучшить, если  при  помощи  обслуживающей  программы

  INSTALL установить их как известные образы [3].

       Мос  вп  определяет  известные  образы  во  внутренней

  структуре данных, называемой списком известных файлов. Каж-

  дый  список  известных  файлов  содержит  записи  для  всех

  известных образов, у которых идентичны устройство,  каталог

  и тип файла. Например, все известные образы, содержащиеся в

  файлах DISK$VOLUME:[учет]имя-файла.EXE будут  находиться  в

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

  содержащиеся в файлах DISK$VOLUME[тест]имя-файла.EXE, будут

  находиться в другом списке известных файлов.

       Списки известных файлов сохраняются только при  работе

  МОС ВП. Если по некоторой причине МОС  ВП  отключается  или

  отказывает, то после ее перезагрузки системный  администра-

  тор должен повторно установить все известные образы. Поэто-

  му командная процедура запуска,  не  учитывающая  специфику

  вычислительной  системы,  SYS$SYSTEM:STARTUP.COM,  содержит

  ряд команд INSTALL, которые устанавливают некоторые систем-

  ные программы как известные образы.

  Целесообразно включить в командную процедуру запуска, учиты

  вычислительной системы, SYS$MANAGER:SYSTARTUP.COM (см. разд

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

       - часто выполняются;

       - обычно используются одновременно несколькими процес-



                           - 321 -

                        00152-01 97 10


         сами;

       - требуют специальных привилегий.



       8.1. Приписывание    атрибутов     известным

            образам


       При помощи  соответствующих  квалификаторов  программы

  INSTALL, известным образам можно приписать следующие  атри-

  буты:

       1) постоянно открытый.  Информация  о  каталоге  файла

  такого образа постоянно резидентна, это  исключает  обычный

  поиск каталога, необходимый для определения  местоположения

  файла. Расходы на поддержание файла образа постоянно откры-

  тым составляют примерно одну страницу нестраничной  динами-

  ческой памяти на файл;

       2) резидентный заголовок. Заголовок файла такого обра-

  за (только для образов основного режима) постоянно резиден-

  тен, это экономит одну дисковую  операцию  ввода-вывода  на

  каждое обращение к файлу. Для образов, у которых  заголовки

  файлов состоят  из  единственного  блока,  эффект  экономии

  будет меньше, чем  одна  страница  страничной  динамической

  памяти на файл. Для образов с множеством заголовков  эффект

  экономии меняется в зависимости от числа блоков в  заголов-

  ке. Эти образы должны также об'являться постоянно  открыты-

  ми;

       3) привилегированный.  Любому  процессу,  выполняющему

  такой образ (если он не системный и не разделяемый), припи-

  сываются на время выполнения привилегии, превышающие приви-



                           - 322 -

                        00152-01 97 10


  легии этого процесса. Тем самым,  пользователи  с  обычными

  привилегиями могут выполнять программы, которым  необходимы

  привилегии, превышающие нормальные;

       4) защищенный. Разделяемый образ  содержит  защищенный

  код, то есть код, который работает в режиме ядра или управ-

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

  уровня. Защищенные образы должны об'являться разделяемыми;

       5) разделяемый. Несколько  пользователей  могут  обра-

  щаться к секциям  такого  образа,  используя  типы  доступа

  только на чтение или на чтение/запись без копии по  ссылке.

  При этом в физической памяти нужна лишь  одна  копия  таких

  секций (копируемые по ссылке секции всегда требуют  отдель-

  ной копии для каждого процесса). Такой образ  также  должен

  об'являться постоянно открытым;

       6) записываемый. Когда разделяемая  не  копируемая  по

  ссылке, доступная по записи секция удаляется из  физической

  памяти (при обмене страниц или при отсутствии  запросов  на

  секцию со стороны процессов), она  записывается  обратно  в

  файл образа. Поэтому  сохраняются  все  изменения,  которые

  сделаны процессами, отображенными в такую секцию (хотя пер-

  воначальные значения теряются). Образ также  должен  об'яв-

  ляться разделяемым.














                           - 323 -

                        00152-01 97 10


       8.2. Установка   образов   с    разделяемыми

            атрибутами


       Прежде чем установить образ с  разделяемым  атрибутом,

  используя  квалификатор  /SHARED  обслуживающей   программы

  INSTALL, необходимо понять различия между выполнимым и раз-

  деляемым образами:

       1) выполнимый образ  -  это  образ,  скомпонованный  с

  помощью квалификатора  /EXECUTABLE  или  без  квалификатора

  /SHAREABLE компоновщика МОС ВП [19];

       2) разделяемый образ -  это  образ,  скомпонованный  с

  помощью квалификатора /SHAREABLE компоновщика МОС  ВП.  Для

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

  использовать, он должен быть затем скомпонован в выполнимый

  образ (разделяемые образы иногда называются доступными  для

  компоновки образами, поскольку их можно определить  -  явно

  или неявно - как входные файлы для компоновки  других  фай-

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

  нованные с ним образы. Таким образом на  диске  нужна  лишь

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

  выполнимых образов скомпоновано с ним.

       Когда образ не устанавливается или устанавливается без

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

  щего этот образ, необходимы отдельные секции памяти.  (раз-

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

  жен устанавливаться для  выполнения.  Во  время  выполнения

  такого образа МОС ВП будет создавать для разделяемого обра-

  за отдельные секции. Единственное исключение состоит в том,



                           - 324 -

                        00152-01 97 10


  что разделяемый образ, содержащий доступную по  записи,  не

  копируемую по ссылке  секцию,  должен  устанавливаться  как

  известный образ с атрибутами разделяемости и  записываемос-

  ти).

       При установке образа с атрибутом  разделяемости,  соз-

  даются постоянные, системные, глобальные секции. Выполнение

  кода не копируемых по ссылке,  глобальных  секций  требует,

  чтобы в физической памяти находилась лишь одна  копия  сек-

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

  к которому принадлежат эти секции.

       Число образов, которые могут устанавливаться с  квали-

  фикатором  /SHARED,   ограничено   системными   параметрами

  GBLPAGES и GBLSECTIONS [5].



       8.3. Установка образов с привилегиями


       Мос вп обеспечивает выполнение образов с  расширенными

  привилегиями при помощи двух механизмов:

       1) можно установить существующие выполнимые  образы  с

  очень большими привилегиями так, чтобы позволить непривиле-

  гированному процессу  выполнять  привилегированные  функции

  образа;

       2)  можно  установить  привилегированные   разделяемые

  образы. Такие образы используются для реализации  созданных

  пользователями системных  программ  обслуживания,  позволяя

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

  части привилегированного кода (причем без расширения приви-

  легий каждого образа, который использует  привилегированную



                           - 325 -

                        00152-01 97 10


  часть кода).



       8.3.1. Привилегированные выполнимые образы


       Установка выполнимых образов с  расширенными  привиле-

  гиями осуществляется с  помощью  квалификатора  /PRIVILEGED

  обслуживающей программы INSTALL. С расширенными привилегия-

  ми должны устанавливаться только те образы, которые  компо-

  нуются с помощью квалификаторов /NODEBUG и /NOTRACE  компо-

  новщика МОС ВП. Установка  других  образов  с  расширенными

  привилегиями может нарушить защиту МОС ВП.



       8.3.2. Привилегированные разделяемые образы


       Мос вп поддерживает созданные пользователями системные

  программы обслуживания  с  помощью  механизма,  называемого

  привилегированными  разделяемыми  образами.  Такие   образы

  необходимо компоновать с помощью  командного  квалификатора

  /PROTECT или позиционного квалификатора /OPTIONS  компонов-

  щика МОС ВП так, чтобы образ получил конкретный вид  расши-

  ренных привилегий:

       - командный квалификатор /PROTECT используется  в  том

         случае, когда  защита  необходима  для  всех  частей

         образа;

       - позиционный квалификатор /OPTIONS используется в том

         случае, когда защита нужна одной части  привилегиро-

         ванного разделяемого образа.

       Затем привилегированный разделяемый  образ  устанавли-




                           - 326 -

                        00152-01 97 10


  вается с помощью обслуживающей программы INSTALL, в которой

  задаются оба квалификатора /PROTECTED  и  /SHAREABLE.  Если

  все указанные операции не выполнены, то это помешает успеш-

  ной активизации привилегированного разделяемого образа.



       8.4. Удаление    известных     образов     и

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


       На работу МОС  ВП  влияют  две  особенности  известных

  образов:

       1) известный образ не может быть удален  до  тех  пор,

  пока  не  будет  применен  квалификатор  /DELETE.  Удаление

  происходит только после того, как все процессы,  использую-

  щие этот образ, не освободят его;

       2) том нельзя размонтировать  до  тех  пор,  пока  все

  списки известных образов, связанных с томом, содержат запи-

  си.

       После этого для  размонтирования  тома  необходимо  не

  только удалить все связанные с ним образы, но  и  дождаться

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

  не освободят их, а МОС ВП не перепишет доступные по  записи

  образы обратно в их файлы. Для опеределения статуса  файлов

  можно использовать команду SHOW DEVICE языка DCL.



       8.5. Определение логических имен для  файлов

            разделяемых образов


       Во время выполнения разделяемый образ должен быть раз-




                           - 327 -

                        00152-01 97 10


  мещен в каталоге  SYS$SHARE,  который  обычно  эквивалентен

  каталогу SYS$LIBRARY. Другой вариант заключается в  опреде-

  лении некоторого  логического  имени  для  соответствующего

  файла. Логическое имя должно быть именем, которое использо-

  валось в качестве спецификации входного файла  разделяемого

  образа во время его компоновки. Эквивалентная строка предс-

  тавляет собой текущую спецификацию  файла.  То  есть,  если

  разделяемый образ,  вызванный  программой  STATSHR.EXE,  не

  размещен в каталоге SYS$SHARE, то перед запуском выполнимо-

  го образа, который вызывает программу  STATSHR,  необходимо

  определить логическое имя STATSHR.

       Пример 1.


       $ DEFINE STATSHR SYS$SYSDEVICE:[TEST]STATSHR



  подразумеваемым по умолчанию типом файла является EXE. Если

  спецификация   файла    для    программы    STATSHR    была

  SYS$SHARE:STATSHR.EXE, то команда DEFINE не нужна.

       Аналогично, один разделяемый образ может быть  заменен

  на другой без перекомпоновки выполнимого образа.  Пользова-

  тель просто определяет имя файла старого разделяемого обра-

  за, как логическое имя разделяемого  образа  SYS$SYSDEVICE:

  [MAIN]STATSHR.EXE для разделяемых образов, вызванных  прог-

  раммой STATSHR.

       Пример 2.


       $ DEFINE STATSHR SYS$SYSDEVICE:[MAIN]STATSHR






                           - 328 -

                        00152-01 97 10


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

  EXE. Когда  работает  привилегированный  выполнимый  образ,

  логические имена, повторно направленные в таблицу  логичес-

  ких имен процесса или группы, игнорируются. Разрешены толь-

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

  привилегированными пользователями.

       Если новые образы устанавливаются с помощью квалифика-

  тора /SHARE, то выполнимые образы, скомпонованные со старым

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

  образа. В противном случае они будут отображаться в  личные

  секции нового образа.

       Как показано в примерах 1,2,  старые  и  новые  образы

  могут иметь одинаковые имена, но должны размещаться в  раз-

  ных каталогах. В одном каталоге не  следует  заменять  одну

  версию файла на другую.




























                           - 329 -

                        00152-01 97 10


             9. Пакетные задания и задания печати



       Пакетные задания и задания  печати  нередко  загружают

  МОС ВП очень  интенсивно.  Системный  администратор  должен

  быть хорошо знаком с об'емом и типами заданий,  обслуживае-

  мых МОС ВП, и совершенствовать  средства  для  эффективного

  ввода, планирования и выполнения таких  заданий.  Он  может

  управлять нагрузкой на МОС ВП и улучшать характеристики  ее

  работы посредством:

       - создания пакетных очередей и очередей вывода, а так-

         же управления ими;

       - управления заданиями печати и пакетными заданиями;

       - создания  устройств,  обслуживающих  через  спул,  и

         управления ими.

       Указанные задачи рассматриваются в данном разделе.



       9.1. Создание очередей и работа с ними


       Очередь представляет  собой  список  заданий,  которые

  ждут обработки. В МОС ВП имеются три основных  типа  очере-

  дей:

       1) очередь выполнения. Она представляет собой  очередь

  для управления  обслуживанием  заданий  печати  и  пакетных

  заданий. Такая очередь может  быть  пакетной  очередью  или

  очередью вывода. Пакетные очереди описаны в подразделе 9.3;

       2) общая очередь. Эта очередь,  приписанная  к  одному

  или нескольким очередям выполнения одинакового типа.  Общая

  очередь принимает задания и помещает их в имеющуюся очередь



                           - 330 -

                        00152-01 97 10


  выполнения. Например, общая очередь вывода пересылает зада-

  ния в имеющуюся очередь печати или терминала. Общие очереди

  вывода описаны в п. 9.3.6;

       3)  логическая  очередь.  Это  поименованная  очередь,

  которая при своей инициализации  не  закрепляется  за  уст-

  ройством печати. Задания, направляемые  в  логическую  оче-

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

  администратор не прикрепит  логическую  очередь  к  очереди

  печати и затем не запустит и очередь  печати  и  логическую

  очередь. Логические очереди описаны в п. 9.3.7.

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

  по созданию очередей и управлению ими.  В  этом  подразделе

  дается описание команд языка DCL, используемых для управле-

  ния очередями, и рассматриваются несколько  основных  типов

  операций управления очередями. Дополнительные процедуры для

  управления очередями и заданиями рассматриваются в  подраз-

  деле 9.4.

       Команды, перечисленные в табл. 9, позволяют работать с

  очередями и содержащимися в  них  заданиями.  Подробно  эти

  команды рассматриваются в документе [2].


















                           - 331 -

                        00152-01 97 10


                                                    Таблица 9

      Команды языка DCL для управления очередями печати и

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

  -----------------------------------------------------------

      Команда           !            Функция

  -----------------------------------------------------------

  ASSIGN/MERGE          ! Перемещает все задания из одной

                        ! очереди в другую

  ASSIGN/QUEUE          ! Прикрепляет очередь выполнения к

                        ! логической очереди

  DEASSIGN/QUEUE        ! Открепляет очередь выполнения от

                        ! логической очереди

  DEFINE/CHARACTERISTIC ! Определяет имя и число характерис-

                        ! тик очереди

  DEFINE/FORM           ! Определяет имя, число и атрибуты

                        ! форм печати

  DEFINE/FORM/SETUP     ! Определяет библиотечные модули

                        ! управления устройством, которые ус-

                        ! танавливают устройство в соответст-

                        ! вие заданной форме

  DELETE/CHARACTERISTIC ! Удаляет определение характеристики

                        ! очереди

  DELETE/ENTRY          ! Удаляет одну или несколько записей

                        ! о задании из очереди

  DELETE/FORM           ! Удаляет определенные формы

  DELETE/QUEUE          ! Удаляет очередь

  INITIALIZE/QUEUE      ! Создает очередь




                           - 332 -

                        00152-01 97 10


                                          Продолжение табл. 9

  -----------------------------------------------------------

      Команда           !            Функция

  -----------------------------------------------------------

  PRINT                 ! Вводит задание в очередь печати или

                        ! терминала

  SET DEVICE/SPOOLED    ! Устанавливает спул устройства

  SET QUEUE             ! Изменяет атрибуты очереди

  SET QUEUE/ENTRY       ! Изменяет статус или атрибуты за-

                        ! дания, которое в данный момент

                        ! не выполняется

  SET RESTART_VALUE     ! Задает тестовое значение для пере-

                        ! запуска части пакетных очередей.

                        ! используется в командных процедурах

  SHOW DEVICE           ! Отображает статус устройства в сис-

                        ! теме

  SHOW QUEUE            ! Выдает информацию об очередях, за-

                        ! даниях, формах и характеристиках

                        ! очереди

  START/QUEUE           ! Запускает очередь

  START/QUEUE/MANAGER   ! Запускает диспечер очереди сис-

                        ! темных заданий и открывает файлы

                        ! очереди (если они не существуют,

                        ! то создается новый файл очереди),

                        ! если в команде определен квалифика-

                        ! тор /NEW_VERSION, то она создает

                        ! новый файл очереди




                           - 333 -

                        00152-01 97 10


                                          Продолжение табл. 9

  -----------------------------------------------------------

      Команда           !            Функция

  -----------------------------------------------------------

  STOP/QUEUE            ! Приостанавливает операции с очере-

                        ! дью. Приостанавливает выполнение

                        ! заданий, и очередь переводится в

                        ! состояние паузы. Очередь не пере-

                        ! водится в состояние паузы и не ос-

                        ! танавливается, если в  команде за-

                        ! даны следующие квалификаторы:

                        ! /ABORT   останавливает текущее за-

                        !          дание печати;

                        ! /ENTRY   останавливает указанное

                        !          пакетное задание;

                        ! /REQUEUE останавливает указанное

                        !          пакетное задание или зада-

                        !          ние печати и заносит его в

                        !          другую очередь

  STOP/QUEUE/MANAGER    ! Останавливает диспечер очереди сис-

                        ! темных заданий и закрывает файл

                        ! очереди

  STOP/QUEUE/NEXT       ! Останавливает очередь после завер-

                        ! шения обработки всех существующих

                        ! заданий

  STOP/QUEUE/RESET      ! Сразу останавливает очередь и пре-

                        ! рывает выполнение всех заданий




                           - 334 -

                        00152-01 97 10


                                          продолжение табл. 9

  -----------------------------------------------------------

      Команда           !            Функция

  -----------------------------------------------------------

  SUBMIT                ! Вводит задание в пакетную очередь

  SYNCHRONIZE           ! Ожидает завершения указанного зада-

                        ! ния






       9.1.1. Запуск  диспетчера  системной   очереди

              заданий

       Диспечер системной очереди заданий управляет  пакетной

  очередью и очередями печати. Запуск диспечера очереди зада-

  ний и открывание файла очередей (или дополнительное  созда-

  ние нового файла очередей) осуществляется с помощью команды

  START/QUEUE/MANAGER языка DCL. Новый файл очереди создается

  в том случае, когда уже не существует такой файл или  когда

  задан       квалификатор       /NEW_VERSION.        Команду

  START/QUEUE/MANAGER могут  применять  только  пользователи,

  имеющие две привилегии: OPER и SYSNAM.

       Эту команду необходимо включить в командную  процедуру

  запуска,  учитывающую  специфику  вычислительной   системы,

  перед другими командами работы с очередями (см. раздел  2).

  Имя файла очереди можно задать в  виде  параметра  команды.

  Если этот параметр опущен, то диспечер  заданий  использует

  подразумеваемую    по    умолчанию    спецификацию    файла

  SYS$SYSTEM:JBCSYSQUE.DAT.



                           - 335 -

                        00152-01 97 10


       С помощью квалификатора /EXTEND_QUANTITY можно  управ-

  лять первоначальным выделением и размером расширения  файла

  очереди. Подразумеваемым по  умолчанию  значением  является

  100 блоков диска.



       9.1.2. Инициализация и запуск очередей


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

  инициализировать (создать), а затем запустить. Для  инициа-

  лизации и  запуска  очереди  можно  использовать  следующие

  команды:

       - INITIALIZE/QUEUE/START - она инициализирует и запус-

         кает очередь;

       - INITIALIZE/QUEUE - инициализирует очередь;

       - START/QUEUE - запускает очередь.

       Команду INITIALIZE/QUEUE могут применять только  поль-

  зователи,  имеющие  привилегию  OPER.  Команду  START/QUEUE

  могут применять  только  пользователи,  имеющие  привилегию

  OPER или доступ типа E к этой очереди.

       При помощи команды INITIALIZE/QUEUE/START  можно  ини-

  циализировать и запустить  очередь  единственной  командой.

  Эту команду рекомендуется применять в командных процедурах,

  особенно  в  командной   процедуре   запуска   SYS$MANAGER:

  SYSTARTUP.COM (см. раздел 2), где она необходима  для  ини-

  циализации и немедленного запуска  некоторой  остановленной

  очереди. Например, для  инициализации  и  запуска  пакетной

  очереди SYS$BATCH и очередей печати LPA0: и  LPB0:  исполь-

  зуются следующие команды:



                           - 336 -

                        00152-01 97 10


      $ INITIALIZE/QUEUE/START/BATCH/JOB_LIMIT=2/BASE_PRIO-

      _$ RITY=3 SYS$BATCH

      $ INITIALIZE/QUEUE/START/DEFAULT=FLAG LPA0:

      $ INITIALIZE/QUEUE/START/DEFAULT=FLAG LPB0:



       Если эти команды выполняются при остановленной  очере-

  ди,  то  команда  INITIALIZE/QUEUE/START  инициализирует  и

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

  руется и никакие операции не выполняются.

       Устанавливать очереди можно не только во время запуска

  системы, но и во время  выполнения  обычных  операций.  Для

  создания и запуска некоторой очереди используется, как пра-

  вило,      команда      INTIALIZE/QUEUE/START.      Команды

  INITIALIZE/QUEUE и START/QUEUE будут полезны в том  случае,

  когда очередь надо сначала  инициализировать,  а  запустить

  позже. Если, например, надо инициализировать очередь печати

  и перед ее запуском убедиться, что она установлена коррект-

  но, то, задавая  соответствующие  квалификаторы  в  команде

  START/QUEUE, можно при запуске очереди  скорректировать  ее

  конкретные атрибуты.



       9.1.3. Модификация очередей


       После инициализации  очереди  можно  изменить  ряд  ее

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

  DCL, которую могут применять только  пользователи,  имеющие

  привилегию OPER или доступ типа E к очереди.





                           - 337 -

                        00152-01 97 10


       Команда SET QUEUE дает возможность без останова очере-

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

  запускать очередь. Например, следующая команда модифицирует

  работающую пакетную очередь SYS$BATCH:


       SET QUEUE/JOB_LIMIT=4/DISABLE_SWAPPING SYS$BATCH



       Эта команда изменяет лимит заданий и  запрещает  обмен

  рабочих наборов в  очереди  SYS$BATCH.  Остальные  атрибуты

  этой очереди остаются неизменными. Измененные  атрибуты  не

  воздействуют на выполнение  текущих  заданий,  однако,  все

  последующие задания будут выполняться с учетом новых  атри-

  бутов.



       9.1.4. Приостанов очередей


       Для приостанова функционирующей  очереди  надо  ввести

  команду STOP/QUEUE языка DCL. Она останавливает  выполнение

  всех текущих заданий и переводит очередь в состояние паузы.

  Эту команду могут применять  только  пользователи,  имеющие

  привилегию OPER или доступ типа E к очереди.

       Для парезапуска некоторой очереди  и  для  перезапуска

  любых   остановленных   заданий   надо    ввести    команду

  START/QUEUE.



       9.1.5. Останов очередей


       Для   останова    очереди    надо    ввести    команду

  STOP/QUEUE/NEXT  языка  DCL.  Эта  команда  позволяет  всем



                           - 338 -

                        00152-01 97 10


  выполняющимся в данным момент заданиям завершиться, а затем

  останавливает очередь. После  ввода  этой  команды  очередь

  останавливается, а все новые задания не  выполняются.  Если

  опустить квалификатор /NEXT,  то  выполнение  всех  текущих

  заданий временно останавливается, и очередь  переводится  в

  состояние паузы.

       Команду STOP/QUEUE/NEXT могут вводить только пользова-

  тели, имеющие привилегию OPER или доступ типа E к очереди.

       Для   перезапуска   очереди   надо   ввести    команду

  START/QUEUE.



       9.1.6. Удаление очередей


       При  необходимости,  очереди  можно  удалять  командой

  DELETE/QUEUE языка DCL. Но сначала надо остановить  очередь

  командой STOP/QUEUE. При удалении очереди удаляются  и  все

  содержащиеся в ней задания. Команду удаления  могут  приме-

  нять только пользователи, имеющие привилегию OPER.

       Для удаления очереди надо действовать следующим  обра-

  зом:

        - остановить очередь командой STOP/QUEUE/NEXT;

        - дождаться завершения выполнения заданий;

        - удалить очередь командой DELETE/QUEUE.

       Команды, приведенные в примере  останавливают  очередь

  печати, проверяют содержимое этой очереди и удаляют ее.









                           - 339 -

                        00152-01 97 10


       Пример.


       $ STOP/QUEUE/NEXT ALTFORM

       $ SHOW QUEUE/ALL ALTFORM

       $ DELETE/QUEUE ALTFORM





       9.1.7. Удерживание заданий в очереди


       Квалификатор /RETAIN, заданный в какой-либо из  команд

  INITIALIZE/QUEUE, START/QUEUE или  SET  QUEUE,  приводит  к

  удержанию  в  очереди  обслуженных  заданий.   Квалификатор

  /RETAIN имеет следующий формат:


  /[NO]RETAIN[=вариант]



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

  тот тип задания, который очередь должна  удержать.  Сущест-

  вуют два варианта:

  ALL

       - определяет те задания, которые должны быть  удержаны

         в очереди в выполненном состоянии после их  обслужи-

         вания;

  ERROR

       - определяет те задания, которые удерживаются в очере-

         ди только в том случае,  когда  их  обслуживание  не

         завершилось успешно (младший бит в состоянии  завер-

         шения равен нулю).





                           - 340 -

                        00152-01 97 10


       По умолчанию задания  в  очереди  не  удерживаются.  К

  удержанию тех заданий, которые не завершены успешно  (млад-

  ший бит состояния нулевой) приводит команда:


       $ SET QUEUE/RETAIN=ERROR BATCH_QUE



       9.1.8. Очистка файла очередей


       В  случае  разрушения  файла   очередей   (SYS$SYSTEM:

  JBCSYSQUE.DAT), необходимо  создать  новый  файл  очередей.

  Предположение о разрушении очереди возникает когда:

       - замечены некорректности в информации, выдаваемой  по

         команде SHOW QUEUE языка DCL;

       - задания не обслуживаются;

       - создается впечатление, что задания теряются.

       Перед созданием нового файла очередей надо  остановить

  все функционирующие очереди в системе  при  помощи  команды

  STOP/QUEUE/MANAGER языка DCL. Это команда выполняет  упоря-

  доченное отключение диспечера системной  очередей  заданий,

  останавливает все функционирующие очереди, завершает  обра-

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

  очереди. После завершения обработки очередей, файл очередей

  закрывается.

       Команда STOP/QUEUE/MANAGER содержится в командной про-

  цедуре останова системы SYS$SYSTEM:SHUTDOWN.COM, не  учиты-

  вающей специфику вычислительной системы (см. раздел 2).

       Для создания новой версии файла очередей  надо  ввести

  команду START/QUEUE/MANAGER/NEW_VERSION.




                           - 341 -

                        00152-01 97 10


       Команда STOP/QUEUE/MANAGER и START/QUEUE/MANAGER могут

  применять только пользователи, имеющие две привилегии: OPER

  и SYSNAM.



       9.1.9. Установка ограничений по привилегиям на

              очередь


       Операции с очередями или с конкретным заданием в  оче-

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

  UIC [2]. Контроль осуществляется также, как и при доступе к

  другим об'ектам системы, например, также, как при доступе к

  файлам. Возможность управлять операциями  с  очередями  при

  помощи защиты, основанной на коде UIC, позволяет  ограничи-

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

       К очереди (при ее инициализации) приписывается код UIC

  владельца и маска защиты. Заданиям  приписывается  код  UIC

  владельца, то есть код UIC того  процесса,  который  вводит

  задание. Каждая операция,  выполняемая  с  очередью  или  с

  заданием в очереди, проверяется по коду UIC  владельца,  по

  защите очереди и задания, а также по привилегиям того,  кто

  выдал запрос.

       Все операции проверяются следующим образом:

       - операции, применяемые по отношению к заданиям,  про-

         веряются на защиту "по чтению" (R) и  "по  удалению"

         (D), определенную для очереди и кода  UIC  владельца

         задания. Обычно доступ типа R  к  заданию  позволяет

         пользователю посмотреть атрибуты задания,  а  доступ

         типа D позволяет пользователю удалять задание;



                           - 342 -

                        00152-01 97 10


       - операции, применяемые по отношению к очередям,  про-

         веряются на защиту "по записи" (W) и "по выполнению"

         (E), определенную для очереди и кода  UIC  владельца

         очереди. Пользователь, имеющий доступ типа W к  оче-

         реди, может ввести задание в эту очередь.  Пользова-

         тели, имеющие доступ типа E к  очереди,  могут  воз-

         действовать на  любые  находящиеся  в  ней  задания.

         Пользователи с привилегией OPER имеют доступ типа  E

         ко всем очередям. Кроме того, привилегия  OPER  дает

         возможность пользователям создавать очереди и влиять

         на учет.

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

  для различных операций с очередями.

                                                   Таблица 10

      Ограничения по привилегиям на операции с очередями

  -----------------------------------------------------------

   Необходимая привилегия !            Команды

  -----------------------------------------------------------

   OPER или SYSNAM        ! START/QUEUE/MANAGER

                          ! STOP/QUEUE/MANAGER

                          !

        OPER              ! DEFINE/CHARACTERISTIC

                          ! DEFINE/FORM

                          ! DELETE/CHARACTERISTIC

                          ! DELETE/FORM

                          ! DELETE/QUEUE

                          ! INITIALIZE/QUEUE




                           - 343 -

                        00152-01 97 10


                                         Продолжение табл. 10

  -----------------------------------------------------------

   Необходимая привилегия !            Команды

  -----------------------------------------------------------

                          !

   OPER, доступ E к оче-  ! SHOW QUEUE

   реди или доступ R к    ! SYNCHRONIZE

   заданию                !

                          !

   OPER, доступ E к оче-  ! PRINT

   реди или доступ W к    ! SUBMIT

   заданию                !

                          !

   OPER или доступ E к    ! ASSIGN/MERGE

   очереди                ! ASSIGN/QUEUE

                          ! DEASSIGN/QUEUE

                          ! SET QUEUE

                          ! START/QUEUE

                          ! STOP/QUEUE

                          ! STOP/QUEUE/NEXT

                          ! STOP/QUEUE/RESET

                          !

   OPER, доступ E к оче-  ! DELETE/ENTRY

   реди или доступ D к    ! SET QUEUE/ENTRY

   заданию                ! STOP/QUEUE/ABORT

                          !

   Без привилегий         ! SET RESTART_VALUE




                           - 344 -

                        00152-01 97 10


       9.2. Создание пакетных очередей


       Пакетные очереди управляют выполнением пакетных  зада-

  ний. Кроме того, они определяют подразумеваемые по  умолча-

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

  предоставлении этих ресурсов. Обычно, при установке системы

  следует опеределить число пакетных очередей и такие атрибу-

  ты (см. раздел 6), как:

        - лимит задания;

        - базовый приоритет;

        - режим обмена;

        - лимиты центрального процессора;

        - квоты и лимиты на рабочий набор.

       Если задание выполняется в пакетной  очереди,  то  ему

  приписываются атрибуты этой очереди. Однако, задавая квали-

  фикаторы в команде SUBMIT  языка  DCL,  пользователи  могут

  явно отвергать некоторые атрибуты очереди  для  конкретного

  задания.

       Пользователи вводят пакетные задания в МОС ВП и  зано-

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

  Эти файлы вводятся при помощи команды SUBMIT языка DCL; они

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

  соответствии с их относительными приоритетами в очереди. По

  умолчанию, имя такой пакетной очереди есть SYS$BATCH.

       Перед тем,  как  пользователь  может  ввести  пакетные

  задания, системный администратор должен создать и запустить

  по крайней мере одну пакетную очередь в соответствии с опи-

  санием, данным в пп.9.2.1...9.2.3.



                           - 345 -

                        00152-01 97 10


       После запуска пакетной очереди,  задание  с  наивысшим

  приоритетом является первым кандидатом  на  выполнение.  Из

  заданий  с  одинаковым  приоритетом  первым  кандидатом  на

  выполнение является задание, которое было введено раньше.

       В любой данной очереди могут выполняться  одновременно

  несколько заданий. Число таких заданий  зависит  от  лимита

  заданий, устанавливаемых для очереди.

       Следует  поддерживать  пользователей,  которые  вводят

  большие задания (например, на компиляцию и компоновку боль-

  ших программ) как пакетные задания, и предоставлять возмож-

  ность интерактивного использования МОС ВП заданиям, которым

  не нужно много ресурсов. Для этой цели можно  сделать  сле-

  дующее:

       - ограничить размер рабочего набора  диалоговых  зада-

         ний, определяя малое (например, 300) значение лимита

         WSEXTENT в записях файла UAF (см. раздел 6);

       - увеличить размер рабочего набора  пакетных  заданий,

         определяя большое (например,  500)  значение  лимита

         WSEXTENT при создании пакетной очереди.

       Аналогичным  образом  можно  уменьшить  или  увеличить

  лимиты на  время  обслуживания  заданий,  определяя  лимиты

  центрального процессора.



       9.2.1. Установка    пакетных    очередей     в

              преимущественно интерактивных системах


       При установке пакетных очередей  в  системах,  которые

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


                           - 346 -

                        00152-01 97 10


  основные правила:

       1) надо установить  одну  пакетную  очередь  с  именем

  SYS$BATCH (это имя подразумеваемой  по  умолчанию  пакетной

  очереди);

       2) приписать этой очереди следующие характеристики:

       - лимит заданий от 1 до 4;

       - базовый приоритет 3 или 4;

       - режим обмена - обмен рабочих  наборов  разрешен  (по

         умолчанию);

       - подразумеваемый по умолчанию размер рабочего  набора

         - 300;

       - квота рабочего набора от 200 до 500;

       - экстент рабочего набора - 400 или больше;

       - подразумеваемая по  умолчанию  характеристика  цент-

         рального процессора - бесконечная (по умолчанию);

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

         - бесконечная (по умолчанию).

       Как правило, для создания и запуска такой очереди надо

  включить в командную процедуру запуска, учитывающую  специ-

  фику вычислительной системы, следующие команды (см.  раздел

  2):


   $ INITIALIZE/QUEUE/START/BATCH/JOB_LIMIT=2/BASE_PRIORITY=3

   _$ /WSDEFAULT=300/WSQUOTA=500/WSEXTENT=2000 SYS$BATCH











                           - 347 -

                        00152-01 97 10


       9.2.2. Установка    пакетных    очередей     в

              преимущественно пакетных системах


       При установке пакетных очередей в системах, которые  в

  основном являются пакетными системами и в которых  редакти-

  рование  является  принципиально   интерактивной   работой,

  полезны следующие правила:

       1) надо установить три следующих пакетных очереди:

       - SYS$BATCH - подразумеваемая  по  умолчанию  пакетная

         очередь, для которой разрешен обмен рабочих наборов;

       - FAST -  очередь  для  выполнения  высокоприоритетных

         заданий, которые не будут выгружаться из памяти;

       - SLOW - фоновая очередь для обработки низкоприоритет-

         ных заданий. Обычно в ней находятся большие  задания

         с большими запросами на физическую память. Выгружать

         такие задаания из памяти, как правило, не  экономич-

         но. Останавливая и перезапуская фоновые  очереди  по

         мере необходимости, можно регулировать рабочую  наг-

         рузку;

       2) приписать очереди SYS$BATCH следующие характеристи-

  ки:

       - лимит заданий - от 6 до 10;

       - базовый приоритет - 4 (по умолчанию);

       - режим обмена - обмен рабочих  наборов  разрешен  (по

         умолчанию);

       3) приписать очереди FAST следующие характеристики:

       - лимит заданий - 1 (по умолчанию);

       - базовый приоритет -4 (по умолчанию);



                           - 348 -

                        00152-01 97 10


       - режим обмена - обмен рабочих  наборов  запрещен  (по

         умолчанию);

       4) приписать очереди SLOW следующие характеристики:

       - лимит заданий - 1 (по умолчанию);

       - базовый приоритет - низкий (например, 3);

       - режим обмена - обмен рабочих наборов запрещен.

       Для создания и запуска  таких  очередей  целесообразно

  включить в командную процедуру запуска, учитывающую  специ-

  фику вычислительной системы, следующие команды (см.  раздел

  2):


       $ INITIALIZE/QUEUE/START/BATCH/JOB_LIMIT=6 SYS$BATCH

       $ INITIALIZE/QUEUE/START/BATCH/DISABLE_SWAPPING FAST

       $ INITIALIZE/QUEUE/START/BATCH/BASE_PRIORITY=3-

       _$ /DISABLE_SWAPPING SLOW





       9.2.3. Установка  пакетных  очередей  в  малых

              системах


       В малых системах (с об'емом физической памяти 1 мбайт)

  следует добавить страницы, необходимые для рабочих  наборов

  пакетов, и  обеспечить,  чтобы  для  интерактивных  заданий

  осталось достаточно памяти.  Нефиксированная  память  может

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

  обменов рабочих наборов и обменов страниц. Об'ем нефиксиро-

  ванной памяти можно вычислить как об'ем пространства, кото-

  рый остается после вычитания числа страниц, постоянно выде-




                           - 349 -

                        00152-01 97 10


  ленных в МОС ВП, от общего об'ема памяти. Получить эти зна-

  чения можно с помощью команды SHOW MEMORY языка DCL.

       Если об'ем нефиксированной памяти станет меньше значе-

  ния системного параметра WSMAX,  то  надо  уменьшить  число

  пакетных заданий или сделать задания очередей FAST  и  SLOW

  выгружаемыми. Иначе может возникнуть тупиковая ситуация.



       9.3. Создание очередей вывода


       Очередь вывода управляет обслуживанием заданий печати.

  Термин очередь вывода  может  означать  одно  из  следующих

  понятий:

       1) очередь печати - это очередь выполнения,  приписан-

  ная к конкретному построчно-печатающему устройству;

       2) очередь терминала - это очередь выполнения,  припи-

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

  устройства (но не интерактивно).  Очереди  терминалов  соз-

  даются и управляются теми же командами, что и очереди печа-

  тающих устройств;

       3) общая очередь - это очередь, приписанная  к  одному

  или к нескольким очередям выполнения. Задания, введенные  в

  общую очередь, передаются в некоторую, приданную устройству

  очередь выполнения, когда она становится доступной;

       4) логическая очередь - это очередь, не приданная уст-

  ройству печати при своем  создании.  Задания,  внесенные  в

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

  эта логическая очередь не будет сначала приписана к некото-

  рой очереди выполнения, а затем не будут запущены обе  оче-



                           - 350 -

                        00152-01 97 10


  реди - логическая и выполнения. Логические очереди  описаны

  в п. 9.3.7.

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

  системный администратор должен инициализировать и запустить

  по крайней мере одну  очередь  вывода.  Описание  процедуры

  инициализации очереди дано в п. 9.1.2.

       Задания печати помещаются в очередь для обработки  при

  помощи одного из двух методов: без непосредственного вмеша-

  тельства пользователя (т.е. неявно) или с  непосредственным

  вмешательством пользователя (т.е. явно).

       Задания печати заносятся в очередь неявно в  том  слу-

  чае, когда некоторая программа или файл языка DCL  посылает

  выводимую по ним информацию в устройство  печати,  обслужи-

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

  файл. Когда этот файл закрывается, он помещается в  очередь

  вывода. Загрузка файла вывода на промежуточное устройство и

  последующее занесение  в  очередь  задания  с  этим  файлом

  происходит без непосредственного вмешательства  пользовате-

  ля. Печатающие устройства, обслуживающие через спул, описа-

  ны в п. 9.3.8.

       Задания печати помещаются в очередь  явно  при  помощи

  команды PRINT языка DCL. Пользователи могут явно  поместить

  в очередь дисковый файл или несколько  файлов  для  печати.

  Дисковый файл или файлы, заданные в  команде  PRINT,  поме-

  щаются в очередь заданий печати. Если задание  печати  сос-

  тоит из нескольких файлов, то они распечатываются вместе.

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




                           - 351 -

                        00152-01 97 10


  могут выполняться несколько заданий, в  очереди  выполнения

  может печататься только одно задание за раз. Задания печати

  выбираются на выполнение в соответствии с их  приоритетами.

  Задание с более высоким приоритетом  выбирается  на  печать

  первым. Если одинаковый приоритет имеют несколько  заданий,

  то первым распечатывается  самое  маленькое  задание  (если

  только  очередь  не   инициализирована   с   квалификатором

  /SCHEDULE=NOSIZE). Задания равного размера, имеющие  одина-

  ковый приоритет, обслуживаются в соответствии  со  временем

  их поступления. Задание, которое поступило раньше, обслужи-

  вается первым.

       По умолчанию, задания печати ,  помещенные  в  очередь

  командой PRINT, заносятся в  очередь  по  имени  SYS$PRINT.

  Таким образом, для использования подразумеваемой по умолча-

  нию версии команды PRINT в системе с одним печатающим  уст-

  ройством, нужно в командной процедуре запуска , учитывающей

  специфику вычислительной системы,  назвать  очередь  печати

  именем SYS$PRINT следующим образом:


         $ INITIALIZE/QUEUE/START/ON=LPA0: SYS$PRINT



       Для использования подразумеваемой по умолчанию  версии

  команды PRINT в системе с несколькими печатающими устройст-

  вами, характеристики которых сопоставимы, SYS$PRINT  обычно

  создается как имя общей очереди. Общие очереди печати расс-

  матриваются в п.9.3.6.







                           - 352 -

                        00152-01 97 10


       9.3.1. Именование очередей печати


       Обычно, при инициализации очереди печати для  конкрет-

  ного печатающего устройства, за этой очередью  закрепляется

  имя физического  устройства.  Например,  следующая  команда

  инициализирует      и      запускает      очередь       для

  построчно-печатающего устройства LPA0:, а также  закрепляет

  за очередью имя LPA0:


      $ INITIALIZE/QUEUE/START LPA0:



       Для создание очереди печати и закрепления за ней  име-

  ни, отличающегося от имени физического устройства пачати, в

  команде INITIALIZE/QUEUE задается квалификатор /ON:


          /ON=[узел::]устройство



       Этот квалификатор позволяет дать имя очереди , которое

  описывает функции печатающего устройства. Можно,  например,

  дать имя  LETTER  очереди  высококачественного  печатающего

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

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

  LETTER. Имя узла  предназначено  для  пользователей  систем

  кластеров, оно определяется параметром SCSNODE  обслуживаю-

  щей программы SYSGEN.

       Следующая команда инициализирует и запускает очередь с

  именем LETTER, прикрепленную к печатающему устройству LPC0:


        $ INITIALIZE/QUEUE/START/ON=LPC0: LETTER




                           - 353 -

                        00152-01 97 10






       9.3.2. Использование   библиотек    управления

              устройством


       Библиотека  управлением  устройством  представляет  из

  себя текстовую библиотеку, которая содержит модули последо-

  вательности AP2 для программируемых  печатающих  устройств.

  Модули управления устройством можно использовать для управ-

  ления различными функциями печатающего устройства.

       Библиотека управления устройством закрепляется за оче-

  редью программируемого печатающего  устройства  при  помощи

  квалификатора /LIBRARY команды  INITIALIZE/QUEUE  следующим

  образом:


            /LIBRARY=имя-файла



       Имя файла представляет собой имя  библитечного  файла,

  содержащего желательные  модули  (тип  файла  указывать  не

  надо). По  умолчанию  именем  файла  является  SYS$LIBRARY:

  SYSDEVCTL.TBL.  Библиотеки  должны  находиться  в  каталоге

  SYS$LIBRARY и иметь подразумеваемый по умолчанию тип  файла

  TLB.  Задать  имя  файла  можно  только  с   квалификатором

  /LIBRARY.

       Операции  печати,  для  которых  необходим  конкретный

  модуль   управления   устройством   (при   помощи    команд

  PRINT/SETUP или PRINT/FORM), используют модуль из той  биб-

  лиотеки, которая определена  для  соответствующей  очереди.




                           - 354 -

                        00152-01 97 10


  если число печатающих устройств не велико, и обычно исполь-

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

  нятся в одной библиотеке, и эта библиотека прикрепляется  к

  каждой очереди печати. В вычислительной системе  с  большим

  числом печатающих устройств к каждой очереди  печати  прик-

  репляется отдельно  созданная  библиотека  управления  уст-

  ройством.

       Примечание. При вводе команды PRINT,  заданное  в  ней

  имя формы, проверяется на правильность. Однако, имена  биб-

  лиотечных модулей, заданных в квалификаторе /SETUP, не про-

  веряется до тех пор, пока файл  не  будет  распечатан.  Так

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

  управления устройством не связана. Поэтому  для  уменьшения

  числа ошибочных случаев рекомендуется, чтобы для  закрепле-

  ния библиотечного модуля за специфицированной формой  поль-

  зователи вводили  команду  /DEFINE/FORM/SETUP.  Затем,  для

  надлежащей установки устройства можно использовать  команду

  PRINT/FORM.

       Применяя отдельные библиотеки, можно  создать  модули,

  которые имеют одинаковые имена и выполняют одинаковые функ-

  ции, но используют разные последовательности для конкретных

  типов печатающих устройств. Если при хранении  модулей  для

  различных типов печатающих устройств используется одна биб-

  лиотека, то необходимо удостовериться,  что  каждый  модуль

  имеет свое имя.

       Коды последовательности  AP2  зависят  от  конкретного

  печатающего устройства.




                           - 355 -

                        00152-01 97 10


       Примечание. При добавлении  модуля  к  библиотеке  или

  удалении модуля  из  нее,  нужно  остановить  все  очереди,

  использующие в данный момент эту библиотеку.



       9.3.3. Ограничение обработки очередей печати


       Для приписывания к очереди печати атрибутов, ограничи-

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

  этой очереди, надо в командах INITIALIZE/QUEUE, START/QUEUE

  или SET QUEUE задавать следующие квалификаторы:

  /[NO]BLOCK_LIMIT

       - ограничивает обработку заданий в соответствии с раз-

         мером блоков;

   /CHARACTERISTIC

        - ограничивает обработку заданий в соответствии с

          характеристиками печатающего устройства;

   /FORM

        - ограничивает обработку заданий в соответствии со

          штоком форм, смонтированном на печатающем устрой-

          стве.

       Используя эти квалификаторы,  можно  управлять  типами

  заданий, которым разрешено выполняться в рамках  соответст-

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

  описаны в подпунктах 9.3.3.1...9.3.3.3.











                           - 356 -

                        00152-01 97 10


       9.3.3.1. Ограничение размеров заданий


       В ряде случаев может появиться  необходимость  ограни-

  чить размер заданий печати, обрабатываемых в рамках некото-

  рой очереди. Наложить лимиты на размер заданий печати можно

  с     помощью     квалификатора     /BLOCK_LIMIT     команд

  INITIALIZE/QUEUE, START/QUEUE или SET QUEUE [2]. Квалифика-

  тор /BLOCK_LIMIT имеет следующий формат:


        /[NO]BLOCK_LIMIT=([нижний][,верхний])



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

  мере один из следующих параметров:

  нижний

       - десятичное число, задающее размер в блоках самого

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

         очереди на обслуживание. Если поступит задание печа-

         ти с меньшим числом блоков, чем нижний лимит, то

         оно не будет обслуживаться до тех пор, пока лимит

         блоков для данной очереди не изменится. По умолча-

         нию нижний лимит на размер блоков не накладывается;

  верхний

       - десятичное число, задающее размер в блоках самого

         большого файла, который может выбираться из очере-

         ди на обслуживание. Если поступает задание печати с

         числом блоков, превышающим это значение, то задание

         не будет обслуживаться до тех пор, пока лимит бло-

         ков для данной очереди не изменится. По умолчанию




                           - 357 -

                        00152-01 97 10


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

       Квалификатор BLOCK_SIZE полезен в  том  случае,  когда

  большие или маленькие задания очереди надо  обрабатывать  с

  ограничениями. По умолчанию лимиты на размеры файлов в оче-

  реди не накладываются.



       9.3.3.2. Ограничения заданий характеристиками


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

  можно ограничить посредством закрепления за  этой  очередью

  специальных характеристик  печати.  Задание  очереди  может

  выполняться только в том случае, если каждая  характеристи-

  ка,  определенная  (именем  или  числом   в   квалификаторе

  /CHARACTERISTIC команды PRINT) для этого задания, определе-

  на и для данной очереди. Например, если задание  определяет

  характеристику 25, то оно может выполняться  только  в  той

  очереди, для которой также  определена  характеристика  25.

  Задание не будет обслуживаться до тех пор, пока не появится

  очередь с такой характеристикой.

       Примечание. Определение некоторой  характеристики  для

  очереди не мешает выполняться в ней заданию,  для  которого

  такая характеристика не определена.

       Характеристики печати для очереди печати  определяются

  с    помощью    квалификатора    /CHARACTERISTIC     команд

  INITIALIZE/QUEUE, START/QUEUE  и  SET  QUEUE.  Квалификатор

  /CHARACTERISTIC имеет следующий формат:


        /[NO]CHARACTERISTIC=(характеристика[,...])




                           - 358 -

                        00152-01 97 10




       Характеристику можно определить как число или имя. Имя

  характеристики и соответствующее ей  число  определяется  с

  помощью команды DEFINE/CHARACTERISTIC.  Эту  команду  могут

  применять только  пользователи,  имеющие  привилегию  OPER.

  Команда вводится в следующем формате:


        $ DEFINE/CHARACTERISTIC имя число



       Пример.

  Определение имени характеристики REDINK как числа 3  произ-

  водит команда:


        $ DEFINE/CHARACTERISTIC REDINK 3



  впоследствии  команды  INITIALIZE/QUEUE,  START/QUEUE,  SET

  QUEUE могут использовать число 3 или имя REDINK для  описа-

  ния одной характеристики печати.

       Удаление  ранее  определенной  характеристики   печати

  производится командой DELETE/CHARACTERISTIC следующим обра-

  зом:


        $ DELETE/CHARACTERISTIC имя число



       По умолчанию, для очереди или  задания  характеристики

  не определены.









                           - 359 -

                        00152-01 97 10


       9.3.3.3. Ограничение заданий при помощи форм


       Обработку заданий в некоторой очереди можно ограничить

  при помощи специальной формы печати посредством закрепления

  за этой  очередью  некоторого  типа  формы.  Задание  может

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

  штока бумаги той формы, которая определена (именем или чис-

  лом в квалификаторе /FORM команды PRINT) для этого задания,

  будет тем же, что и  имя  данной  очереди.  Например,  если

  задание определяет номер формы 3, то оно может  выполняться

  только в том случае, когда некоторая форма на том же  штоке

  определена для этой очереди, как форма 3.  Это  задание  не

  будет обслуживаться до тех пор, пока не появится очередь  с

  данной формой.

       Тип формы, смонтированный в данный момент в закреплен-

  ном печатающем устройстве, определяется с помощью  квалифи-

  катора /FORM команд  INITIALIZE/QUEUE,  START/QUEUE  и  SET

  QUEUE. Квалификатор /FORM имеет следующий формат:


        /FORM=тип



       Тип формы можно определить в виде имени или числа. Имя

  формы, соответствующее число и необязательные характеристи-

  ки формы определяются  командой  DEFINE/FORM.  Эту  команду

  могут применять  только  пользователи,  имеющие  привилегию

  OPER. Команда DEFINE/FORM вводится в следующем виде:


        $ DEFINE/FORM имя число [/квалификаторы]





                           - 360 -

                        00152-01 97 10


       Задавая дополнительные квалификаторы, можно определить

  следующие характеристики для конкретного типа формы:

       - конкретную область образа;

       - тип штока бумаги;

       - модули управления конкретным устройством;

       - атрибуты обработки заданий печати.

       Следующая команда определяет имя формы CHECK как число

  3 и определяет ее края:


        $ DEFINE/FORM CHECKS 3/STOCK=DEFAULT -

        _$ /MARGIN=(BOTTOM=3,TOP=3,LEFT=6,RIGHT=6)



  теперь, после определения формы, можно обращаться к ней  по

  имени или по числу. Имя формы сокращать нельзя.

       МОС ВП поддерживает форму по имени DEFAULT с числом  0

  и со всеми подразумеваемыми по  умолчанию  атрибутами.  Эта

  подразумеваемая по умолчанию форма и  для  очередей  и  для

  заданий печати имеет номер 0. Шток представляет собой  ком-

  поненту, поддерживаемую МОС ВП по умолчанию.

       Для  удаления  определенной  формы  вводится   команда

  DELETE/FORM в следующем формате:


        $ DELETE/FORM имя



       9.3.4. Определение атрибутов обработки заданий

              печати


       Разбивкой страниц файла, флагами страниц  файла  и  их

  распечаткой с  заданиями  можно  управлять  квалификаторами



                           - 361 -

                        00152-01 97 10


  команды PRINT. Приписывая соответствующие атрибуты очереди,

  можно управлять печатью страниц. Кроме того,  можно  управ-

  лять печатью страниц разделения заданий, как это описано  в

  пункте 9.3.5.

       Можно распечатать шесть  страниц  разделения  заданий:

  разбивки файла, флага файла, концов файла,  разбивки  зада-

  ния, флага задания и концов задания. В данное время МОС  ВП

  использует только некоторое подмножество  страниц  разделе-

  ния.

       Для файлов и для страниц разделения заданий  поддержи-

  вается ширина от 40 до 200 символов и любая длина превышаю-

  щая 40 символов. Запрошенные для печати страницы с шириной,

  превышающей 200 символов, форматируются и распечатываются с

  200 символьной шириной. Страницы с длиной, меньшей 40  сим-

  волов, увеличиваются до тех пор, пока не будет превышен  40

  символьный порог.

       Примечание. Размер формы, меньшей, чем 80 символов  на

  51 строку может привести к потере выдаваемой  пользователям

  информации.

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

  в табл. 11.
















                           - 362 -

                        00152-01 97 10


                                                   Таблица 11

                      Страницы разделения

  -----------------------------------------------------------

       Страница   !       Характеристики и информация

  -----------------------------------------------------------

  JOB FLAG/BURST  ! Указывает на поступление нового задания,

                  ! которое может содержать один или несколь-

                  ! ко файлов. Ее позициями являются:

                  !      1) полоса заголовка - это полоса с

                  ! единственным сегментом, она включает

                  ! следующие элементы:

                  ! - строку повторяемых номеров, указывающих

                  !   последовательность заданий в очереди

                  !   печати;

                  ! - вставленную текстовую строку, заданную

                  !   системным логическим именем

                  !   PSM$ANNOUNCE. Длина этой строки ограни-

                  !   чена шириной формы. Если имя

                  !   PSM$ANNOUNCE не определено, то подразу-

                  !   меваемой по умолчанию текстовой строкой

                  !   является мос, за которой следует номер

                  !   версии МОС ВП;

                  !      2) примечание, если оно задано;

                  !      3) идентификационный флаг для про-

                  ! цесса, представляющего задание: имя поль-

                  ! зователя, имя задания и номер задания;

                  !      4) предложение задания, указывающее:




                           - 363 -

                        00152-01 97 10


                                         Продолжение табл. 11

  -----------------------------------------------------------

       Страница   !       Характеристики и информация

  -----------------------------------------------------------

                  ! - имя и номер задания;

                  ! - имя очереди, в которую было поставлено

                  !   задание;

                  ! - дату и время постановки задания в оче-

                  !   редь;

                  ! - имя, код UIC и учетное имя пользова-

                  !   тельского процесса;

                  ! - приоритет задания;

                  ! - имя устройства печати;

                  ! - время начала обработки задания;

                  ! - имя очереди выполнения;

                  !      5) нижняя полоса, аналогичная поло-

                  ! се заголовка, за исключением того, что

                  ! вставленной текстовой строкой является

                  ! МОС ВП

  FILE FLAG/BURST ! Указывает, что далее следует печать фай-

                  ! ла. Ее позициями являются:

                  !      1) полоса заголовка - трехсегментная

                  ! полоса, содержащая следующие элементы:

                  ! - центральный сегмент, аналогичный полосе

                  !   заголовка задания;

                  ! - боковые сегменты со строками повторен-

                  !   ных символов, указывающих последова-




                           - 364 -

                        00152-01 97 10


                                         Продолжение табл. 11

  -----------------------------------------------------------

       Страница   !       Характеристики и информация

  -----------------------------------------------------------

                  !   тельсность файлов в задании;

                  !                                   *

                  !      2) примечание, если оно задано;

                  !      3) идентификационный флаг для про-

                  ! цесса, представляющего задание: имя

                  ! пользователя, имя файла;

                  !      4) предложение файла, указывающее:

                  ! - полную спецификацию файла, включая имя

                  !   устройства и каталога, тип, версию,

                  !   время и дату исправления;

                  ! - размер файла в блоках;

                  ! - организацию файла;

                  ! - код UIC владельца файла;

                  ! - характеристики записей файла: тип за-

                  !   писи, управление кареткой, размер самой

                  !   длинной записи;

                  !      5) предложение задания

  FILE TRAILER    ! Указывает конец распечатки файла. Ее по-

                  ! зициями являются:

                  !      1) полоса заголовка - пятисегментная

                  ! полоса, состоящая из следующих элементов:

                  ! - центрального сегмента с флагом "END OF

                  !   FILE";




                           - 365 -

                        00152-01 97 10


                                         Продолжение табл. 11

  -----------------------------------------------------------

       Страница   !       Характеристики и информация

  -----------------------------------------------------------

                  ! - внутренних боковых сегментов с после-

                  !   довательной нумерацией заданий;

                  ! - внешних боковых сегментов с последова-

                  !   тельными символами файла;

                  !      2) идентификационный флаг для про-

                  ! цесса, представляющего задание: имя поль-

                  ! зователя, имя файла;

                  !      3) предложение квалификаторов, оно

                  ! указывает на действия квалификаторов пе-

                  ! чати, очереди и формы при распечатке

                  ! файла. Не активные квалификаторы не

                  ! представлены;

                  !      4) предложение файла;

                  !      5) предложение задания;

                  !      6) нижняя полоса, аналогичная флагу

                  ! файла с нижней полосой разбивки файла;

                  !      7) управляющая информация: после-

                  ! довательность чисел, подсчитанная в кон-

                  ! це формы

  JOB TRAILER     ! Указывает конец распечатки задания. Ее

                  ! позициями являются:

                  !      1) полоса заголовка - трехсегмент-

                  ! ная полоса, состоящая из следующих эле-




                           - 366 -

                        00152-01 97 10


                                         Продолжение табл. 11

  -----------------------------------------------------------

       Страница   !       Характеристики и информация

  -----------------------------------------------------------

                  ! ментов:

                  ! - центрального сегмента с флагом "END OF

                  !   JOB";

                  ! - боковых сегментов с последовательной

                  !   нумерацией задания;

                  !      2) идентификационный флаг процесса,

                  ! который представляет задание: имя и

                  ! номер задания;

                  !      3) элемент получения с завершающими

                  ! работу полями RECEIVED:, DATE:,

                  ! OPERATOR:;

                  !      4) предложения задания;

                  !      5) нижняя полоса, аналогичная нижней

                  ! полосе страницы JOB FLAG/BURST;

                  !      6) управляющая информация

  ---------------------

        * при помощи квалификатора /NOTE команды PRINT поль-

  зователи могут задавать строку длиной до 255 символов.



       Полоса разделения заданий (символы МОС ВП)  распечаты-

  вается над сгибом страниц между флагом задания и  разбивкой

  страниц задания, а также между  флагом  файла  и  разбивкой

  страниц файла, что облегчает разделение заданий и  распеча-




                           - 367 -

                        00152-01 97 10


  ток файла.

       Квалификатором   /DEFAULT   команд   INITIALIZE/QUEUE,

  START/QUEUE и SET QUEUE можно закрепить за  некоторой  оче-

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

  печатью. Квалификатор /DEFAULT имеет следующий формат:


        /[NO]DEFAULT=(вариант[,...])


  можно задать один или несколько подразумеваемых по  умолча-

  нию вариантов из числа следующих:

  [NO]BURST[=значение]

       - указывает, будет ли распечатываться страница разбив-

         ки файла перед  выводом  информации.  Если  задается

         значение ONE, то эта страница распечатывается только

         перед первым файлом задания. Если задается  значение

         ALL, то страница разбивки распечатывается перед каж-

         дым файлом задания;

  [NO]FEED

       - указывает, будет ли в конец  страницы  автоматически

         вставляться перевод формата;

  [NO]FLAG[=значение]

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

         файла перед выводом информации. Если задано значе-

         ние ONE, то эта страница будет распечатываться

         только перед первым файлом задания. Если задано зна-

         чение ALL, то страница флагов распечатывается с

         каждым файлом задания;






                           - 368 -

                        00152-01 97 10


  [NO]TRAILER[=значение]

        -указывает, будет ли конечная страница файла распе-

         чатываться вслед за выведенной информацией. Если

         задано значение ONE, то конечная страница распеча-

         тывается только с последним файлом задания. Если

         определено значение ALL, то эта страница распеча-

         тывается с каждым  файлом задания.

       Если любой из  этих  квалификаторов  определяется  без

  значения, то по умолчанию используется значение ONE.

       По умолчанию за очередью не закрепляется никакой  под-

  разумеваемый по умолчанию вариант.



       9.3.5. Определение    признаков     разделения

              задания


       Закрепляя за заданием очереди печати признаки разделе-

  ния, можно управлять некоторыми функциями,  которые  реали-

  зуются печатающим  устройством  между  распечатываемыми  им

  заданиями. В отличии от подразумеваемых по умолчанию  приз-

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

  команду PRINT для того, чтобы подавить приписанные к очере-

  ди признаки разделения заданий.

       Прикрепление признаков разделения заданий к  некоторой

  очереди  осуществляется  квалификаторами  /SEPARATE  команд

  INITIALIZE/QUEUE, START/QUEUE  и  SET  QUEUE.  Квалификатор

  /SEPARATE имеет следующий формат:


        /[NO]SEPARATE=(вариант[,...])




                           - 369 -

                        00152-01 97 10


       Назначение признаков разделения заданий осуществляется

  одним или несколькими вариантами из числа следующих:

  [NO]FLAG

       - определяет, что страница флагов  задания  распечаты-

         вается в начале каждого задания;

  [NO]BURST

       - определяет, что страница разбивки задания распечаты-

         вается в начале каждого задания;

  [NO]RESET=(модуль[,...])

       - определяет один или несколько  библиотечных  модулей

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

         тельность возврата модулей  для  очереди.  Указанные

         модули в библиотеке (SYS$LIBRARY:SYSDEVCTL) управле-

         ния устройствами этой очереди используются для возв-

         рата устройства при каждом возврате задания.  После-

         довательность RESET имеет место после  любого  конца

         файла и перед любым концом задания.  Таким  образом,

         все страницы разделения заданий будут распечатывать-

         ся в том случае, когда устройство находится  в  сос-

         тоянии RESET. Признак разделения заданий RESET  сле-

         дует закреплять за той очередью,  которая  поддержи-

         вает характеристики изменяемости посредством команды

         PRINT/SETUP. Признак RESET  гарантирует,  что  любые

         признаки SETUP, определенные для  конкретного  зада-

         ния, не прикреплены к следующему заданию;

  [NO]TRAILER

       - определяет, что в конце каждого  задания  распечаты-




                           - 370 -

                        00152-01 97 10


         вается конечная страница.

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

  признака разделения заданий.



       9.3.6. Создание общих очередей вывода


       Задания печати, поставленные в  общую  очередь  вывода

  хранятся в ней до тех пор, пока не станет доступной одна из

  очередей печати или очередей терминала, приписанная к  дан-

  ной общей очереди. Общие очереди вывода полезны в  связи  с

  тем, что они распределяют обработку  заданий  печати  между

  устройствами. Общая очередь вывода показана на рис. 2.

       Если в системе имеются несколько  построчно-печатающих

  устройств одинакового типа, то следует создать  по  крайней

  мере одну общую очередь вывода.  Так  как  задания  печати,

  сформированные командой PRINT,  заносятся  по  умолчанию  в

  очередь SYS$PRINT, то эту очередь следует сделать  подразу-

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

  устройства, которые выполняют основные операции печати.

       Общая  очередь  создается  при  помощи   квалификатора

  /GENERIC команды INITIALIZE/QUEUE или команды START/QUEUE.

       Примечание. Для  общей  очереди  вывода  квалификаторы

  /FORM, /DEFAULT и /SEPARATE не имеют  силу.  Следовательно,

  елси    задан    квалификатор    /GENERIC,    то    команды

  INITIALIZE/QUEUE и START/QUEUE  языка  DCL  будут  отменять

  указанные квалификаторы. Они  допускаются  при  модификации

  атрибутов созданной общей очереди, но не будут иметь силу в

  операциях общей очереди.



                           - 371 -

                        00152-01 97 10


                    Общая очередь вывода

                            !    +----------+
                            !    ! Задание  !
                            !    !   250    !
                            !    +----------+
                            !
                            !    +----------+
                  Общая     !    ! Задание  !
                 очередь    !    !   249    !
                  вывода    !    +----------+
                            !
                            !    +----------+
                            !    ! Задание  !
                            !    !  240     !
                            !    +----------+
                            !
                    -------------------
                   !        !          !
                   !        !          !
                   !        !          !
                   !        !          !
       Очередь     !        !          ! Очередь
     печатающего   !        !          ! печатающего
      устройства   !        !          ! устройства
         LPB0      !                   !    LPA0
                   !                   !
    Устройство +------+             +------+ Устройство
      LPB0     !      !             !      !  LPA0
               +------+             +------+
                  !                     !
                  !                     !
                  ! +---------+         ! +---------+
                  ! ! Задание !         ! ! Задание !
                  ! !   231   !         ! !   225   !
                  ! +---------+         ! +---------+

                         Рис. 2


       Используя квалификатор /GENERIC, можно прикрепить оче-

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

  методов:

       1) по умолчанию. В данном методе параметр имени очере-

  ди не задается. Вместо этого, любая очередь печати, которая

  имеет общую разблокированную печать, прикрепляется к  общей

  очереди по умолчанию;




                           - 372 -

                        00152-01 97 10


       2) явным образом. В данном методе системный  админист-

  ратор задает имена очередей печати (печатающего  устройства

  и/или терминала) как параметры.

       В подпунктах 9.3.6.1 и 9.3.6.2 описывается, как  прик-

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



       9.3.6.1. Прикрепление    общих    очередей    по

                умолчанию


       Для создания общей очереди печати в системе с  неболь-

  шим числом печатающих устройств следует использовать подра-

  зумеваемую по умолчанию функцию квалификатора /GENERIC. При

  этом надо задать квалификатор /GENERIC, не определяя  ника-

  ких параметров имени очереди. Тогда все очереди печати, для

  которых разрешена общая печать, прикрепляются к общей  оче-

  реди.

       Очереди печати становятся доступными для общей  печати

  по умолчанию при своей инициализации. Очереди обычно  уста-

  навливаются для таких построчно-печатающих устройств, кото-

  рые размещены в удаленных  местах,  или  имеют  специальные

  формы, или обладают  своими  собственными  характеристиками

  печати с заблокированной общей печатью (с целью  исключения

  возможного прикрепления к общей очереди). Если квалификатор

  /NOENABLE_GENERIC используется с командами INITIALIZE/QUEUE

  START/QUEUE или SET QUEUE, то он блокирует общую  печать  в

  очереди печати.

       Четыре различных очереди печати,  включая  общую  оче-

  редь, создает следующая командная процедура:



                           - 373 -

                        00152-01 97 10


        $ INITIALIZE/QUEUE/START/DEFAULT=FLAG    LPA0:

        $ INITIALIZE/QUEUE/START/DEFAULT=FLAG    LPB0:

        $ INITIALIZE/QUEUE/START/NOENABLE_GENERIC   LPC0:

        $ INITIALIZE/QUEUE/START/GENERIC SYS$PRINT


  поскольку в этой процедуре вместе с квалификатором /GENERIC

  не заданы никакие имена очередей,  то  только  те  очереди,

  которым  по  умолчанию  разрешена  общая  печать  (LPA0:  и

  LPB0:), прикрепляются к общей очереди  SYS$PRINT.  Так  как

  для очереди LPC0: общая печать  явно  не  разрешена,  то  к

  общей очереди эта очередь не прикрепляется.

       Поскольку все общие очереди печати, для которых разре-

  шена общая печать, прикрепляются к общей очереди, то созда-

  ние более одной общей очереди печати никаких преимуществ не

  дает. В вычислительной системе  с  несколькими  печатающими

  устройствами метод "по умолчанию"  применяется  аналогичным

  образом.

       С помощью этого метода к общей очереди  можно  прикре-

  пить только один тип очереди вывода: или очередь печати или

  очередь терминала, но не обе. Для  создания  общей  очереди

  терминала надо задать квалификатор /GENERIC вместе с квали-

  фикатором /TERMINAL. Если необходимо установить общую  оче-

  редь, которая обслуживает оба печатающих устройства и  оче-

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

  прикрепления.









                           - 374 -

                        00152-01 97 10


       9.3.6.2. Явное прикрепление общей очереди


       В вычислительной системе с большим  числом  печатающих

  устройств различных типов следует явно приписывать  очереди

  печати к общей очереди, для этого используется квалификатор

  /GENERIC. С ним можно указывать список очередей.  Следующая

  командная процедура создает четыре очереди печати,  включая

  общую очередь:


  $ INITIALIZE/QUEUE/START/DEFAULT=FLAG    LPA0:

  $ INITIALIZE/QUEUE/START/DEFAULT=FLAG    LPB0:

  $ INITIALIZE/QUEUE/START/DEFAULT=(FLAG, TRAILER, NOFEED)-

  -$ LPC0:

  $ INITIALIZE/QUEUE/START/GENERIC=(LPA0:, LPB0:)  SYS$PRINT


       В этой процедуре очереди печати LPA0: и LPB0: прикреп-

  ляются к общей очереди печати  SYS$PRINT.  Печатающее  уст-

  ройство, прикрепленное к  очереди  LPA0:,  использует  спе-

  циальные формы и не подходит к общей печати. Поэтому оно не

  прикрепляется к общей очереди SYS$PRINT. Файлы,  занесенные

  по умолчанию в  очередь  SYS$PRINT,  распечатываются  через

  любое свободное, прикрепленное к  этой  очереди  печатающее

  устройство (LPA0: или LPB0:).

       Задавая в квалификаторе /GENERIC список имен очередей,

  можно прикрепить очереди печати, очереди терминалов или  те

  и другие к общей очереди печати. Этот метод позволяет также

  создавать несколько общих очередей.  Например,  может  поя-

  виться необходимость в создании отдельной общей очереди для

  каждого набора  печатающих  устройств,  имеющих  однотипные



                           - 375 -

                        00152-01 97 10


  характеристики:


  $ INITIALIZE/QUEUE/START/DEFAULT=FLAG   LPA0:

  $ INITIALIZE/QUEUE/START/DEFAULT=FLAG   LPB0:

  $ INITIALIZE/QUEUE/START/DEFAULT=FLAG   LPC0:

  $ INITIALIZE/QUEUE/START/DEFAULT=FLAG   TTD5

  $ INITIALIZE/QUEUE/START/GENERIC=(LPA0:, LPB0:)  SYS$PRINT

  $ INITIALIZE/QUEUE/START/GENERIC=(LPC0:, TTD5)  SMALLFORM


  эта  командная  процедура  создает   две   общие   очереди:

  SYS$PRINT для заданий печати программ и SMALLFORM для зада-

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

  Здесь предполагается, что очереди печати LPC0: и TTD5 уста-

  новлены для заданий специальных форм.



       9.3.7. Создание логических очередей


       Логическая очередь - это поименованная очередь,  кото-

  рая при своей инициализации не прикрепляется ни к  печатаю-

  щему устройству, ни к терминалу.  Задания,  поставленные  в

  логическую очередь, хранятся в ней до тех пор, пока она  не

  будет прикреплена к очереди печати, и обе очереди не  будут

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

  мер, для хранения заданий печати низкоприоритетных  пользо-

  вателей с целью распечатки таких  заданий  во  время  малой

  загрузки МОС ВП.

       Прикрепление логической очереди к очереди печати  осу-

  ществляется с помощью команды ASSIGN/QUEUE языка DCL.  При-

  менять эту команду могут только пользователи, имеющие  при-



                           - 376 -

                        00152-01 97 10


  вилегию OPER или доступ типа E к очередям.

       Следующие команды инициализируют и  запускают  очередь

  печати LPA0: и инициализируют логическую очередь  с  именем

  HOLD:


       $ INITIALIZE/QUEUE/START/DEFAULT=FLAG   LPA0:

       $ INITIALIZE/QUEUE HOLD


       Здесь задания поставлены в очередь  печати  LPA0:  для

  распечатки. Однако все задания, поставленные  в  логическую

  очередь HOLD, хранятся в ней до тех пор, пока  эта  очередь

  не будет прикреплена к очереди LPA0: и  не  будет  запущена

  следующим образом:


        $ ASSIGN/QUEUE  LPA0:  HOLD

        $ START/QUEUE  HOLD


       Для открепления логической очереди, введенной  в  этом

  примере, используется следующая процедура:

       1) остановить логическую очередь  при  помощи  команды

  STOP/QUEUE/NEXT;

       2) открепить логическую  очередь  при  помощи  команды

  DEASSIGN/QUEUE.

       Следующие команды открепляют логическую очередь HOLD:


        $ STOP/QUEUE/NEXT  HOLD

        $ DEASSIGN/QUEUE  HOLD









                           - 377 -

                        00152-01 97 10


       9.3.8. Установка   устройств,    обслуживающих

              через спул


       Спул - это  метод  использования  внешней  памяти  для

  буферизации данных, обмен которыми происходит между медлен-

  ными устройствами ввода-вывода,  например,  построчно-печа-

  тающими устройствами и физической памятью.  Медленные  уст-

  ройства, которые могут быть оконечными источниками или око-

  нечными  приемниками  буферизованных  данных  ввода-вывода,

  называются устройствами, обслуживающими  через  спул.  Уст-

  ройства внешней памяти называются промежуточными  устройст-

  вами.

       Как правило, выполняющиеся программы запрашивают вход-

  ную информацию или выдают выходную информацию непериодично.

  Если они будут считывать информацию непосредственно с  мед-

  ленных устройств и  писать  информацию  непосредственно  на

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

  будет определяться скоростью медленных устройств. Если про-

  цесс будет выводить данные прямо на печатающее  устройство,

  то на время распечатки листинга он будет ограничен в  своих

  действиях. Кроме того, процессы, которым  необходимо  печа-

  тающее устройство, будут ждать освобождения этого устройст-

  ва.

       Для согласования требований ввода-вывода и для улучше-

  ния характеристик работы вычислительной системы можно уста-

  новить устройства, как устройства обслуживающие через спул.

  Всем пользователям и их программам механизм  спула  прозра-

  чен.



                           - 378 -

                        00152-01 97 10


       Спул вывода делает информацию, поступающую от  процес-

  сора, доступной для передачи на  устройство,  обслуживающее

  через спул (например, на построчно-печатающее  устройство),

  при помощи размещения этой информации на промежуточном уст-

  ройстве (таком, как диск).  Спул  вывода  используется  для

  создания выходных файлов печати на диске. После их подкачки

  на диск, задания печати ставятся в очередь для  последующей

  обработки.

       Фактическая пересылка входной информации из  устройст-

  ва, обслуживающего через спул, на промежуточное устройство,

  или выходной информации с промежуточного устройства на уст-

  ройство, обслуживающее через спул, иногда реализуется  про-

  цессами, называемыми симбионтами.

       Симбионт вывода считывает данные с промежуточного уст-

  ройства и записывает их на устройство вывода, обслуживающее

  через спул, со скоростью устройства вывода. Данные на  про-

  межуточном  устройстве  генерируются  программами,  которые

  передают эти данные непосредственно в файлы, размещенные на

  промежуточном устройстве. Тем самым, время, в течении кото-

  рого программы ожидают  ввод-ввода,  минимизируется.  Когда

  выходной файл заполнится, он ставится в очередь для  печати

  симбионтом вывода. При этом могут выполняться  одновременно

  два задания: пока симбионт вывода распечатывает файл,  вре-

  менно хранящийся на промежуточном устройстве, другая  прог-

  рамма может заполнять следующий файл на этом устройстве.

       В вычислительной системе, в которой и устройства ввода

  и устройства вывода являются  устройствами,  обслуживающими




                           - 379 -

                        00152-01 97 10


  через спул, необходимо создать и запустить по крайней  мере

  одну пакетную очередь для работы с выходными данными,  обс-

  луживаемыми через спул, и одну очередь вывода в каждом уст-

  ройстве вывода для работы с выходными данными,  обслуживае-

  мыми через спул.

       Для печатающего устройства спул вывода создается  пос-

  редством установки этого устройства в качестве  устройства,

  обслуживающего  через   спул,   с   помощью   команды   SET

  DEVICE/SPOOLED языка DCL [2].  Применять  ее  могут  только

  пользователи, имеющие привилегию OPER.

       Команду SET DEVICE можно использовать для каждого уст-

  ройства вывода, обслуживающего через  спул,  с  тем,  чтобы

  задать и очередь печати, в которую заносятся файлы спула, и

  промежуточное устройство, на которое записываются эти  фай-

  лы. По умолчанию имя очереди будет тем же самым, что и  имя

  устройства  печати,  а  промежуточным   устройством   будет

  SYS$DISK.

       При выборе промежуточного устройства следует  убедить-

  ся, что оно имеет достаточный об'ем памяти для тома постав-

  ленной в очередь, выходной информации. Если системный адми-

  нистратор собирается усилить дисковые квоты на  промежуточ-

  ное устройство, то он должен проверить, что  все  предпола-

  гаемые пользователи устройства, обслуживающего через  спул,

  имеют авторизованную на этом устройстве квоту.

       Следующая команда устанавливает спул вывода для  печа-

  тающего устройства LPA0: и по умолчанию прикрепляет  его  к

  промежуточному  устройству  SYS$DISK  и  к  общей   очереди




                           - 380 -

                        00152-01 97 10


  SYS$PRINT:


        $ SET DEVICE/SPOOLED=SYS$PRINT   LPA0:


  не  исключены  ситуации,  в  которых  такая  синтаксическая

  структура может привести к ошибкам. Поэтому в целях  надеж-

  ности следует всегда явно специфировать промежуточный  диск

  и очередь.

       При копировании  файла  на  устройство,  обслуживающее

  через спул, он заносится в ту  очередь,  которая  во  время

  закрывания файла задана командой  SET  DEVICE.  Если  общая

  очередь прикрепляется к  устройству,  обслуживающему  через

  спул, то задание , скопированное на это устройство, ставит-

  ся в общую очередь, которая, в свой черед, ставит это зада-

  ние в одну из прикрепленных к ней  очередей.  В  результате

  задание, скопированное, например, в  устройство  LPA0:,  не

  обязательно распечатывается на печатающем устройстве LPA0:,

  вместо этого оно может быть распечатано на одном из  других

  устройств из числа тех, которые прикреплены к общей  очере-

  ди.

       Примечание. После установки устройства, обслуживающего

  через спул, необходимо его проверить. Это  целесообразно  в

  связи с тем, что ошибки диска или ошибки присвоения  очере-

  дям имен не обнаруживаются до тех пор, пока спул  не  будет

  опробован. Для этого можно использовать командную процедуру

  типа:


    !         *****TESTING SPOOLED DEVICE***

    $ SET DEVICE/SPOOLED=(SYS$PRINT, SYS$SYSDEVICE:) LPA0:



                           - 381 -

                        00152-01 97 10


    $ CREATE TEST.LIS

    ! THIS IS A TEST OF A SPOOLED DEVICE.

    ! THIS IS A TEST OF A SPOOLED DEVICE.

     Ус/Z

    $ COPY TEST.LIS LPA0:

    $ EXIT


       Необходимо решить, какие устройства будут  включены  в

  базовый комплект вычислительной  системы  в  качестве  уст-

  ройств, обслуживающих через спул. Как правило,  такие  уст-

  ройства устанавливаются путем внесения записей в  командную

  процедуру запуска МОС ВП.

       При загрузке МОС ВП следует убедиться, что по  крайней

  мере одно  построчно-печатающее  устройство  является  уст-

  ройством, обслуживающим через спул. В вычислительной систе-

  ме с  одним  построчно-печатающим  устройством,  печатающее

  устройство, обслуживающее через спул, будет подразумеваемым

  по умолчанию системным печатающим устройством. В зависимос-

  ти от конфигурации вычислительной системы и от предполагае-

  мых эксплуатационных потребностей можно  во  время  запуска

  установить  большее  количество  устройств,   обслуживающих

  через спул. В ходе работы можно установить  и  другие  уст-

  ройства, как устройства, обслуживающие через  спул,  причем

  без перезагрузки МОС ВП. Как правило,  построчно-печатающие

  устройства должны быть именно такими устройствами.

       В необходимом случае можно отключить спул терминалов и

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

  следует остановить соответствующие очереди.



                           - 382 -

                        00152-01 97 10


       9.3.9. Установка очередей печатающих устройств

              и    построчно-печатающих    устройств,

              обслуживающих через спул


       При установке и наладке очередей печатающих устройств,

  построчно-печатающих устройств, обслуживающих через спул, и

  терминалов целесообразно придерживаться следующих правил:

       1) задавать соответствующие характеристики для каждого

  печатающего устройства следует командой SET PRINTER [2];

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

  квалификаторов /TRUNCATE и /WRAP команды  DEFINE/FORM  (см.

  замечание);

       3) для  того,  чтобы  установить  построчно-печатающее

  устройство, обслуживающее через спул, следует  использовать

  команду SET DEVICE/SPOOLED (см. п. 9.3.8);

       4)  для  обеспечения  вывода  информации  на  построч-

  но-печатающее устройство, обслуживающее  через  спул,  надо

  инициализировать его очередь с тем же  именем,  что  и  имя

  печатающего устройства, обслуживающего через спул, и запус-

  тить эту очередь. Кроме того, используя квалификатор /ON  с

  командой INITIALIZE, можно приписать некоторой очереди имя,

  отличное от имени физического  печатающего  устройства  (п.

  9.3.1);

       5) одной из  очередей  печати  следует  приписать  имя

  SYS$PRINT. В вычислительных  системах  с  одним  печатающим

  устройством надо приписать очереди  печати  имя  SYS$PRINT.

  Если   в   вычислительной   системе    имеются    несколько

  построчно-печатающих устройств, то надо сделать по  крайней



                           - 383 -

                        00152-01 97 10


  мере одну очередь печати общей очередью и приписать ей  имя

  SYS$PRINT. В п. 9.3.6  описывается,  как  установить  общие

  очереди печати.


        Замечание по управлению переполнением строк


       Для устройств, управляемых симбионтами  печати,  реко-

  мендуется производить  установку  терминалов  и  печатающих

  устройств так, чтобы избежать скучивания и  усечения  строк

  печати из-за физических ограничений устройства. Кроме того,

  различные формы  имеют  различную  настройку,  поэтому  для

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

  ления форм. После этого пользователи могут переключать одну

  форму на другую без останова очереди, изменения администра-

  тором конфигурации устройств и перезапуска очереди. Следует

  заметить, что формы, имеющие одинаковые значения для квали-

  фикатора /STOCK, монтируются автоматически без вмешательст-

  ва администратора.

       Управление  переполнением  строк  осуществляется   при

  помощи следующих квалификаторов команды DEFINE/FORM:

  /TRUNCATE

       - указывает, что данные с правого края будут  отбрасы-

         ваться. Если этот квалификатор не задан, то  никаких

         действий не производится;

  /WRAP

       - указывает, что при выходе данных за правый  край,  в

         них будет вставлен перевод каретки и перевод строки.

         Если этот квалификатор не задан, то никаких действий




                           - 384 -

                        00152-01 97 10


         не производится.

       Следует заметить, что драйвер устройства  будет  рабо-

  тать со значениями, заданными квалификаторами  /TRUNCATE  и

  /WRAP в командах SET PRINTER и SET TERMINAL,  только  после

  того, как симбионт печати закончит форматирование данных.

       На рис. 3,  4,  5  иллюстрируются  некоторые  наиболее

  общие варианты расположения построчно-печатающих устройств,

  обслуживающих через спул, и очередей печати.



       9.3.9.1. Конфигурация   с    одним    печатающим

                устройством


       На рис. 3 изображена  типичная  конфигурация  спула  и

  очередей для системы с одним построчно-печатающим устройст-

  вом. Команды


   $ SET PRINTER/LOWER LPA0:

   $ SET DEVICE/SPOOLED=SYS$PRINT LPA0:

   $ INITIALIZE/QUEUE/START/DEFAULT=FLAG/ON=LPA0: SYS$PRINT


  выполняют следующие действия:

       1) задают характеристики печатающего устройства LPA0:;

       2) устанавливают устройство LPA0: как устройство, обс-

  луживающее через спул;

       3) инициализируют и запускают очередь печати для  уст-

  ройства LPA0:, закрепляют за ней имя SYS$PRINT;

       4) помещают все задания печати по умолчанию в  очередь

  по имени SYS$PRINT и распечатывают их из этой очереди.





                           - 385 -

                        00152-01 97 10


            Установка очереди печати в системе с одним
                   печатающим устройством

                                       Построчно-печатающее
        Очередь                            устройство
  +------------------+                +------------------+
  !   SYS$PRINT      !                !                  !
  !                  !                !                  !
  ! Подразумеваемая  !--------------->!                  !
  ! по умолчанию     !                !                  !
  ! очередь печати   !                !                  !
  +------------------+                +------------------+
                                             LPA0

                          Рис. 3



       9.3.9.2. Конфигурация   с   двумя    печатающими

                устройствами


       На рис. 4 показана типичная конфигурация спула и  оче-

  редей в системе с двумя построчно-печатающими устройствами,

  которые имеют одинаковые характеристики. Следующие  команды

  выполняют перечисленные за ними действия:


  $! установка характеристик печатающего устройства LPA0;

  $! установка LPA0, как устройства, обслуживающего через

  $! спул, и установка очереди LPA0:

  $!

  $ SET PRINTER/LOWER LPA0:

  $ SET DEVICE/SPOOLED=SYS$PRINT  LRA0:

  $ INITIALIZE/QUEUE/START/DEFAULT=FLAG  LPA0:

  $!

  $! установка характеристик печатающего устройства LPB0;

  $! установка LPB0, как устройства, обслуживающего через

  $! спул, и установка очереди LPB0:




                           - 386 -

                        00152-01 97 10


  $!

  $ SET PRINTER/LOWER LPB0:

  $ SET DEVICE/SPOOLED=SYS$PRINT  LPB0:

  $ INITIALIZE/QUEUE/START/DEFAULT=FLAG  LPB0:

  $!

  $! установка общей очереди SYS$PRINT

  $!

  $ INITIALIZE/QUEUE/START/GENERIC SYS$PRINT


       1) задают характеристики устройства LPA0:;

       2)   устанавливают   построчно-печатающее   устройство

  LPA0:, как устройство, обслуживающее через спул;

       3) инициализируют и запускают очередь печати LPA0:;

       4) задают характеристики устройства LPB0:;

       5)   устанавливают   построчно-печатающее   устройство

  LPB0:, как устройство, обслуживающее через спул;

       6) инициализируют и запускают очередь печати LPB0:;

       7) инициализируют и  запускают  общую  очередь  печати

  SYS$PRINT, к ней по умолчанию  приписывают  очереди  печати

  LPA0: и LPB0: (см. подпункт 9.3.6.1);

       8) по команде PRINT все задания печати,  явно  направ-

  ленные в одно из печатающих устройств, заносятся в очередь,

  связанную с указанным печатающим устройством;

       9) задания печати, поставленые в  очередь  по  команде

  PRINT без указания устройства, помещаются  по  умолчанию  в

  общую очередь SYS$PRINT. Из общей очереди задания  распеча-

  тываются на том печатающем  устройстве,  которое  свободно,

  это делается через одну из двух очередей печати  LPA0:  или



                           - 387 -

                        00152-01 97 10


  LPB0:;

       10) файлы печати, обслуживаемые через спул  и  направ-

  ляемые в LPA0: или  в  LPB0:,  заносятся  в  общую  очередь

  SYS$PRINT, которая связана с тем и другим  печатающим  уст-

  ройством. Из общей очереди эти задания  распечатываются  на

  том устройстве, которое свободно (в  качестве  альтернативы

  можно установить устройство, обслуживающее  через  спул,  и

  приписать каждому устройству такое же имя  очереди,  как  и

  имя устройства. Это гарантирует, что задания будут распеча-

  тываться на том печатающем устройстве, на которое передают-

  ся файлы).


          Установка очередей печати в системе с двумя
                     устройствами

              Очереди
          +---------------+              Построчно-печатающие
          ! Общая очередь !                    устройства
          !  печати       !
  +-------!  SYS$PRINT    !                    +------------+
  !   +---!               !                    !            !
  !   !   +---------------+          +-------->!            !
  !   !   !               !          !         !            !
  !   !   !     LPA0      !          !         +------------+
  !   +-->!               !----------+              LPA0
  !       !  Общая печать !
  !       !  разрешена    !
  !       +---------------+
  !       !               !                   +-------------+
  !       !     LPB0      !                   !             !
  +------>!               !------------------>!             !
          !  Общая печать !                   !             !
          !  разрешена    !                   +-------------+
          +---------------+                        LPB0

                           Рис. 4










                           - 388 -

                        00152-01 97 10


       9.3.9.3. Конфигурация   с   тремя    печатающими

                устройствами


       На рис. 5 показана типичная конфигурация спула и  оче-

  редей для системы с тремя построчно-печатающими устройства-

  ми: два из них имеют одинаковые  характеристики,  а  третье

  использует специальные формы, имеет уникальные  характерис-

  тики печати или размещено в удаленном месте.  Конфигурация,

  показанная на рис. 5, в основном та же, что и на рис. 4, но

  она дополнена печатающим устройством,  обслуживающим  через

  спул, LPC0:, а также созданной и запущенной очередью LPC0:.

  Из-за специальных форм, уникальных характеристик, или  уда-

  ленного расположения печатающее устройство LPC0: для  общей

  печати не подходит. Установку и запуск очередей  для  такой

  конфигурации устройств  производят  команды,  показанные  в

  примере.

       Пример.


  $!

  $! установка характеристик печати, установка LPA0:,

  $! как устройства, обслуживающего через спул,

  $! и установка очереди LPA0:.

  $!

  $ SET PRINTER/LOWER  LPA0:

  $ SET DEVICE/SPOOLED=SYS$PRINT  LPA0:

  $ INITIALIZE/QUEUE/DEFAULT=FLAG/START  LPA0:

  $!

  $! установка характеристик печати, установка LPB0:,




                           - 389 -

                        00152-01 97 10


  $! как устройства, обслуживающего через спул,

  $! и установка очереди LPB0:.

  $!

  $ SET PRINTER/LOWER  LPB0:

  $ SET DEVICE/SPOOLED=SYS$PRINT  LPB0:

  $ INITIALIZE/QUEUE/DEFAULT=FLAG/START  LPB0:

  $!

  $! установка характеристик печати, установка LPC0,

  $! как устройства, обслуживающего через спул,

  $! и установка очереди LPC0:.

  $!

  $ SET PRINTER/LOWER  LPC0:

  $ SET DEVICE/SPOOLED=LPC0:  LPC0:

  $ INITIALIZE/QUEUE/DEFAULT=FLAG/NOENABLE_GENERIC -

  _$ /START LPC0:

  $!

  $! установка общей очереди SYS$PRINT

  $!

  $ INITIALIZE/QUEUE/GENERIC/START  SYS$PRINT


       Эти команды дают те же результаты, что и  команды  для

  двух печатающих устройств  (см.  подпункт  9.3.9.2),  кроме

  следующих исключений:

       1) задают характеристики для устройства LPC0:;

       2)   устанавливают   построчно-печатающее   устройство

  LPC0:, как устройство, обслуживающее через спул;

       3) инициализируют и запускают общую очередь LPC0:  без

  разрешения общей печати;



                           - 390 -

                        00152-01 97 10


       4) заносят в очередь LPC0: задания печати,  явно  нап-

  равляемые на  печатающее  устройство  LPC0:,  общая  печать

  через очередь  SYS$PRINT  на  печатающем  устройстве  LPC0:

  никогда не выполняется.

               Установка очередей печати в системе с тремя
                         печатающими устройствами

             Очереди
         +--------------+                      Печатающие
         ! Общая очередь!                      устройства
         !    печати    !
  +------!  SYS$PRINT   !                    +------------+
  !  +---!              !                    !            !
  !  !   +--------------+          +-------->!            !
  !  !   !     LPA0     !          !         !            !
  !  !   !              !          !         +------------+
  !  +-->!              !----------+              LPA0
  !      ! Общая печать !
  !      !  разрешена   !
  !      +--------------+
  !      !     LPB0     !                    +------------+
  !      !              !                    !            !
  !----->! Общая печать !------------------->!            !
         !  разрешена   !                    !            !
         +--------------+                    +------------+
         !    LPC0      !                          LPB0
         !              !
         !              !-----------+
         ! Общая печать !           !        +------------+
         !  запрещена   !           !        !            !
         +--------------+           +------->!            !
                                             !            !
                                             +------------+
                                                  LPC0

                         Рис. 5



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

            очередями


       В пп. 9.4.1...9.4.7 описываются процедуры для управле-

  ния очередями печати и пакетными очередями, к ним относятся

  процедуры для:




                           - 391 -

                        00152-01 97 10


       - слияния очередей печати;

       - возобновления выполнения задания печати;

       - согласования форм печати;

       - завершения, повторного занесения в очередь и  хране-

         ния задания печати;

       - завершения выполнения пакетного задания;

       - удаления пакетного задания  или  задания  печати  из

         очереди;

       - перезапуска диспетчера заданий.



       9.4.1. Слияние очередей печати


       Если при работе  с  некоторым  печатающим  устройством

  возникают трудности, то очередь, прикрепленную к этому уст-

  ройству, можно от него открепить и прикрепить ее к  другому

  устройству. В  приведенной  здесь  процедуре  описано,  как

  слить две очереди печати без потери  заданий  в  каждой  из

  них. Следует заметить, что все  приведенные  команды  могут

  применяться только пользователями, имеющими привилегию OPER

  или доступ типа E к  очереди.  Процедура  слияния  очередей

  печати заключается в следующем:

       1) остановить  очередь,  прикрепленную  к  неправильно

  функционирующему печатающему устройству, при помощи следую-

  щей команды:


          $ STOP/QUEUE/NEXT имя-очереди


  если устройство функционирует, то эта команда  препятствует

  обслуживанию последующих заданий, находящихся в очереди, но



                           - 392 -

                        00152-01 97 10


  позволяет завершиться текущему заданию. Если же  устройство

  не функционирует, то используется команда STOP/QUEUE/RESET;

       2) вновь поставить в очередь текущее задание,  исполь-

  зуя следующую команду


        $ STOP/REQUEUE имя-очереди


  повторная постановка в очередь текущего  задания  обеспечи-

  вает его распечатку с последней контрольной точки. Посколь-

  ку очередь остановлена, то другие задания этой очереди обс-

  лужены не будут;

       3) перевести устройство в автономный режим;

       4) задания, стоящие в очереди к тому печатающему  уст-

  ройству, которое дает сбои, направить к другому печатающему

  устройству. Это делается командой:


         $ ASSIGN/MERGE имя-очереди-1 имя-очереди-2


  следует проверить, соответствуют ли  характеристики  нового

  печатающего устройства новым заданиям.



       9.4.2. Возобновление выполнения заданий печати


       Для перезапуска остановленной  очереди  и  определения

  положения, с которого должна возобновиться печать  текущего

  задания, надо ввести команду START/QUEUE с любым из следую-

  щих квалификаторов:

  /[NO]BACKWARD[=страницы]

       - задает число страниц файла, которые будут возвращены

         в распечатку перед возобновлением печати. Значение 1



                           - 393 -

                        00152-01 97 10


         указывает, что печать должна возобновиться с  начала

         текущей страницы. Если значение страниц не  указано,

         то распечатка  будет  возвращена  на  одну  страницу

         назад;

  /[NO]FORWARD[=страницы]

       - задает число страниц файла, на  которые  надо  сдви-

         нуться вперед перед возобновлением печати.  Значение

         1 указывает, что печать должна возобновиться с нача-

         ла текущей страницы. Если число страниц опущено,  то

         сдвиг происходит на одну страницу вперед;

  /[NO]SEARCH=строка

       - указывает на то, что печать должна возобновиться  со

         страницы,  содержащей  определенную  строку.   Поиск

         строки осуществляется в порядке возрастания страниц,

         начиная со страницы, следующей за текущей страницей.

         Во время поиска последовательность знаков  табуляции

         и пробелов трактуется как один  пробел,  специфичные

         случаи игнорируются. Всякое позиционирование  файла,

         заданное  квалификаторами  /BACKWARD,  /FORWARD  или

         TOP_OF_FILE, выполняется до поиска;

  /TOP_OF_FILE

       - указывает на необходимость  возобновления  печати  с

         начала файла.

       Если с одной командой START/QUEUE применяются несколь-

  ко позиционирующих квалификаторов, то позиционирование фай-

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

       1) TOP_OF_FILE;




                           - 394 -

                        00152-01 97 10


       2) BACKWARD, FORWARD;

       3) SEARCH.

       Перезапуск очереди LPA0: и  позиционирование  файла  с

  начала страницы 15 выполняет следующая команда:


        $ START/QUEUE/TOP/FORWARD=15  LPA0:


  здесь файл для задания, которое  распечатывалось  во  время

  останова очереди, сначала позиционируется на начало  первой

  страницы, а затем на 15 страниц вперед.



       9.4.3. Маскирующие формы печати


       Для печати замаскированных данных с помощью  маскирую-

  щих форм печати вводится команда START/QUEUE вместе с  ква-

  лификатором /ALIGN:


        /ALIGN=(вариант1[,вариант2])


  управление числом замаскированных страниц и типом  маскиро-

  вания данных осуществляют следующие варианты:

  MASK

       - указывает,  что  входные  данные  маскируются  путем

         замены буквенных симолов на  символ  X,  а  цифровых

         символов - на символ 9. Маскирующие симолы позволяют

         забить информацию, которую нежелательно  раскрывать.

         Если вариант MASK опущен,  то  по  умолчанию  данные

         распечатываются неизмененными;

  N

       - это десятичное число в диапазоне от 1 до 20, которое



                           - 395 -

                        00152-01 97 10


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

         страниц. По умолчанию распечатывается одна  страница

         замаскированных данных.

       Квалификатор /ALIGN можно использовать вместе с любыми

  квалификаторами позиционирования  файла,  описанными  в  п.

  9.4.2. При этом позиционирование файла выполняется до  мас-

  кировки распечатываемых данных. После завершения  маскиров-

  ки, очередь переводится в состояние паузы. Эту очередь мож-

  но перезапустить, вводя команду START/QUEUE  вновь.  Печать

  возобновляется с той точки, с которой  началась  маскировка

  данных. Т.е. задача  неявно  возвращается  назад  на  число

  страниц, распечатываемых замаскированными.

       В частности,  перезапуск  очереди  LPA0:  осуществляет

  команда:


        $ START/QUEUE/BACKWARD=2/ALIGN=(MASK,4)  LPA0:


  файл того задания, которое распечатывалось,  когда  очередь

  перешла в состояние паузы,  возвращается  на  две  страницы

  назад до возобновления печати. Квалификатор /ALIGN приводит

  к печати четырех страниц замаскированных символов и к  пос-

  ледующему переводу очереди в состояние паузы.



       9.4.4. Завершение,   повторное   занесение   в

              очередь и хранение задания печати


       В этом пункте описано, как завершить, повторно  поста-

  вить в очередь и сохранить задание печати, которое распеча-

  тывается в данный момент. Обычно эти  действия  выполняются



                           - 396 -

                        00152-01 97 10


  только в тех случаях, когда владелец задания потребует  его

  завершения или когда информация распечатывается в  искажен-

  ном виде.

       Для завершения задания печати надо ввести команду:


       $ STOP/ABORT имя-очереди


  эта команда завершает текущее  задание  и  начинает  печать

  следующего, стоящего в очереди задания. Ее могут  использо-

  вать лица, имеющие привилегию OPER, доступ типа E к очереди

  или типа D к текущему заданию.

       Завершение печати текущего  задания  очереди  LPA0:  и

  немедленный выбор из очереди для печати следующего  задания

  выполняет команда:


        $ STOP/ABORT    LPA0:


       Для останова и повторного занесения в очередь текущего

  задания используется команда:


    $ STOP/QUEUE/REQUEUE=[имя-очереди] имя-очереди[:]


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

  печати и к повторному занесению этого задания в текущую или

  альтернативную очередь. Данная очередь не  останавливается,

  и производится обработка других заданий (если они имеются).

       Для сохранения задания печати надо ввести команду:


    $ STOP/QUEUE/REQUEUE=[имя-очереди]/HOLD имя-очереди[:]


       При задании  квалификатора  /HOLD  прерванная  очередь




                           - 397 -

                        00152-01 97 10


  переводится в состояние хранения для последующей реализации

  командами     SET     QUEUE/ENTRY/RELEASE      или      SET

  QUEUE/ENTRY/NOHOLD. Если задание, которое было переведено в

  состояние  хранения  обрабатывать  не  нужно,  то  командой

  DELETE/ENTRY его можно удалить.

       Следует заметить, что, если задание повторно поставле-

  но в пакетную очередь, то  необходимо  задать  квалификатор

  /ENTRY, например:


  $ STOP/QUEUE/ENTRY=номер-записи/REQUEUE=[имя-очереди]-

  _$ имя-очереди[:]



       9.4.5. Завершение выполнения пакетного задания


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

  тщательная оценка ситуации показывает, что  задание  должно

  быть завершено  или  когда  владелец  задания  требует  его

  завершения. Завершение выполнения  пакетного  задания  осу-

  ществляется следующим образом:

       1) для определения номера записи пакетного  задания  и

  имени очереди, в  которой  находится  это  задание,  ввести

  команду:


         $ SHOW QUEUE/BATCH/ALL


       2) удалить пакетное задание, введя одну  из  следующих

  команд:


          $ STOP/ENTRY=номер-записи имя-очереди

          $ DELETE/ENTRY=номер-записи имя-очереди



                           - 398 -

                        00152-01 97 10


  команды STOP/ENTRY и DELETE/ENTRY  могут  применять  только

  пользователи, имеющие привилегию OPER, доступ типа E к оче-

  реди или доступ типа D к специфированному заданию.

       В примере показано, как завершить пакетное задание.


        Пример.



         $ SHOW QUEUE/BATCH/ALL

    BATCH QUEUE SYS$BATCH

     JOBNAME       USERNAME   ENTRY  STATUS

     -------       --------   -----  -------

     MAILER        TAMARA     1701   HOLDING UNTIL

                                     8-JUL-1987 10:33

     ASSEM_JOBCTL  IVANOV      1152   HOLDING UNTIL

                                     12-JUL-1987 00:00

    BATCH QUEUE SPECIAL

    BATCH QUEUE TEXT_PROC

     JOBNAME       USERNAME    ENTRY  STATUS

     -------       --------    -----  -------

     2307SMRCL     MACRO       1719   EXECUTING

     2307SMRDS     MACRO       1720   PENDING

         $ STOP/ENTRY=1719  TEXT_PROC


       Предположим, что  пользователь  заметил,  что  задание

  1719 вышло из под  контроля.  Пусть  этот  пользователь  не

  является владельцем задания и не имеет достаточно  привиле-

  гий, чтобы остановить его. Этот пользователь  обращается  к

  системному   администратору.   Последний   командой    SHOW




                           - 399 -

                        00152-01 97 10


  QUEUE/BATCH/ALL определяет ту очередь,  в  которую  введено

  это задание. Выданная информация  показывает,  что  задание

  1719 находится в очереди TEXT_PROC. После этого администра-

  тор удаляет задание с помощью команды STOP/ENTRY.



       9.4.6. Удаление пакетного задания или  задания

              печати из очереди


       В этом пункте описывается, как удалить пакетное  зада-

  ние или задание печати, которое поставлено в некоторую оче-

  редь, но еще не было обработано. Обычно это действие выпол-

  няется после тщательной оценки  его  необходимости  или  по

  требованию владельца задания.  Удаление  пакетного  задания

  или задания печати из очереди выполняется  следующим  обра-

  зом:

       1) для того, чтобы определить номер записи о задании и

  имя очереди, в которой находится задание, ввести команду:


            $ SHOW QUEUE/DEVICE/ALL


       2) удалить задание при помощи следующей команды:


            $ DELETE/ENTRY=номер-записи имя-очереди


  команду DELETE/ENTRY могут применять  только  пользователи,

  имеющие привилегию OPER, доступ типа E к очереди или доступ

  типа D к специфированному заданию.

       В примере показано, как удалить задание печати из оче-

  реди.





                           - 400 -

                        00152-01 97 10


       Пример.


     $ SHOW QUEUE/DEVICE/ALL

     PRINTER QUEUE NORMAL, ON LPA0:

    JOBNAME   USERNAME  ENTRY  BLOCKS  STATUS

    --------  --------  -----  ------  -------

    TUBING    TAMARA    1724    891    PRINTING

    TRICKS    IVANOV    1725    962    PENDING

    PRINTER QUEUE LETTER, ON LPB0:

    GENERIC PRINTER QUEUE SYS$PRINT



     $ DELETE/ENTRY=1725 NORMAL


       Пользователь потребовал удаления задания 1725. Систем-

  ный администратор вводит команду SHOW QUEUE/DEVICE/ALL  для

  того, чтобы определить, в какую очередь это задание постав-

  лено. Выданная  информация  показывает,  что  задание  1725

  находится в очереди NORMAL. После этого администратор  пре-

  рывает выполнение задания,  вводя  команду  DELETE/ENTRY  и

  задавая в ней номер задания 1725.



       9.4.7. Перезапуск диспетчера заданий


       Диспетчер заданий предназначен для  перезапуска  после

  сбоя. Однако, если процесс JOB_CONTROL должен быть  переза-

  пущен вручную, то сначала надо остановить все процессы сим-

  бионтов, которые имеют код UIC равный [1,4] и имя следующе-

  го вида:





                           - 401 -

                        00152-01 97 10


       Имя-процесса SYMBIONT_NNNN


  затем надо вызвать командную процедуру STARTUP.COM  следую-

  щим образом:


          $ @SYS$SYSTEM:STARTUP JOBCTL
















































                           - 402 -

                        00152-01 97 10


             10. Ошибки и другие события в МОС ВП



       Мос вп предоставляет  средства  для  записи  и  выдачи

  сообщений об ошибках и других событиях.  К  этим  средствам

  относится возможность:

       - регистрации и выдачи сообщений о событиях в МОС ВП;

       - регистрации сообщений оператору;

       - обработки запросов пользователей.

       При  возникновении  серьезной  неисправности,  МОС  ВП

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

  состояния, которое имело место при обнаружении ошибки  [4].

  Этот дамп можно анализировать с целью  определения  причины

  отказа МОС ВП.



       10.1. Операции регистрации ошибок


       Мос вп автоматически записывает сообщения об ошибках в

  самую  последнюю  версию   файла   SYS$ERRORLOG:ERRLOG.SYS.

  Информацию, содержащуюся в этом файле  можно  воспроизвести

  на экране с помощью команды ANALYZE/ERROR_LOG [2].

       Средство регистрации ошибок состоит из трех частей:

       1) набора  управляющих  программ,  которые  определяют

  ошибки и события и записывают связанную с ними информацию в

  буфера регистрации ошибок;

       2) процесса по имени ERRFMT, который периодически очи-

  щает буфера  регистрации  ошибок,  преобразует  дескрипторы

  ошибок  в  стандартный  формат  и  хранит  сформатированную

  информацию в файле на системном диске;



                           - 403 -

                        00152-01 97 10


       3) обслуживающей программы ANALYZE/ERROR_LOG,  активи-

  зируемой одноименной командой языка DCL, которая применяет-

  ся пользователями для  выборочного  получения  сообщений  о

  содержимом файле регистрации ошибок.

       Выполнимые программы и процесс ERRFMT работают  непре-

  рывно без вмешательства пользователей. Эти программы запол-

  няют буфера регистации ошибок необработанной информацией  о

  каждой обнаруженной ошибке или событии. Когда один из имею-

  щихся буферов заполнится или когда истечет заданное  время,

  процесс  ERRFMT  автоматически  переносит  буфера  в   файл

  ERRLOG.SYS.

       Пачка ошибок может заполнить буфера до того, как  про-

  цесс ERRFMT освободит их. Это можно обнаружить по пробелу в

  последовательности номеров сообщений об ошибках ,  выдавае-

  мых в файл регистрации ошибок. Как  только  процесс  ERRFMT

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

  в них информации об ошибках.

       Процесс ERRFMT выдает сообщение об ошибке на системную

  консоль и удаляет сам себя, если  обнаруживает  черезмерное

  количество ошибок во время записи информации в файл регист-

  рации ошибок. Этот процесс можно перезапустить путем вызова

  командной процедуры запуска, которая находится  в  каталоге

  [SYSEXE], и указанием при вызове параметра ERRFMT:


        $ SYS$SYSTEM:STARTUP ERRFMT



  вызов этой командой  процедуры  должен  осуществляться  под

  учетным именем системного администратора.



                           - 404 -

                        00152-01 97 10


       10.1.1. Использование сообщений об ошибках


       Сообщения об ошибках, генерируемые обслуживающей прог-

  раммой ANALYZE/ERROR_LOG, полезны с двух точек зрения:

       1) они облегчают профилактическое обслуживание,  опре-

  деляя зоны в вычислительной системе,  которые  потенциально

  связаны с неисправностью;

       2) они облегчают диагностику неисправностей,  докумен-

  тируя ошибки и события, которые приводят к данной неисправ-

  ности.

       Подробное содержание таких сообщений наиболее  понятно

  системному администратору. Однако пользователи могут приме-

  нять эти сообщения в качестве важного индикатора надежности

  вычислительной системы. Например,  используя  команду  SHOW

  ERROR, можно увидеть, что конкретное устройство  генерирует

  относительно большое число  ошибок.  Тогда,  для  получения

  более подробной информации можно использовать обслуживающую

  программу ANALYZE/ERROR_LOG или  выполнить  диагностические

  программы для исследования устройства и локализации  источ-

  ника ошибок.

       Сообщения  об  ошибках  позволяют  сделать  прогноз  о

  потенциальных нарушениях в работе  вычислительной  системы.

  Полное,  эффективное  применение  обслуживающей   программы

  регистрации  ошибок  может  существенно  уменьшить   потери

  машинного времени.









                           - 405 -

                        00152-01 97 10


       10.1.2. Ведение файлов регистрации ошибок


       Так  как   файл   регистрации   ошибок   SYS$ERRORLOG:

  ERRLOG.SYS является разделяемым файлом, то  процесс  ERRFMT

  может заносить в него новые регистрирующие записи об  ошиб-

  ках в то время, когда другие записи того же файла  читаются

  и воспроизводятся обслуживающей программой регистрации оши-

  бок.

       Файл ERRLOG.SYS будет увеличиваться в размерах и оста-

  ваться на системном диске до тех пор, пока он не будет явно

  переименован или удален. Поэтому его  необходимо  регулярно

  обслуживать. Один метод обслуживания заключается в ежеднев-

  ном переименовании файла ERRLOG.SYS. Это действие  приводит

  к созданию нового файла регистрации ошибок  и  обеспечивает

  копирование старого файла регистрации (который был переиме-

  нован) в дублирующий том, где он будет хранится до тех пор,

  пока нужен. Например, можно переименовывать  текущую  копию

  ERRLOG.SYS в ERRLOG.OLD каждое утров 9 часов. Для  освобож-

  дения системного диска  можно  сдублировать  данную  версию

  файла регистрации ошибок на другой том, а с системного дис-

  ка этот файл удалить. Следует принять меры предосторожности

  для того, чтобы файл регистрации ошибок не  был  удален  по

  небрежности. Может также появиться необходимость в примене-

  нии таких имен файлов, в  которые  включается  начальная  и

  конечные даты.









                           - 406 -

                        00152-01 97 10


       10.1.3. Распечатка файла регистрации ошибок


       Генерацию сообщения  о  зарегистрированных  ошибках  и

  печать этого сообщения можно выполнить следующим образом:

       1) проверить наличие привилегии SYSPRV, она необходима

  для доступа к файлу регистрации ошибок;

       2) установить  подразумеваемый  по  умолчанию  диск  и

  каталог на SYS$ERRORLOG;

       3) просмотреть каталог регистрации ошибок и найти файл

  регистрации ошибок, который желательно проанализировать;

       4) получить полное сообщение о текущем файле регистра-

  ции ошибок, для этого используется команда:


       $ ANALYZE/ERROR_LOG/OUTPUT=ERRоRS.LIS



       Распечатать копию данного сообщения, указав имя  файла

  с квалификатором /OUTPUT:


          $ PRINT ERRORS.LIS



        Пример.



          $ SET PROCESS/PRIV=SYSPRV

          $ SET DEFAULT SYS$ERRORLOG

          $ DIRECTORY



          DIRECTORY SYS$SYSROOT:[SYSERR]

          ERRLOG.OLD;2 ERRLOG.OLD;1 ERRLOG.SYS;1

          TOTAL OF 3 FILES.



                           - 407 -

                        00152-01 97 10




          $ ANALYZE/ERROR_LOG/OUTPUT=ERRORS.LIS ERRLOG.OLD

          $ PRINT ERRORS.LIS



       10.2. Использование     файла     регистрации

             сообщений оператору


       Файл регистрации SYS$MANAGER:OPERATOR.LOG представляет

  собой средство управления МОС ВП, которое  можно  использо-

  вать для того, чтобы:

       - заранее подготовиться  к  аппаратным  и  программным

         ошибкам и предупредить их появление;

       - проконтролировать пользовательские запросы на работу

         с дисками и магнитными лентами.

       Системные события, отображаемые в файле регистраци,  и

  пользовательские  запросы  посылаются  процессом  сообщений

  оператору (OPCOM) на терминал оператора даже  тогда,  когда

  все такие  терминалы  заблокированы.  В  операторский  файл

  регистрации заносятся сообщения о:

       - инициализации этого файла;

       - статусе устройств, подсоединенных к системе;

       - подключении и отключении терминалов;

       - монтировании и размонтировании томов;

       - запросах пользователей и ответах оператора;

       - изменении  в  системных  параметрах,   сделанных   с

         помощью обслуживающей программы SYSGEN;

       - аварийных сигналах защиты;

       - статусе компонентов системы "трал".



                           - 408 -

                        00152-01 97 10


       Регулярный просмотр файла регистрации сообщений опера-

  тору, может выявить тенденции появления аппаратных и  прог-

  раммных проблем и, тем самым, обеспечить выполнение  профи-

  лактических мероприятий.

       В  примере  показаны  некоторые  типичные   сообщения,

  содержащиеся в этом файле.

       Пример.


  %%%%%%%%%%% OPCOM, 15-APR-1987 22:33:54.07 %%%%%%%%%%% .

  OPERATOR '_NODE-NAME$TERMINAL-NAME:' HAS BEEN DISABLED, -

  USER IVANOV

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:34:15.47 %%%%%%%%%%%

  OPERATOR '_NODE-NAME$TERMINAL-NAME:' HAS BEEN ENABLED, -

  USER TAMARA

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:34:15.57 %%%%%%%%%%%

  OPERATOR STATUS FOR  '_NODE-NAME$TERMINAL-NAME:'

  PRINTER, TAPES, DISKS, DEVICES

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:38:53.21 %%%%%%%%%%%

  REQUEST 1, FROM USER PUBLIC

  PLEASE MOUNT VOLUME KLATU IN DEVICE MTA0:

  GORT, THE TAPE IS IN CABINET A

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:39:54.37 %%%%%%%%%%%

  REQUEST 1 WAS SATISFIED.

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:40:23.54 %%%%%%%%%%%

  MESSAGE FROM USER SYSTEM

  VOLUME "KLATU    " MOUNTED, ON PHYSICAL DEVICE MTA0:

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:40:38.02 %%%%%%%%%%%

  REQUEST 2, FROM USER PUBLIC



                           - 409 -

                        00152-01 97 10


  MOUNT NEW RELATIVE VOLUME 2(), ON MTA0:

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:41:07.54 %%%%%%%%%%%

  MESSAGE FROM USER SYSTEM

  VOLUME "KLATU     " DISMOUNTED, ON PHYSICAL DEVICE MTA0:

  15-APR-1987 22:42:14.81, REQUEST 2 COMPLETED BY OPERATOR

  OPA0:

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:42:15.83 %%%%%%%%%%%

  REQUEST 3, FROM USER PUBLIC

  MOUNT NEW RELATIVE VOLUME 3() ON MTA0:

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:42:44.54 %%%%%%%%%%%

  MESSAGE FROM USER SYSTEM

  VOLUME "BERADA    " MOUNTED, ON PHYSICAL DEVICE MTA0:

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:42:44.73 %%%%%%%%%%%

  MESSAGE FROM USER SYSTEM

  VOLUME "BERADA    " DISMOUNTED, ON PHYSICAL DEVICE MTA0:

  I'M SORRY, BUT WE ARE OUT OF TAPES.

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:45:11.45 %%%%%%%%%%%

  REQUEST 3 ABORTED BY OPERATOR OPA0:

  %%%%%%%%%%% OPCOM, 15-APR-1986 22:45:40.54 %%%%%%%%%%%

  MESSAGE FROM USER SYSTEM

  VOLUME "BERADA    " DISMOUNTED, ON PHYSICAL DEVICE MTA0:

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:46:47.96 %%%%%%%%%%%

  REQUEST 4, FROM USER PUBLIC

  _TTB5:, THIS IS A SAMPLE  USER REQUEST W/ REPLY EXPECTED

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:47:38.50 %%%%%%%%%%%

  REQUEST 4 WAS CANCELED

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:48:21.15 %%%%%%%%%%%




                           - 410 -

                        00152-01 97 10


  MESSAGE FROM USER PUBLIC

  _TTB5:, THIS IS A SAMPLE USER REQUEST W/O A REPLY EXPECTED.

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:49:07.90 %%%%%%%%%%%

  DEVICE DMA0: IS OFFLINE.

  MOUNT VERIFICATION IN PROGRESS

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:49:20.22 %%%%%%%%%%%

  MOUNT VERIFICATION COMPLETED FOR DEVICE DMA0:

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:49:37.64 %%%%%%%%%%%

  DEVICE MTA0: HAS BEEN WRITE LOCKED.

  MOUNT VERIFICATION IN PROGRESS.

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:53:54.52 %%%%%%%%%%%

  DEVICE DMA1: IS OFFLINE.

  MOUNT VERIFICATION IN PROGRESS.

  %%%%%%%%%%% OPCOM, 15-APR-1987 22:54:16.56 %%%%%%%%%%%

  MOUNT VERIFICATION ABORTED FOR DEVICE DMA1:

  %%%%%%%%%%% OPCOM, 15-APR-1987 23:33:54.07 %%%%%%%%%%%

  MESSAGE FROM USER NETACP





       10.2.1. Сопровождение     файла     регистрации

               сообщений оператору


       Файл регистрации сообщений оператору обычно размещает-

  ся на системном диске в каталоге [SYSMGR].  Поскольку  этот

  файл представлен в формате КОИ-8, то его  можно  распечаты-

  вать, причем это следует делать регулярно и оставлять  рас-

  печатки для последующего просмотра. В п.10.2.2  описывается

  процедура печати  файла  регистрации  сообщений  оператору.



                           - 411 -

                        00152-01 97 10


  новая версия данного файла создается при каждой перезагруз-

  ке МОС ВП (для создания его новой версии можно использовать

  и команду REPLY/LOG  языка  DCL).  Самая  последняя  версия

  всегда является  той  версией,  которая  используется.  Она

  недоступна по обращению.

       Следует регулярно обслуживать этот файл.  Один  способ

  обслуживания состоит в ежедневном переименовании операторс-

  кого файла регистрации. Процедура его переименования анало-

  гична процедуре, описанной в  п.10.1.2  и  применяемой  для

  переименования файла регистрации ошибок. Не следует удалять

  те версии, которые не сдублированы.



       10.2.2. Печать  файла   регистрации   сообщений

               оператору


       Следующая процедура иллюстрирует способ  печати  копии

  самой последней версии рассматриваемого файла:

       1) закрыть текущий файл регистрации и  открыть  новый.

  Это делается командой:


        $ REPLY/LOG



       2) установить подразумеваемые по умолчанию  устройство

  и каталог на SYS$MANAGER и, для получения списка всех  вер-

  сий рассматриваемого файла, ввести команду:


        $ DIRECTORY OPERATOR.LOG







                           - 412 -

                        00152-01 97 10


       3) переименовать предпоследнюю версию на OPERATOR.OLD:


        $ RENAME OPERATOR.LOG;-1 OPERATOR.OLD



  версия с номером -1 задает  предпоследнюю  версию,  которая

  должна быть переименована. Самая  последняя  версия  -  это

  текущий операторский файл регистрации;

       4) распечатать файл  регистрации  сообщений  оператору

  следующей командой:


      $ PRINT OPERATOR.OLD


       Пример.


      $ REPLY/LOG

      %%%%%%%%%%% OPCOM, 15-APR-1987 12:29:24.52 %%%%%%%%%%%

      LOGFILE INITIALIZED BY OPERATOR_MARS$VRA2:

      LOGFILE IN SYS$MANAGER:OPERATOR.LOG

      $ SET DEFAULT SYS$MANAGER

      $ DIRECTORY OPERATOR.LOG



      DIRECTORY SYS$SYSROOT:[SYSMGR]

      OPERATOR.LOG;582   OPERATOR.LOG;581

      TOTAL OF 2 FILES.



      $ RENAME OPERATOR.LOG;-1 OPERATOR.OLD

      $ PRINT OPERATOR.OLD








                           - 413 -

                        00152-01 97 10


       10.2.3. Перезапуск процесса OPCOM


       Если по какой-либо причине процесс  OPCOM  удален  или

  приостановлен, то его можно перезапустить. Для этого  вызы-

  вается командная процедура STARTUP, размещенная в  каталоге

  [SYSEXE], и задается один ее параметр.

       Пример.


            $ @SYS$SYSTEM:STARTUP OPCOM


  вызов командной процедуры STARTUP следует  производить  под

  учетным именем системного администратора.



       10.3. Использование терминала  оператора  для

             обработки пользовательских запросов


       Одна из главных функций оператора - связь с  пользова-

  телями при обработке их запросов  -  должна  выполняться  с

  терминала оператора.  Задать  терминал  оператора  можно  с

  помощью команды REPLY/ENABLE языка DCL. Она вводится с того

  терминала, который желательно сделать терминалом оператора.

  После ввода этой команды будет  воспроизведено,  а  в  файл

  регистрации сообщений оператору записано сообщение процесса

  OPCOM следующего формата:


  %%%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC, %%%%%%%%%%%

  OPERATOR '_NODENAME$TERMINAL-NAME:' HAS BEEN ENABLED,

  USERNAME 'имя-пользователя'







                           - 414 -

                        00152-01 97 10


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

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


                 Форматы сообщений о запросах


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

  команду REQUEST с квалификаторами /REPLY или /TO.

       Если пользователь  вводит  команду  REQUEST/REPLY,  то

  запрос на терминале оператора воспроизводится  в  следующем

  формате:


  %%%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC, %%%%%%%%%%%

  REQUEST 'идентификатор-запроса' FROM USER 'имя-пользовате-

   ля' '_имя-терминала:', "текст-сообщения"



  это сообщение идентифицирует пользователя, пославшего  зап-

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

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

  сообщение.

       Если пользователь вводит команду REQUEST/TO, то запрос

  на терминале оператора воспроизводится в формате, аналогич-

  ном запросу на команду REQUEST/REPLY, но без номера иденти-

  фикатора запроса. Такое  сообщение  будет  иметь  следующий

  формат:


    %%%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC, %%%%%%%%%%%

   REQUEST FROM USER 'имя-пользователя''_имя-терминала',

   "текст-сообщения"






                           - 415 -

                        00152-01 97 10


       Если пользователь вводит команду REQUEST/REPLY, а опе-

  ратор заблокировал терминал оператора с помощью  соответст-

  вующих команд REPLY/DISABLE, то  процесс  OPCOM  возвращает

  сообщение пользователю, указывая ему, что оператор не  дос-

  тупен. Однако все последующие запросы пользователя  записы-

  ваются в операторский файл регистрации.

       В ответ на пользовательские  запросы  следует  вводить

  команду REPLY [2] с одним из следующих квалификаторов:

       - /ABORT=номер-идентификатора "текст-сообщения";

       - /PENDING=номер-идентификатора "текст-сообщения";

       - /TO=номер-идентификатора "текст-сообщения".

       Квалификатор /ABORT указывает, что запрос пользователя

  отменен. Квалификатор /PENDING переводит запрос в состояние

  ожидания до тех пор, пока  он  не  будет  удовлетворен  или

  прерван. Квалификатор /TO указывает, что запрос  удовлетво-

  рен.


























                           - 416 -

                        00152-01 97 10


                     11. Генерация МОС ВП



       При установке или корректировке МОС ВП, командная про-

  цедура  AUTOGEN.COM,  находящаяся  в  каталоге  SYS$UPDATE,

  автоматически устанавливает значения системных  параметров,

  размеры основных  файлов  обмена  страниц,  обмена  рабочих

  наборов, дампа, а также содержимое списка установленных  по

  умолчанию образов (VMSIMAGES.DAT в  каталоге  SYS$MANAGER).

  Такая настройка выполняется после оценки аппаратной  конфи-

  гурации и определения типичных рабочих нагрузок.

       Командная процедура AUTOGEN (при ее  вызове  во  время

  выполнения процедур программной установки или  корректиров-

  ки) оптимизирует установленную МОС ВП. Поэтому перед  даль-

  нейшей настройкой МОС  ВП  может  оказаться  целесообразным

  проконтролировать характеристики  ее  работы  за  некоторый

  период времени.

       Если, основываясь на  характеристиках  работы  МОС  ВП

  [11], принято решение изменить некоторые системные парамет-

  ры или размеры системных файлов, то это лучше делать проце-

  дурой AUTOGEN, а не программой SYSGEN. Дело в том, что про-

  цедура AUTOGEN анализирует проведенные изменения и настраи-

  вает  связанные  параметры.  Функции  командной   процедуры

  AUTOGEN описаны в подразделах 11.1...11.5.

       Вместе с тем некоторые действия по  настройке  МОС  ВП

  надо выполнять с помощью программы SYSGEN.  Они  описаны  в

  подразделах 11.6...11.12.






                           - 417 -

                        00152-01 97 10


       11.1. Функции командной процедуры AUTOGEN


       Командная процедура AUTOGEN выполняет  одну  или  нес-

  колько операций из числа следующих:

       1) собирает данные двух типов:

       - характеристики об аппаратной конфигурации;

       - текущие значения параметров  программы  SYSGEN  [5].

         Четыре набора значений этих параметров,  перечислен-

         ных в примерах 1..4, заносятся в  файлы,  начиная  с

         файла OLDSITE1.DAT и кончая OLDSITE4.DAT, находящие-

         ся в каталоге  SYS$SYSTEM.  Они  переписываются  при

         определенных условиях в файл SYS$SYSTEM: PARAMS.DAT;

       2) используя эти файлы, вычисляет новые значения пара-

  метров программы SYSGEN, перечисленные в примере 5, и  раз-

  меры системных файлов дампа, обмена страниц и обмена  рабо-

  чих наборов;

       3) в  случае  необходимости  восстанавливает  значение

  параметров и размеры файлов;

       4) останавливает и перезапускает МОС ВП.

       Файл PARAMS.DAT, который создан  командной  процедурой

  AUTOGEN во время установки программ или выполнения процедур

  корректировки, следует внимательно просмотреть, с тем, что-

  бы определить:

       - сделала ли процедура AUTOGEN корректное заключение о

         конфигурации аппаратуры;

       - соответствуют ли значения системных параметров рабо-

         чей нагрузке;





                           - 418 -

                        00152-01 97 10


       Если данные, находящиеся в файле PARAMS.DAT,  удовлет-

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

       Если же необходимо скорректировать данные конфигурации

  или изменить системные параметры, то надо вызвать командную

  процедуру AUTOGEN в соответствие с описанием, приведенным в

  подразделе 11.2, и выполнить шаги, изложенные в подразделах

  11.3 и 11.4.

       Приведем примеры  параметров  обслуживающей  программы

  SYSGEN,  используемых  при   работе   командной   процедуры

  AUTOGEN.

       Пример 1.

       Параметры, собираемые в файл OLDSITEI.DAT и

    используемые при вычислении новых значений параметров



       GBLPAGES        GBLPAGFIL        GBLSECTIONS

       MAXBUF          MAXPROCESSCNT    VIRTUALPAGECNT



       Пример 2.

  Параметры, собираемые в файл OLDSITE2.DAT и переносимые на

  новые системы, если старое текущее значение некоторого па-

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

                  значение



  ACP_EXTCACHE         ACP_EXTLIMIT           ACP_FIDCACHE

  CLISYMTBL            DEFMBXBUFQUO           DEFMBXMXMSG

  DEFMBXNUMMSG         LRPSIZE                PQL_DASTLM

  PQL_BDIOLM           PQL_DBYTLM             PQL_DDIOLM




                           - 419 -

                        00152-01 97 10


  PQL_DFILLM           PQL_DWSDEFAULT         PQL_DWSEXTENT

  PQL_DWSQUOTA         PQL_MASTLM             PQL_MBIOLM

  PQL_MBYTLM           PQL_MDIOLM             PQL_MFILLM

  PQL_MWSDEFAULT       PQL_MWSEXTENT          PQL_MWSQUOTA

  PROCSECTCNT          SRPSIZE



       Пример 3.

  Параметры, собираемые в файл OLDSITE 3.DAT и переносимые на

  новые системы, если старое текущее значение некоторого па-

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

                   умолчанию значения



  ACP_BASEPRIO         ACP_DATACHECK         ACP_SWAPFILES

  ACP_WRITEBACK        BUGCHECKFATAL         BUGREBOOT

  CRDENABLE            DEADLOCK_WAIT         DEFPRI

  DISMOUMSG            DUMPBUG               EXTRACPU

  LAMAPREGS            MAXSYSGROUP           MOUNTMSG

  MVTIMEOUT            PAGFILCNT             PQL_DCPULM

  PQL_DPRCLM           PQL_DTQELM            PQL_MCPULM

  PQL_MPRCLM           PQL_MTQELM            REALTIME_SPTS

  SAVEDUMP             SCSSYSTEMID           SWPFILCNT

  TIMEPROMPTWAIT       TTY_ALTALARM          TTY_ALTYPAHD

  TTY_BUF              TTY_DIALTYPE          TTY_OWNER

  TTY_PARITY           TTY_PROT              TTY_RSPEED

  TTY_SCANDELTA        TTY_SILOTIME          TTY_SPEED

  TTY_TYPAHDSZ         UAFALTERNATE          USER3

  USER                 USERD1                USERD2




                           - 420 -

                        00152-01 97 10


  XFMAXRATE



       Пример 4.

  Параметры версии 4.3, собираемые в файл OLDSITE4.DAT и

  переносимые на новые системы, если старое текущее значение

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

                умолчанию значения



  ALLOCLASS            DISK_QUORUM           LNMPHASHTBL

  LNMSHASHTBL          LOCKDIRWT             PRCPOLINTERVAL

  QDSKINTERVAL         QDSKVOTES             QUORUM

  RECNXINTERVAL        SCSNODE               SCSSYSTEMIDH

  TAILORED             TTY_DEFCHAR           TTY_DEFCHAR2

  VAXCLUSTER           VOTES



       Пример 5.

  Параметры, модифицируемые при работе процедуры AUTOGEN


  ACP_DIRCACHE     ACP_HDRCACHE        ACP_MAPCACHE

  ACP_MULTIPLE     ACP_QUOCACHE        ACP_SWAPFLGS

  ACP_SYSACC       BALSETCNT           BORROWLIM

  FREEGOAL         FREELIM             GBLPAGES

  GBLPAGFIL        GBLSECTIONS         GROWLIM

  IRPCOUNT         IRPCOUNTV           LOCKIDTBL

  LOCKIDTBL_MAX    LRPCOUNT            LRPCOUNTV

  LRPSIZE          MAXPROCESSCNT       MPW_HILIMIT

  MPW_LOLIMIT      MPW_WAITLIMIT       NPAGEDYN

  NPAGEVIR         PAGEDYN             PFCDEFAULT



                           - 421 -

                        00152-01 97 10


  PFRATL           RESHASHTBL          SPTREQ

  SRPCOUNT         SRPCOUNTV           SRPSIZE

  SYSMWCNT         VIRTUALPAGECNT      WSMAX





       11.2. Вызов командной процедуры AUTOGEN


       Для изменения значений параметров и размеров системных

  файлов следует вызвать процедуру AUTOGEN. Это можно сделать

  в любой момент после установки или  корректировки  МОС  ВП.

  Новые значения параметров и размеры файлов будут влиять  на

  работу МОС ВП после ее последующей перезагрузки.

       Командную процедуру AUTOGEN надо вызывать из  учетного

  раздела системного администратора. Формат вызова следующий:


  $ @SYS$UPDATE:AUTOGEN [начальная-фаза][конечная-фаза] -

  _$ [тип-работы]


       Три параметра этой команды задают  операцию  процедуры

  AUTOGEN. Все параметры необязательные.  Однако,  опускаемые

  впереди параметры должны быть заменены нулевыми аргументами

  (то есть, " ").

       В  табл.  12  перечисляются  параметры,   обозначающие

  начальную и конечную фазы, функции  фаз,  входные  файлы  и

  файлы, создаваемые или изменяемые на выходе каждой фазы.  В

  табл. 13 кратко излагаются типы работ.

       Все файлы, за исключением VMSIMAGES.DAT,  размещены  в

  каталоге SYS$SYSTEM. Файл VMSIMAGES.DAT размещен в каталоге

  SYS$MANAGER.



                           - 422 -

                        00152-01 97 10


       Начальная фаза должна предшествовать или быть идентич-

  ной конечной фазе, соответствуя  последовательности,  пока-

  занной в табл. 12 (по умолчанию конечная фаза имеет  то  же

  значение, что и начальная фаза). Подразумеваемой по умолча-

  нию начальной фазой является GENPARAMS.  Фаза  GENFILES  не

  может задаваться как начальная.

                                                   Таблица 12

               фазы командной процедуры AUTOGEN

  -----------------------------------------------------------

     Фаза   ! Входные  ! Выходные     !      Функция

            !  файлы   !  файлы       !

  -----------------------------------------------------------

  SAVPARAMS !  нет     ! OLDSITE*.DAT ! Сохраняет значение

            !          !              ! старых параметров

            !          !              ! для распространения

            !          !              ! и корректировки

            !          !              !

  GETDATA   ! OLDSI-   ! PARAMS.DAT   ! Собирает все данные,

            ! те*.DAT  !              ! которые будут необ-

            ! MODPA-   !              ! ходимы фазам GENPA-

            ! RAMS.DAT !              ! RAMS и GENFILES, вклю

            !          !              ! чая данные о конфи-

            !          !              ! гурации, старые пара-

            !          !              ! метры и элементы,

            !          !              ! учитывающие специ-

            !          !              ! фику вычислительной

            !          !              ! системы




                           - 423 -

                        00152-01 97 10


                                         Продолжение табл. 12

  -----------------------------------------------------------

     Фаза   ! Входные  ! Выходные     !      Функция

            !  файлы   !  файлы       !

  -----------------------------------------------------------

            !          !              !

  GENPARAMS !PARAMS.DAT! SETPARAMS.DAT! Генерирует новые

            !          ! VMSIMAGES.DAT! системние параметры,

            !          !              ! создает список уста-

            !          !              ! новленных образов

            !          !              !

  TESTFILES !PARAMS.DAT!  SYS$OUTPUT  ! Воспроизводит

            !          !              ! размеры системных

            !          !              ! файлов обмена стра-

            !          !              ! ниц, обмена рабочих

            !          !              ! наборов и дампа,

            !          !              ! вычисленные  про-

            !          !              ! цедурой AUTOGEN (см.

            !          !              ! подраздел 11.4, если

            !          !              ! желательно опреде-

            !          !              ! лить размер)

            !          !              !

  GENFILES  !PARAMS.DAT! PAGEFILE.SYS,! Если это требуется,

            !          ! SWAPFILE.SYS,! то генерирует  новые

            !          ! SYSDUMP.DMP  ! системные файлы обме-

            !          !              ! на страниц, обмена

            !          !              ! рабочих наборов и




                           - 424 -

                        00152-01 97 10


                                         Продолжение табл. 12

  -----------------------------------------------------------

     Фаза   ! Входные  ! Выходные     !      Функция

            !  файлы   !  файлы       !

  -----------------------------------------------------------

            !          !              ! дампа. Не может быть

            !          !              ! задана, как начальная

            !          !              ! фаза

            !          !              !

  SETPARAMS ! SETPA-   ! AUTOGEN.PAR  ! Запускает программу

            ! RAMS.DAT !              ! SYSGEN для установ-

            !          !              ! ки системных парамет-

            !          !              ! ров, заданных файлом

            !          !              ! SETPARAMS.DAT, и для

            !          !              ! генерации нового фай-

            !          !              ! ла AUTOGEN.PAR

            !          !              !

  SHUTDOWN  !   нет    !    нет       ! Готовит МОС ВП к по-

            !          !              ! следующей ручной заг-

            !          !              ! рузке

            !          !              !

   REBOOT   !   нет    !    нет       ! Автоматически переза-

            !          !              ! гружает МОС ВП

            !          !              !










                           - 425 -

                        00152-01 97 10


                                                   Таблица 13

                          Типы работы

  -----------------------------------------------------------

        Тип      !                Значение

  -----------------------------------------------------------

   INITIAL       ! Определяет, что процедура AUTOGEN будет

                 ! выполняться как часть начальной установки

                 ! МОС ВП. В этом случае фаза SAVPARAMS ни-

                 ! когда не выполняется

                 !

   V4UPGRADE     ! Определяет, что процедура AUTOGEN выполня-

                 ! ется как часть процедуры корректировки

                 ! МОС ВП от версии 4.N или, что выполняется

                 ! интерактивная настройка. Этот тип является

                 ! подразумеваемым по умолчанию типом выпол-

                 ! нения

                 !

   V3UPGRADE     ! Определяет, что процедура AUTOGEN выполня-

                 ! ется как часть процедуры корректировки мос

                 ! вп от версии 3.N к версии 4.0



       Команды   и   примеры,   приведенные   в   подразделах

  11.3...11.5, иллюстрируют использование  процедуры  AUTOGEN

  для настройки типичной МОС ВП версии 4.N после ее корректи-

  ровки. Для начальной установки МОС ВП версии 4.0 и  коррек-

  тировки МОС ВП от версии 3.N до версии 4.0 указанные проце-

  дуры можно адаптировать с минимальными изменениями.




                           - 426 -

                        00152-01 97 10


       11.3. Сбор данных для вычислений,  проводимых

             процедурой AUTOGEN


       Сбор данных, необходимых процедуре AUTOGEN для  выпол-

  нения ее работ, инициализируется следующей командой:


           $ @SYS$UPDATE:AUTOGEN SAVPARAMS GETDATA



  Эта команда указывает процедуре AUTOGEN на то, что надо:

       - создать файлы OLDSITE*.DAT, которые хранят данные  о

         системных параметрах, полученных из  функционирующей

         МОС ВП;

       - собрать данные о версии  МОС  ВП,  идентификаторе  и

         конфигурации аппаратуры;

       - собрать специфичные для пользователей данные,  (если

         они есть)  из  файла  MODPARAMS.DAT  (см.  подраздел

         11.4);

       - записать данные в  файл  PARAMS.DAT,  которые  будут

         использоваться при последующих вычислениях и возмож-

         но при распространении на новые системы.

       В примере показан  типичный  файл  PARAMS.DAT.  Первая

  группа его элементов представляет собой  список  заключений

  процедуры AUTOGEN о версии МОС ВП, идентификаторе МОС ВП  и

  компонентах аппаратуры (эти элементы определяет табл.  14).

  Для проверки того, что процедура AUTOGEN сделала правильные

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

  изучить булевские элементы файла PARAMS.DAT.

       Следующие элементы представляют собой значение систем-




                           - 427 -

                        00152-01 97 10


  ных параметров, собранных в файлах OLDSITE*.DAT или опреде-

  ленных в файле MODPARAMS.DAT. Параметры  с  префиксом  OLD_

  будут использоваться при  последующих  действиях  процедуры

  AUTOGEN. Остальные  параметры  будут  записываться  в  файл

  SETPARAMS.DAT для возможного распространения на новые  сис-

  темы.

       Примечание. Значения, отображенные в файле  PARAMS.DAT

  в качестве входных из файла MODPARAMS.DAT, будут  отвергать

  соответствующие значения конфигурации,  а  также  значения,

  полученные из файлов OLDSITE*.DAT.

       Пример.


         VERSION="VERSION 4.3.

         CPUTYPE=1

         SID=20447489

         MEMSIZE=16384

         DISKSPEED=4

         SMALLDISK="FALSE"

         NUM_DISK=21

         NUM_TAPE=2

         NUM_SCOM=9

         NUM_CARD=0

         NUM_TERM=81

         NUM_LP=2

         NUM_REALTIME=0

         NUM_BUS=1

         NUM_MAILBOX=0

         NUM_JOURNAL=9



                           - 428 -

                        00152-01 97 10


         NUM_MISC=0

         NUM_CI=1

         DRIVER_NPAGEDYN=165385

         CLUSTER="TRUE"

         JOURNALING="FALSE"

         ! PARAMETERS SPECIFIED IN SYS$SYSTEM:OLDSITE1.DAT

         OLD_GBLPAGES=5616

         OLD_GBLSECTIONS=150

         OLD_GBLPAGFIL=1024

         OLD_MAXBUF=2048

         OLD_MAXPROCESSCNT=110

         OLD_VIRTUALPAGECNT=20480

         ! PARAMETRS SPECIFIED IN SYS$SYSTEM:OLDSITE2.DAT

         CLISYMTBL=80

         LRPSIZE=576

         ! PARAMETRS SPECIFIED IN SYS$SYSTEM:OLDSITE3.DAT

         READLOCK_WAIT=1

         PAGFILCNT=5

         REALTIME_SPTS=40

         SAVEDUMP=1

         ! PARAMETERS SPECIFIED IN SYS$SYSTEM:MODPARAMS.DAT

         ADD_MAXPROCESSCNT=10

         ADD_NPAGEDYN=10000

         CLUSTER="FALSE"

         SRPCOUNT=1200

         SHUTDOWN_TIME=10






                           - 429 -

                        00152-01 97 10


                                                   Таблица 14

        Параметры конфигурации, определенные в примере

  -----------------------------------------------------------

    Параметр     !              Определяет

  -----------------------------------------------------------

  VERSION        ! Номер версии МОС ВП, используемый для соз-

                 ! дания этого файла

  CPUTYPE        ! Код для номера модели процессора, как

                 ! определено программой системного обслужи-

                 ! вания $GETSYI

  SID            ! Номер идентификатора системы

  MEMSIZE        ! Об'ем физической памяти в страницах

  DISKSPEED      ! Код для скорости системного диска. Значе-

                 ! ниями кода являются 1, 2 или 4, где 4 -

                 ! это самая быстрая категория дисков

  SMALLDISK      ! Категория об'ема системного диска ("прав-

                 ! да": 53000 блоков или меньше, "ложь": бо-

                 ! лее 53000 блоков)

  NUM_DISK       ! Общее число дисковых устройств

  NUM_TAPE       ! Общее число устройств с магнитными лентами

  NUM_SCOM       ! Общее число системных коммуникационных

                 ! устройств

  NUM_CARD       ! Общее число устройств считывания перфокарт

  NUM_TERM       ! Общее число доступных терминальных линий

  NUM_LP         ! Общее число печатающих устройств

  NUM_REALTIME   ! Общее число устройств реального времени

  NUM_BUS        ! Общее число шин




                           - 430 -

                        00152-01 97 10


                                         Продолжение табл. 14

  -----------------------------------------------------------

    Параметр     !              Определяет

  -----------------------------------------------------------

  NUM_MAILBOX    ! Общее число почтовых ящиков

  NUM_MISC       ! Общее число остальных устройств

  NUM_JOURNAL    ! Зарезервировано для дальнейшего использо-

                 ! ния

  NUM_CI         ! Общее число внутренних соединений

  DRIVER_NPAGEDYN! Об'ем в байтах безстраничного пула, за-

                 ! нятого драйверами

  CLUSTER        ! Является ли данный узел членом кластера

  JOURNALING     ! Зарезервировано для дальнейшего исполь-

                 ! зования



       11.4. Действия    процедуры    AUTOGEN     по

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


       Если после изучения файла PARAMS.DAT  системный  адми-

  нистратор примет решение скорректировать данные о  конфигу-

  рации, изменить значения  системных  параметров,  или  явно

  задать об'емы файлов дампа, обмена страниц или обмена рабо-

  чих наборов, то надо выполнить следующие шаги (в зависимос-

  ти от вида выполняемой настройки, может оказаться необходи-

  мым неоднократный  вызов  процедуры  AUTOGEN  с  различными

  параметрами):

       1) отредактировать файл SYS$SYSTEM:MODPARAMS.DAT.  Для

  этого надо:



                           - 431 -

                        00152-01 97 10


       - задать новые значения параметров, используя операто-

         ры присваивания языка DCL следующего вида:


         параметр = значение-параметра ! комментарий



         увеличение значений системных параметров (перечис-

         ленных в примере 5 подраздела 11.1), проводимое во

         время фазы  GENPARAMS,  достигается  также за счет

         префикса ADD_, который помещается перед этими па-

         раметрами.

         Пример.



           ADD_MAXPROCESSCNT=10

           ADD_NPAGEDYN=10000



       - явно задать об'емы системных файлов, используя  клю-

         чевые слова PAGEFILE, SWAPFILE и DUMPFILE, за каждым

         из которых следует знак равенства и размер  файла  в

         блоках. Если для некоторого ключевого  слова  задано

         значение нуль, то размер соответствующего  файла  не

         изменится. Заданные размеры файлов процедура AUTOGEN

         установит на фазе GENFILES.

       Значение параметров и об'емы файлов, указанных в файле

  MODPARAMS.DAT, будут копироваться в файл PARAMS.DAT на сле-

  дующей фазе, и при их вычислении  процедура  AUTOGEN  будет

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

       2) проверить проведенные модификации параметров. Ввес-

  ти команду:



                           - 432 -

                        00152-01 97 10


       $  @SYS$UPDATE:AUTOGEN GETDATA



  и просмотреть результирующий файл  PARAMS.DAT  (см.  пример

  подраздела 11.3).

       Если желательно сделать дальнейшие изменения данных  в

  файле   PARAMS.DAT,   то    надо    отредактировать    файл

  MODPARAMS.DAT и повторить фазу GETDATA.

       Примечание. Ни при каких  обстоятельствах  не  следует

  пытаться редактировать файл  PARAMS.DAT.  Все  изменения  в

  этом файле должны осуществляться через редактирование файла

  MODPARAMS.DAT и через выполнение (или повторное выполнение)

  фазы GETDATA;

       3) когда данные, находящиеся в файле PARAMS.DAT,  ста-

  нут удовлетворительными, ввести команду:


     $ @SYS$UPDATE:AUTOGEN GENPARAMS SETPARAMS



  процедура AUTOGEN сгенерирует список файлов известных обра-

  зов VMSIMAGES.DAT, и создаст файл SETPARAMS.DAT.  При  этом

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

  файле MODPARAMS.DAT. Затем процедура AUTOGEN запустит прог-

  рамму SYSGEN для установки значений параметров  в  МОС  ВП.

  Новые их значения, наряду со значениями, полученными проце-

  дурой AUTOGEN или поддерживаемыми по умолчанию, будут зане-

  сены в файл SYS$SYSTEM:AUTOGEN.PAR;

       4) когда все будет готово к перезагрузке МОС ВП, ввес-

  ти команду:





                           - 433 -

                        00152-01 97 10


     $ @SYS$UPDATE:AUTOGEN REBOOT



       Следует заметить, что для указания времени (в минутах)

  до отключения МОС ВП, проводимого на этой фазе, надо  вклю-

  чить в файл MODPARAMS.DAT параметр SHUTDOWN_TIME.

       После завершения фазы AUTOGEN REBOOT, можно  проверить

  изменения, сделанные в файле AUTOGEN.PAR.  Для  этого  надо

  вызвать обслуживающую программу SYSGEN и  воспроизвести  ее

  параметры командой SHOW/ALL.



       11.5. Действия с системными файлами


       Настройка об'емов основных файлов дампа, обмена  стра-

  ниц и обмена рабочих наборов может производиться процедурой

  AUTOGEN.  (см.  подраздел  11.4)  однако,  для   выполнения

  каких-либо действия со  вторичными  файлами  дампа,  обмена

  страниц и обмена рабочих наборов процедуру AUTOGEN  исполь-

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

  файлов осуществляется программой SYSGEN [5].

       Примечание. Если системный администратор  удалил  файл

  обмена рабочих наборов из каталога SYS$SYSTEM, то  в  файле

  MODPARAMS.DAT он должен задать ключевое слово  SWAPFILE  со

  значением 0. Это указывает процедуре  AUTOGEN  на  то,  что

  создавать новый файл обмена не надо.

       Значительную часть файла обмена страниц (PAGEFILE.SYS)

  можно удалить с системного диска. Однако на нем, в каталоге

  SYS$SYSTEM, всегда следует хранить по  крайней  мере  часть

  данного файла. Это связано с тем, что файл  обмена  страниц



                           - 434 -

                        00152-01 97 10


  на системном диске должен содержать  достаточно  места  для

  системных процессов и глобальных  буферов  системы  СУД-32,

  поэтому для него следует оставить по крайней мере несколько

  тысяч блоков.

       Если имеется несколько файлов обмена страниц,  то  для

  нового процесса МОС ВП выделяет  часть  того  файла  обмена

  страниц, у которого больше всего  свободного  пространства.

  Таким образом, настраивая  размер  файлов  обмена  страниц,

  можно управлять некоторыми операциями ввода-вывода на  дис-

  ках. Для сбалансированности операций, следует  сделать  все

  файлы обмена страниц одинакового размера. Для  того,  чтобы

  эти операции не затрагивали системный диск,  нужно  устано-

  вить об'ем  основного  файла  обмена  страниц  (в  каталоге

  SYS$SYSTEM) минимальным,  а  об'ем  одного  или  нескольких

  дополнительных файлов обмена страниц  намного  больше.  При

  очень больших  файлах  пространство  обмена  страниц  будет

  выделяться для каждого нового процесса.

       Для создания файлов дампа,  обмена  страниц  и  обмена

  рабочих наборов можно использовать процедуру  AUTOGEN  (см.

  подраздел 11.4). Для освобождения дискового пространства от

  старой версии такого файла нужно применить  команду  DELETE

  (или PURGE) языка DCL. Это делается после  загрузки  нового

  файла и начала его использования.



       11.6. Функции программы SYSGEN


       Используя программу SYSGEN, можно работать со  следую-

  щими компонентами МОС ВП:



                           - 435 -

                        00152-01 97 10


  системными параметрами

       - можно создавать и  модифицировать  файл  стандартных

         системных параметров (и использовать его в последую-

         щих операциях диалоговой  загрузки),  модифицировать

         значения параметров в текущем файле системных  пара-

         метров (с  последующим  использованием  в  операциях

         загрузки), динамически модифицировать значения пара-

         метров активной МОС ВП (применимо только  к  динами-

         ческим системным параметрам);

  устройствами и драйверами устройств

       - можно подсоединять устройства и загружать их драйве-

         ры (большинство из этих действий выполняется автома-

         тически);

  системными файлами

       - можно создавать дополнительные файлы обмена  страниц

         и обмена рабочих наборов;

  командной процедурой запуска

       - можно определять текущую  независимую  от  специфики

         вычислительной системы командную процедуру запуска.



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


       Процесс загрузки инициализирует активные значения сис-

  темных параметров в памяти.  Они  загружаются  из  текущего

  файла системных параметров, расположенного  на  диске.  При

  выполнении операции диалоговой загрузки  можно  модифициро-

  вать такие значения.  Это  делается  при  помощи  повторной

  установки значений активных параметров из файла  параметров



                           - 436 -

                        00152-01 97 10


  или из подразумеваемого по умолчанию списка,  а  также  при

  помощи индивидуальной установки новых значений  параметров.

  В конце операции загрузки файл системных параметров модифи-

  цируется в соответствии со значениями активных параметров.

       Примечание. Многие системные параметры могут воздейст-

  вовать на другие параметры или на характеристики работы мос

  вп. Поэтому модифицировать системные параметры  следует  не

  программой  SYSGEN,  а  посредством  редактирования   файла

  SYS$SYSTEM.MODPARAMS.DAT  и  повторным  вызовом   процедуры

  AUTOGEN.

       После загрузки и запуска МОС ВП можно вызвать обслужи-

  вающую программу SYSGEN с целью  создания  или  модификации

  файлов параметров, включая текущий файл системных  парамет-

  ров, и для  модификации  значений  динамических  параметров

  активной МОС ВП. Для этого надо выполнить следующие  дейст-

  вия:

       1) вызвать обслуживающую программу SYSGEN. Вызов прог-

  раммы SYSGEN создает рабочую область со значениями активных

  параметров;

       2) ввести команду USE (необязательно).  Если  значения

  активных параметров не обеспечивают корректности  последую-

  щих операций программы SYSGEN, то  можно  повторно  создать

  рабочую область и включить  в  нее  значения  нового  файла

  параметров, текущего файла системных параметров или  подра-

  зумеваемых по умолчанию значений;

       3) ввести команды SET для модификации каждого парамет-

  ра. Эти модификации производятся в рабочей области програм-




                           - 437 -

                        00152-01 97 10


  мы SYSGEN;

       4) ввести команду WRITE. При этом создается файл пара-

  метров, модифицируется текущий файл системных параметров на

  диске или модифицируется активные параметры в памяти.

       Для выполнения этих операций можно использовать коман-

  ду SHOW с целью просмотра значений в рабочей области  прог-

  раммы SYSGEN.



       11.7.1. Создание нового файла параметров


       Создание нового файла параметров не  оказывает  немед-

  ленного воздействия на работу МОС ВП. Однако, при последую-

  щей диалоговой загрузке можно инициализировать  МОС  ВП  со

  значениями параметров, находящимися в новом файле. В приме-

  ре 1 создается  новая  версия  файла  системных  параметров

  AUTOGEN.PAR с новым значением параметра REALTIME_SPTS:

       Пример 1.


        $ SET DEFAULT SYS$SYSTEM

        $ RUN SYSGEN

        SYSGEN> USE AUTOGEN

        SYSGEN> SET REALTIME_SPTS 10

        SYSGEN> WRITE AUTOGEN

        SYSGEN> EXIT



       В  примере   2   создается   новый   файл   по   имени

  SYS$SYSTEM:OURSITE.PAR, при этом в  качестве  базы  исполь-

  зуется файл AUTOGEN.PAR:




                           - 438 -

                        00152-01 97 10


       Пример 2.


    SET DEFAULT SYS$SYSTEM

    RUN SYSGEN

    SYSFEN> USE AUTOGEN

    SYSGEN> SET REALTIME_SPTS 10

    SYSGEN> WRITE OURSITE

    SYSGEN> EXIT



       11.7.2. Модификация файла системных параметров


       Модификация текущего файла системных параметров  также

  не оказывает немедленного воздействия  на  работу  МОС  ВП.

  Однако, при последующих операциях загрузки, МОС ВП  инициа-

  лизируется с новыми значениями. Диалоговая загрузка  позво-

  ляет проводить  дальнейщие  модификации  этих  значений,  а

  безостановочная загрузка делает новые значения активными. В

  следующем   примере   модифицируется   значение   параметра

  REALTIME_SPTS, находящегося в файле системных параметров:

       Пример.


    $ SET DEFAULT SYS$SYSTEM

    $ RUM SYS$SYSTEM:SYSGEN

    SYSGEN> USE CURRENT

    SYSGEN> SET REALTIME_SPTS 10

    SYSGEN> WRITE CURRENT

    %OPCOM, 15-APR-1987 16:04:06.20, MESSAGE FROM USER SYSTEM

    %SYSTEM-I-WRITECUR, CURRENT SYSTEM PARAMETERS MODIFIED BY

    PROCESS



                           - 439 -

                        00152-01 97 10


    SYSGEN> EXIT





       11.7.3. Модификация активной МОС ВП


       Модификация активной МОС ВП означает изменение  значе-

  ний параметров в памяти, то есть в функционирующей МОС  ВП.

  Такая модификация немедленно воздействует  на  подмножество

  системных  параметров,  которое  называется   динамическими

  параметрами. Динамические параметры описаны в документе [5]

  и воспроизводятся  по  команде  SHOW/DYNAMIC  обслуживающей

  программы SYSGEN. Остальные параметры регулируют  компонен-

  ты, которые не могут быть изменены на  функционирующей  мос

  вп. В примере 1  показана  процедура  модификации  значения

  активного параметра PFCDEFAULT.

       Пример 1.


    $ RUN SYS$SYSTEM:SYSGEN

    SYSGEN> SET PFCDEFAULT 127

    SYSGEN> WRITE ACTIVE

    %OPCOM, 15-APR-1987 16:04:06.30, MESSAGE FROM USER SYSTEM

    %SYSGEN-I-WRITEACT, ACTIVE SYSTEM PARAMETERN MODIFIED BY

    PROCESS

    SYSGEN> EXIT



       Модификация активной МОС ВП не воздействует на текущий

  файл системных параметров, находящийся на диске. Если, нап-

  ример, задано новое  значение  активного  параметра  (WRITE




                           - 440 -

                        00152-01 97 10


  ACTIVE), и впоследствии  необходимо  использовать  его  для

  диалоговой загрузки, то это значение должно быть явно запи-

  сано в текущий файл системных параметров на диск.

       Пример 2.


  $ RUN SYS$SYSTEM:SYSGEN

  SYSGEN> WRITE CURRENT

  %OPCOM, 15-APR-1987 16:04:06.30, MESSAGE FROM USER SYSTEM

  %SYSGEN-I-WRITECUR, CURRENT SYSTEM PARAMETERS MODIFIED BY

  PROCESS

  SYSGEN> EXIT





       11.8. Подсоединение  устройств   и   загрузка

             драйверов устройств


       Команда AUTOCONFIGURE обслуживающей  программы  SYSGEN

  используется, как правило, для автоматического  подсоедине-

  ния устройств, имеющихся в вычислительной  системе,  и  для

  загрузки их драйверов. Эта команда уменьшает трудозатраты и

  вероятность ошибки при загрузке. Устройства,  не  подсоеди-

  няемые автоматически, и устройства с нестандартными именами

  могут быть подсоединены, а их драйверы загружены при помощи

  команд CONNECT (или  CONNECT  и  LOAD).  При  вводе  команд

  CONNECT и LOAD [5], [20] надо быть очень внимательным.

       К устройствам, не подсоединяемым автоматически,  отно-

  сятся логические устройства сетевых коммуникаций и консоль-

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




                           - 441 -

                        00152-01 97 10


  устройств сетевых коммуникаций используется команда:


       SYSGEN> CONNECT NET/NOADAPTER/DRIVER=NETDRIVER



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

  используется команда:


       SYSGEN> CONNECT CONSOLE



  команды, приведенные в примере, автоконфигурируют устройст-

  ва, физически приданные системе, и явно подсоединяют  сете-

  вое программное устройство и консольное  запоминающее  уст-

  ройство:
                                     
       Пример.


       SYSGEN> AUTOCONFIGURE ALL

       SYSGEN> CONNECT NET/NOADAPTER/DRIVER=NETDRIVER

       SYSGEN> CONNECT CONSOLE

       SYSGEN> EXIT



       Команды обслуживающей программы SYSGEN,  предназначен-

  ные для подсоединения устройств и для загрузки  их  драйве-

  ров, обычно включаются в независимую от вычислительной сис-

  темы командную процедуру загрузки (см. раздел  2).  Следует

  заметить,  что   имеется   драйвер   по   имени   CONINTERR

  (SYS$SYSTEM: CONINTERR.EXE),  который  позволяет  процессам

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

  рого ответа и для специальной обработки  событий  реального

  времени [21]. Этот  драйвер  не  связывается  с  каким-либо



                           - 442 -

                        00152-01 97 10


  одним типом устройств.



       11.9. Модификация системных файлов


       При установке или корректировке МОС ВП, командная про-

  цедура AUTOGEN определяет размеры основных системных файлов

  (файлов дампа, обмена страниц и обмена рабочих  наборов)  в

  соответствии с аппаратурной конфигурацией. Полной  специфи-

  кацией этих файлов является SYS$SYSTEM:имя-файла.тип. Имена

  файлов  -  это  PAGEFILE.SYS  для  файла  обмена   страниц,

  SWAPFILE для файла обмена рабочих наборов и SYSDUMP.DMP для

  файла дампа. Размеры выражаются в страницах.

       Командная процедура AUTOGEN создает  системные  файлы,

  годные для большинства вычислительных систем.  Однако,  для

  нетипичных рабочих  нагрузок  или  нетипичных  конфигураций

  аппаратуры необходимо  определить  размеры  этих  файлов  с

  помощью команды CREATE обслуживающей программы SYSGEN. Дру-

  гой вариант создания основных  файлов  (только  их)  -  это

  вызов командной процедуры SYS$UPDATE:SWAPFILES.COM и  зада-

  ние размеров файлов в ответ на подсказку данной  процедуры.

  Использование командой процедуры  CREATE  иллюстрируется  в

  примере 1.

       Пример 1.


  SYSGEN> CREATE PAGEFILE.SYS /SIZE=16384

  %SYSGEN-I-EXTENDED, SYS$SYSROOT:[SYSEXE]PAGEFILE.SYS;1

  EXTENDED

  SYSGEN> CREATE SWAPFILE.SYS /SIZE=7168




                           - 443 -

                        00152-01 97 10


  %SYSGEN-I-EXTENDED, SYS$SYSROOT:[SYSEXE]SWAPFILE.SYS;1

  EXTENDED

  SYSGEN> CREATE SYSDUMP.DMP /SIZE=2052

  %SYSGEN-I-EXTENDED, SYS$SYSROOT:[SYSEXE]SYSDUMP.DMP;1

  EXTENDED

  SYSGEN> EXIT



       В   примере   2   используется   командная   процедура

  SWAPFILES:

       Пример 2.


  $ @SYS$UPDATE:SWAPFILES

  TO LEAVE A FILE SIZE AT ITS CURRENT VALUE TYPE а

  CARRIAGE RETURN IN RESPONSE TO ITS SIZE PROMPT.

  CURRENT FILE SIZES ARE:



  DIRECTORY SYS$SYSROOT:[SYSEXE]
                           


  PAGEFILE.SYS;1       16384

  SYSDUMP.DMP;1         4128

  SWAPFILE.SYS;1        3072



  TOTAL OF 3 FILES, 23584 BLOCKS



  THERE ARE 128741 AVIALABLE BLOCKS ON SYS$SYSDEVICE.



  ENTER NEW SIZE FOR PAGING FILE: <BK>

  ENTER NEW SIZе FOR SYSTEM DUMP FILE: 0052



                           - 444 -

                        00152-01 97 10


  ENTER NEW SIZе FOR SWAPPING FILE: <ВК>

  %SYSGEN-I-EXTENDED, SYS$SYSROOT:[SYSEXE]SYSDUMP.DMP;1

  EXTENDED

  **********************************************************

  * PLEASE REBOOT IN ORDER FOR THE NEW FILES TO BE USED BY *

  * THE SYSTEM.                                            *

  * AFTER REBOOTING, PURGE OBSOLETE COPIES OF THE FILES.   *

  * DO NOT DELETE THE OLD FILES UNTIL AFTER THE REBOOT     *

  **********************************************************



       Командная процедура SWAPFILES и команда CREATE автома-

  тически увеличивают размер файла обмена страниц или  дампа,

  если их размер задается больше размера аналогичных  сущест-

  вующих файлов (однако,  если  такой  файл  явно  установлен

  командой INSTALL обслуживающей программой  SYSGEN,  то  его

  размер не может быть увеличен. Вместо этого создается новая

  версия данного файла).

       Если для файла обмена страниц  или  дампа  указывается

  меньший размер, то создается новая версия этого файла. Если

  файл обмена рабочих наборов не  существует,  то  его  можно

  создать. Это делается командой CREATE  обслуживающей  прог-

  раммы SYSGEN или с помощью ответа на соответствующую  подс-

  казку командной процедуры SWAPFILES.

       При создании новой версии системного файла  необходимо

  явно удалить старую версию (но не раньше, чем будет  выпол-

  нена последующая операция загрузки). Новые или  увеличенные

  размеры файлов PAGEFILE.SYS, SWAPFILE.SYS  или  SYSDUMP.DMP




                           - 445 -

                        00152-01 97 10


  не будут воздействовать на работу МОС ВП, до тех пор,  пока

  МОС ВП не будет отключена и перезагружена. Новые  вторичные

  файлы воздействуют на работу сразу после их установки.

       Размеры системных  файлов  можно  вычислить  следующим

  образом:

       1) файл обмена страниц.  Его  размер  должен  примерно

  равняться размеру средней программы на конкретной  вычисли-

  тельной системе (в страницах), умноженному на  максимальное

  число процессов (системный параметр MAXPROCESSCNT).  Перво-

  начальный размер основного файла  обмена  страниц  задается

  при установке МОС ВП.  Статистику  об  использовании  файла

  обмена страниц можно воспроизвести с помощью  команды  SHOW

  MEMORY. Следует просмотреть данные,  находящиеся  в  файлах

  обмена страниц. Надо стремиться к тому, чтобы  файл  обмена

  страниц был в среднем  занят  не  больше,  чем  наполовину.

  Ограничение использования файла  обмена  страниц  пользова-

  тельскими    программами    производится     квалификатором

  /PGFLQUOTA команд  ADD  и  MODIFY  обслуживающей  программы

  AUTHORIZE [7]. Не следует  определять  значение  /PGFLQUOTA

  ниже числа 1024. В зависимости  от  пользовательских  прог-

  рамм, требования  на  размер  файла  страниц  могут  широко

  меняться. Данный размер  является  критичным  фактором  для

  характеристик работы МОС ВП. Если файл обмена страниц  нач-

  нет интенсивно заполняться, и это влияет на  характеристики

  работы МОС ВП, то на консольном  терминале  появится  соот-

  ветствующее сообщение;

       2) файл дампа. Его размер должен  приблизительно  рав-




                           - 446 -

                        00152-01 97 10


  няться размеру физической памяти в страницах (для  сохране-

  ния содержимого памяти при  отказах  МОС  ВП)  плюс  четыре

  страницы (для продолжения регистрации ошибок при отключении

  или отказе МОС ВП);

       3) файл обмена  рабочих  наборов.  Его  размер  должен

  приблизительно  равняться  максимальному  числу   процессов

  (системный параметр MAXPROCESSCNT), умноженному на  средние

  квоты рабочих наборов выполняющихся процессов. Первоначаль-

  ный размер файла SWAPFILE.SYS задается при установке МОС ВП

  из соображений аппаратной конфигурации. Эмпирическим  мето-

  дом вычисления размера файла обмена рабочих наборов являет-

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

  MEMORY языка DCL. Надо стремиться к тому, чтобы по  крайней

  мере  четверть  об'ема  файла  обмена  рабочих  наборов  не

  использовалась, в противном случае могут ухудшиться  харак-

  теристики работы МОС ВП.

       При загрузке МОС  ВП  активизируются  самые  последние

  версии  файлов  SYS$SYSTEM:PAGEFILE.SYS,   SWAPFILE.SYS   и

  SYSDUMP.DMP. После загрузки можно  заменить  или  увеличить

  основные файлы обмена страниц или обмена рабочих наборов  с

  помощью  дополнительных  файлов  (предварительно  созданных

  командой  CREATE  обслуживающей  программы   SYSGEN).   Это

  делается командой INSTALL обслуживающей программы SYSGEN.

       Преимуществом вторичных файлов является то, что они не

  должны размещаться на системном  диске  и,  что  они  могут

  об'единять тома в набор томов. Для использования  вторичных

  файлов надо включить соответствующие команды INSTALL  прог-




                           - 447 -

                        00152-01 97 10


  раммы SYSGEN в  командную  процедуру  запуска,  учитывающую

  специфику вычислительной системы (см. раздел 2). Если  вто-

  ричные файлы используются из-за нехватки  дискового  прост-

  ранства на системном диске, то можно уменьшить размер файла

  PAGEFILE.SYS до 46000 блоков или файла SWAPFILE.SYS до 1000

  блоков.

       Все процессы, созданные после установки дополнительных

  файлов обмена страниц, используют  наибольший  файл  обмена

  страниц, в то время, как все процессы, созданные  до  уста-

  новки указанных файлов, продолжают  использовать  те  файлы

  обмена страниц, к которым они прикреплены. Пространство для

  рабочих наборов выделяется из  того  файла  обмена  рабочих

  наборов, у которого имеется свободное пространство.

       При установке дополнительных файлов обмена страниц или

  обмена рабочих наборов для карты памяти необходима безстра-

  ничная динамическая память (также, как при установке основ-

  ных файлов).



       11.10. Определение командной процедуры запуска

              для операции загрузки


       В каталоге SYS$SYSTEM имеется не зависимая от вычисли-

  тельной системы  командная  процедура  запуска  STARTUP.COM

  (см. раздел 3),  которую  не  рекомендуется  редактировать.

  После операции загрузки, МОС ВП  выполняет  независимую  от

  вычислительной системы командную процедуру запуска.  Перво-

  начально (то есть, в поставляемой МОС ВП)  этой  процедурой

  является STARTUP.COM.



                           - 448 -

                        00152-01 97 10


       В случае необходимости можно  создать  альтернативную,

  не зависимую от специфики вычислительной системы  командную

  процедуру  запуска.  Например,   можно   скопировать   файл

  STARTUP.COM в другие файлы типа COM и  отредактировать  эти

  файлы. Затем можно присвоить другое имя альтернативной,  не

  зависимой от спецификации вычислительной системе, командной

  процедуре, которая должна  быть  запущена  при  последующих

  операциях загрузки. Это делается командой SET/STARTUP  обс-

  луживающей программы SYSGEN.  Для  получения  информации  о

  текущей независимой  от  специфики  вычислительной  системы

  командной  процедуре  запуска  можно  использовать  команду

  SHOW/STARTUP.

       Команды обслуживающей программы SYSGEN, приведенные  в

  примере, воспроизводят информацию о текущей независимой  от

  специфики вычислительной системы командной процедуре запус-

  ка и задают ее альтернативный вариант:


  SYSGEN> SHOW/STARTUP

  STARTUP COMMAND FILE = SYS$SYSTEM:STARTUP.COM

  SYSGEN> SET/STARTUP SYS$SYSTEM:XSTARTUP.COM

  SYSGEN> WRITE CURRENT

  %OPCOM, 15-APR-1987 16:04:06.30, MESSAGE FROM USER SYSTEM

  %SYSGEN-I-WRITECUR, CURRENT SYSTEM PARAMETERS MODIFIED BY

  PROCESS

  SYSGEN> EXIT









                           - 449 -

                        00152-01 97 10





                 Перечень условных обозначений





  $

       - подсказка языка DCL.


  >>>

       - консольная подсказка.


  <BK>

       - возврат каретки.


  Спец


       - спецификация.


  УC/X

       - одновременное нажатие клавиш УС и X.





                           - 450 -

                        00152-01 97 10





                 Перечень ссылочных документов





       1. Операционная система МОС ВП. Подсистема  системного

  программиста. Установка и запуск компонент  системы.  Руко-

  водство системного програмиста. 00152-01 32 01.

       2. Операционная система МОС ВП. Подсистема управления.

  Диалоговый  командный   язык.   Руководство   пользователя.

  00152-01 92 19-1.

       3. Операционная система МОС ВП. Подсистема  разработки

  программ. Программа установки образов системы.  Руководство

  пользователя. 00152-01 92 18.

       4. Операционная система МОС ВП. Подсистема  системного

  программиста. Программа анализа аварийного состояния систе-

  мы. Руководство оператора. 00152-01 34 11.

       5. Операционная система МОС ВП. Подсистема  системного

  программиста.  Программа  генерации  системы.   Руководство

  пользователя. 00152-01 92 07.

       6. Операционная система МОС ВП. Подсистема  системного

  программиста. Программа сохранения и восстановления файлов.

  Руководство пользователя. 00152-01 92 14.

       7. Операционная система МОС ВП. Подсистема  системного

  программиста. Программа авторизации пользователей в  систе-

  ме. Руководство оператора. 00152-01 34 09.

       8. Операционная система МОС ВП. Подсистема управления.

  Права доступа. Справочный материал. 00152-01 97 15-1.



                          - 450K -



                 Перечень ссылочных документов




       1. Операционная система МОС ВП. Подсистема  системного

  программиста. Установка и запуск компонент  системы.  Руко-

  водство системного програмиста. 00152-01 32 01.

       2. Операционная система МОС ВП. Подсистема управления.

  Диалоговый  командный   язык.   Руководство   пользователя.

  00152-01 92 19-1.

       3. Операционная система МОС ВП. Подсистема  разработки

  программ. Программа установки образов системы.  Руководство

  пользователя. 00152-01 92 18.

       4. Операционная система МОС ВП. Подсистема  системного

  программиста. Программа анализа аварийного состояния систе-

  мы. Руководство оператора. 00152-01 34 11.

       5. Операционная система МОС ВП. Подсистема  системного

  программиста.  Программа  генерации  системы.   Руководство

  пользователя. 00152-01 92 07.

       6. Операционная система МОС ВП. Подсистема  системного

  программиста. Программа сохранения и восстановления файлов.

  Руководство пользователя. 00152-01 92 14.

       7. Операционная система МОС ВП. Подсистема  системного

  программиста. Программа авторизации пользователей в  систе-

  ме. Руководство оператора. 00152-01 34 09.

       8. Операционная система МОС ВП. Подсистема управления.

  Права доступа. Справочный материал. 00152-01 97 15-1.




                           - 451 -

                        00152-01 97 10


       9. Операционная система МОС ВП. Подсистема  системного

  программиста. Работа с магнитными лентами и дисками.  Спра-

  вочный материал. 00152-01 97 11.

       10. Операционная система МОС ВП. Подсистема системного

  программиста. Программа определения  дисковых  квот.  Руко-

  водство пользователя. 00152-01 92 13.

       11. Операционная система МОС ВП. Подсистема системного

  программиста. Оптимизация работы системы. Справочный  мате-

  риал. 00152-01 97 12.

       12. Операционная система МОС ВП. Подсистема системного

  программиста. Программа обработки учетной информации. Руко-

  водство пользователя. 00152-01 92 11.

       13. Операционная система МОС ВП. Подсистема системного

  программиста. Программа контроля рабочих характеристик сис-

  темы. Руководство пользователя. 00152-01 92 15.

       14. Операционная система МОС ВП. Подсистема системного

  программиста. Программа монтирования магнитных лент и  дис-

  ков. Руководство пользователя. 00152-01 92 12.

       15. Операционная система МОС ВП. Подсистема системного

  программиста. Программа выявления дефектных  блоков.  Руко-

  водство оператора. 00152-01 34 10.

       16. Операционная система МОС ВП.  Подсистема  управле-

  ния. Сообщения системы и действия по восстановлению.  Спра-

  вочный материал. 00152-01 97 02-1.

       17. Операционная система МОС ВП.  Подсистема  управле-

  ния. Использование диалогового командного языка и командных

  процедур. Справочный материал. 00152-01 97 04.




                          - 451K -




       9. Операционная система МОС ВП. Подсистема  системного

  программиста. Работа с магнитными лентами и дисками.  Спра-

  вочный материал. 00152-01 97 11.

       10. Операционная система МОС ВП. Подсистема системного

  программиста. Программа определения  дисковых  квот.  Руко-

  водство пользователя. 00152-01 92 13.

       11. Операционная система МОС ВП. Подсистема системного

  программиста. Оптимизация работы системы. Справочный  мате-

  риал. 00152-01 97 12.

       12. Операционная система МОС ВП. Подсистема системного

  программиста. Программа обработки учетной информации. Руко-

  водство пользователя. 00152-01 92 11.

       13. Операционная система МОС ВП. Подсистема системного

  программиста. Программа контроля рабочих характеристик сис-

  темы. Руководство пользователя. 00152-01 92 15.

       14. Операционная система МОС ВП. Подсистема системного

  программиста. Программа монтирования магнитных лент и  дис-

  ков. Руководство пользователя. 00152-01 92 12.

       15. Операционная система МОС ВП. Подсистема системного

  программиста. Программа выявления дефектных  блоков.  Руко-

  водство оператора. 00152-01 34 10.

       16. Операционная система МОС ВП.  Подсистема  управле-

  ния. Сообщения системы и действия по восстановлению.  Спра-

  вочный материал. 00152-01 97 02-1.

       17. Операционная система МОС ВП.  Подсистема  управле-

  ния. Использование диалогового командного языка и командных

  процедур. Справочный материал. 00152-01 97 04.




                           - 452 -

                        00152-01 97 10


       18. Операционная система МОС ВП. Подсистема системного

  программиста. Программа  проверки  дисковых  файлов.  Руко-

  водство пользователя. 00152-01 92 04.

       19. Операционная система МОС ВП. Подсистема разработки

  программ. Программа компоновщик. Руководство  программиста.

  00152-01 33 04.

       20. Операционная система МОС ВП. Подсистема системного

  сервиса.   Разработка   драйверов.   Справочный   материал.

  00152-01 97 07-1.

       21. Операционная система МОС ВП. Подсистема системного

  сервиса. Управление вводом-выводом. Руководство программис-

  та. 00152-01 33 03.





                          - 452K -




       18. Операционная система МОС ВП. Подсистема системного

  программиста. Программа  проверки  дисковых  файлов.  Руко-

  водство пользователя. 00152-01 92 04.

       19. Операционная система МОС ВП. Подсистема разработки

  программ. Программа компоновщик. Руководство  программиста.

  00152-01 33 04.

       20. Операционная система МОС ВП. Подсистема системного

  сервиса.   Разработка   драйверов.   Справочный   материал.

  00152-01 97 07-1.

       21. Операционная система МОС ВП. Подсистема системного

  сервиса.  Управление  вводом-выводом. Руководство  програм-

  миста. 00152-01 33 03.
 
                            - 453K -
                                        
  
  
 ------------------------------------------------------------
 I                                                          I
 I                  Лист регистрации изменений              I
 I                                                          I
 I----------------------------------------------------------I
 IНомера листов (страниц)IВсего IN     IВходящий IПодп.IДатаI
 I-----------------------IлистовIдоку- IN сопро- I     I    I
 IИ IИз- IЗа- IНо- IАнну-I(стра-Iмента Iводитель-I     I    I
 Iз Iме- Iме- Iвых Iлиро-Iниц)  I      Iного до- I     I    I
 Iм Iнен-Iнен-I    Iван- Iв до- I      Iкум. и   I     I    I
 I. Iных Iных I    Iных  Iкум.  I      Iдата     I     I    I
 I----------------------------------------------------------I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
 I  I    I    I    I     I      I      I         I     I    I
  
  
                 



!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!