


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





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





          ПОДСИСТЕМА  РЕЖИМА СОВМЕСТИМОСТИ С ОС РВ

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



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

               2б.00152-01 97 14-1-ЛУ

                        Листов 2



                 Руководитель темы

                        Зам. директора ИНЭУМ

                        _______________ Хрущев С.Н.

                        "___"__________ 1987 г.

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

                        зав. отделом КФ ИПИ АН СССР

                        _______________ Штильман Л.Ф.

                        "___"__________ 1987 г.

                        Научный сотрудник КФ ИПИ АН СССР

                        _______________ Хохлова Л.С.

                        "___"__________ 1987 г.



Перв. примен.        1987                  Литера

2б.00152-01




                          - 2 -


                 Представители ИНЭУМ

                        Ответственный исполнитель темы

                        Зав. отделением

                        _______________ Остапенко Г.П.

                        "___"__________ 1987 г.

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

                        _______________ Скворцов В.А.

                        "___"__________ 1987 г.





Утвержден

2б.00152-01 97 14-1-ЛУ











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

         ПОДСИСТЕМА РЕЖИМА СОВМЕСТИМОСТИ С ОС РВ

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



                 2б.00152-01 97 14-1



                     Листов 290/5К



















Перв. примен.               1987             Литера

2б.00152-01



























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

       ПОДСИСТЕМА РЕЖИМА СОВМЕСТИМОСТИ С ОС РВ

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



                  00152-01 97 14-1



                     Листов 285





























                         1987




                          - 2 -

                     00152-01 97 14-1


                    АННОТАЦИЯ

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

содержит информацию,  необходимую  для  использования  ко-

мандного языка MCR системы МОС ВП, для выполнения  косвен-

ных командных файлов  и  для  использования  обслуживающих

программ ОС РВ в МОС ВП. Информация, содержащаяся  в  этом

документе, необходима пользователям ОС РВ  для  выполнения

существующих образов задач ОС РВ и образов основного режи-

ма МОС ВП в системе МОС ВП, а также для разработки образов

задач ОС РВ в среде МОС ВП.

     Данный документ состоит из двух частей.


                          - 3 -

                     00152-01 97 14-1


                        СОДЕРЖАНИЕ



1.       Общие сведения о режиме совместимости...........8

1.1.     Типы выполняемых образов........................8

1.1.1.   Требования, накладываемые  на  образ  задачи

         ОС РВ, выполняющийся под управлением  системы

         МОС ВП..........................................9

1.2.     Средства создания программ.....................11

1.2.1.   Обслуживающие программы и файлы ОС  РВ,

         используемые в МОС ВП..........................11

1.2.2.   Дополнительные возможности системы ОС РВ.......13

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

         MCR системы МОС ВП.............................13

1.3.     Команды........................................14

1.4.     Файловая структура.............................21

1.5.     FCS и СУД под управлением МОС ВП...............21

1.6.     Поддержка директив ОС РВ.......................22

2.       Операционая среда системы МОС ВП...............23

2.1.     Процесс и образ................................23

2.1.1.   Особености выполнения процесса и образа........24

2.1.2.   Регистрационный процесс, отсоединенный

         процесс, подпроцесс............................24

2.1.3.   Имя процесса...................................25

2.1.4.   Идентификация процесса.........................26

2.2.     Файл авторизации пользователя..................27

2.2.1.   Код идентификации пользователя и защита........28

2.2.1.1. Защита файла...................................28

2.2.1.2. Защита процесса................................29

2.2.2.   Привилегии.....................................30

2.2.3.   Приоритет процесса.............................31


                          - 4 -

                     00152-01 97 14-1


2.3.     Спецификация файла.............................32

2.3.1.   Имена устройств................................34

2.3.1.1. Мнемоника устройств............................34

2.3.1.2. Контроллер и номер устройства..................35

2.3.2.   Имена каталогов................................36

2.3.3.   Номера версий..................................36

2.3.4.   Умолчания для спецификации файла...............37

2.4.     Логические имена...............................43

2.4.1.   Таблица логических имен процесса...............45

2.4.2.   Таблица групповых логических имен..............45

2.4.3.   Таблица системных логических имен..............46

2.4.4.   Системно-определенные логические имена.........46

2.5.     Отображение устройств..........................49

2.5.1.   Отображение  имен  псевдоустройств   системы

         ОС РВ..........................................49

2.5.2.   Отображение имен физических устройств

         системы ОС РВ..................................51

2.5.3.   Псевдоустройство LB и скрытые устройства.......52

2.6.     Терминальные функции...........................54

2.7.     Синтаксические правила.........................56

2.7.1.   Строки продолжения.............................56

2.7.2.   Использование комментария......................57

2.7.3.   Сокращение имени команды и ключей..............58

2.7.4.   Размещение квалификаторов......................58

2.7.5.   Указание защиты файла..........................60

2.7.6.   Ввод даты и времени............................62

2.7.6.1. Абсолютное время...............................62

2.7.6.2. Дельта-время...................................65

2.7.6.3. Комбинация абсолютного времени и

         дельта-времени.................................65


                          - 5 -

                     00152-01 97 14-1


3.       Использование MCR в системе МОС ВП.............67

3.1.     Регистрация входа в МОС ВП.....................67

3.1.1.   Выбор интерпретатора команд....................68

3.1.2.   Файл LOGIN.CMD.................................69

3.2.     Подготовка образа для выполнения...............69

3.2.1.   Закрепление устройств в качестве личных........70

3.2.1.1. Общее имя устройства...........................70

3.2.2.   Монтирование томов.............................72

3.2.3.   Назначение логических имен.....................73

3.2.3.1. Использование логических  имен  для  образов

         задач ОС РВ....................................74

3.2.3.2. Использование логических имен вместо команды

         REA............................................75

3.2.3.3. Использование логических имен вместо команды

         RED............................................75

3.2.3.4. Использование логических имен  для  образов,

         выполняющихся в основном режиме процессора.....76

3.2.4.   Установка образов задач ОС РВ..................76

3.3.     Запуск образов.................................77

3.4.     Разработка программ под управлением MCR

         системы МОС ВП.................................79

3.4.1.   Использование обслуживающих программ ОС РВ.....79

3.4.2.   Использование программы преобразования
6;
         файлов FLX.....................................83

3.4.3.   Использование обслуживающих программ МОС ВП....84

3.5.     Выполнение косвенных командных файлов ОС РВ....86

3.6.     Построение образов задач ОС РВ для

         выполнения в системе МОС ВП....................86

3.6.1.   Ключи построителя задач........................87

3.6.2.   Выборы построителя задач.......................88


                          - 6 -

                     00152-01 97 14-1


3.6.3.   Прерывистые файлы образов задач................89

3.6.4.   Построение образов задач ОС РВ в системе МОС ВП

         для выполнения их в системе ОС РВ..............89

4.       Команды MCR....................................90

4.1.     Команда ALLOCATE...............................90

4.2.     Команда APPEND.................................94

4.3.     Команда ASSIGN................................100

4.4.     Команда BAD...................................102

4.5.     Команда BRU...................................104

4.6.     Команда BYE...................................119

4.7.     Команда CANCEL................................119

4.8.     Команда CONTINUE..............................122

4.9.     Команда COPY..................................124

4.10.    Команда CREATE................................132

4.10.1.  Создание последовательных файлов..............133

4.10.2.  Создание каталогов............................135

4.10.3.  Создание пустых файлов данных.................138

4.10.4.  Создание таблицы логических имен..............138

4.11.    Команда DEALLOCATE............................142

4.12.    Команда DEASSIGN..............................143

4.12.1.  Отмена назначения логического имени...........143

4.12.2.  Отмена назначения логической очереди..........148

4.13.    Команда DEBUG.................................149

4.14.    Команда DEFINE................................151

4.14.1.  Назначение логического имени..................151

4.14.2.  Назначение характеристик......................156

4.14.3.  Назначение формы..............................156

4.14.4.  Назначение ключа..............................159

4.15.    Команда DELETE................................161

4.15.1.  Команда удалить файл..........................162


                          - 7 -

                     00152-01 97 14-1


4.15.2.  Команда удаления характеристик очереди........166

4.15.3.  Команда удаления элементов из очереди.........166

4.15.4.  Команда удаления назначения формы.............167

4.15.5.  Команда удаления назначения ключа.............167

4.15.6.  Команда удаления очереди......................169

4.15.7.  Команда удаления назначения символа...........170

4.16.    Команда DEPOSIT...............................171

4.17.    Команда DIFFERENCES...........................175

4.18.    Команда DIRECTORY.............................184

4.19.    Команда DMO...................................195

4.20.    Команда DUMP..................................198

4.21.    Команда EDT...................................203

4.22.    Команда EXAMINE...............................207

4.23.    Команда EXECUTE PROCEDURE (@).................209
  [6~
4.24.    Команда EXIT..................................211

4.25.    Команда HELP..................................214

4.26.    Команда INITIALIZE............................215

4.27.    Процедура регистрации (LOGIN) ................228

4.28.    Команда LOGOUT................................230

4.29.    Команда MAIL..................................233

4.30.    Команда MERGE.................................235

4.31.    Команда MOUNT.................................246

4.32.    Оператор ON...................................262

4.33.    Команда PIP...................................266

4.34.    Команда PRINT.................................266

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


Операционная   система  МОС  ВП.    ПОДСИСТЕМА   РЕЖИМА

СОВМЕСТИМОСТИ С ОС РВ. Справочный материал.

00152-01 97 14-2


                          - 7K -

                   2б.00152-01 97 14-1


4.15.2.  Команда удаления характеристик очереди........166

4.15.3.  Команда удаления элементов из очереди.........166

4.15.4.  Команда удаления назначения формы.............167

4.15.5.  Команда удаления назначения ключа.............167

4.15.6.  Команда удаления очереди......................169

4.15.7.  Команда удаления назначения символа...........170

4.16.    Команда DEPOSIT...............................171

4.17.    Команда DIFFERENCES...........................175

4.18.    Команда DIRECTORY.............................184

4.19.    Команда DMO...................................195

4.20.    Команда DUMP..................................198

4.21.    Команда EDT...................................203

4.22.    Команда EXAMINE...............................207

4.23.    Команда EXECUTE PROCEDURE (@).................209

4.24.    Команда EXIT..................................211

4.25.    Команда HELP..................................214

4.26.    Команда INITIALIZE............................215

4.27.    Процедура регистрации (LOGIN) ................228

4.28.    Команда LOGOUT................................230

4.29.    Команда MAIL..................................233

4.30.    Команда MERGE.................................235

4.31.    Команда MOUNT.................................246

4.32.    Оператор ON...................................262

4.33.    Команда PIP...................................266

4.34.    Команда PRINT.................................266

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


Операционная  система  МОС ВП.  ПОДСИСТЕМА  РЕЖИМА

СОВМЕСТИМОСТИ  С  ОС РВ.  Справочный  материал.

2б.00152-01 97 14-2


                          - 8 -

                     00152-01 97 14-1


     1. Общие сведения о режиме совместимости



     Режим совместимости системы МОС ВП позволяет  пользо-

вателям системы ОС РВ работать в  системе  МОС  ВП.  Режим

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

ной системы МОС ВП и поддерживает возможности,  предостав-

ляемые пользователю в системе ОС РВ 3.

     Система MОС ВП имеет два  интерпретатора  команд  для

связи оператора с системой:

     - стандартный интерпретатор команд (DCL) описанный в

[1], [2], [3], [4];

     - программа связи с оператором (MCR).

     MCR системы Mос вп описан в данном документе.

     Пользователь системы ОС РВ может работать  в  системе

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

     Для понимания материала, изложенного в  данном  доку-

менте, необходимо знать особенности работы подсистемы  ре-

жима совместимости с ОС РВ, обсуждаемые  в  [5],  A  также

иметь общее представление о системе МОС ВП.



     1.1. Типы выполняемых образов



     MCR в системе МОС ВП является средством для работы  с

образами задач ОС РВ.

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

основном режиме процессора СМ 1700,  следует  использовать

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

дач ОС РВ и образов, созданных  средствами  самой  системы

МОС ВП, можно использовать MCR или DCL. Чтобы выполнить  в

системе МОС ВП с помощью DCL образ задачи, созданный в  ОС


                          - 9 -

                     00152-01 97 14-1


РВ, необходимо использовать  команду  MCR  вместо  команды

RUN.

     Оба типа образов (основного режима и режима совмести-

мости) могут быть выполнены из одного косвенного командно-

го файла под управлением MCR.

     Для того, чтобы косвенные командные файлы MCR работа-

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

манд должен быть установлен MCR. Информация о том, как ус-

тановить MCR в качестве интерпретатора команд,  содержится

в п. 3.1.1.

     МОС ВП не накладывает ограничений на образы основного

режима, которые можно выполнять под управлением MCR. Одна-

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

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

     На образы задач ОС РВ,  выполняемые  под  управлением

МОС ВП, накладываются некоторые ограничения  как со сторо-

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

системы. Эти ограничения подробно описаны в [5] и перечис-

лены в п. 1.1.1.



     1.1.1. Требования, накладываемые на образ задачи

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



     Требования со стороны процессора:

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

режиме;

     - образ задачи не должен выполнять  привилегированные

инструкции, такие как HALT и RESET;

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

вающей точкой  (FIS),  инструкции  устройства  расширителя


                          - 10 -

                     00152-01 97 14-1


арифметики (EAE); система МОС ВП эмулирует инструкции про-

цессора с плавающей точкой (FPP).

     Программные требования:

     - образ задачи должен быть построен  при  помощи  по-

строителя задач ОС РВ для выполнения в системе с диспетче-

ром памяти. Исключением из этого правила  являются  много-

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

совместимости, но не выполняются  под  управлением  ОС  РВ

[5];

     - образ задачи не  должен  зависеть  от  особенностей

среды операционной системы ОС РВ, которых  нет  в  системе

МОС ВП, таких как директивы управления памятью или  важные

события;

     - образ задачи не должен физически отображать область

управляющей программы ОС РВ; управляющей программы  ОС  РВ

не существует в системе МОС ВП;

     - образ задачи не должен физически отображать внешнюю

страницу памяти, внешняя страница недоступна  в  пользова-

тельском режиме;

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

     - образ задачи не должен зависеть от 32-словного раз-

биения памяти.

     Для выполнения в МОС ВП образов задач, построенных  в

ОС РВ, нет необходимости в их перестройке, если только  не

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

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

     Для того, чтобы  использовать  расширения  логических

имен, предусматриваемые системами FCS и СУД, которые обес-

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

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


                          - 11 -

                     00152-01 97 14-1


ОС РВ в МОС ВП.



     1.2. Средства создания программ



     В МОС ВП включены обслуживающие программы ОС РВ,  не-

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

ОС РВ, в режиме совместимости в МОС ВП  или в обеих систе-

мах. Обслуживающие программы ОС РВ  выполняются  в  режиме

совместимости под управлением МОС  ВП.  Эти  обслуживающие

программы имеют те же функции, что и в системе ОС РВ. Кро-

ме того, система МОС ВП обеспечивает копии файлов  и  биб-

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



     1.2.1. Обслуживающие программы и  файлы  ОС  РВ,

используемые в МОС ВП



     МОС ВП имеет обслуживающие программы ОС  РВ,  которые

могут быть активизированы как с помощью MCR,  так  и  DCL.

они перечислены в табл. 1.

     Символом * в табл. 1 помечены обслуживающие  програм-

мы, которые могут быть активизированы одним  из  указанных

способов: или для запуска программы посредством DCL  можно

ввести команду MCR и имя обслуживающей  программы  ОС  РВ,

или ввести команду:

RUN SYS$SYSTEM: имя_программы

     Символом ** помечены ссылки на [6].

     Квалификатор /DOS, указанный вместе с именем обслужи-

вающей программы МОС ВП, означает,  что  вызывается  соот-

ветствующая обслуживающая программа  режима  совместимости

ОС РВ с МОС ВП.


                          - 12 -

                     00152-01 97 14-1


                                                 Таблица 1

    Обслуживающие программы ОС РВ, доступные DCL и MCR

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

Обслуживающая программа    !  Команда DCL ! Команда MCR

        ОС РВ              !              !

---------------------------!--------------!---------------

Макроассемблер             ! MACRO/DOS    ! MAC

Текстовый редактор         !       *      ! EDI

Построитель задач          ! LINK/DOS     ! TKB

Библиотекарь               ! LIBRARY/DOS  ! LBR

Программа  работы  с  фай- !       *      ! PIP

лами                       !              !

Программа  преобразования  !       *      ! FLX

файлов                     !              !

Программа изменения  обра- !       *      ! ZAP

зов задач                  !              !

Программа     изменения    !       *      ! PAT

об'ектного модуля          !              !

Программа   сохранения  и  !       *      ! DSC1

уплотнения тома  файловой  !              !

структуры уровня 1         !              !

Программа поиска дефектных !       *      ! BAD

блоков                     !              !

Программа распечатки фай-  !       *      ! DMP

лов                        !              !

Программа  копирования  и  !       *      ! BRU

восстановления томов       !              !

Обслуживающие   программы  !       *      ! **

СУД                        !              !




                          - 13 -

                     00152-01 97 14-1


     МОС ВП имеет также следующие файлы  и  библиотеки  ОС

РВ: SYSLIB.OLB, DOSMAC.SML, ODT.OBJ.

     Перечисленные обслуживающие программы и  файлы  ОС РВ

можно использовать в МОС ВП так же, как в ОС РВ. Например,

пользователь может ввести и отредактировать программу, ис-

пользуя EDT или EDI, странслировать ее, используя MACRO, с

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

под управлением системы МОС ВП. Для того, чтобы при отлад-

ке использовать отладчик ODT (команда MCR  DEBUG),  образы

задач нужно скомпоновать с ODT.OBJ.

     Системная библиотека SYSLIB.OLB  содержит  расширения
  
логических имен для FCS и СУД, которые  позволяют  образам

задач ОС РВ обрабатывать спецификации файлов МОС ВП. Обра-

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

выполняться в системе ОС РВ.



     1.2.2. Дополнительные возможности системы ОС РВ



     Под управлением мос Bп могут быть реализованы следую-

щие возможности системы ОС РВ:

     - генерация системы МИОС РВ;

     - работа языковых компиляторов.



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

MCR системы МОС ВП



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

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

МОС ВП:

     1) DEBUG - символический отладчик, если создается об-


                          - 14 -

                     00152-01 97 14-1


раз для выполнения в основном режиме;

     2) DSC2 - обслуживающая программа сохранения и уплот-

нения тома файловой структуры уровня 2;

     3) EDT - стандартный  экранно-ориентированный  редак-

тор;

     4) MAIL - обслуживающая программа работы  с  почтовым

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

пользователями;

     5) SOS - строчно-ориентированный редактор.

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

п. 3.4.3.



     1.3. Команды



     В системе МОС ВП в набор команд MCR добавлены некото-

рые команды DCL. Некоторые из этих команд совпадают с  ко-

мандами MCR в системе ОС РВ,  хотя  форматы  команд  могут

незначительно отличаться. Набор команд MCR в  системе  МОС

ВП включает и некоторые команды MCR системы ОС РВ, которых

нет в DCL. Этими командами являются BYE, TIME, UFD.

     Если команда существует только в одном из интерпрета-

торов команд (MCR или DCL), то в другом интерпретаторе су-

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

аналогичные функции. Например, команда MCR ASN  и  команда

DCL ASSIGN выполняют аналогичные функции, но имеют различ-

ные имена и синтаксис.

     Для пользователя системы ОС РВ MCR системы Mос Bп мо-

жет упростить переход к работе в системе МОС ВП.

     Команды MCR системы МОС ВП делятся на группы в  зави-

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


                          - 15 -

                     00152-01 97 14-1


     Команды инициации

     ALLOCATE

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

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

устройство.

     ASN

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

ни.

     DEALLOCATE

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

ного.

     DMO

   - демонтирует  том,  монтированный  ранее  по   команде

MOUNT.

     INITIALIZE

   - инициирует том файловой структуры уровня 1 или 2.

     MOUNT

   - монтирует дисковый том, том на  магнитной  ленте  или

набор томов, т.е. делает их доступными для работы.

     SET HOST

   - устанавливает виртуальную связь  между  терминалом  и

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

нен.

     SET PASSWORD

   - позволяет пользователю изменить его  собственный  па-

роль.

     SET /UIC

   - изменяет каталог по  умолчанию  и  код  идентификации

пользователя (UIC) текущего процесса.




                          - 16 -

                     00152-01 97 14-1


     Информационная команда

     TIME

   - выводит текущую дату и время.



     Команды управления процессом

     BYE

   - завершает интерактивный сеанс связи с терминалом.

     CANCEL

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

го процесса.

     CONTINUE

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

венного командного файла.

     EXIT

   - завершает  обработку  текущего  косвенного командного

файла.

     ON

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

выполнено, если команда  или  программа  в  косвенном  ко-

мандном файле Oбнаружила условие ошибки.

     LOGIN (процедура регистрации)

   - проверяет право доступа пользователя к системе и поз-

воляет пользователю зарегистрировать свой вход в систему.

     LOGOUT

   - завершает интерактивный сеанс связи с терминалом.

     RUN

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

ненные процессы и подпроцессы.

     STOP

   - завершает выполнение образа, выполняемого в настоящий


                          - 17 -

                     00152-01 97 14-1


момент процессом.

     SUBMIT

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



     Команды отладки программ

     DEBUG

   - вызывает отладчик ODT для образа задачи системы ОС РВ

или символический отладчик системы МОС ВП для образа,  вы-

полняющегося в основном режиме.

     DEPOSIT

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

мяти.

     EXAMINE

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

памяти.



     Команды работы с файлами

     APPEND

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

файлов к концу выводного файла.

     COPY

   - создает новые файлы  из  одного  или  нескольких  су-

ществующих файлов.

     DELETE

   - удаляет файлы, элементы из очереди на печать  и  эле-

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

     DIRECTORY

   - распечатывает содержимое каталога или подкаталога.

     PRINT

   - ставит файлы в очередь на печать.


                          - 18 -

                     00152-01 97 14-1


     PURGE

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

его самых последних версий.

     RENAME

   - изменяет имя файла.

     TYPE

   - распечатывает на терминале содержимое файла.

     UFD

   - создает каталог или подкаталог на  диске  с  файловой

структурой уровня 1 или 2.

     В командной строке MCR можно указать любую из  приве-

денных здесь или в разделе 4 и  в  [7]  команд,  любую  из

обслуживающих программ МОС ВП или ОС РВ или  образы,  соз-

данные пользователями.

     MCR исследует командную строку, пытаясь найти одну из

своих команд, и, если команда MCR не найдена,  предполага-

ется, что запрашивается образ задачи. MCR пытается  запус-

тить образ из SYS$SYSTEM. Большинство обслуживающих  прог-

рамм ОС РВ нуждается  в  немедленной  обработке  всей  ко-

мандной строки, поэтому MCR передает образу введенную  ко-

мандную строку целиком, что отличает MCR от  DCL,  который

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

го, как они запрашиваются образом.

     Для работы обслуживающих программ ОС  РВ  MCR  должен

также разрешить выполнение образов, созданных  пользовате-

лями. Для минимизации ограничений, накладываемых на  имена

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

ходящиеся в SYS$SYSTEM, допустимыми и не проверяет синтак-

сис введенной команды.

     MCR  не проверяет введенную команду на допустимость и


                          - 19 -

                     00152-01 97 14-1


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

ющиеся от соглашений, используемых в DCL,  Tак  что,  если

указана команда DCL, которой нет в  MCR,  выполнение  этой

командной строки приведет  к  ошибочным  результатам.  Эта

проблема может не возникнуть непосредственно  после  ввода

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

     Выполнение некоторых команд DCL  недопустимо  в  MCR.

если необходимо использовать эти команды,  то  вместо  MCR

следует использовать DCL. Команды DCL со всеми своими под-

командами, например, ASSIGN, ASSIGN/MERGE и  ASSIGN/QUEUE,

которые не поддерживаются MCR, помечены в перечне символом

*.

     Команды DCL, не поддерживаемые MCR

     = (присваивание)

     ACCOUNTING

     ANALYZE *

     ASSIGN * (ASN в MCR)

     ATTACH

     BACKUP

     BASIC *

     BLISS

     CC

     CLOSE

     COBOL *

     CONVERT *

     CORAL

     DBO *

     DDL *

     DECK

     DISMOUNT (DMO в MCR)


                          - 20 -

                     00152-01 97 14-1


     EDIT/FDL

     EOD

     EOJ

     FORTRAN

     IF

     INITIALIZE/QUEUE

     INQUIRE

     JOB

     LIBRARY *

     LINK *

     MACRO *

     MCR

     MESSAGE

     MONITOR

     ON CONTROL_Y

     OPEN

     PASCAL

     PASSWORD

     PATCH

     PHONE

     READ

     REPLY

     REQUEST

     SET COMMAND

     SET CONTROL=T

     SPAWN

     START/QUEUE *

     STOP/QUEUE

     SYNCHRONIZE

     UNLOCK


                          - 21 -

                     00152-01 97 14-1


     WAIT

     WRITE



     1.4. Файловая структура



     В МОС ВП файловая структура может быть двух  уровней:

уровня 1 и уровня 2. Система ОС РВ  поддерживает  файловую

структуру уровня 1.

     По умолчанию система МОС ВП создает тома  с  файловой

структурой уровня 2, однако, она может создавать и  читать

тома с файловой структурой  уровня  1,  используя  команду

INITIALIZE/STRUCTURE.  Таким  образом,  тома  с   файловой

структурой уровня 1 могут быть доступны как в  системе  ОС

РВ, так и в системе МОС ВП.

     Для совместимости томов в обеих системах  должен  ис-

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

пустимый в ОС РВ ([гр,чл]).

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

файлов, состоящие из 17 символов, поддерживаются в  режиме

совместимости МОС ВП, как описано в [8].



     1.5. FCS и СУД под управлением МОС ВП



     В системе МОС ВП доступны и выполняются в режиме сов-

местимости система управления файлами (FCS) и система  уп-

равления данными (СУД). Интерфейс образа задачи, построен-

ной в системе ОС РВ с FCS и СУД, осуществляется в  МОС  ВП

так же, как это происходиT в системе ОС РВ. Система МОС ВП

преобразует QIO-запросы FCS и СУД из формата ОС РВ в экви-

валентные  QIO-запросы  МОС ВП, выполняющиеся  в  основном


                          - 22 -

                     00152-01 97 14-1


режиме [5].

     Блокировка записей, используемая в  СУД,  недопустима

для образов задач, выполняющихся в режиме совместимости.



     1.6. Поддержка директив ОС РВ



     В режиме совместимости система МОС ВП разрешает обра-

зам задач ОС РВ издавать большинство директив  управляющей

программы ОС РВ. Однако, в режиме совместимости недопусти-

мы следующие директивы ОС РВ:

     - директивы управления памятью ( ATRG$, CRRG$, DTRG$,

CRAW$, ELAW$, MAP$, UMAP$, SREF$, RREF$, GMCX$), вследст-

вие существующих различий в оборудовании;

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

телей (GSSW$), т. к. консольные переключатели в оборудова-

нии отсутствуют;

     - информационная директива получения параметров  рай-

она (GREG$), так как районы в режиме совместимости МОС ВП

отсутствуют;

     - директива подключения к вектору прерывания (CINT$),

т.к. Драйверы ввода-вывода не выполняются в режиме совмес-

тимости МОС ВП;

     - директива подключения к задаче (CNCT$), т.к. Систе-

ма МОС ВП Oбеспечивает большую защиту процесса, чем ОС РВ.


                          - 23 -

                     00152-01 97 14-1


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



     При работе с MCR в системе МОС ВП нетрудно  убедиться

в том, что операционная среда этой системы  отличается  от

операционной среды системы ОС РВ.  Например,  пользователь

системы МОС ВП имеет  возможности,  не  предусмотренные  в

системе ОС РВ, кроме того, имена устройств в МОС ВП отлич-

ны от имен устройств в системе ОС РВ. В этом разделе  рас-

сматриваются основные концепции системы МОС ВП.



     2.1. Процесс и образ



     Во время регистрации пользователя  в  системе  МОС ВП

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

     Этот процесс  предоставляет  необходимое  виртуальное

адресное пространство и управляющую информацию для  выпол-

нения всех пользовательских операций. Таким образом,  про-

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

тель работает под управлением МОС ВП. Из  своего  процесса

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

выполнения требуемых функций. Так как  процесс  может  су-

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

процессов, а не образов. С процессом связаны  такие  поня-

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

информация, которые образуют операционную среду (контекст)

для выполнения образа. В системе МОС ВП образ - это  прог-

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

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

мы ОС РВ. Примером образа для выполнения в основном режиме

является компоновщик МОС ВП. Программа  работы  с  файлами


                          - 24 -

                     00152-01 97 14-1


(PIP), построитель задач (TKB) являются примерами  образов

задач, выполняемых в режиме совместимости.  Используя  MCR

системы МОС ВП, пользователь может выполнять образы  задач

ОС РВ и образы, созданные для выполнения в основном  режи-

ме.

     Образы в системе МОС ВП, подобно задачам ОС РВ,  рас-

полагаются в файлах на диске. Если  пользователь  запросил

выполнение образа, например, по команде RUN, МОС ВП  акти-

визирует этот образ в процессе пользователя. Каждый следу-

ющий запрашиваемый образ перекрывает  предыдущий  образ  в

виртуальном адресном пространстве процесса. Концепции про-

цесса и образа обсуждаются в [9].



     2.1.1. Особенности выполнения процесса и образа



     В системе МОС ВП выполнение образа процессом  подобно

выполнению задачи в ОС РВ.  Однако,  существуют  следующие

различия:

     - процесс постоянно связан  с  пользователем;  он  не

связан с конкретным образом;

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

образов;

     - процесс обычно остается в системе до тех пор,  пока

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



     2.1.2. Регистрационный  процесс,  отсоединенный

процесс, подпроцесс



     МОС ВП распознает три типа процессов:

     1) регистрационный процесс, который является  процес-


                          - 25 -

                     00152-01 97 14-1


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

в систему;

     2) отсоединенный процесс, который  является полностью

независимым процессом;

     3) подпроцесс, являющийся процессом, который создает-

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

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

     Обычно пользователь выполняет образы  последовательно

в своем регистрационном процессе. Так как  регистрационный

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

может запросить только один образ  в  единицу  времени.  В

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

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

ным материалом  для второго  этапа и т. д. Так,  например,

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

ным файлом для другой обслуживающей программы (файл,  соз-

данный  макроассемблером,  является  вводным  файлом   для

построителя задач). Однако, если образы должны выполняться

одновременно, то для координации их деятельности необходи-

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

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

давать подпроцессы и отсоединенные процессы в дополнение к

выполнению образов в текущем процессе.



     2.1.3. Имя процесса



     Каждый процесс имеет имя, которое создается одним  из

следующих способов:

     - при регистрации пользователя МОС ВП определяет  имя

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


                          - 26 -

                     00152-01 97 14-1


мер, FELIX;

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

в процессе, запроса системного обслуживания для  изменения

имени процесса;

     - при выполнении задачи ОС РВ система МОС ВП изменяет

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

не начинается со знаков (...). При выполнении  обслуживаю-

щих программ ОС РВ не происходит изменения имени процесса,

т.к. их имена начинаются с трех точек, например, ...PIP.

     Обычно имя процесса остается неизменным на все  время

работы процесса или до тех пор, пока не будет указано  но-

вое имя.

     При выполнении задачи ОС РВ, имя которой не начинает-

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

задачи. Когда задача завершается, МОС  ВП  восстанавливает

предыдущее имя процесса.

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

кода идентификации пользователя (UIC). Следовательно, име-

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

пы.



     2.1.4. Идентификация процесса



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

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

системе. Идентификатор процесса остается неизменным,  пока

процесс существует.

     Пользователь, не относящийся к группе, к которой при-

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

вая его идентификатор.


                          - 27 -

                     00152-01 97 14-1


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

процесса по команде SHOW PROCESS. Информацию об  именах  и

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

по командам SHOW SYSTEM или SHOW PROCESS с  квалификатором

/IDENT.



     2.2. Файл авторизации пользователя



     Администратор системы МОС ВП обслуживает файл автори-

зации пользователя (UAF). Этот файл содержит по одной  за-

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

систему. Каждая запись включает следующую информацию:

     - имя пользователя;

     - пароль;

     - код идентификации пользователя (UIC);

     - учетное имя пользователя;

     - устройство пользователя (диск) по умолчанию;

     - интерпретатор языка команд по умолчанию (CLI);

     - имя каталога пользователя по умолчанию;

     - имя косвенного командного файла или командной  про-

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

LOGIN.CMD, если интерпретатором языка команд является MCR;

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

вновь создаваемым файлам;

     - предоставление привилегии пользователю;

     - базовый приоритет процесса;

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

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

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

пользователя для того, чтобы  связать  с  создаваемым  для


                          - 28 -

                     00152-01 97 14-1


этого пользователя процессом код идентификации, привилегии

и приоритет.



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



     В МОС ВП код идентификации пользователя  -  32-битное

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

ля. Формат  кода  идентификации  пользователя  приведен на

рис. 1



          Формат кода идентификации пользователя

             31            16 15            0

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

             ! Номер группы  ! Номер члена  !

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

                           Рис. 1



     Номер группы может быть любым восьмеричным  числом  в

пределах от 0 до 37776, а  номер  члена  от  0  до 177776.

     Код идентификации пользователя используется  системой

МОС ВП для определения защиты файла и процесса.



     2.2.1.1. Защита файла



     Когда пользователь создает  файл,  код  идентификации

пользователя (UIC)  становится  кодом  идентификации  вла-

дельца файла. На основании кода идентификации пользователь

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

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

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


                          - 29 -

                     00152-01 97 14-1


гична защите файлов в ОС РВ.

     Так же, как в ОС РВ, в МОС ВП защита файлов для  каж-

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

рехбитовых  поля RWED. Единственным отличием при определе-

нии защиты файлов в ОС РВ и МОС ВП является  интерпретация

бита E. В МОС ВП это поле определяет, имеет  ли  пользова-

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

емые образы (образы либо МОС ВП, либо ОС РВ). Бит E в поле

защиты тома определяет, могут ли пользователи создать фай-

лы на этом томе. В системе ОС РВ бит E  определяет,  может

ли файл быть расширен.

     В системе МОС ВП код идентификации пользователя (UIC)

не эквивалентен имени каталога пользователя. По  умолчанию

имя каталога указывается как отдельная запись в файле  ав-

торизации пользователя (UAF). Имя каталога обсуждается бо-

лее подробно в п. 2.3.2.



     2.2.1.2. Защита процесса



     В МОС ВП UIC используется также для защиты  процесса.

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

действовать пользователь одним из следующих способов:

     - посредством команд MCR или DCL, которые  используют

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

CANCEL и STOP;

     - посредством задач системы ОС РВ, издающих  директи-

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

директива $ABRT;

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

новном режиме, которые при обращении к программам  систем-


                          - 30 -

                     00152-01 97 14-1


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

мер, программа системного обслуживания $SUSPEND  (приоста-

новить процесс);

     Процесс всегда может воздействовать  на  подпроцессы,

которые он создал.

     Используя защиту файла и привилегии  процесса, МОС ВП

позволяет  процессу  воздействовать  на  другие  процессы,

а именно:

     - процессы, имеющие тот же самый  номер  группы  кода

идентификации пользователя, что и номер группы запрашиваю-

щего процесса;

     -  все процессы в системе, независимо от UIC.



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



     Ос рв определяет пользователя как  привилегированного

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

кода  идентификации  пользователя.  Номер  группы,  равный

10(8) или меньше, определяет привилегированного  пользова-

теля. При регистрации пользователя система ОС РВ связывает

статус  привилегированности  или  непривилегированности  с

терминалом, с которого пользователь издал команду.

     Привилегии в системе МОС ВП отличаются от  привилегий

в ОС РВ в следующих аспектах:

     - привилегии пользователя связаны с  процессом,  соз-

данным для пользователя, а не с терминалом;

     - пользователи не подразделяются на привилегированных

и непривилегированных. Администратор системы может  назна-

чить пользователю любую привилегию в зависимости  от  пот-

ребностей пользователя.


                          - 31 -

                     00152-01 97 14-1


     МОС ВП осуществляет проверку функций, которые пользо-

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

для  этого  пользователя  в  файле  авторизации  пользова-

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

[7, приложение 1]. Привилегии, требуемые для  пользователя

MCR, обычно такие же, как и для пользователя DCL.

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

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

разу возвращается состояние ошибки.

     В описании команд (см. раздел 4),[7] приведены приви-

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

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

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

щение об ошибке. Сообщения об ошибках приведены в [10].

     Привилегии GROUP и WORLD являются привилегиями управ-

ления процессом. Процесс,  имеющий  привилегию  управления

процессом GROUP, может воздействовать на другие  процессы,

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

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

     ПроцесC,  имеющий  привилегию  управления   процессом

WORLD, может воздействовать на любой  процесс  в  системе,

независимо от UIC.



     2.2.3. Приоритет процесса



     Каждая запись файла авторизации пользователя содержит

приоритет, на котором  выполняется  процесс  пользователя.

приоритеты в пределах от 1 до 15 предназначены для обычных

процессов, приоритеты с 16 по 31 - для процессов реального

времени. В системе ОС РВ  любая  задача  имеет  приоритет,


                          - 32 -

                     00152-01 97 14-1


назначенный ей либо при построении,  либо  при  установке.

когда пользователь запускает задачу,  она  выполняется  со

своим собственным приоритетом. В системе МОС ВП  любой  из

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

процесса, который запросил его выполнение.



     2.3. Спецификация файла



     Спецификация файла в системе МОС ВП подобна  специфи-

кации файла в ОС РВ и имеет отличия только в полях,  опре-

деляющих устройство и каталог. Различие в поле, определяю-

щем устройство, связано с тем, что в МОС ВП для  определе-

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

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

файловые структуры уровня 1 и 2.

     Спецификация файла в МОС ВП имеет следующий формат:

узел::устройство:[каталог]имя_файла.тип;версия

где узел - имя узла, алфавитно-цифровая строка длиной от 1

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

одну букву. Имя узла идентифицирует адрес узла. В специфи-

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

знаками двоеточия (::). Можно также указать строку  управ-

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

42 символов: узел "строка_управления_доступом";

    устройство - имя устройства,  указывается  в  формате:

DDCU:; DD - мнемоника типа устройства, C - буквенное обоз-

начение устройства; U  -  номер  устройства.  Максимальная

длина имени устройства - 15 символов. Имя устройства отде-

ляется от имени каталога двоеточием (:);

    Kаталог - имя каталога, задается в одном из  следующих


                          - 33 -

                     00152-01 97 14-1


форматов: [гр,чл], [имя], [имя.имя]. В системе МОС ВП  мо-

гут использоваться все эти форматы для дисков  с  файловой

структурой уровня 1 и 2. Однако, в  системе  ОС  РВ  может

быть использовано имя каталога только в  формате  [гр,чл],

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

и номер члена кода идентификации  пользователя  (UIC)  (п.

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

каталога буквы и цифры. Точка в имени  каталога  означает,

что каталог является подкаталогом каталога более  высокого

уровня. Каждая точка в имени каталога означает  последова-

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

уровней. Вместо квадратных скобок в имени  каталога  могут

быть использованы угловые скобки (<>). Например, имена ка-

талогов [SMITH] и <SMITH> идентичны;

    имя_файла - имя файла, содержит от  0  до  9  алфавит-

но-цифровых символов;

    тип - тип файла, содержит от 0 до 3 алфавитно-цифровых

символов;

    версия - номер версии файла, представляет собой  деся-

тичное число в пределах от 1 до 32767. Для отделения  типа

файла от номера версии можно использовать  точку  (.)  или

точку с запятой (;).

     Имя файла, тип файла и номер версии применимы  только

к файлам на устройствах большой емкости.  Имена  каталогов

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

устройств, ориентированных на записи, требуется  указывать

в спецификации файла только имя устройства.

     В полях имени файла, типа файла, номера версии  можно

использовать символ обобщения (*).

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


                          - 34 -

                     00152-01 97 14-1


фикации файла или ее части можно  использовать  логические

имена.



     2.3.1. Имена устройств



     Имена  устройств  в   МОС   ВП   содержат   мнемонику

устройства,  буквенное  обозначение  контроллера  и  номер

устройства в формате: DDCU:



     2.3.1.1. Mнемоника устройств



     Устройства, поддерживаемые системой МОС ВП, приведены

в табл. 2. Устройства, поддерживаемые как в основном режи-

ме, так и в режиме совместимости, имеют одинаковую  мнемо-

нику.



                                                Таблица 2

                Типы устройств

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

Мнемоника    !         Тип устройства

-------------!--------------------------------------------

CR           ! Устройство ввода с перфокарт

CS           ! Устройство памяти консольной подсистемы

DD           ! Кассетная магнитная лента

DL           ! Кассетный диск емкостью 10 мбайт

DM           ! Кассетный диск емкостью 14 мбайт

DQ           ! Внешнее запоминающее устройство на базе нмд

             ! (IDC)

DX           ! Гибкий диск обычной плотности

DY           ! гибкий диск двойной плотности


                          - 35 -

                     00152-01 97 14-1


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

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

Мнемоника    !         Тип устройства

-------------!--------------------------------------------

LC           ! Устройство печати

LP           ! Устройство печати

MB           ! Почтовый ящик

MS           ! Магнитная лента

NET          ! Логическое устройство сетевой связи

NL           ! Системное нулевое устройство

OP           ! Консоль оператора

TT           ! Интерактивный терминал

TX           ! Алфавитно-цифровой дисплей

XG           ! Синхронный порт



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

устройств, загружаются во время  генерации  системы.  Если

драйвер необходим, но не загружен,  следует  обратиться  к

администратору системы.



     2.3.1.2. Контроллер и номер устройства



     Контроллер устройства  обозначается  буквой  алфавита

(от A до Z). Например, мта обозначает магнитную  ленту  на

контроллере A.

     Номер устройства - десятичное число в пределах  от  0

до 65535. В МОС ВП номерA устройств  начинаются  с  0  для

каждого контроллера; например,  система  может  иметь  два

устройства магнитной ленты на двух различных контроллерах:

MTA0 и MTB0. Каждое из них является устройством с  номером


                          - 36 -

                     00152-01 97 14-1


0 на своем контроллере.



     2.3.2. Имена каталогов



     Имена каталогов могут  быть  заданы  в  формате  кода

идентификации пользователя ([гр,чл]) или в  виде  алфавит-

но-цифровой строки, содержащей от 1  до  9  символов.  Ис-

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

талогов главного каталога. Например, каталог второго уров-

ня имеет следующий формат:

     [имя.имя]

     Когда используются подкаталоги, запятая в имени ката-

лога или подкаталога в формате UIC опускается, однако  ве-

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

может быть [122020.MSG]. Более полная информация о катало-

гах приведена в [1].

     Чтобы создать каталоги на томах с файловой структурой

уровня 1 и уровня 2, необходимо использовать  команду  UFD

программы связи с оператором MCR. Права доступа и привиле-

гии, необходимые для создания каталога, опиCаны в [7].

     Любые тома, которые  используются  в  обеих  системах

(МОС ВП и ОС РВ), должны иметь каталоги в формате UIC; за-

пятая может быть опущена. Например, [123050]  и  [123,050]

эквивалентны в обеих системах.



     2.3.3. Номера версий



     ОС РВ выводит информацию о номерах версий  в  восьме-

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

работают с двоичным представлением номеров  версий.  Таким


                          - 37 -

                     00152-01 97 14-1


образом, номера версий внутренне совместимы в обеих систе-

мах. Чтобы определить номера версий при  пересылке  файлов

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

системе ОС РВ или МОС ВП для получения информации об имени

файла и версии. PIP в системе МОС ВП модифицирован для вы-

вода номеров версий в десятичном виде. Для вывода содержи-

мого каталога или подкаталога в МОС  ВП  можно  также  ис-

пользовать команду DIRECTORY.

     При использовании отрицательных номеров версий  необ-

ходимо придерживаться определенных соглашений, принятых  в

системе МОС ВП. В системе ОС РВ версия -0 и версия 0 иден-

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

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

самой последней версии файла, а версия -0 обозначает самую

старую версию файла, в то время как в системе  ОС  РВ  для

самой старой версии фAйла используется -1. Пользователь  в

системе МОС ВП может использовать числа -1, -2 и т.д.  для

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

РВ номер версии -1 обозначает самую старую  версию  файла,

другие отрицательные числа недопустимы. Итак, в МОС  ВП  0

указывает самую последнюю (новую) версию, -0 указывает са-

мую старую версию файла, -1 указывает следующую, более но-

вую по отношении к версии -0, версию файла и т.д.



     2.3.4. Умолчания для спецификации файла



     Когда в спецификации файла опущено то или иное  поле,

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

для спецификации файла.




                          - 38 -

                     00152-01 97 14-1


                                               Таблица 3

            Умолчания для спецификации файла

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

     Поле       !          Умолчание

----------------!-----------------------------------------

Узел            ! По умолчанию используется локальная сис-

                ! тема

Устройство      ! В качестве  устройства  пользователя  по

                ! умолчанию  устанавливается  диск либо на

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

                ! зователя, либо в  результате  выполнения

                ! команды SET DEFAULT

Каталог         ! В качестве каталога по умолчанию устана-

                ! вливается каталог либо на основе  записи

                ! из файла авторизации пользователя,  либо

                ! в   результате     выполнения    команды

                ! SET DEFAULT или SET /UIC

Имя файла       ! Для первого имени файла во вводной  спе-

                ! цификации файла нет умолчания. В качест-

                ! ве имен выводных файлов большинство  ко-

                ! манд использует по умолчанию имя вводно-

                ! го файла

Тип файла       ! Умолчание для типа файла зависит от кон-

                ! кретной  команды.  В  табл. 4  приведены

                ! типы  файлов, используемые по умолчанию

Версия файла    ! Правила для установки номера версии фай-

                ! ла по умолчанию такие же, как в  системе

                ! ОС РВ. Для вводных файлов умолчанием яв-

                ! ляется  самая  последняя  версия  файла,

                ! т.е. наибольший номер версии файла.  При


                          - 39 -

                     00152-01 97 14-1


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

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

     Поле       !          Умолчание

----------------!-----------------------------------------

                ! создании выводных файлов система  увели-

                ! чивает номер версии на 1 для  существую-

                ! щих файлов и присваивает  номер  версии,

                ! равный 1, новым файлам



     В табл. 4 приведены умолчания для типов файлов.



                                                 Таблица 4

        Умолчания для типов файлов

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

Тип файла      !     Содержимое файла

---------------!------------------------------------------

AIJ            ! Выводной файл протоколирования, создавае-

               ! мый обслуживающими программами,  работаю-

               ! щими с базами данных

ANL            ! Выводной файл, создаваемый по команде DCL

               ! ANALYZE

BAS            ! Вводной файл для интерпретатора  с  языка

               ! бейсик

BJL            ! Файл протоколирования программы BACKUP

B2S            ! Вводной  файл  для  компилятора  с  языка

               ! БЕЙСИК

B32 или BLI    ! Вводной  файл  для  компилятора  с  языка

               ! БЛИСС-32

C              ! Вводной файл для компилятора с языка C

CBL            ! Вводной файл  для  компилятора  МОС ВП  с


                          - 40 -

                     00152-01 97 14-1


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

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

Тип файла      !     Содержимое файла

---------------!------------------------------------------

               ! языка КОБОЛ системы ОС РВ

CLD            ! Файл описания языка команд

CMD            ! Косвенный командный файл  ОС РВ,  который

               ! должен быть выполнен под управлением  MCR

               ! по команде @

COB            ! Вводной файл  для  компилятора  МОС ВП  с

               ! языка КОБОЛ

COM            ! Файл командной процедуры, который  должен

               ! быть выполнен под управлением DCL по  ко-

               ! манде @, или передан для выполнения в па-

               ! кетном режиме по команде SUBMIT

COR            ! Вводной  файл  для  компилятора  с  языка

               ! КОРАЛ-66

DAT            ! Вводной или выводной файл данных

DBS            ! Файл области памяти базы данных

DDL            ! Файл языка определения данных

DIC            ! Файл словаря фобрин

DIF            ! Файл   листинга,  созданный  по   команде

               ! DIFFERENCES

DIR            ! Файл каталога

DIS            ! Файл, содержащий имена пользователей  для

               ! команды MAIL

DMP            ! Выводной  файл,  создаваемый  по  команде

               ! DUMP

EDT            ! Командный файл  инициации  для  редактора

               ! EDT


                          - 41 -

                     00152-01 97 14-1


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

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

Тип файла      !     Содержимое файла

---------------!------------------------------------------

EXE            ! Образ, созданный компоновщиком  МОС ВП  в

               ! основном режиме  или  построителем  задач

               ! ОС РВ в режиме совместимости

FDL            ! Файл языка определения файлов

FLB            ! Библиотека форм SUF

FOR            ! Вводной  файл  для  компилятора  с  языка

               ! ФОРТРАН системы МОС ВП

FTN            ! Вводной  файл  для  компилятора  с  языка

               ! ФОРТРАН системы ОС РВ

HLB            ! Текстовый файл HELP библиотеки

HLP            ! Вводной файл для HELP библиотек

JNL            ! Выводной журнальный файл, создаваемый об-

               ! служивающей программой PATCH

JOU            ! Журнальный файл, создаваемый  обслуживаю-

               ! щей программой EDT

L32            ! Предварительно скомпилированная библиоте-

               ! ка для компилятора с языка БЛИСС-32

LIB            ! Вводной файл, содержащий исходные  опера-

               ! торы языка КОБОЛ системы МОС ВП

LIS            ! Файл листинга,  создаваемый  компилятором

               ! или ассемблером

LOG            ! Выводной файл пакетного задания

LST            ! Файл листинга,  создаваемый  компилятором

               ! или ассемблером ОС РВ в режиме  совмести-

               ! мости

мас            ! Вводной файл для макроассемблера ОС РВ  в


                          - 42 -

                     00152-01 97 14-1


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

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

Тип файла      !     Содержимое файла

---------------!------------------------------------------

               ! режиме совместимости

MAI            ! файл сообщений, создаваемый обслуживающей

               ! программой MAIL

MAP            ! файл  распределения  памяти,  создаваемый

               ! компоновщиком МОС ВП или построителем за-

               ! дач ОС РВ в режиме совместимости

MAR            ! Вводной файл для  макроассемблера  МОС ВП

мем            ! Выводной файл, создаваемый  обслуживающей

               ! программой RUNOFF

MLB            ! Библиотека макроопределений ОС РВ или МОС

               ! ВП

MSG            ! Файл, содержащий тексты сообщений

OBJ            ! Об'ектный модуль, создаваемый ассемблером

               ! или компилятором ОС РВ или МОС ВП

ODL            ! Файл описания перекрытий, используемый  в

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

               ! ОС РВ в режиме совместимости

OLB            ! Библиотека об'ектных  модулей  ОС РВ  или

               ! МОС ВП

оPT            ! Файл  выборов,  используемый  в  качестве

               ! вводного компоновщиком в системе МОС ВП

PAR            ! Файл параметров SYSGEN

PAS            ! Вводной  файл  для  компилятора  с  языка

               ! ПАСКАЛЬ

PL1            ! Вводной файл для компилятора с языка PL1

RNO            ! Вводной файл для обслуживающей  программы


                          - 43 -

                     00152-01 97 14-1


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

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

Тип файла      !     Содержимое файла

---------------!------------------------------------------

               ! RUNOFF

ROO            ! Файл операций базы данных

R32 или REQ    ! Исходный файл на языке  БЛИСС-32, требуе-

               ! мый для компиляции

STB            ! Файл таблицы символов,  созданный  компо-

               ! новщиком МОС ВП или построителем задач ОС

               ! РВ в режиме совместимости

SYS            ! Файл образа системы

тес            ! Косвенный командный файл для  обслуживаю-

               ! щей программы TECO

TLB            ! Текстовая библиотека

TMP            ! Временный файл

TMN            ! Временный файл SOS (N - цифра)

TXT            ! Вводной файл для текстовых библиотек  или

               ! выводной файл для команды MAIL

UPD            ! Файл  коррекций  для  изменений  исходной

               ! программы  на  языке  макроассемблера,  а

               ! также вводной файл для редактора SUMSLP



     2.4. Логические имена



     Понятие логического имени в системе МОС ВП более  ши-

рокое, чем в ОС РВ. Использование логических имен в систе-

ме МОС ВП описано в п. 3.2.3.

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

оператором (MCR) пользователь может  назначить  логическое


                          - 44 -

                     00152-01 97 14-1


имя:

     - физическому устройству;

     - логическому устройству;

     - псевдоустройству;

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

     Назначение логических имен  в  системе  МОС  ВП  осу-

ществляется иначе, чем в системе ОС РВ. В отличие от  сис-

темы ОС РВ, где имеются  три  типа  назначений  логических

устройств: регистрационные, локальные и глобальные, в сис-

теме  МОС  ВП  назначение  логических  имен   может   осу-

ществляться для одного процесса, для всех процессов, нахо-

дящихся в одной группе, для всех процессов в системе.  Для

каждого типа назначений в системе МОС  ВП  создается  своя

таблица логических имен, а именно:

     - таблица логических имен процесса;

     - таблица групповых  логических имен;

     - таблица системных логических имен.

     По команде SHOW  LOGICAL  распечатываются  логические

имена и соответствующие им  эквивалентные  имена  из  этих

трех таблиц.

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

рамме, система транслирует его в  соответствующее  эквива-

лентное имя. Для того, чтобы осуществить  это,  последова-

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

таблица групповых логических имен и таблица системных  ло-

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

ветствие. Таким образом, записи в таблице логических  имен

процесса имеют преимущество перед записями в таблице груп-

повых логических имен и записями в таблице системных логи-

ческих имен, записи в таблице  групповых  логических  имен


                          - 45 -

                     00152-01 97 14-1


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

гических имен.



     2.4.1. Таблица логических имен процесса



     Таблица логических имен для каждого процесса содержит

логические имена, являющиеся локальными только  для  этого

процесса. Логическое имя, назначенное процессу и  занесен-

ное в таблицу логических имен, действительно для всех  об-

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

не будет отменено, или до тех пор, пока процесс  не  будет

удален, например, при регистрации выхода.



     2.4.2. Таблица групповых логических имен



     Каждая из таблиц групповых логических  имен  содержит

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

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

(UIC), что и процесс, который создал запись в  таблице.  В

отличие ОТ системы ОС РВ, система  МОС  ВП  не  использует

идентификации терминала для того, чтобы определить,  имеет

ли процесс доступ к таблице групповых логических имен. За-

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

удалены.

     Для того, чтобы поместить или удалить имя из  таблицы

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

гия GRPNAM.




                          - 46 -

                     00152-01 97 14-1


     2.4.3. Таблица системных логических имен



     Таблица системных логических  имен  содержит  записи,

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

в этой таблице аналогично использованию глобальных  назна-

чений в системе ОС РВ. Записи остаются в  таблице  до  тех

пор, пока они не будут явно удалены.

     Для того, чтобы поместить или удалить имя из  таблицы

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

гия SYSNAM.



     2.4.4. Системно-определенные логические имена



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

уровне процесса, так и на системном уровне. Система назна-

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

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

система МОС ВП автоматически определяет следующие логичес-

кие имена в таблице логических имен каждого процесса:

     1) SYS$INPUT - вводной поток команд для процесса. Ес-

ли пользователь работает в интерактивном режиме,  логичес-

кое имя SYS$INPUT назначается терминалу. Для пакетных  за-

даний логическое имя SYS$INPUT назначается вводному потоку

пакета;

     2) SYS$OUTPUT - выводной поток команд  для  процесса.

для пользователей, работающих в интерактивном режиме,  ло-

гическое имя SYS$OUTPUT назначается терминалу. Для  пакет-

ных заданий логическое имя  SYS$OUTPUT  назначается  файлу

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

файлов пользователь может  временно  назначить  логическое


                          - 47 -

                     00152-01 97 14-1


имя SYS$OUTPUT отдельному файлу, как описано в [7];

     3) SYS$COMMAND - первоначальное назначение логическо-

го имени SYS$INPUT для процесса. Когда  процесс  выполняет

косвенный командный файл, логическое имя SYS$INPUT  назна-

чается этому файлу; логическое  имя  SYS$COMMAND  остается

назначенным первоначальному потоку команд;

     4) SYS$ERROR - выводной поток по умолчанию, в который

система записывает сообщения. Для пользователей,  работаю-

щих в интерактивном режиме, логическое имя SYS$ERROR  наз-

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

SYS$ERROR назначается файлу регистрации пакетных заданий;

     5) SYS$DISK - дисковое устройство по умолчанию, уста-

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

DEFAULT интерпретатора команд DCL;

     6) SYS$LOGIN - создается  во  время  регистрации  для

ссылки к устройству и каталогу регистрационного  процесса,

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

теля;

     7) SYS$NET - определяет исходный процесс, который вы-

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

сети МОС ВП. Если  SYS$NET открыт  целевым  процессом,  он

представляет логическую связь, посредством которой процесс

может обмениваться данными с партнером;

     8) SYS$SCRATCH - каталог и устройство по умолчанию, в

которые записываются временные файлы;

     9) TT - имя устройства по умолчанию  для  терминалов.

при интерактивном режиме работы  с  терминалом  логическое

имя TT назначается устройству SYS$COMMAND.  Когда  процесс

выполняет косвенный командный файл, логическое имя TT наз-

начается "нулевому" устройству.


                          - 48 -

                     00152-01 97 14-1


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

системных логических имен:

     1) DBG$INPUT - вводной поток по умолчанию для  симво-

лического отладчика системы МОС ВП. Во  время  регистрации

логическое имя DBG$INPUT эквивалентно SYS$INPUT;

     2) DBG$OUTPUT - выводной поток по умолчанию для  сим-

волического отладчика. Во время регистрации DBG$OUTPUT эк-

вивалентно SYS$OTPUT;

     3) SYS$DISK - системный диск МОС ВП, на котором  раз-

мещается SYS$SYSTEM;

     4) SYS$ERRORLOG - имя устройства  и  каталога  фAйлов

данных регистрации ошибок;

     5) SYS$EXAMPLE - имя устройства и каталога  системных

примеров;

     6) SYS$HELP - устройство и каталог  системных  файлов

HELP библиотек;

     7) SYS$INSTRUCTION - устройство   и  каталог  образов

CAI;

     8) SYS$LIBRARY -  устройство  и  каталог,  содержащий

системные библиотеки;

     9) SYS$MAINTENANCE - имя устройства и  каталога  сис-

темных файлов технического обслуживания;

     10) SYS$MANAGER - имя устройства  и  каталога  файлов

администратора системы;

     11) SYS$MESSAGE - устройство и каталог файлов систем-

ных сообщений;

     12) SYS$NODE - имя узла для  локальной  системы,  при

условии, что сеть активна в системе;

     13) SYS$SHARE - устройство и каталог системных разде-

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


                          - 49 -

                     00152-01 97 14-1


     14) SYS$SYSDEVICE - системный диск МОС ВП, содержащий

системные каталоги;

     15) SYS$SYSROOT - устройство и корневой  каталог  для

системных каталогов;

     16) SYS$SYSTEM - устройство и каталог системного дис-

ка, содержащего программы и процедуры операционной  систе-

мы;

     17) SYS$TEST - имя устройства и каталога файлов UETP;

     18) SYS$UPDATE - имя  устройства  и  каталога  файлов

системных коррекций.



     2.5. Отображение устройств



     Понятие отображения  устройств  означает,  что  имени

устройства системы  ОС  РВ  ставится  в  соответствие  имя

устройства системы МОС ВП. В системе МОС ВП  автоматически

выполняется отображение для двух категорий имен устройств:

     - имен псевдоустройств системы ОС РВ, например, TI;

     - имен физических устройств системы ОС РВ,  например,

DM2.

     OTOбражение имеет место, либо если  образ  использует

имя устройства системы ОС РВ, либо если  в команде, издан-

ной интерактивно  или из косвенного командного файла,  ис-

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



     2.5.1. Отображение имен псевдоустройств системы ОС РВ



     Система МОС ВП устанавливает соответствие между  име-

нами псевдоустройств системы ОС РВ и  логическими  именами

устройств МОС  ВП,  выполняющими  аналогичные  функции.  В


                          - 50 -

                     00152-01 97 14-1


табл. 5 приводятся  соответствия  между  именами   псевдо-

устройств системы ОС РВ и  логическими  именами  устройств

системы МОС ВП.



                                                 Таблица 5

     Отображение имен псевдоустройств системы ОС РВ

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

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

Имя  псевдоустройства !   Логическое имя устройства

  системы   ОС РВ     !        системы МОС ВП

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

TI (для ввода)        ! SYS$INPUT

TI (для вывода)       ! SYS$OUTPUT

CO                    ! SYS$COMMAND

CL                    ! SYS$ERROR

SY                    ! SYS$DISK

LB                    ! SYS$SYSROOT

WK                    ! SYS$SCRATCH

SP                    ! Устройство, назначенное админист-

                      ! ратором системы  МОС ВП

OV                    ! Устройство, содержащее файл образа



     Устройства TI, CO, CL имеют постоянно открытые файлы,

связанные с ними.  Образ  системы ОС РВ,  выполняющийся  в

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

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

устройства TI, CO, CL, которые система МОС ВП автоматичес-

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

нами SYS$INPUT, SYS$OUTPUT, SYS$COMMAND и  SYS$ERROR.  Ин-

формация  об  имени   псевдоустройства  LB  содержится   в


                          - 51 -

                     00152-01 97 14-1


п. 2.5.3.



     2.5.2. Отображение имен физических устройств  системы

ОС РВ



     Пользователь  может  сам  устанавливать  соответствие

между именем физического устройства ОС РВ и действительным

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

это  соответствие   автоматически.   Чтобы   связать   имя

устройства системы ОС РВ с действительным устройством  МОС

ВП, пользователь может издать команду ASN программы  связи

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

ройства  ОС РВ в  качестве  логического  имени  устройства

(раздел 3).

     Если пользователь не использует назначений логических

имен, то МОС ВП автоматически отображает имя устройства ОС

РВ в имя устройства МОС ВП. Система МОС ВП выполняет отоб-

ражение, сохраняя тип устройства, например, МТ  и преобра-

зуя номер устройства ОС РВ в соответствующую букву,  обоз-

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

и номер устройства на этом контроллере в системе МОС ВП.

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

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

представляющего номер устройства ОС РВ, в десятичное и де-

ления его на 16 (десятичное). Частное от деления прибавля-

ется к значению символа A  в  символьном  коде.  Результат

представляет букву, обозначающую контроллер. Остаток  ста-

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

Например, устройства TT0 и DQ22 системы ОС РВ становятся в

системе МОС ВП устройствами TTA0 и DQB2 соответственно.


                          - 52 -

                     00152-01 97 14-1


     Отображение устройства TT0 в TTA0 осуществляется сле-

дующим образом:

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

номер устройства, в десятичное, получится 0;

     Далее определяется контроллер и номер  устройства  на

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

     'A'+(0/16)='A'+0; в остатке 0;

     'A'+0='A' - контроллер;

     0 - номер устройства.

     Отображение устройства  DQ22  в  DQB2  осуществляется

следующим образом:

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

получится 18;

     - далее определяется контроллер и номер устройства на

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

     'A'+(18/16)='A'+1; 2  в   остатке;

     'A'+1='B' - контроллер;

     2 - номер устройства.

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

устройства ввода-вывода образу ОС РВ, если пользователь не

назначил логических имен.



     2.5.3. Псевдоустройство LB и скрытые устройства



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

мого скрытым устройством. В начале физического имени скры-

того устройства стоят два символа подчеркивания (__).

     В МОС ВП вводится новое понятие о каталоге, связанное

со скрытым устройством, а именно "корневой каталог". Скры-

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


                          - 53 -

                     00152-01 97 14-1


устройство, либо на комбинацию каталога и устройства,  на-

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

можно обращаться как к фактическому устройству,  так  и  к

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

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

ример, системно-определенное логическое  имя  SYS$SYSROOT,

доступными будут только подкаталоги корневого каталога  на

этом устройстве, а каталог MFD (главный каталог файлов)  и

все его каталоги первого уровня будут недоступны.

     На большую часть применений ОС РВ  понятие  корневого

каталога не распространяется. Однако, имя псевдоустройства

LB системы  ОС  РВ  транслируется  в  корневое  устройство

(SYS$SYSROOT), чтобы разрешить  доступ  к  системным  биб-

лиотекам.  Первоначально  пользователь   может   ссылаться

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

LB, например, [1,1] и [1,2]. Eсли образ задачи ОС РВ пыта-

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

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

доступа к этому каталогу как подкаталогу корневого катало-

га, а не каталога MFD, будет безуспешной, если  только  не

будет изменено назначение логического имени LB.

     Если образ задачи ОС РВ использует имя LB,  то  можно

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

чтобы изменить логическое имя LB корневого  устройства  на

логическое  имя,  которое  транслируется   в   фактическое

устройство. Однако, попытка получить  доступ  к  каталогам

системных библиотек,  пока  LB  назначено  на  фактическое

устройство, будет безуспешна. Нужно просто отменить назна-

чение имени LB, чтобы переустановить его в  первоначальное

значение, когда необходимо.  Дополнительная  информация  о


                          - 54 -

                     00152-01 97 14-1


скрытых устройствах содержится в [11].



     2.6. Tерминальные функции



     В этом подразделе приведено описание управляющих сим-

волов терминала, которые система МОС ВП распознает. В  ос-

новном терминальные функции такие же, как и в  ОС  РВ,  за

исключением CTRL/Y и  CTRL/X.  Управляющий  символ  CTRL/Y

всегда вызывает возврат в интерпретатор команд,  а  CTRL/X

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

рительного ввода.

     В системе МОС ВП пользователю нет необходимости  ожи-

дать завершения выполнения  команды  или  программы  перед

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

ются в буфере предварительного ввода.

     Управляющие символы терминала

RETURN (возврат каретки)

     - передает системе текущую строку на выполнение.  Пе-

     ред началом работы на терминале инициирует  регистри-

     рующую последовательность.

TAB

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

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

     навливается на каждую восьмую позицию строки.

DELETE

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

     пробрасывает его. На некоторых терминалах эта клавиша

     эквивалентна RUBOUT (ЗБ).

     Ввод следующих  управляющих  символов  осуществляется

одновременным нажатием клавиши CTRL и клавиши соответству-


                          - 55 -

                     00152-01 97 14-1


ющей  буквы.  Большинство   управляющих   символов   имеет

эхо-сопровождение на   терминале в виде ^X.

CTRL/C

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

     довательность регистрации. Во время ввода команды от-

     меняет ее обработку. Некоторые системные и  пользова-

     тельские программы имеют специальную обработку преры-

     ваний по CTRL/C. Если управляющий символ  введен  для

     того, чтобы прервать выполнение программы, которая не

     предусматривает обработки прерывания  по  CTRL/C,  то

     управляющий символ CTRL/C имеет  такое  же  действие,

     как CTRL/Y,  и  имеет  эхо-сопровождение ^Y.

CTRL/I

     - выполняет такие же функции, что и клавиша табуляции

     TAB.

CTRL/K

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

     табуляции.

CTRL/L

     - осуществляет перевод формата.

CTRL/O

     - либо подавляет, либо возобновляет вывод  данных  на

     терминал.

CTRL/Q

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

     ный по CTRL/S.

CTRL/R

     - повторно распечатывает текущую  вводимую  строку  и

     оставляет маркер в конце строки.


                          - 56 -

                     00152-01 97 14-1


CTRL/S

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

     не будет введен управляющий символ CTRL/Q.

CTRL/U

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

CTRL/X

     - отменяет текущую строку и удаляет данные из  буфера

     предварительного ввода.

CTRL/Y

     - прерывает выполнение команды или программы и  пере-

     дает управление интерпретатору команд.

CTRL/Z

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

     минала.

CTRL/[ (ESCAPE)

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

     использование, но обычно выполняет ту же функцию, что

     и RETURN. На некоторых терминалах этA клавиша обозна-

     чена как ALTMODE, ESC или ESC(SEL).



     2.7. Синтаксические правила



     Программа связи с оператором MCR системы МОС ВП  поз-

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

помещать комментарий в командной строке и сокращать  имена

команд.



     2.7.1. Строки продолжения



     Пользователь  может  вводить  команду  на  нескольких


                          - 57 -

                     00152-01 97 14-1


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

элемента в строке.

     Пример.

> COPY /LOG -

>_   INFIL.DAT-

>_   OUTFIL1.DAT

     Не существует никаких ограничений на число строк про-

должения. После  каждой строки  продолжения  интерпретатор

команд выводит подсказку >_ для продолжения ввода команды.



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



     Программа связи с оператором MCR системы МОС ВП отли-

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

системы ОС РВ, а именно:

     - если вся строка является  строкой  комментария,  то

начало комментария помечается точкой с запятой (;). Строка

комментария не может быть продолжена на другой строке;

     - если комментарий завершает командную строку, то на-

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

комментарий находится внутри или в начале командной  стро-

ки, а за ним следует команда, то начало и конец  коммента-

рия также помечаются восклицательным знаком.  Комментарии,

расположенные внутри командных строк, могут быть продолже-

ны на других строках.

     Пример.

> DIRECTORY/FULL !обзор кодов защиты для -

>_   файлов ! ADV.DAT, ! вывод среднего числа ! -

>_   CAR.DAT, ! данные этого года




                          - 58 -

                     00152-01 97 14-1


     2.7.3. Сокращение имени команды и ключей



     Большинство имен команд можно сократить до трех  пер-

вых букв. Можно сократить имя команды и до меньшего  числа

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

Например, команда TYPE - единственная команда, начинающая-

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

т.е. TY. Имя часто используемой  команды  RUN  может  быть

сокращено до одной буквы R.

     Однако, для некоторых команд пользователь должен вво-

дить первые четыре  буквы,  чтобы  отличать  имена  команд

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

MCR системы ОС РВ, имеющих первые три  буквы   одинаковыми

(см. раздел 4).

     Все другие  компоненты  командной  строки,  например,

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

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

ются однозначно определенными для данной команды.



     2.7.4. Размещение квалификаторов



     В системе  МОС  ВП  ключи  (необязательные  параметры

обслуживающих программ и команд) называются квалификатора-

ми.

     MCR системы МОС ВП допускает более гибкое использова-

ние квалификаторов команд, чем MCR системы ОС РВ. Возможны

три типа квалификаторов:

     1) командные квалификаторы, которые имеют одно  и  то

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

строке;


                          - 59 -

                     00152-01 97 14-1


     2) позиционные квалификаторы, которые имеют различные

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

мандной строке;

     3) квалификаторы параметров, которые могут  быть  ис-

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

     Квалификаторы параметров имеют одни и те же  значения

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

мандой или за параметром.

     Пример 1.

>PRINT /HOLD SPRING.SUM,FALL.SUM

>PRINT SPRING.SUM,FALL.SUM/HOLD

     Kвалификатор /HOLD является командным квалификатором,

поэтому  обе команды  PRINT  из  данного  примера  эквива-

лентны.

     Позиционные квалификаторы имеют различные значения  в

зависимости от их места в командной строке. Если поместить

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

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

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

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

параметр.

     Пример 2.

>PRINT /COPIES=2 SPRING.SUM,FALL.SUM

>PRINT SPRING.SUM/COPIES=2 FALL.SUM

     В первой команде PRINT запрашивает получение двух ко-

пий каждого из файлов SPRING.SUM и FALL.SUM. Во второй ко-

манде  PRINT  запрашивается  получение  двух  копий  файла

SPRING.SUM и одной копии файла FALL.SUM.

     Квалификатор параметра может быть использован  только

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


                          - 60 -

                     00152-01 97 14-1


именем команды. Команды могут иметь несколько типов квали-

фиKATOров параметров, например, файловые  квалификаторы.



     2.7.5. Указание защиты файла



     Все тома на дисках и магнитных лентах имеют коды  за-

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

тому во время инициации и может быть переназначен при мон-

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

     Файлы дискового тома, включая  файл  каталога,  могут

иметь различные коды защиты.

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

вателей:

     1) системным (SYSTEM) - всем  пользователям,  имеющим

номер группы, обычно от 1  до  10(8),  или  пользователям,

имеющим привилегию SYSPRV или  BYPASS.  Номера  групп  для

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

темы во время генерации системы и могут быть восьмеричными

числами в пределах от 1 до 37776(8). Эти  номера  групп  и

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

системным программистам и операторам;

     2) собственнику (OWNER) - пользователю, который  соз-

дал и, следовательно, владеет томом или файлом;

     3) групповым (GROUP) -  всем  пользователям,  которые

имеют тот же самый номер группы, что и собственник файла;

     4) общим (WORLD) - всеM пользователям, не относящимся

к трем предыдущим категориям.

     Kаждой из этих  категорий  пользователей  могут  быть

разрешены или запрещены следующие типы доступа:

     1) READ - право на проверку, печать  или  копирование


                          - 61 -

                     00152-01 97 14-1


файла или файлов на томе;

     2) WRITE - право на модификацию или запись файлов  на

томе;

     3) EXECUTE - право на выполнение файлов, которые  со-

держат выполняемые образы. Когда этот тип доступа относит-

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

дание файлов на томе;

     4) DELETE - право на удаление файла или файлов на то-

ме.

     Для любой категории пользователей может быть  указана

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

используются сокращения для типов доступа: каждый из типов

доступа обозначается одной буквой (R,W,E,D). Порядок зада-

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

Если для любой из категорий пользователей в коде защиты не

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

этой категории пользователей отказано.  Если  при  задании

кода защиты файла не указана некоторая категория пользова-

телей, то для этой категории пользователей остаются  неиз-

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

     Если при задании кода защиты тома не указана одна  из

категорий пользователей, то этой  категории  пользователей

отказано во всех правах доступа.

     При задании кода защиты категории пользователей отде-

ляются от предоставляемого им типа доступа при помощи дво-

еточия (:). Если необходимо отменить все типы доступа  для

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

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

этой категорией пользователей в коде защиты  двоеточие  не

ставится, например, G.


                          - 62 -

                     00152-01 97 14-1


     Когда в  коде  защиты  задается  несколько  категорий

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

щиты должен быть заключен в круглые скобки.

     Пример.

SET PROTECTION=(SYSTEM:RWED,GROUP:R,WORLD)/DEFAULT

     Эта команда устанавливает все права доступа для  сис-

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

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

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

ние для прав доступа собственнику файла.



     2.7.6. Ввод даты и времени



     В квалификаторах команд  значение  параметра  времени

может быть указано либо как  абсолютное  время,  либо  как

дельта-время.

     Абсолютное время - задает дату и время дня, например,

20-JUN-1982 10:53:22.10.

     Дельта-время - задает смещение от текущей даты и вре-

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

мени.

     Комбинация абсолютного времени и дельта-времени  сос-

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

ние дельта-времени, например, завтра плюс один день.



     2.7.6.1. Абсолютное время



     Пользователь может задать либо дату, либо время, либо

дату и время одновременно.

     Абсолютное время задается в следующем формате:


                          - 63 -

                     00152-01 97 14-1


[DD-MMM-YYYY[:]][HH:MM:SS.CC]

где DD - день месяца (от 1 до 31);

    MMM - месяц, месяц должен быть указан тремя  латински-

ми буквами следующим образом:  JAN(январь),  FEB(февраль),

MAR(март), APR(апрель),  MAY(май),  JUN(июнь),  JUL(июль),

AUG(август),  SEP(сентябрь),  OCT(октябрь),   NOV(ноябрь),

DEC(декабрь);

    YYYY - год;

    HH - часы (от 0 до 23);

    MM - минуты (от 0 до 59);

    SS - секунды (от 0 до 59);

    CC - сотые доли секунды (от 0 до 99).

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

следующих ключей:

     1) TODAY - текущий день, месяц и год  исчисляется  от

OO:OO:OO:O часов;

     2) TOMORROW - 24 часа после 00:00:00:0  часов  сегод-

няшнего дня;

     3) YESTERDAY - 24 часа до 00:00:00:0 часов  сегодняш-

него дня.

     При задании абсолютного времени знаки пунктуации  ис-

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

ровать введенное значение времени:

     - если    указаны    дата   (DD-MMM-YYYY)   и   время

(HH:MM:SS.C), то необходимо поставить двоеточие между  да-

той и временем;

     - можно вводить дату и время в сокращенном  виде,  но

если указывается и дата, и время, то  формат  даты  должен

содержать, по меньшей мере, один знак дефиса (-);

     - можно опустить любое поле в формате даты или време-


                          - 64 -

                     00152-01 97 14-1


ни, напечатав соответствующий знак пунктуации. В этом слу-

чае система использует значение, принятое по умолчанию;

     - знак (.) между секундой и сотыми долями секунды яв-

ляется ограничителем, а не десятичной точкой.

     Если не указаны дата или любое из полей, определяющее

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

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

год.

     Если не указано какое-то поле в формате  времени,  то

система использует значение 0 для этого поля.

     Примеры:

1. 28-JUN-1982:12   ; 12:00 часов дня, 28 июня 1982г.

2. 28-JUN           ; 00-00 часов (полночь) 28 июня этого

                    ; года

3. 15               ; 15 часов,  00 минут -  сегодняшнего

                    ; дня;

4. 15-              ; 15 число текущего  месяца  и   года,

                    ; полночь

5. 18:30            ; 18 часов,  30 минут -  сегодняшнего

                    ; дня;

6. 15--::30         ; 00 часов, 30 минут 15 число  текуще-

                    ; го  месяца



     Если указано абсолютное время, которое уже прошло, то

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




                          - 65 -

                     00152-01 97 14-1


     2.7.6.2. Дельта-время



     Дельта-время имеет формат:

[DDDD-][HH:MM:SS.CC]

где DDDD - количество дней в 24-часовых единицах (от 0  до

9999);

    HH  - количество часов (от 0 до 23);

    MM  - количество минут (от 0 до 59);

    SS  - количество секунд;

    CC  - количество сотых долей секунды (от 0 до 99).

     Значение дельта-времени можно вводить  в  сокращенном

формате. Любое из полей  в  формате  дельта-времени  можно

опустить, напечатав соответствующий знак пунктуации.

     Если какое-то поле в формаTе дельта-времени не указа-

но, то система использует для этого поля значение 0.

     Примеры:

1. 3- ; 3 дня от текущего времени (72 часа);

2. 3          ; 3 часа от текущего времени

3. :30        ; 30 минут от текущего времени

4. 3-:30      ; 3 дня и 30 минут от текущего времени

5. 15:30      ; 15 часов и 30 минут от текущего вре-

              ; мени



     2.7.6.3. Комбинация   абсолютного   времени   и

 дельта-времени



     Комбинация абсолютного времени и дельта-времени  есть

абсолютное  время  плюс  (+)  или   минус   (-)   значение

дельта-времени.  Если  абсолютное  время  не  указано,  то

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


                          - 66 -

                     00152-01 97 14-1


мени дня.  Значению  дельта-времени  всегда  должен  пред-

шествовать знак плюс (+) или минус (-).

     Форматы для абсолютного времени и  дельта-времени,  и

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

подпунктах 2.7.6.1, 2.7.6.2.

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

(+), то полная спецификация времени должна быть  заключена

в кавычки ("). Если используется знак минус (-), то кавыч-

ки не требуются.

     Примеры:

1. "+5"                ; текущее время плюс 5 часов

2. "+:5"               ; текущее время плюс 5 минут

3. "TOMORROW+1-00:00"  ; завтра плюс 1 день

4. -:5                 ; текущее время минус 5 минут




                          - 67 -

                     00152-01 97 14-1


           3. Использование MCR в системе МОС ВП



     Используя MCR системы МОС ВП, пользователь может:

     - выполнять задачи системы ОС РВ и образы системы МОС

ВП;

     - использовать для создания задач ОС РВ обслуживающие

программы ОС РВ, например,  MACRO  или  построитель  задач

TKB;

     - выполнять косвенные командные файлы системы ОС РВ.

     В этом разделе описано, как зарегистрироваться в сис-

теме МОС ВП и выполнить перечисленные действия. Кроме  то-

го, описано как построить образ задачи ОС РВ для  выполне-

ния в системе МОС ВП.



     3.1. Регистрация входа в систему МОС ВП



     Для того, чтобы зарегистрироваться в системе  МОС ВП,

пользователь должен нажать клавишу "ВК" или ввести  управ-

ляющие символы CTRL/C или CTRL/Y.

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

USERNAME:

PASSWORD:

     Введенный пароль не распечатывается.

     На основе записи  в  файле  авторизации  пользователя

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

устанавливает характеристики терминала по умолчанию. Затем

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

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

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

ный командный файл или не запросил, чтобы  командный  файл


                          - 68 -

                     00152-01 97 14-1


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

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

умолчанию, отыскивается командный файл с именем  LOGIN.CMD

и, если он найден, то выполняется. Затем интерпретатор ко-

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

товности к приему команд.



     3.1.1. Выбор интерпретатора команд



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

используемого процессом, один из  следующих  интерпретато-

ров:

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

ле авторизации пользователя;

     - интерпретатор  команд,  указанный  при  регистрации

пользователя в системе посредством ключа /CLI после  имени

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

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

ный в файле авторизации пользователя.

     Если MCR не является интерпретатором команд по  умол-

чанию, то для  его  установки  в  качестве  интерпретатора

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

нем ключ /CLI=MCR.

     Пример.

USERNAME: CALEB/CLI=MCR

     Затем  пользователь вводит пароль обычным образом.

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

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

ется программа связи с оператором MCR. Характеристики  DCL

и MCR, которые можно принять во внимание  при  выборе  ин-


                          - 69 -

                     00152-01 97 14-1


терпретатора команд, приведены в подразделах 1.2 и 1.3.

     Если пользователь зарегистрировался в системе, указав

в качестве интерпретатора команд MCR, то процесс находится

под управлением MCR до тех пор, пока пользователь не заре-

гистрирует свой выход из  системы.  Если  при  регистрации

пользователь указал в качестве интерпретатора команд  MCR,

то интерпретатор команд DCL ему недоступен.



     3.1.2. Файл LOGIN.CMD



     Функции файла  LOGIN.CMD,  используемого  в  МОС  ВП,

идентичны функциям файла LOGIN.CMD в системе ОС  РВ.  Если

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

MCR  или пользователь указал  посредством  ключа  /CLI  во

время регистрации, что интерпретатором команд  будет  MCR,

то MCR отыскивает файл LOGIN.CMD в каталоге,  определенном

для пользователя по умолчанию. Файл LOGIN.CMD  должен  со-

держать допустимые в MCR команды и директивы.



     3.2. Подготовка образа для выполнения



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

идентичны в обеих системах. Для этого необходимо:

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

требуемое образу, и монтировать это устройство;

     - установить соответствие  между  именами  физических

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

или именами физических устройств системы  ОС  РВ,  которые

использует образ.

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


                          - 70 -

                     00152-01 97 14-1


дисковом томе с файловой структурой. Том должен быть  мон-

тирован и пользователь должен иметь к нему право  доступа,

т.е. пользователю должен быть разрешен доступ на  выполне-

ние (E) (п. 2.7.5).



     3.2.1. Закрепление устройств в качестве личных



     Закрепление устройства в качестве личного  в  системе

МОС ВП осуществляется так же, как в системе ОС РВ. Пользо-

ватель может закрепить устройство в  качестве  личного  по

команде ALLOCATE, обычно перед  монтированием  устройства.

Если устройство закреплено одним из пользователей, то  оно

недоступно другим пользователям. Устройство остается  зак-

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

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

темы. В системе ОС РВ закрепленные устройства используются

любыми задачами, которые выполняет пользователь. В системе

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

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

подпроцессом.

     В качестве параметра в команде  ALLOCATE  может  быть

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

кого устройства. Имя  физического  устройства  может  быть

указано  явно  или  может  быть  использовано  общее   имя

устройства.



     3.2.1.1. Общее имя устройства



     Общее имя устройства явно указывает тип устройства  и

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


                          - 71 -

                     00152-01 97 14-1


лере. Общее имя устройства позволяет системе из  имеющихся

устройств указанного типа выбрать фактическое  устройство,

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

     Пример.

> ALL MT:

_MTB2: ALLOCATED

     По этой команде система должна закрепить  в  качестве

личного любое доступное устройство типа MT.

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

устройство 2 на  контроллере  B.  Если   в   общем   имени

устройства указывается тип устройства и контроллер, то  по

команде ALLOCATE отыскивается доступное устройство на ука-

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

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

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

данным номером.

     В отличие от системы ОС РВ, если в МОС ВП не указыва-

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

чанию не является номер устройства 0 на контроллере A. Это

обстоятельство может оказать нежелательное действие в слу-

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

пить в качестве личного устройство  [7],  полагая  что  по

умолчанию будет использоваться устройство с номером 0.

     Информация об использовании магнитных лент и  о  зак-

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

[8].




                          - 72 -

                     00152-01 97 14-1


     3.2.2. Монтирование томов



     В системе МОС ВП, как и в ОС  РВ,  монтирование  тома

осуществляется по команде MOUNT. Функции команды  MOUNT  и

ее ключей идентичны в  обеих  системах.  Однако,  названия

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

MOUNT  могут  быть  выполнены   следующие   дополнительные

действия:

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

ром монтируется том;

     - указание собственника тома и защиты тома;

     - указание возможности доступа к тому, например, лич-

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

лям;

     - указание, разрешается ли вмешательство пользователя

или оператора.

     Все возможности команды MOUNT описаны (см. раздел 4).

     Основная цель команды MOUNT - разрешить  пользователю

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

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

их. Любой том, который пользователь (в большинстве  случа-

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

занием ключа /SYSTEM, доступен любому пользователю,  заре-

гистрировавшемуся в системе. Любой  том,  монтированный  с

ключом /GROUP, доступен всем пользователям, имеющим тот же

номер группы в коде идентификации пользователя (UIC),  что

и пользователь, издавший команду MOUNT.

     В команде MOUNT можно указать  в  качестве  параметра

либо  логическое  имя  устройства,  либо  имя  физического

устройства. При указании имени физического устройства мож-


                          - 73 -

                     00152-01 97 14-1


но либо указывать его явно, либо  использовать  умолчания.

по умолчанию подразумевается устройство  с  номером  0  на

контроллере A.

     Информация о монтировании дисков и магнитных лент со-

держится в [8].



     3.2.3. Назначение логических имен



     В системе МОС ВП можно использовать логические  имена

в образах задач ОС РВ, в образах, выполняемых  в  основном

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

ром MCR.

     Используя команду ASN (ASSIGN), MOжно назначить логи-

ческое имя физическому устройству.

     Пример 1.

ASN DQB2:=INO:

     Можно присвоить логическое имя всей или части  специ-

фикации файла.

     Пример 2.

ASN DQB2:[MYDIR]FILEA.DAT;2=INPUT

     В отличие от системы ОС РВ, логические имена в МОС ВП

не ограничиваются двумя буквами и номером устройства.  Ло-

гические имена в системе МОС  ВП  могут  содержать  макси-

мально 63 алфавитно-цифровых символа.

     По команде ASN можно также удалить  назначение  логи-

ческого имени.




                          - 74 -

                     00152-01 97 14-1


     3.2.3.1. Использование логических имен для образов

задач ОС РВ



     Для назначения логического  номера  устройства  (LUN)

физическому устройству системы ОС РВ или логическому  име-

ни, в образе задач системы ОС РВ может  быть  использована

директива $ALUN. Аналогично, выбор ASG  построителя  задач

(TKB) системы ОС РВ может быть использован для  назначения

LUN  физическому  или  логическому  устройству  во   время

построения.

     При использовании любого из этих  методов  назначения

LUN физическому устройству системы ОС РВ  можно издать ко-

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

устройства системы ОС  РВ  в  качестве  логического  имени

устройства системы МОС ВП. Затем,  когда  система  МОС  ВП

встречает имя устройства системы ОС РВ , она ставит в  со-

ответствие этому имени  имя  соответствующего  физического

устройства системы МОС ВП. Следующий  пример  иллюстрирует

использование команды ASN.

     Пример 1.

ASN DQA1:=DK2:

     Если образ издает директиву $ALUN или при его постро-

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

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

соответствия между логическим именем и именем  физического

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

     Пример 2.

ASN DQB0:=XY:

     Назначение логического имени может быть  осуществлено

посредством ввода соответствующей команды ASN  до  запуска


                          - 75 -

                     00152-01 97 14-1


задачи системы ОС РВ по команде RUN.

     Кроме того, команды ASN и RUN могут быть выполнены  в

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

ность ошибок оператора во время запуска.

     Если назначение логического имени  не  выполнено,  то

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

ОС РВ, используемые образом, в имена устройств системы МОС

ВП (п. 2.5.2).



     3.2.3.2. Использование логических имен вместо команды

REA



     В системе ОС РВ привилегированный пользователь  может

переназначить логический номер устройства  LUN  от  одного

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

де REASSIGN (REA).

     В системе МОС ВП пользователь  должен  назначить  LUN

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

за. MCR системы МОС ВП не имеет команды REA.



     3.2.3.3. Использование логических имен вместо команды

RED



     В системе ОС РВ привилегированный пользователь  может

переадресовать запросы ввода-вывода с одного устройства на

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

имеет команды RED. Пользователь должен назначить  логичес-

кие имена перед выполнением образа.




                          - 76 -

                     00152-01 97 14-1


     3.2.3.4. Использование логических имен  для  образов,

выполняющихся в основном режиме процессора



     Использование логических имен в МОС  ВП  обеспечивает

большую гибкость, чем в системе ОС РВ. Образы, выполняющи-

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

назначенное всей или части спецификации файла.  Аналогично

можно использовать логическое имя, назначаемое  специфика-

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

     Пример.

> ASN DQB1:[JONES]SNOW.DAT;4=INPUT

> RUN ANLZE

   .

   .

   .

     В этом примере по команде ASN  логическое  имя  INPUT

назначается        полной        спецификации        файла

DQB1:[JONES]SNOW.DAT;4.

     Когда образ ANLZE обращается к INPUT, система МОС  ВП

автоматически транслирует это имя в соответствующую специ-

фикацию файла.

     Полная информация о логических  именах  содержится  в

[1].



     3.2.4. Установка образов задач ОС РВ



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

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

так же, как непривилегированный пользователь системы ОС РВ

осуществляет запуск задачи, т. е. по команде RUN с  указа-


                          - 77 -

                     00152-01 97 14-1


нием спецификации файла образа в качестве параметра.  Сис-

тема МОС ВП не поддерживает команду INSTALL ОС РВ.

     Использование логических имен в МОС  ВП  создает  эф-

фект, подобный действию команды INSTALL. Если пользователь

назначает логическое имя спецификации файла образа, то ло-

гическое имя может использоваться как  имя  задачи.  Таким

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

MCR (>), то МОС ВП  выполняет  преобразование  логического

имени и запускает соответствующий образ.

     Пример.

ASN DQ4:[IMEGES]ALPHA.TSK=REP/GBL

     Эта команда устанавливает REP в качестве  логического

имени  для  файла  образа  ALPHA.TSK,   содержащегося   на

устройстве DQA4: в каталоге [IMEGES].

     Так как логическое имя REP помещается в таблицу  сис-

темных логических имен, то любой пользователь  может  осу-

ществить запуск образа посредством ввода команды:

     REP дополнительные_данные

     Oбраз  может  получить  дополнительные  данные   пос-

редством директивы GMCR$, так же как в системе ОС РВ.

     Для того, чтобы поместить имена для процесса в табли-

цу системных логических имен,  пользователь  должен  иметь

привилегию SYSNAM.



     3.3. Запуск образов



     Интерпретатор команд MCR системы МОС ВП позволяет вы-

полнять образы задач МОС ВП и ОС РВ. Основной  формат  за-

пуска образов следующий:

     RUN спец_файла


                          - 78 -

                     00152-01 97 14-1


     Параметр спец_файла представляет стандартную специфи-

кацию файла в МОС ВП или логическое имя, которое  трансли-

руется в спецификацию файла. Если тип файла не указан , то

по умолчанию используется тип файла  ехе.  Для  выполнения

образов задач ОС РВ, имеющих тип файла TSK, необходимо ли-

бо явно указать тип файла, либо переименовать файл образа.

по умолчанию типом файла образа, производимого компоновщи-

ком системы МОС ВП и построителем задач ОС РВ,  работающим

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

     Команда RUN имеет ключи, которые управляют выполнени-

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

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

том процесса, планированием, квотами ресурсов и привилеги-

ями [7].

     Примеры:

1. > RUN INVENTORY

     Эта команда запускает самую  последнюю  версию  файла

INVENTORY.EXE, размещенную в каталоге и на диске по  умол-

чанию.

2. > ASN DBB2:[OC]IMAGE.TSK;8=MYTASK

   > RUN MYTASK

     Команда ASN назначает образу логическое  имя  MYTASK.

команда RUN выполняет этот образ.

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

запустить образ в своем процессе посредством ввода  специ-

фикации файла образа в ответ на подсказку MCR (>) или пос-

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

спецификацию файла образа.




                          - 79 -

                     00152-01 97 14-1


     3.4. Разработка программ под управлением MCR  системы

МОС ВП



     МCR системы МОС ВП позволяет создавать  образы  задач

ОС РВ. Полный список обслуживающих программ ОС  РВ,  имею-

щихся  в  распоряжении  системы  МОС  ВП  и  выполняющихся

под  управлением   MCR   системы  МОС  ВП  (см.  подраздел

1.2 ).

     При разработке программы ОС РВ  под  управлением  MCR

системы МОС ВП в режиме совместимости выполняются  следую-

щие действия:

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

вом редактора EDI;

     - трансляция программы, с помощью транслятора с языка

MACRO;

     -  построение  задач  с  отладчиком  ODT  посредством

построителя задач;

     - запуск программы;

     - отладка программы с помощью ODT;

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

построение и запуск.



     3.4.1. Использование обслуживающих программ ОС РВ



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

ОС РВ (п. 1.2.1), издав  запрос  к  интерпретатору  команд

MCR. Вызов любой  обслуживающей  программы  осуществляется

либо вводом имени программы  и  <CR>,  либо  вводом  имени

программы, командной строки для  этой  программы  и  <CR>.

Действия, выполняемые  этими  обслуживающими  программами,


                          - 80 -

                     00152-01 97 14-1


такие же как в ОС РВ.

     Кроме того, можно построить образ задачи ОС РВ, кото-

рый необходимо отладить с помощью отладчика ODT.  Отладчик

ODT работает в МОС ВП, как в ОС РВ. Можно  также  прервать

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

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

     Для всех обслуживающих программ ОС РВ, используемых в

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

кация файла, принятая в системе МОС ВП. Информация об  ис-

пользовании программы FLX содержится в п. 3.4.2.

     Обслуживающая программа PIP в МОС ВП не  имеет  ключа

/UF, поэтому для создания каталога пользователю необходимо

использовать команду UFD интерпретатора команд MCR [7] или

команду CREATE /DIRECTORY (см. раздел 4).

     Примеры:

1. > EDI

   EDI> DQA1:[COLD]CENTIGRAD.DAT

   [CREATING NEW FILE]

   INPUT

     .

     .

     .

   <RET>

   *EX

   [EXIT]

   >

     В этом примере вызывается редактор EDI. Редактор  EDI

работает в МОС ВП так же, как в системе ОС РВ, т.е. произ-

водится поиск файла CENTIGRAD.DAT в каталоге по  умолчанию

и т.к. он не найден, то создается новый  файл  в  каталоге


                          - 81 -

                     00152-01 97 14-1


[COLD]. Выход по EX заставляет программу связи с  операто-

ром MCR выводит подсказку >.

2. > MAC @MACINP

   >

     Эта команда заставляет макроассемблер  MACRO  считать

косвенный командный файл MACINP.CMD для ввода команд. Пос-

ле  того,  как  командный  файл  выполнится,  MCR  выводит

подсказку >.

3. > TKB APPLES=GRAPES

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

об'ектного файла GRAPES.OBJ, размещенного на устройстве  и

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

имя APPLES.EXE и будет сохранен также на  устройстве  и  в

каталоге, определяемых по умолчанию. Файл GRAPES.OBJ  дол-

жен быть создан ассемблером или компилятором ОС РВ.  Когда

построение задачи завершится, MCR системы МОС  ВП  выводит

подсказку >.

4. > TKB

   TKB> AVERAGE,AVERAGE=AVERAGE

   TKB> /

   ENTER OPTIONS:

   TKB>

     .

     .

     .

   TKB> //

   >

     Эта последовательность команд вызывает TKB системы ОС

РВ, передает ему имена вводных и выводных файлов и ряд па-

раметров, содержащих информацию о характеристиках  задачи.


                          - 82 -

                     00152-01 97 14-1


Построитель задач запрашивает ввод командных строк до  тех

пор, пока не получит строку,  состоящую  из  символов  //.

После того, как TKB завершит работу, MCR выводит подсказку

>.

5. > PIP DBB2:[ADAMS]*.LST;*/DE

     Эта команда вызывает PIP  для  удаления  файлов  типа

.LST из каталога [ADAMS] на устройстве DBB2.  МCR  системы

МОС ВП выводит подсказку > после  того,  как  файлы  будут

удалены.

6. > PIP

   PIP> SPICE.*/PU

   PIP>

     .

     .

     .

   PIP> <CTRL/Y>

   >

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

осуществляет вызов обслуживающей программы PIP.  Программа

PIP выводит свою подсказку  после  выполнения  каждой  ко-

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

щий символ CTRL/Y для передачи  управления  интерпретатору

команд MCR. Следует отметить, что PIP выводит номера  вер-

сий файлов в десятичном, а не в восьмеричном формате.


                          - 83 -

                     00152-01 97 14-1


     3.4.2. Использование программы преобразования  файлов

FLX



     Программа FLX воспринимает спецификации файлов только

в формате системы ОС РВ:

     Устр:[гр,чл]имя_файла.тип;версия

     Программа  FLX  не  допускает   задания   обозначения

контроллера в имени устройства, и формата  UIC,  отличного

от формата UIC в ОС РВ. Программа FLX также  не  допускает

использования логического имени для спецификации файла.

     Если в спецификации файла не указан каталог, то  сис-

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

либо в формате [гр,чл], либо в  формате,  допускающем  имя

каталога или подкаталога.

     Поскольку FLX не интерпретирует имена устройств, при-

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

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

ние устройств (подраздел 2.5).

     Если указано имя устройства, которое  не  может  быть

отображено в физическое устройство системы МОС ВП, то  FLX

выводит сообщение об ошибке, указывающее,  что  устройство

не найдено.

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

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

честве личного.

     Если пользователь использует магнитную ленту, не име-

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

магнитной ленты в качестве личного необходимо  монтировать

его с квалификатором /FOREIGN. Магнитные ленты, используе-

мые в операционных системах дос и рафос,  не  имеют  стан-


                          - 84 -

                     00152-01 97 14-1


дартных меток, и потому должны быть монтированы по команде

MOUNT/FOREIGN. В режиме совместимости система МОС  ВП  до-

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

метками имен файлов, содержащих максимально до 17 символов

[8].

     Примеры:

1. > FLX DQ0:[120,30]=MT1:SYS1.MAC/DO

     Система МОС ВП отображает имя устройства DQ0: системы

ОС РВ  в  физическое  устройство  DQA0:  системы  МОС  ВП,

устройство MT1 в устройство MTA1. Файл SYS1.MAC будет  за-

писан в каталог [120,30] на устройстве DQA0.

2. > FLX

   FLX> DK3:=DM0:[133,10]MYFIL.MAC/RT

     Система МОС ВП отображает имя устройства DK3 в  физи-

ческое устройство DKA3 и DM0 в DMA0. Каталог  пользователя

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

файл.



     3.4.3. Использование обслуживающих программ МОС ВП



     Пользователи ОС РВ, которые не знакомы с  обслуживаю-

щими программами МОС ВП, должны знать разницу между обслу-

живающими программами ОС РВ и МОС ВП. В системе ОС РВ нео-

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

при помощи ключей. Некоторым ключам  может  предшествовать

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

(обычно отвергается значение по умолчанию  для  ключа).  В

системе ОС РВ ключи и  любые  требуемые  параметры  обычно

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

ды.


                          - 85 -

                     00152-01 97 14-1


     В системе МОС ВП  ключи  называются  квалификаторами.

отрицание действия квалификатора в обслуживающих  програм-

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

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

то большинство обслуживающих программ МОС ВП  и  некоторые

команды MCR, идентичные командам  DCL,  выдают  подсказку,

указывающую на ввод параметров. Квалификаторам, также  как

и ключам, должен предшествовать знак /.

     Система МОС ВП предоставляет пользователю, использую-

щему интерпретатор  команд  MCR,  следующие  обслуживающие

программы:

     1) программа сохранения и уплотнения  дискового  тома

для файловой структуры уровня 2, вызов осуществляется вво-

дом команды DSC2 и необходимых квалификаторов. DSC2  выво-

дит свою подсказку для ввода команд;

     2) редактор EDт, вызов осуществляется вводом  команды

EDT, за которой могут следовать необходимые  квалификаторы

и, необязательно, спецификация фAйла. Если  файл,  который

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

EDT выдает подсказку, запрашивая этот файл. Вызов EDT  под

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

EDT;

     3) обслуживающая программа MAIL, вызов осуществляется

вводом команды MAIL. Обслуживающая программа MAIL  выводит

свою подсказку для ввода команд;

     4) символический отладчик, после прерывания  выполне-

ния образа в основном режиме следуеT ввести команду  DEBUG

(см. раздел 4).

     5) программа копирования и восстановления томов,  вы-

зов осуществляется вводом команды BRU и необходимых квали-


                          - 86 -

                     00152-01 97 14-1


фикаторов.



     3.5. Выполнение косвенных командных файлов ОС РВ



     Косвенные командные файлы ОС РВ используются в систе-

ме МОС ВП так же как в ОС РВ. Можно указать косвенный  ко-

мандный файл для MCR системы МОС ВП или для  обслуживающих

программ ОС РВ, выполняемых под управлением МОС  ВП.  Знак

@, предшествующий спецификации файла, идентифицирует  кос-

венный командный файл также, как в ОС РВ.

     Косвенные командные файлы, обрабатываемые  в  МОС  ВП

обслуживающими программами ОС РВ, например, TKB  и  MACRO,

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

этих программ в системе ОС РВ. Обязательным  условием  для

работы с косвенными командными файлами является выбор  MCR

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

цедуры регистрации (см. п. 3.1.1). Информация о директивах

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

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

мандных файлов MCR содержится в [7].



     3.6. Построение образов задач ОС  РВ  для  выполнения

в системе МОС ВП



     В системе МОС ВП  можно  модифицировать  существующие

образы задач системы ОС РВ, чтобы они могли выполняться  в

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

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

теме ОС РВ.

     Программы, создаваемые под  управлением  MCR  системы


                          - 87 -

                     00152-01 97 14-1


МОС ВП, подразделяются на две группы:

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

местимости в системе МОС ВП (или в системе ОС РВ) с  неко-

торыми ограничениями (см. пп. 1.1.1...1.2.2). Для создания

программ этой группы  следует  использовать  обслуживающие

программы ОС РВ, такие как MACRO и TKB;

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

теме ОС РВ. На эту группу программ никаких ограничений  не

накладывается. Для модулей, которые будут частично отлажи-

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

(см. пп.  1.1.1...1.2.2).  Для  разработки  программ  этой

группы необходимо использовать обслуживающие программы  ос

рв, такие как MACRO и TKB.



     3.6.1. Ключи построителя задач



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

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

ткв системы ОС РВ. Недопустим только ключ -MM (система без

диспетчера памяти), т.е. Образ задачи должен всегда  стро-

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

     Ключи, которые могут быть применены в системе МОС ВП,

описаны в команде TKB. Игнорируются ключи построителя  за-

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

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

     Использование умолчаний и знака минуса (-) для  отри-

цания действия ключа идентично их использованию в  системе

ОС РВ.

     Использования перекрытий в  МОС  ВП  можно  избежать,

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


                          - 88 -

                     00152-01 97 14-1


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

ОС РВ виртуальное адресное  пространство  размером  в   65

кбайтов.



     3.6.2. Выборы построителя задач



     Для образов задач ОС РВ, выполняемых  в  системе  МОС

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

темы ОС РВ.

     Выборы, указывающие  код  идентификации  пользователя

(UIC), приоритет и раздел памяти, не имеют смысла, т. к. в

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

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

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

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

требуются два выбора построителя задач - TASK и ASG.

     Образы задач ОС РВ, использующие общие флаги  событий

(т.е. указывающие номера флагов событий,  превышающие  32)

или издающие директивы RCVD$ и RCVх$,  должны  иметь  имя,

назначенное посредством выбора TASK. Система  МОС  ВП  ис-

пользует наличие имени задачи в блоке  метки  образа,  как

указание, что образ требует специальной инициации.

     Образы задач ОС РВ, в которых программно  не  сделано

назначение логических номеров устройств физическим или ло-

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

выбора ASG,  чтобы  выполнить  требуемое  назначение.  Ин-

терпретатор команд MCR системы МОС ВП не поддерживает  ко-

манду REA.




                          - 89 -

                     00152-01 97 14-1


     3.6.3. Прерывистые файлы образов задач



     Построитель задач выводит информационные сообщения  в

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

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

разы задач, содержащиеся в прерывистых файлах.



     3.6.4. Построение образов задач ОС РВ в  системе

МОС ВП для выполнения их в системе ОС РВ



     В системе МОС ВП можно строить образы  задач  ОС  РВ,

которые могут выполняться в системе ОС РВ. В  этом  случае

МОС ВП не делает ограничений на использование ключей и вы-

боров построителя задач.


                          - 90 -

                     00152-01 97 14-1


                    4. Команды MCR



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

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

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

командами ОС РВ.

     Некоторые команды MCR  отличаются  по  синтаксису  от

своих аналогов в DCL системы МОС ВП  для  совместимости  с

командами MCR системы ОС РВ.

     Примеры:

1. Синтаксическое различие между командой MCR ASN и коман-

дой DCL ASSIGN заключается в том, что в случае команды ASN

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

равенства (=), а в случае команды ASSIGN -  знак  пробела.

2. Для  команды  SET UIC  синтаксис различен.  Команда MCR

SET /UIC имеет следующий формат:

     SET /UIC=[G,M]

     Формат команды DCL

SET UIC [G,M]

     Команда MCR допускает символ наклонной  черты  (/)  и

знак равенства (=) в отличие от своего аналога в DCL,  ко-

торый требует знак пробела между тремя  компонентами  этой

команды.



     4.1. Команда ALLOCATE



     Команда ALLOCATE обеспечивает исключительный доступ к

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

для  устройства.  Когда  устройство   закреплено,   другие

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


                          - 91 -

                     00152-01 97 14-1


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

выполнена команда LOGOUT.

     Формат

ALLOCATE имя_устр[:][,...][лог_имя[:]]

     Параметры

имя_устр[:][,...]

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

     рые  должны  быть  найдены   по   запросу   закрепить

     устройство.  Имена  устройств   могут   быть   типами

     устройств, так что если не указаны контроллер или но-

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

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

     имен устройств,  которые  указаны.  Если  указан  тип

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

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

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

     закрепленное имя устройства в списке.

лог_имя

     - задает от 1 до 255 символов логического имени,  ко-

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

     Логическое имя помещается в таблицу  логических  имен

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

     как его эквивалентное имя.  Последующие  обращения  к

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

     ческой трансляции в указанное имя устройства. Если за

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

     из имени перед тем, как имя будет помещено в  таблицу

     логических имен.






                          - 92 -

                     00152-01 97 14-1


     Командные квалификаторы

/LOG

/NOLOG

     - управляет распечаткой сообщения  на  терминале  при

     завершении операции  закрепления.  По  умолчанию  ис-

     пользуется квалификатор /LOG. Когда указана распечат-

     ка   сообщения,    печатается    имя    закрепленного

     устройства; если в операции указано  логическое  имя,

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

     общение информирует о подавлении значения. Если  рас-

     печатка сообщения не нужна, нужно указать  квалифика-

     тор /NOLOG.

/GENERIC

/NOGENERIC

     - позволяет выполнить операцию общего  закрепления  и

     указать тип устройства. Закрепляется первое свободное

     незакрепленное устройство указанного  типа  и  имени.

     Ключ /[NO]GENERIC помещается после параметра имя_устр

     в командной строке команды ALLOCATE. Например,  можно

     закрепить устройство RK07, введя следующую команду  в

     формате: > ALLOCATE /GENERIC RK07.

     Примеры:

1. > ALLOCATE DMB2:

   MCR-I-ALLOC, DMB2: ALLOCATED

     Команда ALLOCATE запрашивает  закрепление  указанного

RK06/RK07 дискового устройства,  т. е.  устройства  2   на

контроллере B. Система отвечает, указывая, что  устройство

было успешно закреплено.

2. > ALLOCATE MT,MS: TAPE:

   MCR-I-ALLOC, MTB2: ALLOCATED


                          - 93 -

                     00152-01 97 14-1


   > SHOW LOGICAL TAPE:

   TAPE: = _MTB2: (PROCESS)

   > DEALLOCATE TAPE:

   > DEASSIGN TAPE:

     Команда  ALLOCATE  запрашивает   закрепление   любого

устройства магнитной ленты, чье имя начинается с MT или MS

и назначет логическое имя ленты. Команда ALLOCATE назнача-

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

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

Если  устройство магнитной ленты, начинающееся  с  MT,  не

найдено, то команда ALLOCATE будет искать устройство,  на-

чинающееся с MS.  Последующие обращения к устройству  маг-

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

ках транслируются в имя устройства MTB2.

     Когда устройство магнитной ленты больше не нужно, ко-

манда DEALLOCATE открепляет его и команда DEASSAIGN удаля-

ет логическое имя. Заметим, что логическое имя ленты в ко-

манде ALLOCATE было указано с двоеточием, в элементе  таб-

лицы логических имен двоеточия не будет.

3. > ALLOCATE/GENERIC RL02 WORK

   MCR-I-ALLOC, _DLA1: ALLOCATED

   MCR-L-SUPERSEDE, PREVIOUS VALUE OF WORK HAS BEEN

SUPERSEDED

     Команда ALLOCATE запрашивает закрепления любого  дис-

кового устройства RL02 и назначает  устройству  логическое

имя WORK. Завершающее сообщение идентифицирует  закреплен-

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

имени WORK подавило предыдущее назначение этого имени.






                          - 94 -

                     00152-01 97 14-1


     4.2. Команда APPEND



     Команда APPEND добавляет один или несколько указанных

вводных файлов к концу указанного выводного файла.

     Формат

APPEND спец_ввод_файла[,...] спец_выв_файла

     Параметры

спец_ввод_файла[,...]

     - указывает имена одного или  более  вводных  файлов,

     которые должны быть добавлены. Если указано несколько

     вводных файлов, спецификации должны быть отделены ли-

     бо запятой, либо знаком плюс (запятая и знак плюс эк-

     вивалентны). Все вводные файлы  добавляются  к  концу

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

     вводного файла можно использовать символы обобщения.

спец_выв_файла

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

     вводные файлы. В  спецификации  файла  вывода  должно

     быть, по крайней, мере одно  поле.  Если  не  указаны

     устройство и/или каталог, команда  APPEND  использует

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

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

     соответствующие поля спецификации вводного файла. Ес-

     ли в любых полях  спецификации  файла  вывода  указан

     символ  обобщения  "звездочка",  команда  APPEND  ис-

     пользует соответствующие поля  спецификации  вводного

     файла. Если добавляется более, чем один вводной файл,

     APPEND использует соответствующие поля первого  ввод-

     ного файла.




                          - 95 -

                     00152-01 97 14-1


     Командные квалификаторы

/BACKUP

     - по квалификатору /BACKUP выбираются файлы  в  соот-

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

     квалификатор используется только совместно с квалифи-

     каторами /BEFORE и /SINCE. Использование квалификато-

     ра /BACKUP не совместимо с квалификаторами  /CREATED,

     /EXPIRED и /MODIFIED. Умолчание: /CREATED.

/BEFORE[=TIME]

     - по квалификатору /BEFORE  выбираются только те фай-

     лы, которые датированы до указанного  времени.  Можно

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

     лютного времени и  дельта-времени.  Также  можно  ис-

     пользовать квалификаторы TODAY, TOMORROW и YESTERDAY.

     Если время не указано предполагается TODAY.

/BY_OWNER

     - по квалификатору /BY_OWNER выбираются один или  бо-

     лее файлов, если  их  собственный  код  идентификации

     пользователя (UIC) соответствует указанному UIC.  UIC

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

     UIC [1]. Если в  квалификаторе  /BY_OWNER  не  указан

     UIC, то предполагается UIC текущего процесса.

/CONFIRM

/NOCONFIRM

     - квалификатор /CONFIRM управляет подтверждением  или

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

     дельной командой  APPEND,  выполняющей  присоединение

     файла. Когда система выдает подсказку, можно дать лю-

     бой из следующих ответов:

     1) YES, TRUE, 1 (утвердительные ответы);


                          - 96 -

                     00152-01 97 14-1


     2) NO, FALSE, 0, <RET> (отрицательные ответы);

     3) QUIT, <CTRL/Z>, ALL.

     Можно использовать для слов ответов любые  комбинации

     больших и малых букв. Слова ответов могут быть сокра-

     щены до одной и более букв (например, T, TR  или  TRU

     для TRUE).  Утвердительными  ответами  являются  YES,

     TRUE и 1. Отрицательными ответами являются NO, FALSE,

     0 и <RET>. QUIT и <CTRL/Z> указывают, что нужно оста-

     новить обработку команды в этой точке. При ответе ALL

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

     подсказка не выдается. Если напечатан ответ, не  вхо-

     дящий в этот список, подсказка будет выдана вновь.

/CREATED

     - по квалификатору /CREATED выбираются файлы в  соот-

     ветствии с их датами создания. Этот квалификатор име-

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

     фикаторами /BEFORE или /SINCE. Использование /CREATED

     несовместимо с квалификаторами  /BACKUP,  /EXPIRED  и

     /MODIFIED. Умолчание: /CREATED.

/EXCLUDE=(спец_файла[,...])

     - по квалификатору /EXCLUDE любые файлы, которые сов-

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

     исключаются из операции APPEND.  Если  указан  только

     один файл, можно опустить круглые скобки. В  специфи-

     кации файла допустимы символы обобщения. Спецификация

     файла может содержать спецификацию каталога.  Однако,

     в спецификацию файла нельзя включать устройство.

/EXPIRED

     - по квалификатору /EXPIRED выбираются файлы в  соот-

     ветствии с датами их уничтожения.  Этот  квалификатор


                          - 97 -

                     00152-01 97 14-1


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

     /BEFORE  или  /SINCE.  Нельзя  использовать  /EXPIRED

     вместе  с   квалификаторами   /BACKUP,   /CREATED   и

     /MODIFIED. Умолчание: квалификатор /CREATED.

/LOG

/NOLOG

     - квалификаторы /LOG и /NOLOG в команде APPEND управ-

     ляют распечаткой спецификаций файлов при каждом  при-

     соединении  файла.  Когда  используется  квалификатор

     /LOG, команда APPEND распечатывает спецификации ввод-

     ных или выводных файлов, а  также  число  добавляемых

     блоков или записей после каждой операции  присоедине-

     ния. В конце работы команда APPEND распечатывает  об-

     щее число новых созданных файлов. Умолчание: /NOLOG.

/MODIFIED

     - по квалификатору /MODIFIED выбираются файлы в соот-

     ветствии с последними датами модификации. Этот квали-

     фикатор используется только совместно с  квалификато-

     рами  /BEFORE   или   /SINCE.   Нельзя   использовать

     /MODIFIED вместе с квалификаторами /BACKUP,  /CREATED

     и /EXPIRED. Умолчание: /CREATED.

/SINCE[=время]

     - по квалификатору /SINCE выбираются только те файлы,

     которые датированы после  указанного  времени.  Можно

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

     солютного и дельта-времени. Более полная информация о

     задании значений времени содержится в [1]. Можно так-

     же  использовать  квалификаторы  TODAY,  TOMORROW   и

     YESTERDAY. Если время не указано, предполагается зна-

     чение TODAY.


                          - 98 -

                     00152-01 97 14-1


     Позиционные квалификаторы

/ALLOCATION=N

     -  по  квалификатору  /ALLOCATE  происходит  первона-

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

     N указанных  512-байтных  блоков.  Этот  квалификатор

     действителен    в    сочетании    с    квалификатором

     /NEW_VERSION.   Размер   распределения   используется

     только, если действительно создается новый файл. Если

     создается новый файл, а квалификатор  /ALLOCATION  не

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

     определяется по размеру вводного файла.

/CONTIGUOUS

/NOCONTIGUOUS

     - квалификатор /CONTIGUOUS указывает, будет ли вывод-

     ной файл непрерывным, т.е. должен  ли  файл  занимать

     физически последовательные блоки диска. По умолчанию,

     команда APPEND создает выводной файл в том же  форма-

     те, что и соответствующий вводной файл. Если  вводной

     файл непрерывный,  команда  APPEND  пытается  создать

     непрерывный выводной файл, но не сообщает об  ошибке,

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

     достаточно. Если присоединяется много вводных  файлов

     различных форматов, выводной файл может быть или  мо-

     жет не быть непрерывным. Использование  квалификатора

     /CONTIGUOUS обеспечивает,  что  выводной  файл  будет

     непрерывным.

/EXTENSION=N

     - квалификатор /EXTENSION указывает число блоков, ко-

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

     когда файл расширяется. Когда указывается  квалифика-


                          - 99 -

                     00152-01 97 14-1


     тор   /EXTENSION,   предполагается   и   квалификатор

     /NEW_VERSION, и его не нужно  указывать  в  командной

     строке.  Значение  расширения  нужно,   только   если

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

/NEW_VERSION

/NONEW_VERSION

     - квалификатор /NEW_VERSION управляет, будет  ли  ко-

     манда APPEND создавать новый файл. По умолчанию, ука-

     занный выводной файл  уже  должен  существовать.  Ис-

     пользование квалификатора /NEW_VERSION позволяет  ко-

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

     занный выводной файл еще не существует.

/PROTECTION=(код)

     - квалификатор /PROTECTION определяет защиту, которая

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

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

     веденные в [1]. Любые неуказанные атрибуты защиты бе-

     рутся из текущей защиты выводного  файла,  если  этот

     файл существует. Если создается новый выводной  файл,

     используется текущее умолчание защиты.

/READ_CHECK

/NOREAD_CHECK

     - квалификатор  /READ_CHECK  требует, чтобы   команда

     APPEND читала каждую запись во вводных файлах дважды,

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

/WRITE_CHECK

/NOWRITE_CHECK

     -  квалификатор  /WRITE_CHECK  требует,чтобы  команда

     APPEND читала каждую запись в  выводном  файле  после

     того, как она записана, чтобы проверить, была ли  за-


                          - 100 -

                     00152-01 97 14-1


     пись успешно присоединена, и что выводной файл  впос-

     ледствии мог быть прочитан без ошибок.

     Пример.

> APPEND TEST3.DAT TESTALL.DAT

     Команда   APPEND   присоединяет   содержимое    файла

TEST3.DAT  с  диска  и  каталога  по  умолчанию  к   файлу

TESTALL.DAT, также находящемуся на  диске  и  каталоге  по

умолчанию.



     4.3. Команда ASSIGN



     Команда ASN определяет или удаляет  назначение  логи-

ческого имени для устройства в одной из трех таблиц  логи-

ческих имен: процесса, групповой или системной.

     Знак равенства (=) между двумя параметрами имен  нео-

бязателен. Если знак равенства не указан,  нужно  оставить

пробел между двумя параметрами.

     Формат для назначения логического имени

ASN [квалификаторы] спец_файла[=]логич_имя

     Формат для удаления логического имени

ASN = логич_имя [квалификаторы]

     Формат для удаления всех логических имен

ASN =

     Примечание.  ОС РВ  не   поддерживает    квалификатор

/GROUP.

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

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

вилегии GRPNAM или SYSNAM. Назначение дискового устройства

как SY: недостаточно, чтобы сделать диск диском умолчания.

Для изменения диска умолчания нужно  использовать  команду


                          - 101 -

                     00152-01 97 14-1


SET DEFAULT.

     Командные параметры

спец_файла

     - указывает всю или часть спецификации  файла.  Когда

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

     вершать двоеточием (:). Можно также указать  логичес-

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

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

     фикацию файла.

логич_имя

     - указывает логическое имя длиной от 1 до 255  симво-

     лов.

     Командные квалификаторы

/GBL

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

     системной таблице логических имен.

/GROUP

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

     групповой таблице логических имен.

/TERM

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

     таблице  логических  имен  процесса.  /TERM  является

     умолчанием.

     Примеры:

1. > ASN MTB2:=MT0:

     Эта строка назначает строку MT0: в качестве  логичес-

кого имени для устройства MTB2: в таблице логических  имен

процесса.

2. > SHOW LOGICAL MT0

   "MT0" = "MTB2" (LNM$PROCESS_TABLE)


                          - 102 -

                     00152-01 97 14-1


     Эта  команда  запрашивает  распечатку  эквивалентного

имени, связанного с логическим именем MT0.



     4.4. Команда BAD



     Команда BAD проверяет диски и ленты  для  определения

номеров дефектных блоков.

     Формат

BAD имя_устройства:

     Примечание. Эта команда функционально подобна команде

DCL ANALYZE/MEDIA, поэтому можно использовать команду DCL.

     Командные параметры

имя_устройства:

     - указывает устройство, на котором находится том, ко-

     торый BAD будет анализировать. Имя  устройства  может

     быть задано в виде DDCU: или логического имени.

     Командные квалификаторы

/EXERCISE=PATTERN=список

/NOEXERCISE

     - квалификатор /EXERCISE определяет дефектные блоки с

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

     шаблона. Это позволяет указать значение  проверочного

     шаблона для определения  "наихудшего  случая".  Можно

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

     нованием десятичным (%D), шестнадцатеричным (%X)  или

     восьмеричным (%O). Умолчание: шестнадцатеричное осно-

     вание. Шаблон задается в длинных словах. Если указано

     два или более длинных слова, они должны быть заключе-

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




                          - 103 -

                     00152-01 97 14-1


/LIST

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

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

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

     надежные и не распечатываются.

/MANUAL

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

     блоках и затем выполняет проверку с помощью  шаблона.

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

     дефектных блоков или в SDBBF.

/RETRY

/NORETRY

     - квалификатор /RETRY пытается восстановить  переход-

     ные ошибки с помощью драйвера устройства. Это означа-

     ет, что переходные ошибки, такие  как  корректируемая

     ошибка ECC, восстанавливаются и дефектный блок  отме-

     чается как хороший.

/UPDATE

     - читает непосредственно описатель дефектных блоков и

     выводит подсказку для ввода дополнительных  дефектных

     блоков. Это ключевое слово не вызывает записи  прове-

     рочного шаблона.

     Примеры:

1. > BAD DEVICE/LIST

     Команда BAD в этом примере проверяет носитель и  рас-

печатывает информацию о дефектных блоках на терминале.

2. > BAD/EXERCISE=PATTERN=(%XFFEEFFEE,%BADBADBA) DEVICE

     В команде BAD задан шеснадцатеричный проверочный шаб-

лон длиной - два длинных слова.




                          - 104 -

                     00152-01 97 14-1


     4.5. Команда BRU



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

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

восстанавливать тома с файловой структурой.  BRU  передает

копии файлов с тома на том (или тома), гарантируя, что ко-

пии файлов будут доступны в случае  потери  первоначальных

файлов. Если по какой-либо причине нужно восстановить  ко-

пии, то это можно сделать по команде BRU.

     Формат

BRU /квалификатор(ы) спец_вв_файла спец_выв_файла

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

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

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

жет включать от  1  до  16  спецификаций  файлов,  которые

должны быть переданы. В дальнейшем в описании формата  ко-

мандной строки BRU используются сокращения:  спец_вв_файла

- источник, спец_выв_файла - выход.

     Командные квалификаторы

/APPEND

BRU>APPEND источник выход

     - квалификатор /APPEND добавляет набор  сохранения  с

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

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

     квалификатор /IMAGE. Если выводная лента  спозициони-

     рованна на начало, то по /APPEND перед записью нового

     набора сохранения пропускаются блоки  до  логического

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

     кого конца (EOF) самого последнего файла. Если вывод-

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


                          - 105 -

                     00152-01 97 14-1


     ленты, то BRU начинает запись  с  этого  места.  Если

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

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

     /APPEND/REWIND лента перематывается на начало и затем

     делает пропуск вперед до логического конца ленты. Ес-

     ли лента является лентой продолжения (т.е. не  первой

     лентой набора томов) или если последний набор  сохра-

     нения не заканчивается на этой ленте, распечатывается

     сообщение об ошибке. Если выводное устройство -  диск

     и используется квалификатор /IMAGE, /APPEND заставля-

     ет BRU проверять заголовок файла-контейнера на вывод-

     ном диске на логический  конец  файла  (файл-контейер

     содержит копии образов одного или нескольких дисков).

     Затем BRU начинает писать с логического конца  файла.

     если выводной диск является диском продолжения  (т.е.

     не первым диском в наборе) или последним набором сох-

     ранения, не заканчивающимся на этом диске, BRU распе-

     чатывает сообщение об  ошибке.  Квалификатор  /APPEND

     нельзя использовать во время операции  сохранения  на

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

/BACKUP_SET

BRU>/BACKUP_SET:имя источник выход

     - квалификатор /BACKUP_SET позволяет указать имя  на-

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

     или диске. Для ленты или немонтированнного диска име-

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

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

     12(10) символов. Для ввода или вывода на  монтирован-

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

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


                          - 106 -

                     00152-01 97 14-1


     набора сохранения в квалификаторе  /BACKUP_SET.  Если

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

     [0,0]BACKUP.SYS. Когда в качестве выводного тома  ис-

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

     бора сохранения, размещенного на томе.  На  один  том

     может быть  помещено  несколько  наборов  сохранения.

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

     для определения имени набора сохранения  просматрива-

     ется первая лента. Если имя набора сохранения не ука-

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

     набор сохранения. Несколько последовательных  наборов

     сохранения с одной и той же ленты могут быть  восста-

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

     новления каждого набора. Первая лента в наборе сохра-

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

     /REWIND. Когда  этот  квалификатор  используется  для

     дискового вводного тома, BRU просматривает весь  диск

     для каждого указанного набора сохранения. Затем  каж-

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

     в каком указаны имена наборов сохранения.

/BAD

BRU>/INITIALIZE/BAD:[AUTOMATIC] источник выход

                MANUAL

                OVERRIDE

     - квалификатор /BAD  используется  с   квалификатором

     /INITIALIZE во время операций лента - диск или   диск

     - диск. /BAD создает  файл  BADBLK.SYS  на   выводном

     диске.  Для  устройств  с  последней  дорожкой  выбор

     AUTOMATIC заставляет BRU  использовать  информацию  о

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


                          - 107 -

                     00152-01 97 14-1


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

     фектных блоков для  создания  файла  BADBLK.SYS.  Для

     устройств  без   последней   дорожки   для   создания

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

     фектных блоков. AUTOMATIC является выбором умолчания.

     Выбор OVERRIDE применяется  только  для  устройств  с

     последней   дорожкой,   заставляя   BRU   обслуживать

     устройства с последней дорожкой  как  устройства  без

     последней дорожки. Когда  указан  OVERRIDE,  BRU  ис-

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

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

     дефектных блоках из  описателя  дефектов.  По  выбору

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

     интерактивно с терминала. MANUAL также заставляет BRU

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

     описателя дефектов  и  программный  сектор  дефектных

     блоков (для устройств  с  последней  дорожкой),  либо

     блок описателя дефектных блоков  (для  устройств  без

     последней дорожки) для создания BADBLK.SYS.

/BUFFERS

BRU>/INITIALIZE/BUFFERS:число источник выход

     - квалификатор /BUFFERS задает умолчание числа блоков

     управления (FCB) для файлов каталогов  каждого  тома.

     При монтировании тома FCB размещаются в памяти  вспо-

     могательным управляющим  процессом (ACP). Чем  больше

     FCB размещено в памяти, тем быстрее отыскиваются фай-

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

     гах. Умолчание для числа FCB TO же, что и для вводно-

     го диска. Квалификатор /BUFFERS используется с квали-

     фикатором /INITIALIZE во время операций лента-диск  и


                          - 108 -

                     00152-01 97 14-1


     диск-диск.

/COMPARE

BRU>/COMPARE источник выход

     - квалификатор /COMPARE сравнивает данные с выводного

     устройства с данными вводного устройства и сообщает о

     различиях. Во время операций сравнEния передачи  дан-

     ных  не  происходит.   Командная   строка,   задающая

     /COMPARE, должна быть идентична строке, введенной при

     создании выводного тома, за исключением  квалификато-

     ров /INITIALIZE, /NOINITIALIZE и /APPEND.

/CREATED

BRU>/CREATED:BEFORE:(DD-MMM-YY HH:MM:SS) источник выход

             BEFORE: DD-MMM-YY

             BEFORE: HH:MM:SS

             AFTER: (DD-MMM-YY HH-MM-SS)

             AFTER:  DD-MM-YY

             AFTER:  HH:MM:SS

     - Kвалификатор /CREATED копирует или  восстанавливает

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

     мени. Если используется BEFORE, BRU  копирует  файлы,

     созданные до заданной даты и/или  времени.  Если  ис-

     пользуется AFTER, BRU копирует файлы, созданные после

     указанной даты и/или после указанного  времени.  Если

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

     лючены в круглые скобки. Если указываются только дата

     или только время,  круглые  скобки  опускаются.  Если

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

     та, а если указывается  только  дата,  то  умолчанием

     времени является 00:00.




                          - 109 -

                     00152-01 97 14-1


/DENSITY

BRU>/DENSITY:значение источник выход

     - Kвалификатор /DENSITY указывает плотность, с  кото-

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

     ройств CM 5309 и CM 5316 значение плотности 1600 - 64

     бита/мм.  Если  /DENSITY  указан   с   квалификатором

     /APPEND, то плотность должна быть такой же, как плот-

     ность с которой были записаны данные на  этой  ленте.

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

     чальной, то распечатывается сообщение об ошибке и об-

     работка будет продолжена после корректирования  плот-

     ности. Если же  указана  некорректная  плотность  для

     операции восстановления, то распечатывается сообщение

     об ошибке и операция завершается.

/DIRECTORY

BRU>/DIRECTORY источник

BRU>/BACKUP_SET:имя/DIRECTORY источник

     - квалификатор /DIRECTORY распечатывает имена наборов

     сохранения или файлов  с  указанного  тома  магнитной

     ленты. В многотомных наборах сохранения  каталог  на-

     ходится на первой ленте набора. В многотомных  диско-

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

     Когда имя набора сохранения  не  указано,  /DIRECTORY

     распечатывает все наборы сохранения с этого тома. Ес-

     ли используется квалификатор /BACKUP_SET,  /DIRECTORY

     распечатывает файлы из указанного набора  сохранения.

     Если набора сохранения нет на  томе,  распечатывается

     сообщение об ошибке и операция завершается.




                          - 110 -

                     00152-01 97 14-1


/DISPLAY

BRU>/DISPLAY источник выход

     - квалификатор /DISPLAY печатает имя файла и UFD каж-

     дого передаваемого файла, как заголовок этого файла.

/ERRORS

BRU>/ERRORS:число

     - квалификатор /ERRORS  требует завершения   операции

     восстановления после возникновения  указанного  числа

     устранимых ошибок при чтении с  ленты.  Число  ошибок

     находится  в  диапазоне  от  0  до   65535.   Умолча-

     ние: /ERRORS:25.

/EXCLUDE

BRU>/EXCLUDE DDNN:спец-файла источник

     - квалификатор /EXCLUDE  указывает, что  файлы  соот-

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

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

     восстановления.

/EXTEND

BRU>/INITIALIZE/EXTEND:число источник выход

     - квалификатор /EXTEND задает число блоков по умолча-

     нию, на которое файл должен быть расширен, когда этот

     файл исчерпает выделенное ему пространство.  Значение

     квалификатора /еXTEND используется ACP при монтирова-

     нии тома. Квалификатор /EXTEND используется с  квали-

     фикатором  /INITIALIZE  в  операциях   лента-диск   и

     диск-диск. Умолчанием является число блоков  расшире-

     ния вводного диска.

/HEADERS

BRU>/INITIALIZE/HEADERS:число источник выход

     - квалификатор /HEADERS  указывает  число  заголовков


                          - 111 -

                     00152-01 97 14-1


     файлов для первоначального размещения индексного фай-

     ла. Главной причиной предварительного размещения  за-

     головков файлов является размещение их рядом с файлом

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

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

     да-вывода.

/INITIALIZE

BRU>/INITIALIZE источник выход

BRU>/NOINITIALIZE источник выход

     - квалификатор /INITIALIZE вызывает инициацию  вывод-

     ного диска в операциях лента-диск  и  диск-диск.  При

     инициации  на  диске  создается  файловая  структура,

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

     ма и необходимые системные файлы. При инициации диска

     вместе с  квалификатором  /INITIALIZE  можно  указать

     следующие  квалификаторы:  /BAD,  /BUFFERS,  /EXTEND,

     /HEADERS,    /MAXIMUM,    /NOPRESERVE,    /OUTVOLUME,

     /POSITION, /PROTECTION и /WINDOWS. Если эти  квалифи-

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

     го тома. /NOINITIALIZE указывает, что  выводной  диск

     не нужно инициировать, т. к.  файловая  структура  на

     нем уже существует. Выводной диск должен быть  монти-

     рован как том с файловой структурой. Если указан ква-

     лификатор /NOINITIALIZE, то сопутствующие  квалифика-

     торы инициирования указывать нельзя. В противном слу-

     чае появится сообщение об ошибке.

/IMAGE

BRU>/IMAGE:SAVE источник выход

          :RESTORE

     - квалификатор /IMAGE указывается при выполнении мно-


                          - 112 -

                     00152-01 97 14-1


     готомных операций  (диск-диск)  для  копирования  или

     восстановления. Если выполняется операция сохранения,

     в командной строке нужно указать выбор SAVE. Если  же

     выполняется операция  восстановления,  нужно  указать

     выбор RESTORE. При  операции  копирования  нужно  ис-

     пользовать квалификатор  /IMAGE  при  создании  файла

     сохранения, который представляет собой  копию  образа

     вводного диска.  Например,  нужно  использовать  этот

     квалификатор при сохранения большого  диска  на  нес-

     колько маленьких дисков,  или  при  копировании  нес-

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

     диск. При выполнении  операции  восстановления  нужно

     использовать этот квалификатор при восстановлении  из

     файла сохранения, который  представляет  собой  копию

     образа первоначального диска.

/INVOLUME

BRU>/INVOLUME:имя источник выход

     - квалификатор /INVOLUME задает метку  тома  вводного

     диска. Это имя может иметь длину до 12(10)  символов.

     Для операций диск-лента и  диск-диск  метка  вводного

     тома проверяется, чтобы  убедиться,  что  диск  имеет

     корректную метку. Эта проверка  гарантирует,  что  не

     будет выполняться копирование плохого тома. При  опе-

     рациях восстановления, BRU проверяет метку тома  дис-

     ка, который был скопирован в набор сохранения на лен-

     те.

/LENGTH

BRU>/LENGTH:число источник выход

     - квалификатор /LENGTH указывает длину выводной ленты

     десятичным числом футов (по 30  см).  Если  указанная


                          - 113 -

                     00152-01 97 14-1


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

     пользована полностью. В случае,  если  известно,  что

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

     уменьшенную длину для гарантии,  что  записи  на  эту

     часть ленты не будет.

/MAXIMUM

BRU>/INITIALIZE/MAXIMUM:число источник выход

     - квалификатор  /MAXIMUM  задает  максимальное  число

     файлов, которые могут быть размещены на томе, как это

     определено числом заголовков файлов в индексном файле

     тома. Максимум по умолчанию - максимальное число фай-

     лов на вводном диске.

/MOUNTED

BRU>/MOUNTED источник выход

     - квалификатор /MOUNTED позволяет копировать файлы  с

     диска, который был  монтирован  как  том  с  файловой

     структурой. Активная работа с диском во время копиро-

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

     зультат.

/NEW_VERSION

BRU>/NEW_VERSION источник выход

     - квалификатор /NEW_VERSION  разрешает  конфликты  со

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

     операций восстановления и операций сохранения на мон-

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

     /IMAGE:SAVE. Если файл  уже  существует  на  выводном

     дисковом томе, квалификатор /NEW_VERSION создает  но-

     вую версию файла.




                          - 114 -

                     00152-01 97 14-1


/NOPRESERVE

BRU>/INITIALIZE/NOPRESERVE источник выход

     - квалификатор /NOPRESERVE указывает,  что  не  нужно

     сохранять идентификаторы файлов. BRU подавляет  сооб-

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

     Если идентификаторы файлов не сохранены, то  назнача-

     ются  новые  идентификаторы  файлов,  последовательно

     возрастающие.

/OUTVOLUME

BRU>OUTVOLUME:имя источник выход

     - квалификатор /оUTVOLUME указывает метку тома  ввод-

     ного диска. Эта метка может  иметь  длину  до  12(10)

     символов.  Для  операций  копирования  диск-диск  имя

     вводного дискового тома, сохраненное на выводном томе

     ленты, изменяется на имя, указанное  в  квалификаторе

     /OUTVOLUME. Для  операций  восстановления  лента-диск

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

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

     /OUTVOLUME.

/POSITION

BRU>/INITIALIZE/POSITION:BEGINNING источник выход

                        :MIDDLE

                        :END

                        :BLOCK:номер

     - квалификатор /POSITION  определяет  размещение  ин-

     дексного файла на инициируемом выводном дисковом  то-

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

     BEGINNING, MIDDLE и END указывают на начало, середину

     и конец тома соответственно. Выбор BLOCK:номер указы-

     вает номер блока, с которого должен быть размещен ин-


                          - 115 -

                     00152-01 97 14-1


     дексный файл.  Выбор  BEGINNING  обычно  используется

     только, когда диск содержит  большей  частью  большие

     непрерывные файлы. Размещение по умолчанию такое  же,

     как и на вводном диске.

/PROTECTION

BRU>/INITIALIZE/PROTECTION:SYSTEM:значение источник выход

                           OWNER:значение

                           GROUP:значение

                           WORLD:значение

     - квалификатор /PROTECTION  задает  умолчание  защиты

     для всех файлов, создаваемых на диске после  заверше-

     ния передачи BRU. Каждый код доступа состоит из пози-

     ционного ключевого слова, указывающего группу  защиты

     (SYSTEM:, OWNER:, GROUP:, WORLD:), за которой следует

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

     но:

     1) R - разрешает доступ к файлу для чтения;

     2) W - разрешает доступ к файлу для записи;

     3) E - разрешает расширение файла;

     4) D - разрешает удаление файла.

     Если этот квалификатор не указан, используется  умол-

     чание защиты вводного диска.

/REVISED

BRU>/REVISED:BEFORE:(DD-MMM-YY HH:MM:SS) источник выход

             BEFORE:DD-MM-YY

             BEFORE:HH:MM:SS

             AFTER:(DD-MMM-YY HH:MM:SS)

             AFTER:DD-MM-YY

             AFTER:HH:MM:SS

     - квалификатор /REVISED обеспечивает  сохранение  или


                          - 116 -

                     00152-01 97 14-1


     восстановление файлов измененных до или после указан-

     ных даты и времени. Если используется  выбор  BEFORE,

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

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

     бор AFTER, BRU копирует все файлы, измененые во время

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

     указанного времени. Если указаны и дата, и время, они

     должны быть заключены в круглые скобки. Если  указано

     что-нибудь одно, необходимости в круглых скобках нет.

     Если указано только время, BRU использует как умолча-

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

     умолчанию - 00:00.

/REWIND

BRU>/REWIND источник выход

     - квалификатор /REWIND вызывает перемотку первой маг-

     нитной ленты из набора лент перед тем, как BRU выпол-

     нит операцию копирования или восстановления. При  ис-

     пользовании /REWIND с вводной  лентой,  первая  лента

     набора лент перматывается перед поиском набора сохра-

     нения. При  использовании  /REWIND  с  квалификатором

     /APPEND вводная лента перематывается и затем просмат-

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

     BRU выполнит операцию копирования.

/SUPERSEDE

BRU>/SUPERSEDE источник выход

BRU>/NOSUPERSEDE источник выход

     - квалификатор /SUPERSEDE указывает, что если  специ-

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

     файлов вводного тома, то файл на выводном томе удаля-

     ется и заменяется файлом с вводного тома.  Квалифика-


                          - 117 -

                     00152-01 97 14-1


     тор /NOSUPERSEDE указывает,  что,  если  спецификации

     файлов на выводном томе идентичны спецификациям  фай-

     лов на вводном томе, файлы с вводного тома не переда-

     ются (файлы на вводном томе  не  уничтожаются).  Если

     при создании файла набора сохранения на монтированном

     томе (для операций /IMAGE), файл с таким  именем  уже

     существует, /SUPERSEDE заменяет этот файл. Умолчание:

     /NOSUPERSEDE.

/TAPE_LABEL

BRU>/TAPE_LABEL:метка источник выход

     -  Kвалификатор  /TAPE_LABEL  задает  шестисимвольный

     идентификатор тома в стандартной метке VOL1,  записы-

     ваемой на ленту во время  операции  копирования,  или

     сравниваемой с меткой на ленте в операциях добавления

     и восстановления. Это позволяет  проверить,  что  ис-

     пользуется корректная лента.

/UFD

BRU>/NOINITIALIZE/UFD

     - квалификатор /UFD создает каталоги  UFD  (если  они

     еще не существуют) на монтированном выводном томе,  а

     затем копирует в них файлы из того же  самого  UFD  с

     вводного тома. Если UFD не указан, файлы не копируют-

     ся. /UFD используется только с /NOINITIALIZE.

/VERIFY

BRU>/VERIFY источник выход

     - Kвалификатор /VERIFY копирует данные с вводного то-

     ма, выполняя операцию сравнения между вводным томом и

     выводным томом после передачи,  и  сообщает  о  любых

     различиях.




                          - 118 -

                     00152-01 97 14-1


/WINDOWS

BRU>/INITIALIZE/WINDOWS:число источник выход

     - квалификатор /WINDOWS задает умолчание числа указа-

     телей отображения, которые должны быть размещены  для

     файловых окон при инициации вводного диска.  Файловое

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

     после  открытия  файла.  Умолчание  числа  указателей

     птображения такое же, как и для вводного диска.

     Примеры:

1. BRU>/DENSITY:1600 DQ2: MS0:

     Копирование диска на магнитную ленту с плотностью  64

бит/мм.

2. BRU>/DENSITY:1600

   FROM: MS1:

   TO:   DK2:

   INITIALIZE THE OUTPUT DISK? YES

     Копирование ленты на  диск,  инициация  диска  с  ис-

пользованием подсказки.

3. BRU>/INITILIZE/MOUNTED

   FROM: DQ0:

   TO:   DQ3:

     Передача диск-диск с монтированного диска,  инициация

выводного диска.

4. BRU>/INITIALIZE/IMAGE:SAVE/VERIFY/MOUNT

   FROM: DK0:

   TO:   DQ1:

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

5. BRU>/INITIALIZE/IMAGE:RESTORE/VERIFY

   FROM: DQ1:

   TO:   DK0:


                          - 119 -

                     00152-01 97 14-1


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



     4.6. Команда BYE



     Команда BYE завершает сеанс интерактивной  работы  на

терминале. Система выводит сообщение о завершении и выпол-

няет необходимые завершающие действия, такие как  заверше-

ние текущего образа, если  он  существует,  демонтирование

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

ние устройств. Затем система удаляет пользовательский про-

цесс и подпроцессы, если они существовали.

     Формат

BYE

     Пример.

> BYE

     MURPHY LOGGED OUT AT 24-JUN-1985 13:33:26.57

     Примечания:

     1. В системе МОС ВП команды LOGOUT  и  BYE  выполняют

одну и ту же функцию.

     2. MCR системы ОС РВ поддерживает команду BYE.





     4.7. Команда CANCEL



     Команда CANCEL отменяет планирование запроса на  про-

буждение для указанного процесса.

     Запрос пробуждения может быть результатом следующего:

     - директивы RUN$;

     - программы системного обслуживания "планировать про-

буждение" ($SCHDWK);


                          - 120 -

                     00152-01 97 14-1


     - любой (MCR или DCL) команды RUN, которая запрашива-

ет синхронизацию по времени, такой как ключ /SCHEDULE  для

команды MCR RUN.

     Формат

CANCEL [имя_процесса]

     Параметры

имя_процесса

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

     отменен  запрос  пробуждения.  Имя_процесса  является

     строкой, содержащей от  1  до  15  алфавитно-цифровых

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

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

     щий   процесс.   Если    указаны    и    квалификатор

     /IDENTIFICATION и имя_процесса, то имя процесса игно-

     рируется.  Если  в  команде  CANCEL  не  указаны   ни

     имя_процесса, ни квалификатор /IDENTIFICATION, то ко-

     манда CANCEL отменяет планирование запроса на пробуж-

     дение текущего  процесса  (т. Е. Процесса,  издавшего

     запрос).

     Командные квалификаторы

/IDENTIFICATION=PID

     - указывает код идентификации процесса (PID), который

     система назначает процессу, когда он  создается.  При

     указании кода идентификации процесса  можно  опустить

     ведущие нули.

     Примеры:

1. > RUN/SCHEDULE = 14:00 STATUS

   %RUN_S_PROC_ID, IDENTIFICATION OF CREATED PROCESS IS

   0013012A

    .


                          - 121 -

                     00152-01 97 14-1


    .

    .

   > CANCEL/IDENTIFICATION = 13012A

     Команда RUN создает  процесс  для  выполнения  образа

STATUS. Процесс находится в спячке и планируется к пробуж-

дению в 14:00. Перед пробуждением процесса, команда CANCEL

отменяет запрос на пробуждение.

2. > RUN/PROCESS_NAME = LIBRA/INTERVAL =1:00 LIBRA

   %RUN_S_PROC_ID, IDENTIFICATION OF CREATED PROCESS IS

   00130027

   .

   .

   .

   > CANCEL LIBRA

   > STOP LIBRA

     Команда RUN создает подпроцесс LIBRA  для  выполнения

образа LIBRA.EXE с часовым интервалом. Впоследствии коман-

да CANCEL отменяет запрос на пробуждение. Процесс  продол-

жает существовать, но в состоянии спячки, до тех пор  пока

команда STOP не удалит его.

     Примечания:

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

са в одной и той же группе необходима привилегия GROUP,  и

привилегия WORLD для отмены запросов на пробуждение друго-

го процесса в той же самой системе.

     2. Команда STOP может быть использована для  удаления

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

сы пробуждения.

     3.  Используя   команду   SHOW   PROCESS   с   ключом

/SUBPROCESS, можно определить, завершил ли подпроцесс  вы-


                          - 122 -

                     00152-01 97 14-1


полнение образа.

     4. Система МОС ВП использует системную  обслуживающую

программу $SCHDWK (планировать пробуждение)  для  эмуляции

директивы RUN$ системы ОС РВ.

     5. MCR системы ОС  РВ  поддерживает  команду  CANCEL,

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

РВ.



     4.8. Команда CONTINUE



     Команда  CONTINUE  возобновляет  выполнение  команды,

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

прервано по одной из следующих причин:

     - нажатие CTRL/Y или CTRL/C;

     - запросом PAUSE, издаваемым  программой,  написанной

на языке ФОРТРАН или КОБОЛ;

     - директивой PAUSE,  издаваемой  косвенным  командным

файлом.

     Если выполнение программы было прервано или  приоста-

новлено и должно быть продолжено, то могут быть  выполнены

только следующие действия (любые другие действия  вызывают

завершение прерванного образа):

     - команды EXAMINE и DEPOSIT;

     - команды ALLOCATE и DEALLOCATE;

     - директива косвенного командного файла .SETX  (опре-

делить символ);

     - команда ASN (назначение и удаление логического име-

ни);

     - команды SET DEFAULT, SET PROTECTION, SHOW DEFAULT и

SHOW PROTECTION (установка и распечатка каталога умолчания


                          - 123 -

                     00152-01 97 14-1


и умолчания защиты файла);

     - SHOW TRANSLATION (распечатка трансляции логического

имени);

     - команда TIME (распечатка времени).

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

файла, система МОС ВП не накладывает  никаких  ограничений

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

ладываются на использование директивы .PAUSE [7].

     Формат

CONTINUE

     Пример.

> RUN TEST

 .

 .

 .

^Y

> TIME

24-JUN-1982 14:00:55

> CONTINUE

     Команда RUN инициирует выполнение образа TEST.  Нажа-

тие CTRL/Y прерывает выполнение образа  TEST.  По  команде

TIME система МОС ВП распечатывает дату  и  время.  Команда

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

TEST с той точки, где произошло прерывание.

     Примечания:

     1.  MCR  системы  ОС  РВ  не   поддерживает   команду

CONTINUE.

     2. Для удобства, название команды CONTINUE может быть

сокращено до одного символа С.




                          - 124 -

                     00152-01 97 14-1


     4.9. Команда COPY



     Команда COPY создает новый файл из  одного  или  нес-

кольких существующих файлов. Эта команда  может  быть  ис-

пользована для выполнения следующих действий:

     - скопировать один файл в другой;

     - об'единить несколько файлов в единый выводной файл;

     - скопировать группу файлов в другую группу файлов.

     Формат

COPY спец_вв_файла[,...] спец_выв_файла

     Параметры

спец_вв_файла[,...]

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

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

     лее чем один вводной файл, то имена файлов можно  от-

     делять запятыми или знаками плюс (+). В  спецификации

     файла можно использовать символ обобщения.

спец_выв_файла

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

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

     ре, одно поле в спецификации выводного файла. Если не

     указаны устройство и  каталог,  используется  текущее

     умолчание устройства и каталога. Команда COPY замеща-

     ет любое другое отсутствующее поле  (имя  файла,  тип

     файла, номер версии) на соответствующее поле специфи-

     кации вводного файла.  Если  указан  более  чем  один

     вводной файл, COPY  обычно  использует  поля  первого

     вводного файла для определения отсутствующих полей  в

     выводном файле. Символ  обобщения  "звездочка"  может

     быть использован  вместо  имени  файла,  типа  файла,


                          - 125 -

                     00152-01 97 14-1


     и/или номера версии. Команда  COPY  использует  соот-

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

     ного файла. Символ обобщения может быть использован в

     спецификации выводного файла, что позволяет COPY соз-

     давать более, чем один выводной файл.

     Пример.

> COPY A.A;1, B.B;1 *.C

     Здесь команда COPY создает файлы A.C;1 и B.C;1 в  те-

кущем каталоге по умолчанию.

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

каталогов в спецификации выводного  файла.  UIC  выводного

файла является UIC текущего процесса.

     Командные квалификаторы

/BACKUP

     - выбирает файлы в соотвествии с датами их последнего

     сохранения.  Этот  квалификатор  используется  только

     вместе с /BEFORE или /SINCE. Нельзя использовать ква-

     лификатор   /BACKUP   с   квалификаторами   /CREATED,

     /EXPIRED   и   /MODIFIED.   Умолчание:   квалификатор

     /CREATED.

/BEFORE[=время]

     - выбирает только те  файлы,  которые  датированы  до

     указанного времени.  Можно  указать  либо  абсолютное

     время, либо комбинацию абсолютного и  дельта-времени.

     Кроме того, можно также использовать  к, чевые  слова

     TODAY, TOMORROW  и  YESTARDAY.  Умолчание:   ключевое

     слово TODAY.

/BY_OWNER[=UIC]

     - выбирает один или несколько  файлов,  если  их  код

     идентификации пользователя (UIC) владельца  совпадает


                          - 126 -

                     00152-01 97 14-1


     с указанным UIC. Если в квалификаторе  /BY_OWNER  UIC

     не указан, используется UIC текущего процесса.

/CONCATENATE

/NOCONCATENATE

     - указывает, будет ли из всех вводных  файлов  созда-

     ваться единый выводной файл, если в  любом  из  полей

     спецификации  выводного  файла  используются  символы

     обобщения. По умолчанию символы обобщения в  специфи-

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

     водного  файла,  представляющего  конкатенацию   всех

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

     лов. Если создается конкатенация  файлов  с  диска  с

     файловой структурой уровня 2,  команда  COPY  создает

     конкатенацию файлов в алфавитно-цифровом порядке; ес-

     ли в поле версии файла указан символ обобщения, файлы

     копируются в порядке уменьшения номеров версий.  Если

     создается конкатенация  файлов  с  диска  с  файловой

     структурой уровня 1, команда COPY создает  конкатена-

     цию файлов в произвольном порядке.

/CONFIRM

/NOCONFIRM

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

     ред каждой отдельной операцией копирования для данно-

     го файла. Когда система выдаст подсказку, можно ввес-

     ти один из следующих ответов:

     1) YES, TRUE, 1 (утвердительные ответы);

     2) NO, FALSE, 0, <RET> (отрицательные ответы);

     3) QUIT, <CTRL/Z> (прекращение обработки команды);

     4) ALL (обработка команды продолжается, но  подсказка

     больше не выдается).


                          - 127 -

                     00152-01 97 14-1


     Для слов ответов можно использовать любую  комбинацию

     больших и малых букв. Слово ответа может быть  сокра-

     щено до одной или более букв (например, T, TR или TRU

     для TRUE).

/CREATED

     - выбирает файлы по их датам создания. Этот  квалифи-

     катор можно использовать только вместе с /BEFORE  или

     /SINCE. Нельзя использовать квалификатор  /CREATED  с

     /BACKUP, /EXPIRED и /MODIFIED. Квалификатор  /CREATED

     является умолчанием.

/EXCLUDE=(спец_файла[,...])

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

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

     квалификаторе. В спецификациях файлов  допустимо  ис-

     пользование символов  обобщения.  Спецификация  файла

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

     цификации   файлов,   указываемых   в   квалификаторе

     /EXCLUDE нельзя включать имя устройства.

/EXPIRED

     - выбирает файлы в соответствии  с  датами  истечения

     хранения. Этот квалификатор используется только вмес-

     те с /BEFORE или /SINCE. Квалификатор /EXPIRED нельзя

     использовать с /BACKUP, /CREATED и /MODIFIED.  Квали-

     фикатор /CREATED является умолчанием.

/LOG

/NOLOG

     - управляет распечаткой спецификации файла при  копи-

     ровании каждого файла. Если используется квалификатор

     /LOG, то для каждой операции копирования команда COPY

     распечатывает следующую информацию:


                          - 128 -

                     00152-01 97 14-1


     1) спецификации вводного и выводного файлов;

     2) число копируемых блоков или записей (в зависимости

     От того, как копируется файл: блоками или записями);

     3) общее число вновь созданных файлов.

     Умолчание: квалификатор /NOLOG.

/MODIFIED

     - выбирет файлы в соответствии с датой  их  последней

     модификации.  Этот  квалификатор  можно  использовать

     только вместе  с  /BEFORE  или  /SINCE.  Квалификатор

     /MODIFIED нельзя использовать с /BACKUP,  /CREATED  и

     /EXPIRED. Умолчание: квалификатор /CREATED.

/SINCE[=время]

     - выбирает только те файлы, которые датированы  после

     указанного времени.  Можно  указать  либо  абсолютное

     время, либо комбинацию абсолютного и  дельта-времени.

     Кроме того, можно использовать ключевые слова: TODAY,

     TOMORROW  и  YESTERDAY.  Умолчание:  ключевое   слово

     TODAY.

     Позиционные квалификаторы

/ALLOCATION=N

     - выполняет первоначальное размещение  N  512-байтных

     блоков для выводного файла. Если число N  не  задано,

     первоначальное размещение выводного файла определяет-

     ся размером вводного копируемого файла.

/CONTIGUOUS

/NOCONTIGUOUS

     - указывает будет ли выводной файл непрерывным,  т.е.

     занимающим последовательные физические  блоки  диска.

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

     лом. По умолчанию команда COPY создает выводной  файл


                          - 129 -

                     00152-01 97 14-1


     в том же самом формате, что и соответствующий вводной

     файл. Если вводной файл непрерывный, команда COPY пы-

     тается создать непрерывный выводной файл, но  она  не

     сообщает об ошибке,  если  непрерывного  пространства

     недостаточно. Если копируется несколько вводных  фай-

     лов различных форматов, выводной файл может быть  или

     может не быть непрерывным. Нужно использовать  квали-

     фикатор /CONTIGUOUS, чтобы гарантировать, что копиру-

     емые   файлы   будут    непрерывными.    Квалификатор

     /CONTIGUOUS не действует,  если  копируются  файлы  с

     ленты или на ленту, так как размер файла на ленте  не

     может быть определен до тех пор, пока он не  скопиру-

     ется на диск. Если файл копируется с ленты и  необхо-

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

     команды COPY: первая - для копирования файла с  ленты

     и вторая - для создания непрерывного файла.

/EXTENSION=N

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

     файлу, при каждом расширении файла. Если квалификатор

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

     нию для выводного  файла  определяются  по  атрибутам

     расширения соответствующего вводного файла.

/OVERLAY

/NOOVERLAY

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

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

     данные. Физическое положение файла на диске не  изме-

     няется. Квалификатор /OVERLAY игнорируется, если файл

     находится на устройстве, не имеющем файловой структу-

     ры.


                          - 130 -

                     00152-01 97 14-1


/PROTECTION=(код)

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

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

     в [1]. Любые неуказанные атрибуты защиты  берутся  из

     текущей защиты соответствующего вводного файла.

/READ_CHECK

/NOREAD_CHECK

     - запрашивает, чтобы команда COPY читала  каждую  за-

     пись в указанных вводных файлах дважды, для проверки,

     что все записи были прочитаны верно. Умолчание:  ква-

     лификатор /NOREAD_CHECK.

/REPLACE

/NOREPLACE

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

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

     уже  существует.   Команда   COPY   размещает   новое

     пространство для выводного файла.  При  использовании

     квалификатора /REPLACE в  спецификации  файлов  можно

     включать номера версий.  По  умолчанию  команда  COPY

     создает новую версию файла, увеличенную  на  1,  если

     файл с такой спецификацией уже существует.  Если  ис-

     пользуется квалификатор /NOREPLACE, и  файл  с  такой

     версией уже  существует,  то  выдается  сообщение  об

     ошибке.

/TRUNCATE

/NOTRUNCATE

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

     ровании выводной файл по концу файла (EOF). По  умол-

     чанию команда COPY использует информацию о размещении

     вводного файла для определения размера выводного фай-


                          - 131 -

                     00152-01 97 14-1


     ла.

/VOLUME=N

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

     водной файл на соответствующий том с указанным  номе-

     ром в многотомном наборе. Если  квалификатор  /VOLUME

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

     готомном наборе.

/WRITE_CHECK

/NOWRITE_CHECK

     - указывает, чтобы команда COPY читала каждую  запись

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

     запись была успешно скопирована и  что  файл  в  пос-

     ледствии мог быть прочитан без ошибок.  По  умолчанию

     используется квалификатор /NOWRITE_CHECK.

     Примеры:

1. > COPY TEST.DAT NEWTEST.DAT

     Команда COPY копирует  содержимое  файла  TEST.DAT  с

диска и каталога по умолчанию в файл по имени  NEWTEST.DAT

на тот же диск и в тот же каталог. Если файл  NEWTEST  уже

существует, команда COPY создает новую версию этого файла.

2. > COPY ALPHA.TXT TMP

   > COPY ALPHA.TXT .TMP

     Первая команда COPY копирует файл ALPHA.TXT в файл по

имени TMP.TXT. Команда COPY использует тип файла из  ввод-

ного файла, чтобы дополнить спецификацию выводного  файла.

вторая команда COPY создает файл по имени  ALPHA.TMP.  Ко-

манда COPY использует имя вводного файла,  для  именования

выводного файла.

3. > COPY *.* PRTLND::*.*

     Команда COPY копирует все файлы из каталога пользова-


                          - 132 -

                     00152-01 97 14-1


теля на локальном узле на  удаленный  узел  PRTLND.  Новые

файлы будут иметь те же самые имена, что и вводные  файлы.

нужно иметь доступ на запись (W) K каталогу  по  умолчанию

на удаленном узле PRTLND, чтобы эта команда  могла  выпол-

ниться.

4. > COPY BOSTON::DISK2:TEST.DAT;5

   = TO: DALLAS"SAM

   SECRET"::DISK0:[MODEL.TEST]TEST.DAT/ALLOCATION=50

     Команда COPY копирует файл  TEST.DAT;5  с  устройства

DISK2 на узле BOSTON в новый файл  TEST.DAT  на  удаленном

узле DALLAS. Квалификатор /ALLOCATE первоначально размеща-

ет 50 блоков для нового файла  TEST.DAT  на  узле  DALLAS.

строка управления доступом SAMSECRET используется для дос-

тупа к удаленному каталогу.

     Примечание.  Если  символ  обобщения  (*)  или   ключ

/CONCATENATE используются для об'единения файлов  файловой

структуры уровня 1, вводные файлы  копируются  в  выводной

файл в случайном порядке. Если об'единяются файлы файловой

структуры уровня 2, команда COPY копирует файлы в алфавит-

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

щения (*), файлы копируются в порядке уменьшения поля вер-

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

начиная со старшего номера версии.



     4.10. Команда CREATE



     Команда CREATE выполняет следующие функции:

     1) создает один или несколько последовательных файлов

на диске из записей, следующих за командой во вводном  по-

токе (п. 4.10.1.);


                          - 133 -

                     00152-01 97 14-1


     2) определяет новый каталог или подкаталог для файлов

(п. 4.10.2.);

     3) создает новый, пустой файл данных, используя  спе-

цификации файла FDL (п. 4.10.3.);

     4) создает новую таблицу логических имен (п. 4.10.4).

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

CREATE. Более подробно эта команда описана в [2].



     4.10.1. Создание последовательных файлов



     Команда CREATE создает один или несколько  последова-

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

мандой во вводном потоке.

     Формат

CREATE спец_файла[,...]

где спец_файла указывает имена одного или нескольких  соз-

даваемых файлов.

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

чаний для них не существует; имя файла или тип файла будут

пустыми. Если опущен номер версии файла и если файл с ука-

занным именем и типом уже существует, команда CREATE  соз-

дает новую версию этого файла.

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

лов обобщения.

     Командные квалификаторы

 /LOG

 /NOLOG

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

     спецификации файлов при создании командного файла. По

     умолчанию команда CREATE не распечатывает имена  фай-


                          - 134 -

                     00152-01 97 14-1


     Лов после их создания.

/OWNER_UIC=UIC

     - указывает  код  идентификации  пользователя  (UIC),

     назначаемый файлу при его создании. Если при создании

     файла UIC владельца не  указывается,  команда  CREATE

     назначает файлу UIC создателя. Для указания UIC,  от-

     личного  от  собственного,  нужно  иметь   привилегию

     SYSPRV.

/PROTECTION=(код)

     - определяет защиту, используемую для файла [1]. Если

     значение защиты для каждой категории не  задано,  или

     если квалификатор /PROTECTION опущен, команда  CREATE

     использует текущее умолчание защиты для каждой неука-

     занной категории.

     Если указана спецификация существующего файла, а зна-

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

     или если опущен квалификатор /PROTECTION, то  команда

     CREATE использует защиту существующего файла для  но-

     вого файла.

/VOLUME=N

     - указывает, что каждый файл должен быть  помещен  на

     соответствующий том с заданным номером в  многотомном

     наборе. Если квалификатор /VOLUME не указан, файл по-

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

     Пример.

> CREATE A.DAT, B.DAT

  INPUT LINE ONE FOR A.DAT ...

  INPUT LINE TWO FOR A.DAT ...

   .

   .


                          - 135 -

                     00152-01 97 14-1


   .

  ^Z

  INPUT LINE ONE FOR B.DAT ...

  INPUT LINE TWO FOR B.DAT ...

   .

   .

   .

  ^Z

  >

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

тывает строки в последовательный файл A.DAT пока не встре-

тится CTRL/Z. Следующий набор вводных данных  (до  CTRL/Z)

помещается во второй файл B.DAT.



     4.10.2. Создание каталогов



     Команда CREATE /DIRECTORY создает новый  каталог  или

подкаталог для файлов.

     Формат

CREATE/DIRECTORY спец_каталога[,...]

где /DIRECTORY - обязательный квалификатор;

    спец_каталога- указывает имя создаваемого каталога или

подкаталога. Спецификация каталога  должна  содержать  имя

каталога. Имя устройства необязательно. При создании ката-

лога имена уровней каталога разделяются точками.

     Одной командой CREATE/DIRECTORY можно  создать  серию

вложенных подкаталогов. Например, можно  создать  [A.B.C],

хотя ни [A.B], ни [A] во  время  издания  команды  не  су-

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

уровня.


                          - 136 -

                     00152-01 97 14-1


     В  спецификации  каталога  недопустимо  использование

символов обобщения.

     Командные квалификаторы

/LOG

/NOLOG

     - указывает, будет ли команда CREATE/DIRECTORY распе-

     чатывать спецификации каталогов после создания каждо-

     го каталога. По квалификатору умолчания /NOLOG коман-

     да CREATE/DIRECTORY не распечатывает спецификации ка-

     талогов после их создания.

/OWNER_UIC[=выбор]

     - указывает  код  идентификации  пользователя  (UIC),

     назначаемый каталогу при его создании [1]. Если  ква-

     лификатор OWNER_UIC не указан, при создании  каталога

     команда CREATE/DIRECTORY назначает владельца каталога

     следующим образом:

     1) если имя каталога указано либо в  алфавитно-цифро-

     вом формате, либо в формате подкаталога, владелец  по

     умолчанию - UIC создателя;

     2) если имя каталога указано в формате UIC,  владелец

     по умолчанию UIC из имени каталога.

/PROTECTION=(код)

     - определяет  защиту, используемую для каталога  [1].

     Если при создании каталога значение  для каждой кате-

     гории  доступа  не  указано,  или  если  квалификатор

     /PROTECTION  опущен,  команда  CREATE/DIRECTORY   ис-

     пользует защиту, действующую  на  предыдущий  уровень

     каталога, без доступа на удаление для  каждой  неука-

     занной  категории.  Если  создается  каталог  первого

     уровня, то предыдущим уровнем  является  MFD  (защита


                          - 137 -

                     00152-01 97 14-1


     MFD устанавливается по команде INITIALIZE).

/VERSION_LIMIT=N

     - указывает, что по умолчанию в этом каталоге  должно

     храниться не более чем N версий каждого  создаваемого

     файла. Если N версий уже существует и создается новая

     версия, то самая младшая версия автоматически  удаля-

     ется. Если квалификатор /VERSION_LIMIT опущен,  умол-

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

     предыдущего уровня. Если указан /VERSION_LIMIT=0,  то

     система создает каталог без умолчания лимита  версий.

     Если установка лимита версий изменяется, новый  лимит

     используется только для файлов, созданных после того,

     как установка была  изменена.  Новые  версии  файлов,

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

     мит версий.

/VOLUME=N

     - указывает, что файл каталога должен быть помещен на

     соответствующий том с заданным номером в  многотомном

     наборе. Если квалификатор /VOLUME не указан, файл по-

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

     Примеры:

1. > CREATE/DIRECTORY DISK2:[MALCOLM]

     Команда CREATE /DIRECTORY создает  каталог  с  именем

[MALCOLM] на устройстве DISK2.

2. > CREATE/DIRECTORY [MALCOLM.SUB]

   > SET DEFAULT [MALCOLM.SUB]

     Команда CREATE/DIRECTORY создает подкаталог с  именем

[MALCOLM.SUB]. Этот файл помещается  в  каталог  с  именем

[MALCOLM]. Команда SET DEFAULT изменяет текущий каталог по

умолчанию на вновь созданный подкаталог [MALCOLM.SUB]. Все


                          - 138 -

                     00152-01 97 14-1


создаваемые впоследствии файлы помещаются в этот каталог.



     4.10.3. Создание пустых файлов данных



     Команда CREATE/FDL вызывает  обслуживающую  программу

CREATE/FDL для создания нового пустого файла данных с  по-

мощью спецификаций из файла FDL.

     Формат

CREATE/FDL = спец_файла_FDL [спец_файла]

где /FDL- обязательный квалификатор;

    спец_файла_FDL- указывает  файл  FDL, используемый для

создания файла данных; тип файла по умолчанию - FDL;

    спец_файла - указывает имя  создаваемого файла; оно не

является обязательным. Если в команде дается полная специ-

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

файле FDL.

     Командный квалификатор

/LOG

/NOLOG

     - управляет,  будет   ли   обслуживающая    программа

     CREATE/FDL распечатывать спецификацию  файла  данных,

     который она создала. Умолчание: /LOG.

     Пример.

> CREATE/FDL = STDINDEX CUSTDATA.IDX

     Команда CREATE/FDL создает индексный  файл  с  именем

CUSTDATA.IDX из файла FDL STDINDEX.FDL.



     4.10.4. Создание таблицы логических имен



     Команда CREATE/NAME_TABLE создает новую таблицу логи-


                          - 139 -

                     00152-01 97 14-1


ческих имен.

     Формат

CREATE/NAME_TABLE имя_таблицы

где имя_таблицы - указывает имя создаваемой таблицы  логи-

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

справочную    таблицу     логических     имен     процесса

(LNM$PROCESS_DIREсTORY), либо в справочную  таблицу  логи-

ческих имен системы (LNM$SYSTEM_DIRECTORY).

     Имя таблицы может содержать от 1 до 31 символов и  не

должно содержать никаких символов,  кроме  буквенно-цифро-

вых, знака $ и символа подчеркивания (_).

     Командные квалификаторы

/ATTRIBUTES=(ключ_слово[,...])

     - указывает атрибуты для таблицы логических имен. Ес-

     ли квалификатор /ATTRIBUTES не задан, атрибуты не ус-

     танавливаются. Для атрибутов могут быть указаны  сле-

     дующие ключевые слова:

     1) CONFINE - таблица не должна копироваться в подпро-

     цессе по команде SPAWN. Это ключевое слово можно  ис-

     пользовать только, когда создается личная таблица ло-

     гических имен. Если  таблица  создается  с  атрибутом

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

     тыми;

     2) NO_ALIAS - в текущий каталог в менее  привилегиро-

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

     (либо логические имена, либо имена таблиц  логических

     имен). Если ключевое  слово  NO_ALIAS  не  указано  и

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

     ванном режиме уже существует в справочной таблице ло-

     гических имен, то это имя удаляется;


                          - 140 -

                     00152-01 97 14-1


     3) SUPERSEDE - создает новую таблицу, которая  подав-

     ляет любую предыдущую (существующую) таблицу с  таким

     же именем, режимом доступа и справочной таблицей. Но-

     вая таблица создается независимо от того, существова-

     ла ли предыдущая таблица (если атрибут  SUPERSEDE  не

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

     щая таблица  существует).  Если  указан  квалификатор

     /LOG или используется умолчание для него, то  посыла-

     ется сообщение о результате.

     Устанавливаются только указанные атрибуты.

/EXECUTIVE_MODE

     - создает таблицу логических имен режима  управления.

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

     ния нужно иметь привилегию SYSNAM.

/LOG

/NOLOG

     - управляет формированием информационного  сообщения,

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

     задан атрибут SUPERSEDE, или  если  таблица  уже  су-

     ществовала, но атрибут SUPERSEDE не был задан.  Умол-

     чание: /LOG, т.е. распечатывается информационное  со-

     общение.

/PARENT_TABLE=таблица

     - указывает имя таблицы-предка. Если /PARENT_TABLE не

     указан,       таблицей       умолчания       является

     LNM$PROCESS_DIRECTORY. Для создания разделяемой  таб-

     лицы логических имен, нужно иметь доступ E  (разреше-

     ние)  к  таблице-предку  и  привилегию   пользователя

     SYSPRV. Таблицей-предком разделяемой таблицы является

     LNM$SYSTEM_DIRECTORY.


                          - 141 -

                     00152-01 97 14-1


/PROTECTION

     - определяет защиту,  используемую  для  таблицы.  По

     умолчанию SYSTEM и OWNER имеют доступ на чтение  (R),

     запись (W), разрешение (E) и удаление  (D);  GROUP  и

     WORLD  не  имеют  доступа  [1].  Защита  используется

     только для разделяемых таблиц логических имен; она не

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

     цесса.

/QUOTA=число_байтов

     - указывает размер лимита таблицы в байтах. Если ква-

     лификатор /QUOTA не указан или если  задан  /QUOTA=0,

     таблица имеет нелимитированную квоту.

/SUPERVISOR_MODE

     - создает таблицу логических имен супервизорного  ре-

     жима. Если режим явно не  указан,  создается  таблица

     логических имен супервизорного режима.

/USER_MODE

     - создает таблицу логических  имен  пользовательского

     режима.

     Пример.

> сREATE/NAME_TABLE TEST_TAB

> SHOW LOGICAL TEST_TAB

%SHOW_S_NOTRAN, NO TRANSLATION FOR LOGICAL NAME TEST_TAB

> SHOW LOGICAL/TABLE=LNM$PROCESS_DIRECTORY TEST_TAB

     Команда CREATE/NAME_TABLE  создает  новую  таблицу  с

именем TEST_TAB. По умолчанию имя таблицы вводится в спра-

вочную таблицу процесса. Первая команда  SHOW  LOGICAL  не

находит имя TEST_TAB, т.е. она не просматривает по умолча-

нию таблицу процесса. Чтобы запросить просмотр этой табли-

цы, нужно указать квалификатор /TABLE.


                          - 142 -

                     00152-01 97 14-1


     4.11. Команда DEALLOCATE



     Kоманда DEALLOCATE освобождает предварительно закреп-

ленное устройство. Система автоматически освобождает любые

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

выход из системы.

     Формат

DEALLOCATE имя_устройства[:]

где имя_устройства[:] - указывает физическое или  логичес-

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

откреплено. Если имя контроллера и номер устройства  физи-

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

леру назначается A и устройству 0, соответственно.

     Командный квалификатор

/ALL

     - по квалификатору /ALL команда DEALLOCATE освобожда-

     ет все устройства, закрепленные  за  процессом.  Если

     указывается ключ /ALL, то  имя  устройства  можно  не

     указывать.

     Примеры:

1. > DEALLOCATE DMB1:

     Команда  DEALLOCATE  открепляет   устройство   1   на

контроллере B.

2. > ALLOCATE MT: TAPE

   %MCR_I_ALLOC, _MTB1: ALLOCATED

    .

    .

    .

   > DEALLOCATE  TAPE:

     Команда ALLOCATE запрашивает  закрепление  устройства


                          - 143 -

                     00152-01 97 14-1


магнитной ленты  и  назначает  устройству  логическое  имя

TAPE. Затем команда ALLOCATE сообщает об успешном  закреп-

лении устройства MTB1. Команда DEALLOCATE  указывает,  что

по логическому имени TAPE освобождается устройство магнит-

ной ленты.

3. > DEALLOCATE /ALL

     Команда DEALLOCATE открепляет все устройства, которые

в текущий момент закреплены.



     4.12. Команда DEASSIGN



     Команда DEASSIGN выполняет следующие функции:

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

командам ASSIGN, DEFINE, MOUNT или ALLOCATE;

     - отменяет назначение логической очереди к указанному

устройству.



     4.12.1. Отмена назначения логического имени



     Формат

DEASSIGN [лог_имя[:]]

     Отменяет назначение логического имени,  сделанное  по

командам  ALLOCATE,  ASSIGN,  DEFINE  или  MOUNT.  Команда

DEASSIGN удаляет также таблицы логических имен,  созданные

по команде CREATE/NAME_TABLE.

     Параметры

лог_имя[:]

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

     нужно отменить. Логическое имя может иметь длину от 1

     до 255 символов. Если логическое имя содержит  симво-


                          - 144 -

                     00152-01 97 14-1


     лы, отличные от  алфавитно-цифровых,  знака  ($)  или

     подчеркивания (_), его нужно заключать в кавычки. Ес-

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

     то  интерпретатор  команд  игнорирует  его   (команды

     ASSIGN и ALLOCATE удаляют двоеточие, если  оно  стоит

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

     таблицу логических имен). Если двоеточие содержится в

     самом логическом имени, то нужно указать два  двоето-

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

     например, DEASSIGN FILE::. Параметр логического имени

     требуется, если не указан квалификатор /ALL. При уда-

     лении таблицы логических имен  в  качестве  параметра

     лог_имя указывается имя таблицы. Необходимо также ис-

     пользовать квалификатор /TABLE для указания  справоч-

     ной таблицы логических имен, где содержится имя  таб-

     лицы.

     Командные квалификаторы

/ALL

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

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

     таблице логических имен, должны быть удалены. Умолча-

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

     LNM$PROCESS. Если указан квалификатор /ALL,  параметр

     лог_имя указывать нельзя.

/EXECUTIVE_MODE

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

     которые были созданы в режиме управления. Если указан

     квалификатор /EXECUTIVE_MODE, команда DEASSIGN удаля-

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

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


                          - 145 -

                     00152-01 97 14-1


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

     иметь привилегию  SYSNAM.  Если  указан  квалификатор

     /EXECUTIVE_MODE, а привилегии SYSNAM  у  пользователя

     нет, то команда DEASSIGN игнорирует этот квалификатор

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

     визорном режиме.

/GROUP

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

     таблице логических имен. Квалификатор /GROUP является

     синонимом /TABLE=LNM$GROUP. Для удаления  записей  из

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

     гия GRPNAM.

/JOB

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

     логических имен задания. Квалификатор  /JOB  является

     синонимом  /TABLE=LNM$JOB.  Если  таблица  логических

     имен явно не указана, то умолчанием является квалифи-

     катор /PROCESS. Нельзя удалять записи в таблице логи-

     ческих имен задания, которые были назначены  системой

     во время регистрации, например, такие как  SYS$LOGIN,

     SYS$LOGIN_DEVICE, SYS$SCRATCH. Однако, если были наз-

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

     имен (т.е. созданы новые  логические  имена  в  менее

     привилегированных режимах доступа), то можно  удалить

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

/PROCESS

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

     логических имен процесса. Квалификатор /PROCESS явля-

     ется синонимом  /TABLE=LNM$PROCESS.  Если  логическое

     имя явно не указано, то умолчанием является /PROCESS.


                          - 146 -

                     00152-01 97 14-1


     Нельзя удалять записи в таблице логических имен,  ко-

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

     например, как SYS$INPUT, SYS$OUTPUT и SYS$ERROR.  Од-

     нако, если были назначены новые  эквивалентные  имена

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

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

     па), то можно удалить назначение имен,  которые  были

     созданы явно.

/SUPERVISOR_MODE

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

     которые были созданы  в  супервизорном  режиме.  Если

     указан  квалификатор  /SUPERVISOR_MODE,  то   команда

     DEASSIGN также удаляет записи логических имен с таки-

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

/SYSTEM

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

     системных логических имен. Квалификатор /SYSTEM явля-

     ется синонимом /TABLE=LNM$SYSTEM. Для удаления  запи-

     сей из таблицы системных  логических  имен  требуется

     привилегия пользователя SYSNAM или SYSPRV.

/TABLE=имя

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

     удаляется логическое имя. Можно указать таблицу, соз-

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

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

     имен процесса, задания, групповую или системную нужно

     указывать логическими именами  LNM$PROCESS,  LNM$JOB,

     LNM$GROUP и LNM$SYSTEM  соответственно.  Можно  также

     указать одну из справочных  таблиц  логических  имен.

     Квалификатор /TABLE можно также использовать для уда-


                          - 147 -

                     00152-01 97 14-1


     ления таблицы логических имен. Для  удаления  таблицы

     процесса нужно указать:

     > DEASSIGN/TABLE=LNM$PROCESS_DIRECTORY имя_табл

     Для удаления разделяемой таблицы нужно указать:

     > DEASSIGN/TABLE=LNM$SYSTEM_DIRECTORY имя_табл

     Для удаления разделяемой таблицы логических имен нуж-

     но иметь доступ на удаление (D) к таблице или  доступ

     на запись (W) к справочной таблице, в которой  содер-

     жится  имя  разделяемой  таблицы.  Если  квалификатор

     /TABLE   явно   не   указан,   умолчанием    является

     /TABLE=LNM$PROCESS (или /PROCESS).

/USER_MODE

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

     созданные в пользовательском режиме. Если указан ква-

     лификатор /USER_MODE, команда DEASSIGN может  удалить

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

     Примеры:

1. > SHOW LOGICAL TEST_CASES

   "TEST_CASES" = "USER_DISK:[HARVEY] FILES.DAT"

   (LNM$PROCESS_TABLE)

   > DEASSIGN TEST_CASES

   > SHOW LOGICAL TEST_CASES

   %SHOW-S-NOTRAN, NO TRANSLATION FOR LOGICAL NAME

   TEST_CASES

     Команда SHOW LOGICAL  распечатывает  текущее  эквива-

лентное имя  для  логического  имени  TEST_CASES.  Команда

DEASSIGN удаляет эквивалентное имя. Следующая команда SHOW

LOGICAL сообщает, что имя было удалено.

2. > DEFINE SWITCH: TEMP

   > DEASSIGN SWITCH::


                          - 148 -

                     00152-01 97 14-1


     Команда DEFINE помещает логическое имя SWITCH: в таб-

лицу логических имен процесса. Двоеточие  сохраняется  как

часть логического имени. В команде DEASSIGN  для  удаления

этого логического имени требуется два  двоеточия  так  как

команда DEASSIGN удаляет одно из двоеточий, второе двоето-

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

ни.

3. > ASSIGN DALLAS::USER_DISK:DATA

      .

      .

      .

   > DEASSIGN DATA

     Команда ASSIGN связывает логическое имя DATA со  спе-

цификацией устройства USER_DISK на удаленном узле  DALLAS.

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

зультатом обращение к диску  на  удаленном  узле.  Команда

DEASSIGN отменяет назначение логического имени.



     4.12.2. Отмена назначения логической очереди



     Формат

DEASSIGN/QUEUE имя_лог_очереди[:]

     Команда DEASSIGN/QUEUE отменяет назначение логической

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

переводит логическую очередь в состояние STOP.  Квалифика-

тор /QUEUE требуется синтаксисом.  Команда  DEASSIGN/QUEUE

является обратной команде ASSIGN/QUEUE.

     Параметры

имя_лог_очереди[:]

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


                          - 149 -

                     00152-01 97 14-1


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

     ла.

     Пример.

> ASSIGN/QUEUE LPA0 ASTER

    .

    .

    .

> DEASSIGN/QUEUE ASTER

> ASSIGN/MERGE LPB0 ASTER

     Команда  ASSIGN/QUEUE  связывает  логическую  очередь

ASTER с очередью к печатающему  устройству  LPA0.  Команда

DEASSIGN/QUEUE удаляет назначение логической очереди.  Ко-

манда ASSIGN/MERGE переназначает очередь заданий  ASTER  к

печатающему устройству LPB0.



     4.13. Команда DEBUG



     Команда DEBUG вызывает отладчик после того,  как  вы-

полнение программы было прервано  по  CTRL/C  или  CTRL/Y.

Eсли образ является образом основного режима  системы  МОС

ВП, то символический отладчик выдает  подсказку.  Eсли  же

образ является образом задачи системы ОС РВ,  который  был

построен с ODT, то отладчик ODT выдает сообщение об исклю-

чительной ситуации по т биту.

     Формат

DEBUG

     Примеры:

1. > RUN COPLEY/NODEBUG

   ^Y

   > DEBUG


                          - 150 -

                     00152-01 97 14-1


   DBG>

     В этом примере, нажатие CTRL/Y  прерывает  выполнение

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

этой  точке  заставляет отладчик  системы  МОС  ВП  выдать

подсказку.

2. > RUN PEALE/NODEBUG

   ^Y

   > DEBUG

   ODT: FANGLE

     В этом примере нажатие  CTRL/Y  прерывает  выполнение

образа задачи PEALE, после чего MCR выдает подсказку. Ввод

команды DEBUG в этой точке  вызывает  подсказку  отладчика

ODT. FаNGLE - имя процесса.

   Примечания:

     1. Если образ не выполняется в данный момент, то  ко-

манда DEBUG не вызывает действий.

     2. Если прерванная программа не была  скомпонована  с

соответствующей отладочной программой (т.е. с  символичес-

ким отладчиком МОС ВП для образов основного режима  или  с

отладчиком ODT для образав задач ОС РВ), то команда  DEBUG

создает исключительную ситуацию.

     Если в образе  основного  режима  не  была  об'явлена

программа обработки исключительной  ситуации  или  если  в

образе задачи ОС РВ не указывается адрес прогаммы обработ-

ки SST по T биту, то исключительная ситуация может вызвать

завершение образа.

     3. Единственной привилегией, которую нужно иметь  при

отладке, является привилегия для  выполнения этого  файла.

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

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


                          - 151 -

                     00152-01 97 14-1


/NOTRACE, отлаживать программу можно  только  в  пользова-

тельском режиме. Нельзя отлаживать программу в супервизор-

ном режиме, режимах управления и ядра.



     4.14. Команда DEFINE



     Команда DEFINE создает строку для указанного логичес-

кого имени, запись строки логического имени и  назначенной

ему строки эквивалентного имени или списка строк.  Команда

DEFINE выполняет следующие функции:

     1) определяет имя характеристик для системных  очере-

дей;

     2) определяет имя и номер формы и характеристики вида

бумаги для очередей  к печатающему устройству и очередей к

терминалу;

     3) связывает эквивалентную строку и набор атрибутов с

ключом на терминальной клавиатуре.



     4.14.1. Назначение логического имени



     Формат

DEFINE лог_имя эквив_имя [,...]

где лог_имя - указыает строку  логического  имени.  Строка

логического имени может содержать от  1  до  255  символов

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

таблиц     логических     имен,     справочную     таблицу

LNM$SYSTEM_DIRECTORY или LNM$PROCESS_DIRECTORY, не  должно

иметь длину более, чем 31 символ, не должно содержать сим-

волы, отличные от алфавитно-цифровых, знака ($)  или  под-

черкивания (_)). Если в конце  логического  имени  указано


                          - 152 -

                     00152-01 97 14-1


двоеточие, команда DEFINE сохраняет его как часть логичес-

кого имени, в отличие от команды ASSIGN,  которая  удаляет

двоеточие перед тем, как поместить логическое имя в табли-

цу логических имен. По умолчанию логическое имя помещается

в таблицу логических имен процесса. Если  строка  содержит

символы, отличные от  алфавитно-цифровых,  знака  ($)  или

символа подчеркивания (_), ее нужно заключить  в  кавычки.

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

чается логическое имя , а  для  символа  (")  используются

двойные кавычки ("") в том месте, где нужно поместить сим-

вол ("). Если имя заключено в  кавычки,  выбор  алфавитных

символов сохраняется.

    Эквив_имя[,...] - определяет  эквивалентное имя, кото-

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

таблице логических имен. Строка эквивалентного имени может

содержать от 1 до 255 символов. Если строка содержит  сим-

волы, отличные от алфавитно-цифровых, знака ($)  или  под-

черкивания (_), то она должна быть  заключена  в  кавычки.

если эквивалентное имя содержит кавычки и  строка  эквива-

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

ла (") используются двойные кавычки. Если указанное  экви-

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

спецификация файла, то  нужно  включать  знаки  пунктуации

(двоеточия, квадратные скобки, точки). Поэтому,  если  имя

устройства указывается как эквивалентное имя,  то  эквива-

лентное имя нужно завершать двоеточием.

     Команда DEFINE позволяет назначать одно и тоже  логи-

ческое имя к нескольким  эквивалентным  именам.  Например,

можно использовать одно и тоже логическое имя для  доступа

к разным каталогам на разных дисках или для доступа к раз-


                          - 153 -

                     00152-01 97 14-1


ным файлам в разных каталогах. Если для логического  имени

указано несколько эквивалентных имен, нужно создать список

поиска [1].

     Командные квалификаторы

/EXECUTIVE_MODE

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

     ной  таблице  управления.  Для  создания  логического

     имени режима управления необходима привилегия SYSNAM.

/GROUP

     - помещает логическое имя в таблицу  групповых  логи-

     ческих имен. Квалификатор /GROUP  является  синонимом

     TABLE=LNM$GRPNAM. Для того,  чтобы  поместить  имя  в

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

     тельская привилегия GRPNAM или SYSPRV.

/JOB

     - помещает логическое имя в таблицу  логических  имен

     задания.   Квалификатор   /JOB   является   синонимом

     /TABLE=LNM$JOB.

/LOG

/NOLOG

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

     ческого имени,  которое  заменяет  существующее  имя.

     Умолчанием является квалификатор /LOG.

/NAME_ATTRIBUTES[=(ключ_слова[,...])]

     - указывает  атрибут логического имени. По умолчанию

     атрибуты не устанавливаются. Ключ_слова могут  прини-

     мать значения CONFINE и NO_ALIAS.

/PROCESS

     - помещает логическое имя в таблицу  логических  имен

     Процесса. Квалификатор  /PROCESS  является  синонимом


                          - 154 -

                     00152-01 97 14-1


     /TABLE=LNM$PROCESS. Если таблица логических имен явно

     не указана, умолчанием является /PROCESS.

/SUPERVESOR_MODE

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

     зорного режима.

/SYSTEM

     - помещает логическое имя в таблице  системных  логи-

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

     логическое имя. Квалификатор /SYSTEM является синони-

     мом /TABLE=LNM$SYSTEM. Чтобы поместить имя в  таблицу

     системных  логических  имен,   требуется   привилегия

     пользователя SYSNAM или SYSPRV.

/TABLE=имя

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

     помещается логическое имя. Если  квалификатор  /TABLE

     явно     не     указан,      умолчанием      является

     /TABLE=LNM$PROCESS (или /PROCESS).

/USER_MODE

     - создает логическое имя пользовательского  режима  в

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

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

     используются при  выполнении  одного  образа.  Записи

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

     ческих имен процесса, когда данный  образ,  выполняю-

     щийся в процессе завершается.

     Позиционные квалификаторы

/TRANSLATION_ATTRIBUTES[=ключ_слова[,...])]

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

     дифицируют строку эквивалентности логического  имени.

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


                          - 155 -

                     00152-01 97 14-1


     CONCEALED и TERMINAL. Разные  строки  эквивалентности

     логического  имени  могут   иметь   разные   атрибуты

     трансляции.

     Примеры.

1. > DEFINE CHARLIE XXX1:[CHARLES]

   > PRINT CHARLIE:TEST.DAT

   JOB 274 ENTERED ON QUEUE SYS$PRINT

     Команда DEFINE связывает  логическое  имя  CHARLIE  с

имененм каталога [CHARLES] на диске XXX1. Последующие  об-

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

обращения к указанному диску  и  каталогу.  Команда  PRINT

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

XXX1:[CHARLES]TEST.DAT

2. > DEFINE PROCESS_NAME LIBRA

   > RUN WAKE

     Команда DEFINE помещает логическое имя  /PROCESS_NAME

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

LIBRA. Логическое имя создается  в  супервизорном  режиме.

программа WAKE транслирует логическое имя PROCESS_NAME для

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

имени LTBRA.

3. > DEFINE TEMP:XXX1:

    .

    .

    .

   > DEASSIGN TEMP::

     Команда DEFINE создает эквивалентное имя для логичес-

кого имени TEMP: и помещает имя в таблицу логических  имен

процесса. Двоеточие сохраняется как часть логического име-

ни. Команда DEASSIGN удаляет логическое имя. В  логическом


                          - 156 -

                     00152-01 97 14-1


имени команды DEASSIGN требуется два двоеточия. Одно  дво-

еточие удаляется командой DEASSIGN, другое сохраняется как

часть логического имени.



     4.14.2. Назначение характеристик



     Формат

DEFINE/CHARACTERISTIC имя_характ номер_характ

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

тики. Имя характеристики может иметь от 1 до 31  символов,

включая большие и малые буквы, цифры, знак ($) и подчерки-

вание(_). Имя, однако, должно содержать  по  крайней  мере

один нецифровой символ.

    Номер_характ назначает номер для определяемой характе-

ристики. Номер может быть в диапазоне от 1 до 127.



     4.14.3. Назначение формы



     Команда DEFINE/FORM назначает имя и  номер  формы,  а

также  вид  бумаги.  Если   имя   формы   уже   назначено,

DEFINE/FORM изменяет назначение формы. Каждая форма должна

иметь  уникальный номер. Квалификатор /FORM требуется син-

таксисом.

     Формат

DEFINE/FORM имя_формы номер_формы

где имя_формы - назначает имя формы. Имена форм могут  со-

держать от 1 до 31 символа, включая малые и большие буквы,

цифры, знак ($) и подчеркивания (_). Имя должно  содержать

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

    Номер_формы - назначает номер для  указываемой  формы.


                          - 157 -

                     00152-01 97 14-1


номера могут быть в диапазоне от 1 до 127. Форме по  умол-

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

системы, назначается номер 0.

     Командные квалификаторы

/DESCRIPTION=строка

     - указывает строку до 255 символов длиной. Строкой по

     умолчанию является указываемое имя формы.

/LENGTH=N

     - указывает физическую длину в строках страницы  фор-

     мы. Умолчание длины страницы  66  строк.  Параметр  N

     должен быть положительным целым, большим 0 и не  пре-

     вышающим 255.

/MARGIN=(выбор[,...])

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

     BOTTOM (низ), LEFT  (слева),  RIGHT  (справа)  и  TOP

     (верх). В квалификаторах BOTTOM=N и TOP=N N указывает

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

     текстом и нижним  и  верхним  концом  страницы  соот-

     ветственно. В квалификаторах LEFT=N и RIGHT=N  указы-

     вается число пустых колонок, оставляемых между  напе-

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

     ответственно.

/SETUP=(модуль[,...])

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

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

     ветствующем устройстве. Модули находятся в библиотеке

     управления устройством. Система выделяет соответству-

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

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

     кой задания.


                          - 158 -

                     00152-01 97 14-1


/SHEET_FEED

/NOSHEET_FEED

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

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

     можно было заправить новую пачку бумаги. По умолчанию

     симбионт вывода на печать паузы не делает.

/STOCK=строка

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

     деляемой форме. Умолчание для строки - имя формы.

/TRUNCATE

/NOTRUNCATE

     - указывает, как печатающее устройство  будет  разме-

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

     /WIDTH, либо /MARGIN=RIGHT. Если  указан   /TRUNCATE,

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

     вать любые символы, которые превышают  длину  строки.

     Если указан /TRUNCATE, нельзя указывать /WRAP.

/WRAP

/NOWRAP

     - указывает как печатающее устройство будет размещать

     строки, превышающие значения /WIDTH и  /MARGIN=RIGNT.

     Квалификатор /WRAP вызывает  печать  с  переносом  на

     следующую строку тех строк, которые превышают текущую

     длину строки. Если  указан  /WRAP,  нельзя  указывать

     /TRUNCATE.

/WIDTH=N

     - указывает физическую ширину печати в  колонках  или

     позициях символов. Любые строки, превышающие это зна-

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

     тановлен /WRAP; или усечены, если  указан  /TRUNCATE.


                          - 159 -

                     00152-01 97 14-1


     Параметр N должен быть положительным целым большим  0

     и не превыщающим 65535. Значение N по умолчанию  132.



     4.14.4. Назначение ключа



     Команда DEFINE/KEY назначает эквивалентную  строку  и

устанавливает атрибуты ключа на терминальной клавиатуре.

     Формат

/DEFINE/KEY имя_ключа строка_эквив

где имя_ключа указывает имя определяемого ключа. Ключ  со-

ответствует определенной клавише на терминальной клавиату-

ре;

    строка_эквив указывает строку, которая будет обрабаты-

ваться при нажатии ключа (клавиши).

     Командные квалификаторы.

/ECHO

/NOECHO

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

     строка эквивалентности после нажатия ключа. Умолчани-

     ем является /ECHO. Квалификатор  /NOECHO  нельзя  ис-

     пользовать вместе с /NOTERMINATE.

/ERASE

/NOERASE

     - определяет, будет ли  стираться  с  экрана  текущая

     строка,  перед  распечаткой  строки  эквивалентности.

     Умолчание: /NOERASE.

/IF_STATE=(имя_состояния,...)

/NOIF_STATE

     - указывает список из одного или  нескольких  состоя-

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


                          - 160 -

                     00152-01 97 14-1


     ли  квалификатор  /IF_STATE  опущен  или  указывается

     /NOIF_STATE, то используется текущее  состояние.  Имя

     состояния - строка алфавитно-цифровых символов.  Сос-

     тояния устанавливаются  по  квалификатору  /SET_STATE

     или команде SET KEY.

/LOCK_STATE

/NOLOCK_STATE

     - указывает, что состояние, установленное по квалифи-

     катору /SET_STATE действует до явного изменения. Если

     используется /NOLOCK_STATE,  состояние  установленное

     по /SET_STATE действует только на  определяемый  ключ

     (клавишу) при нажатии его, или  на  последующий  ввод

     завершающего символа. Умолчание: NOLOCK_STATE. Квали-

     фикатор /LOCK_STATE может указываться только вместе с

     /SET_STATE.

/LOG

/NOLOG

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

     что назначение ключа прошло успешно. Умолчание: /LOG.

/SET_STATE=имя_состояния

/NOSET_STATE

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

     новлено указанное  состояние.  Имя  состояния  должно

     быть строкой алфавитно-цифровых символов. Если квали-

     фикатор  /SET_STATE  не   указан   или   используется

     /NOSET_STATE, блокировка текущего состояния остается.

     Для изменения текущего состояния  можно  использовать

     также команду SET KEY.




                          - 161 -

                     00152-01 97 14-1


/TERMINATE

/NOTERMINATE

     - указывает, будет  ли  завершаться  (т.е.  обрабаты-

     ваться) строка эквивалентности, после нажатия  ключа.

     умолчание - квалификатор /NOTERMINATE, который позво-

     ляет нажать другие ключи (клавиши)  перед  обработкой

     строки эквивалентности. Нажатие <CR> действует как  и

     квалификатор /TERMINATE.

     Пример.

> DEFINE/KEY PF3 "SHOW TIME" /TERMINATE

%MCR_I_DEFKEY, DEFAULT KEY PF3 HAS BEEN DEFINED

> SHOW TIME

15_DEC 1986 14:43:39

     Команда DEFINE/KEY назначает ключ  (клавишу)  PF3  на

клавиатуре для выполнения команды SHOW TIME.

     Подробное описание команды DEFINE содержиться в [2].



     4.15. Команда DELETE



     Команда DELETE выполняет следующие функции:

     1) удаляет один или несколько файлов с дискового  то-

ма;

     2) удаляет назначения характеристик очереди, установ-

ленные по команде DEFINE/CHARACTERISTIC;

     3)  удаляет  элементы  из   очереди   к   печатающему

устройству    или    из    очереди    пакетного    задания

(DELETE/ENTRY);

     4) удаляет назначение формы, установленное по команде

DEFINE/FORM;

     5) удаляет назначение ключа, установленное по команде


                          - 162 -

                     00152-01 97 14-1


DEFINE/KEY;

     6) удаляет указанную очередь к печатающему устройству

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

в очереди;

     7) удаляет определение символа из локальной или  гло-

бальной таблицы символов.



     4.15.1. Команда удалить файл



     Команда DELETE удаляет один или  несколько  файлов  с

дискового тома.

     Формат

DELETE спец_файла[,...]

где спец_файла[,...] - имена  одного или  нескольких  фай-

лов, которые должны быть удалены с дискового тома.  Первая

спецификация файла должна содержать явную спецификацию ка-

талога или умолчание, плюс имя файла, тип  файла  и  номер

версии; последующие спецификации файлов  должны  содержать

номер версии. В любом из полей спецификации  файлов  можно

использовать символ обобщения. Можно опустить спецификацию

каталога или имя устройства, в этом случае  предполагается

текущее умолчание устройства и каталога. Если после  точки

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

версии спецификации файла стоит номер версии 0,  или  один

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

последняя версия файла. При  удалении  нескольких  файлов,

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

плюс.




                          - 163 -

                     00152-01 97 14-1


     Командные квалификаторы

/BACKUP

     - выбирает файлы для удаления по самой последней дате

     сохранения. Этот квалификатор  имеет  смысл  при  ис-

     пользовании с квалификаторами /BEFORE или /SINCE. Ис-

     пользование  квалификатора  /BACKUP  несовместимо   с

     /CREATED и /MODIFIED. Умолчанием является  квалифика-

     тор /CREATED.

/BEFORE[=время]

     - выбирает один или несколько файлов, которые датиро-

     ваны до указанного времени. Можно указывать либо  аб-

     солютное  время,  либо   комбинацию   абсолютного   и

     дельта-времени.  Можно  также  использовать  ключевые

     слова TODAY, TOMORROW и YESTERDAY. Если время не ука-

     зано, предполагается TODAY.

/BY_OWNER[=UIC]

     - выбирает один или несколько файлов, если  UIC  вла-

     дельца соответствует указанному UIC  владельца.  Если

     квалификатор /BY_OWNER указывается без UIC, предпола-

     гается UIC текущего процесса.

/CONFIRM

/NOCONFIRM

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

     удаление перед удалением каждого файла. Когда система

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

     тов:

     1) YES, TRUE, 1 (утвердительные ответы);

     2) NO, FALSE, 0, <RET> (отрицательные ответы);

     3) QUIT, <CTRL/Z> (останавливает удаление)

     4) ALL (удаление продолжается, но далее подсказка  не


                          - 164 -

                     00152-01 97 14-1


     выдается).

     В ответах можно использовать комбинацию больших и ма-

     лых букв, слово ответа может быть сокращено до  одной

     или более букв (например, T, TR или TRU для TRUE).

/CREATED

     - выбирает файлы по их датам создания. Этот  квалифи-

     катор используется только  вместе  с  квалификаторами

     /BEFORE или /SINCE. Квалификатор /CREATED нельзя  ис-

     пользовать с /BACKUP, EXPIRED и /MODIFIED. Умолчание:

     /CREATED.

/ERASE

/NOERASE

     - по квалификатору /ERASE  пространство, занятое уда-

     ляемым файлом, перезаписывается  системным  шаблоном,

     так что данные файла больше не существуют.  Если  ис-

     пользуется /NOERASE,  пространство,  которое  занимал

     файл, просто возвращается в систему  для  дальнейшего

     использования; данные, хранящиеся в файле, сохраняют-

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

/EXCLUDE=(спец_файла[,...])

     - по квалификатору /EXCLUDE любые файлы, спецификации

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

     ния. В спецификациях файлов  допустимо  использование

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

     жать спецификацию каталога. Включение в  спецификацию

     файла имени устройства недопустимо.

/EXPIRED

     - по квалификатору /EXPIRED выбираются файлы для уда-

     ления в соответствии с датой истечения хранения. Этот

     квалификатор используется только вместе с /BEFORE или


                          - 165 -

                     00152-01 97 14-1


     /SINCE. Нельзя использовать квалификатор  /EXPIRED  с

     /BACKUP, /CREATED и /MODIFIED. Умолчание: /CREATED.

/LOG

/NOLOG

     - указывает, будет  ли  распечатываться  спецификация

     каждого файла после его удаления. По умолчанию коман-

     да DELETE не распечатывает имена удаленных файлов.

/MODIFIED

     - по квалификатору /MODIFIED файлы для удаления выби-

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

     ции. Этот квалификатор используется только  вместе  с

     /BEFORE или /SINCE. Нельзя использовать  квалификатор

     /MODIFIED с /BACKUP, /CREATED и /EXPIRED.  Умолчание:

     /CREATED.

/SINCE=[время]

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

     ле указанного времени. Можно указать либо  абсолютное

     время, либо комбинацию абсолютного и  дельта-времени.

     Можно  также  использовать  ключевые   слова   TODAY,

     TOMORROW и YESTERDAY. Если время не указано,  предпо-

     лагается TODAY.

     Примеры:

1. > DELETE *.OLD;*

     Команда DELETE удаляет все версии файлов, имеющих тип

файла OLD с диска и каталога по умолчанию.

2. > DELETE/CONFIRM/SINCE=TODAY [MALCOLM.TESTFILES]*.OBJ;*

   DISK0:[MALCOLM.TESTFILES]AVERAG.OBJ:1, DELETE? [N]:Y

   DISK0:[MALCOLM.TESTFILES]SCANLINE.OBJ:4, DELETE? [N]:N

   DISK0:[MALCOLM.TESTFILES]SCANLINE.OBJ:3, DELETE? [N]:N

     Команда DELETE проверяет все версии  файлов  с  типом


                          - 166 -

                     00152-01 97 14-1


файла  OBJ в подкаталоге [MALCOLM.TESTFILES] и  определяет

какие из  них  были  созданы  или  модифицированы  сегодня

(TODAY).  Перед  удалением  каждого  файла,  запрашивается

подтверждение, что файл должен быть удален. Ответ по умол-

чанию дается в квадратных скобках.



     4.15.2. Команда удаления характеристик очереди



     Команда DELETE/CHARACTERISTIC удаляет назначения  ха-

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

лены по команде DEFINE/CHARACTERISTIC.

     Формат

DELETE/CHARACTERISTIC имя_харкт

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

команде DEFINE/CHARACTERISTIC.



     4.15.3. Команда удаления элементов из очереди



     Команда DELETE/ENTRY удаляет один или несколько  эле-

ментов задания из очереди.

     Формат

DELETE/ENTRY=(номер_элем[,...]) имя_очереди[:]

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

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

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

    Имя_очереди - указывает имя очереди, в  которой  нахо-

дятся задания. Имя очереди может указывать  либо  на  оче-

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

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




                          - 167 -

                     00152-01 97 14-1


     Пример.

> PRINT/HOLD ALPHA.TXT

JOB ALPHA (QUEUE SYS$PRINT, ENTRY 110) HOLDING

  .

  .

  .

> DELETE/ENTRY=110 SYS$PRINT

     Команда PRINT ставит в очередь копию файла  ALPHA.TXT

в состоянии HOLD,  чтобы  отложить  его  печать  до  более

позднего времени. Система распечатывает имя задания, номер

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

состояние. Позднее, команда DELETE/ENTRY запрашивает  уда-

ление элемента из очереди SYS$PRINT.



     4.15.4. Команда удаления назначения формы



     Команда DELETE/FORM удаляет назначение типа формы для

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

было предварительно установлено по команде DEFINE/FORM.

     Формат

DELETE/FORM имя_формы

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

ме по команде DEFINE/FORM.



     4.15.5. Команда удаления назначения ключа



     Команда DELETE/KEY удаляет назначение ключа,  которое

было установлено по команде DEFINE/KEY.

     Формат

DELETE/KEY [имя_ключа]


                          - 168 -

                     00152-01 97 14-1


где имя_ключа - указывает имя ключа (клавиши),  назначение

которого нужно удалить.

     Командные квалификаторы

/ALL

     - указывает, что все  назначения  ключа  в  указанном

     состоянии должны быть удалены. Если используется ква-

     лификатор /ALL, имя ключа указывать не нужно. Если не

     указано состояние, то удаляются все назначения  ключа

     в текущем состоянии. Для указания состояний использу-

     ется квалификатор /STATE.

/LOG

/NOLOG

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

     ного назначения ключа. Умолчание: /LOG.

/STATE=(имя_состояния[,...])

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

     удалены указанные назначения ключа.  Имена  состояний

     могут быть любыми соответствующими алфавитно-цифровы-

     ми строками. Если указывается только одно  состояние,

     круглые скобки можно опустить. Если опущен квалифика-

     тор /STATE или используется  /NOSTATE,  то  удаляются

     назначения ключа для текущего состояния.

     Примеры:

1. > DEFINE/KEY PF3 "SHOW TIME" /TERMINATE

   %MCR_I_DEFKEY, DEFAULT KEY PF3 HAS BEEN DEFINED

   (<PF3>)

   > SHOW TIME

   15_APR_1987  14:43:59

      .

      .


                          - 169 -

                     00152-01 97 14-1


      .

   > DELETE/KEY PF3

   %DEL_I_DELKEY, DEFAULT KEY PF3 HAS BEEN DELETED

   (<PF3>)

   >

     Команда DEFINE/KEY назначает ключу (клавише) на  кла-

виатуре выполнение команды SHOW TIME. Позднее, по  команде

DELETE/KEY назначение ключа PF3 удаляется. Теперь, при на-

жатии  этого  ключа,  будет  выводится  только   системная

подсказка.

2. > DELETE/KEY/ALL

   %MCR_I_DELKEY, DEFAULT KEY PF1 HAS BEEN DELETED

   %MCR_I_DELKEY, DEFAULT KEY PF2 HAS BEEN DELETED

   %MCR_I_DELKEY, DEFAULT KEY PF3 HAS BEEN DELETED

   %MCR_I_DELKEY, DEFAULT KEY PF4 HAS BEEN DELETED

   >

     Этот пример предполагает, что ключи  от  PF1  до  PF4

назначены для состояния по умолчанию.  Команда  DELETE/KEY

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

торое является состоянием умолчания.



     4.15.6. Команда удаления очереди



     Команда DELETE/QUEUE удаляет указанную очередь.  Ква-

лификатор /QUEUE требуется синтаксисом.

     Формат

DELETE/QUEUE имя_очереди[:]

где имя_очереди - указывает имя удаляемой очереди.

     Пример.

     > INITIALIZE/QUEUE/DEFAULT=FLAG/START LPA0


                          - 170 -

                     00152-01 97 14-1


   > STOP/QUEUE/NEXT LPA0

   > DELETE/QUEUE LPA0

     Первая команда инициирует и стартует очередь к  печа-

тающему устройству LPA0.  Далее,  команда  STOP/QUEUE/NEXT

переводит очередь в состояние STOP. И команда DELETE/QUEUE

удаляет очередь.



     4.15.7. Команда удаления назначения символа



     Команда DELETE/SYMBOL удаляет назначение  символа  из

локальной или глобальной таблицы символов, или удаляет все

назначения  символа  в  таблице   символов.   Квалификатор

/SYMBOL требуется синкатсисом.

     Формат

DELETE/SYMBOL [имя_символа]

где имя_символа - указывает имя  удаляемого  символа.  Имя

символа может иметь длину от 1 до 255 символов. По умолча-

нию команда DELETE/SYMBOL предполагает, что символ для те-

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

символов. Параметр имя_символа необходим, если  не  указан

квалификатор /ALL.

     Командные квалификаторы

/ALL

     - указывает, что все имена символов в указанной  таб-

     лице символов должны быть удалены.  Если  не  указаны

     /LOCAL или /GLOBAL, то удаляются все символы, опреде-

     ленные на текущем командном уровне.

/GLOBAL

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

     глобальной таблицы символов текущего процесса.


                          - 171 -

                     00152-01 97 14-1


/LOCAL

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

     локальной таблицы символов текущего командного  уров-

     ня. Умолчание: /LOCAL.

/LOG

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

     тываться информационное сообщение. По  умолчанию  ин-

     формационное сообщение не распечатывается.

     Примеры:

1. > DELETE/SYMBOL /ALL

     Команда DELETE/SYMBOL удаляет все назначения символов

на текущем командном уровне.

2. > DELETE/SYMBOL/LOG FOO

   %MCR_I_DELSYM, LOCAL SYMBOL FOO HAS BEEN DELETED

     Команда DELETE/SYMBOL удаляет символ FOO из локальной

таблицы символов текущего процесса. Кроме того, квалифика-

тор /LOG вызывает печать информационного сообщения об уда-

лении символа.

3. > DELETE/SYMBOL/GLOBAL POEL

     Команда DELETE/SYMBOL  удаляет  символ  POEL из  гло-

бальной таблицы символов текущего процесса.



     4.16. Команда DEPOSIT



     Команда DEPOSIT заменяет содержимое указанной  ячейки

или ячеек виртуальной памяти.

     Команда DEPOSIT вместе с  командой  EXAMINE  являются

средствами интерактивной отладки программ. Команда DEPOSIT

подобна команде DEPOSIT символического отладчика МОС ВП.




                          - 172 -

                     00152-01 97 14-1


     Формат

DEPOSIT адрес=данные[,...]

     Параметры

адрес

     - указывает начальный виртуальный  адрес  ячейки  или

     ряда ячеек, содержимое которых должно быть  изменено.

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

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

     процессе. Кроме того,  для  доступа  к  ячейке  нужно

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

     чтения (R) и записи (W). Можно  задавать  адрес,  ис-

     пользуя целочисленное выражение. Выражение может сос-

     тоять из целого  числа,  имени  символа,  лексической

     функции или из комбинации этих  компонентов.  Команды

     DEPOSIT и EXAMINE сохраняют указатель текущего адреса

     памяти. Команда DEPOSIT устанавливает этот  указатель

     на байт, следующий за последним модифицированным бай-

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

     командах EXAMINE и DEPOSIT, используя символ ".". Ес-

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

     указатель не изменяется. Команда EXAMINE не  изменяет

     значение указателя.

данные[,...]

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

     указанные ячейки. Если указывается ряд ячеек, они от-

     деляются запятыми; команда DEPOSIT помещает данные  в

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

     По умолчанию предполагается, что данные в  шестнадца-

     теричном формате команда DEPOSIT преобразует в данные

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


                          - 173 -

                     00152-01 97 14-1


     занным адресам. Если  помещаются  данные  не  в  сим-

     вольном коде, можно указывать каждый  компонент  дан-

     ных, используя целочисленное выражение. Если  помеща-

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

     компонент данных. Все символы  справа  от  знака  ра-

     венства должны составлять одну строку. Символы преоб-

     разуются в большие буквы и все пробелы удаляются.

     Командные квалификаторы

/ASCII

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

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

     команда DEPOSIT преобразует данные в их двоичный  эк-

     вивалент. Когда указаны данные в кои-8, интерпретатор

     команд сжимает ряд пробелов к одному пробелу и  заме-

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

     данные в память. Для того, чтобы поместить символьную

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

     пробелов или малых букв, нужно заключить ее в  кавыч-

     ки. Если указан квалификатор /ASCII  или  если  режим

     КОИ-8 является умолчанием, предполагается, что указы-

     ваемый адрес является шестнадцатеричным.

/BYTE

     - указывает, что  данные должны помещаться  по одному

     байту.

/DECIMAL

     - задает, что указанные данные являются  десятичными;

     команда DEPOSIT преобразует данные в их двоичный  эк-

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

     память.


                          - 174 -

                     00152-01 97 14-1


/HEXADECIMAL

     - задает, что указанные данные являются  шестнадцате-

     ричными. Команда DEPOSIT преобразует данные в их дво-

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

     альную память.

/LONGWORD

     - указывает, что данные должны помещаться  по  одному

     длинному слову.

/OCTAL

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

     ми. Команда DEPOSIT преобразует данные в их  двоичный

     эквивалент перед тем, как поместить их в  виртуальную

     память.

/WORD

     - указывает, что данные должны помещаться  по  одному

     слову.

     Примеры:

1. > RUN MYPROG

      .

      .

      .

    ^Y

   > EXAMINE 2780

   00002780: 1C50B344

   > DEPOSIT .=0

    00002780: 00000000

   > CONTINUE

     По команде RUN начинает выполняться образ MYPROG.EXE,

далее CTRL/Y прерывает выполнение программы. Предполагает-

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


                          - 175 -

                     00152-01 97 14-1


/LONGWORD; команда DEPOSIT помещает длинное слово нулей  в

виртуальную  память  по  адресу  2780.  Поскольку  команда

EXAMINE устанавливает указатель на текущий  адрес  памяти,

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

можно обратиться к этому адресу по "." в команде  DEPOSIT.

Команда  CONTINUE  возобновляет  выполнение   образа.

2. > DEPOSIT /ASCII 2C00=FILE:NAME:TYPE:

   00002C00: FILE:NAME:TYPE:...

     Команда  DEPOSIT  помещает   символьные   данные   по

шестнадцатеричному адресу 2C00 и распечатывает  содержимое

ячейки после ее модификации. Так  как  текущей  длиной  по

умолчанию является длинное слово, то команда DEPOSIT  рас-

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

готочие указывает, что оставшееся последнее длинное  слово

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

командой DEPOSIT.



     4.17. Команда DIFFERENCES



     Команда DIFFERENCES сравнивает содержимое двух диско-

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

совпали.

     Формат

DIFFERENCES спец-файла1 [спец-файла2]

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

который должен  сравниваться.  Спецификация  файла  должна

включать имя файла и тип файла. В спецификации файла недо-

пустимо использование символов обобщения;

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

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


                          - 176 -

                     00152-01 97 14-1


спецификации второго  файла, используются  соответствующие

значения первого вводного файла. Если второй вводной  файл

не указан, команда DIFFERENCES  использует  для  сравнения

предыдущую версию первого вводного файла.  В  спецификации

файла недопустимо использование символов обобщения.

     Командные квалификаторы

/COMMENT_DELIMITER[=ограничитель[,...])]

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

     рия. Этот квалификатор может использоваться совместно

     или без квалификатора /IGNORE=COMMENTS, для указания,

     какой комментарий должен игнорироваться. Ограничитель

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

     бо используя одно из следующих ключевых слов:

     1) COLON - символ (:);

     2) COMMA - символ (,);

     3) EXCLAMATION - символ (!);

     4) FORM-FEED - символ перевод формата <FF>;

     5) LEFT - символ ([);

     6) RIGHT - символ (]);

     7) SEMI_COLON - символ (;);

     8) SLASH - символ (/);

     9) SPACE - символ пробел;

     10) TAB - символ горизонтальной табуляции <HT>.

     Можно указывать до 32 символов комментария. Если ука-

     зывается ключевое слово, то в командной строке  нужно

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

     вого слова, так как одна буква трактуется как ограни-

     читель. Если буквы не заключены в кавычки, они  авто-

     матически преобразуются из малых в  большие.  Если  в

     качестве ограничителя используется оба  типа  букв  и


                          - 177 -

                     00152-01 97 14-1


     большие, и малые, то буквы  нужно  указывать  дважды,

     одну большую и одну малую. Символы отличные от  алфа-

     витно-цифровых, должны заключаться в  кавычки  напри-

     мер, "!" и ",". Если в /COMMENT_DELIMITER  не  заданы

     ни символ комментария,  ни  ключевое  слово,  команда

     DIFFERENCES предполагает умолчание символа  коммента-

     рия, основываясь на типе файла. Для  некоторых  типов

     файлов (COB и FOR),  умолчание  символов  комментария

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

     ничители появляются в первой колонке  строки.  Много-

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

/IGNORE=(выбор[,...])

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

     или записей должны игнорироваться при сравнении. Ква-

     лификатор /IGNORE управляет также, как будут выводит-

     ся в файл листинга сравниваемые  записи:  в  точности

     так, как они появляются в вводном файле, или как  от-

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

     лификатора /IGNORE являются:

     1) BLANK_LINES - пустые строки между строками данных;

     2) COMMENTS - данные, которые следуют за  ограничите-

     лем комментария (квалификатор /COMMENT_DELIMITER мож-

     но использовать для обозначения одного или нескольких

     ограничителей комментария, отличных от умолчания);

     3) FORM_FEEDS - символы перевода формата <FF>;

     4) HEADER[=N] - первые N записей, начинающиеся с  за-

     писи, первый символ которой <FF>.  Первая  запись  не

     игнорируется,  если  единственным  символом  является

     <FF>. Значение N по умолчанию - 2;

     5) TRAILING_SPACES - символы пробелов и  табуляций  в


                          - 178 -

                     00152-01 97 14-1


     Конце строки данных;

     6) SPACING - множество пробелов или табуляций  внутри

     строки данных (каждый ряд  последовательных  пробелов

     или  табуляций  замещается  одним  пробелом).  Каждая

     строка данных проверяется  на  COMMENTS,  FORM_FEEDS,

     HEADER и SPACES до того, как она будет  проверена  на

     TRAILING_SPACES и BLANK_LINES. Поэтому, если указано,

     что команда DIFFERENCES должна игнорировать коммента-

     рии, концевые пробелы и пустые строки, то  она  будет

     полностью игнорировать запись, которая содержит  нес-

     колько пробелов или пустых строк, следующих  за  ком-

     ментарием. По умолчанию команда DIFFERENCES сравнива-

     ет каждый символ в файле и сообщает обо всех различи-

     ях. Также, по умолчанию, DIFFERENCES формирует в фай-

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

     мых символов. Хотя выводимые записи  могут  содержать

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

     можно выбрать  возможность  форматирования  выводимых

     записей, используя соответствия приведенные на рис. 2

         Символ                   Сформатированный вывод

      TAB (CTRL/I)                      1-8 пробелов

      RET (CTRL/M)                     <CR>

      LINE FEED (CTRL/J)               <LF>

      VERTICAL TAB (CTRL/K)            <VT>

      FORM FEED (CTRL/H)               <FF>

      другие специальные символы       . (точка)

                        Рис. 2

     Если указан  квалификатор  /PARALLEL,  форматирование

     вывода выполняется всегда.  В  квалификаторе  /IGNORE

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


                          - 179 -

                     00152-01 97 14-1


     ключевых слов:

     1) EDITING - из выводимых записей удалены  игнорируе-

     мые строки;

     2) EXACT - выводимые записи  полностью  соответствуют

     записям во вводном файле;

     3) PRETTY - выводимые записи форматируются.

/MATCH=размер

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

     чает совпадение. По умолчанию, после того как команда

     DIFFERENCES найдет несовпавшие записи, она  предпола-

     гает, что файлы снова совпадают, после того как  най-

     дет три совпавших последовательных записи. Квалифика-

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

     падения, равного  3.  Значение  квалификатора  /MATCH

     можно  увеличить,  если  пользователь  считает,   что

     DIFFERENCES некорректно сравнивает секции  первого  и

     второго вводных файлов, после обнаружения  несовпаде-

     ний.

/MAXIMUM_DIFFERENCES=N

     - указывает, что команда DIFFERENCES завершится, пос-

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

     сей. Число несовпадающих записей определяется при об-

     наружении максимального числа  несовпадающих  записей

     для каждой несовпадающей секции и  суммирования  этих

     чисел. Если DIFFERENCES достигает максимального числа

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

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

     ния максимума. Кроме  того,  команда  будет  выводить

     листинг одного формата и даст предупреждающее сообще-

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


                          - 180 -

                     00152-01 97 14-1


     Сравниваются все записи в указанных вводных файлах.

/MERGED[=N]

     - указывает, что выводной файл должен содержать об'е-

     диненный список несовпадений. Значение N задает число

     совпадающих  записей  для  распечатки  после  каждого

     списка несовпадающих записей; N должно быть  десятич-

     ным числом меньшим или равным размеру MATCH. По умол-

     чанию команда DIFFERENCES создает  об'единенный  лис-

     тинг с распечаткой одной совпавшей записи после  каж-

     дого набора несовпадающих записей (т. е.  /MERGED=1).

     можно использовать квалификатор /MERGED, чтобы перек-

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

     ненный листинг в другие типы вывода.

/MODE=(основание[,...])

     - указывает формат выводного листинга.  Можно  запро-

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

     колькими видами оснований, указанными следующими клю-

     чевыми  словами:

     1) ASCII (символьный кои-8);

     2) HEXADECIMAL (шестнадцатеричный);

     3) OCTAL (восьмеричный).

     Можно усечь любое из этих слов до  одного  или  более

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

     выводной файл в КОИ-8. Если указано более,  чем  одно

     основание,  выводной  листинг  будет  содержать  файл

     сравнения с каждым указанным основанием. Если указаны

     квалификаторы /PARALLEL или /SLP, квалификатор  /MODE

     игнорируется  для  листинга   этой   формы.


                          - 181 -

                     00152-01 97 14-1


/NUMBER

/NONUMBER

     - управляет, будут ли формироваться в листинге номера

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

     ются в листинг.

/OUTPUT[=спец_файла]

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

     выводимый  список  несовпадений.  Если   квалификатор

     /OUTPUT  опущен,  вывод   записывается   на   текущее

     устройство SYS$OUTPUT. Если квалификатор /OUTPUT  ис-

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

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

     но с типом файла DIF [2]. В спецификации файла  недо-

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

/PARALLEL[=N]

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

     раллельный список несовпадений. Значение N  указывает

     число совпадающих записей для  вывода  после  каждого

     списка несовпадающих записей и должно быть десятичным

     числом меньшим или равным размеру MATCH. По умолчанию

     DIFFERENCES не  распечатывает  записи  после  каждого

     списка  несовпадающих  записей.  Также  по  умолчанию

     DIFFERENCES создает только об'единенный список разли-

     чий.

/SEPARATED=(спец_вв_файла[,...])

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

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

     ных вводных файлов. Можно обозначить  нужные  вводные

     файлы с помощью следующих ключевых слов:

     1) MASTER (первый вводной файл);


                          - 182 -

                     00152-01 97 14-1


     2) REVISION (второй вводной файл).

     Если указан квалификатор /SEPARATED  без  обозначения

     вводных файлов, DIFFERENCES будет создавать отдельные

     листинги для каждого  вводного  файла.  По  умолчанию

     DIFFERENCES создает только об'единенный список несов-

     падений.

/SLP

     - запрашивает, чтобы команда DIFFERENCES создала  вы-

     водной файл, пригодный для ввода в редактор SLP. Если

     используется квалификатор /SLP, нельзя указывать  для

     выводного  файла  квалификаторы  /MERGED,  /PARALLEL,

     /SEPARATED или /CHANGE_BAR. Квалификатор  /SLP  можно

     использовать для создания  выводного  файла,  который

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

     первого вводного файла,  т.е.  чтобы  сделать  первый

     вводной файл соответствующим второму вводному  файлу.

     Если указан /SLP и  не  указан  /OUTPUT,  DIFFERENCES

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

     вводной файл, но с типом DIF.

/WIDTH=N

     - указывает ширину  строк  в  выводном  листинге.  По

     умолчанию, ширина вывода - 132 символа, если вывод не

     направляется на терминал. В этом случае, ширина стро-

     ки вывода определяется шириной строки терминала.  Для

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

     да DCL SET TERMINAL.

/WINDOW=размер

     - управляет числом записей для поиска  до  распечатки

     записи как несовпадающей  и  продолжением  поиска  со

     следующей записи в первом вводном файле. Размер  окна


                          - 183 -

                     00152-01 97 14-1


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

     который будет заставлять DIFFERENCES нарушать синхро-

     низацию между двумя вводными  файлами.  По  умолчанию

     DIFFERENCES выполняет поиск до  конца  обоих  вводных

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

     позиционные квалификаторы

/CHANGE_BAR[=(формат[,...])]

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

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

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

     слов:

     1) C (символ внимания);

     2) NUMBER (включает номера строк);

     3) NONUMBER (не включает номера строк);

     В режиме вывода кои-8 параметр символа внимания  ука-

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

     левого края несовпавшей записи. По  умолчанию  в  ка-

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

     знак. В шестнадцатеричном и восьмеричном режимах  вы-

     вода символ внимания игнорируется. Вместо него  появ-

     ляется строка "*** CHANGE ***"  в  заголовке  записи.

     При распечатке вместе с символом внимания можно вклю-

     чать печать    номеров  строк  с  помощью  ключевого

     слова /NUMBER. По умолчанию  используется  /NONUMBER.

     Пример.

> DIFFERENCES EXAMPLE.TXT

************

FILE DISK1:[GEORGE.TEXT]EXAMPLE.TXT;2

     1 DEMONSTRATION

     2 OF V3.0 DIFFERENCES


                          - 184 -

                     00152-01 97 14-1


     3 UTILITY

******

FILE DISK1:[GEORGE.TEXT]EXAMPLE.TXT;1

     1 DEMONSTRATION

     2 OF VOS DIFFERENCES

     3 UTILITY

************

NUMBER OF DIFFERENCES SECTIONS FOUND: 1

NUMBER OF DIFFERENCES RECORDS FOUND: 2

DIFFERENCES/MERGED=1-

     DISK1:[GEORGE.TEXT]EXAMPLE.TXT;2

     DISK1:[GEORGE.TEXT]EXAMPLE.TXT;1

     Команда DIFFERENCES сравнивает содержимое двух  самых

последних версий файла EXAMPLE.TXT в текущем  каталоге  по

умолчанию. DIFFERENCES сравнивает каждый символ  в  каждой

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



     4.18. Команда DIRECTORY



     Команда DIRECTORY распечатывает список файлов или ин-

формацию о файле или группе файлов.

     Формат

DIRECTORY [спец_файла[,...]]

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

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

    Синтаксис   спецификации файла определяет,  как  будут

распечатываться файлы:

     1)  если  спецификация  файла  не  введена,   команда

DIRECTORY распечатывает все версии файлов в текущем  ката-

логе по умолчанию;


                          - 185 -

                     00152-01 97 14-1


     2) если указано только имя файла,  команда  DIRECTORY

использует спецификацию каталога по умолчанию;

     3) всякий раз, когда спецификация файла  не  включает

имени и типа файла, распечатываются все версии всех файлов

в указанном каталоге;

     4) если спецификация файла содержит имя  файла  и/или

тип файла, но не содержит версии файла, команда  DIRECTORY

распечатывает все версии файла;

     5) если спецификация файла содержит только имя файла,

команда DIRECTORY распечатывает все файлы с этим именем из

текущего каталога по умолчанию, независимо от типа файла и

номера версии;

     6) если спецификация файла содержит только тип файла,

команда DIRETORY распечатывает все файлы с этим  типом  из

текущего каталога по умолчанию, независимо от имени  файла

и номера версии. Если указано несколько файлов, специфика-

ции файлов должны отделяться запятыми или знаками (+). Ес-

ли в спецификации каталога, полях имени файла, типа  файла

или номера версии спецификации файла указаны символы обоб-

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

удовлетворяют указанным компонентам.

     Командные квалификаторы

/ACL

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

     ния доступом (ACL) для каждого  файла.  По  умолчанию

     DIRECTORY не распечатывает ACL для каждого файла. Ес-

     ли указаны два квалификатора /ACL и /COLUMNS,  квали-

     фикатор /COLUMNS игнорируется.

/BACKUP

     - выбирает файлы в соответствии с датами их последне-


                          - 186 -

                     00152-01 97 14-1


     го сохранения. Этот квалификатор используется  только

     совместно с /BEFORE или /SINCE.  Нельзя  использовать

     квалификатор /BACKUP вместе с  /CREATED,  /EXPIRED  и

     /MODIFIED. Умолчание: квалификатор /CREATED.

/BEFORE[=время]

     - выбирает только те  файлы,  которые  датированы  до

     указанного времени.  Можно  указать  либо  абсолютное

     время, либо комбинацию абсолютного и  дельта-времени.

     Можно  также  использовать  ключевые   слова   TODAY,

     TOMORROW и YESTERDAY. Если время не указано предпола-

     гается TODAY.

/BRIEF

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

     версии каждого файла. Формат  вывода  по  умолчанию:

     /BRIEF. В кратком формате  файлы  распечатываются  в

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

     порядке  уменьшения  версий.  Однако,   квалификатор

     /BRIEF перекрывается независимо от того указан ли он

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

     один из следующих  форматных  квалификаторов:  /ACL,

     /DATE,   /FILE_ID,   /FULL,   /NOHEADING,    /OWNER,

     /PROTECTION, /SECURITY или /SIZE.

/BY_OWNER[=UIC]

     - выбирает один или несколько  файлов  только  в  том

     случае, если  их код идентификации пользователя (UIC)

     владельца совпадает с указанным UIC. Если  квалифика-

     тор /BY_OWNER указан без UIC, предполагается UIC  те-

     кущего процесса.

/COLUMNS=N

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


                          - 187 -

                     00152-01 97 14-1


     лонок в каждой строке распечатки. По умолчанию  число

     колонок в кратком формате - 4. Однако,  можно  запро-

     сить нужное число колонок. Число колонок,  распечаты-

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

     формации, запрашиваемой для каждой колонки и значения

     квалификатора  /WIDTH.  Система  будет  распечатывать

     столько колонок, сколько может поместиться по  ширине

     умолчания или ширине, указанной в /WIDTH,  независимо

     от того,  сколько  колонок  указано  в  квалификаторе

     /COLUMNS. Команда  DIRECTORY  усекает  длинные  имена

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

     тельная информация, которая должна  быть  включена  в

     каждую колонку. Размер имени файла по умолчанию - 19;

     для  изменения  умолчания  используется  квалификатор

     /WIDTH. Когда имя файла усекается, система будет рас-

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

     имени файла, и будет вставлять вертикальную  черту  в

     последнюю  позицию.  Например,  если  имя   файла   -

     SHOW_QUEUE_CARACTERISTICS, и пользователь запросил  в

     распечатке каталога в каждой колонке и имя  файла,  и

     размер;     этот     файл     распечатается      так:

     SHOW_QUEUE_CHARACT! 120. Квалификатор /COLUMNS нельзя

     использовать с /ACL или /FULL.

/CREATED

     - выбирает  файлы в соответствии с их датой создания.

     Квалификатор /CREATED используется  только  вместе  с

     /BEFORE или /SINCE. Квалификатор /CREATED нельзя  ис-

     пользовать с /BACKUP, /EXPIRED и /MODIFIED.  Квалифи-

     катор /CREATED является умолчанием.


                          - 188 -

                     00152-01 97 14-1


/DATA[=выбор]

/NODATA

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

     модификации для каждого указанного файла. По  умолча-

     нию используется /NODATA. Если квалификатор /DATA ис-

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

     квалификаторе /DATA можно указать один  из  следующих

     выборов:

     1) ALL - распечатывает все четыре даты файла в следу-

     ющем порядке: CREATED, MODIFIED, EXPIRED, BACKUP;

     2) BACKUP - распечатывает дату последнего  сохранения

     для каждого файла;

     3) CREATED - распечатывает дату создания для  каждого

     файла;

     4) EXPIRED - распечатывает  дату  истечения  хранения

     каждого файла;

     5) MODIFIED - распечатывает последнюю дату  записи  в

     файл.

/EXCLUDE=(спец_файла[,...])

     - исключает из обработки командой DIRECTORY все пере-

     численные спецификации файлов. В спецификациях файлов

     допустимо использование символов обобщения.  Специфи-

     кация файла может  содержать  спецификацию  каталога.

     Однако, если используется  /EXCLUDE,  в  спецификацию

     файла нельзя включать устройство.

/EXPIRED

     - выбирает файлы в соответствии  с  датами  истечения

     хранения. Этот квалификатор используется только вмес-

     те с /BEFORE или /SINCE. Нельзя использовать квалифи-

     катор  /EXPIRED  вместе   с   /BACKUP,   /CREATED   и


                          - 189 -

                     00152-01 97 14-1


     /MODIFIED. Квалификатор /CREATED является умолчанием.

/FILE_ID

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

     файла. По умолчанию DIRECTORY не распечатывает  иден-

     тификатор файла, за исключением распечатки по  квали-

     фикатору /FULL.

/FULL

     - распечатывает следующие элементы для каждого файла:

     - имя файла;

     - тип файла;

     - номер версии;

     - число используемых блоков;

     - число распределенных блоков;

     - дата создания;

     - дата последнего сохранения;

     - дата последней модификации;

     - дата истечения хранения;

     - UIC владельца файла;

     - защита файла;

     - идентификационный номер файла;

     - организация файла;

     - другие атрибуты файла;

     - атрибут записи;

     - формат записи;

     - список управления доступом (ACL).

     квалификатор  /FULL  перекрывает  умолчание  краткого

     Формата распечатки.

/GRAND_TOTAL

     - подавляет распечатку общей информации о каталоге  и

     информации об отдельных файлах. DIRECTORY  распечаты-


                          - 190 -

                     00152-01 97 14-1


     вает только общую концевую строку для всех  файлов  и

     каталогов.

/HEADING

/NOHEADING

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

     ка, состоящие из описателя устройства и спецификации

     каталога. Формат  вывода  по  умолчанию  обеспечивает

     этот заголовок. Если указан /NOHEADING, вывод  выпол-

     няется в одноколоночном формате.  Кроме  того,  вывод

     содержит полную спецификацию каждого файла. Если ука-

     зан  квалификатор  /NOHEADING   и   в   квалификаторе

     /COLUMNS указано значение, отличное от нуля, задавае-

     мое число колонок игнорируется.

/MODIFIED

     - выбирает файлы в соответствии с датами их последней

     модификации.  Квалификатор   /MODIFIED   используется

     только вместе с /BEFORE или /SINCE. Нельзя  использо-

     вать квалификатор /MODIFIED  с  /BACKUP,  /CREATED  и

     /EXPIRED. /CREATED является умолчанием.

/OUTPUT[=спец_файла]

/NOOUTPUT

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

     Если квалификатор /OUTPUT не указан  или  указан  без

     спецификации файла, вывод направляется в выводной по-

     ток по умолчанию текущего процесса или на  устройство

     по   умолчанию,   определяемое   логическим    именем

     SYS$OUTPUT. Если в квалификаторе /OUTPUT спецификация

     файла указана частично, то умолчанием имени файла бу-

     дет DIRECTORY, а умолчанием типа файла будет LIS. Ес-

     ли спецификация файла задана, она не должна содержать


                          - 191 -

                     00152-01 97 14-1


     символов обобщения. Если указывается /NOOUTPUT, вывод

     подавляется.

/OWNER

/NOOWNER

     - указывает, будет ли распечатываться UIC  владельца.

     По умолчанию UIC владельца не распечатывается. Размер

     по умолчанию поля владельца - 20 символов.  Если  UIC

     владельца файла превышает длину поля  владельца,  ин-

     формация будет усекаться.  Размер  этого  поля  может

     быть изменен по /WIDTH=OWNER.

/PRINTER

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

     чатки под именем, указанным в квалификаторе  /OUTPUT.

     Если квалификатор /PRINTER задан без  /OUTPUT,  вывод

     направляется в файл по имени  DIRECTORY.LIS,  который

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

     затем удален.

/PROTECTION

/NOPROTECTION

     - управляет распечаткой защиты каждого файла. Умолча-

     нием является /NOPROTECTION.

/SECURITY

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

     файлу. Действие квалификатора /SECURITY такое же, как

     действие  трех   квалификаторов:   /ACL,   /OWNER   и

     /PROTECTION вместе.

/SELECT=(ключевое_слово[,...])

     - позволяет выбирать файлы по  ключевым  словам:

     1) /SELECT=SIZE=MAXIMUM=N  выбирает  файлы,   которые

     имеют меньшие размеры блоков, чем указанный параметр;


                          - 192 -

                     00152-01 97 14-1


     2)  /SELECT=SIZE=MINIMUM=N  выбирает  файлы,  которые

     имеют большие размеры блоков, чем указанный параметр;

     3) /SELECT=SIZE=(MAXIMUM=N, MINIMUM=N) выбирает  фай-

     лы, размеры блоков которых, попадают в диапазон, ука-

     занный двумя параметрами.

/SINCE[=время]

     - выбирает только те файлы, которые датированы  после

     указанного времени. Можно указывать  либо  абсолютное

     время, либо комбинацию абсолютного и  дельта-времени.

     Можно  также  использовать  ключевые   слова   TODAY,

     TOMORROW и YESTERDAY. Умолчание: TODAY.

/SIZE[=выбор]

/NOSIZE

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

     каждого распечатываемого файла, в соответствии с ука-

     занным выбором. Если этот квалификатор опущен,  умол-

     чанием  является  /NOSIZE. Однако, если  /SIZE указан

     без  выбора, в листинге распечатывается число занятых

     блоков. Выборы могут быть следующими:

     1) ALL (распечатывает  число занятых и распределенных

     блоков файла);

     2) ALLOCATION   (распечатывает  число  распределенных

     блоков);

     3) USED (распечатывает число занятых блоков).

     Размер этого поля может быть изменен посредством ука-

     зания размера значения в квалификаторе /WIDTH.

/TOTAL

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

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

     марная  информация),  как  указано  в   квалификаторе


                          - 193 -

                     00152-01 97 14-1


     /TRAILING. По умолчанию  выводным  форматом  является

     /BRIEF, в котором выводится суммарная информация,  но

     также распечатываются и все имена файлов, типы файлов

     и номера их версий.

/TRAILING

/NOTRAILING

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

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

     1) число распечатываемых файлов;

     2) общее число блоков, используемых (занятых) в ката-

     логе;

     3) общее число распределенных блоков;

     4) общее число каталогов и общее число блоков занятых

     и/или распределенных во всех каталогах (только,  если

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

     По умолчанию выводной формат включает  большую  часть

     этой  суммарной  информации.  Квалификаторы  /FULL  и

     /SIZE определяют более точно, какая суммарная  инфор-

     мация будет включена. Если  квалификаторы  /SIZE  или

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

     и, возможно, общее число каталогов,  если  допустимо.

     Если задан квалификатор /SIZE, распечатывается  также

     число блоков, в соответствии с указанным в нем  выбо-

     ром. Если указан квалификатор /FULL,  распечатывается

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

     блоков.

/VERSIONS=N

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

     версий выбранных файлов. По умолчанию распечатываются

     все версии каждого файла. Значение N меньше 1 недопу-


                          - 194 -

                     00152-01 97 14-1


     стимо.

/WIDTH=(ключ_слово[,...])

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

     четырех элементов: ширины поля имени файла, общей ши-

     рины распечатки, ширины поля владельца,  ширины  поля

     размера файла. Ключевыми словами являются:

     1) DISPLAY=N - определяет общую ширину распечатки ка-

     талога. Значение N может находиться в диапазоне от  1

     до  255.  Умолчание: N=0,   которое   означает,   что

     DIRECTORY устанавливает ширину распечатки равной  ши-

     рине строки терминала. Если общая  ширина  распечатки

     превышает ширину  терминала,  информация  будет  усе-

     каться;

     2) FILENAME - определяет  ширину  поля  имени  файла.

     Значение умолчания N=19. Если в каждой колонке наряду

     с именем файла должна распечатываться  еще  и  другая

     информация, имя файла, которое превышает параметр  N,

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

     после поля имени файла;

     3) OWNER=N - определяет ширину поля владельца. Значе-

     ние умолчания N=20. Если UIC владельца превышает дли-

     ну поля владельца, информация будет усекаться;

     4) SIZE=N - определяет  ширину  поля  размера  файла.

     Значение умолчания N=6. Если размер  файла  превышает

     длину поля размера файла, информация будет усекаться.

     Примеры:

1. > DIRECTORY

     Команда DIRECTORY распечатывает все версии всех  фай-

лов с текущего диска умолчания и из каталога  умолчания  в

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


                          - 195 -

                     00152-01 97 14-1


и каталог, а концевая строка указывает общее число файлов.

2. > DIRECTORY/VERSIONS=1/COLUMNS=1 AVERAGE.*

     Команда DIRECTORY распечатывает только старшие версии

всех файлов с именем AVERAGE из текущего каталога  умолча-

ния. Формат распечатки - краткий, и  ограничивается  одной

колонкой. Строки заголовка и концевые строки обеспечивают-

ся.

3. > DIRECTORY BLOCK%%%

     Команда DIRECTORY ищет файлы, имена которых начинают-

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

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

Формат распечатки краткий, в четыре  колонки  со  строками

заголовка и концевыми строками.

4. > DIRECTORY/TOTAL/SIZE=ALL

     Команда DIRECTORY выводит только строки  заголовка  и

концевые строки, которые содержат  общее  число  файлов  и

блоков, использованных и распределенных  для  всех  версий

всех файлов на диске и в каталоге умолчания.



     4.19. Команда DMO



     Команда DMO освобождает том,  который  был  указан  в

предшествующей команде MOUNT. Функции команды DMO идентич-

ны команде DCL DISMOUNT.

     Формат

DMO имя_устройства[:]

где имя_устройства[:] - указывает имя  устройства, которое

должно быть демонтировано. Имя устройства может быть  име-

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


                          - 196 -

                     00152-01 97 14-1


     Командные квалификаторы

/ABORT

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

     висимо от того, кто его монтировал. Если том был мон-

     тирован с квалификатором /SHARE, то  /ABORT  вызывает

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

     его монтировали. Для  демонтирования  томов  GROUP  и

     SYSTEM  пользователю  необходимо   иметь   привилегии

     GRPNAM и  SYSNAM  соответственно.  При  использовании

     квалификатора /ABORT для тома, монтированного не  как

     GROUP или SYSTEM, нужно быть собственником  тома  или

     иметь привилегию VOLPRO.

/UNIT

     - указывает (для набора дисковых томов), что том  де-

     монтируется только на указанном устройстве. По  умол-

     чанию команда DMO демонтирует все тома в  наборе  то-

     мов. В ноборе томов  не  рекомендуется  демонтировать

     корневой том, так как главный  каталог  файлов  (MFD)

     набора томов находится на корневом томе. Если MFD не-

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

     наборе томов.

/UNLOAD

/NOUNLOAD

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

     выгружено. Квалификатор /UNLOAD эквивалентен  нажатию

     клавиши выгрузка на устройстве (переводит его в  сос-

     тояние "не готов"). Квалификатор /UNLOAD подразумева-

     ется по умолчанию. Чтобы том остался  загруженным  (в

     состоянии  "готов"),   нужно   указать   квалификатор

     /NOUNLOAD.


                          - 197 -

                     00152-01 97 14-1


     Пример.

> MOUNT/SHARE DQA3: PROJ123 DISK

 .

 .

 .

> DMO DISK

     Команда MOUNT запрашивает  доступ  к  тому  с  меткой

PROJ123 на DQA3 и помещает логическое имя DISK  в  таблицу

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

MOUNT том  был  запрошен  с  использованием  квалификатора

/SHARE, то он уже мог быть монтирован другими  пользовате-

лями.

     Команда DMO прекращает доступ к тому PROJ123 для  те-

кущего процесса и удаляет имя DISK из  таблицы  логических

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

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

DMO.

     Примечания:

     1. Если команда MOUNT была использована с  квалифика-

тором /SHARE, то действительного  демонтирования  тома  не

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

тировали том не демонтируют его.

     2. Демонтирование тома заставляет удалить  логическое

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

ветствующей таблицы логических имен. Логическое имя -  это

имя, указанное либо в команде MOUNT,  либо  имя  умолчания

DISK$метка_тома или TAPE$метка_тома.

     3. Если том монтирован с квалификатором  /SYSTEM  или

/GROUP, то команда DMO демонтирует его, даже  если  другие

пользователи в настоящий момент  используют  его.  Однако,


                          - 198 -

                     00152-01 97 14-1


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

таблицы системных или групповых логических имен, что  тре-

бует привилегий.

     4.  Если  устройство  было  закреплено   по   команде

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

том будет демонтирован.

     5. Если том был монтирован с использованием  квалифи-

катора  /NOSHARE,  то  система  автоматически   закрепляет

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

когда том демонтируется.

     6. Квалификатор /NOUNLOAD обеспечивает ту же функцию,

что и ключ /LOCK=NOUNLOAD в MCR ОС РВ для команды DMO.

     7. MCR ОС РВ поддерживает команду DMO, но  с  другими

ключами.



     4.20. Kоманда DUMP



     Команда DUMP распечатывает содержимое файлов или  то-
     
мов в символьном  (КОИ-8),  десятичном,  шестнадцатеричном

или восьмеричном представлении.

     Формат

DUMP спец_файла[,...]

где спец_файла-указывает файлы или имя устройства, которые

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

ляется диском,  лентой  или  устройством  сети,  или  если

устPойство монтировано с квалификатором /FOREIGN, TO  спе-

цификация файла должна содержать  только  имя  устройства.

Если указанное устройство является устройством сети,  дис-

ковым устройством или магнитной ленты, которые монтированы

без квалификатора /FOREIGN, TO  спецификация  файла  может


                          - 199 -

                     00152-01 97 14-1


содержать символы обобщения.

     Командные квалификаторы

/аLLOCATED

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

     ные для файла. По умолчанию дамп не  включает  блоки,

     следующие за блоком, содержащим  конец  файла  (EOF).

     Квалификатор /ALLOCATED можно указывать, если вводной

     диск монтирован без квалификатора /FOREIGN. Если ука-

     зан   /ALLOCATED,   нельзя   указывать   квалификатор

     /RECORDS.

/BLOCKS[=(выбор[,...])]

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

     ваться блоками. Это значение является умолчанием  для

     всех устройств, кроме устройства сети. Для  устройств

     сети не указывается квалификатор /BLOCKS. Для  выбора

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

     следующие выборы:

     1) START:N - указывает номер первого  блока,  который

     должен быть распечатан. По умолчанию, дамп начинается

     с первого блока файла или устройства;

     2) END:N - указывает номер последнего распечатываемо-

     го блока. По умолчанию, дамп оканчивается на  послед-

     нем блоке файла или устройства. Если в  команде  DUMP

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

     тор /ALLOCATED определяет, является ли последний блок

     блоком конца файла или последним распределенным  бло-

     ком;

     3) COUNT:N - указывает число блоков,  которые  должны

     быть распечатаны. Этот выбор  обеспечивает  альтерна-

     тивный способ указания последного блока дампа. Нельзя


                          - 200 -

                     00152-01 97 14-1


     указывать одновременно END и COUNT. Блоки обычно  ну-

     меруются начиная с 1. Однако, для дисковых устройств,

     которые монтированы с квалификатором /FOREIGN,  блоки

     нумеруются, начиная с 0. Если указан /BLOCKS,  нельзя

     указывать /RECORDS. Можно  использовать  квалификатор

     /BLOCKS для распечатки произвольных блоков с томов  с

     файловой  структурой. Это  требует привилегии  LOG_IO

     (логический ввод-вывод).

/BYTE

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

     байтах. Формат по умолчанию в  длинных  словах.  Если

     указан /BYTE, нельзя указывать /WORD или /LONGWORD.

/DECIMAL

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

     те. Умолчание: шестнадцатеричное представление.

/FILE_HEADER

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

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

     чатаны в интерпретируемом представлении.  Все  другие

     блоки данных распечатываются в выбранном основании  и

     длине.

/FORMATTED

/NOFORMATTED

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

     в форматированном или  неформатированном  представле-

     нии. Этот квалификатор имеет смысл только, если  ука-

     зан квалификатор /HEADER. Если указан /FORMATTED, за-

     головоK файла распечатывается в интерпретируемом фор-

     мате. Если же указан  /NOFORMATTED,  заголовок  файла

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


                          - 201 -

                     00152-01 97 14-1


     Умолчание: /FORMATTED.

/HEADER

     - указывает, что вывод включает  заголовок  файла,  а

     также список управления  доступом  (ACL).  Можно  ис-

     пользовать  квалификатор  /FORMATTED  для  управления

     Форматом распечатки. Можно распечатать заголовок фай-

     ла  без  распечатки   содержимого   файла,   указывая

     /BLOCKS=COUNT:0. Квалификатор /HEADER можно использо-

     вать, если вводной диск  или  лента  монтированы  без

     квалификатора  /FOREIGN.  Квалификатор   /FILE_HEADER

     можно использовать вместе с  /HEADER  для  распечатки

     заголовков файлов файловой структуры в интерпретируе-

     мом представлении. По умолчанию  заголовок  файла  не

     распечатывается.

 /HEXADECIMAL

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

     Формате.  Формат  по   умолчанию:   шестнадцатеричное

     представление. Если указан /HEXADECIMAL, нельзя  ука-

     зывать /DECIMAL или /OCTAL.

/LONGWORD

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

     длинных словах. /LONGWORD является форматом  по умол-

     чанию. Если указан /LONGWORD, нельзя указывать  /BYTE

     или /WORD.

/NUMBER[=N]

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

     строки вывода. Если /NUMBER указан, смещение в байтах

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

     значения. Если значение не указано, начальное  смеще-

     ние в байтах - ноль. По умолчанию смещение  в  байтах


                          - 202 -

                     00152-01 97 14-1


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

     си.

/OCTAL

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

     мате.   Формат   по   умолчанию:    шестнадцатеричное

     представление. Если указан /OCTAL,  нельзя  указывать

     /DECIMAL или /HEXADECIMAL.

/OUTPUT[=спец_файла]

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

     указанный файл. По умолчанию команда DUMP производит

     вывод на SYS$OUTPUT. Если /OUTPUT указан без  специ-

     фикации файла, команда DUMP выполняет вывод в  файл,

     с таким же именем, что и  вводной файл, и типом фай-

     ла DMP. В спецификации файла недопустимо использова-

     ние символов обобщения. Если указан /OUTPUT,  нельзя

     указывать /PRINTER.

/PRINTER

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

     му печатающему устройству. По умолчанию команда  DUMP

     выполняет вывод на SYS$OUTPUT. Если указан  /PRINTER,

     команда DUMP делает вывод в файл с таким  же  именем,

     что и вводной файл, но с типом файла  DMP,  и  ставит

     файл в очередь к  SYS$PRINT.  Если  указан  /PRINTER,

     нельзя указывать /OUTPUT.

/RECORDS=(выбор[,...])

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

     ми. По умолчанию, ввод распечатывается  блоками  для

     всех устройств, кроме устройств сети. Умолчание  для

     устройств сети - квалификатор /RECORDS.  Для  выбора

     диапазона распечатываемых записей можно указать один


                          - 203 -

                     00152-01 97 14-1


     или более из следующих выборов:

     1) START:N - указывает номер первой записи,  которая

     должна быть  распечатана. По умолчанию дамп начинает-

     ся с первой записи файла;

     2) END:N - указывает номер последней распечатываемой

     записи. По умолчанию, дамп оканчивается на последней

     записи файла;

     3) COUNT:N - указывает число записей, которые  должны

     быть распечатаны. Этот выбор  обеспечивает  альтерна-

     тивный способ указания последней распечатываемой  за-

     писи. Записи нумеруются, начиная с 1.  Нельзя  указы-

     вать одновременно END и COUNT. Квалификатор  /RECORDS

     можно использовать, если вводным является  устройство

     сети, диск или лента, монтированные без квалификатора

     /FOREIGN.  Если  указан  /RECORDS,  нельзя  указывать

     /ALLOCATED или /BLOCKS.

/WORD

     - указывает, что дамп  должен  быть  сформатирован  в

     словах. Формат по умолчанию: в длинных  словах.  Если

     указан /WORD, нельзя указывать /BYTE или /LONGWORD.



     4.20. Команда EDT



     По команде EDT вызывается интерактивный текстовый ре-

дактор.

     Формат

EDT спец_файла

где спец_файла - указывает файл, который должен быть  соз-

дан или отредактирован. Если файла не существует, он будет

создаваться. Редактор EDT не  обеспечивает  тип  файла  по


                          - 204 -

                     00152-01 97 14-1


умолчанию при создании файлов; если тип файла  не  указан,

то он получит значение нуль.  Файл  должен  быть  дисковым

файлом на томе с файловой структурой. В спецификации файла

недопустимо использование символов обобщения.

     Командные квалификаторы

/COMMAND=[спец_файла]

/NOCOMMAND

     - указывает, будет ли EDT использовать стартовый  ко-

     мандный файл или нет. Умолчанием типа файла  для  ко-

     мандного файла является EDT.

     Пример. > EDT/COMMAND=EDTINI.EDT MEMO.DAT

     Если в квалификаторе /COMMAND значение не задано, EDT

     будет обрабатывать общесистемный стартовый  командный

     файл SYS$LIBRARY:EDTSYS.EDT. Если этот  файл  не  су-

     ществует, EDT ищет в каталоге пользователя по умолча-

     нию файл по имени EDTINI.EDT. Если ни  один  из  этих

     файлов не существует, EDT начнет сеанс радактирования

     в состоянии по умолчанию. Использование квалификатора

     /NOCOMMAND  запрещает  EDT  обработку  общесистемного

     стартового командного файла или EDTINI.EDT из катало-

     га пользователя по умолчанию.

     Пример. > EDT/NOCOMMAND MEMO.DAT

     В  спецификации файла недопустимо использование  сим-

     волов обобщения.

/CREATE

/NOCREATE

     - указывает, будет ли EDT создавать новый файл,  если

     указанный вводной файл не найден. Обычно EDT  создает

     новый файл в соответствии со  спецификацией  вводного

     файла, если он не может найти имя файла  в  указанном


                          - 205 -

                     00152-01 97 14-1


     каталоге. Если в командной  строке  EDT  используется

     /NOCREATE и дана спецификация файла, которого не  су-

     ществует, EDT распечатывает сообщение об ошибке.

     Пример.

     > EDT/NOCREATE NEWFILE.DAT

     INPUT FILE DOES NOT EXIST

     >

/JOURNAL[=журн_файл]

/NOJOURNAL

     - указывает, будет  ли  EDT  протоколировать  в  жур-

     нальном файле сеанс  редактирования.  Умолчанием  для

     имени журнального файла является имя вводного  файла,

     умолчание типа файла- JOU.

     Пример. > EDT/JOURNAL=SAVE MEMO.DAT

     EDT создает журнальный файл в каталоге по  умолчанию.

     Спецификация журнального файла  может  содержать  имя

     каталога. Каталог,  содержащий  журнальный  файл,  не

     должен быть защищен от записи.  Использование  в  ко-

     мандной строке EDT квалификатора /NOJOURNAL запрещает

     EDT сохранять записи о сеансе редактирования.

     Пример. > EDT/NOJOURNAL MEMO.DAT

     для обработки созданного журнального файла нужно  ис-

     пользовать квалификатор /RECOVER. В спецификации жур-

     нального  файла  недопустимо  использование  символов

     обобщения.

/OUTPUT=спец_выв_файла

/NOOUTPUT

     - указывает, будет ли EDT создавать выводной  файл  в

     конце сеанса редактирования. Умолчанием для  специфи-

     кации выводного файла является спецификация  вводного
      

                          - 206 -

                     00152-01 97 14-1


     файла.

     Пример. > EDT/OUTPUT=OUTMEM.DAT MEMO DAT

     спецификация выводного файла может содержать имя  ка-

     талога.

     Пример. > EDT/OUTPUT=[BARRET.MAIL]MEMO.DAT MEMO.DAT

     квалификатор /NOOUTPUT подавляет  создание  выводного

     файла, но не подавляет  создания  журнального  файла.

     Пример. > EDT/NOOUTPUT MEMO.DAT

     в спецификации выводного файла недопустимо  использо-

     вание символов обобщения.

/READ_ONLY

/NOREAD_ONLY

     - определяет, будет ли EDT создавать журнальный и вы-

     водной файлы. По квалификатору /NOREAD_ONLY, EDT соз-

     дает журнальный и выводной файлы при обработке коман-

     ды строкового режима EXIT.  Использование  /READ_ONLY

     подобно  использованию  квалификаторов  /NOJOURNAL  и

     /NOOUTPUT.    Умолчанием    является     квалификатор

     /NOREAD_ONLY.

     Пример. >  EDT/READ_ONLY  CALENDAR.DAT

/RECOVER

/NORECOVER

     - определяет, будет ли  EDT  обрабатывать  журнальный

     файл перед началом интерактивного сеанса редактирова-

     ния. Умолчанием является /NORECOVER. Если использует-

     ся квалификатор  /RECOVER,  EDT  будет  читать  соот-

     ветствующий журнальный файл и обрабатывать содержащи-

     еся в нем команды.

     Пример. > EDT/RECOVER MEMO.DAT

     если тип журнального файла или его имя не совпадают с


                          - 207 -

                     00152-01 97 14-1


     именем вводного файла, нужно указать оба квалификато-

     ра /RECOVER и /JOURNAL.

     Пример. > EDT/RECOVER/JOURNAL=SAVE.XXX MEMO.DAT



     4.22. Команда EXAMINE



     команда EXAMINE распечатывает содержимое виртуальной

памяти.

     Формат

EXAMINE адрес[:адрес]

где адрес - указывает виртуальный адрес или диапазон  вир-

туальных адресов, содержимое которых нужно проверить. Если

указывается диапазон адресов,  первый  и  последний  адрес

разделяются двоеточием. Второй адрес  должен  быть  больше

первого. Адреса можно указывать, используя  арифметические

выражения, которые содержат арифметические или  логические

операторы или символические имена, для  которых  предвари-

тельно должны быть заданы значения  с  помощью  операторов

присваивания. Команды EXAMINE и DEPOSIT  сохраняют  указа-

тель текущего адреса памяти. Команда EXAMINE устанавливает

этот указатель на последний рассматриваемый адрес. При вы-

полнении команды EXAMINE можно обращаться к этому  адресу,

исплользуя символ "." в последующих командах  EXAMINE  или

DEPOSIT.

     Командные квалификаторы

/ASCII

     - запрашивает распечатку данных, содержащихся по ука-

     занному адресу, в кои-8. Двоичные значения, не  имею-

     щие эквивалентов в кои-8, распечатываются  как  точки

     (.). Если указан /ASCII или  если режим кои-8 являет-


                          - 208 -

                     00152-01 97 14-1


     ся умолчанием , для числовых литералов, которые  ука-

     зываются в командной строке, в качестве основания  по

     умолчанию используется шестнадцатеричное основание.

/BYTE

     - указывает, что данные, содержащиеся  по  указанному

     адресу, должны распечатываться по одному байту.

/DECIMAL

     - указывает, что содержимое указанного адреса  должно

     быть распечатано в десятичном формате.

/HEXADECIMAL

     - указывает, что содержимое указанного адреса  должно

     быть распечатано в шестнадцатеричном формате.

/LONGWORD

     - указывает, что данные, содержащиеся по данному  ад-

     ресу, должны распечатываться по одному длинному  сло-

     ву.

/OCTAL

     - указывает, что содержимое указанного адреса  должно

     быть распечатано в восьмеричном формате.

/WORD

     - указывает, что данные , содержащиеся по  указанному

     адресу, должны распечатываться по одному слову.

     Примеры:

1. > RUN MYPROG

   ^Y

   > EXAMINE 2678

   0002678: 1F405026

   > CONTINUE

     По   команде   RUN   начинается   выполнение   образа

MYPROG.EXE. Во время выполнения MYPROG,  CTRL/Y  прерывает


                          - 209 -

                     00152-01 97 14-1


его выполнение, и команда EXAMINE  запрашивает  распечатку

содержимого шестнадцатеричного адреса  виртуальной  памяти

2678.

2. > BASE=X1C00

   > READBUF=BASE + X50

   > ENDBUF= BASE + X50

   > RUN TEST

   ^Y

   > EXAMINE/ASCII READBUF:ENDBUF

   00001C50: BEGINNING OF FILE MAPPED TO GLOBAL SECTION

        .

        .

        .

     Перед  выполнением  программы  TEST.EXE  определяются

символические имена для базового адреса  программы  и  для

меток READBUF и ENDBUF,  которые  являются  выражениями  в

шестнадцатеричном формате, задаваемыми с помощью оператора

основания X. READBUF и ENDBUF определяют смещения от  базы

программы.

     Во время выполнения программы CTRL/Y прерывает ее вы-

полнение и команда  EXAMINE  запрашивает  распечатку  всех

данных в формате КОИ-8 из указанного диапазона адресов.



     4.23. Команда EXECUTE PROCEDURE (@)



     Команда  EXECUTE  PROCEDURE (@) запрашивает  выполне-

ние косвенного командного файла или запрашивает  интерпре-

татор команд для чтения последующего  командного  ввода  с

указанного файла или устройства.


                          - 210 -

                     00152-01 97 14-1


     Формат

@спец_файла [квалификатор] [P1 [P2 [...P8]]]

где спец_файла - указывает  командную  процедуру,  которая

должна быть выполнена, или устройство, с  которого  должен

быть считан ввод для предшествующих команд. Если тип файла

не указывается, то процессор  косвенного  командного файла

использует по умолчанию тип CMD;

    P1,P2,...P8 - указывают от одного до восьми необязате-

льных параметров для передачи косвенному командному файлу.

Параметрам P1, P2 и т. Д. До P8 в порядке ввода назначает-

ся числовая или символьная командная строка значений. Сим-

волы (параметры) являются локальными  для  косвенного  ко-

мандного  файла.  Неуказанным  параметрам  устанавливается

значение нулевой строки. Каждый параметр должен отделяться

одним или несколькими пробелами.

     Можно указать числовое значение  для  параметра,  ис-

пользуя любое арифметическое выражение. Можно  также  ука-

зать значение строки символов, используя буквенно-цифровые

или специальные символы, со следующими ограничениями:

     - если первый параметр начинается с  наклонной  черты

(/), то параметр необходимо заключить в кавычки;

     - для передачи параметра, который содержит  вложенные

пробелы, нужно заключить параметр в кавычки;

     - для  передачи  параметра, который содержит кавычки,

нужно заключить всю строку в кавычки и использовать  двой-

ной набор кавычек внутри строки, например:

     "NEVER  SAY ""DIE"""

     Командный интерпретатор удаляет  кавычки,  в  которые

заключена вся строка, и пару  из  двойных  кавычек  внутри


                          - 211 -

                     00152-01 97 14-1


строки. В результате получается:

     NEVER SAY "DIE"

     В каждом случае, процессор косвенного командного фай-

ла опускает пару кавычек, в которые заключена строка.

     Пример.

> @STDJOB.CMD PAYROL FICA

     Эта команда требует выполнения косвенного  командного

файла STDJOB.CMD и обеспечивает  два  параметра  PAYROL  и

FICA. Косвенный командный файл содержит следующие команды:

     .ENABLE SUBSTITUTION

     RUN 'P1'

     PRINT 'P1'.DAT

     RUN 'P2'

     PRINT 'P2'.DAT

     Когда косвенный командный файл выполняется, параметры

подставляются в команды RUN и PRINT. В результате  косвен-

ный командный файл запускает PAYROL.EXE и FICA.EXE и  рас-

печатывает файлы PAYROL.DAT и FICA.DAT.

     Примечания:

     1. Можно  произвести  замену  (подстановку)  символа,

заключив его в одинарные кавычки. Имеется более полная ин-

формация о замене символа и  об  использовании  косвенного

командного файла [7].

     2. Когда косвенный командный файл завершается,  любые

файлы данных, которые остаются открытыми, закрываются.



     4.24. Команда EXIT



     Команда EXIT завершает обработку текущего  косвенного

командного файла. Если косвенный  файл  выполнялся  внутри


                          - 212 -

                     00152-01 97 14-1


другого косвенного командного файла, управление передается

внешнему файлу.

     Команда EXIT используется для  завершения  выполнения

текущего косвенного файла, а  также  для  сохранения  кода

состояния в специальной переменной $STATUS.

     Формат

EXIT [код_состояния]

где код_состояния - значение для символа $STATUS,  которое

используется как код возврата и проверяется  на  следующем

более высоком командном уровне.

     Если код состояния не указывается, то текущее  значе-

ние символа $STATUS не изменяется.  Управление  передается

на внешний уровень с кодом состояния самой  последней  вы-

полненной в этой командной процедуре команды или  програм-

мы.

     Интерпретатор  команд  использует  возвращаемые  коды

состояния для того, чтобы определить, какое системное  со-

общение необходимо  вывести.  Каждое  системное  сообщение

имеет уникальное значение, связанное с  ним.  Если  в  ка-

честве кода состояния указывается четное  числовое  значе-

ние, то будет распечатываться либо предупреждающее сообще-

ние, либо сообщение о неустранимой ошибке.

     Если код состояния задается  нечетным  значением,  то

либо выводится информационное сообщение, либо никакого со-

общения не выводится.

     Пример.

> @LEVEL1

     Команда @LEVEL1 запрашивает выполнение косвенного ко-

мандного файла LEVEL1.CMD, который в свOю очередь,  содер-

жит команду, требующую  выпOлнения  косвенного  командного


                          - 213 -

                     00152-01 97 14-1


файла LEVEL2.CMD. Командный файл LEVEL2.CMD содержит  пос-

ледовательность команд, которая предусматривает возврат  к

файлу LEVEL1.CMD.

        ON WARNING .GOTO ABEND

        .

        .

        .

        RUN LAST

        EXIT

.ABEND: EXIT 4

     Командный файл LEVEL2.CMD также содержит  комаду  ON,

которая вызывает переход на метку ABEND при  возникновении

любой ошибки. Возникновение любой ошибки приводит к завер-

шению комадного файла LEVEL2.CMD с <EXSTAT>, имеющей  зна-

чение, равное 4 . Если ошибка не  возникла,  то  командный

файл LEVEL2.CMD завершается со значением  кода  состояния,

которое было при завершении программы LAST.

     когда командный файл LEVEL1.CMD Cнова получает управ-

ление, он проверяет значение  символа  $STATUS,  используя

команду

     .IF <EXSTAT> EQ 4 EXIT

     Если <EXSTAT> равно 4, т. Е., если при выполнении ко-

мандного файла LEVEL2.CMD произошла ошибка,  то  командный

файл LEVEL1.CMD завершается, в противном случае  продолжа-

ется выполнение команд из файла LEVEL2.CMD.

     Примечание. В системе ОС РВ программа связи с  опера-

тором (MCR) не имеет команды EXIT. Однако  процессор  кос-

венных  командных  файлов  ОС  РВ  обеспечивает   подобные

функции при помощи директивы .EXIT




                          - 214 -

                     00152-01 97 14-1


     4.25. Команда  HELP



     Команда HELP позволяет получить информацию о командах

интерпретатора MCR (темах). В ответ на подсказку "TOPIC?",

выводимую командой HELP, можно ввести:

     - тему, по которой требуется получить информацию;

     - INSTRUCTIONS,   чтобы  получить   инструкцию,   как

пользоваться командой HELP;

     - HINTS, если нет уверенности в правильности  задания

темы;

     - вопросительный знак (?), чтобы  заново  распечатать

последнюю запрошенную информацию;

     - <CR>, чтобы выйти из команды HELP.

     Формат

HELP [ключевое слово]

где ключевое_слово - указывает  какая информация  должна

быть распечатана  из   HELP-библиотеки.   Информация   в

HELP-библиотеке  расположенA в иерархическом  порядке на

нескольких уровнях:

     1) если ключевое слово в команде HELP не указано,  то

выводится информация о команде HELP и названия тем, инфор-

мация по которым имеется в корневой  библиотеке.  Получить

сведения по каждой из этих тем можно на  следующем  уровне

иерархии в этой библиотеке;

     2) если в ключевом слове указывается имя темы, коман-

да HELP распечатывает информацию по этой теме так, как она

документирована либо в корневой библиотеке, либо  в  одной

из библиотек по умолчанию. Команда HELP распечатывает так-

же ключевые слова,  используемые  для  получения  дополни-

тельной информации по данной теме;


                          - 215 -

                     00152-01 97 14-1


     3) если в ключевом слове указаны имя темы и  подтема,

команда HELP распечатывает информацию по указанной  подте-

ме;

     4)  если  в  ключевом  слове   указана   спецификация

HELP-библиотеки, то команда HELP просматривает эту библио-

теку для получения информации по указанной теме или подте-

ме.

     Если при задании команды HELP в  ключевом  слове  ис-

пользуется символ звездочка (*), команда HELP выводит  всю

информацию до того уровня, где помещен символ *.

     Если после ключевого слова в команде HELP стоит  мно-

готочие, то команда HELP распечатывает всю  информацию  по

указанной теме, а также по всем ее  подтемам.  В  ключевых

словах в качестве  символа  обобщения  можно  использовать

знак процента (%) и символ звездочка (*).

     командные квалификаторы

     /[NO]INSTRUCTIONS

     /[NO]LIBLIST

     /[NO]LIBRARY[=спец_файла]

     /OUTPUT[=спец_файла]

     /[NO]PAGE

     /[NO]PROMPT

     /[NO]USERLIBRARY[=(таблица[,...])]

     командные квалификаторы команды HELP описаны в [2].



     4.26. Команда INITIALIZE



     Команда INITIALIZE форматирует устройство большой ем-

кости и записывает на него метку. По умолчанию по  команде

INITIALIZE интерпретатора команд  MCR  на  дисковых  томах


                          - 216 -

                     00152-01 97 14-1


создается файловая структура уровня 2.  Комада  INITIALIZE

может быть также использована для инициации тома с  файло-

вой структурой уровня 1. По умолчанию на  томах  магнитных

лент по команде INITIALIZE создается формат со стандартны-

ми метками и файловая  структура  для  обмена  информацией

уровня 3.

     Для инициации пустого диска или  магнитной  ленты  не

нужны привилегии. Если пользователь инициирует том,  кото-

рый уже содержит записи, то UIC этого пользователя  должен

соответствовать UIC собственника тома или  его  привилегии

должны быть достаточными для того, чтобы не  принимать  во

внимание защиту тома.

     Если на магнитную ленту уже производилась запись,  то

пользователь может инициировать эту ленту, если ему разре-

шен доступ на запись.

     Формат

INITIALIZE имя_устройства: метка_тома

где  имя_устройства: - имя устройства, на котором физичес-

ки установлен том, который  должен  быть  инициирован.  До

инициации устройство может быть не закреплено, однако  ре-

комендуется закреплять устройство;

     метка_тома - метка, которая должна быть  записана  на

том. Для дискового тома можно указать максимально 12  бук-

венно-цифровых символов, для тома  на  магнитной  ленте  -

- максимально 6 буквенно-цифровых символов.

     Командные квалификаторы

     /ACCESSED=N (D)

     /BADBLOCKS=(область[,...]) (D)

     /CLUSTER_SIZE=N (D)

     /DATA_CHECK[=выбор[,...])] (D)


                          - 217 -

                     00152-01 97 14-1


     /DENSITY=N (T)

     /DIRECTORIES=N (D)

     /[NO]ERASE (D,T)

     /EXTENSION=N (D)

     /FILE_PROTECTION=код (D)

     /GROUP (D)

     /HEADERS=N (D)

     /[NO]HIGHWATER (D)

     /INDEX=позиция (D)

     /LABEL=выбор (T)

     /MAXIMUM_FILES=N (D)

     /OVERRIDE=(выбор[,...]) (T)

     /OWNER_UIC=[G,M] (D,T)

     /PROTECTION=код (D,T)

     /[NO]SHARE (D)

     /STRUCTURE=уровень (D)

     /SYSTEM (D)

     /USER_NAME=строка (D)

     /[NO]VERIFIED (D)

     /WINDOWS=N (D)

     Обозначение (D) рядом с квалификатором означает,  что

квалификатор применим только для дисков, (T) - только  для

магнитных лент, (D,T) - квалификатор, применимый и к  дис-

кам, и к магнитным лентам.

     Квалификаторы, применимые к диску и к магнитной  лен-

те

/ERASE

/NOERASE

     - квалификатор /ERASE управляет операцией отмены  за-

     щиты данных - операцией стирания -  на  томе  до  его


                          - 218 -

                     00152-01 97 14-1


     инициации. Квалификатор /ERASE используется при  мон-

     тировании дисковых томов с файловой структурой уровня

     2, магнитных лент со стандартными  метками,  а  также

     при монтировании магнитных лент, которые имеют  аппа-

     ратную поддержку отмены защиты данных. Если  квалифи-

     катор /ERASE указан,  на  томе  выполняется  операция

     стирания. Для дисковых томов устанавливается  атрибут

     тома ERASE. В действительности каждый  файл  на  томе

     стирается, когда файл удаляется. Количество  времени,

     необходимое для операции стирания, зависит от размера

     тома. Выполнение команды INITIALIZE/ERASE  происходит

     медленнее, чем команды INITIALIZE/NOERASE.  Значением

     по  умолчанию  для   этого   квалификатора   является

     /NOERASE.

/OWNER_UIC=[G,M]

     - квалификатор /OWNER_UIC определяет код  идентифика-

     ции пользователя собственника тома и системных файлов

     на томе. Номер группы (G) кода идентификации  пользо-

     вателя может иметь  значение  в  диапазоне  от  0  до

     37777(8), а номер члена (M) - в  диапазоне  от  0  до

     177777(8).  Скобки  обязательны.  Если   квалификатор

     /OWNER_UIC не указывается, то собственником тома наз-

     начается пользователь, имеющий текущий UIC.

/PROTECTION=код

     - квалификатор /PROTECTION указывает защиту,  которая

     должна быть назначена тому. Защита определяет,  каким

     категориям пользователей  разрешается  читать  файлы,

     записывать файлы, создавать каталоги и удалять  файлы

     на томе.

     Код защиты указывается в соответствии с  синтаксичес-


                          - 219 -

                     00152-01 97 14-1


     кими правилами (см. П.2.7.5).

     Если квалификатор /PROTECTION не указан, то всем  ка-

     тегориям пользователей предоставляются все типы  дос-

     тупа. Если при указании кода защиты типы доступа  для

     некоторой категории пользователей не указываются,  то

     этой категории  пользователей  запрещаются  все  типы

     доступа.

     При задании кода защиты для магнитных лент указывают-

     ся ограничения доступа только на чтение и запись,  на

     создание и удаление они не имеют смысла. Кроме  того,

     как системный пользователь так и собственник, получа-

     ют доступ на чтение и запись, независимо от того, что

     указано для них в коде защиты.

     Квалификаторы, применимые только к диску

/ACCESSED=N

     - квалификатор /ACCESSED указывает  число  каталогов,

     которые   должны   быть   сохранены    в    системном

     пространстве для быстрого доступа к ним. Максимальным

     значением для N является 255. При использовании  ква-

     лификатора /ACCESSED требуется  привилегия  оператора

     (OPER).

     Если квалификатор /ACCESSED  не  указан,  то  команда

     INITIALIZE использует по умолчанию  значение  для  N,

     равное 3.

/BADBLOCKS=(область[,...])

     - квалификатор /BADBLOCKS позволяет указать те облас-

     ти на  томе,  которые  являются  дефектными.  Команда

     INITILIZE отмечает такие области как занятые, чтобы в

     них не производилась запись данных. Можно указать од-

     ну или несколько областей.  При  указании  нескольких


                          - 220 -

                     00152-01 97 14-1


     дефектных областей их спецификации отделяются друг от

     друга запятыми и весь  список  областей  должен  быть

     заключен в круглые скобки.

     Дефектная область может быть указана в одном из  сле-

     дующих форматов:

     1) лбн[:число] - указывает номер логического блока на

     дисковом томе и, необязательно, число логических бло-

     ков, начиная с указанного логического блока,  которые

     должны быть отмечены как занятые;

     2) сектор.дорожка.цилиндр[:число] - указывает сектор,

     дорожку, цилиндр на дисковом томе  и,  необязательно,

     число блоков, начиная  с  указанного  блока,  которые

     должны быть отмечены как занятые.

     обслуживающая программа BAD или программа  диагности-

     ческого супервизора ESRAC могут быть использованы для

     обновления данных о дефектных блоках или для их  соз-

     дания. Квалификатор /BADBLOCKS необходим  только  для

     ввода дефектных блоков, которые не отмечены в  данных

     о дефектных блоках для данного тома.

/CLUSTER_SIZE=N

     - квалификатор /CLUSTER_SIZE  определяет  минимальную

     единицу выделения памяти в блоках. Максимальный  раз-

     мер, который можно указать для тома, равен 1/100 раз-

     мера TOMA. Минимальный размер, который можно указать,

     вычисляется по следующей формуле:

           размер диска (в блоках)/(255*4096)

     по умолчанию размер кластера  для  диска  с  файловой

     структурой уровня 2 зависит  от  емкости  диска.  Для

     дисков емкостью в 50000  блоков  или  больше,  размер

     кластера по умолчанию равен 3. Диски емкостью меньше,


                          - 221 -

                     00152-01 97 14-1


     чем 50000 блоков, имеют по умолчанию размер кластера,

     равный 1. Диски с файловой структурой уровня 1 всегда

     имеют кластер размером в 1 блок.

/DATA_CHECK[=(выбор,...)]

/NODATA_CHECK

     - квалификатор  /DATA_CHECK  определяет  значение  по

     умолчанию для операции проверки данных, следующих  за

     всеми операциями чтения или  записи  на  томе.  Можно

     указать либо один, либо оба следующих выбора:

     1) READ - выполняет проверку данных после всех опера-

     ций чтения;

     2) WRITE- выполняет проверку данных после всех опера-

     ций записи. Если квалификатор /DATA_CHECK указывается

     без выбора, то система использует /DATA_CHECK с выбо-

     ром WRITE. По умолчанию система предполагает квалифи-

     катор /NODATA_CHECK, т. е.  не  выполняется  проверка

     данных. Пользователь может отвергнуть проверку, кото-

     рую он указал при инициации, в команде MOUNT при мон-

     тировании тома. Квалификатор /DATA_CHECK нельзя  ука-

     зывать для томов с файловой структурой уровня 1.

/DIRECTORIES=N

     - квалификатор /DIRECTORIES указывает  число  записей

     для предварительного размещения пользовательских  ка-

     талогов. Максимальное допустимое значение параметра N

     равно 16000. Если квалификатор /DIRECTORIES не указы-

     вается, то команда INITIALIZE использует для N значе-

     ние по умолчанию, равное 16.

/EXTENSION=N

     - квалификатор /EXTENSION указывает число блоков, ис-

     пользуемое в качестве размера расширения по умолчанию


                          - 222 -

                     00152-01 97 14-1


     для всех файлов на томе. Размер расширения по умолча-

     нию используется, когда файл в  результате  коррекции

     увеличился до размера большего,  чем  для  него  было

     первоначально выделено. Максимальное допустимое  зна-

     чение N равно 65535.

     если размер расширения по умолчанию не указан, то ко-

     манда INITIALIZE использует значение для N, равное 5.

/FILE_PROTECTION=код

     - квалификатор /FILE_PROTECTION определяет  умолчание

     для защиты файла, которая должна  быть  применена  ко

     всем файлам на томе. Код защиты указывается  в  соот-

     ветствии с  синтаксическими  правилами (см. П.2.7.5).

     Это умолчание для защиты  файла  используется  в  том

     случае, когда с томом работают в системе ОС РВ. Умол-

     чание  для  защиты   файла не  используется в системе

     мос вп, т. К. В этой системе в качестве умолчания для

     защиты файла  используется  значение,  указанное  для

     пользователя в файле авторизации.

/GROUP

     - квалификатор /GROUр  определяет  дисковый  том  как

     групповой том. Код идентификации  (UIC)  собственника

     тома по умолчанию определяется номером группы пользо-

     вателя, издавшего команду INITIALIZE с квалификатором

     /GROUP, а номером члена будет 0.

     Квалификатор /GROUP устанавливает  защиту  тома  RWED

     для  системного  пользователя,  собственника  тома  и

     группового пользователя.

/HEADERS=N

     - квалификатор /HEADERS  указывает  число  заголовков

     файлов, которые должны быть  размещены  первоначально


                          - 223 -

                     00152-01 97 14-1


     для индексного файла. По умолчанию команда INITIALIZE

     размещает 16 заголовков файлов. Минимальное  допусти-

     мое значение N равно 16. Квалификатор /MAXIMUM_FILE

     указывает максимальное значение параметра N.

/HIGHWATER

/NOHIGHWATER

     - квалификатор /HIGHWATER устанавливает атрибут  тома

     FHM, который гарантирует, что пользователь не  сможет

     прочитать те данные, которые он не записывал.  Значе-

     нием по умолчанию является  /HIGHWATER.  Квалификатор

     /NOHIGHWATER запрешает атрибут FHM для тома. Квалифи-

     катор /HIGHWATER используется только при монтировании

     дисковых томов с файловой структурой уровня 2.

/INDEX=позиция

     - квалификатор /INDEX  запрашивает,  чтобы  индексный

     файл для дискового тома был размещен в указанном мес-

     те на томе. Можно указать один из следующих выборов:

     1) BEGINNING - размещает индексный файл в начале  то-

     ма;

     2) MIDDLE - размещает индексный файл в середине тома;

     3) END -  размещает индексный файл в конце тома;

     4) BLOCK:N - размещает индексный файл, начиная с ука-

     занного логического блока.

     По умолчанию команда INITIALIZE  размещает  индексный

     файл посередине тома.

/MAXIMUM_FILES=N

     - квалификатор /маXIMUM_FILES определяет максимальное

     число файлов, которые может содержать  дисковый  том,

     что позволяет превысить значение по умолчанию. Значе-

     ние по умолчанию вычисляется, исходя из размера тома,


                          - 224 -

                     00152-01 97 14-1


     следующим образом:

           (размер тома)/(фактор близости +1)*2

     максимальный размер, который можно указать для любого

     тома, определяется по следующей формуле:

          (размер тома)/(фактор близости +1)

     минимальное значение, которое можно указать, равно 0.

     если максимальное число файлов  на  томе  задано,  то

     единственным способом для его изменения является пов-

     торная инициация тома.

/SHARE

/NOSHARE

     - квалификатор /SHARE управляет разделяемостью диско-

     вого тома. Значением по  умолчанию  является  /SHARE.

     код защиты для тома определяет умолчание для всех ти-

     пов доступа для всех  категорий  пользователей.  Если

     указан квалификатор /NOSHARE, то код защиты определя-

     ет умолчание таким образом,  что  групповой  и  общий

     пользователь не имеют доступа к тому.

/STRUCTURE=уровень

     - квалификатор /STRUCTURE указывает уровень  файловой

     структуры тома. Если не указывается /STRUCTURE=1,  то

     команда INITIALIZE по умолчанию  инициирует  том  как

     том с файловой структурой уровня 2. Если  указывается

     квалификатор /STRUCTURE=1, то нельзя указывать квали-

     фикаторы  /CLUSTER_SIZE  или  /DATA_CHECK.   Файловая

     структура уровня 1 совместима с  файловой  структурой

     ОС РВ.

/SYSTEM

     - квалификатор /SYSTEM определяет  дисковый  том  как

     системный. По умолчанию UIC  собственника  системного


                          - 225 -

                     00152-01 97 14-1


     тома [1,1] и код защиты разрешает все типы доступа  K

     тому для всех пользователей. Для использования квали-

     фикатора /SYSTEM никаких привилегий  пользователя  не

     требуется. Только пользователи, являющиеся системными

     пользователями, могут создавать каталоги на системных

     томах.

/USER_NAME=строка

     - квалификатор /USER_NAME  задает  имя  пользователя,

     содержащее от одного до 12 символов,  которое  должно

     быть записано на дисковом томе. Если имя пользователя

     не указывается, то команда  INIIALIZE  использует  то

     имя,  под  которым  пользователь,  издавший   команду

     INITIALIZE, зарегистрировался в системе.

/VERIFIED

/NOVERIFIED

     - квалификатор /VERIFIED проверяет, имеет ли диск за-

     порченные блоки данных. Команда INITIALIZE  предпола-

     гает, что диски содержат запорченные блоки  данных  и

     отмечает эти блоки как занятые. Для того,  чтобы  при

     инициации тома не принимать во  внимание  запорченные

     блоки, используется квалификатор /NOVERIFIED.  Значе-

     нием по умолчанию является /VERIFIED.

/WINDOWS=N

     - квалификатор /WINDOWS  указывает  число  указателей

     отображения, которые должны быть  выделены  для  окон

     файла. При открытии файла файловая система использует

     указатели отображения для доступа к данным  в  файле.

     по умолчанию число  указателей  равно  7;  это  мини-

     мальное допустимое значение для N. Максимальное  зна-

     чение N равно 80.


                          - 226 -

                     00152-01 97 14-1


     квалификаторы, применимые только к магнитной ленте

/DENSITY=N

     - квалификатор /DENSITY указывает плотность  в  битах

     на мм, с которой лента должна  быть  записана.  Можно

     указать значения плотности 32 и 64 бит/мм.  Если  для

     пустой ленты квалификатор /DENSITY не указан,  то  по

     умолчанию используется плотность 32 бит/мм.  Если  не

     указана плотность для  ленты,  на  которую  предвари-

     тельно была произведена запись,  то  используется  та

     плотность, с которой была произведена  последняя  за-

     пись на ленту.

/LABEL=выбор

     - квалификатор /LABEL определяет символы,  используе-

     мые в качестве метки для  магнитной  ленты,  как  это

     указано выбором. Возможными выборами для квалификато-

     ра /LABEL являются:

     1) OWNER_IDENTIFIER: "(14 стандартных символов  метки

     тома)"

     этот  выбор  позволяет  указать  поле   идентификации

     собственника в метKE VOL1. Указанное поле  может  со-

     держать до 14 стандартных символов метки тома;

     2) VOLUME_ACCESSIBILITY: "символ"

     этот выбор определяет символ, который должен быть за-

     писан в поле доступности метки тома VOL1 на магнитной

     ленте со стандартными метками. Этот символ может быть

     любым символом из набора стандартных  символов  метки

     тома.

     Этот набор включает цифровые символы, прописные буквы

     латинского алфавита и любой из следующих неалфавитно-


                          - 227 -

                     00152-01 97 14-1


     цифровых символов:

            ! " % '() * + , - . / : ; < = > ?

     По умолчанию используется символ пробела.

     если указан любой символ, отличный от пробела, то для

     доступа  к  ленте  необходимо  указать   квалификатор

     /OVERRIDE=ACCESSIBILITY  в  командах   INITIALIZE   и

     MOUNT.

/OVERRIDE=(выбор[,...])

     - квалификатор /OVERRIDE запрашивает,  чтобы  доступ-

     ность или дата истечения, которые указаны для магнит-

     ной ленты, были перекрыты. Одно из следующих ключевых

     слов должно быть указано в качестве выбора:

     - ACCESSIBILITY - означает, что доступность,  указан-

     ная   в  непустых  полях меток  HDR1 и  VOL1 на  маг-

     нитной ленте, должна быть перекрыта. В режиме совмес-

     тимости МОС ВП никогда не производится запись  в  эти

     поля;

     - EXPIRATION - требует, чтобы команда INITIALIZE  иг-

     норировала дату истечения на  магнитной  ленте;  дата

     указывается датой истечения для первого файла на  то-

     ме.

     пользователь должен быть собственником тома магнитной

     ленты (UIC пользователя должен совпадать с UIC, запи-

     санным на томе) или пользователь должен иметь пользо-

     вательскую привилегию VOLPRO, чтобы не  принимать  во

     внимание защиту тома при инициации ленты, дата  исте-

     чения которой не истекла, или которая имеет  непустое

     поле доступности.

     если указываются одновременно квалификаторы  /DENSITY

     и /OVERRIDE, то необходимо отделить их друг от  друга


                          - 228 -

                     00152-01 97 14-1


     запятой и заключить в скобки.

     Примеры:

1. > INITIALIZE/STRUCTURE=1 DQB2:MYVOL

     Команда INITIALIZE в этом примере инициирует дисковый

том на устройстве DQB2:  как  том  с  файловой  структурой

уровня 1.

2. > @CMDFIL.CMD

        .

        .

        .

    INI DQ2:MYVOL

        .

        .

        .

     Косвенный командный файл CMDFIL.CMD содержит  команду

для инициации тома. Формат этой команды совместим с форма-

том команды INITVOLUME программы связи с оператором ОС РВ.



     4.27. Процедура регистрации (LOGIN)



     Система МОС ВП не имеет команды LOGIN. Для того чтобы

осуществить регистрацию, нужно ввести с терминала  CTRL/C,

или <CR>. Затем на терминал выводится подсказка,  запраши-

вающая имя пользователя и пароль. Так же,  как  и  команда

HELLO программы связи с оператором ОС  РВ,  процедура  ре-

гистрации МОС ВП проверяет право пользователя  работать  в

системе.

     Формат

USERNAME: имя_пользователя

PASSWORD: пароль


                          - 229 -

                     00152-01 97 14-1


где имя_пользователя - имя пользователя, записанное в фай-

ле авторизации пользователей;

    пароль  -  пароль,  записанный   в  файле  авторизации

пользователей. Пароль, вводимый пользователем, не выводит-

ся на терминал.

     Командные квалификаторы

/CLI=интерпретатор

     - квалификатор /CLI задает  имя  альтернативного  ин-

     терпретатора команд. Можно указать  интепретатор  DCL

     или MCR. Если  интерпретатор  команд  не  задан,  ис-

     пользуется  интерпретатор  команд,  установленный  по

     умолчанию.

/COMMAND=спец_файла

/NOCOMMAND

     - квалификатор /COMMAND  указывает,  какой  командный

     файл выполняет при регистрации МОС ВП - файл региста-

     ции  по  умолчанию  или  указанный  с  квалификатором

     /COMMAND Kомандный файл. Если  этот  квалификатор  не

     указан при регистрации, по  умолчанию  предполагается

     /COMMAND.  Если  в  файле  авторизации  для   данного

     пользователя не указан файл регистрации, отличный  от

     LOGIN.CMD, то интерпретатор команд MCR выполняет файл

     LOGIN.CMD. Интерпретатор команд DCL по умолчанию  вы-

     полняет файл LOGIN.COM. В обоих случаях поиск  файлов

     осуществляется в каталоге по умолчанию.

/DISK=имя_устр[:]

     - квалификатор /DISK задает для сеанса работы с  дан-

     ного терминала  имя дискового устройства, являющегося

     эквивалентным именем для  логического имени SYS$DISK.

     Если квалификатор /DISK не указан, используется  зна-


                          - 230 -

                     00152-01 97 14-1


     чение для SIS$DISK из файла  авторизации  пользовате-

     лей.

     Пример.

<^Y>

USERNAME: IVANOV/CLI=MCR

RASSWORD:

*****************WELCOME TO M32/VOS VERSION 4.3***********



     В этом примере ввод с терминала CTRL/Y позволяет осу-

ществить процедуру регистрации,  которая  запрашивает  имя

пользователя. Имя пользователя введено  с  квалификатором,

задающим интерпретатор команд MCR.  После  проверки  имени

пользователя, процедура регистрации запрашивает пароль.

     Примечания:

     1. Мос вп автоматически  переадресует  все  ссылки  к

устройству SY0 на устройство, соответствующее SYS$DISK.

     2. Если при регистрации в системе пользователь указы-

вает в качестве интерпретатора команд MCR, то система либо

использует файл регистрации, заданный для данного  пользо-

вателя в файле авторизации, либо в каталоге  по  умолчанию

ищется файл с именем LOGIN.CMD. Если он найден,  интерпре-

татор команд MCR выполняет  его  как  косвенный  командный

файл регистрации.



     4.28. Команда LOGOUT



     Команда LOGOUT завершает пакет заданий или сеанс  ра-

боты с терминалом. По этой команде система выводит сообще-

ниE о завершении работы и выполняет все необходимые опера-

ции, связанные с выходом из системы, такие как  завершение


                          - 231 -

                     00152-01 97 14-1


текущего образа,  если  такой  существует,  демонтирование

всех личных томов, которые остались монтированными,  осво-

бождение закрепленных  устройств.  Затем  система  удаляет

процесс и все его подпроцессы,  если  они  имеются.  Когда

пользователь завершает интерактивный сеанс работы с терми-

налом, выдается краткая форма сообщения о выходе. Если вы-

ход осуществляется из косвенного командного файла  (пакет-

ного задания), то  система  записывает  полное сообщение о

выходе в файл регистрации.

     Формат

LOGOUT

     командные квалификаторы

     /BRIEF

     /FULL

     /[NO]HANGUP



/BRIEF

     - квалификатор /BRIEF запрашивает краткую форму сооб-

     щения о завершении. В этом случае  интерпретатор  ко-

     манд выводит имя пользователя, дату  и  время,  когда

     пользователь завершил работу в системе. По  умолчанию

     при интерактивном режиме работы используется квалифи-

     катор /BRIEF.

/FULL

     - квалификатор /FULL запрашивает полную форму сообще-

     ния о завершении. Если указан квалификатор /FULL, ин-

     терпретатор команд выводит  полный  перечень  учетной

     информации для сеанса работы данного пользователя. По

     умолчанию при завершении пакетного задания  использу-

     ется квалификатор /FULL.


                          - 232 -

                     00152-01 97 14-1


/HANGUP

/NOHANGUP

     - квалификатор /HANGUP определяет для терминалов ком-

     мутируемой линии, остается ли телефонная связь  после

     завершения сеанса работы. По умолчанию при завершении

     сеанса работы с терминалом, который соединен с  глав-

     ной машиной посредством коммутируемой линии, телефон-

     ная связь остается.

     Примеры:

1. > LOGOUT

   NAME      LOGGED OUT AT 1-DEC-1986 13:45:56.95

     В этом примере  приводится  сообщение,  выводимое  на

терминал, когда сеанс работы с терминалом завершается  ко-

мандой LOGOUT. Эта команда LOGOUT использует по  умолчанию

краткую форму сообщения о завершении.  Учетная  информация

при этом не выводится.

2. > LOGOUT/FULL

   HIGGING LOGGED OUT AT 15-NOV-1986 14:23:45.30

   ACCOUNTING INFORMATION:

BUFFERED I/O COUNT:  22      PEAK WORKING SET SIZE: 90

DIRECT I/O COUNT:    10      PEAK VIRTUAL SIZE: 69

PAGE FAULTS:         68      MOUNTED VOLUMES:       0

CHARGED CPU TIME:0 00:01:30.50 ELAPSED TIME: 0 04:59:02.63

     Команда LOGOUT с квалификатором /FULL, приведенная  в

этом примере, выводит полный перечень  учетной  информации

для данного сеанса работы с терминалом.

     Примечания:

     1. Интерпретатор команд MCR в ОС РВ не имеет  команду

LOGOUT.

     2. Интерпретатор команд MCR как в системе ОС РВ,  так


                          - 233 -

                     00152-01 97 14-1


и в МОС ВП, имеет команду BYE.



     4.29. Команда MAIL



     Команда MAIL вызывает обслуживающую  программу  MAIL,

которая используется для посылки  сообщений  пользователям

системы.

     Формат

MAIL [спец_файла] [имя получателя]

где спец_файла - определяет файл, содержащий текст сообще-

ния, которое должно быть послано указанному  пользователю.

Если тип файла не указан, по  умолчанию  используется  тип

файла TXT. Если указан параметр спец_файла, то также необ-

ходимо указать и параметр  имя_получателя.  Если  параметр

спец_файла опущен, то вызывается программа  MAIL  для  ин-

терактивной обработки команд MAIL. В  параметре  спец_фала

недопустимо указывать символ обобщения;

    имя_получателя -  определяет   одного  или  нескольких

пользователей, которым будет  посылаться  сообщение.  Если

параметр спец_файла указан, то параметр имя_получателя яв-

ляется обязательным. Имя_получателя  -  имя,  под  которым

пользователь, для которого предназначено сообщение,  заре-

гестрировал свой вход в систему. Если  пользователь  нахо-

дится  на  удаленном  узле,  то  параметру  имя_получателя

должно предшествовать задание имени удаленного узла и  два

двоеточия (::).

     Вместо того, чтобы указывать перечень имен  пользова-

телей, которым будет посылаться сообщение,  можно  указать

файл, содержащий список имен пользователей.  При  указании

такого файла в команде  MAIL,  ему  должен  предшествовать


                          - 234 -

                     00152-01 97 14-1


знак @, а вся конструкция, включая знак @  и  спецификацию

файла, должна быть заключена в кавычки.  Файл,  содержащий

имена пользователей, создается таким образом,  что  каждая

его строка содержит одно имя пользователя; допустимо  ука-

зывать имена пользователей, находящихся на  удаленных  уз-

лах. По умолчанию файл,  содержащий  имена  пользователей,

имеет тип DIS. При задании  в  команде  MAIL  спецификации

файла, содержащего список имен пользователей, не допустимо

указывать символ обобщения.

     Командные квалификаторы

/SUBJECT=текст

     - квалификатор /SUBJECT задает тему сообщения, указы-

     ваемую в заголовке. Если текст, указанный с  квалифи-

     катором /SUBJECT, содержит более одного слова, то  он

     должен быть заключен в кавычки ("). Для  того,  чтобы

     использовать  этот  квалификатор,  необходимо  в  ко-

     манде MAIL указать спецификацию файла. Если этот ква-

     лификатор не указан, сообщение посылается без  указа-

     ния темы.

/EDIT=[(SEND,REPLY=EXTRACT,FORWARD)]

     - квалификатор /EDIT устанавливает умолчания для ква-

     лификатора /EDIT, используемого  в  командах  SEND  и

     REPLY обслуживающей программы MAIL.

/SELF

     - квалификатор /SELF указывает, что копия  сообщения,

     содержащегося в  файле,  указанном  в  командE  MAIL,

     должна быть послана отправителю этого сообщения.

     Примеры:

1. > MAIL

   MAIL>


                          - 235 -

                     00152-01 97 14-1


     КомандA MAIL вызывает  обслуживающую  программу  MAIL

для интерактивной обработки команд.

2. > MAIL/SUBJECT="NEW  PROJECT" PROJECT.DOC IVANOV,-

   >_ PETROV

     Команда MAIL, приведенная в этом примере,  указывает,

что  содержимое  файла  PROJECT.DOC  должно  быть  послано

пользователем, зарегистрировавшимся в системе под  именами

IVANOV, PETROV. Тема сообщения определена как NEW PROJECT.

3. > MAIL/SUBJECT = "VACATION  POLICY  CHANGE"-

   >_ NEWSLETTR "@USERS"

     В этом примере команда  MAIL  вызывает  обслуживающую

программу MAIL для того, чтобы послать сообщение, содержа-

щееся в файле NEWSLETTR.TXT, всем пользователям, имена ко-

торых указаны в файле USERS.DIS. Тема сообщения определена

как VACATION POLICY CHANGE.



     4.30. Команда MERGE



     Команда MERGE вызывает программу сортировки SORT  для

того, чтобы об'единить от двух до десяти одинаково  упоря-

доченных вводных файлов и создать один выводной файл.

     Формат

MERGE  спец_вв_файла1,спец_вв_файла2[,...]  спец_выв_файла

где  спец_вв_файла1,спец_вв_файла2[,...]  -   спецификации

файлов, записи в которых должны  быть  об'единены.  Должна

быть указана по крайней мере одна спецификация файла. Мак-

симально можно указать 10 вводных файлов, отделяя их  спе-

цификации друг от друга с помощью  запятой.  Квалификаторы

должны  быть   одинаковые   для   всех   вводных   файлов;

     спец_выв_файла - имя об'единенного файла, который бу-


                          - 236 -

                     00152-01 97 14-1


дет создан в результате выполнения  команды  MERGE.  Можно

указать только одну спецификацию выводного файла, при этом

нельзя использовать символ обобщения.

     Командные квалификаторы

     /[NO]CHECK_SEQUENCE

     /COLLATIG_SEQUENCE=последовательность

     /[NO]DUPLICATES

     /KEY=(поле[,...])

     /SPECIFICATION=[спец_файла]

     /[NO]STABLE

     /[NO]STATISTICS

/CHECK_SEQUENCE

/NOCHECK_SEQUENCE

     - квалификатор /CHECK_SEQUENCE проверяEт вводные фай-

     лы, указанные в команде MERGE для того, чтобы  гаран-

     тировать, что они упорядочены. Если некоторая  запись

     не упорядочена, команда MERGE выдает  при  завершении

     операции об'единения сообщение

     %SOR_E_BAD_ORDER, INPUT FILE [N] IS OUT OF ORDER

/COLLATING_SEQUENCE=последовательность

     - квалификатор /COLLATING_SEQUENCE определяет исполь-

     зуемый при об'Eдинении записей тип кодирования симво-

     лов (кои-8 или дкои). По умолчанию команда MERGE  ис-

     пользует тип кодирования КОИ-8.  Если  команда  MERGE

     использует тип кодирования дкои,  записи  остаются  в

     том же виде, т. е. в кодах дкои, а об'единение  запи-

     сей производится, используя тип кодирования КОИ-8.

/DUPLICATES

/NODUPLICATES

     - квалификатор /DUPLICATE при  об'единении  сохраняет


                          - 237 -

                     00152-01 97 14-1


     записи с одинаковыми ключевыми  полями.  Квалификатор

     /NODUPLICATES удаляет все записи с одинаковыми ключе-

     выми полями, кроме одной. При этом не известно, какая

     запись сохранена. Для указания, какую из  дублирующих

     записей сохранить, необходимо вызвать MERGE на  прог-

     раммном уровне и указать  соответствующие  аргументы.

     Квалификаторы /STABLE и /NODUPLICATES взаимно  исклю-

     чают друг друга. По умолчанию используется квалифика-

     тор /DUPLICATE.

/KEY=(поле[,...])

     - квалификатор /KEY определяет ключевое поле, по  ко-

     торому производится об'единение файлов. При Oпределе-

     нии ключевого поля задается позиция, размер поля, по-

     рядок и тип данных. Если ключевое поле  начинается  с

     первой позиции, включает в себя всю запись,  содержит

     символьные данные и ранее уже была  выполнена  сорти-

     ровка записей в алфавитном порядке,  то  квалификатор

     /KEY можно не указывать.

     Ключевое поле задается ключевыми словами, которые от-

     деляются друг от друга запятыми и должны быть  заклю-

     чены в круглые скобки.

     Обязательные ключевые слова:

     - POSITION:N  -  определяет  позицию  ключевого  поля

     внутри записи. Первый символ каждой записи размещает-

     ся с первой позиции;

     - SIZE:N - определяет размер ключевого поля в  симво-

     лах, байтах или цифрах, в зависимости ОТ ТИпа  данных

     в ключевом поле. Допустимыми размерами являются  сле-

     дующие:

     1) для символьных данных - от 1 до 32767 байтов;


                          - 238 -

                     00152-01 97 14-1


     2) для двоичных данных - 1, 2, 4, 8 и 16 байтов;

     3) для любого десятичного типа данных - от  1  до  31

     цифры.

     Общий размер всего ключевого поля должен быть  меньше

     32767 байтов.

     Необязательные ключевые слова:

     - NUMBER:N - определяет порядок использования  ключе-

     вого поля, если об'Eдинение выполняется по нескольким

     ключевым полям.

     Если это ключевое поле не указано, в первом  квалифи-

     каторе /KEY, предполагается NUMBER:1, т. е. об'едине-

     ние начнется с ключевого поля, указанного в этом ква-

     лификаторе. Если ключевое слово NUMBER:N не указано и

     во всех последующих квалификаторах /KEY, значением по

     умолчанию для N является увеличенное на 1 значение N,

     использованное в предыдущем квалификаторе /KEY. N мо-

     жет иметь значение от 1 до 255;

     - BINARY - указывает,  что  данные  в  ключевом  поле

     представлены в двоичном виде. Если тип данных не ука-

     зан, MERGE предполагает,  что  данные  являются  сим-

     вольными;

     - DECIMAL - указывает, что ключевое поле содержит де-

     сятичные данные. Если тип данных не  указан,  команда

     MERGE предполагает, что данные являются символьными;

     - CHARACTER - указывает, что ключевое  поле  содержит

     символьные данные. Если тип данных не указан, команда

     MERGE предполагает, что данные являются символьными;

     - D_FLOATING - указывает, что ключевое поле  содержит

     данные в виде чисел с плавающей запятой в D_ формате.

     если тип данных не указан, команда MERGE  предполага-


                          - 239 -

                     00152-01 97 14-1


     ет, что данные являются символьными;

     - F_FLOATING - указывает, что ключевое поле  содержит

     данные в виде чисел с плавающей запятой в  F_формате.

     Если тип данных не указан, команда MERGE предполаега-

     ет, что данные являются символьными;

     - G_FLOATING - указывает, что ключевое поле  содержит

     данные в виде чисел с плавающей запятой в  G_формате.

     Если тип данных не указан, команда MERGE  предполага-

     ет, что данные являются символьными;

     - H_FLOATING - указывает, что ключевое поле  содержит

     данные в виде чисел с плавающей запятой в  H_формате.

     Если тип данных не указан, команда MERGE  предполага-

     ет, что данные являются символьными;

     - PACKED_DECIMAL - указывает, что ключевое  поле  со-

     держит упакованные десятичные данные. Если тип данных

     не указан, команда MERGE предполагает, что данные яв-

     ляются символьными;

     - ZONED - указывает, что ключевое поле содержит  дан-

     ные в зонном формате. Если тип данных не указан,  ко-

     манда MERGE предполагает, что  данные  являются  сим-

     вольными;

     - SIGNED - указывает, что ключевое поле содержит дан-

     ные в двоичном формате со знаком;

     - UNSIGNED - указывает, что  ключевое  поле  содержит

     данные в двоичном формате без знака;

     - LEADING_SIGN - означает, что для  десятичного  типа

     данных знак указывается в начале ключевого поля. Если

     тип данных ключевого поля указан как десятичный и при

     этом  не  указаны  ключевые  слова  LEADING_SIGN  или

     TRAILING_SIGN, то по умолчанию данные рассматриваются


                          - 240 -

                     00152-01 97 14-1


     как TRAILING_SIGN;

     - TRAILING_SIGN - означает, что для десятичного  типа

     данных знак указывается в конце ключевого поля.  Если

     тип данных ключевого поля указан как десятичный и при

     этом  не  указаны  ключевые  слова  LEADING_SIGN  или

     TRAILING_SIGN, то по умолчанию данные рассматриваются

     как TRAILING_SIGN;

     - OVERPUNCHED_SIGN - указывает, что знак числа накла-

     дывается на содержащиеся в ключевом  поле  десятичные

     данные. Если тип данных ключевого поля указан как де-

     сятичный  и  при  этом  не  указаны  ключевые   слова

     OVERPUNCHED_SIGN или SEPARATE_SIGN, то  по  умолчанию

     данные являются типа OVERPUNCHED_SIGN;

     - SEPARATE_SIGN - указывает, что знак  числа  отделен

     от содержащихся в ключевом  поле  десятичных  данных.

     Если тип данных ключевого поля указан как  десятичный

     и при этом не указаны ключевые слова OVERPUNCHED_SIGN

     или SEPARATE_SIGN, по умолчанию данные являются  типа

     OVERPUNCHED_SIGN;

     - ASCENDING - указывает,  что  ключевые  поля  должны

     об'единяться C учетом алфавитного порядка или  в  по-

     рядке возрастания числовых значений, в зависимости от

     типа данных, содержащихся в ключевом поле. По умолча-

     ния квалификатор /KEY используется с ключевым  словом

     ASCENDING;

     - DESCENDING - указывает, что  ключевые  поля  должны

     об'единяться в порядке, обратном алфавитному, либо  в

     порядке уменьшения числовых значений,  в  зависимости

     от типа данных, содержащихся в ключевом поле;


                          - 241 -

                     00152-01 97 14-1


/SPECIFICATION=спец_файла

     - квалификатор /SPECIFICATION указывает файл специфи-

     каций, который содержит командные квалификаторы прог-

     раммы MERGE, включая определения ключевых полей. Если

     Kвалификатор /SPECIFICATION не указан,  то  командные

     квалификаторы должны быть указаны  в  команде  MERGE.

     при задании спецификации файла не допустимо указывать

     символы обобщения.

/STABLE

/NOSTABLE

     - квалификатор /STABLE указывает, что при об'единении

     записей должен быть сохранен исходный порядок  распо-

     ложения записей с одинаковыми ключевыми полями.  Этот

     порядок определяется  порядком  задания  спецификаций

     файлов  в  командной  строке.  Если  издана   команда

     MERGE/STABLE X, Y и если запись из файла X.DAT и  за-

     пись из файла Y.DAT имеют одинаковые  ключевые  поля,

     то запись из файла X.DAT будет записываться в  вывод-

     ной файл до того, как в него будет помещена запись из

     файла Y.DAT. Если квалификатор /STABLE не указан,  то

     порядок об'единения записей с  одинаковыми  ключевыми

     полями непредсказуем.

/STATISTICS

/NOSTATISTICS

     - квалификатор /STATISTICS указывает, что  после  за-

     вершения операции об'единения должна быть распечатана

     суммарная статистика. По умолчанию суммарная  статис-

     тика не распечатывается.

     файловые квалификаторы

     /FORMAT=(атрибут_файла[,...])


                          - 242 -

                     00152-01 97 14-1


     /ALLOCATION=N

     /BUCKET_SIZE=N

     /CONTIGUOUS

     /FORMAT=(формат_записи[,...])

     /INDEXED_SEQUENTIAL

     /OVERLAY

     /RELATIVE

     /SEQUENTIAL

     Файловые квалификаторы, указываемые с вводными файла-

ми

/FORMAT=(атрибут_файла[,...])

     - квалификатор /FORMAT определяет  атрибуты  вводного

     файла для изменения существующих атрибутов файла, ко-

     торые MERGE обычно получает, используя систему управ-

     ления данными СУД-32. Можно указать одно или  оба  из

     следующих ключевых слов:

     1) RECORD_SIZE:N  -  задает  размер  в  байтах  самой

     большой записи. При этом игнорируется размер  записи,

     указанный  в  заголовке файла или  в  метке файла. Не

     допустимо указывать размер записи для вводного файла,

     если вводный файл не находится на диске, или если из-

     вестен размер самой большой записи.

     Для файлов с последовательной организацией может быть

     указано 32767 байтов в качестве размера самой большой

     записи, для файлов  с  относительной  организацией  -

     16383 байта, для файлов  с  индексно-последовательной

     организацией - 16362 байта;

     2) FILE_SIZE:N - определяет размер файла в блоках для

     файла, который не находится на диске. Если для  ввод-

     ного файла не указан размер, MERGE использует  значе-


                          - 243 -

                     00152-01 97 14-1


     ние по умолчанию (1000 блоков).  Максимальный  размер

     файла,   который   может   быть   задан,   составляет

     4294967295 блоков.

     Файловые квалификаторы, указываемые с  выводным  фай-

   лом

/ALLOCATION=N

     - квалификатор /ALLOCATION задает число 512-  байтных

     блоков, которые должны быть  выделены  для  выводного

     файла. По умолчанию число выделяемых  блоков  зависит

     от числа отсортированных записей. N  может  принимать

     значения от 1 до 4294967295.

/BUCKET_SIZE=N

     - квалификатор /BUCKET_SIZE задает число  512-байтных

     блоков в бакете  для  выводного  файла.  Максимальное

     значение, которое может принимать  N,  составляет  32

     блока. Если размер бакета не указан, то размер бакета

     выводного файла такой же, как и первого вводного фай-

     ла.

/CONTIGUOUS

     - квалификатор /CONTIGUOUS уKAзывает, что для  вывод-

     ного файла должно быть выделено на диске  непрерывное

     адресное  пространство.  Если   указан   квалификатор

     /CONTIGUOUS, то необходимо также задать и  квалифика-

     тор /ALLOCATION для того, чтобы указать число блоков,

     которые должны быть выделены для выводного файла.

     по умолчанию команда MERGE создает выводной файл,  не

     являющийся непрерывным.

/FORMAT=(формат_записи[,...])

     - квалификатор /FORMAT определяет формат  записи  для

     выводного файла. Можно указать одно или несколько  из


                          - 244 -

                     00152-01 97 14-1


     следующих ключевых слов:

     1) CONTROLLED[:N] - указывает, что выводной файл бу-

     дет содержать записи переменной  длины с  контролем.

     N - размер самой большой записи в выводном файле. Ес-

     ли N не указано, по умолчанию N равно  размеру  самой

     большой записи во вводном файле;

     2) FIXED[:N] - указывает, что выводной файл будет со-

     держать записи фиксированной длины. N - размер  самой

     большой записи в выводном файле. Если N  не  указано,

     по умолчанию N равно длине самой  большой  записи  во

     вводном файле;

     3) VARIABLE[:N] - указывает, что выводной файл  будет

     содержать записи переменной длины. N -  размер  самой

     большой записи в выводном файле. Если N  не  указано,

     по умолчанию N равно размеру самой большой записи  во

     вводном файле. Максимальное значение,  которое  можно

     указать для N, составляет 16383 байта;

     4) SIZE:N - определяет размер в байтах фиксированной

     части записи с контролем. Максимальное значение,  ко-

     торое может быть указано для N, равно 255 байтов. Ес-

     ли указано ключевое слово  CONTROLLED[:N],  а  размер

     фиксированной части не задан с помощью ключевого сло-

     ва SIZE:N, то команда MERGE использует по умолчанию 2

     байта для фиксированной части записи с контролем;

     5) BLOCK_SIZE:N - указывает размер блока в байтах для

     выводного файла, который будет размещаться на магнит-

     ной ленте. По умолчанию MERGE использует размер  бло-

     ка, определенный для  вводного  файла,  если  вводной

     файл размещен на магнитной ленте. Если  вводный  файл

     не находится на магнитной ленте, то MERGE  использует


                          - 245 -

                     00152-01 97 14-1


     по умолчанию размер блока, указанный во время  монти-

     рования магнитной ленты, на которой будет размещаться

     выводной файл. В качестве размера блока можно указать

     значения в диапазоне от 20 до  65535  байтов,  однако

     рекомендуется указывать значение N меньшим 2048  бай-

     тов.

/INDEXED_SEQUENTIAL

     - квалификатор  /INDEXED_SEQUENTIAL  определяет,  что

     выводной файл будет  иметь  индексно-последовательную

     организацию.      Если      указан       квалификатор

     /INDEXED_SEQUENTIAL, то выводной файл с индексной ор-

     ганизацией должен существовать и должен быть  пустым.

     Квалификатор /INDEXED_SEQUENTIAL указывается для  то-

     го, чтобы создать  файл  с  индексно-последовательной

     организацией из вводного файла  с  относительной  или

     последовательной организацией;

/OVERLAY

     - квалификатор /OVERLAY указывает, что содержимое су-

     ществующего  выводного  файла  должно   перекрываться

     об'единенными записями из вводных файлов.  По умолча-

     нию создается новый выводной файл.

/RELATIVE

     - квалификатор /RELATIVE указывает, что выводной файл

     будет иметь относительную организацию.  По  умолчанию

     выводной файл имеет такую же оргAнизацию, что и ввод-

     ной файл. Квалификатор /RELATIVE  используется  также

     для того, чтобы создать выводной файл с относительной

     организацией из вводного файла с последовательной или

     индексно-последовательной организацией.


                          - 246 -

                     00152-01 97 14-1


/SEQUENTIAL

     - квалификатор /SEQUENTIAL указывает на то,  что  вы-

     водной файл будет иметь последовательную организацию.

     квалификатор /SEQUENTIAL указывается при создании вы-

     водного файла, организация которого должна отличаться

     от организации вводного файла.

     Пример.

> MERGE/KEY=(PO:1,SI:30) TRNTO::[PGM]FILE1.SRT, FILE2.SRT-

>_ MERGEFILE.DAT

     Эта команда MERGE об'единяет два вводных файла,  рас-

положенных на удаленном узле TRNTO в каталоге [PGM], в вы-

водной файл MERGEFILE.DAT, который  будет  создан  на  ло-

кальном узле.



     4.31. Команда MOUNT



     Команда  MOUNT  делает  доступными  для  системы  или

пользовательских программ дисковый том, том  на  магнитной

ленты или набор томов и содержащиеся на них данные.

     Формат

MOUNT имя_устр:[,...] [метка_тома[,...]] [лог_имя[:]]

где имя_устр - задает имя физического устройства или логи-

ческое имя устройства, на котором должен  быть  монтирован

том. Когда монтируется набор томов, можно  указывать  нес-

колько имен устройств, которые должны быть разделены  зна-

ками (,) или (+). Если монтируются тома на магнитных  лен-

тах, можно указать меток тома больше, чем имен  устройств.

если вслед за именем устройства указан  символ  (:),  этот

символ игнорируется;

    метка_тома - указывает  алфавитно-цифровую  метку, за-


                          - 247 -

                     00152-01 97 14-1


писанную на томе при его инициации. Для дисковых  томов  с

файловой структурой уровней 1 и 2 метка тома может  содер-

жать до 12 символов; для томов на магнитных лентах - до  6

символов. Если  указано  несколько  меток  томов,  то  они

должны отделяться друг от друга символами (,) или (+). То-

ма должны находиться в одном наборе томов, и метки  должны

быть указаны в правильном порядке. Параметр метка_тома  не

требуется, когда том монтируется с квалификатором /FOREIGN

или с квалификатором /OVERRIDE=IDENTIFICATION. В этом слу-

чае в поле этого параметра можно  указать  любые  алфавит-

но-цифровые символы;

    лог_имя - алфавитно-цифровая  строка длиной  от  1  до

255 символов, представляющая собой логическое имя, связан-

ное с устройством. Это логическое имя может  в  дальнейшем

использоваться для обращения к тому или набору томов в ко-

мандах и программах. Если логическое имя не  указано,  ко-

манда  MOUNT  назначает  по   умолчанию   логическое   имя

DISK$метка_тома дисковым устройствам и  TAPE$метка_тома  -

устройствам на магнитных лентах. Если не указаны  квалифи-

каторы /GROUP или /SYSTEM, команда MOUNT помещает логичес-

кое имя в таблицу логических имен  процесса.  В  противном

случае логическое имя помещается, соответственно, в табли-

цу групповых или системных логических имен.  Если  указано

несколько устройств и одно логическое имя, это  логическое

имя назначается всем устройствам.

     Командные квалификаторы

     /ACCESSED=N                       (D)

     /[NO]ASSIST                       (D,T)

     /[NO]AUTOMATIC                    (T)

     /BIND=имя_набора_TOMOв            (D)


                          - 248 -

                     00152-01 97 14-1


     /[NO]BLOCK[=N]                    (T)

     /[NO]CACHE[=(выбор[,...])]        (D)

     /COMMENT="строка"                 (D,T)

     /[NO]DATA_CHECK[=(выбор, ...)]    (D,T)

     /DENSITY=N                        (T)

     /EXTENSION=N                      (D)

     /FOREIGN                          (D,T)

     /GROUP                            (D)

     /[NO]HDR3                         (T)

     /[NO]LABEL                        (T)

     /[NO]MESSAGE                      (D,T)

     /[NO]MOUNT_VERIFICATION           (D)

     /OVERRIDE=(выбор[,...])           (D,T)

     /OWNER_UIC=[гр., чл.]             (D,T)

     /PROCESSOR=выбор                  (D,T)

     /PROTECTION=код                   (D,T)

     /[NO]QUOTA                        (D)

     /RECORDSIZE=N                     (T)

     /[NO]SHARE                        (D)

     /SYSTEM                           (D)

     /[NO]UNLOAD                       (D)

     /WINDOWS=N                        (D)

     /[NO]WRITE                        (D,T)

     Обозначение (D)  означает,  что  данный  квалификатор

употребляется для диска, (T) - для ленты, (D,T) - для дис-

ка и магнитной ленты.

     Квалификаторы, применимые для дисков и лент

/ASSIST

/NOASSIST

     - квалификатор /ASSIST  разрешает вмешательство  опе-


                          - 249 -

                     00152-01 97 14-1


     ратора или пользователя при ошибке монтирования. Если

     указан квалификатор /ASSIST, пользователь и некоторые

     классы операторов получают сообщение при  возникнове-

     нии ошибки монтирования. В этом случае  оператор  или

     пользователь может либо прервать  монтирование,  либо

     устранить причину ошибки и  продолжить  монтирование.

     Сообщения посылаются всем операторам, которым  разре-

     шено получать сообщения такого типа. Более  подробная

     информация содержится в описании команды  REPLY  [1].

     Любой ответ оператора на запрос, издаваемый  командой

     MOUNT, записывается по логическому  имени  SYS$OUTPUT

     для вывода на терминал пользователя или  в  файл  ре-

     гистрации сообщений пакетного задания. Если ни одному

     оператору не разрешено получать  запросы,  издаваемые

     командой MOUNT, и отвечать на них, то выводится сооб-

     щение, информирующее пользователя о возникшей  ситуа-

     ции. Если запрос, издаваемый командой MOUNT, был  вы-

     дан из пакетного задания, монтирование  прекращается,

     т. к. нет способа исправить возникшую ошибку.

/COMMENT="строка"

     - квалификатор /COMMENT  задает строку, которая вклю-

     чается в запрос оператору, издаваемый командой MOUNT,

     если при монтировании требуется вмешательство  опера-

     тора. Квалификатор /COMMENT используется с квалифика-

     тором /ASSIST. Заданная  строка  текста  выводится  в

     файл регистрации сообщений  оператора  и  на  текущее

     устройство SYS$OUTPUT. Если строка не заключена в ка-

     вычки, то символы строки преобразуются в прописные  и

     из строки удаляются пробелы и символы табуляции.


                          - 250 -

                     00152-01 97 14-1


/DATA_CHECK[=(выбор,...)]

     - квалификатор /DATA_CHECK определяет, что  вслед  за

     каждой операцией чтения с тома и записи на том должна

     следовать операция проверки. Эта операция  сравнивает

     данные на диске с данными в памяти, чтобы  убедиться,

     что передача данных прошла успешно. Можно задать один

     из следующих выборов или оба:

     1) READ - выполнять проверку после всех операций чте-

     ния;

     2) WRITE - выполнять проверку после всех операций за-

     писи.

     если  задан  квалификатор  /DATA_CHECK без выбора, то

     по   умолчанию       используется        квалификатор

     /DATA_CHECK=WRITE.

/FOREIGN

     - квалификатор /FOREIGN определяет, что  формат  тома

     отличается от стандартного формата,  используемого  в

     системе МОС ВП.  Если  этот  квалификатор  не  задан,

     предполагается, что дисковый том или том на магнитной

     ленте имеют формат файловой системы МОС ВП. Если  за-

     дан квалификатор /FOREIGN, то программа, которая  бу-

     дет работать с этим томом, должна  иметь  возможность

     обработать метки тома, если они есть. Например, ленту

     в формате дос следует  монтировать  с  квалификатором

     /FOREIGN и использовать для работы с ней  обслуживаю-

     щую программу FLX. По умолчанию чужой том  защищается

     таким образом, что доступ на чтение  и  запись  имеют

     системный пользователь и владелец тома. Любой катего-

     рии пользователей, имеющей доступ к чужому тому   для

     чтения и записи, разрешен также доступ к тому для ло-


                          - 251 -

                     00152-01 97 14-1


     гического и физического ввода-вывода. Чтобы  защитить

     чужой том, следует задать  квалификатор  /PROTECTION.

     Если том имеет формат файловой системы  МОС  ВП,  для

     того, чтобы монтировать  его  как  чужой,  необходимо

     иметь привилегию  VOLPRO  или  быть  владельцем  тома

     (иметь тот же UIC).

/MESSAGE

/NOMESSAGE

     - квалификатор /MESSAGE  определяет,  что  сообщения,

     издаваемые командой MOUNT, должны выводиться на теку-

     щее устройство SYS$OUTPUT. Если при монтировании  на-

     ряду с квалификатором /ASSIST также задан  квалифика-

     тор /NOMESSAGE, то сообщения не выводятся на  текущее

     устройство SYS$OUTPUT, но выводятся на консоль опера-

     тора.

/OVERRIDE=(выбор[,...])

     - квалификатор /OVERRIDE  запрещает  одну  или  более

     проверок защиты, выполняемых командой MOUNT:

     1) аCCESSIBILITY (только для лент) - позволяет  игно-

     рировать непустые поля доступности в метках HDR1  или

     VOL1. Для этого необходимо  иметь  привилегию  VOLPRO

     или быть владельцем тома;

     2) EXPIRATION (только для лент) - позволяет запись на

     ленту, которая не достигла срока истечения. Для этого

     необходимо иметь привилегию VOLPRO или UIC, совпадаю-

     щий с UIC, записанным на  томе;

     3) IDENTIFICATION - позволяет монтировать том,  когда

     неизвестна   его   метка.   Если   задан   квалифика-

     тор /OVERRIDE=IDENTIFICATION, то параметр  метка_тома

     в команде MOUNT можно  опустить  или  указать  произ-


                          - 252 -

                     00152-01 97 14-1


     вольную метку, т. К. Комантда  MOUNт  ее  игнорирует.

     Том должен быть монтирован с квалификатором  /NOSHARE

     (явно     или     по     умолчанию).     Квалификатор

     /OVERRIDE=IDENTIFICATION аналогичен по своим действи-

     ям ключу /OVR Kоманды MOUNT в  системе ОС РВ;

     4) LOCK - указывает команде MOUNT не блокировать опе-

     рацию записи на том при возникновении на  нем  ошибок

     во время монтирования. Эта возможность  используется,

     когда монтируется поврежденный том для его восстанов-

     ления обслуживающей программой VERIFY системы МОС  ВП

     под управлением MCR. Чтобы  использовать  этот  выбор

     необходимо иметь привилегию VOLPRO или быть  владель-

     цем тома;

     5) SETID (для лент, не имеющих стандартных меток)  -

     позволяет игнорировать проверку идентификатора набора

     файлов при переходе на другую бобину из  многотомного

     набора лент.

     Если для квалификатора /OVERRIDE задано несколько вы-

     боров, они должны быть отделены друг от друга запяты-

     ми и весь список должен быть заключен в скобки.

     Если      в      команде      MOUNT      квалификатор

     /OVERRIDE=(ACCESSIBILITY,EXPIRATION) указан вместе  с

     квалификатором /FOREIGN и пользователь имеет привиле-

     гию   VOLPRO,   то   лента   читаться    не    будет.

/OWNER_UIC=[гр.,чл.]

     - квалификатор /OWNER_UIC определяет указанный UIC  в

     качестве UIC владельца тома при монтировании дисково-

     го или ленточного тома, игнорируя тем самым UIC  вла-

     дельца, записанный на томе. Если  том  монтируется  с

     квалификатором /FOREIGN, необходимо, чтобы с квалифи-


                          - 253 -

                     00152-01 97 14-1


     катором /OWNER_UIC был задан UIC, отличный от текуще-

     го. Квадратные скобки требуются синтаксисом. Для  то-

     го, чтобы использовать квалификатор /OWNER_UIC  необ-

     ходимо иметь привилегию VOLPRO  или  быть  владельцем

     тома.

/PROCESSOR=выбор

     - квалификатор  /PROCESSOR  позволяет  контролировать

     имеет ли том свой собственный вспомогательный  управ-

     ляющий процесс (аср) и какой образ аср процесс выпол-

     няет. Могут быть заданы следующие возможности:

     1) UNIQUE - создает  новый   процесс,  который  будет

     содержать копию образа аср, используемого по  умолча-

     нию для данного типа устройства  или  контроллера;

     2) SAME:устр - требует, чтобы  использовался  тот  же

     процесс аср, который в данный момент используется для

     указанного устройства;

     3) файл_спец - создает новый процесс, содержащий  за-

     данный образ аср (например, модифицированный аср).

     Для использования квалификатора /PROCESSOR необходимо

     иметь привилегию OPER.

/PROTECTION=код

     - квалификатор /PROTECTION задает код защиты, который

     должен быть назначен диску или ленте. При  выполнении

     любой операции над любым файлом на  томе  выполняется

     контроль защиты тома и  контроль  защиты  конкретного

     файла.

     Код, указываемый в квалификаторе /PROTECTION, задает-

     ся в  соответствии  со  стандартными  синтаксическими

     правилами для кодов защиты (см. П. 2.7.5.). Если  код

     защиты не задан, по умолчанию используется  код защи-


                          - 254 -

                     00152-01 97 14-1


     ты, указанный при инициации тома. Код защиты,  задан-

     ный этим квалификатором имеет преимущество над  защи-

     той,  заданной  какими-либо  другими  квалификаторами

     (например, /SYSTEM или /GROUP). Единственным исключе-

     нием является квалификатор /NOWRITE.

/UNLOAD

/NOUNLOAD

     - квалификатор /UNLOAD управляет разгрузкой дискового

     тома или тома на магнитной ленте во время его  демон-

     тирования. Значением по умолчанию является /UNLOAD.

/WRITE

/NOWRITE

     - квалификатор /WRITE указывает, что  можно  произво-

     дить запись на том. По умолчанию ( /WRITE)  TOM  дос-

     тупен для чтения и записи. При указании квалификатора

     /NOWRITE обеспечивается защита файлов, т. к. доступ к

     файлам осуществляется только для чтения.

     Квалификаторы, применимые только для дисков

/ACCESSED=N

     - квалификатор /ACCESSED задает число каталогов,  ко-

     торые одновременно будут использоваться на диске. Мо-

     жет быть задано числовое значение от 0  до  255,  при

     этом игнорируется значение по умолчанию, заданное при

     инициациии тома. Число N задается как десятичное. Для

     использования  квалификатора   /ACCESSED   необходимо

     иметь привилегию OPER.

/BIND=имя_набора_томов

     - квалификатор /BIND создает набор  томов,  состоящий

     из одного или нескольких дисков, или добавляет том  к

     существующему набору.  Имя_набора_томов  представляет


                          - 255 -

                     00152-01 97 14-1


     собой символьное имя, идентифицирующее  набор  томов,

     длиной от 1 до 12 символов.

     При создании набора томов их метки задаются в команде

     MOUNT параметром метки_тома. Каждому тому  присваива-

     ется относительный номер,  представляющий  собой  его

     номер в этом списке. Первый указанный  в  списке  том

     называется корневым томом набора томов.

     При добавлении одного или нескольких томов  к  набору

     томов, первой указанной в списке меткой  должна  быть

     метка корневого тома, если корневой том  находится  в

     состоянии готовности.

/CACHE=(выбор[,...])

/NOCACHE

     - квалификатор /CACHE указывает,  будут  ли  отменены

     или перекрыты пределы кэша для  дисков,  заданные  во

     время генерации системы. С  помощью  соответствующего

     выбора могут быть изменены один или несколько  преде-

     лов:

     1) [NO]EXTENT[=N] - разрешает или отменяет  кэширова-

     ние экстентов. Необходимо иметь привилегию  оператора

     OPER и указать N - число элементов в кэше  экстентов.

     Указание NOEXTENT или EXTENT=0  отменяет  кэширование

     экстентов;

     2) [NO]FILE_ID[=N] - отменяет или разрешает кэширова-

     ние идентификаторов файлов. N представляет собой чис-

     ло элементов в кэше идентификаторов файлов  и  должно

     быть  числом,  большим  1.  Указание  FILE_ID=1   или

     NOFILE_ID отменяет кэширование  идентификаторов  фай-

     лов. При использовании этого выбора необходимо  иметь

     привилегию оператора OPER;


                          - 256 -

                     00152-01 97 14-1


     3) LIMIT=N - задает максимальное количество свободно-

     го пространства в кэше экстентов в тысячных долях  от

     текущего свободного пространства на диске;

     4) [NO]QUOTA[=N] - OTMEняет или разрешает кэширование

     квот. Необходимо иметь привилегию  оператора  OPER  и

     указать N - число элементов в кэше квот. Обычно N бе-

     рется равным максимальному ожидаемому числу  активных

     пользователей, работающих с диском, для которого кво-

     ты разрешены. Указание NOQUOTA или QUOTA=0  запрещает

     кэширование квот;

     5) WRITETHROUGH - запрещает запись информации из кэша

     на диск, однако при этом записываются заголовки  фай-

     лов, открытых для записи, когда эти файлы  закрывают-

     ся. Таким образом, если  указан  выбор  WRITETHROUGH,

     заголовки файлов записываются на диск при каждой опе-

     рации с заголовками файлов.

     Когда указывается несколько выборов, они должны  быть

     отделены друг от друга запятыми и весь список  должен

     быть заключен в круглые скобки. Квалификатор /NOCACHE

     запрещает всякое кэширование для дискового тома. Ука-

     зание  квалификатора  /NOCACHE  равносильно  указанию

     /CACHE=(NOEXTENT,NOFILE_ID,NOQUOTA,WRITETHROUGH).

/EXTENSION=N

     - квалификатор /EXTENSION  задает  количество  блоков

     для расширения файла. Это значение может быть измене-

     но по запросу из команды или программы. Число N может

     быть в пределах от 0 до 65535 и интерпретируется  как

     десятичное число. Если /EXTENSION не  задан,  берется

     значение, указанное при инициации тома.


                          - 257 -

                     00152-01 97 14-1


/GROUP

     - квалификатор /GROUP делает том доступным для любого

     пользователя, имеющего тот же  номер  группы  в  коде

     идентификации, что и пользователь, который издал  ко-

     манду MOUNT. Этим пользователям не требуется выдавать

     команду MOUNT, чтобы получить доступ к тому.  Однако,

     проверяется   защита   тома.   Логическое   имя   для

     устройства, указанное в команде MOUNT,  помещается  в

     таблицу групповых логических имен.  Для  того,  чтобы

     поместить имя в таблицу  групповых  логических  имен,

     надо иметь соответствующие привилегии. Том, смонтиро-

     ванный с квалификатором /GROUP, остается  монтирован-

     ным до тех пор, пока он не будет  явно  демонтирован;

     он не демонтируется автоматически, когда работающие с

     ним пользователи завершают работу в системе. Если ко-

     манда MOUNT выдается для тома, уже смонтированного  с

     квалификатором /GROUP, следует использовать  квалифи-

     катор /SHARE. Все остальные квалификаторы игнорируют-

     ся.

/MOUNT_VERIFICATION

/NOMOUNT_VERIFICATION

     - квалификатор /MOUNT_VERIFICATION определяет необхо-

     димость проверки монтирования для данного устройства.

     значением по умолчанию для этого квалификатора  явля-

     ется /MOUNT_VERIFICATION.

/QUOTA

/NOQUOTA

     - квалификатор /QUOTA указывает,  что  должны  прове-

     ряться дисковые квоты на  данном  томе.  Квалификатор

     /QUOTA (значение по умолчанию) вызывает проверку квот


                          - 258 -

                     00152-01 97 14-1


     для каждого пользователя. Квалификатор  /NOQUOTA  по-

     давляет проверку квот. Для пользования данным  квали-

     фикатором необходимо иметь привилегию VOLPRO или быть

     владельцем тома.

/SHARE

/NOSHARE

     - квалификатор /SHARE  указывает,  что  том  является

     разделяемым.  Если  том  уже  был  монтирован  другим

     пользователем с квалификатором /SHARE и вновь  запра-

     шивается его монтирование  с  квалификатором  /SHARE,

     все остальные указанные квалификаторы будут игнориро-

     ваться. Том, смонтированный с квалификатором  /SHARE,

     автоматически демонтируется, когда все  работающие  с

     ним пользователи завершат работу в системе. По  умол-

     чанию команда MOUNT предполагает, что том не является

     разделяемым и закрепляет его за пользователем, издав-

     шим команду монтирования тома. Если для ранее закреп-

     ленного устройства при монтировании указан квалифика-

     тор /SHARE, то устройство открепляется.

/SYSTEM

     - квалификатор /SYSTEM делает дисковый том  доступным

     всем пользователям системы МОС ВП, если защита  тома,

     основанная на UIC, позволяет  им  такой  доступ.  При

     этом пользователи не должны выдавать  команду  MOUNT,

     чтобы  получить  доступ  к   тому.   Логическое   имя

     устройства, указанное в команде MOUNT,  помещается  в

     таблицу системных логических  имен.  Чтобы  поместить

     имя в таблицу системных логических имен, нужно  иметь

     соответствующую  привилегию.  Том,  смонтированный  с

     квалификатором /SYSTEM, остается монтированным до тех


                          - 259 -

                     00152-01 97 14-1


     пор, пока он не будет явно демонтирован; он не демон-

     тируется автоматически, когда все  работающие  с  ним

     пользователи завершат работу в системе. Если выдается

     команда MOUNT для тома, уже смонтированного с  квали-

     фикатором /SYSTEM, следует использовать  квалификатор

     /SHARE. Все остальные квалификаторы игнорируются.

/WINDOWS=N

     -  квалификатор  /WINDOWS  задает  число   указателей

     извлечения, которые могут быть использованы при отоб-

     ражении данных, когда открываются файлы дискового то-

     ма. Если квалификатор /WINDOWS не задан, число указа-

     телей определяется значением, указанным при инициации

     тома. Значение N интерпретируется как десятичное чис-

     ло. Для использования квалификатора /WINDOWS требует-

     ся привилегия OPER.

     квалификаторы, применимые  только к магнитным лентам

/AUTOMATIC

/NOAUTOMATIC

     - квалификатор  /AUTOMATIC  определяет,  что  команда

     MOUNT разрешает автоматическое переключение и  марки-

     ровку для магнитных лент.  Если  указан  квалификатор

     /NOAUTOMATIC, то вспомогательный управляющий  процесс

     магнитной ленты MTAACP требует вмешательства операто-

     ра  для  того,  чтобы  переключиться   на   следующее

     устройство во время обработки конца ленты.  Необходи-

     мо, чтобы оператор указал метку для каждой новой лен-

     ты, добавляемой к набору томов.

/BLOCK=N

/NOBLOCK

     - квалификатор /BLOCK устанавливает для ленты  размер


                          - 260 -

                     00152-01 97 14-1


     блока по умолчанию на указанное  число  байтов.  Если

     указан квалификатор /NOBLOCK, то каждый блок на ленте

     будет содержать одну запись. По умолчанию записи  пи-

     шутся на магнитную ленту блоками по 2048 байтов, если

     не заданы квалификаторы /FOREIGN и /NOLABEL;  в  про-

     тивном случае  размер блока  по умолчанию  равен  512

     байтам.

/DENSITY=N

     - квалификатор /DENSITY определяет плотность (в битах

     на мм), с которой записываются данные  на  чужой  том

     или том, не имеющий стандартной метки. Можно  указать

     плотности 32 и 64 бит/мм. Для указания плотности дол-

     жен  быть  задан  либо  квалификатор  /FOREIGN,  либо

     /NOLABEL и первой операцией, выполняемой на магнитной

     ленте, должна быть операция записи. В том случае, ес-

     ли задан квалификатор /LABEL или если первой операци-

     ей на магнитной ленте является считывание,  магнитная

     лента считывается или записывается с той  плотностью,

     с какой выполнены первые записи на ленту.

/HDR3

/NOHDR3

     - квалификатор /HDR3 указывает, что необходимо запи-

     сать стандартную метку HOR3 на  магнитную  ленту.  По

     умолчанию на магнитную ленту записывается стандартная

     метка HDR3. Для тех магнитных лент, которые будут ис-

     пользоваться в системах,  в  которых  не  допускаются

     метки  HDR3,  следует  задать  квалификатор  /HOHDR3.

 /LABEL

/NOLABEL

     - квалификатор /LABEL указывает на наличие на магнит-


                          - 261 -

                     00152-01 97 14-1


     Ной ленте стандартных меток.

     в том случае, если магнитная лента монтируется с ква-

     лификатором /NOLABEL, при считывании с магнитной лен-

     ты марки конца ленты, возвращается условие конца фай-

     ла.

     По умолчанию, защита для лент, не имеющих стандартных

     меток, предоставляет все типы доступа владельцу  тома

     и системному пользователю и запрещает любой тип  дос-

     тупа групповому и общему пользователю.

/RECORDSIZE=N

     - квалификатор /RECORDSIZE определяет число байтов  в

     каждой записи на ленте. Этот квалификатор обычно  ис-

     пользуется с квалификаторами /FOREIGN или  /BLOCKSIZE

     при  работе  с  записями   фиксированной   длины   на

     устройстве с блочной структурой. В этом случае размер

     записи должен быть меньше или  равен  размеру  блока,

     определенному по умолчанию. Размер блока может  иметь

     значения от 20 до 65532 байтов для  системы  МОС  ВП,

     имеющей СУД-32, или от 18 до 65534 байтов для системы

     мос вп без СУД-32.

     Следует использовать квалификатор /RECORDSIZE  всякий

     раз, когда монтируются магнитные  ленты,  не  имеющие

     метки HDR2. Это  обеспечивает  СУД-32  значениями  по

     умолчанию как для максимального размера записи, так и

     для длины самой большой записи.

     Примеры:

1. > ASN DQA1:=DK0:

   > @RODIN


                          - 262 -

                     00152-01 97 14-1


     MOUNT DK0:MYVOL

     %MOUNT-I-MOUNTED, MYVOL MOUNTED ON _DQA1:

        .

        .

        .

     В этом примере команда ASN определяет DQA1 как  экви-

валентное имя для логического имени DK0. Когда выполняется

косвенный командный файл RODIN.CMD, команда MOUNT,  издан-

ная для монтирования тома на DK0, фактически является зап-

росом на монтирование тома MYVOL на устройстве DQA1.

2. > MOUNT DQA1 MYVOL DISK

   % MOUNT-I-MOUNTED, MYVOL MOUNTED ON _DQA1:

     В этом примере монтируется том  MYVOL  на  устройстве

DQA1 и ему присваивается логическое имя DISK.

     Примечания:

     1. Интерпретатор команд MCR в системах ОС РВ и МОС ВП

не имеет одинаковых ключей для команды монтирования MOUNT.

     2. Нельзя закрепить устройство при интерактивном  ре-

жиме работы, а затем монтировать  его  из  косвенного  ко-

мандного  файла.  Закрепление  и  монтирование  устройства

должно производиться или в командной  процедуре,  или  при

интерактивном режиме работы.



     4.32. Оператор ON



     Оператор  уровня  серьезности  ошибки  ON  определяет

действия по умолчанию, которые  следует  принимать  в  том

случае, когда в команде или программе, выполняемой в  кос-

венном командном файле, встречается ошибочная ситуация.

     Возвращаемое значение кода состояния в системе МОС ВП


                          - 263 -

                     00152-01 97 14-1


включает в себя код уровня серьезности ошибки. Код состоя-

ния возвращается с целью  указания  успешного  выполнения,

предупреждения, ошибки или серьезной ошибки. При  выполне-

нии команды или программы значение возвращаемого кода сос-

тояния сравнивается с текущем уровнем  серьезности  ошибки

для определения последующего действия.

     Оператор уровня  серьезности ошибки  ON  используется

совместно с командой SET ON. По умолчанию, начальное  сос-

тояние для косвенного командного файла  предусмотрено  та-

ким, что оно запрещает  распознование  ошибочной  ситуации

(SET NOON). Можно разрешить распознование ошибочной ситуа-

ции путем включения команды SET ON или оператора ON в кос-

венный командный файл.

     Формат

ON уровень_серьезности THEN команда

где уровень_серьезности - определяет  уровень  серьезности

ошибки,  возникновение  которой  приводит   к   указанному

действию. Уровечнь серьезности ошибки  задается  одним  из

следующих ключевых слов:

     - WARNING - указанное  действие  предпринимается  при

возникновении предупреждающей ошибки, ошибки или серьезной

ошибки;

     - ERROR  -  указанное  действие  предпринимается  при

ошибке и серьезной  ошибке.  При  предупреждающей  ошибке,

по умолчанию, выполнение продолжается;

     - SEVERE_ERROR - указанное  действие  предпринимается

только при возникновении серьезной ошибки; при  ошибках  и

предупреждающих ошибках, по умолчанию, выполнение  продол-

жается.

     Эти ключевые слова можно сократить до одного или нес-


                          - 264 -

                     00152-01 97 14-1


кольких символов;

    команда - определяет  действие,  которое  должно  быть

предпринято в том случае, когда произошла ошибка такая  же

или более  серьезная,  чем  заданный  уровень  серьезности

ошибки. Вслед за служебным словом THEN можно указать любую

команду интерпретатора команд MCR.

     Если пользователь не включил оператор ON в  косвенный

командный файл и была выполнена команда  SET  ON,  то  ин-

терпретатор команд MCR издает команду EXIT, когда при  вы-

полнении команды или программы возникают ошибки.  Во  всех

других случаях выполнение продолжается.

     После выполнения команды, указанной в  операторе  ON,

при возникновении ошибки будет выполняться  команда  EXIT.

это умолчание действует до тех пор, пока не встретится но-

вая команда ON.

     Пример.

> @INDFILE

     RUN POMME

       .

       .

       .

     ON ERROR THEN CONTINUE

     RUN SQUASH

     RUN PEAS

       .

       .

       .

     ON SEVERE_ERROR THEN .GOTO ERR

     RUN TOMATO

     RUN PEPPER


                          - 265 -

                     00152-01 97 14-1


ERR: RUN MARKET

     EXIT

     Когда  начинается  выполнение  косвенного  командного

файла, по умолчанию, возникновение  любых  ошибок  (но  не

предупреждающих) заставляет интерпретатор команд выполнять

команду EXIT.

     После выполнения оператора ON ERROR THEN CONTINUE вы-

полнение  командного файла может быть продолжено при появ-

лении ошибки любого типа. Выполнение косвенного командного

файла продолжается после предупреждающих ошибок по умолча-

нию, а после ошибок и серьезных ошибок - в результате  вы-

полнения команды CONTINUE в операторе ON.

     После выполнения второго оператора ON, выполнение ко-

мандного  файла  можно  продолжить  после  предупреждающих

ошибок и ошибок. При возникновении серьезных  ошибок  осу-

ществляется переход к части командного файла,  помеченного

меткой ERR.

     Примечания:
     
     1. После того, как выполнится часть оператора ON, на-

ходящаяся после THEN, распознавание условия устанавливает-

ся в соответствии с оператором THEN EXIT.

     2. Любой оператор уровня серьезности ошибки ON в кос-

венном командном файле отвергает действие предыдущего опе-

ратора ON.

     3. Имеется возможность осуществлять контроль за рабо-

той интерпретатора команд MCR по проверке кода возврата  с

помощью команды SET ON.

     4. Пользователь имеет возможность использовать коман-

ду SET NOON для временного запрещения  распознования  оши-

бочной ситуации.


                          - 266 -

                     00152-01 97 14-1


     5. Интерпретатор команд MCR системы ОС  РВ  не  имеет

этой формы оператора ON.





     4.33. Команда PIP



     Команда PIP  используется  для  вызова  обслуживающей

программы PIP, которая позволяет выполнять на томах с фай-

ловой структурой операции над файлами, такие как копирова-

ние, передача и переименование файлов. В  одной  командной

строке можно указать несколько команд обслуживающей  прог-

раммы PIP, для их разделения используется знак (&).

     Формат

PIP спец_выв_файла1[,спец_выв_файла2,...]= спец_вв_файла1

[,спец_вв_файла2,...]

где спец_выв_файла - спецификация выводного файла. Если  в

спецификации выводного файла не  указано  имя  файла,  тип

файла и номер версии или при их задании использован символ

обобщения, то используются значения, определенные парамет-

ром спец_вв_файла;

     спец_вв_файла - спецификация вводного файла. Если имя

файла, тип и версия не заданы, то значением  по  умолчанию

является *.*;*.

     Командные квалификаторы и их использование  приведены

в [12].



    4.34. Команда PRINT



     Команда PRINT осуществляет постановку одного или нес-

кольких файлов, предназначенных для печати,  либо  в  оче-


                          - 267 -

                     00152-01 97 14-1


редь, определенную в системе по умолчанию, либо в очередь,

указанную пользователям в команде PRINT. Система  рассмат-

ривает файл или файлы,  поставленные  в  очередь  командой

PRINT, как задание. Каждому заданию в системе присваивает-

ся идентификатор задания.

     Формат

PRINT спец_файла

где спец_файла - спецификация файла, предназначенного  для

вывода на печать. В том случае, если указывается несколько

файлов, их спецификации следует отделять либо запятой (,),

либо знаком плюс  (+).  Команда  PRINT  об'единяет  файлы,

предназначенные для печати, в одно задание и по  умолчанию

присваивает заданию имя первого указанного в команде PRINT

файла.

     В спецификации файла можно использовать символ  обоб-

щения при указании каталога, имени файла, типа или  версии

файла. В команде PRINT не допустимо указывать имя узла се-

ти, если не указан квалификатор /REMOTE.

     Если для первого вводного файла тип файла не  указан,

команда PRINT по умолчанию использует тип файла LIS.

     Командные  квалификаторы

     /AFTER=время

     /[NO]BACKUP

     /[NO]BEFORE[=время]

     /[NO]BY_OWNER[=UIC]

     /CHARACTERISTICS=(характеристика[,...])

     /[NO]CONFIRM

     /[NO]CREATED

     /[NO]EXCLUDE=(спец.файла[,...])

     /[NO]EXPIRED


                          - 268 -

                     00152-01 97 14-1


     /FORM=тип

     /[NO]HOLD

     /[NO]IDENTIFY

     /JOB_COUNT=N

     /[NO]LOWERCASE

     /[NO]MODIFIED

     /NAME=имя_задания

     /NOTE=строка

     /[NO]NOTIFY

     /OPERATOR=строка

     /PARAMETERS=(параметр[,...])

     /PRIORITY=N

     /QUEUE=имя_очереди[:]

     /REMOTE

     /[NO]RESTART

     /[NO]SINCE[=время]

     /USER=имя_пользователя

/AFTER=время

     - квалификатор /AFTER запрашивает, чтобы  задание  не

     распечатывалось до указанного времени дня. Время  мо-

     жет быть указано как абсолютное время или как  комби-

     нация абсолютного времени и дельта-времени. Если ука-

     занное время уже прошло, задание немедленно помещает-

     ся в очередь для печати.

/BACKUP

/NOBACKUP

     - квалификатор /BACKUP позволяет  выбрать  файлы  для

     печати в соответствии с датой  их  самого  последнего

     сохранения. Этот квалификатор указывается с  квалифи-

     каторами /BEFORE или /SINCE. Недопустимо  использова-


                          - 269 -

                     00152-01 97 14-1


     ние квалификатора /BACKUP с квалификаторами /CREATED,

     /EXPIRED и /MODIFIED. По умолчанию используется  ква-

     лификатор /CREATED.

/BEFORE[=время]

/NOBEFORE

     - квалификатор /BEFORE позволяет выбрать  для  печати

     только те файлы,  которые  датируются  до  указанного

     в квалификаторе /BEFORE  времени.  Время  может  быть

     указано как абсолютное время или как комбинации абсо-

     лютного времени и дельта-времени. Для задания времени

     можно  также  использовать  ключевые   слова   TODAY,

     TOMORROW и  YESTERDAY.  Если  время  в  квалификаторе

     /BEFORE    не    указано,    предполагается    TODAY.

/BY_OWNER[=UIC]

/NOBY_OWNER

     - квалификатор /BY_OWNER позволяет выбрать для печати

     один или более файлов, UIC владельца которых совпада-

     ет с указанным в квалификаторе /BY_OWNER кодом  иден-

     тификации пользователя (UIC). Если UIC в квалификато-

     ре /BY_OWNER не указан, предполагается  UIC  текущего

     процесса.

/CHARACTERISTICS=(характеристика[,...])

     - квалификатор /CHARACTERISTICS задает одну или  нес-

     колько характеристик, требуемых  для  печати  файлов.

     если указана только одна характеристика, скобки можно

     опустить. Кодами для  характеристик  могут  быть  или

     имена, или значения от 0 до 127. Чтобы узнать,  какие

     характеристики определены в системе,  необходимо  ис-

     пользовать команду SHOW QUEUE/CHARACTERISTICS. Коман-

     да SHOW QUEUE/FULL позволяет узнать,  какие  характе-


                          - 270 -

                     00152-01 97 14-1


     ристики допустимы для каждой очереди. Задание на  пе-

     чать может быть выполнено только в том  случае,  если

     каждая из характеристик, указанная в  команде  PRINT,

     также указана и для той очереди, в которой это  зада-

     ние будет выполняться. Если в команде  PRINT  указана

     характеристика, которая не была указана для  очереди,

     в которой будет  выполняться  задание,  созданное  по

     этой команде, то задание будет помещено  в отложенное

     состояние. Чтобы такое задание было распечатано,  ад-

     министратор системы должен  приостановить  очередь  к

     построено-печатающему устройству, физически  изменить

     характеристики устройства  и  перезапустить  очередь,

     указав для нее все те  характеристики,  которые  были

     указаны  в  квалификаторе  /CHARACTERISTICS   команды

     PRINT.

     Задание на печать будет выполняться, если  в  команде

     PRINT не указаны характеристики, которые были  заданы

     для очереди к построено-печатающему устройству, в ко-

     торой  будет  выполняться   это   задание.

/CONFIRM

/NOCONFIRM

     - квалификатор /CONFIRM указывает, что  перед  каждой

     операцией печати необходимо подтверждение пользовате-

     ля, что эта операция должна быть выполнена.  Утверди-

     тельными ответами являются YES,  TRUE  и  1.  Отрица-

     тельными ответами являются NO, FALSE, 0 и <CR>. Отве-

     ты QUIT и CTRL/Z  означают,  что  выполнение  команды

     PRINT необходимо приостановить. Ответ  ALL  означает,

     что выполнение команды PRINT  необходимо  продолжить,

     не запрашивая в дальнейшем подтверждения у  пользова-


                          - 271 -

                     00152-01 97 14-1


     теля.

/CREATED

/NOCREATED

     - квалификатор /CREATED позволяет выбрать  файлы  для

     печати, основываясь на дате их создания. Этот  квали-

     фикатор используется вместе с квалификаторами /BEFORE

     или /SINCE. Недопустимо использование этого  квалифи-

     катора  с   квалификаторами   /BACKUP,   /EXPIRED   и

     /MODIFIED.  По  умолчанию  используется  квалификатор

     /CREATED.

/EXCLUDE=(спец_файла[,...])

/NOEXCLUDE

     - квалификатор /EXCLUDE позволяет указать файлы, ко-

     торые не должны распечатываться. Если  указан  только

     один файл, скобки можно опустить. В спецификации фай-

     ла допустимо использование символа  обобщения,  можно

     указать каталог. Задание имени устройства в  специфи-

     кации файла недопустимо.

/EXPIRED

/NOEXPIRED

     - квалификатор /EXPIRED позволяет выбирать файлы  для

     вывода на печать в соответствии с их датой истечения.

     Этот  квалификатор   указывается   с   квалификатором

     /BEFORE или /SINCE. Недопустимо  использование  этого

     квалификатора с квалификаторами /BACKUP,  /CREATED  и

     /MODIFIED.  По  умолчанию  используется  квалификатор

     /CREATED.

/FORM=тип

     - квалификатор /FORM задает тип формата  для  файлов,

     выводимых на печать. При задании типа  формата  могут


                          - 272 -

                     00152-01 97 14-1


     быть использованы числовые значения и алфавитно-циф-

     ровые символы. Чтобы узнать имеющиеся в системе типы

     Форматов,      необходимо      использовать   команду

     SHOW QUEUE/FORM. Команда  SHOW  QUEUE/FULL  позволяет

     узнать, какой формат используется для каждой  очереди

     к построчно-печатающему устройству.  Если  в  команде

     PRINT указан тип формата, отличный от  того,  который

     указан для очереди, в которую это задание будет поме-

     щено, то такое задание не будет распечатываться. Что-

     бы распечатать задание, необходимо изменить тип  фор-

     мата, установленный для очереди - администратор  сис-

     темы должен приостановить очередь, физически изменить

     тип формата построчно-печатающего устройства и  пере-

     запустить очередь, указав тот же тип формата, что и в

     команде PRINT.

/HOLD

/NOHOLD

     - квалификаторы /HOLD и /NOHOLD  указывают,  доступен

     ли файл для немедленной распечатки. Если указан  ква-

     лификатор /HOLD, то файл не будет выведен  на  печать

     до   тех   пор,  пока      не  будет  издана  команда

     SET QUEUE/RELEASE/ENTRY.  По  умолчанию  используется

     квалификатор /NOHOLD.

/IDENTIFY

/NOIDENTIFY

     - квалификатор /IDENTIFY управляет выводом сообщения,

     в котором указывается номер задания и имя очереди,  в

     которую это задание было помещено. По  умолчанию  ко-

     манда PRINT выводит эту информацию всякий раз,  когда

     задание успешно поставлено в очередь. Вывод этого со-


                          - 273 -

                     00152-01 97 14-1


     общения производится на  текущее  устройство  вывода.

/JOB_COUNT=N

     - квалификатор /JOB_COUNT задает количество  распеча-

     тываемых копий. N является десятичным числом и  может

     принимать значения в диапазоне от 1 до 255. Если этот

     квалификатор не задан, распечатывается одна копия за-

     дания.

/LOWERCASE

/NOLOWERCASE

     -  квалификатор  /LOWERCASE  указывает,  что  задание

     должно  быть  распечатано   на   построчно-печатающем

     устройстве, имеющем возможность распечатки  прописных

     и строчных букв. По умолчанию используется квалифика-

     тор /NOLOWERCASE, что означает возможность распечатки

     задания на устройстве, имеющем только прописные  бук-

     вы.

/MODIFIED

/NOMODIFIED

     - квалификатор /MODIFIED позволяет выбрать файлы для

     вывода на печать в соответствии с датой их последней

     модификации. Этот квалификатор испOльзуется с квали-

     фикатором /BEFORE или /SINSE. Недопустимо использова-

     ние   квалификатора   /MODIFIED   с   квалификаторами

     /BACKUP, /CREATED и /EXPIRED. По умолчанию  использу-

     ется квалификатор /CREATED.

/NAME=имя_задания

     - квалификатор /NAME определяет строку имени, иденти-

     фицирующую задание. Строка имени может иметь длину от

     1 до 39 символов. Имя задания используется  в  распе-

     чатке команды SHOW  QUEUE  и  выводится  во  флаговой


                          - 274 -

                     00152-01 97 14-1


     странице.

     Если квалификатор /NAME не указан, по умолчанию стро-

     кой имени является имя  первого,  или  единственного,

     файла в задании.

/NOTE=строка

     - квалификатор /NOTE позволяет указать сообщение, ко-

     торое должно быть распечатано  во флаговой  странице.

     Строка сообщения может  содержать  до  255  символов.

/NOTIFY

/NONOTIFY

     - квалификатор /NOTIFY управляет посылкой  на  терми-

     нал, с которого была произведена регистрация, сообще-

     ние об успешном завершении задания для печати  или  о

     его  преждевременном  завершении.  По  умолчанию  ис-

     пользуется квалификатор /NONOTIFY.

/OPERATOR=строка

     - квалификатор /OPERATOR позволяет указать сообщение,

     которое должно быть послано оператору.  Строка  может

     содержать до 255 символов. Когда задание начинает вы-

     полняться, очередь к построчно-печатающему устройству

     приостанавливается и сообщение передается  оператору.

/PARAMETERS=(параметр[,...])

     - квалификатор /PARAMETERS задает от 1 до 8  необяза-

     тельных параметров, которые должны быть переданы  за-

     данию. Каждый параметр может содежать до  255  симво-

     лов. При задании одного параметра скобки можно  опус-

     тить. Параметры отделяются друг от  друга  с  помощью

     запятой. Параметры,  содержащие  специальные  символы

     или ограничители, задаются в кавычках.


                          - 275 -

                     00152-01 97 14-1


/PRIORITY=N

     - квалификатор /PRIORITY  задает  приоритет  заданию,

     предназначенному  для  вывода.  Значение   приоритета

     должно находиться в пределах от 0 до 255; 0  является

     низшим приоритетом, 255  -  наивысшим.  Значением  по

     умолчанию для квалификатора /PRIORITY является значе-

     ние  параметра  DEFQUEPRI,   являющегося   параметром

     SYSGEN. Чтобы установить приоритет задания, превышаю-

     щий значение параметра MAXQUEPRI программы  генерации

     системы (SYSGEN), необходимо  иметь  привилегию  OPER

     или ALTPRI. Чтобы  установить  приоритет  задания  на

     значение, меньшее значения параметра MAXQUEPRI, ника-

     кой привилегии не требуется.

/QUEUE=имя_очереди[:]

     - квалификатор /QUEUE указывает имя очереди, в  кото-

     рую должно быть помещено задание для печати. Если имя

     очереди не указано, задание помещается  в  очередь  с

     именем SYS$PRINT.

/REMOTE

     - квалификатор /REMOTE указывает,  что  файлы  должны

     быть распечатаны на удаленном  узле.  В  спецификации

     этих файлов должно быть указано имя узла. Если  задан

     этот квалификатор, файл для печати помещается в  оче-

     редь, определенную по умолчанию для того узла, на ко-

     тором размещается файл.

     в отличие от  локального  случая,  несколько  файлов,

     поставленных в очередь с помощью единственной команды

     PRINT/REMOTE, рассматриваются как отдельные  задания.

     с квалификатором /REMOTE могут  быть  указаны  только

     квалификаторы /BACKUP, /BEFORE, /BY_OWNER,  /CONFIRM,


                          - 276 -

                     00152-01 97 14-1


     /CREATED, /EXCLUDE,  /EXPIRED,  /MODIFIED  и  /SINCE.

/RESTART

/NORESTART

     - квалификатор /RESTART указывает, что задание  может

     быть перезапущено после  краха  системы  или  команды

     STOP/QUEUE/REQUEUE. По умолчанию используется  квали-

     фикатор /RESTART.

/SINCE[=время]

/NOSINCE

     - квалификатор /SINCE позволяет  выбрать  для  печати

     только те файлы, которые датируются после  указанного

     времени. Время может быть указано как абсолютное вре-

     мя  или  как   комбинация   абсолютного   времени   и

     дельта-времени. С этим квалификатором могут быть ука-

     заны ключевые слова TODAY, TOMORROW и YESTERDAY. Если

     время    не    указано,     предполагается     TODAY.

/USER=имя_пользователя

     - квалификатор /USER позволяет  поставить  в  очередь

     задание на печать для другого  пользователя.  Задание

     запускается под UIC пользователя, имя которого указа-

     но в квалификаторе /USER и учетная информация записы-

     вается на счет этого пользователя. В  качестве  имени

     пользователя можно указать любое допустимое в системе

     имя пользователя.

     для  использования  этого  квалификатора   необходимо

     иметь привилегию CMKRNL и доступ на чтение к  систем-

     ному файлу авторизации.


                          - 277 -

                     00152-01 97 14-1


     Позиционные квалификаторы

/BURST[=ключевое_слово]

/NOBURST

     - квалификатор /BURST указывает, что распечатке файла

     предшествует вывод страницы,  производящей  разбиение

     на части. Эта страница  распечатывается  до  флаговой

     страницы и содержит такую же информацию. Между  этими

     страницами выводится перфорация,  позволяющая  разде-

     лить задания друг от друга или отдельные файлы внутри

     задания.

     если квалификатор /BURST  указан,  нет  необходимости

     указывать квалификатор /FLAG - флаговая страница  ав-

     томатически распечатывается после страницы,  произво-

     дящей разбиение на части. Если  квалификатор   /BURST

     используется как командный  квалификатор,  то  в  ка-

     честве ключевых слов можно указать ALL или ONE.  Клю-

     чевое слово ALL означает, что перед каждым  файлом  в

     задании будет распечатана страница разбиения на части

     и флаговая страница. Ключевое слово ONE означает, что

     страница разбиения  на  части  будет  распечатываться

     только перед копией первого файла в задании.

     Для  того,  чтобы   действия   квалификатора   /BURST

     распространялось лишь на отдельные файлы  в  задании,

     этот квалификатор в команде PRINT размещается  непос-

     редственно после спецификации файла, распечатке кото-

     рого должен предшествовать вывод  страницы  разбиения

     на части. Квалификатор  /[NO]BURST  используется  для

     игнорирования умолчаний, которые были установлены для

     той очереди к построчно-печатающему устройству, в ко-

     торую помещено задание.


                          - 278 -

                     00152-01 97 14-1


/COPIES=N

     - квалификатор /COPIES задает число копий файла,  ко-

     торые должны быть выведены на печать. N является  де-

     сятичным числом и может принимать значение в пределах

     от 1 до 255. По умолчанию команда PRINT распечатывает

     одну копию. Если квалификатор /COPIES использован как

     командный квалификатор, то каждый файл,  спецификация

     которого указана  в  команде  PRINT,  распечатывается

     указанное число раз. Если  квалификатор  /COPIES  ис-

     пользуется как  файловый  квалификатор,  то  действие

     этого ключа распространяется только на отдельные фай-

     лы в задании.

/DELETE

/NODELETE

     - квалификатор /DELETE указывает, что после вывода на

     печать файлы должны быть удалены.  Если  квалификатор

     /DELETE используется как командный  квалификатор,  то

     после вывода на печать удаляются все указанные в  ко-

     манде PRINT файлы. Если квалификатор  /DELETE  указан

     после спецификации файла, только этот файл будет уда-

     лен после вывода на печать. Если файл после вывода на

     печать должен быть удален, то код защиты, установлен-

     ный для этого файла, должен разрешать доступ на  уда-

     ление для пользователя,  издавшего  команду  PRINT  с

     квалификатором /DELETE. По умолчанию файлы не  удаля-

     ются после вывода на печать.

/FEED

/NOFEED

     - квалификатор /FEED управляет возможностью автомати-

     ческого размещения символа перевода формата  в  конце


                          - 279 -

                     00152-01 97 14-1


     страницы. Если квалификатор /FEED указан, то  команда

     PRINT  вставляет  символ  перевода   формата,   кOгда

     устройство достигнет нижней границы страницы  выбран-

     ного формата.

     Число строк в странице можно пEреустановить с помощью

     квалификатора /FORM. Автоматическое размещение симво-

     ла перевода формата можно запретить с помощью  квали-

     фикатора /NOFEED (не воздействуя при этом  на  другие

     функции управления кареткой).

     квалификатор /[NO]FEED может быть использован для то-

     го, чтобы игнорировать умолчания,  установленные  для

     данной очереди  к  построчно-печатающему  устройству.

/FLAG[=ключевое_слово]

/NOFLAG

     - квалификатор /FLAG указывает, что распечатке  файла

     должна предшествовать распечатка  флаговой  страницы.

     Флаговая страница содержит имя пользователя,  задание

     которого распечатывается, номер задания и  информацию

     о распечатываемом файле.

     с квалификатором /FLAG,  используемым  как  командный

     квалификатор, можно указать ключевое  слово  ALL  или

     ONE. Ключевое слово ALL означает, что каждому файлу в

     задании  будет  предшествовать  распечатка   флаговой

     страницы. Ключевое слово ONE означает,  что  флаговая

     страница будет распечатываться  только  перед  первой

     копией первого файла в задании.

     Чтобы квалификатор /FLAG относился к  отдельным  фай-

     лам, составляющим задание, этот квалификатор  необхо-

     димо разместить в команде PRINT после каждого  файла,

     распечатке которого должен предшествовать вывод  фла-


                          - 280 -

                     00152-01 97 14-1


     говой страницы.

     Квалификатор /[NO]FLAG может быть использован,  чтобы

     игнорировать умолчания, установленные для данной оче-

     реди к устройству.

/HEADER

/NOHEADER

     - квалификатор /HEADER указывает на распечатку строки

     заголовка в  верхней  части  страницы.  По  умолчанию

     строка      заголовка       не       распечатывается.

/PAGES=([ниж_граница,]верх_граница)

     - квалификатор /PAGES  указывает  для  задания  число

     страниц, которые должны быть распечатаны.  Квалифика-

     тор /PAGES можно использовать для распечатки  больших

     файлов по частям. По  умолчанию  распечатываются  все

     страницы файла.

     спецификатор  ниж_граница, заданный  с квалификатором

     /PAGES, указывает на первую страницу, с которой  дол-

     жен быть распечатан файл. Если этот  спецификатор  не

     указан, распечатка начнется с первой страницы  файла.

     Спецификатор верх_граница, заданный с  квалификатором

     /PAGES, указывает на последнюю страницу файла,  кото-

     рая должна быть распечана. Если  необходимо  распеча-

     тать конец файла, но не известно число страниц в фай-

     ле, в качестве спецификатора верх_граница нужно  ука-

     зать символы "". Если с квалификатором /PAGES  указан

     только спецификатор верх_граница, скобки можно  опус-

     тить.

/PASSALL

/NOPASSALL

     - квалификатор /PASSALL указывает, что выводной  сим-


                          - 281 -

                     00152-01 97 14-1


     бионт распечатывает файл в режиме PASSALL (режим рас-

     печатки файлов без форматирования). По умолчанию  вы-

     водной симбионт не использует режим PASSALL.

     Если квалификатор /PASSALL используется как командный

     квалификатор,  то  все  файлы,  указанные  в  команде

     PRINT, будут распечатываться в режиме PASSALL.  Чтобы

     распечатать в режиме PASSALL отдельные файлы задания,

     квалификатор /PASSALL необходимо указать после специ-

     фикаций этих файлов.

/SETUP=модуль[,...]

     - квалификатор /SETUP требует, чтобы указанные модули

     были выделены из библиотеки управления устройством  и

     распечатаны на построчно-печатающем устройстве до то-

     го, как будет распечатан файл. По умолчанию модули из

     библиотеки управления устройством не распечатываются.

     Имена модулей не проверяются на правильность до  того

     момента, пока файл не начнет распечатываться.  Следо-

     вательно, выполнение  команды  PRINT/SETUP  допускает

     появление ошибок при печати.

/SPACE

/NOSPACE

     - квалификатор /SPACE указывает на то, что вывод осу-

     ществляется с двойным интервалом. Значением по  умол-

     чанию для данного  квалификатора  является  /NOSPACE,

     при этом вывод  осуществляется  с  одним  интервалом.

/TRAILER[=ключевое_слово]

/NOTRAILER

     - квалификатор /TRAILER управляет распечаткой  конце-

     вой страницы. Концевая страница содержит номер  зада-

     ния, информацию о пользователе, чье задание  распеча-


                          - 282 -

                     00152-01 97 14-1


     тывается, и о распечатываемых файлах.

     если квалификатор /TRAILER используется как командный

     квалификатор, то в качестве ключевых слов  можно  ис-

     пользовать ALL или ONE. Ключевое слово ALL  означает,

     что распечатка каждого файла в задании  будет  сопро-

     вождаться выводом концевой страницы.  Ключевое  слово

     ONE означает, что действие квалификатора /TRAILER бу-

     дет оказываться только при распечатке последней копии

     последнего файла в задании.

     Квалификатор /[NO]TRAILER используется для того, что-

     бы изменить значение по умолчанию, установленные  для

     данной очереди к устройству.

     Примеры:

1. > PRINT AVERAGE

     JOB AVERAGE (QUEUE SYS$PRINT, ENTRY 236) STARTED  ON

     LPA0

     Команда PRINT помещает файл AVERAGE.LIS в  очередь  с

логическим именем SYS$PRINT, распечатывается имя  задания,

имя очереди, в которую это задание  было  помещено,  номер

задания в очереди и его состояние - задание выполняется  в

Oчереди LPA0.

2. > PRINT ALPHA.TXT + BETA/FLAG + GAMMA/FLAG

     JOB ALPHA (QUEUE SYS$PRINT, ENTRY 237) PENDING

     Команда PRINT формирует из файлов ALPHA.TXT, BETA.TXT

и GAMMA.TXT одно задание для печати. При выводе для разде-

ления файлов будут использоваться флаговые  страницы.

3. > PRINT/REMOTE BOSTON::WORK$:[SMITH.MEMO]JUNE10.MEM

     JOB JUNE10 (QUEUE SYS$PRINT, ENTRY 476) STARTED  ON

     LPA0

     Команда PRINT, которая введена на узле,  отличном  от


                          - 283 -

                     00152-01 97 14-1


BOSTON, помещает файл JUNE10.MEM, который  размещается  на

узле BOSTON, в очередь к построчно-печатающему  устройству

на этом узле.

4. > COPY  REPORT.MEM   BOSTON::

   > PRINT/REMOTE BOSTON::REPORT.MEM

     JOB REPORT (QUEUE SYS$PRINT, ENTRY 342) STARTED

    ON LPA0

     Команды COPY и PRINT введены  на  узле,  отличном  от

BOSTON. Команда COPY копирует файл REPORT.MEM  с  текущего

узла на узел BOSTON. Команда PRINT ставит файл REPORT.MEM,

находящийся на узле BOSTON, в очередь к устройству на этом

узле.

     Примечания:

     1. Удалить элемент из очереди вывода на печать можно,

используя команду DELETE с квалификатором /ENTRY.

     2. Управлять атрибутами очереди вывода на печать мож-

но, используя команду SET QUEUE интерпретатора MCR.


                          - 284 -

                     00152-01 97 14-1


                Перечень ссылочных документов



     1. Операционная система МОС ВП.  Подсистема  управле-

ния. Диалоговый командный язык.  Руководство пользователя.

00152-01 92 19-1

     2. Операционная система МОС ВП.   Подсистема управле-

ния. Диалоговый командный язык.  Руководство пользователя.

00152-01 92 19-2

     3. Операционная система МОС ВП.  Подсистема  управле-

ния.  Диалоговый командный язык. Руководство пользователя.

00152-01 92 19-3

     4. Операционная система МОС ВП.  Подсистема  управле-

ния.  Диалоговый командный язык. Руководство пользователя.

00152-01 92 19-4

     5. Операционная система  МОС  ВП.  Подсистема  режима

совместимости с ОС РВ.  Руководство пользователя.

00152-01 92 08

     6. Система управления  данными  СУД-2.  Обслуживающие

программы. Руководство оператора. 00058-01 34 01

     7. Операционная система  МОС  ВП.   Подсистема режима

совместимости с ОС РВ.  Справочный материал.

00152-01 97 14-2

     8. Операционная система МОС ВП. Подсистема системного

программиста. Работа с магнитными лентами и дисками. Спра-

вочный материал. 00152-01 97 11

     9. Операционная система  МОС ВП. Описание применения.

00152-01 31 01

     10. Операционная система МОС ВП. Подсистема  управле-

ния. Сообщения системы и действия по восстановлению. Спра-

вочный материал. 00152-01 97 02-1


                          - 284К -

                   2б.00152-01 97 14-1


                Перечень ссылочных документов



     1. Операционная система МОС ВП.  Подсистема  управле-

ния. Диалоговый командный язык.  Руководство пользователя.

2б.00152-01 92 19-1

     2. Операционная система МОС ВП.  Подсистема  управле-

ния. Диалоговый командный язык.  Руководство пользователя.

2б.00152-01 92 19-2

     3. Операционная система МОС ВП.  Подсистема  управле-

ния. Диалоговый командный язык.  Руководство пользователя.

2б.00152-01 92 19-3

     4. Операционная система МОС ВП.  Подсистема  управле-

ния. Диалоговый командный язык.  Руководство пользователя.

2б.00152-01 92 19-4

     5. Операционная система  МОС  ВП.  Подсистема  режима

совместимости с ОС РВ. Руководство пользователя.

2б.00152-01 92 08

     6. Система управления  данными  СУД-2.  Обслуживающие

программы. Руководство оператора. 2б.00058-01 34 01

     7. Операционная система  МОС  ВП.  Подсистема  режима

совместимости с ОС РВ.  Справочный материал.

2б.00152-01 97 14-2

     8. Операционная система МОС ВП. Подсистема системного

программиста. Работа с магнитными лентами и дисками. Спра-

вочный материал. 2б.00152-01 97 11

     9. Операционная система  МОС ВП. Описание применения.

2б.00152-01 31 01

     10. Операционная система МОС ВП. Подсистема  управле-

ния. Сообщения системы и действия по восстановлению. Спра-

вочный материал. 2б.00152-01 97 02-1


                          - 285 -

                     00152-01 97 14-1


     11. Операционная система МОС ВП.  Система  управления

данными. Проектирование файлов. Руководство  пользователя.

00152-01 92 01

     12. Операционная система ОС  РВ  3.  Набор  системных

обслуживающих программ. Набор программ работы  с  файлами.

руководство оператора. 00085-01 34 01


                          - 285К -

                   2б.00152-01 97 14-1
 

     11. Операционная система МОС ВП.  Система  управления

данными. Проектирование файлов. Руководство  пользователя.

2б.00152-01 92 01

     12. Операционная система ОС  РВ  3.  Набор  системных

обслуживающих программ. Набор программ работы  с  файлами.

руководство оператора. 2б.00085-01 34 01


                       - 286K -
 
                   2б.00152-01 97 14-1
                                         
  
  
 ------------------------------------------------------------
 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
  
  
 

      
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!