                                                    


 
 



      Министерство приборостроения, средств автоматизации
 
                      и систем управления
 
 
 
 
 
 
 
 
 
                  Операционная система МОС ВП
 
              Подсистема системного программиста
 
             РАБОТА С МАГНИТНЫМИ ЛЕНТАМИ И ДИСКАМИ
 
                      Справочный материал
 
 
 
 
                       Лист утверждения
 
                    2б.00152-01 97 11-ЛУ
 
                           Листов 2
 
 
                                  Руководитель темы 
 
                                  Зам. директора ИНЭУМ
 
                                  _______________ Хрущев С.Н.
 
                                  "___"__________ 1987 г.
 
                     Представители предприятия-разработчика:
 
                                  Зав. отделом ВСКТБ
 
                                  _____________ Нахмансон В.С
 
                                  "___"________ 1987 г.
 
                                  Зам.зав.отделом ВСКТБ
 
                                  _____________ Михайлов В.С.
 
                                  "___"________ 1987 г.
 
 
                             1987
 
      Перв. примен.                                  Литера O
      2б.00152-01
 


                            - 2 -
 
 
                    2б.00152-01 97 11-ЛУ
 
 
 
 
 
 
                       Представители ИНЭУМ:
 
 
                               Ответственный исполнитель темы
 
                               Зав. отделением
 
                               -------------- Остапенко Г.П.
 
                               "---"--------- 1987 г.
 
                                Нормоконтролер
 
                                --------------
 
                                "---"--------- 1987 г.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 









        Утвержден 

        2б.00152-01 97 11-ЛУ















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

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

                РАБОТА С МАГНИТНЫМИ ЛЕНТАМИ И ДИСКАМИ 

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

                         2б.00152-01 97 11

                             Листов 246/5К























                                 1987 

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



                                - 9K -
 
                          2б.00152-01 97 11
 
 
 
              записи                                          203
 
      7.4.3.  Отмена проверки монтирования                    205
 
      7.4.4.  Размонтирование тома  для  прекращения  проверки
 
              монтирования                                    206
 
 
 
      Приложение 1. Дисковые файлы и тома МОС ВП              207
 
 
 
 
 
      Приложение 2. Магнитная лента со стандартными метками   214
 
 
 
      Перечень ссылочных документов                           240K
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


                                - 240K -

                           2б.00152-01 97 11


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



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

         Использование диалогового командного языка и  командных

         процедур. Справочный материал. 2б.00152-01 97 04.

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

         Диалоговый  командный  язык.  Руководство  оператора.

         2б.00152-01 34 01-1. 

      3. Операционная система МОС ВП. Подсистема управления. Пра- 

         ва доступа. Справочный материал. 2б.00152-01 97 15-1.

      4. Операционная система МОС ВП. Подсистема системного прог- 

         раммиста. Программа монтирования магнитных лент  и  дис- 

         ков. Руководство пользователя. 2б.00152-01 92 12.

      5. Операционная система МОС ВП. Подсистема системного прог- 

         раммиста. Программа выявления дефектных блоков. Руковод- 

         ство оператора. 2б.00152-01 34 10. 

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

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

         2б.00152-01 92 02. 

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

         Программирование на  языке  макроассемблер.  Руководство 

         программиста. 2б.00152-01 33 07. 

      8. Операционная система МОС ВП. Подсистема системного прог- 

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

         пользователя. 2б.00152-01 92 06. 

      9. Операционная система МОС ВП. Подсистема системного прог- 

         раммиста. Программа сохранения и восстановления файлов.

         Руководство пользователя. 2б.00152-01 92 14. 




    
 
                                - 241К -

                           2б.00152-01 97 11


      10.Операционная система МОС ВП. Подсистема системного прог- 

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

         2б.000152-01 97 10.

      11.Гост 25752-83 (СТ СЭВ 3745-82) "Mашины вычислительные и

         системы  обработки  данных.  Ленты  магнитные   шириной

         12.7 MM с записью. Структура и разметка файлов". 















































    
 
                                - 242K -  

                           2б.00152-01 97 11


      ----------------------------------------------------------- 
      I               Лист регистрации изменений                I 
      ----------------------------------------------------------- 
      I Номера листов (страниц)IВсего I       IВходяшийI    I   I 
      I------------------------IлистовI    N  I    N   I    IДа-I 
      I   IИз- IЗа- I   IАнну- I(стра-I       Iсопрово-IПодпIта I 
      IИзмIме- Iме- IНо-Iлиро- Iниц) вIдокуменIдительноI    I   I 
      I   Iнен-Iнен-IвыхIванныхIдокум.I   та  Iго докумI    I   I 
      I   Iных Iных I   I      I      I       I и дата I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      ----------------------------------------------------------- 
      I   I    I    I   I      I      I       I        I    I   I 
      -----------------------------------------------------------



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                      Операционная система МОС ВП
 
                  Подсистема системного программиста
 
                 РАБОТА С МАГНИТНЫМИ ЛЕНТАМИ И ДИСКАМИ
 
                          Справочный материал
 
                            00152-01 97 11
 
                              Листов 241
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                 1987
 
 
 
 


                                - 2 -
 
                           00152-01 97 11
 
 
 
 
 
 
                              СОДЕРЖАНИЕ
 
 
 
 
 
      1.  Введение                                            10
 
      1.1.  Основные концепции магнитного диска               10
 
      1.2.  Основные концепции магнитной ленты                16
 
      1.3.  Упрощение рутинных операций                       18
 
 
 
      2.  Защита диска и магнитной ленты                      19
 
      2.1.  Защита данных                                     19
 
      2.1.1.  Защита на основе UIC                            20
 
      2.1.2.  Защита на основе ACL                            22
 
      2.1.3.  Защита   доступа   для   магнитных    лент    со
 
              стандартными метками                            23
 
      2.2.  Защита на уровне тома                             25
 
      2.2.1.  Защита дисковых томов                           25
 
      2.2.2.  Защита томов магнитной ленты                    26
 
      2.2.2.1.  Защита магнитных лент МОС ВП                  27
 
      2.2.2.2.  Защита для случая межсистемного обмена        27
 
      2.3.  Защита на уровне файла                            28
 
      2.3.1.  Защита дисковых файлов                          29
 
      2.3.2.  Защита каталога                                 32
 
      2.3.3.  Защита файлов магнитной ленты                   34
 
 
 
      3.  Подготовка томов для индивидуального использования  35
 
      3.1.  Установка томов                                   35
 
      3.2.  Закрепление устройства                            35
 
      3.2.1.  Закрепление дискового устройства                36


                                - 3 -
 
                           00152-01 97 11
 
 
 
      3.2.2.  Закрепление устройства магнитной ленты          37
 
      3.3.  Инициализация тома                                38
 
      3.3.1.  Инициализация дискового тома                    40
 
      3.3.2.  Инициализация тома магнитной ленты              41
 
      3.4.  Монтирование тома                                 43
 
      3.4.1.  Монтирование дискового тома                     46
 
      3.4.2.  Монтирование набора дисковых томов              47
 
      3.4.2.1.  Создание набора дисковых томов из новых томов 49
 
      3.4.2.2.  Создание  набора  дисковых  томов  на   основе
 
                существующего тома                            51
 
      3.4.2.3.  Добавление томов к набору дисковых томов      51
 
      3.4.3.  Монтирование томов магнитной ленты              53
 
      3.4.3.1.  Монтирование томов со стандартными метками    53
 
      3.4.3.2.  Использование квалификаторов команды MOUNT    54
 
      3.4.4.  Монтирование набора томов магнитной ленты       59
 
      3.4.4.1.  Создание набора томов магнитной ленты         60
 
      3.4.4.2.  Монтирование томов продолжения                62
 
      3.5.  Размонтирование томов                             65
 
      3.6.  Открепление устройств                             68
 
      3.7.  Использование  командных  процедур  для  установки
 
            дисков и магнитных лент                           69
 
      3.7.1.  Разработка  командных  процедур  для   установки
 
              дисковых томов                                  70
 
      3.7.2.  Разработка  командных  процедур  для   установки
 
              томов магнитной ленты                           71
 
 
 
      4.  Манипулирование файлами на дисках и магнитных лентах75
 
      4.1.  Использование  языка   DCL   для   манипулирования
 
            файлами                                           76
 


                                - 4 -
 
                           00152-01 97 11
 
 
      4.2.  Использование языка DCL для получения информации о
 
            файлах                                            77
 
      4.2.1.  Получение информации из каталога                78
 
      4.2.2.  Получение информации об устройствах             80
 
      4.2.3.  Получение информации  об  устройствах  магнитной
 
              ленты                                           83
 
      4.2.4.  Получение информации о защите дисковых файлов   84
 
      4.2.5.  Получение информации о дисковых квотах          85
 
      4.3.  Использование   языка    DCL    для    модификации
 
            характеристик файла                               87
 
      4.3.1.  Модификация характеристик ACL (списка управления
 
              доступом)                                       87
 
      4.3.2.  Модификация характеристик каталога              88
 
      4.3.3.  Модификация характеристик дискового файла       89
 
      4.3.4.  Модификация характеристик  устройства  магнитной
 
              ленты                                           90
 
      4.3.5.  Модификация характеристик защиты файла          91
 
      4.3.6.  Модификация характеристик тома                  93
 
      4.4.  Использование языка DCL для доступа к файлам      94
 
      4.4.1.  Доступ к дисковым файлам для операций  чтения  и
 
              записи                                          95
 
      4.4.1.1.  Чтение файлов с дискового тома                95
 
      4.4.1.2.  Запись файлов на дисковый том                 96
 
      4.4.1.3.  Запись  файлов  с  дисковых  томов   на   тома
 
                магнитной ленты                               96
 
      4.4.2.  Доступ к файлам магнитной  ленты  для  чтения  и
 
              записи                                          98
 
      4.4.2.1.  Поиск   файлов   на   магнитной    ленте    со
 
                стандартными метками для доступа по чтению или
 
                записи                                        99


                                - 5 -
 
                           00152-01 97 11
 
 
 
      4.4.2.2.  Чтение файлов на томах магнитной ленты        103
 
      4.4.2.3.  Запись файлов на тома магнитной ленты         104
 
      4.5.  Командные процедуры для доступа к "чужим" томам   106
 
 
 
      5.  Передача информации, находящейся на дисках и лентах 112
 
      5.1.  Обмен информацией внутри  одной  системы  и  между
 
            различными системами                              112
 
      5.2.  Использование команды COPY                        113
 
      5.2.1.  Копирование файлов с дисковых томов             114
 
      5.2.2.  Копирование файлов с томов магнитной ленты      116
 
      5.2.3.  Копирование файлов на тома и с томов, не имеющих
 
              файловой структуры                              119
 
      5.2.3.1.  Копирование  файлов  на  тома   без   файловой
 
                структуры                                     120
 
      5.2.3.2.  Копирование  файлов  с  томов,  не  содержащих
 
                файловой структуры                            121
 
      5.3.  Использование обслуживающих программ СУД-32       123
 
      5.4.  Использование  системной  обслуживающей  программы
 
            обмена                                            127
 
      5.4.1.  Вызов  и  завершение   обслуживающей   программы
 
              обмена                                          128
 
      5.4.2.  Использование EXCHANGE на  уровне  команд  языка
 
              DCL                                             129
 
      5.5.  Использование командной процедуры для  копирования
 
            файлов                                            129
 
      5.5.1.  Использование    командной     процедуры     для
 
              копирования файлов                              130
 
      5.5.2.  Использование  командной  процедуры  для  обмена
 
              информацией                                     133
 


                                - 6 -
 
                           00152-01 97 11
 
 
      6.  Обеспечение сохранности томов                       135
 
      6.1.  Использование  программы  BACKUP   для   поддержки
 
            сохранности данных                                136
 
      6.2.  Выбор операций дублирования                       137
 
      6.2.1.  Решение вопроса, что необходимо дублировать     138
 
      6.2.2.  Решение вопроса, как дублировать                139
 
      6.2.2.1.  Копирование файлов                            139
 
      6.2.2.2.  Сохранение файлов                             140
 
      6.2.2.3.  Восстановление файлов                         140
 
      6.2.2.4.  Сравнение файлов                              140
 
      6.2.2.5.  Получение списка файлов                       141
 
      6.2.3.  Вызов BACKUP                                    141
 
      6.3.  Использование носителя BACKUP                     142
 
      6.3.1.  Использование BACKUP с магнитной лентой         143
 
      6.3.2.  Использование  BACKUP  для  дисковых   томов   с
 
              файловой структурой                             144
 
      6.3.3.  Использование   BACKUP   для    последовательных
 
              дисковых томов                                  144
 
      6.3.4.  Удаленные   наборы   сохранения    с    файловой
 
              структурой                                      147
 
      6.3.5.  Чередующееся дублирование                       148
 
      6.4.  Выполнение задач дублирования                     149
 
      6.4.1.  Копирование дисковых файлов, каталогов и томов с
 
              помощью BACKUP                                  149
 
      6.4.1.1.  Копирование отдельных файлов                  150
 
      6.4.1.2.  Копирование нескольких файлов                 151
 
      6.4.1.3.  Копирование полного дерева каталогов          152
 
      6.4.1.4.  Копирование дискового тома на диск            153
 
      6.5.  Копирование набора дисковых томов на диск         154
 
      6.5.1.  Сохранение дисковых файлов, каталогов и томов на


                                - 7 -
 
                           00152-01 97 11
 
 
 
              магнитной ленте                                 154
 
      6.5.1.1.  Сохранение дисковых файлов на магнитной ленте 155
 
      6.5.1.2.  Сохранение каталогов на магнитной ленте       156
 
      6.5.1.3.  Сохранение дерева каталогов на магнитной ленте156
 
      6.5.1.4.  Сохранение дисковых томов на магнитной ленте  156
 
      6.5.1.5.  Сохранение   дисковых   томов   без   файловой
 
                структуры на магнитной ленте                  157
 
      6.5.2.  Сохранение дисковых файлов, каталогов и томов на
 
              диске                                           158
 
      6.5.2.1.  Запись наборов сохранения на дисковые  тома  с
 
                файловой структурой                           158
 
      6.5.2.2.  Запись наборов сохранения на  последовательные
 
                дисковые тома                                 159
 
      6.5.2.3.  Запись многотомных  последовательных  дисковых
 
                наборов сохранения                            160
 
      6.5.3.  Дублирование полных томов и наборов томов       161
 
      6.5.3.1.  Дублирование   набора   дисковых   томов   при
 
                ограниченном числе устройств                  163
 
      6.5.4.  Выполнение выборочного дублирования             165
 
      6.5.5.  Защита наборов сохранения                       168
 
      6.5.6.  Восстановление  дисковых  файлов,  каталогов   и
 
              томов из набора сохранения                      169
 
      6.5.6.1.  Восстановление  дисковых  файлов  из   наборов
 
                сохранения на магнитной ленте                 169
 
      6.5.6.2.  Восстановление  дисковых  файлов  из   наборов
 
                сохранения, расположенных на  последовательном
 
                диске                                         171
 
      6.5.6.3.  Восстановление  дисковых  файлов  из   наборов
 
                сохранения, находящихся на нескольких томах   173
 


                                - 8 -
 
                           00152-01 97 11
 
 
      6.5.7.  Восстановление полных дисковых томов            173
 
      6.5.7.1.  Изменение параметров инициализации тома  перед
 
                восстановлением                               175
 
      6.5.8.  Вывод содержимого набора сохранения BACKUP      176
 
      6.5.9.  Сравнение файлов с помощью BACKUP               177
 
      6.6.  Использование журнальных файлов                   178
 
      6.7.  Использование командных процедур                  181
 
 
 
      7.  Обрабатывающие функции оператора                    186
 
      7.1.  Использование терминала  оператора  для  обработки
 
            запросов пользователя                             186
 
      7.2.  Обработка запросов пользователей  на  монтирование
 
            томов                                             188
 
      7.2.1.  Запросы на монтирование томов дисков и одиночных
 
              магнитных лент                                  189
 
      7.2.2.  Запросы на монтирование наборов томов  магнитной
 
              ленты                                           191
 
      7.2.2.1.  Монтирование наборов  томов  с  автоматическим
 
                переключением                                 191
 
      7.2.2.2.  Монтирование наборов томов без автоматического
 
                переключения                                  192
 
      7.3.  Обработка  запросов  от  обслуживающей   программы
 
            BACKUP                                            195
 
      7.3.1.  Запись в набор сохранения                       196
 
      7.3.2.  Чтение из набора сохранения                     196
 
      7.3.3.  Восстановление от ошибок                        197
 
      7.4.  Обработка задач проверки монтирования             200
 
      7.4.1.  Проверка монтирования для устройств, находящихся
 
              в состоянии "загрузка"                          201
 
      7.4.2.  Проверка монтирования  устройств,  закрытых  для


                                - 9 -
 
                           00152-01 97 11
 
 
 
              записи                                          203
 
      7.4.3.  Отмена проверки монтирования                    205
 
      7.4.4.  Размонтирование тома  для  прекращения  проверки
 
              монтирования                                    206
 
 
 
      Приложение 1. Дисковые файлы и тома МОС ВП              207
 
 
 
 
 
      Приложение 2. Магнитная лента со стандартными метками   214
 
 
 
      Перечень ссылочных документов                           240
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
           


                                - 10 -
 
                           00152-01 97 11
 
 
                             1. Введение
 
 
            Устройства внешней памяти на магнитных носителях (маг-
 
      нитные диски, ленты) предназначены для  хранения  (сохране-
 
      ния) информации самого различного назначения.
 
           Магнитная лента может использоваться и как  устройство
 
      памяти и как средство ввода-вывода, и ее применение возрас-
 
      тает вместе с потребностями пользователей.
 
           Магнитная лента  является  в  сущности  неограниченной
 
      памятью для размещения информации.  Однако  как  устройство
 
      внешней памяти имеет ограничение по применению, т.к. позво-
 
      ляет только последовательный доступ к файлам (информации).
 
           В отличие от магнитной  ленты  магнитный  диск  (далее
 
      диск) допускает прямой доступ к  файлам.  Прямой  доступ  к
 
      файлам означает, что эвм может разместить требуемую  запись
 
      без поиска предшествующей ей записи. Время, необходимое для
 
      доступа к записи, не зависит от положения записи в файле.
 
 
 
           1.1. Основные концепции магнитного диска
 
 
           Информация на диске МОС ВП размещается в  соответствии
 
      с принципами  файловой структуры. Термин "файловая структу-
 
      ра" относится к логической структуре, определенной для дис-
 
      ка: иерархическая  организация  файлов, их данных и катало-
 
      гов, необходимых  для  получения  доступа  к  ним (приложе-
 
      ние 1). Файловая система МОС ВП поддерживает структуру дис-
 
      ка и обеспечивает управление доступом к файлам, размещенным
 
      на диске.
 
           Наименьшей адресуемой  единицей  информации  на  диске
 
      является блок. Блок состоит из 512 байтов. Блок можно расс-
 


                                - 11 -
 
                           00152-01 97 11
 
 
      матривать как единицу  измерения  для  передачи  информации
 
      между диском и памятью.
 
           Блоки  логически  сгруппированы  в  кластер,   который
 
      является основной единицей распределения  дискового  прост-
 
      ранства. Системный администратор  или  оператор  определяют
 
      число блоков в кластере при первоначальной подготовке диска
 
      (или тома) для использования (при инициализации).  Допусти-
 
      мые размеры кластера находятся в области от 1 до 65535 бло-
 
      ков. На практике, однако, обычно используется меньшее  чис-
 
      ло. Для дисков с относительно небольшим количеством  блоков
 
      обычно задают меньший размер кластера, а для  больших  дис-
 
      ков - больший размер.
 
           Смежные  кластеры,  назначенные  определенному  файлу,
 
      называются экстентами. Экстент может  содержать  весь  файл
 
      или только его часть.  Если  на  диске  имеется  достаточно
 
      смежного  пространства,  то  целый  файл  размещается   как
 
      отдельный экстент. Однако иногда бывает, что такого  прост-
 
      ранства для размещения целого файла нет  или  при  создании
 
      своего файла пользователь не пожелал  зарезервировать  тре-
 
      буемого полного пространства. В итоге, когда файл  оказался
 
      большего размера, маловероятно, что соседние  кластеры  еще
 
      не заняты. В таких случаях файл делится на  две  или  более
 
      частей, и каждая часть является  экстентом,  независимо  от
 
      того, являются кластеры смежными или  нет.  Таким  образом,
 
      файл может состоять из множества экстентов, размещенных  на
 
      отдельных участках диска.
 
           На рисунке показана иерархия блоков,  кластеров,  экс-
 
      тентов и файлов в структуре файловой системы.
 


                                - 12 -
 
                           00152-01 97 11
 
 
 
                     Иерархия файловой системы
 
                                   ----------
                                   !  Файл  !
                                   ----------
                                       !
                         ------------------------------
                         !                            !
                    -------------               -------------
                    ! Экстент 1 !               ! Экстент 2 !
                    -------------               -------------
                         !                            !
               ---------------------                  !
               !                   !                  !
          -----------         -----------        -----------
          ! Кластер !         ! Кластер !        ! Кластер !
          -----------         -----------        -----------
               !                   !                  !
          -----------         -----------         ----------
          !         !         !         !         !        !
      --------  --------  --------  --------  --------  --------
      ! Блок !  ! Блок !  ! Блок !  ! Блок !  ! Блок !  ! Блок !
      --------  --------  --------  --------  --------  --------
 
           При желании пользователь может осуществить  управление
 
      (в большей или меньшей степени) распределением пространства
 
      для дискового файла. Например,  можно  задавать  количество
 
      блоков для размещения файла и даже точно указать место бло-
 
      ков на томе. С другой стороны, можно все детали распределе-
 
      ния дискового пространства предоставить осуществлять систе-
 
      ме управления данными МОС ВП (СУД-32).
 
           Если требуется, можно указать  размер  первоначального
 
      распределения пространства и размер области для использова-
 
      ния СУД-32 для случаев, когда файл расширяется. Если  обна-
 
      ружится, что файл требует меньше места, чем ему  предостав-
 
      лено, то можно неиспользуемые кластеры убрать  (перераспре-
 
      делить). Перераспределенные кластеры после этого могут быть
 
      использованы другими файлами на томе.
 
           Если требуется большое пространство памяти для файлов,
 
      то можно обьединить несколько томов в так называемый  набор
 
      томов. Такой набор, хотя и состоит из нескольких физических
 


                                - 13 -
 
                           00152-01 97 11
 
 
      томов, рассматривается как один большой том. В наборе томов
 
      различные экстенты файла могут размещаться на разных  томах
 
      этого набора. В общем случае  нет  необходимости  указывать
 
      конкретный том в наборе для размещения или создания  нового
 
      файла, хотя и это возможно (а иногда  и  желательно),  т.е.
 
      можно задать определенный том для использования по требова-
 
      нию на конкретное распределение.
 
           Наименьшей физической единицей, различаемой в структу-
 
      ре файловой системы, является сектор. Для большинства  дис-
 
      ков сектор эквивалентен блоку, который содержит 512 байтов.
 
      Другими основными терминами структуры диска являются дорож-
 
      ка и цилиндр. Дорожка - это набор секторов (или блоков)  на
 
      одной  окружности,  расположенной  на  одной   записывающей
 
      поверхности диска. Дорожка является доступной для  позицио-
 
      нирования магнитной головкой (для чтения/записи)  дискового
 
      механизма. Цилиндр состоит из всех дорожек одного и того же
 
      радиуса со всех записывающих поверхностей диска.
 
           Поскольку для доступа к любому блоку данного  цилиндра
 
      не требуется какого-либо перемещения магнитных головок,  то
 
      очевидно преимущество размещать блоки связанных  данных  на
 
      одном цилиндре. По этой причине при выборе размера кластера
 
      для дисков  большой  емкости  администратор  системы  часто
 
      берет размер кластера равным размеру цилиндра.
                
           Запись - это набор логически связанных данных, воспри-
 
      нимаемый программой пользователя как единица для обработки.
 
      Запись может быть того же размера что и  блок,  меньше  чем
 
      блок и даже больше, чем  блок.  Следовательно,  блок  может
 
      содержать одну запись, несколько записей или  только  часть
 
      записи.
 
           Структура файловой системы присуща томам, представляю-


                                - 14 -
 
                           00152-01 97 11
 
 
      щим собой такие устройства, как пакет  дисков.  Том  -  это
 
      упорядоченный набор блоков по 512 байтов. Блоки  нумеруются
 
      по порядку от нуля до N; значение N зависит от размера дис-
 
      ка.
 
           Каждый том имеет индексный файл, который создается при
 
      инициализации тома (диск до обработки  командой  INITIALIZE
 
      использовать невозможно). Индексный файл содержит:
 
           1) блок начальной загрузки тома;
 
           2) собственный блок тома;
 
           3) заголовки файлов.
 
           Блок начальной загрузки тома является физически первым
 
      блоком на томе и содержит программу начальной загрузки. Все
 
      тома файловой системы имеют место  для  этого  блока,  даже
 
      если операционная система не требует его наличия. Если  том
 
      не является системным томом,  то  блок  начальной  загрузки
 
      содержит программу, которая  выдает  сообщение  на  консоль
 
      оператора о том, что данный том - не  системный  и,  скорее
 
      всего, содержит только файлы пользователя. Собственный блок
 
      тома обычно является следующим блоком после блока начальной
 
      загрузки. Этот блок отражает принадлежность тома к файловой
 
      системе. Если по какой-то причине собственный блок не  счи-
 
      тывается (физически непригоден), то используется  альтерна-
 
      тивный блок в качестве собственного блока. Этот блок  обес-
 
      печивает специальной информацией о томе и  о  значениях  по
 
      умолчанию для файлов на томе. Среди этой  информации  нахо-
 
      дится следующая:
 
           1) имя тома;
 
           2) информация для размещения остатка индексного файла;
 
           3) максимальное число файлов, которые могут находиться
 
      одновременно на томе;


                                - 15 -
 
                           00152-01 97 11
 
 
           4)  код  идентификации  пользователя  (UIC)  владельца
 
      тома;
 
           5) информация по защите тома (указывает пользователей,
 
      которые могут читать и/или записывать целый том).
 
           Тома с файловой структурой  содержат  несколько  копий
 
      собственного блока для  обеспечивания  гарантии  на  случай
 
      непредвиденного уничтожения информации собственного блока и
 
      последующей невозможности размещения других файлов на томе.
 
           Большая часть индексного файла состоит  из  заголовков
 
      файлов; каждый заголовок файла описывает один файл на томе.
 
      Заголовки  файлов  содержат  такую  информацию,  как  право
 
      собственности на файл, защиту, дату создания и время созда-
 
      ния. Наиболее важным содержимым  заголовка  файла  является
 
      список экстентов файла, описывающий физическое расположение
 
      файла на томе. Если файл содержит большое число  экстентов,
 
      для его описания используются несколько  заголовков  файла.
 
      Каждому  заголовку  файла  соответствует  идентификационный
 
      номер файла.
 
           При создании файла обычно указывается  имя  файла  для
 
      СУД-32, которая присваивает это имя файлу на томе с  файло-
 
      вой структурой. СУД-32 помещает имя файла  и  идентификатор
 
      файла, соответствующие вновь создаваемому файлу, в каталог,
 
      который содержит запись, определяющую местоположение каждо-
 
      го файла. При доступе к файлу называется имя файла, которое
 
      указывает по записи в каталоге идентификатор файла. Иденти-
 
      фикатор файла, в  свою  очередь,  указывает  на  размещение
 
      заголовка файла, который содержит список экстентов с дейст-
 
      вительными данными.
 


                                - 16 -
 
                           00152-01 97 11
 
 
           1.2. Основные концепции магнитной ленты
 
 
           Система хранения файлов на магнитных лентах в  МОС  ВП
 
      основывается на стандартной структуре магнитной ленты [11].
 
           Организация данных на магнитной ленте - последователь-
 
      ная: записи данных и файлы организуются в порядке их записи
 
      на ленту.
 
           Элементы данных на магнитной ленте измеряются в байтах
 
      на дюйм (BPI). Эта единица измерения называется  плотностью
 
      записи. Лента с плотностью 1600  BPI  может  вместить  1600
 
      символов данных, используя один дюйм  записывающего  прост-
 
      ранства. Несмотря на то что  магнитная  лента  может  иметь
 
      плотность 1600 BPI, не всегда каждый дюйм  магнитной  летны
 
      содержит 1600 символов  из-за  промежутков  между  записями
 
      (IRG). IRG - это пустой интервал между записями данных;  он
 
      создается автоматически  при  записи  на  магнитную  ленту.
 
      IRG - это точка прерывания на магнитной ленте,  позволяющая
 
      лентопротяжному устройству снижать скорость и, если необхо-
 
      димо, останавливаться после записи и  затем  набирать  ско-
 
      рость до рабочей перед следующей записью.
 
           Длина каждого IRG равна приблизительно 0.6 дюйма.  Для
 
      записи 80 символов с плотностью  1600  BPI  требуется  0.05
 
      дюйма пространства. Следовательно, IRG  требует  в  12  раз
 
      больше простанства чем данные, тем  самым  теряется  значи-
 
      тельное пространство памяти. СУД-32 может уменьшить  размер
 
      этого теряемого пространства, используя блокирование  запи-
 
      сей. Данный метод об'единяет  отдельные  записи  в  блок  и
 
      помещает IRG после блока, а не после каждой записи.
 
           Блок на диске отличается от блока на магнитной  ленте.
 
      На диске блок имеет фиксированный размер 512 байт, на  маг-
 


                                - 17 -
 
                           00152-01 97 11
 
 
      нитной ленте размер блока определяется пользователем. Одна-
 
      ко блокирование записей требует выделения в программе поль-
 
      зователя больше  буферного  пространства,  что  увеличивает
 
      потребности в памяти СУД-32. При увеличении числа записей в
 
      блоке увеличивается размер  требуемого  буфера.  Необходимо
 
      определить точку, наиболее выгодную в  смысле  блокирования
 
      записей. Это определение должно основываться на  конфигура-
 
      ции вычислительной системы.
 
           Как можно сохранить  пространство  путем  блокирования
 
      записей, показано на примере.
 
           Пример.
 
           Магнитная лента  1600  BPI  содержит  10  записей,  не
 
      сгруппированных в блок. Каждая запись имеет длину 160  сим-
 
      волов (0.I дюйма при плотности 1600 BPI) с IRG размером 0.6
 
      дюйма после каждой записи. Таким образом, занято  7  дюймов
 
      ленты. Однако, помещая  те  же  10  записей  в  один  блок,
 
      используется только 1.6 дюйма ленты (1 дюйм для записи дан-
 
      ных и 0.6 дюйма для IRG).
 
           Блокирование  записей  также  расширяет  эффективность
 
      потоков данных в эвм. Например, 10 несблокированных записей
 
      требуют 10 отдельных физических передач, в то время как  10
 
      записей, помещенных в один блок, требуют только одной физи-
 
      ческой передачи.
 
           При блокировании записей более короткая лента  вмещает
 
      то же самое  количество  данных;  таким  образом,  операция
 
      завершается быстрее.
 
           Данные на магнитной ленте организуются  в  файлы.  При
 
      создании файла на магнитной ленте файловая система  записы-
 
      вает набор головных меток,  непосредственно  предшествующих
 
      блокам данных. Эти метки  содержат  такую  информацию,  как


                                - 18 -
 
                           00152-01 97 11
 
 
      указываемое пользователем имя файла, дату создания  и  дату
 
      хранения. Дополнительные метки, называемые хвостовыми  мет-
 
      ками, записываются за файлом. Для доступа к файлу  на  маг-
 
      нитной ленте по имени  файла  файловая  система  производит
 
      поиск набора головных меток, который содержит указанное имя
 
      файла.
 
           Если блоки данных файла или связанные файлы  физически
 
      не помещаются на одном томе (бобине магнитной ленты),  файл
 
      продолжается на другом томе. Такой файл является  многотом-
 
      ным. Тома в многотомном файле  образуют  набор  томов.  При
 
      доступе к файлу из набора томов  просматриваются  все  тома
 
      набора.
 
 
 
           1.3. Упрощение рутинных операций
 
 
           Многие операции, выполняемые с диском и магнитной лен-
 
      той, являются в действительности шаблонными, однообразными,
 
      поэтому пользователь найдет заслуживающим внимания  уделить
 
      время для выделения тех задач, которые он  шаблонно  выпол-
 
      няет в своей практической работе. Однажды это сделав, поль-
 
      зователь может  разработать  командные  процедуры,  которые
 
      помогут ему в выполнении этих задач.
 
           Если пользователь является  системным  администратором
 
      или оператором, он, например, должен часто выполнять работу
 
      по поддержанию целостности данных, такую  как  дублирование
 
      носителя. Можно вводить все команды, параметры и квалифика-
 
      торы, требуемые для дублирования носителя, каждый раз, ког-
 
      да выполняется операция дублирования.  Или  можно  написать
 
      одну командную процедуру [1] (содержащую этот набор команд,
 
      квалификаторов и  параметров),  которая  при  вызове  будет
 


                                - 19 -
 
                           00152-01 97 11
 
 
      выполнять операцию дублирования.
 
 
 
 
                  2. Защита диска и магнитной ленты
 
 
 
           2.1. Защита данных
 
 
           Операционная система МОС ВП защищает данные на  диско-
 
      вых и ленточных томах от случайного или несанкционированно-
 
      го доступа. Том - это то, что  существует,  когда  носитель
 
      смонтирован на устройстве. Например, пакеты дисков и бобины
 
      магнитной ленты называются томами, когда  они  смонтированы
 
      на устройства диска и магнитной ленты.
 
           Система МОС ВП поддерживает защиту данных на  носителе
 
      дисков и магнитной ленты на уровнях тома и файла. На уровне
 
      тома система обеспечивает защиту для дисков и для лент.  На
 
      уровне файла  система  обеспечивает  защиту  индивидуальных
 
      дисковых файлов, файлов  каталогов,  которые  находятся  на
 
      дисковых томах, и файлов магнитных лент. Однако особеннос-
 
      тью  защиты   на   уровне   файлов   для   магнитных   лент
 
      является то,  что она ограничена одним  специальным случаем
 
      (п. 2.3.3).
 
           Дополнительно к защите данных на смонтированнных томах
 
      система обеспечивает также защиту на уровне устройства [2],
 
      однако в данном документе это не рассматривается.
 
           Данные, находящиеся на томах дисков и магнитной ленты,
 
      могут быть защищены следующими средствами:
 
           1) кодами идентификации пользователя (UIC);
 
           2) списками управления доступом (ACL);
 
           3) доступом по стандартным меткам.
 


                                - 20 -
 
                           00152-01 97 11
 
 
           2.1.1. Защита на основе UIC
 
 
           Защита на основе UIC поддерживается  для  ленточных  и
 
      дисковых томов и индивидуальных файлов на  дисковых  томах,
 
      включая каталоги. Защита на основе UIC  определяется  кодом
 
      /UIC владельца и кодом защиты. UIC владельца -  это  обычно
 
      UIC пользователя, который создал файл или том.  Код  защиты
 
      указывает, кому разрешен доступ и для каких целей.
 
           Форматы UIC могут содержать алфавитно-цифровые символы
 
      или состоять полностью  из  восьмеричных  чисел.  Например,
 
      [VVS,USER] и [360,030] являются правильными форматами UIC.
 
           При попытке осуществить доступ к файлу  или  тому  UIC
 
      пользователя сравнивается с UIC владельца файла или тома. В
 
      зависимости от UIC пользователь попадает в одну  или  более
 
      из следующих категорий:
 
           1) SYSTEM - все пользователи, имеющие системную приви-
 
      легию (SYSPRV) или младшие номера группы, обычно от 1 до 10
 
      (восьмеричные). Однако точный  интервал  номеров  системных
 
      групп определяется администратором системы,  когда  система
 
      генерируется, и может лежать в  диапазоне  от  1  до  37776
 
      (восьмеричное). Эти номера групп  используются  в  основном
 
      для администраторов системы, системных программистов и опе-
 
      раторов. Кроме того, поле защиты  SYSTEM  используется  для
 
      тех пользователей с привилегией GRPPRV,  чей  номер  группы
 
      UIC равен номеру группы UIC владельца файла или тома;
 
           2) OWNER - пользователь с тем же UIC, что и у создате-
 
      ля и, следовательно, владельца тома или файла;
 
           3) GROUP - все пользователи, включая владельца,  кото-
 
      рые имеют тот же номер группы в своих UIC, что  и  владелец
 
      файла;
 


                                - 21 -
 
                           00152-01 97 11
 
 
           4) WORLD - все пользователи, включая тех, кто перечис-
 
      лен в первых трех категориях.
 
           Примечание. Категории SYSTEM и оWNER всегда имеют дос-
 
      туп к томам  магнитной  ленты,  исключая  отдельные  случаи
 
      (п. 2.1.3).
 
           Каждой из категорий пользователей разрешено или запре-
 
      щено несколько типов доступа:
 
           - чтение (READ);
 
           - запись (WRITE);
 
           - выполнение (EXECUTE);
 
           - удаление (DELETE);
 
           - управление (CONTROL).
 
           Значение каждого типа доступа зависит  от  об'екта,  к
 
      которому он применяется (том  диска  или  магнитной  ленты,
 
      файл или каталог)(подразделы 2.2, 2.3).
 
           Доступ для управления не содержится в маске защиты. Он
 
      никогда не допускается для категорий пользователей CROUP  и
 
      WORLD, но всегда предоставляется категориям SYSTEM и OWNER.
 
           Можно обойти все проверки защиты на основе  UIC,  если
 
      имеется привилегия пользователя BYPASS. Кроме  того,  можно
 
      обойти все проверки защиты и получить доступ для  чтения  и
 
      управления к дисковому файлу, если имеется привилегия поль-
 
      зователя READALL. Для магнитных лент можно обойти  проверки
 
      защиты на основе UIC, если имеется привилегия VOLPRO.
 


                                - 22 -
 
                           00152-01 97 11
 
 
           2.1.2. Защита на основе ACL
 
 
           Список управления доступом (ACL) -  это  прежде  всего
 
      список входов, которые предоставляют или лишают  доступа  к
 
      отдельным системным ресурсам, таким как дисковый  файл  или
 
      каталог. ACL предоставляет возможность "точной  подстройки"
 
      при установлении доступа к файлу. Можно (но не обязательно)
 
      создать ACL для любого дискового файла с целью предоставле-
 
      ния как широких так и ограниченных прав доступа,  как  тре-
 
      буется в каждом случае. При  более  детальном  определении,
 
      кому предоставить отдельные виды доступа, ACL  могут  повы-
 
      сить защиту дисковых файлов. Однако точная подстройка дает-
 
      ся большой потерей производительности: чем больше ACL,  тем
 
      больше времени они требуют для обработки.
 
           Защита на основе ACL поддерживается только для  файлов
 
      и каталогов на дисковых томах. Защита на основе ACL не под-
 
      держивается для файлов на томах магнитной ленты.
 
           Если файл не имеет соответствующего ACL, система для
 
      определения  доступа  использует  защиту  на  основе UIC
 
      (п. 2.1.1).
 
           Если файл имеет соответствующий ACL,  система  исполь-
 
      зует ACL для определения доступа следующим образом:
 
           1) если ACL включает вход идентификатора для UIC поль-
 
      зователя, спецификация ACL имеет преимущество перед защитой
 
      на основе UIC. Однако категории SYSTEM и  OWNER  могут  все
 
      равно иметь доступ [2];
 
           2) если ACL не включает вход  идентификатора  для  UIC
 
      (т.е. доступ определен неявно или отсутствует), система для
 
      определения доступа использует защиту на основе UIC.
 
           Если имеется доступ к управлению ресурсом, можно опре-
 


                                - 23 -
 
                           00152-01 97 11
 
 
      делить  список  управления  доступом,  используя  следующие
 
      команды языка DCL [3]:
 
           - EDIT/ACL
 
           - SET ACL
 
 
 
           2.1.3. Защита   доступа   для   магнитных   лент    со
 
      стандартными метками
 
 
           Файловая система для магнитных лент поддерживает защи-
 
      ту доступа на основе стандартных меток.  Эта  схема  защиты
 
      позволяет использовать программы, разработанные для интерп-
 
      ретации содержимого поля  доступа  тома  и  головной  метки
 
      (приложение 2).
 
           Для ввода с тома программа установки должна возвращать
 
      файловой системе на магнитной ленте одно из следующих  зна-
 
      чений:
 
           1) пользователь не имеет доступа к тому/файлу;
 
           2) пользователь имеет полный доступ к тому/файлу;
 
           3) следует  использовать  выходную  информацию  любого
 
      другого заданного механизма защиты (для доступа  на  уровне
 
      файлов, какая бы защита не была  установлена  для  тома  по
 
      умолчанию).
 
           Если программа установки определяет, что  пользователь
 
      не имеет доступа к тому или  файлу,  то  этот  пользователь
 
      будет лишен доступа независимо от того, какая  защита  тома
 
      установлена операционной системой. т.е. никакие привилегии,
 
      предоставленные операционной системой,  не  могут  отменить
 
      это решение. С другой  стороны,  если  программа  установки
 
      определяет, что пользователь имеет полный  доступ  к  файлу
 
      или тому, то ему будет  предоставлен  полный  доступ,  даже
 


                                - 24 -
 
                           00152-01 97 11
 
 
      если схема защиты операционной системы отказывает в доступе
 
      к этому файлу или тому.
 
           Для вывода на том программа установки  должна  возвра-
 
      щать символ для записи в поле доступа метки тома или файла.
 
           Если не разработана своя собственная  программа  уста-
 
      новки, операционная система обеспечит программу по  умолча-
 
      нию. Программа операционной системы будет работать  следую-
 
      щим образом.
 
           Для вывода метки, если для тома задана  характеристика
 
      защиты операционной системы, программа будет возвращать код
 
      символа 1 (единица). Если защита  операционной  системы  не
 
      задана, программа будет возвращать символ "пробел".
 
           При вводе метки программа будет  возвращать  значение,
 
      которое вызывает на проверку  файловой  системой  магнитной
 
      ленты системной защиты со следующими условиями:
 
           1) если программа находит символ 1 в  поле  доступа  и
 
      задана защита операционной системы и магнитная лента  соот-
 
      ветствует стандартному формату;
 
           2) если  магнитная  лента  соответствует  стандартному
 
      формату;
 
           3) символ пробела во всех остальных случаях.
 
           Для всех других условий программа операционной системы
 
      будет возвращать значение, основанное на проверке  файловой
 
      системой явного запрета доступа (см. п. 2.3.3).
 


                                - 25 -
 
                           00152-01 97 11
 
 
           2.2. Защита на уровне тома
 
 
           Диски и магнитные ленты могут быть защищены на  уровне
 
      тома. При подготовке дискового тома или тома магнитной лен-
 
      ты  для  индивидуального  использования  можно   определить
 
      желаемую защиту.
 
           Обычно защита тома для дискового тома или тома магнит-
 
      ной ленты устанавливается, когда том монтируется  или  ини-
 
      циализируется [4].  Если  пользователь  не  указывает  явно
 
      защиту для отдельного  дискового  тома,  система  установит
 
      защиту, предусмотренную по умолчанию.
 
           Для изменения защиты,  которая  была  установлена  для
 
      дискового тома, необходимо использовать команду SET  VOLUME
 
      языка DCL [2].
 
 
 
           2.2.1. Защита дисковых томов
 
 
           Защита дисковых томов поддерживает следующие типы дос-
 
      тупа:
 
           1) для чтения (READ);
 
           2) для записи (WRITE);
 
           3) для выполнения (EXECUTE);
 
           4) для удаления (DELETE).
 
           Если имеется доступ для чтения к  дисковому  тому,  то
 
      можно просматривать,  печатать,  выполнять  или  копировать
 
      файлы на этом томе.
 
           Если имеется доступ для записи к  дисковому  тому,  то
 
      можно модифицировать существующие файлы  на  этом  томе.  В
 
      отличие от томов магнитной ленты доступ для записи не  под-
 
      разумевает автоматически и доступ для  чтения,  т.е.  можно
 
      разрешить пользователю доступ для записи к  дисковому  тому


                                - 26 -
 
                           00152-01 97 11
 
 
      без предоставления доступа для чтения. Однако это не  очень
 
      удобно, так как доступ для записи к файлу предполагает дос-
 
      туп для чтения.
 
           При применении на  уровне  тома  (в  противоположность
 
      уровню файла) доступа  для  выполнения  пользователь  имеет
 
      право создавать файлы или модифицировать существующие  фай-
 
      лы. Доступ для выполнения,  примененный  на  уровне  файла,
 
      дает право вызывать файлы, которые могут выполняться (такие
 
      как выполняемые образы и командные  процедуры).  Если  есть
 
      доступ для удаления к дисковому тому,  можно  удалять  файл
 
      (файлы) на томе.
 
 
 
           2.2.2. Защита томов магнитной ленты
 
 
           В отличие от защиты дисковых томов  для  защиты  томов
 
      магнитной ленты применяется только два типа доступа:
 
           1) для чтения (READ);
 
           2) для записи (WRITE).
 
           Если имеется доступ для чтения,  можно  просматривать,
 
      печатать или копировать файл (файлы) с тома. Если пользова-
 
      тель обладает доступом для записи, он имеет право дополнять
 
      или записывать файлы на том.
 
           Для томов магнитной ленты доступ для записи подразуме-
 
      вает и доступ для  чтения.  Таким  образом,  предоставление
 
      категории пользователей доступа  для  записи  автоматически
 
      позволяет им иметь доступ для чтения этого тома.
 
           Существуют два способа защиты томов магнитной ленты  в
 
      операционной системе:
 
           1) можно  защитить  том  магнитной  ленты  посредством
 
      защиты на основе UIC, поддерживаемой операционной системой.
 


                                - 27 -
 
                           00152-01 97 11
 
 
      Эта схема проверяется только в системе МОС ВП и будет игно-
 
      рироваться в любой другой системе;
 
           2) можно также защитить том магнитной ленты, используя
 
      правила, принятые для стандартных меток. Эта схема  обеспе-
 
      чивает защиту томов магнитной ленты при обмене томами между
 
      МОС ВП и другими операционными системами.
 
 
 
           2.2.2.1. Защита магнитных лент МОС ВП
 
 
           Файловая система для магнитных лент МОС  ВП  обеспечи-
 
      вает два уровня защиты:
 
           1) один уровень определяется стандартом на метки  [11]
 
      и кодируется в поле ACCESSIBILITY первой метки тома,  запи-
 
      санной на магнитную ленту;
 
           2) второй уровень основан на UIC и определяется файло-
 
      вой системой для магнитной ленты МОС ВП. Эта  защита  коди-
 
      руется во второй метке тома, записанной на магнитную ленту.
 
 
 
           2.2.2.2. Защита для случая межсистемного обмена
 
 
           Защита тома магнитной ленты поддерживается  также  для
 
      обмена между МОС  ВП  и  другими  операционными  системами.
 
      Защита поддерживается как для обмена между МОС ВП и  опера-
 
      ционными системами для СМ ЭВМ (такими как  ОС  РВ),  так  и
 
      между МОС ВП и операционными системами других эвм.
 
           Для магнитных лент, используемых в любой  операционной
 
      системе, которая поддерживает стандартные метки,  доступ  к
 
      информации в первой метке тома обеспечивается точно так же,
 
      как в МОС ВП. С целью обработки магнитных лент, созданных в
 
      операционной системе, отличной от МОС ВП, пользователь дол-
 
      жен иметь привелегию VOLPRO и должен явно подавлять провер-


                                - 28 -
 
                           00152-01 97 11
 
 
      ку защиты. Если магнитная лента была создана со специальным
 
      доступом, пользователь, желающий осуществить доступ к  этой
 
      ленте, должен иметь  соответствующую  привилегию  и  должен
 
      явно подавить проверку доступа. Если том магнитной ленты не
 
      был создан по такой схеме  защиты,  пользователь,  желающий
 
      осуществить доступ к такой магнитной  ленте,  обязан  иметь
 
      право доступа для чтения и записи для данного тома  магнит-
 
      ной ленты.
 
           Файловая система  магнитной  ленты  МОС  ВП  позволяет
 
      задавать значения для полей, в которые другие  операционные
 
      системы см эвм записывают свою информацию защиты.  Исключая
 
      некоторые условия,  МОС  ВП  будет  игнорировать  обработку
 
      такого поля. Такое поле может, следовательно, использовать-
 
      ся для записи значений защиты для другой операционной  сис-
 
      темы без учета действия характеристик защиты МОС ВП на дан-
 
      ном томе.
 
 
 
           2.3. Защита на уровне файла
 
 
           Дополнительно к защите  на  уровне  тома  операционная
 
      система МОС ВП поддерживает защиту  на  уровне  файлов  для
 
      всех файлов, расположенных на дисковых томах, включая ката-
 
      логи. В определенных случаях защита на уровне файлов  также
 
      поддерживается для файлов на магнитных лентах.  Однако  для
 
      файлов, расположенных на томах магнитной ленты,  существует
 
      только один специальный случай (см. п.  2.3.3),  в  котором
 
      применима особая защита на уровне файлов.
 
           Защита на уровне файлов  описывается  для  каждого  из
 
      следующих типов:
 


                                - 29 -
 
                           00152-01 97 11
 
 
           1) защита дисковых файлов;
 
           2) защита файлов каталогов;
 
           3) защита файлов магнитной ленты.
 
 
 
           2.3.1. Защита дисковых файлов
 
 
           Каждый файл на диске  имеет  собственный  код  защиты,
 
      который отличается от защиты, применяемой к самому дисково-
 
      му тому. Для файлов, расположенных на дисковых томах,  под-
 
      держиваются следующие типы доступа:
 
           1) для чтения (READ);
 
           2) для записи (WRITE);
 
           3) для выполнения (EXECUTE);
 
           4) для удаления (DELETE);
 
           5) для управления (CONTROL).
 
           Если пользователь обладает доступом к файлу или группе
 
      файлов для чтения на дисковом томе, он имеет право просмат-
 
      ривать, печатать или копировать этот файл или  группу  фай-
 
      лов. Доступ для чтения автоматически включает доступ к ука-
 
      занному файлу или группе файлов для выполнения.
 
           Если пользователь обладает доступом к файлу или группе
 
      файлов для записи, он имеет право модифицировать  файл  или
 
      группу файлов. Как и для защиты дисковых томов, можно обла-
 
      дать доступом для записи без доступа для чтения. Однако это
 
      не очень полезно, так как открытие файла для операции запи-
 
      си предполагает наличие доступа для чтения.
 
           При доступе для выполнения можно  выполнять  файл  или
 
      группу файлов, включая выполняемые программные  образы  или
 
      командные процедуры языка DCL.
 
           При доступе для удаления можно удалять файл или группу
 


                                - 30 -
 
                           00152-01 97 11
 
 
      файлов.
 
           Если пользователь имеет доступ для управления,  то  он
 
      может изменять характеристики файла или группы файлов.
 
           Можно указать код защиты при создании или  копировании
 
      файла, используя квалификатор /PROTECTION, например:
 
      $COPY/PROTECTION=(SYSTEM:RW,OWNER:RWED,GROUP:RW,WORLD)
 
           Можно также  изменить  защиту  существующего  файла  с
 
      помощью команды SET PROTECTION, например:
 
      $SET PROTECTION=(SYSTEM:RWE,OWNER:RWED,GROUP:RE,WORLD)-
 
      _$ ABC.DAT
 
           Эта команда информирует операционную систему, что  для
 
      файла ABC.DAT пользователи категории  SYSTEM  имеют  доступ
 
      для чтения, записи и выполнения; категории OWNER - для чте-
 
      ния, записи, выполнения и удаления; категории GROUP - толь-
 
      ко для чтения и выполнения, а категории WORLD не имеют дос-
 
      тупа.
 
           Доступ для управления предполагается и является  неиз-
 
      меняемым для владельца файла и системного программиста,  но
 
      отсутствует для категорий GROUP и WORLD.
 
           Если не определен код защиты для файла при его  созда-
 
      нии, система применяет защиту, установленную по  умолчанию.
 
      Если уже существует версия файла , защита переходит из пре-
 
      дыдущей версии файла. Для нового файла защита  определяется
 
      одним из двух способов:
 
           1) если каталог, в который должен  быть  внесен  файл,
 
      имеет соответствующий вход управления доступом,  определяю-
 
      щий вход DEFAULT_PROTECTION, используется указываемая защи-
 
      та;
 
           2) если каталог  не  имеет  входа  DEFAULT_PROTECTION,
 
      используется защита процесса по умолчанию. (защита по умол-


                                - 31 -
 
                           00152-01 97 11
 
 
      чанию устанавливается явно командой SET  PROTECTION/DEFAULT
 
      или по умолчанию при входе в систему).
 
           Можно  определить  текущую  защиту,  установленную  по
 
      умолчанию, выдав команду:
 
      $ SHOW PROTECTION
 
      SYSTEM=RWED, OWNER=RWED, GROUP=RE, WORLD=NO ACCESS
 
           В ответе система указывает  защиту,  установленную  по
 
      умолчанию.  Она  показывает,  что  пользователи   категории
 
      SYSTEM и OWNER имеют все типы доступа,  категории  GROUP  -
 
      доступы для чтения и выполнения, а все остальные  пользова-
 
      тели (WORLD) не имеют доступа.
 
           Для определения текущей защиты, связанной  с  заданным
 
      файлом  или  файлами,   можно   использовать   квалификатор
 
      /PROTECTION в команде DIRECTORY, например:
 
      $ DIRECTORY/PROTECTION MYFILE.REC
 
      DIRECTORY DMA1:[CRAMER]
 
      MYFILE.REC;5    (RWED, RWED, RW, R)
 
      TOTAL OF 1 FILE.
 
           Можно изменить защиту, установленную  по  умолчанию  к
 
      файлам, которые создаются в интерактивном сеансе, используя
 
      команду     SET     PROTECTION/DEFAULT.     Команда     SET
 
      PROTECTION/DEFAULT говорит о том, что заданный  код  защиты
 
      должен быть применен ко всем файлам, создаваемым в процессе
 
      интерактивного сеанса или в пакетном задании (предполагает-
 
      ся, что файлы не находятся под влиянием  других  источников
 
      защиты).
 
           Для полной защиты файла необходимо защитить и сам файл
 
      и каталог, в котором файл содержится. Если  имеются  файлы,
 
      которые должны быть защищены от несанкционированного досту-
 
      па, нужно обеспечить подходящую  защиту  для  каталогов,  в


                                - 32 -
 
                           00152-01 97 11
 
 
      которых перечислены эти файлы, и для самих файлов.
 
 
 
           2.3.2. Защита каталога
 
 
           Каждый каталог имеет  защиту.  Защита  каталога  может
 
      подавлять защиту индивидуальных файлов каталогA.  Например,
 
      если защита  каталога  отменяет  доступ  для  пользователей
 
      категории WORLD, эти пользователи  не  могут  просматривать
 
      даже те файлы в каталоге, которые допускают доступ для дан-
 
      ной категории.
 
           Для каталогов существуют следующие типы доступа:
 
           1) для чтения (READ);
 
           2) для записи (WRITE);
 
           3) для выполнения (EXECUTE);
 
           4) для удаления (DELETE);
 
           5) для управления (CONTROL).
 
           Обладание доступом к файлу (из  каталога)  для  чтения
 
      дает право  просматривать,  печатать  или  копировать  этот
 
      файл. Если пользователь имеет доступ для  чтения  каталога,
 
      он может отобразить содержимое  файла  каталога  с  помощью
 
      команды DIRECTORY. Например, если есть  доступ  для  чтения
 
      каталога [JONES], можно выдать команду:
 
      $ DIRECTORY [JONES] .
 
           Доступ для чтения каталога разрешает доступ  к  любому
 
      файлу, содержащемуся в этом  каталоге,  если  защита  этого
 
      файла не запрещает такого  доступа.  Если  защита  каталога
 
      запрещает доступ для чтения, то нельзя  осуществить  доступ
 
      даже к тем файлам в каталоге, которые допускают доступ  для
 
      пользователей данной группы.
 
           Доступ к каталогу для записи позволяет  модифицировать
 


                                - 33 -
 
                           00152-01 97 11
 
 
      каталог или записывать в него. Однако необходимо иметь  оба
 
      доступа к каталогу: для чтения и для записи. Это необходимо
 
      для создания файлов, переименования файлов данного каталога
 
      или выполнения любой операции с файлом, приводящей к  изме-
 
      нениям в каталоге.
 
           Доступ для выполнения  имеет  специальное  значение  в
 
      применении к каталогам. Наличие только одного  доступа  для
 
      выполнения позволяет  использовать  команду  DIRECTORY  для
 
      просмотра файлов, входящих в данный каталог, по  их  имени.
 
      Этот доступ означает также, что можно осуществить доступ  к
 
      файлам в каталоге, которые  не  защищены  от  пользователей
 
      данной категории, при условии, что не выполняется операция,
 
      которая модифицирует каталог.  Однако  нельзя  использовать
 
      групповую операцию при задании имен файлов.
 
           Например, если есть доступ к каталогу  [JONES]  только
 
      для выполнения и выдана команда:
 
      $ DIRECTORY [JONES] ,
 
      то система ответит сообщением об  ошибке  и  не  перечислит
 
      файлы каталога [JONES]. Однако,  если  известно,  что  файл
 
      DATAFILE.DAT расположен в каталоге  [JONES],  можно  выдать
 
      команду:
 
      $ TYPE [JONES]DATAFILE.DAT
 
           Система выведет файл. Следовательно, сам по себе  один
 
      доступ для выполнения обеспечивает  некоторые,  но  не  все
 
      операции, которые предоставляются доступом для чтения.
 
           Доступ к каталогу для удаления позволяет удалить  этот
 
      каталог. Перед его удалением необходимо уничтожить все вхо-
 
      ды  каталога.  При  создании   каталога   командой   CREATE
 
      /DIRECTORY пользователь не получает (по умолчанию)  доступа
 
      для  удаления.  Для  получения  такого  доступа  необходимо


                                - 34 -
 
                           00152-01 97 11
 
 
      использовать команду SET PROTECTION для  явного  назначения
 
      этого доступа для категории пользователей OWNER.
 
           Доступ к каталогу для  управления  позволяет  изменять
 
      характеристики каталога.
 
           Следует помнить, что для гарантии того,  что  дисковые
 
      файлы правильно защищены, необходимо предпринять определен-
 
      ные действия для подходящей защиты обоих уровней:  каталога
 
      и файла. ACL позволяет дополнительно управлять  доступом  к
 
      дисковым файлам.
 
 
 
           2.3.3. Защита файлов магнитной ленты
 
 
           В целом защита тома на магнитной ленте распространяет-
 
      ся на все файлы тома. Однако для магнитных  лент  со  стан-
 
      дартными метками поддерживается также защита на уровне фай-
 
      лов. Для магнитных лент со стандартными метками  защита  на
 
      уровне файлов может быть  определена  по  содержимому  поля
 
      доступа , которое расположено в первой головной метке  каж-
 
      дого файла.
 
           Каждый раз, когда файл магнитной ленты со стандартными
 
      метками открывается для обработки, программа установки про-
 
      веряет содержимое поля доступа файла. В зависимости от зна-
 
      чения, возвращаемого этой программой, доступ к файлу в зап-
 
      росе будет либо предоставлен, либо запрещен, либо  применен
 
      в соответствии со значением, установленным по  умолчанию  в
 
      схеме защиты  операционной  системы,  применяемой  к  тому,
 
      содержащему этот файл (см. п. 2.1.3).
 


                                - 35 -
 
                           00152-01 97 11
 
 
        3. Подготовка томов для индивидуального использования
 
 
 
           3.1. Установка томов
 
 
           При  некоторых  обстоятельствах  необходимо  выполнять
 
      работу    на    устройстве,    недоступном    для    других
 
      неавторизOванных пользователей. Создавая личный том и  мон-
 
      тируя его на  устройстве,  закрепленном  исключиTельно  для
 
      данного процесса, можно выполнять работу без боязни  вмеша-
 
      тельства со стороны других пользователей.
 
           Для установки личного тома, необходимо выполнить  сле-
 
      дующие действия [2],[4]:
 
           1) с помощью  команды  ALLOCATE  назначить  устройство
 
      (диск или магнитную ленту) исключительно для своего процес-
 
      са (закрепление устройства);
 
           2) с помощью команды INITIALIZE отформатировать том  и
 
      записать  на  него  идентифицирующую  метку  (инициализация
 
      тома);
 
           3) используя команду MOUNT, сделать том  и  файлы  или
 
      данные, которые он содержит, доступными для работы  (монти-
 
      рование тома).
 
 
 
           3.2. Закрепление устройства
 
 
           Перед обработкой файлов  или  данных  на  личном  томе
 
      необходимо, в первую очередь, закрепить устройство за  про-
 
      цессом. Можно использовать команду ALLOCATE для логического
 
      назначения дискового  или  ленточного  устройства  процессу
 
      пользователя.
 
           Независимо от того, закрепляется устройство диска  или
 
      магнитной ленты, формат команды ALLOCATE следующий:


                                - 36 -
 
                           00152-01 97 11
 
 
      ALLOCATE имя_устройства[:] [логическое_имя]
 
           Имя_устройства[:] - указывает устройство,  на  котором
 
      будет размещен том. Имя устройства может  быть  физическим,
 
      общим или логическим именем. Физическое имя устройства сос-
 
      тоит из кода устройства, алфавитного указателя  контроллера
 
      и номера устройства. Общее имя устройства состоит только из
 
      кода устройства. Логическое имя должно  быть  приравнено  к
 
      физическому  или  общему  имени.  Использование   двоеточия
 
      является необязательным, но рекомендуется.
 
           [логическое_имя] - указывает необязательное логическое
 
      имя, связываемое с указанным устройством.
 
           Команда ALLOCATE закрепляет для процесса  только  одно
 
      устройство. Исключая список общих имен устройств,  ALLOCATE
 
      не допускает перечисления имен устройств в командной  стро-
 
      ке. Несмотря на то, что можно  указать  список  общих  уст-
 
      ройств, закреплено будет только первое доступное  устройст-
 
      во.
 
 
 
           3.2.1. Закрепление дискового устройства
 
 
           В данном пункте приведены примеры использования коман-
 
      ды ALLOCATE для закрепления дисковых устройств. Несмотря на
 
      то, что в примерах рассматривается только закрепление  уст-
 
      ройств типа СМ 5408, на других дисковых устройствах закреп-
 
      ление выполняется точно таким же образом.
 
           Пример 1.
 
      $ ALLOCATE DM: DISK
 
           В данном примере команда ALLOCATE требует, чтобы  пер-
 
      вое доступное устройство СМ 5408  было  назначено  процессу
 
      пользователя. Логическое  имя  DISK  помещается  в  таблицу
 


                                - 37 -
 
                           00152-01 97 11
 
 
      логических имен процесса и присваивается имени закрепленого
 
      устройства. Другие пользователи не имеют  доступа  к  этому
 
      устройству.
 
           Пример 2.
 
      $ ALLOCATE _DMA2:
 
      DCL-I-ALLOC, _MARS$DMA2: ALLOCATED
 
           В данном примере команда ALLOCATE требует  закрепления
 
      заданного дискового устройства CM 5408,  которое  находится
 
      на устройстве 2 контроллера А. Ответ команды ALLOCATE пока-
 
      зывает, что устройство было успешно закреплено.
 
           При желании закрепить устройство конкретного типа мож-
 
      но   использовать   квалификатор   /GENERIC    в    команде
 
      ALLOCATE [2].
 
 
 
           3.2.2. Закрепление устройства магнитной ленты
 
 
           В данном пункте приведены примеры использования коман-
 
      ды ALLOCATE для закрепления устройств магнитной ленты.
 
           Пример 1.
 
      $ ALLOCATE MSA1:
 
      %DCL-I-ALLOC, _MARS$MSA1: ALLOCATED
 
           В данном примере в команде ALLOCATE задается физичекое
 
      имя устройства МSА1:. Система информирует, что  МSА1:  зак-
 
      реплено.
 
           Пример 2.
 
      $ ALLOCATE MS DRIVE
 
      %DCL-I-ALLOC, _MARS$MSA0: ALLOCATED
 
           В данном примере команда ALLOCATE задает список  общих
 
      имен устройств. Как минимум, общее имя устройства  содержит
 
      код устройства; указание контроллера является  необязатель-
 


                                - 38 -
 
                           00152-01 97 11
 
 
      ным. Закрепляется только одно из заданных общих  устройств.
 
      Каждый элемент в списке  должен  представлять  единственный
 
      общий тип устройства.
 
           Система информирует, что  было  закреплено  устройство
 
      MSA0. Кроме того, система назначает устройству МSА0:  логи-
 
      ческое имя DRIVE, хотя это и не отражено в сообщении.
 
           Пример 3.
 
      $ALLOCATE DRIVE1: D1
 
      %DCL-I-ALLOC, _MARS$DMA3: ALLOCATED
 
           В данном примере команда  ALLOCATE  задает  логическое
 
      имя DRIVE1: как имя устройства. (этот пример  предполагает,
 
      что DRIVE1: уже было определено).
 
           Затем система информирует о том, что DRIVE1  закрепле-
 
      но. Несмотря на отсутствие сообщения, МОС ВП также присваи-
 
      вает устройству DRIVE1: логическое имя D1.
 
           Если необходимо закрепить  конкретный  тип  устройства
 
      магнитной   ленты,    можно    использовать    квалификатор
 
      /GENERIC [2].
 
 
 
           3.3. Инициализация тома
 
 
           Перед тем, как пользователь сможет записать файлы  или
 
      данные на дисковый том или том магнитной ленты, том  должен
 
      быть  инициализирован.   Можно   воспользоваться   командой
 
      INITIALIZE для форматирования и записи метки на том.
 
           Команда INITIALIZE выполняет следующие действия:
 
           1) об'являет все данные, если они существуют на  томе,
 
      недействительными и создает новую структуру файлов;
 
           2) записывает на том идентифицирующую метку;
 
           3) определяет UIC владельца и защиту тома.
 


                                - 39 -
 
                           00152-01 97 11
 
 
           Независимо от того,  инициализируется  том  диска  или
 
      магнитной ленты, формат команды INITIALIZE должен быть сле-
 
      дующим:
 
      INITIALIZE имя_устройства[:], метка_тома
 
           Имя_устройства[:] - указывает имя устройства, на кото-
 
      ром должен быть физически смонтирован и затем  проинициали-
 
      зирован том. Рекомендуется, чтобы устройство было закрепле-
 
      но до инициализации; однако предварительное закрепление  не
 
      является обязательным.
 
           Метка_тома - указывает, Kакой идентификатор  присвоить
 
      тому. Символы автоматически перекодируются в коды  верхнего
 
      регистра. Можно задать до  12  алфавитно-цифровых  символов
 
      для дискового тома или до 6 алфавитно-цифровых символов для
 
      тома магнитной ленты. Любые другие символы, отличные от "$"
 
      и "_", являются неверными для спецификации метки  дискового
 
      тома.
 
           Существует несколько случаев, при которых  можно  пре-
 
      дотвратить доступ и инициализацию конкретного тома.  Напри-
 
      мер, если том, планируемый для инициализации, ранее  содер-
 
      жал данные, и код защиты этого тома может предупредить вме-
 
      шательство пользователя и инициализацию этого тома. В  слу-
 
      чае с томом магнитной ленты нельзя проинициализировать том,
 
      если для первого файла на томе не истек срок хранения,  или
 
      если разрешение доступа к тому или файлу таково, что  прог-
 
      рамма установки МОС ВП не позволяет  пользователю  осущест-
 
      вить доступ к тому.
 
           Если том защищен или срок хранения  первого  файла  не
 
      истек, и пользователь не является владельцем тома или  сис-
 
      темным пользователем, то для подавления защиты тома необхо-
 
      димо  обладать  привилегией  VOLPRO.  Если  нет  привилегии


                                - 40 -
 
                           00152-01 97 11
 
 
      VOLРRO, можно попросить предыдущего владельца тома или дру-
 
      гого пользователя (администратора  системы  или  оператора,
 
      например), который имеет право доступа  для  чтения/записи,
 
      проинициализировать том. Если программа  установки  МОС  ВП
 
      (или программа установки, разработанная  пользователем)  не
 
      дает права доступа, следует  проконсультироваться  у  адми-
 
      нистратора системы.
 
           При передаче тома для инициализации другому  пользова-
 
      телю необходимо указать:
 
           1) метку, которая должна быть записана на том;
 
           2) код защиты и UIC владельца, которые необходимо наз-
 
      начить тому.
 
           При получении тома магнитной  ленты  или  диска  нужно
 
      указать его идентификацию на внешней поверхности тома  так,
 
      чтобы ее легко можно было определить.
 
 
 
           3.3.1. Инициализация дискового тома
 
 
           По умолчанию команда INITIALIZE строит на  новом  томе
 
      файловую структуру. Формат для дисковых томов в  операцион-
 
      ной системе МОС ВП называется файловой структурой уровня 2.
 
      Команда  INITIALIZE  может также инициализировать  дисковые
 
      тома  в формате файловой  структуры  уровня 1 (см. приложе-
 
      ние 1).
 
           Пользователю не требуется специальных  привилегий  для
 
      подавления логической защиты пустого дискового  тома  (т.е.
 
      тома, на который никогда не производилась запись) или  дис-
 
      кового тома, владельцем которого  является  пользователь  с
 
      тем же UIC или UIC[0,0]. Во всех других случаях  необходимо
 
      иметь привилегию VOLPRO. Типичные случаи инициализации дис-
 


                                - 41 -
 
                           00152-01 97 11
 
 
      ка приведены на примерах.
 
           Пример 1.
 
      $ INITIALIZE DISK USER_DISK
 
           В данном примере тому присваивается  метка  USER_DISK.
 
      DISK - это логическое имя устройства, на котором  смонтиро-
 
      ван том.
 
           Пример 2.
 
      $ALLOCATE DMA2: TEMP
 
      %DCL-I-ALLOC, _MARS$DMA2 ALLOCATED
 
      $INITIALIZE TEMP: BACKUP_FILE
 
           Пример   показывает,   как   проинициализировать   том
 
      на СМ 5408:
 
           1) закрепляется устройство, чтобы быть уверенным,  что
 
      никто другой не сможет получить к нему доступ;
 
           2) когда том физически загружен на устройстве, команда
 
      INITIALIZE инициализирует его.
 
 
                             
           3.3.2. Инициализация тома магнитной ленты
 
 
           По умолчанию формат томов на магнитной ленте в МОС  ВП
 
      Oсновывается на третьем уровне стандарта [11]  (стандартный
 
      формат)(см. приложение 2).
 
           Для кодирования меток томов магнитной  ленты  в  стан-
 
      дартном формате используется  команда  INITIALIZE,  которая
 
      записывает метки в пустой файл на томе  магнитной  ленты  в
 
      следующем порядке:
 
           1) метку тома;
 
           2) головные метки  файла  с  последовательным  номером
 
      файла, установленным на ноль;
 
           3) две метки ленты, обрамляющие  пустой  файл  (BOT  и
 


                                - 42 -
 
                           00152-01 97 11
 
 
      EOT);
 
           4) соответствующие хвостовые метки файла (EOF);
 
           5) двойной маркер ленты, указывающий логический  конец
 
      тома.
 
           Пример описывает инициализацию тома магнитной ленты:
 
      $ INITIALIZE таре USER
 
           В данном примере том магнитной  ленты  получает  метку
 
      USER. TAPE - это  логическое  имя  устройства,  на  котором
 
      смонтирован том.
 
           Если для метки тома используются символы "A"  (которые
 
      не являются алфавитно-цифровыми), то  необходимо  заключить
 
      имя тома в двойные кавычки.
 
           При работе с томом магнитной ленты команда  INITIALIZE
 
      всегда пытается прочитать том. В некоторых  случаях  пустая
 
      магнитная лента может вызвать неисправимые ошибки:
 
           1) фатальное системное сообщение, например:
 
      %INIT-F-VOLINV, VOLUME IS NOT SOFTWARE ENABLED
 
           2) неконтролируемая магнитная лента.  Неконтролируемое
 
      состояние магнитной ленты случайно возникает для новых маг-
 
      нитных лент, которые никогда  не  подвергались  записи  или
 
      которые были обработаны проверочной машиной.
 
           Единственным  способом  остановки   магнитной   ленты,
 
      вышедшей из-под контроля, является перевод устройства  маг-
 
      нитной ленты в автономное состояние и затем обратно в рабо-
 
      чий режим.
 
           Если имеет место одна из этих проблем,  можно  успешно
 
      проинициализировать  магнитную  ленту,   повторяя   команду
 
      INITIALIZE из расчета,  что  имеются  привилегии  VOLPRO  и
 
      OPER, и указывая в команде квалификатор:
 


                                - 43 -
 
                           00152-01 97 11
 
 
      /OVERRIDE=(ACCESSIBILITY, EXPIRATION)
 
           Этот квалификатор гарантирует, что команда  INITIALIZE
 
      не будет пытаться проверять какие-либо метки  на  магнитной
 
      ленте.
 
 
 
           3.4. Монтирование тома
 
 
           Перед обработкой файлов или данных на личном томе  том
 
      должен  быть  смонтирован.  Для  этого  можно  использовать
 
      команду MOUNT, в результате чего том  диска  или  магнитной
 
      ленты и файлы или данные, которые он  содержит,  становятся
 
      доступными процессу пользователя.
 
           Когда выдается команда MOUNT, система проверяет, что:
 
           1) устройство не было закреплено за другим пользовате-
 
      лем;
 
           2) защита устройства позволяет пользователю  закрепить
 
      устройство;
 
           3) устройство физически загружено;
 
           4) метка тома совпадает с указанной меткой.
 
           Монтировать можно одиночный том или набор томов.  Свя-
 
      зывание томов в набор томов позволяет расширить пространст-
 
      во, доступное для файлов, путем добавления томов  к  набору
 
      томов вместо того, чтобы определять новые тома.
 
           Независимо от того, монтируется ли том диска или  маг-
 
      нитной ленты, формат команды MOUNT выглядит следующим обра-
 
      зом:
 
      $ MOUNT имя_устройства[:][,...] [метка_тома[,...]] [логи-
 
      ческое_имя[:]]
 
           Имя_устройства указывает физическое или логическое имя
 
      устройства, на котором должен быть  смонтирован  том.  Если
 


                                - 44 -
 
                           00152-01 97 11
 
 
      указывается более одного имени устройства для наборов томов
 
      дисков или магнитных лент, то они разделяются либо  запяты-
 
      ми, либо знаками плюс.
 
           Если задается более одной метки тома, они  разделяются
 
      запятыми или знаками плюс. Тома должны быть одного  и  того
 
      же набора. Для томов магнитных лент метки должны быть  ука-
 
      заны в возрастающем порядке в соответствии с относительными
 
      номерами тома.
 
           Указание метки тома не требуется  при  монтировании  с
 
      квалификатором  /FOREIGN  или  /NOLABEL  или  с   указанием
 
      /OVERRIDE=IDENTIFICATION. Для  указания  логического  имени
 
      при вводе любого из этих  квалификаторов  печатаются  любые
 
      алфавитно-цифровые символы в позиции параметра метки тома.
 
           Логическое имя определяет символьную строку логическо-
 
      го имени длиной от 1  до  63  алфавитно-цифровых  символов,
 
      связанного с устройством. Если не задается  логическое  имя
 
      для дискового устройства, команда MOUNT  назначает  индиви-
 
      дуальному дисковому устройству по умолчанию логическое  имя
 
      DISK$метка_тома; она присваивает  по  умолчанию  логическое
 
      имя DISK$имя_набора_томов устройству, на котором монтирует-
 
      ся корневой том дискового набора. Подобным образом, если не
 
      указывается логическое имя для устройства магнитной  ленты,
 
      команда  MOUNT  присваивает  только  одно  логическое   имя
 
      TAPE$метка_тома первому устройству магнитной ленты в  спис-
 
      ке. По умолчанию логическое имя набора томов не  назначает-
 
      ся.
 
           Команда MOUNT помещает имя в таблицу рабочих  логичес-
 
      ких  имен,  если  пользователь  не  указывает  /GROUP   или
 
      /SYSTEM. В двух последних случаях она  помещает  логические
 
      имена в таблицу групповых или  системных  логических  имен.


                                - 45 -
 
                           00152-01 97 11
 
 
      необходимо избегать назначения логического имени, совпадаю-
 
      щего с именем файла выполняемого образа в SYS$SYSTEM. Такое
 
      назначение не позволит пользователю вызвать этот образ.
 
           Часто физическое монтирование (и размонтирование) сис-
 
      темных и личных томов дисков и  магнитной  ленты  выполняют
 
      операторы. Поскольку операторы в таких случаях будут  помо-
 
      гать в выполнении требований MOUNT по умолчанию, то не тре-
 
      буется включать квалификатор /ASSIST в команду MOUNT,  нап-
 
      ример:
 
      $ MOUNT DMA1: DISK VOL1
 
      %MOUNT-I-OPRQST, PLEASE MOUNT DEVICE _MARS$DMA1:
 
           MOUNT дает указание оператору, обслуживающему требова-
 
      ние монтирования, и выводит сообщение на терминал.
 
           После успешного монтирования устройства,  пользователь
 
      уведомляется сообщением:
 
      %MOUNT-I-MOUNTED, DISK MOUNTED ON _DMA1:
 
           В качестве  альтернативы  к  требованию  определенного
 
      устройства можно захотеть  потребовать  тип  устройства.  В
 
      примере MOUNT закрепляет  доступное  устройство  указанного
 
      типа и запрашивает помощь оператора в его монтировании:
 
      $ MOUNT DM: USER_DISK DISK
 
      %MOUNT-I-OPRQST, PLEASE MOUNT VOLUME USER_DISK IN DEVICE
 
           _NODE$DMA0:
 
      %MOUNT-I-MOUNTED, USER_DISK        MOUNTED ON _NODE$DMA0:
 
      %MOUNT-I-RQSTDON, OPERATOR REGUEST CANCELED---MOUNT
 
           COMPLETED SUCCESSFULLY
 
           DISK - это логическое имя, созданное  при  закреплении
 
      дискового устройства СМ 5408. Так  как  устройство  закреп-
                             
      ляется за процессом пользователя, никакой другой  пользова-
 
      тель не может получить доступ к тому.  Доступ  к  USER_DISK


                                - 46 -
 
                           00152-01 97 11
 
 
      определяется кодом защиты тома и UIC владельца тома.
 
           Сообщения ассистирования посылаются  всем  операторам,
 
      которым положено получать сообщения относительно  магнитных
 
      дисков и лент. Tаким образом, если от  оператора  требуется
 
      смонтировать дисковое устройство, сообщение посылается опе-
 
      раторам, обслуживающим диски (разд. 7).
 
           Любой ответ оператора на  запрос  MOUNT  помещается  в
 
      SYS$OUTPUT для вывода на терминал пользователя или  записы-
 
      вается в файл регистрации пакетных заданий.
 
           Если нет операторов, принимающих и отвечающих на  зап-
 
      росы MOUNT, высвечивается сообщение, информирующее об  этой
 
      ситуации. Если  том  помещен  в  затребованное  устройство,
 
      никаких дополнительных действий оператора не требуется.
 
           Можно избежать помощи оператора указанием квалификато-
 
      ра /NOASSIST.
 
 
 
           3.4.1. Монтирование дискового тома
 
 
           Можно использовать следующую процедуру  для  закрепле-
 
      ния, инициализации и монтирования дискового тома:
 
      $ ALLOCATE DMA2:  TEMP
 
      %DCL-I-ALLOC, _MARS$DMA2: ALLOCATED
 
      $ INITIALIZE  TEMP:  BACKUP_FILE
 
      $ MOUNT  TEMP:  BACKUP_FILE
 
      %MOUNT-I-MOUNTED, BACKUP_FILE MOUNTED ON _DMA2:
 
           Если  необходимо  смонтировать  "чужой"  дисковый  том
 
      (т.е. том с файловой структурой, отличной от  стандартной),
 
      можно использовать с командой MOUNT квалификатор  /FOREIGN.
 
      Команда MOUNT/FOREIGN делает содержимое тома доступным сис-
 
      теме, но не делает никаких предположений  относительно  его
 


                                - 47 -
 
                           00152-01 97 11
 
 
      файловой структуры.
 
           MOUNT сообщает о метке тома даже несмотря на  то,  что
 
      диск монтируется как  "чужое"  устройство.  MOUNT  сообщает
 
      метку, так как диск имеет стандартную  файловую  структуру;
 
      если диск не имеет распознаваемой файловой структуры, сооб-
 
      щение о метке не выдается. Для монтирования дисков с файло-
 
      вой структурой с квалификатором /FOREIGN  необходимо  иметь
 
      привилегию VOLPRO, если UIC его владельца  не  совпадает  с
 
      вашим собственным.
 
           Квалификатор /FOREIGN необходим в случае использования
 
      обслуживающей программы обнаружения дефектных блоков  (BAD)
 
      МОС ВП с целью поиска и записи дефектных блоков на дисковом
 
      томе пользователя. BAD  является  полезной  для  подготовки
 
      носителей и выполняет задачи, отличные от задач  подготовки
 
      тома.  Для  вызова  BAD  необходимо  использовать   команду
 
      ANALYZE/MEDIA [5].
 
           Кроме квалификатора /FOREIGN для команды MOUNT сущест-
 
      вует много других квалификаторов [4].
 
 
 
           3.4.2. Монтирование набора дисковых томов
 
 
           При монтировании набора  дисковых  томов  метка  тома,
 
      указанная в списке, должна соответствовать имени устройства
 
      в той же позиции списка имен устройств.
 
           В набор томов можно связать  два  или  более  дисковых
 
      томов. Первый том в наборе называется корневым томом.  Каж-
 
      дый том в  наборе  идентифицируется  относительным  номером
 
      тома в наборе, где корневой том имеет всегда  относительный
 
      номер 1.
 
           Набор дисковых томов имеет структуру единого каталога.
 


                                - 48 -
 
                           00152-01 97 11
 
 
      Главный каталог файлов (MFD) для всего набора томов  распо-
 
      ложен на корневом  томе,  который  всегда  является  первым
 
      томом в наборе.
 
           Когда набор дисковых томов находится в работе и  смон-
 
      тирован, все файлы и каталоги в наборе могут быть  доступны
 
      путем указания одного из следующих:
 
           - имени устройства, на  котором  монтируется  корневой
 
      том;
 
           - логического имени,  присвоенного  набору  томов  при
 
      монтировании.
 
           При монтировании дискового набора томов  каждая  метка
 
      тома, указанная в списке, должна соответствовать имени уст-
 
      ройства в той же позиции списка имен устройств.
 
           Для создания набора дисковых томов используется квали-
 
      фикатор /BIND. Квалификатор /BIND с командой MOUNT  иденти-
 
      фицирует набор томов путем присваивания  ему  имени  набора
 
      томов, которое применяется ко всем томам в наборе. Он также
 
      идентифицирует корневой том и создает структуру каталога на
 
      томе.
 
           При создании файлов на наборе томов  файловая  система
 
      распределяет пространство для файлов в любом месте набора в
 
      зависимости от того, где имеется  наибольшее  пространство.
 
      При расширении существующих файлов на любом  томе  дополни-
 
      тельное пространство предоставляется на том же  томе,  если
 
      том не является физически заполненным. Можно добавить новые
 
      тома к набору томов всегда, когда требуется  дополнительное
 
      пространство.
 
           Например, все дисковые тома, которые монтируются ежед-
 
      невно, могут быть связаны в  набор.  Поскольку  этот  набор
 
      содержит все каталоги файлов  пользователей,  пользователям


                                - 49 -
 
                           00152-01 97 11
 
 
      нет нужды указывать имена устройств в спецификациях  файлов
 
      для доступа к файлам на любом томе из набора, т.е. физичес-
 
      кое расположение файла не касается пользователей системы.
 
           Нельзя связывать в набор томов системный диск.  Наборы
 
      томов не поддерживаются системными программами установки  и
 
      модификаций программного обеспечения  МОС  ВП.  Если  часть
 
      системных файлов пересылается  или  расширяется  на  другие
 
      тома в наборе, система может дать сбой при загрузке.
 
           Для использования наборов  томов  никаких  специальных
 
      привилегий не требуется. Однако необходимо иметь доступ для
 
      записи к индексному файлу на всех томах, которые  пользова-
 
      тель собирается связать в набор; обычно это  означает,  что
 
      необходимо также  иметь  системный  UIC,  иметь  привилегию
 
      SYSPRV или быть владельцем томов.
 
           Можно создать набор дисковых томов из вновь проинициа-
 
      лизированных томов или, расширяя существующий том,  который
 
      уже содержит структуру каталога и файлы. Можно также  доба-
 
      вить тома к существующему набору томов.
 
 
 
           3.4.2.1. Создание набора дисковых томов из новых томов
 
 
           Рассмотрим порядок создания набора томов из новых дис-
 
      ковых томов, не имеющих файлов или данных:
 
           1) сначала надо  закрепить  необходимые  устройства  и
 
      физически загрузить тома;
 
           2) затем - проинициализировать каждый  том  в  наборе,
 
      например:
 
      $ INITIALIZE DM1:   PAYVOL1
 
      $ INITIALIZE DM2:   PAYVOL2
 
      $ INITIALIZE DM3:   PAYVOL3
 


                                - 50 -
 
                           00152-01 97 11
 
 
      При инициализации томов для набора можно также использовать
 
      с командой INITIALIZE квалификаторы, определяющие владельца
 
      тома и защиту. Информация о защите и владельце поступает из
 
      корневого (первого) тома. Защита и  право  владения  других
 
      томов игнорируется;
 
           3) теперь можно использовать  команду  MOUNT/BIND  для
 
      создания набора томов, например:
 
      $ MOUNT/BIND=MASTER_SET-
 
      _$DM1:, DM2:, DM3:  PAYVOL1, PAYVOL2, PAYVOL3
 
           Данная команда MOUNT/BIND определяет имя набора томов,
 
      MASTER_SET, и определяет  относительные  номера  томов  для
 
      PAYVOL1, PAYVOL2 и PAYVOL3.
 
           Имя набора дисковых томов может содержать от 1  до  12
 
      алфавитно-цифровых символов. Имя набора томов должно  отли-
 
      чаться от всех меток томов в наборе, а все метки  в  наборе
 
      должны быть уникальными.
 
           Порядок имен устройств соответствует указанным  меткам
 
      томов: PAYVOL1  должен  быть  физически  загружен  на  DM1,
 
      PAYVOL2 - на DM2, PAYVOL3 - на DM3. PAYVOL1, который указан
 
      в списке меток первым, становится  корневым  томом  набора.
 
      Главный каталог файлов (MFD) для PAYVOL1 содержит структуру
 
      каталога для всего набора томов.
 
           Команда MOUNT/BIND создает  набор  томов  и  монтирует
 
      тома. После успешного завершения этой команды  все  тома  в
 
      наборе готовы к использованию: могут  создаваться  каталоги
 
      пользовательских файлов.
 
           Квалификатор /BIND должен быть использован только один
 
      раз при создании набора томов. При последующем  использова-
 
      нии набор томов может быть  монтирован  отдельной  командой
 
      MOUNT, например:


                                - 51 -
 
                           00152-01 97 11
 
 
      $ MOUNT DM1,DM2,DM3 PAYVOL1,PAYVOL2,PAYVOL3
 
 
 
           3.4.2.2. Создание  набора  дисковых  томов  на  основе
 
      существующего тома
 
 
           Рассмотрим создание  набора  дисковых  томов  на  базе
 
      существующего тома.  Предположим,  что  том  USERFILES  уже
 
      содержит структуру каталога и  файлы  и  в  текущий  момент
 
      находится на устройстве DM1:
 
 
      $ INITIALIZE DM2: USERFILES2
 
      $ MOUNT/BIND = USERS -
 
      _$DM1:, DM2: USERFILES, USERFILES2
 
           Начальный том USERFILES должен быть указан первым:  он
 
      станет корневым томом набора. При создании набора томов  из
 
      существующего тома необходимо указать этот том первым,  так
 
      как файловая система должна строиться на основе  существую-
 
      щей структуры каталога.
 
           Если пользователь пытается создать набор томов из двух
 
      или более томов, которые уже содержат файлы и данные,  фай-
 
      ловая система не выдаст сообщение об ошибке при  выполнении
 
      команды MOUNT/BIND. Однако тома не могут быть  использованы
 
      как набор томов, потому что их структуры каталогов не  свя-
 
      заны должным образом.
 
 
 
           3.4.2.3. Добавление томов к набору дисковых томов
 
 
           Рассмотрим, как добавить тома к  существующему  набору
 
      томов. Предположим, что набор  томов  с  именем  MASTER_SET
 
      работает под системой, смонтирован и содержит тома с имена-
 
      ми PAYVOL1, PAYVOL2 и PAYVOL3:
 


                                - 52 -
 
                           00152-01 97 11
 
 
      $INITIALIZE  DM4:  PAYVOL4
 
      $MOUNT/BIND=MASTER_SET DM4: PAYVOL4
 
           Данная команда MOUNT связывает том PAYVOL4  с  сущест-
 
      вующим набором томов и делает том готовым и  доступным  для
 
      использования. Если набор томов MASTER_SET был  смонтирован
 
      с  квалификатором  /SYSTEM,  /GROUP  или  /SHARE,   команда
 
      MOUNT/BIND, которая добавляет том к  набору,  должна  также
 
      содержать соответствующий квалификатор.
 
           При добавлении тома к существующему набору  единствен-
 
      ным томом, который должен быть смонтирован, является корне-
 
      вой том, том с относительным номером 1. Никакие другие тома
 
      не обязаны быть смонтироваными.
 
           Можно также добавить том к набору в момент  монтирова-
 
      ния набора:
 
      $ INITIALIZE DM4:  PAYVOL4
 
      $ MOUNT/BIND=MASTER_SET  DM1:, DM2:, DM4:-
 
      _$PAYVOL1, PAYVOL2, PAYVOL3, PAYVOL4/SYSTEM
 
           Первая пара устройство/том, указанная в списке команды
 
      MOUNT/BIND, определяет корневой том набора. При  добавлении
 
      тома к набору при монтировании  набора  необходимо  указать
 
      корневой том первым в списке.
 
           Однажды привязав том к набору томов, его нельзя "отвя-
 
      зать".
 
           Добавить тома K существующему  набору  томов  MOжно  в
 
      любое время. Максимальное число томов в наборе равно 255.
 


                                - 53 -
 
                           00152-01 97 11
 
 
           3.4.3. Монтирование томов магнитной ленты
 
 
           При монтировании  тома  магнитной  ленты  пользователь
 
      указывает в команде MOUNT любые квалификаторы,  которые  он
 
      выбрал, имя устройства и, по желанию,  метку  и  логическое
 
      имя (см. п. 3.4.4).
 
 
 
           3.4.3.1. Монтирование томов со стандартными метками
 
 
           При использовании команды MOUNT для монтирования томов
 
      магнитной ленты МОС ВП проверяет, стандартные  или  нестан-
 
      дартные метки содержит том.  Если  имеет  место  формат  со
 
      стандартными метками, то проверяется следующее:
 
           - поле идентификатора тома;
 
           - защита тома со стандартными метками (п.2.1.3).
 
           Можно монтировать том со стандартными метками,  указы-
 
      вая имя устройства и идентификатор тома (указание  логичес-
 
      кого имени является необязательным):
 
      $ MOUNT  MS:  ELAINE ET
 
      %MOUNT-I-OPRQST, PLEASE MOUNT VOLUME ELAINE IN DEVICE $MSA1
 
      %MOUNT-I-MOUNTED, ELAINE MOUNTED ON MSA1:
 
      %MOUNT-I-RQSTDON, OPERATOR REQUEST CANCELED_MOUNT
 
      COMPLETED SUCCESSFULLY
 
           MOUNT находит доступное устройство MS - MSA1:, и  тре-
 
      бует помощи оператора. Выводимое на  терминал  пользователя
 
      сообщение показывает, какое устройство выбрано. После этого
 
      пользователь (или оператор) загружает  магнитную  ленту  на
 
      устройство, и операция  монтирования  завершается.  Никакой
 
      ответ оператора не требуется. Выводимое сообщение  информи-
 
      рует о том, что том с именем  ELAINE  смонтирован  на  уст-
 
      ройстве MSA1: . Несмотря на отсутствие информации в сообще-


                                - 54 -
 
                           00152-01 97 11
 
 
      нии, MOUNT назначает также тому ELAINE логическое имя ET.
 
           Применение в команде MOUNT  квалификаторов  влияет  на
 
      формат меток тома и/или воздействует  на  файловую  систему
 
      магнитной ленты, используемую для обработки томов со  стан-
 
      дартными метками. Если  не  указано  особо,  то  необходимо
 
      иметь привилегию VOLPRO для использования  любого  из  этих
 
      квалификаторов, если том  является  томом  со  стандартными
 
      метками,  содержащим  защиту,  которая  запрещает  процессу
 
      пользователя осуществить доступ к тому.
 
 
 
           3.4.3.2. Использование квалификаторов команды MOUNT
 
 
           Для указания размера блока на  магнитной  ленте  можно
 
      использовать квалификатор /BLOCKSIZE=N. Диапазон допустимых
 
      значений для N варьируется и зависит от  плотности  записи,
 
      от того, считываются или записываются данные,  и  от  того,
 
      использует ли операция средства СУД-32.
 
           По умолчанию МОС ВП записывает блоки по  2048  байтов,
 
      соответствующие стандарту. МОС ВП позволяет указывать  блок
 
      большего размера. Однако блок такого размера не  соответст-
 
      вует стандартному формату.
 
           При монтировании томов, которые не поддерживают вторую
 
      головную метку файла, как определено в стандартном формате,
 
      или содержат блок меньшего размера чем 2048 байтов, необхо-
 
      димо использовать квалификатор /BLOCKSIZE. Например,  поль-
 
      зователь должен  указать  /BLOCKSIZE=512  для  монтирования
 
      тома системы РАФОС.
 
           Если необходимо записать файлы на том магнитной ленты,
 
      то можно использовать квалификатор /BLOCKSIZE для установки
 
      размера блока, отличного от 2048. Если  пользователь  хочет
 


                                - 55 -
 
                           00152-01 97 11
 
 
      только прочитать файлы с тома магнитной ленты, он не должен
 
      использовать квалификатор /BLOCKSIZE, так как МОС ВП  будет
 
      автоматически обрабатывать блок размером, указанным  второй
 
      головной меткой файла.
 
           Минимальный размер блока для магнитных лент  стандарт-
 
      ного формата равен 18,  максимальный  -  2048.  Минимальный
 
      размер блока для магнитных лент МОС ВП равен 14, максималь-
 
      ный - 65532.
 
           Для указания на то, что том содержит стандартные  мет-
 
      ки, используется квалификатор /LABEL (действует по  умолча-
 
      нию). Для использования этого квалификатора  привелегии  не
 
      требуется.
 
           Для  подавления  одной  или  более  проверок  доступа,
 
      выполняемых командой MOUNT и  файловой  системой  магнитной
 
      ленты,        можно        использовать        квалификатор
 
      /OVERRIDE=(элемент_выбора[,...]). Имеются следующие элемен-
 
      ты выбора:
 
           1) ACCESSIBILITY (доступность). Если  позволяет  уста-
 
      новка, будет отвергаться любой символ  в  поле  доступности
 
      тома и головных меток файла. Необходимость в таком квалифи-
 
      каторе определяется установкой. То  есть  каждая  установка
 
      имеет возможность указать программу, которая будет  исполь-
 
      зоваться файловой системой магнитной  ленты  для  обработки
 
      этого поля. По умолчанию  МОС  ВП  обеспечивает  программу,
 
      которая проверяет это поле следующим образом:
 
           - если указана защита МОС ВП, и магнитная лента  соот-
 
      ветствует стандартному формату, то  данный  элемент  выбора
 
      (ACCESSIBILITY)  должен  быть  использован  для  подавления
 
      любого символа, отличного от кода единицы;
 
           2) EXPIRATION (истечение срока хранения) -  подавление


                                - 56 -
 
                           00152-01 97 11
 
 
      слежения за окончанием срока хранения тома  и  его  файлов.
 
      Этот квалификатор используется, когда необходимо  перезапи-
 
      сать какой-нибудь файл, а его срок  хранения  (находится  в
 
      первой головной метке файла) еще не истек;
 
           3) IDENTIFICATION (идентификация) - подавляет проверку
 
      идентификатора тома в метке тома. Используется этот  квали-
 
      фикатор для монтирования тома, для которого не  указывается
 
      идентификатор тома. Подавляется только проверка поля  иден-
 
      тификатора тома, защита тома, если она есть, сохраняется;
 
           4) OWNER_IDENTIFIER (идентификатор владельца) - подав-
 
      ляет обработку поля идентификатора владельца.  Используется
 
      при необходимости произвести обмен  защищенными  магнитными
 
      лентами между МОС ВП и другими операционными  системами  см
 
      эвм;
 
           5) SETID (идентификатор набора) -  предотвращает  про-
 
      верку командой MOUNT идентификатора набора файлов в  первой
 
      головной метке первого файла на томе  продолжения.  Исполь-
 
      зуется только для томов со стандартными метками, на которых
 
      идентификатор набора файлов первого файла на томе продолже-
 
      ния отличается от идентификатора набора файлов первого фай-
 
      ла на первом томе, который был смонтирован.
 
           Можно использовать /OWNER_UIC=UIC для подавления  UIC,
 
      записанного в метку второго тома, и назначить UIC для  тома
 
      в процессе его монтирования. Для  наборов  томов  магнитной
 
      ленты при записи тома продолжения UIC, указанный  во  время
 
      монтирования, записывается на том только в случае, если  во
 
      время монтирования или инициализации тома был задан  квали-
 
      фикатор /PROTECTION. Это не изменяет  защиты  любого  тома,
 
      который уже создан.
 
           Переменную UIC можно указывать в следующем формате:


                                - 57 -
 
                           00152-01 97 11
 
 
      [D.M],
 
      где D - это либо  восьмеричное  число в диапазоне  от  0 до
 
              37776,  которое  обозначает номер группы, или алфа-
 
              витно-цифровое значение (содержащее от 1 до 31 сим-
 
              вола), описывающее группу;
 
          M - это  любое  восьмеричное  число в диапазоне от 0 до
 
              177776,  которое  обозначает  номер  элемента,  или
 
              алфавитно-цифровое  значение (содержащее от 1 до 31
 
              символа), описывающее элемент.
 
           Для спецификации UIC необходимы либо квадратные ([  ])
 
      либо угловые(< >) скобки.
 
           Для управления распределением кэш-памяти для блоков на
 
      дисковых устройствах с файловой структурой уровня  2  можно
 
      использовать     квалификатор      /PROCESSOR=SAME      или
 
      /PROCESSOR=UNIQUE.
 
           Для магнитных лент  и  дисков  с  файловой  структурой
 
      уровня 1 можно использовать квалификатор /PROCESSOR=элемент
 
      выбора в команде MOUNт, чтобы присоединить  вспомогательный
 
      управляющий процесс (ACP) для интерпретации логической фай-
 
      ловой  структуры  тома.  Для  использования   квалификатора
 
      /PROCESSOR  необходимо   обладать   привилегией   оператора
 
      (OPER). Этот квалификатор отменяет способ, которым  МОС  ВП
 
      присоединяет ACP к устройствам, установленным по  умолчанию
 
      для магнитных лент возможны следующие элементы выбора:
 
           1) UNIQUE - создает новый процесс для выполнения копии
 
      образа ACP  установленного  по  умолчанию,  для  указанного
 
      типа устройства или контроллера;
 
           2) SAME:устройство - использует тот  же  процесс  ACP,
 
      который только что был использован заданным устройством;
 
           3) частичная спецификация файла - создает  новый  про-


                                - 58 -
 
                           00152-01 97 11
 
 
      цесс для выполнения  образа  ACP,  заданного  спецификацией
 
      файла (например, модифицированный или написанный  пользова-
 
      телем ACP). Необходимо указывать имя  файла,  тип  и  номер
 
      версии. Файл должен быть расположен в SYS$SYSTEM.  Специфи-
 
      кации узла, диска и каталога или символы обобщения в  пара-
 
      метре частичной спецификации файла не допускаются.
 
           Квалификатор /PROTECTION=код подавляет защиту МОС  ВП,
 
      записанную во вторую метку тома, и  назначает  код  защиты,
 
      заданный для тома при его монтировании. Для  наборов  томов
 
      магнитной ленты при записи тома продолжения указываемый код
 
      защиты будет записан на том продолжения. По  умолчанию  UIC
 
      процесса пользователя также будет записан на том  продолже-
 
      ния, если не указывается явно альтернативный UIC квалифика-
 
      тором /OWNER_UIC.
 
           Допустимые коды защиты включают доступы для  чтения  и
 
      записи для пользователей GROUP и WORLD; доступы для  выпол-
 
      нения и для удаления для томов магнитной  ленты  не  приме-
 
      няются. Системные пользователи и владелец тома всегда имеют
 
      доступы к томам магнитной ленты для чтения и записи незави-
 
      симо от кода защиты (см. подраздел 2.3).
 
           Квалификатор  /NOHDR3  управляет  записью  специальных
 
      головных меток тома. Для использования этого  квалификатора
 
      привилегии не  требуется.  По  умолчанию  действует  /HDR3,
 
      KOTOрый позволяет записывать на том головные метки МОС  ВП.
 
      При использовании квалификатора /HDR3 длинные имена  файлов
 
      усекаются до 17 символов. При записи томов,  которые  будут
 
      читаться в других операционных системах, таких  как  РАФОС,
 
      которая не может корректно обработать  все  головные  метки
 
      файла, следует использовать квалификатор /NOHDR3.
 
           Квалификатор /RECORDSIZE=N указывает размер  в  байтах


                                - 59 -
 
                           00152-01 97 11
 
 
      каждой записи. Этот квалификатор не требует привилегий. Его
 
      используют при монтировании томов без второй головной метки
 
      файла (таких как тома в РАФОС) или при монтировании томов с
 
      квалификатором /FOREIGN для предоставления  СУД-32  размера
 
      записей фиксированной длины или максимального размера запи-
 
      сей переменной длины.
 
           Размер записи должен быть меньше или равен  указанному
 
      или принятому по умолчанию размеру блока. Система МОС ВП не
 
      делает записи короче 14 байтов на выходе.  Однако  обслужи-
 
      вающая программа копирования и  преобразования  файлов  [6]
 
      позволяет растягивать и расширять  размеры  записей  до  14
 
      байтов и более этого минимального размера выходных  записей
 
      системы МОС ВП.
 
           Двумя другими важными для монтирования томов магнитной
 
      ленты квалификаторами являются /AUTOMATIC и /INITIALIZE.
 
 
 
           3.4.4. Монтирование набора томов магнитной ленты
 
 
           При монтировании набора томов  магнитной  ленты  можно
 
      вначале следовать процедурам монтирования  одиночных  томов
 
      магнитной ленты (п.3.4.3). Число идентификаторов  томов  не
 
      обязано быть равным числу указанных имен  устройств.  Таким
 
      образом, когда монтируется  набор  томов  магнитной  ленты,
 
      можно указать больше идентификаторов томов, чем  имен  уст-
 
      ройств или больше имен устройств, чем томов.
 
           Число указываемых устройств непосредственно влияет  на
 
      действия, совершаемые файловой системой магнитной ленты при
 
      обработке томов продолжения в наборе томов. Например, когда
 
      число устройств больше чем число  томов,  файловая  система
 
      требует, чтобы том продолжения был  смонтирован  на  первом
 


                                - 60 -
 
                           00152-01 97 11
 
 
      устройстве из списка, которое не  содержит  смонтированного
 
      тома.
 
           Рассмотрим создание и монтирование набора  томов  маг-
 
      нитной ленты, а также методику обработки файловой  системой
 
      магнитной ленты томов продолжения.
 
 
 
           3.4.4.1. Создание набора томов магнитной ленты
 
 
           Если не создается набор томов явно, МОС ВП при необхо-
 
      димости создаст его сама. Если пользователь не  смонтировал
 
      набор томов и требуется том продолжения,  файловая  система
 
      магнитной ленты будет требовать монтирования тома  и  будет
 
      неявно создавать набор томов. Например, если файловая  сис-
 
      тема обнаруживает метку конца ленты (EOT) во  время  записи
 
      тома, она посылает сообщение на консоль оператора,  требую-
 
      щее монтирования другого тома. После монтирования следующе-
 
      го тома файловая система запишет метку тома и головные мет-
 
      ки и затем повторно выдаст отложенный запрос записи на  том
 
      продолжения. Идентификатор набора в первой  головной  метке
 
      всех файлов , записанных на том продолжения, будет  иденти-
 
      фикатором набора первого файла на первом томе.  Идентифика-
 
      тор набора файлов для наборов томов МОС  ВП  всегда  таков,
 
      как идентификатор первого файла первого тома,  смонтирован-
 
      ного в наборе.
 
           Для явного создания набора из трех  томов  может  быть
 
      использована следующая процедура:
 
           1) закрепление устройства, на котором будет установлен
 
      каждый том:
 
      $ALLOCATE MSA0:
 
      %DCL-I-ALLOC, _MARS$MSA0: ALLOCATED
 


                                - 61 -
 
                           00152-01 97 11
 
 
      $ALLOCATE MSA1:
 
      %DCL-I-ALLOC, _MARS$MSA1: ALLOCATED
 
           2) инициализация томов. В командах INITIALIZE  необхо-
 
      димо указать кроме имени устройства и  идентификатора  тома
 
      также плотность записи и защиту доступа:
 
      $INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MSA0: TAPE1
 
      $INITIALIZE/DENSITY=1600/PROTECTION=(G:RW) MSA1: TAPE2
 
           3) монтирование томов. Необходимо  включить  имя  уст-
 
      ройства и идентификатор тома.  Указание  логического  имени
 
      для набора томов необязательно:
 
      $мOUNT MSA0:,MSA1: TAPE1,TAPE2,TAPE3,TEST
 
      %MOUNT-I-MOUNTED, TAPE1 MOUNTED ON _MSA0:
 
      %MOUNT_I_MOUNTED, TAPE2 MOUNTED ON _MSA1:
 
           Система не только подтверждает монтирования томов,  но
 
      и отражает, на какое устройство каждый том был смонтирован.
 
      МОС ВП монтирует и проверяет только те тома, которые  физи-
 
      чески являются загруженными на устройство. Однако идентифи-
 
      каторы добавляемых томов не будут  проверены  до  тех  пор,
 
      пока к этим томам не будет установлен доступ.
 
           Для томов, смонтированных на устройствах, можно  конт-
 
      ролировать плотности записи, метки томов, коды UIC и  отно-
 
      сительные номера томов. Для этого  следует  выдать  команду
 
      SHOW DEVISE/FULL. Если  указывается  общий  код  устройства
 
      магнитной ленты, такой как МS:, информация будет выдаваться
 
      для всех устройств этого типа, которые  сконфигурированы  в
 
      системе. Для вывода информации о  томах,  смонтированых  на
 
      определенных устройствах, нужно указывать  код  физического
 
      устройства, состоящий из общего кода устройства,  указателя
 
      контроллера и номера устройства, за которымм следует  двое-
 
      точие (разд. 4).


                                - 62 -
 
                           00152-01 97 11
 
 
           3.4.4.2. Монтирование томов продолжения
 
 
           Однажды созданный набор томов  уже  нет  необходимости
 
      инициализировать при монтировании.
 
           Не нужно закреплять устройтво для каждого тома набора.
 
      Файловая система магнитной ленты будет запрашивать установ-
 
      ку томов на соответствующие устройства, когда будут  требо-
 
      ваться тома продолжения.
 
           МОС ВП  записывает,  но  не  проверяет  идентификаторы
 
      томов, которые указаны, но  физически  не  смонтированы  на
 
      устройствах во время монтирования. Позднее МОС ВП проверяет
 
      идентификаторы таких томов во время доступа к ним.
 
           Операционная система поддерживает непрерывную обработ-
 
      ку монтируемых томов в наборе томов  магнитной  ленты  пос-
 
      редством автоматического переключения томов. Для этого фай-
 
      ловая система  магнитной  ленты  использует  автоматическое
 
      распознавание томов  (AVR)  и  автоматическое  маркирование
 
      томов (AVL).
 
           Чтобы использовать преимущество такого автоматического
 
      переключения томов, необходимо иметь более одного устройст-
 
      ва магнитной ленты , закрепленного для набора томов пользо-
 
      вателя. Если имеется два или более устройств магнитной лен-
 
      ты, закрепленных для набора томов, файловая система магнит-
 
      ной ленты будет переключать тома автоматически путем после-
 
      довательного выбора следующего устройства магнитной  ленты.
 
      Файловая ситема будет ожидать следующего тома набора,  пока
 
      он загрузится на это устройство.
 
           Если файловая система пишет на набор томов,  она  соз-
 
      даст метку для магнитной ленты и проинициализирует ленту  с
 
      этой меткой и с набором характеристик защиты  первого  тома
 


                                - 63 -
 
                           00152-01 97 11
 
 
      из набора. Если файловая  система  магнитной  ленты  читает
 
      набор томов, она сгенерирует метку и будет пытаться смонти-
 
      ровать следующую магнитную ленту с такой меткой. Если  уст-
 
      ройство не содержит загруженной магнитной ленты или если на
 
      устройство загружена неверная магнитная лента, то  файловая
 
      система магнитной ленты пошлет сообщение на консоль  опера-
 
      тора, запрашивающее от оператора либо монтирования  магнит-
 
      ной ленты, либо монтирования корректной магнитной ленты.
 
           Перед обработкой томов  продолжения  файловая  система
 
      обрабатывает защиту тома (см. п. 2.1.3). Если файловая сис-
 
      тема определяет, что пользователь не имеет доступа к  тому,
 
      оператору посылается сообщение о принятии каких-либо дейст-
 
      вий.
 
           Сгенерированная метка заполняет  шестисимвольное  поле
 
      идентификатора тома. Первые четыре  символа  поля  содержат
 
      первые четыре символа метки, заданной для предыдущего  тома
 
      набора. (Если метка меньше четырех символов, поле идентифи-
 
      катора тома будет заполнено с помощью  символа  подчеркива-
 
      ния). Пятый и шестой символы содержат  относительный  номер
 
      тома данной катушки ленты в  наборе  томов.  Такая  система
 
      позволяет МОС ВП сгенерировать только 99  уникальных  меток
 
      для данного набора томов.
 
           С помощью автоматического переключения томов  оператор
 
      может загружать магнитную ленту на последующее  устройство,
 
      закрепленное для набора  томов  магнитной  ленты,  в  любой
 
      момент до достижения на  обрабатываемом  томе  метки  конца
 
      ленты (EOT). Файловая система магнитной ленты будет  монти-
 
      ровать и инициализировать  (если  INITIALIZE  была  указана
 
      изначально) следующую магнитную ленту набора и затем  сооб-
 
      щать оператору, что переключение выполнено. В примере том с


                                - 64 -
 
                           00152-01 97 11
 
 
      идентификатором TAPE монтируется на MSA0:
 
      $MOUNT MSA0:,MSA1:,MSA2: TAPE
 
           Тома продолжения для этого набора должны быть загруже-
 
      ны на устройства магнитной ленты в следующем порядке MSA1:,
 
      MSA2:, MSA0:, MSA1:, MSA2:, и т.д.
 
           Можно явно отменить автоматическое переключение томов,
 
      указав квалификатор /NOAUTOMATIC при монтировании тома маг-
 
      нитной ленты. По умолчанию действует /AUTOMATIC. Если поль-
 
      зователь закрепляет только одно устройство для набора томов
 
      магнитной ленты, он неявно запрещает автоматическое  перек-
 
      лючение томов.
 
           Для гарантии того, что любой том, добавленный к набору
 
      томов магнитной ленты, будет проинициализирован  до  записи
 
      на  него,   можно   смонтировать   том   с   квалификатором
 
      /INITIALIZE=CONTINUE.    По    умолчанию    устанавливается
 
      /NOINITIALIZE.
 
           Пример  1  демонстрирует  использование  квалификатора
 
      /INITIALIZE=CONTINUE  для  монтирования  набора  томов;  он
 
      показывает также генерацию идентификаторов томов для  томов
 
      продолжения.
 
           Пример 1.
 
      $ INITIALIZE MSA0: MAIN
 
      $ MOUNт/OVERRIDE=IDENTIFIER/INITIALIZATION=CONTINUе MSA0:,-
 
      MSA1:
 
           Том, помеченный MAIN, будет смонтирован на MSA0:. Вто-
 
      рой том в наборе получит идентификатор тома MAIN02 и  будет
 
      смонтирован на MSA1:. Третий том в наборе получит идентифи-
 
      катор тома MAIN03 и будет смонтрован на MSA0:.
 


                                - 65 -
 
                           00152-01 97 11
 
 
           Пример 2.
 
      $ MOUNT MSA0:,MSA1: SUN
 
           В данном примере первый том в наборе  маркируется  как
 
      SUN и монтируется на MSA0:. Второй том получит  идентифика-
 
      тор SUN_02 и будет смонтирован на MSA1:. Третий том получит
 
      идентификатор SUN_03 и будет смонтирован на MSA0:.
 
           Пример 3 иллюстрирует работу  с  томом  продолжения  и
 
      двумя идентификаторами томов.
 
           Пример 3.
 
      $ MOUNT MSA0:,MSA1: SUN,MOON
 
           В данном случае SUN и MOON будут смонтированы на MSA0:
 
      и MSA1: соответственно. Если к  набору  добавляется  третий
 
      том, ему будет присвоен идентификатор MOON03,  и  он  будет
 
      смонтирован на MSA0:.
 
 
 
           3.5. Размонтирование томов
 
 
           При окончании обработки файлов или данных на томе мож-
 
      но явно размонтировать том. Для  этого  можно  использовать
 
      команду DISMOUNT.
 
           Если явно размонтируется одиночный том из набора,  мос
 
      вп размонтирует все тома этого набора. Однако для  дисковых
 
      наборов томов возможно явное размонтирование одного тома из
 
      набора без размонтирования всего набора. Для этого  необхо-
 
      димо использовать квалификатор /UNIT.
 
           При выдаче команды DISMOUNT том автоматически  разгру-
 
      жается с устройства. Можно отменить автоматическую разгруз-
 
      ку тома, указав квалификатор /NOUNLOAD в команде DISMOUNT.
 
           Даже если указывается квалификатор /NOUNLOAD в команде
 
      DISMOUNT, том будет логически размонтирован  с  устройства.
 


                                - 66 -
 
                           00152-01 97 11
 
 
      однако том будет оставаться физически загруженным  на  уст-
 
      ройстве. При использовании квалификатора /NOUNLOAD для раз-
 
      монтирования тома магнитной ленты том будет оставаться заг-
 
      руженным на устройстве магнитной ленты, а бобина  магнитной
 
      ленты будет перемотана к метке начала ленты (BOT).
 
           Если  в  дальнейшем  планируется  перемонтировать  или
 
      переинициализировать размонтируемый том, то, используя ква-
 
      лификатор /NOUNLOAD в команде  DISMOUNT,  Mожно  сэкономить
 
      время и сократить ненужную обработку этого тома.
 
           Пример 1.
 
      $DISMOUNT/NOUNLOAD MSA1:
 
      $
 
           В данном примере том магнитной ленты  будет  логически
 
      размонтирован, но будет оставаться загруженным на устройст-
 
      ве MSA1:. Кроме того, бобина магнитной ленты будет  перемо-
 
      тана к метке BOT. Система МОС ВП возвращает пользователя на
 
      уровень языка DCL.
 
           Команда DISMOUNT также используется для  размонтирова-
 
      ния "чужих" томов.
 
           Пример 2.
 
      $DISMOUNT DMA0:
 
      $
 
           В данном примере  том,  который  был  смонтирован  как
 
      "чужой" (с квалификатором /FOREIGN) на DMA0:, будет размон-
 
      тирован и автоматически разгружен. Системой МОС ВП  пользо-
 
      ватель возвращается на уровень языка DCL.
 
           Как уже сказано,  команда  DISMOUNT  используется  для
 
      размонтирования полного набора томов. При явном размонтиро-
 
      вании какого-либо тома из набора дисковых томов  или  томов
 
      магнитной ленты будет размонтирован весь набор томов.  Нап-


                                - 67 -
 
                           00152-01 97 11
 
 
      ример, если был набор томов, состоящий из DMA3: и DMA4:,  и
 
      пользователь ввел следующую команду, то будет размонтирован
 
      весь набор томов:
 
      $DISMOUNT DMA3:
 
           Возможность размонтировать отдельные дисковые тома  из
 
      набора без размонтировния полного дискового набора  сущест-
 
      вует. Можно это сделать,  используя  квалификатор  /UNIT  в
 
      команде DISMOUNT. Квалификатор /UNIT указывает, что  должен
 
      быть размонтирован только дисковый том  на  указанном  уст-
 
      ройстве, например:
 
      $DISMOUNT/UNIT DMA4:
 
           Эта команда указывает, что должен  быть  размонтирован
 
      только DMA4: (из набора дисковых томов DMA3:,DMA4:).
 
           Необходимо всегда явно размонтировать  том  или  набор
 
      томов командой DISMOUNT или командной процедурой,  содержа-
 
      щей эту команду, перед физической разгрузкой этого тома.
 
           Том будет  размонтирован  и  разгружен  автоматически,
 
      если пользователь выходит из задания, в  котором  этот  том
 
      смонтирован. Однако при аварийном отказе системы устройство
 
      не размонтируется автоматически.
 
           Если том не был явно размонтирован и в системе произо-
 
      шел отказ, может произойти  разрушение  данных.  Для  томов
 
      магнитной ленты разрушение  данных  может  произойти,  если
 
      пользователь разгрузил том, содержащий открытый  файл,  для
 
      которого не были записаны хвостовые метки. При перемонтиро-
 
      вании тома и при попытке осуществления доступа к файлу  без
 
      хвостовых меток,  можно  получить  следующее  сообщение  об
 
      ошибке:
 
      %MSAACP-MAGNETIC TAPE POSITION LOST
 
           Можно осуществить доступ ко  всем  файлам  (на  данном


                                - 68 -
 
                           00152-01 97 11
 
 
      томе магнитной ленты), предшествующим файлу с незаписанными
 
      хвостовыми метками. Однако  получить  доступ  к  файлу  без
 
      хвостовых меток нельзя.
 
           Размонтирование тома осуществляется файловой  системой
 
      и не завершится до тех пор, пока все открытые файлы на томе
 
      не закроются. Таким образом, между моментом выдачи  команды
 
      DISMOUNT и завершением размонтирования может пройти  замет-
 
      ный промежуток времени. Поэтому необходимо обождать,  когда
 
      устройство разгрузится, прежде чем снимать том. (Mожно про-
 
      верить завершение размонтирования, используя  команду  SHOW
 
      DEVICES.)
 
           Если устройство было закреплено командой ALLOCATE, оно
 
      остается  закрепленным   после   размонтирования   командой
 
      DISMOUNT. Если устройство было неявно  закреплено  командой
 
      MOUNT, команда DISMOUNT открепляет его [2].
 
 
 
           3.6. Открепление устройств
 
 
           Процесс закрепления резервирует устройство для  исклю-
 
      чительно монопольного использования его процессом пользова-
 
      теля. Устройство будет оставаться закрепленным за процессом
 
      пользователя до тех пор, пока пользователь не освободит его
 
      или не выйдет из процесса.
 
           Для явного отсоединения дискового устройства или  уст-
 
      ройства магнитной ленты, которое было закреплено за процес-
 
      сом пользователя, можно  мспользовать  команду  DEALLOCATE.
 
      Команда DEALLOCATE логически отсоединяет устройство от про-
 
      цесса и возвращает его в пул устройств.
 
           Примеры показывают, как  явно  отсоединить  устройства
 
      магнитной ленты и диска.
 


                                - 69 -
 
                           00152-01 97 11
 
 
           Пример 1.
 
      $DEALLOCATE MSA1:
 
      $
 
           В данном примере команда DEALLOCATE логически отсоеди-
 
      няет устройство магнитной ленты MSA1: от процесса пользова-
 
      теля. Система возвращает пользователя на уровень языка DCL.
 
           Пример 2.
 
      $DEALLOCATE DMA0:
 
      $
 
           В данном примере команда DEALLOCATE логически отсоеди-
 
      няет устройство DMA0: от процесса. Система МОС  ВП  возвра-
 
      щает пользователя на уровень команд языка DCL.
 
           Так  как  выход  из  процесса  вызовет  автоматическое
 
      отсоединение всех явно  и  неявно  закрепленных  устройств,
 
      пользователь не обязан явно  откреплять  устройства  дисков
 
      или магнитной ленты,  которые  были  закреплены  процессом.
 
      Однако  хорошей  практикой  работы  является  использование
 
      команды DEALLOCATE (или командной процедуры, содержащей эту
 
      команду) для явного открепления всех устройств,  закреплен-
 
      ных командой ALLOCATE.
 
 
 
           3.7. Использование командных  процедур  для  установки
 
      дисков и магнитных лент
 
 
           Так как личные тома дисков и магнитных лент часто нуж-
 
      но устанавливать перед тем, как пользователь сможет с  ними
 
      работать, он может захотеть разработать командные процедуры
 
      для облегчения процесса установки.
 


                                - 70 -
 
                           00152-01 97 11
 
 
           3.7.1. Разработка  командных  процедур  для  установки
 
      дисковых томов
 
 
           Можно использовать редактор, такой как EDT, для созда-
 
      ния файла, содержащего  командную  процедуру  пользователя.
 
      Предположим, что создан файл с именем SETUP.COM, и  что  он
 
      содержит наиболее общую командную  процедуру,  которая  при
 
      выполнении закрепляет и монтирует диск.
 
           Можно составить эту командную процедуру, вводя следую-
 
      щий текст:
 
      $ ! PLACE A DISK IN THE DRIVE
 
      $ IF P1 .EQS. "" THEN INQUIRE P1"ENTER DEVICE NAME"
 
      $ IF P2 .EQS. "" THEN INQUIRE P2"ENTER VOLUME LABEL"
 
      $ IF P3 .EQS. "" THEN INQUIRE P3"ENTER LOGICAL NAME"
 
      $ ALLOCATE 'P1'
 
      $ MOUNT 'P1' 'P2' 'P3'
 
           Эта командная процедура, несмотря на простоту,  решает
 
      задачу закрепления и монтирования диска каждый  раз,  когда
 
      она выполняется. Она разработана так, чтобы  запрашивать  о
 
      вводе имени устройства, метки тома и логического имени дис-
 
      кового устройства, которое необходимо закрепить и смонтиро-
 
      вать. Назначая логические имена дискам, можно  использовать
 
      эту командную процедуру для закрепления и монтирования уст-
 
      ройств многократно.
 
           Можно повысить полезность командной процедуры, включив
 
      в нее возможность решения нескольких дополнительных  задач.
 
      Например, можно разработать  процедуру  для  открепления  и
 
      размонтирования диска.
 
           Выполнение  командной  процедуры  производится  вводом
 
      команды:
 


                                - 71 -
 
                           00152-01 97 11
 
 
      @SETUP
 
           Можно также написать командную процедуру для  монтиро-
 
      вания тома из пакетного задания. Используя логические имена
 
      для ссылок к устройствам и файлам, можно применять  одни  и
 
      те же командные процедуры без модификации  их  каждый  раз,
 
      когда необходимо произвести доступ к тому.
 
           Например, если используется один  и  тот  же  дисковый
 
      пакет типа СМ 5408 для еженедельного  дублирования  файлов,
 
      можно ввести как пакетное задание следующую командную  про-
 
      цедуру:
 
      $ MOUNT DM: BACK_UP_GMB RK
 
      $ BACKUP/REPLACE *.* RK:*.*
 
      $ DIRECTORY/FULL/OUTPUT=BACKUP.LOG RK:
 
      $ DISMOUNT RK:
 
           В этой командной процедуре MOUNT будет закреплять уст-
 
      ройство типа DM: и создавать  логическое  имя  RK.  Команда
 
      MOUNT в сообщении, выдаваемом на консоль  оператора,  подс-
 
      тавляет эквивалентное имя.
 
           Когда команда MOUNT сообщает оператору о  монтировании
 
      корректного тома, задание ждет ответа оператора.
 
 
 
           3.7.2. Разработка  командных  процедур  для  установки
 
      томов магнитной ленты
 
 
           Описываемая командная процедура для установки  магнит-
 
      ной ленты является более сложной и детальной, чем для уста-
 
      новки магнитного диска (п. 3.7.1). В эту командную процеду-
 
      ру включены команды ALLOCATE и MOUNT/FOREIGN.
 
           Используя текстовый редактор, можно составить  команд-
 
      ную процедуру следующего содержания:
 


                                - 72 -
 
                           00152-01 97 11
 
 
      $ !FIRST MOUNT THE TAPE ON THE DRIVE
 
      $ ON CONTROL_Y THEN GOTO EXIT
 
      $ ON ERROR THEN GOTO EXIT
 
      $ WRITE SYS$OUTPUT "WELCOME TO FETCH."
 
      $ WRITE SYS$OUTPUT " "
 
      $ L1: INQIRE/NOPUNC PHYS "IS THE TAPE ON THE DRIVE?"
 
      $ IF .NOT. PHYS THEN GOTO L1
 
      $ INQIRE/GLOBAL/NOPUNC TAPE "WHITCH DRIVE IS THE TAPE MOUNT
 
      ED ON ?"
 
      $ POS == 'F$LOCATE(":",TAPE)! SEE IF THE COLON WAS USED OR
 
      NOT
 
      $ TAPE:== 'F$EXTRACT(0,POS,TAPE) ! TAKE IT OFF IF IT WAS
 
      $ ALLOCATE 'TAPE'
 
      $ мOUNT/FOREIGN 'TAPE'
 
      $ ON CONTROL_Y THEN GOTO COMMAND_LOOP
 
      $ ON ERROR THEN GOTO COMMAND_LOOP
 
 
 
      $ !
 
      $ COMMAND_LOOP: INQUIRE/NOPUNC VERV "FETCH>"
 
      $ IF 'VERV'.EQS."LIST" THEN GOTO LIST
 
      $ IF 'VERV'.EQS."FETCH" THEN GOTO FETCH
 
      $ IF 'VERV'.EQS."DIR" THEN GOTO DIR
 
      $ IF 'VERV'.EQS."HELP" THEN GOTO HELP
 
      $ IF 'VERV'.EQS."EXIT" THEN GOTO EXIT
 
      $ GOTO COMMAND_LOOP
 
 
 
      $ !
 
      $ DIR: INQUIRE SPEC "FILE SPEC"
 
      $ DIR 'SPEC'
 
      $ GOTO COMMAND_LOOP


                                - 73 -
 
                           00152-01 97 11
 
 
      $ !
 
      $ FETCH: INQUIRE FILE "FILE SPEC"
 
      $ LINE :== BACKUP/LOG 'TAPE':VOSWRITE.BCK/SELECT=('FILE')
 
      $ INQUIRE EXCLUDE "ENTER ANY FILE SPECS YOU WANT EXCLUDED"
 
      $ IF EXCLUDE .EQS. " " THEN GOTO L2
 
      $ LINE :== 'LINE'/EXCLUDE=('EXCLUDE')
 
 
 
      $ !
 
      $ L2: INQUIRE/NOPUNC TO "WHERE DO YOU WANT THE FILES
 
      WRITTEN? (CR FOR CURRENT DIRECTORY)"
 
      $ IF TO .EQS."" THEN GOTO REPLACE
 
      $ LINE :== 'LINE' 'TO'
 
      $ GOTO L3
 
      $ REPLACE: LINE :== 'LINE' []
 
 
 
      $ !
 
      $ L3: INQUIRE/NOPUNC NEW_VERSION
 
      " DO YOU WANT A NEW VERSION CREATED IF THE FILE EXISTS
 
      ALREADY?"
 
      $ IF .NOT. NEW_VERSION THEN GOTO NOT
 
      $ LINE :== 'LINE'/NEW_VERSION
 
 
 
      $ !
 
      $ NOT: LINE :== 'LINE'/OWNER_UIC !ALLOWS USERS ONLY FILES
 
      IN THEIR UIC
 
      $ LINE
 
      $ GOTO COMMAND_LOOP
 
 
 
      $ !
 
      $ LIST:INQUIRE SPEC "FILES SPEC"


                                - 74 -
 
                           00152-01 97 11
 
 
      $ INQUIRE OUTPUT "WHAT DO YOU WANT TO CALL THE LIST FILE?
 
      (CR FOR SYS$OUTPUT)"
 
      $ IF OUTPUT.EQS."" THEN GOTO NOOUT:
 
      $ LINE:== BACKUP/LIST='OUTPUT' 'TAPE':VOSWRITE.BCK/SELECT=
 
      ('SPEC')
 
      $ GOTO L4
 
      $ NOOUT: LINE:==BACKUP/LIST 'TAPE':VOSWRITE.BCK/SELECT=
 
      ('SPEC')
 
 
 
      $!
 
      $ L4: INQUIRE EXCLUDE "ENTER ANY FILES SPEC YOU WANT
 
      EXCLUDED"
 
      $ IF EXCLUDE.EQS."" THEN GOTO L5:
 
      $ LINE :== 'LINE'/EXCLUDE=('EXCLUDE')
 
 
 
      $ !
 
      $ L5: LINE
 
      $ COTO COMMAND_LOOP
 
 
 
      $ !
 
      $ EXIT:
 
      $ DISMOUNT 'TAPE'
 
      $ DEALLOCATE 'TAPE'
 
           Предположим, что приведенная командная процедура нахо-
 
      дится в файле  с  именем  FETCH.COM.  Можно  выполнить  эту
 
      командную процедуру, введя команду:
 
      @FETCH
 
           Эта командная процедура сложнее, чем процедуры,  кото-
 
      рые использовались для  установки  диска  (см.  п.  3.7.1).
 
      Подобно  процедурам  для  установки   диска   процедура   в


                                - 75 -
 
                           00152-01 97 11
 
 
      FETCH.COM решает основную задачу закрепления  устройства  и
 
      монтирования тома.
 
           Однако дополнительно к функциям закрепления и монтиро-
 
      вания командная процедура в FETCH.COM обеспечивает подсказ-
 
      ки для вводимой информации. Например, она спрашивает, уста-
 
      новлена ли магнитная лента на устройство.
 
           Кроме того, эта  командная  процедура  содержит  также
 
      операцию восстановления BACKUP. Она подсказывает возможнос-
 
      ти операции восстановления.
 
           Наконец, данная командная процедура явно  размонтирует
 
      том магнитной ленты и открепляет устройство после  заверше-
 
      ния обработки.
 
 
 
 
       4. Манипулирование файлами на дисках и магнитных лентах
 
 
 
           Раздел описывает действия с файлами на дисках  и  маг-
 
      нитных лентах, осуществляемые с помощью диалогового команд-
 
      ного языка (DCL). В  частности,  описывается  использование
 
      команд языка DCL для:
 
           1) восстановления информации дисковых файлов и  файлов
 
      магнитной ленты;
 
           2) модификации характеристик дисковых файлов и  файлов
 
      магнитной ленты;
 
           3) осуществление доступа к  файлам,  расположенным  на
 
      дисковых томах и томах магнитной ленты.
 
           Кроме того, приводятся примеры командных процедур язы-
 
      ка DCL, разработанных для доступа к файлам с целью выполне-
 
      ния операций создания, чтения и записи.
 


                                - 76 -
 
                           00152-01 97 11
 
 
           4.1. Использование  языка  DCL   для   манипулирования
 
      файлами
 
 
           Одним из преимуществ манипулирования файлами с  приме-
 
      нением языка DCL является то, что можно выполнять эти мани-
 
      пуляции, даже не выходя с командного уровня.
 
           Язык DCL позволяет работать с файлами различными  спо-
 
      собами. Можно использовать соответствующие  команды  (языка
 
      DCL) SHOW для получения  информации  о  файлах,  такой  как
 
      характеристики устройства и защиты, а  также  выводить  эту
 
      информацию на терминал. Можно использовать  команды  группы
 
      SET для модификации характеристик файлов на диске и магнит-
 
      ной ленте, таких как информация о  UIC  или  защите.  Можно
 
      также использовать язык DCL  для  осуществления  доступа  к
 
      файлам на дисках и  магнитной  ленте  для  операций  чтения
 
      и/или записи.
 
           Кроме манипуляций с  файлами,  посредством  языка  DCL
 
      можно писать программы  для  облегчения  часто  выполняемых
 
      задач работы с файлами. Можно писать эти программы либо  на
 
      макро, либо на одном из языков высокого  уровня,  поддержи-
 
      ваемых МОС ВП. Если необходимо работать с отдельными  запи-
 
      сями внутри файлов, т.е. если желательно получить доступ  к
 
      файлам на уровне записей, нужно написать  программы,  вклю-
 
      чающие средства СУД-32 [7].
 
           Данная глава  сосредотачивает  внимание  на  способах,
 
      которыми можно использовать язык  DCL  для  манипулирования
 
      файлами на дисках и магнитной ленте на уровне файлов.  Сле-
 
      дует заметить, что имеют место ограничения в  использовании
 
      команд языка DCL для манипулирования файлами:
 
           1) команда SUBMIT не может получить доступ к файлам на
 


                                - 77 -
 
                           00152-01 97 11
 
 
      закрепленных устройствах. Можно выбирать  файлы  на  личных
 
      дисковых томах, если том монтируется как  разделяемый.  Для
 
      выборки файла  на  томе  магнитной  ленты  необходимо,  во-
 
      первых, скопировать файл  на  разделяемый  дисковый  том  и
 
      затем выбрать его с диска;
 
           2) можно распечатать файл с тома, принадлежащего лично
 
      владельцу. Однако том, содержащий файлы, которые необходимо
 
      распечатать, должен оставаться смонтированным до  тех  пор,
 
      пока распечатка файлов не будет полностью  завершена.  Если
 
      пользователь не  хочет  ожидать,  пока  процесс  распечатки
 
      завершится, он может скопировать файлы прямо на  построчное
 
      печатающее устройство, используя команду COPY:
 
      $COPY MYPHILE.DAT LCA0:
 
           3) большинство команд DCL требуют устройств с файловой
 
      структурой [2];
 
           4) можно выполнять командную процедуру,  расположенную
 
      на томе магнитной ленты, до  тех  пор,  пока  процедура  не
 
      вызывает других процедур и не выдает команд  GOTO,  ссылаю-
 
      щихся к меткам данной процедуры, расположенным  до  команды
 
      GOTO. В этом случае лучше скопировать командную процедуру с
 
      магнитной ленты на диск, с которого затем можно ее вызвать.
 
           Нельзя использовать команды языка DCL для  чтения  или
 
      записи файлов, которые имеют нестандартные форматы [1].
 
 
 
           4.2. Использование языка DCL для получения  информации
 
      о файлах
 
 
           Диалоговый командный язык DCL  предоставляет  команды,
 
      позволяющие получать информацию о дисковых  файлах,  файлах
 
      на магнитной ленте,  томах  и  устройствах.  Для  получения
 


                                - 78 -
 
                           00152-01 97 11
 
 
      такой информации можно использовать следующие команды [2]:
 
           1) DIRECTORY (просмотр каталога);
 
           2) SHOW ACL (просмотр списка управления доступом);
 
           3) SHOW DEVICES (просмотр устройств);
 
           4) SHOW MAGTAPE (просмотр устройств магнитной ленты);
 
           5) SHOW PROTECTION (просмотр защиты файла);
 
           6) SHOW QUOTA (просмотр дисковых квот).
 
 
 
           4.2.1. Получение информации из каталога
 
 
           Для получения информации о файле  или  группе  файлов,
 
      находящихся  на  томе  диска  или  магнитной  ленты,  можно
 
      использовать команду DIRECTORY.
 
           Команду DIRECTORY  можно  использовать  для  получения
 
      списка имен всех файлов в конкретном каталоге или использо-
 
      вать эту команду совместно со спецификацией файла для полу-
 
      чения списка имен определенных файлов  в  данном  каталоге.
 
      При включении в команду DIRECTORY определенных квалификато-
 
      ров можно получить дополнительную информацию о файлах.
 
           Следующие примеры иллюстрируют  три  случая  получения
 
      информации из каталога [MALCOLM], который находится на дис-
 
      ке с логическим именем DISK$DOCUMENT.
 
           Пример 1.
 
      $ DIRECTORY AVERAGE.*
 
      DIRECTORY DISK$DOCUMENT:[MALCOLM]
 
      AVERAGE.EXE;6 AVERAGE.FOR;6 AVERAGE.LIS;4 AVERAGE.OBJ;12
 
      TOTAL OF 4 FILES.
 
           Пример 2.
 
      $ DIRECTORY/SIZE=USED/DATE=CREATED/VERSIONS=1/PROTECTION-
 
      $ AVERAGE
 


                                - 79 -
 
                           00152-01 97 11
 
 
      DIRECTORY DISK$DOCUMENT:[MALCOLM]
 
      AVERAGE.EXE;6   6   10-APR-1987 15:43 (RWED,RWED,RWED,RE)
 
      AVERAGE.FOR;6   2    2-APR-1987 10:29 (RWED,RWED,RWED,RE)
 
      AVERAGE.LIS;4   5    9-APR-1987 16:27 (RWED,RWED,RWED,RE)
 
      AVERAGE.OBJ;6   2    9-APR-1987 16:27 (RWED,RWED,RWED,RE)
 
      TOTAL OF 4 FILES, 15 BLOCKS.
 
           Пример 3.
 
      $ DIRECTORY/FULL/VERSIONS=1 [MALCOLM...]AVERAGE.EXE
 
      DIRECTORY DISK$DOCUMENT:[MALCOLM]
 
      AVERAGE.EXE;6                FILE ID: (4098,149,0)
 
      SIZE:     36/36              OWNER: [DOCUMENTATION,MALCOLM]
 
      GREATED: 27-JUN-1986 12:22   REVISED: 27-JUN-1986 12:22 (2)
 
      EXPIRES: <NONE SPECIFIED>    BACKUP: 3-JUL-1986   22:03
 
      FILE ORGANIZATION:     SEQUENTIAL
 
      FILE ATTRIBUTES:       ALLOCATION: 36, EXTEND: 36,
 
                             GLOBAL BUFFER COUNT:0
 
                             NO VERSION LIMIT
 
      RECORD FORMAT:         VARIABLE LENGTH, MAXIMUM 255 BYTES
 
      RECORD ATTRIBUTES:     CARRIAGE RETURN CARRIAGE CONTROL
 
      FILE PROTECTION:       SYSTEM:RWED, OWNER:RWED, GROUP:RE,
 
                             WORLD:
 
      ACCESS CNTRL LIST:     NONE
 
      TOTAL OF 1 FILE, 36/36 BLOCKS.
 
      DIRECTORY DISK$DOCUMENT:[MALCOLM.TEST]
 
      AVERAGE.EXE;1                FILE ID:    (7714,29,0)
 
      SIZE: 36/36                  OWNER: [DOCUMENTATION,MALCOLN]
 
      GREATED: 15-APR-1987 10:12   REVISED:15-APR-1987 10:12 (1)
 
      EXPIRES: <NONE SPECIFIED>    BACKUP: 15-APR-1987 22:41
 
      FILE ORGANIZATION:     SEQUENTIAL
 
      FILE ATTRIBUTES:       ALLOCATION: 36, EXTEND: 36,


                                - 80 -
 
                           00152-01 97 11
 
 
                             GLOBAL BUFFER COUNT:0
 
                             NO VERSION LIMIT
 
      RECORD FORMAT:         VARIABLE LENGTH, MAXIMUM 255 BYTES
 
      RECORD ATTRIBUTES:     CARRIAGE RETURN CARRIAGE CONTROL
 
      FILE PROTECTION:       SYSTEM:RWED, OWNER:RWED, GROUP:RE,
 
                             WORLD:
 
      ACCESS CNTRL LIST:     NONE
 
      TOTAL OF 1 FILE, 36/36 BLOCKS
 
      GRAND TOTAL OF 2 DIRECTORIES, 2 FILES, 72/72 BLOCKS
 
           Структура каталогов не распространяется на  тома  маг-
 
      нитной ленты. Однако пользоваться  командой  DIRECTORY  для
 
      поиска файлов на томах магнитной ленты можно (п. 4.4.2).
 
           Если необходимо произвести поиск имен всех  файлов  на
 
      томе магнитной ленты, смонтированном на MSA2:, нужно ввести
 
      команду:
 
      $ DIRECTORY MSA2:
 
           Как и в случае с диском, можно использовать в специфи-
 
      кациях каталогов для магнитных лент символы обобщения. Нап-
 
      ример, если вводится команда:
 
      $ DIRECTORY MSA0:*.*;*
 
      МОС ВП будет просматривать весь набор томов.  В  результате
 
      будут выданы все имена файлов, соответствующих стандартному
 
      формату и формату МОС ВП (см. п. 4.4.2).
 
 
 
           4.2.2. Получение информации об устройствах
 
 
           Для получения информации  о  доступности  устройств  в
 
      системе можно использовать команду SHOW DEVICES.
 
           Если команда SHOW DEVICES  выдается  без  спецификации
 
      устройства и каких-либо квалификаторов, выводится  информа-
 


                                - 81 -
 
                           00152-01 97 11
 
 
      ция обо всех устройствах в системе.  Если  указывается  имя
 
      устройства, SHOW DEVICES выводит информацию  об  этом  уст-
 
      ройстве. Если используются в команде SHOW  DEVICES  опреде-
 
      ленные квалификаторы, выводится информация о тех  устройст-
 
      вах, которые в текущий момент  содержат  смонтированные  на
 
      них тома и/или которые были закреплены за процессами.
 
           Имя устройства, выданное системой, имеет формат  DDCU,
 
      где DD - код устройства, C - контроллер и U  -  номер  уст-
 
      ройства. Если система является частью  кластерной  системы,
 
      имя устройства будет включать имя узла и будет представлено
 
      в формате NODE$DDCU, где NODE обозначает имя узла  системы,
 
      в котором находится устройство, DD означает тип устройства,
 
      C - указатель контроллера и U - номер устройства.
 
           Примеры включают три  варианта  использования  команды
 
      SHOW DEVICES.
 
           Пример 1.
 
      $SHOW DEVICES
 
      DEVICE    DEVIGE      ERR.   VOLUME   FREE   TRANS   MOUNT
 
       NAME     STATUS     COUNT    LABEL  BLOCKS  COUNT   COUNT
 
      DMA0:     ONLINE MNT    0  VOS         7083    115       1
 
      DMA1:     ONLINE MNT    0  USERPACK1   5216      2       1
 
      DMA2:     ONLINE MNT    3  DOCUMENT    8068     20       1
 
      DMA5:     ONLINE MNT    0  MASTERP     8668      1       1
 
      DMA6:     ONLINE        0
 
      DMA7:     ONLINE MNT    0  PROJECT    10547      1       1
 
      MSA0:     ONLINE MNT    9  BACKUP       453      1       1
 
      MSA1:     ONLINE        0
 
           Команда SHOW DEVICES выводит  следующую  информацию  о
 
      каждом устройстве в системе:
 
           1) имя устройства;


                                - 82 -
 
                           00152-01 97 11
 
 
           2) состояние устройства и  характеристики.  (Состояние
 
      показывает, находится  ли  устройство  в  режиме  "ONLINE";
 
      характеристики указывают, закреплено ли устройство,  обслу-
 
      живает ли оно через спул, содержит ли смонтированные на нем
 
      тома или содержит ли смонтированные "чужие" тома);
 
           3) счетчик ошибок;
 
           4) метки тома;
 
           5) число свободных блоков на томе (только для диска);
 
           6) счетчик транзакций;
 
           7) число запросов на монтирование, выданных  для  тома
 
      (только для дисковых устройств).
 
           Пример 2.
 
      $ SHOW DEVICES/FULL DMA0
 
      DISK $1$DMA0: (NODE1), DEVICE TYPE RK06, IS ONLINE,
 
                    ALLOCATED, SERVED TO THE CLUSTER,
 
                    ERROR LOGGING ENABLED.
 
      ERROR COUNT              2  OPERATION COMPLETED       4527
 
      OWNER PROCESS      "SMITH"  OWNER UIC                [0,0]
 
      OWNER PROCESS ID  24400133  DEV PROT S:RWED,O:RWED,G:RWED,
 
                                           W:RWED
 
      REFERENCE COUNT          1  DEFAULT BUFFER SIZE        512
 
      ALLOCATION CLASS         1
 
 
 
           Команда SHOW DEVICES выдает полный  листинг  состояния
 
      устройства DMA0 типа СМ 5408. Устройство находится в  клас-
 
      терном узле NODE1.
 


                                - 83 -
 
                           00152-01 97 11
 
 
           4.2.3. Получение информации об  устройствах  магнитной
 
      ленты
 
 
           Для вывода текущих характеристик и состояния указанно-
 
      го устройства магнитной ленты  можно  использовать  команду
 
      SHOW MAGTAPE.
 
           Хотя для поиска доступных  устройств  магнитной  ленты
 
      можно  использовать  команду  SHOW  DEVICES,  команда  SHOW
 
      MAGTAPE  позволяет  получить  дополнительную  информацию  о
 
      характеристиках конкретного устройства магнитной ленты.
 
           При вводе команды SHOW MAGTAPE на терминал пользовате-
 
      ля выдается запрос-подсказка:
 
      _DEVICE:
 
           Пользователь должен указAть имя  устройства  магнитной
 
      ленты, для которого необходимо  получить  характеристики  и
 
      состояние.
 
           Пример иллюстрирует использование команды SHOW MAGTAPE
 
      для получения информации о MSA0:
 
      $SHOW MAGTAPE MSA0:
 
      MSA0:,   DEVICE TYPE MS, IS ON LINE, ERROR LOGGING ENABLED
 
      ERROR COUNT             0   OPERATIONS COMPLETED         0
 
      OWNER PROCESS               OWNER UIC                [0,0]
 
      OWNER PROCESS ID 00000000   DEV PROT  S:RWED,O:RWED,G:RWED
 
                                            W:RWED
 
      REFERENCE COUNT         0   DEFAULT BUFFER SIZE       2048
 
      DENSITY              1600   FORMAT               NORMAL-11
 
      ODD PARITY
 
           Данная команда SHOW MAGTAPE выдает характеристики уст-
 
      ройства MSA0:. Среди прочих  характеристик  она  показывает
 
      тип устройства, плотность записи и формат.
 


                                - 84 -
 
                           00152-01 97 11
 
 
           4.2.4. Получение информации о защите дисковых файлов
 
 
           Для получения действующей по умолчанию защиты текущего
 
      процесса можно использовать команды DIRECTORY/ACL, SHOW ACL
 
      или SHOW PROTECTION. Эта защита касается файлов,  создавае-
 
      мых во время  терминального  сеанса  пользователя  или  при
 
      выполнении пакетного задания, когда  установка  границы  по
 
      умолчанию для каталогов или более  ранних  версий  являются
 
      непригодными.
 
           Можно изменить защиту, установленную по  умолчанию,  в
 
      любой момент командой SET PPOTECTION (подраздел 4.3).
 
           Несмотря на то что можно использовать команды SHOW/SET
 
      PROCTECTION для того, чтобы  посмотреть/установить  защиту,
 
      применяемую по умолчанию  для  магнитных  лент,  защита  не
 
      будет записываться на том магнитной ленты, если  не  указы-
 
      вается квалификатор /PROTECTION= в команде  INITIALIZE  при
 
      инициализации тома магнитной ленты (см. разд. 3).
 
           Пример   иллюстрирует   использование   команды   SHOW
 
      PROTECTION вместе с командой SET PROTECTION  для  вывода  и
 
      модификации характеристик защиты дискового файла:
 
      $ SHOW PROTECTION
 
      SYSTEM=RWED, OWNER=RWED, GROUP=RE, WORLD=NO ACCESS
 
      $ SET PROTECTION=(GROUP:RWED,WORLD:RE)/DEFAULT
 
      $ SHOW PROTECTION
 
      SYSTEM=RWED, OWNER=RWED, GROUP=RWED, WORLD=RE
 
           Данная команда SHOW PROTECTION запрашивает вывод теку-
 
      щего значения защиты, установленного по умолчанию.  Команда
 
      SET PROTECTION/DEFAULT используется для изменения доступа к
 
      файлу, предоставляемому другим пользователям в той же самой
 
      группе, а также другим пользователям системы.
 


                                - 85 -
 
                           00152-01 97 11
 
 
           4.2.5. Получение информации о дисковых квотах
 
 
           Часто является важным ограничить  количество  дисковой
 
      памяти, расходуемой определенными пользователями.  Обслужи-
 
      вающая программа дисковых  квот  (DISKQUOTA)  предоставляет
 
      администратору  системы  такую  возможность.  Пользователи,
 
      имеющие доступ для чтения (R) к файлу квот, могут использо-
 
      вать команду SHOW QUOTA для  определения  дисковой  памяти,
 
      выделенной каждому пользователю системы.  Пользователи,  не
 
      имеющие доступа для чтения, могут использовать команду SHOW
 
      QUOTA для определения своей собственной доли.
 
           Можно управлять проверкой для всего тома, используя во
 
      время монтирования квалификатор /[NO]QUOTA  команды  MOUNT.
 
      (можно также использовать DISKQUOTA для разрешения или зап-
 
      рещения использования  дисковой  памяти).  Для  пользования
 
      квалификатором /QUOTA команды MOUNT необходимо иметь приви-
 
      легию VOLPRO или UIC, равный UIC, записанному на томе.
 
           Для выяснения, существует  ли  квота  для  какого-либо
 
      определенного пользователя  на  определенном  диске,  можно
 
      использовать команду SHOW QUOTA. Выход команды  SHOW  QUOTA
 
      показывает квоты, использованные, авторизованные и  доступ-
 
      ные.
 
           Пользователь может иметь квоту на любом дисковом  томе
 
      системы. В некоторых случаях  пользователю  предоставляется
 
      выделенный только  ему  лимит  плюс  некоторый  сверхлимит.
 
      Обычно  применяется  только  авторизованный  лимит,  однако
 
      некоторые системные программы, такие как  редакторы,  могут
 
      использовать  возможность  превышения  (сверхлимит),  когда
 
      авторизованный лимит исчерпан.
 
           Если при создании файла возникнет необходимость  выйти
 


                                - 86 -
 
                           00152-01 97 11
 
 
      за пределы дисковой области, выдается системное  сообщение.
 
      Если обнаруживается, что  пользователь  не  может  получить
 
      достаточное пространство путем  удаления  ненужных  файлов,
 
      необходимо обратиться к администратору системы для расшире-
 
      ния дисковой квоты. Если пользователь пытался записать файл
 
      на устройство печати, обслуживающее через спул,  он  должен
 
      иметь право доступа для записи и достаточную квоту на  дис-
 
      ке, предоставленную этому устройству.
 
           Пример 1.
 
      $ SHOW QUOTA
 
      USER [DOCUMENTATION,MALCOLM] HAS 2780 BLOCKS USED,
 
      7220 AVAILABLE, OF 10000 AUTHORIZED AND PERMITTED
 
      OVERDMAFT OF 500 BLOCKS ON DISK$
 
           Команда SHOW QUOTA воспроизводит  количество  дисковой
 
      памяти: предоставленной, использованной и еще доступной  на
 
      диске, предоставленном в настоящий момент по умолчанию  для
 
      данного пользователя. Разрешенное превышение лимита в  дан-
 
      ном примере составляет 500 блоков.
 
           Пример 2.
 
      $ SHOW QUOTA/USER=[DOCUMENTATION,JONES]/DISK=XXX1:
 
      SYSTEM-F-NоDISKQUOTA, NO DISK QUOTA ENTRY FOR THIS UIC
 
           Данная команда SHOW QUOTA воспроизводит  информацию  о
 
      том, что  пользователь  с  Kодом  [DOCUMENTATION,JONES]  не
 
      имеет дисковой квоты на устройстве XXX1.
 
           Пример 3.
 
      $ SHOW QUOTA/USER=[DOCUMENTATION,ELAINE]
 
      USER [DOCUMENTATION,ELAINE] HAS 27305 BLOCKS USED,
 
      2305 OVERDMAWN, OF 25000 AUTHORIZED AND PERMITTED
 
      OVERDMAFT OF 4000 BLOCKS ON DISK$
 
           Данная команда SHOW QUOTA иллюстрирует пользователя  с


                                - 87 -
 
                           00152-01 97 11
 
 
      превышенной квотой.
 
 
 
           4.3. Использование   языка   DCL    для    модификации
 
      характеристик файла
 
 
           Язык DCL предоставляет команды, позволяющие устанавли-
 
      вать и модифицировать характеристики файлов, находящихся на
 
      дисковых и ленточных томах. Для установления или  модифика-
 
      ции характеристик файла можно использовать следующие коман-
 
      ды [1],[2]:
 
           1) SET ACL;
 
           2) SET DIRECTORY (только для дисков);
 
           3) SET FILE (только для дисков);
 
           4) SET MAGTAPE (только для магнитных лент);
 
           5) SET PROTECTION (только для дисков);
 
           6) SET VOLUME (только для дисков).
 
 
 
           4.3.1. Модификация    характеристик    ACL     (списка
 
      управления доступом)
 
 
           Для создания или модификации списка управления  досту-
 
      пом (ACL) для указанного об'екта можно использовать команду
 
      SET ACL. Она имеет формат:
 
      SET ACL/OBJECT_TYPE=об'ект
 
           Эта  команда  позволяет  манипулировать  всем  списком
 
      управления доступом к об'екту или создавать, модифицировать
 
      или удалять элементы управления доступом  (ACE)  в  списке 
 
      об'екта. Имя об'екта  может  задавать  файл  (включая  файл
 
      каталога) или устройство.
 
           Команда SET ACL используется для добавления  элементов
 
      к ACL путем задания элемента с квалификатором /ACL.  Напри-


                                - 88 -
 
                           00152-01 97 11
 
 
      мер,  следующая  команда  добавляет   ACE   в   ACL   файла
 
      SALARY85.DAT так, что все пользователи, имеющие отношение к
 
      идентификатору PERSONNEL, имеют право  доступа  для  чтения
 
      файла:
 
      $ SET ACL/ACL=(IDENTIFIER=[PERSONNEL],ACCESS=READ)-
 
      _$SALARY85.DAT
 
           Если об'ект, указанный в команде  SET  ACL,  не  имеет
 
      ACL, такой список создается.
 
           В примере ACL к файлу ACCOUNTS.LIS заменяется на ACL к
 
      файлу USER.LIS:
 
      $ SET ACL/LIKE=(OBJECT_TYPE=FILE,OBJECT_NAME=USER.LIS)-
 
      _$ACCOUNTS.LIS
 
           В качестве альтернативы  для  команды  SET  ACL  можно
 
      использовать команды SET FILE/ACL и SET  DIRECTORY/ACL  для
 
      установки защиты файлов и каталогов через ACL [3].
 
 
 
           4.3.2. Модификация характеристик каталога
 
 
           Для модификации характеристик одного или более катало-
 
      гов можно использовать команду оператора SET DIRECTORY.
 
           Примеры иллюстрируют два случая использования  команды
 
      SET DIRECTORY.
 
           Пример 1.
 
      $ SET DIRECTORY/VERSION_LIMIT=5/CONFIRM [SMITH.FORTRAN]
 
           Команда SET DIRECTORY ограничивает число версий файлов
 
      до пяти для файлов, создаваемых после выдачи команды.  Ква-
 
      лификатор /CONFIRM требует, чтобы пользователь  подтвердил,
 
      должен ли быть действительно модифицирован указанный  ката-
 
      лог.
 


                                - 89 -
 
                           00152-01 97 11
 
 
           Пример 2.
 
      $ SET DIRECTORY/OWNER_UIC=[DOCUMENTATION,GRAY] [DAVIDSON],-
 
      _$[USERS]
 
           Команда SET DIRECTORY модифицирует каталоги [DAVIDSON]
 
      и [USERS], изменяя их  коды  UIC  владельца.  Использование
 
      квалификатора  /OWNER_UIC  требует  привилегий  SYSPRV  или
 
      GRPPRV соответственно для изменения владельца на  системном
 
      или групповом уровнях.
 
 
 
           4.3.3. Модификация характеристик дискового файла
 
 
           Для модификации характеристик одного или более  файлов
 
      можно использовать  команду  оператора  SET  FILE.  Примеры
 
      иллюстрируют три случая использования команды SET FILE  для
 
      модификации характеристик файла.
 
           Пример 1.
 
      $ SET FILE/EXPIRATION_DATE=15-APR-1987:11:00 BATCH.COM;3
 
           Команда SET FILE требует установки срока хранения фай-
 
      ла BATCH.COM;3 равным 11:00 15 апреля 1987 года.
 
           Пример 2.
 
      $ SET FILE/BEFORE=15-APR-87/ERASE_ON_DELETE PERSONNEL*.SAL
 
           Эта команда SET FILE вызывает очистку дискового прост-
 
      ранства, занятого  всеми  файлами,  имеющими  спецификацию,
 
      совпадающую с PERSONNEL*.SAL, и датированными до  15  апре-
 
      ля 1987 года, независимо от того, удаляются  ли  какие-либо
 
      из этих файлов командами типа DELETE или PURGE.
 
           Пример 3.
 
      $ SET FILE/OWNER_UIC=[DOCUMENTATION,GRAY]/VERSION_LIMIT=100
 
      _$MYFILE.DAT
 
           Команда SET  FILE  модифицирует  характеристику  файла
 


                                - 90 -
 
                           00152-01 97 11
 
 
      MYFILE.DAT, изменяя код UIC  владельца  и  определяя  лимит
 
      версий файла, равным 100. Следует заметить, что  квалифика-
 
      тор /OWNER_UIC требует привилегии SYSPRV или  GRPPRV  соот-
 
      ветственно для изменения кода владельца  на  системном  или
 
      групповом уровне.
 
 
 
           4.3.4. Модификация характеристик устройства  магнитной
 
      ленты
 
 
           Для определения характеристик, применяемых по  умолча-
 
      нию, конкретного устройства магнитной ленты для последующих
 
      операций с файлами можно использовать команду оператора SET
 
      MAGTAPE. Устройство не должно быть в текущий момент закреп-
 
      лено за каким либо другим пользователем.
 
           Примеры иллюстрируют три случая использования  команды
 
      SET MAGTAPE совместно с командой MOUNT.
 
           Пример 1.
 
      $ MOUNT MSA1:/FOREIGN
 
      $ SET MAGTAPE MSA1:/DENSITY=1600
 
           Команда MOUNT монтирует "чужую"  ленту  на  устройстве
 
      MSA1:. Команда SET MAGTAPE определяет плотность  записи  на
 
      магнитную  ленту,  равную  1600BPI  (плотность  может  быть
 
      переустановлена только в случае, если  на  магнитную  ленту
 
      никогда ранее запись не производилась).
 
           Пример 2.
 
      $MOUNT MSA0:/FOREIGN
 
      $SET MAGTAPE MSA0:/SKIP=FILES:4
 
           Команда MOUNT монтирует  "чужую"  магнитную  ленту  на
 
      устройстве MSA0; команда SET MAGTAPE  указывает  устройству
 
      на пропуск четырех файлов.
 


                                - 91 -
 
                           00152-01 97 11
 
 
           Пример 3.
 
      $ MOUNT MSA1:/FOREIGN
 
      $ SET MAGTAPE/REWIND MSA1:
 
           Команда MOUNT монтирует "чужую"  ленту  на  устройстве
 
      MSA1; команда SET MAGTAPE перематывает том на начало.
 
 
 
           4.3.5. Модификация характеристик защиты файла
 
 
           Для изменения или переустановки  характеристик  защиты
 
      одного или более  файлов  можно  использовать  команду  SET
 
      PROTECTION. Если указывается код защиты, защита файла изме-
 
      няется в соответствии с этим  кодом.  Если  опускается  код
 
      защиты и не используется квалификатор  /PROTECTION,  защита
 
      файла изменяется на доступ к файлу, установленный по  умол-
 
      чанию командой SET PROTECTION/DEFAULT.
 
           Все тома дисков и магнитных лент  имеют  коды  защиты,
 
      которые ограничивают доступ к тому. Коды защиты  для  томов
 
      магнитной ленты назначаются командами INITIALIZE  и  MOUNT.
 
      Характеристики защиты для томов магнитной  ленты  не  могут
 
      быть изменены командой SET PROTECTION.
 
           Для дисковых томов каждый файл  на  томе  может  иметь
 
      различную защиту, связанную  с  этим  файлом.  Команда  SET
 
      PROTECTION и другие команды манипуляции  файлами  позволяют
 
      определять защиту для индивидуальных файлов.
 
           Если опускается код защиты и квалификатор /PROTECTION,
 
      к файлам применяется текущая защита, установленная по умол-
 
      чанию (командой SET PROTECTION/DEFAULT).
 
           Примеры показывают четыре случая использования команды
 
      SET PROTECTION.
 


                                - 92 -
 
                           00152-01 97 11
 
 
           Пример 1.
 
      $ DELETE INCOME.DAT;3
 
      %DELETE-W-FILNOTDEL, ERROR DELETING DISK1:[SMITH]-
 
      INCOME.DAT;3
 
      -RMS-E-PRV, INSUFFICIENT PRIVILEGE OR FILE PROTECTION
 
      VIOLATION
 
      $ SET PROTECTION=OWNER:D INCOME.DAT;3
 
      $ DELETE INCOME.DAT;3
 
           Файл INCOME.DAT;3  был  защищен  от  удаления.  Данная
 
      команда SET PROTECTION изменяет только право  владельца  на
 
      доступ к этому файлу для удаления. Теперь файл  может  быть
 
      удален.
 
           Пример 2.
 
      $ SET PROTECTION -
 
      _$PAYROLL.LIS/PROTECTION=(SYSTEM:R,OWNER:RWED,GROUP:RW),-
 
      _$PAYROLL.OUT/PROTECTION=(SYSTEM:RWED,GROUP:RWED,W)
 
           В данном примере SET PROTECTION изменяет коды  защиты,
 
      применяемые к двум файлам. Для файла PAYROLL.LIS  она  дает
 
      категории  SYSTEM  право  доступа  для  чтения,   категории
 
      OWNER - право доступа для чтения, записи, выполнения и уда-
 
      ления, а пользователю в группе владельца  -  право  доступа
 
      для чтения-записи. Для файла PAYROLL.OUT эта  команда  дает
 
      категориям SYSTEM и GROUP все типы доступа;  текущее  право
 
      доступа для категории OWNER не изменяется  ,  но  категория
 
      WORLD лишается всех типов доступа.
 
           Пример 3.
 
      $ SET PROTECTION A.DAT, B.DAT/PROтECTION=OWNER:RWED, C.DAT
 
           Команда SET PROTECTION указывает, что файл A.DAT  дол-
 
      жен получить значение защиты,  установленное  по  умолчанию
 
      для файлов  пользователя.  Существующая  защита  для  файла


                                - 93 -
 
                           00152-01 97 11
 
 
      B.DAT отменяется и только для  категории  OWNER  предостав-
 
      ляются права доступа для чтения, записи, выполнения и  уда-
 
      ления. Следует заметить, что для файла C.DAT никакая защита
 
      не устанавливается. Таким образом, подобно файлу A.DAT файл
 
      C.DAT  получает  характеристики  защиты,  установленные  по
 
      умолчанию.
 
           Поскольку в данном примере не указаны  номера  версий,
 
      устнавливаемая защита будет действовать только на последние
 
      версии трех файлов.
 
           Пример 4.
 
      $ SET PROTECTION=OWNER:D -
 
      _$[MALCOLM.SUB1]SUB2.DIR/PROTECTION=GROUP:D
 
           Команда SET PROTECTION изменяет защиту  для  категории
 
      OWNER и GROUP подкаталога [MALCOLM.SUB1.SUB2], позволяя  им
 
      удаление. Однако зашита для категорий  WORLD  и  SYSTEM  не
 
      изменяется.
 
 
 
           4.3.6. Модификация характеристик тома
 
 
           Для модификации характеристик одного или более смонти-
 
      рованных дисковых томов с файловой структурой можно исполь-
 
      зовать команду оператора SET VOLUME.  Для  применения  этой
 
      команды необходимо иметь право доступа для записи к индекс-
 
      ному файлу на томе. Если пользователь не является  владель-
 
      цем тома, он должен иметь либо системный код UIC, либо при-
 
      вилегию пользователя SYSPRV. Далее необходимо  указать  имя
 
      одного или более смонтированных томов с  файловой  структу-
 
      рой.
 
           Примеры иллюстрируют использование команды SET VOLUME.
 


                                - 94 -
 
                           00152-01 97 11
 
 
           Пример 1.
 
      $ SET VOLUME/DATA_CHECK=(READ, WRITE) DMA5:
 
           Данная команда требует выполнения проверOк всех после-
 
      дующих операций чтения и записи на DMA5:
 
           Пример 2.
 
      $ SET VOLUME/LABEL=LICENSES DMA5:
 
           Данная команда записывает метку LICENSES на том DMA5:.
 
      Следует заметить, что если символы в метке вводятся в  ниж-
 
      нем регистре, они меняются  на  символы  верхнего  регистра
 
      квалификатором /LABEL.
 
 
 
           4.4. Использование языка DCL для доступа к файлам
 
 
           Дополнительно к выполняющимся программам пользователя,
 
      осуществляющим операции ввода/вывода с файлами, находящими-
 
      ся на томах дисков и магнитной  ленты,  можно  использовать
 
      команды языка DCL для доступа к файлам дисков  и  магнитных
 
      лент для чтения и записи.
 
           Здесь описывается применение языка DCL для  доступа  к
 
      дискам и магнитным лентам на уровне файлов (в противополож-
 
      ность доступу на уровне записи). Хотя  язык  DCL  позволяет
 
      манипулировать с  файлами  на  уровне  записи,  соображения
 
      производительности обычно оправдывают использование в  этом
 
      случае традиционных языков программирования.
 
           Если необходимо осуществлять доступ на уровне  файлов,
 
      можно получить преимущество, используя  язык  DCL.  Следует
 
      напомнить, что нельзя использовать команды  языка  DCL  для
 
      чтения или записи файлов, которые не имеют стандартных фор-
 
      матов, поддерживаемых МОС ВП. Если форматы  файла  являются
 
      нестандартными, тома, на которых они находятся, должны быть
 


                                - 95 -
 
                           00152-01 97 11
 
 
      смонтированы как "чужие" (с квалификатором /FOREIGN).
 
 
 
           4.4.1. Доступ к дисковым файлам для операций чтения  и
 
      записи
 
 
           4.4.1.1. Чтение файлов с дискового тома
 
 
           Чтобы  прочитать  содержимое  дискового  файла,  можно
 
      использовать команду оператора TYPE, которая выводит содер-
 
      жимое файла на терминал пользователя. Для нахождения точно-
 
      го расположения дискового файла, который необходимо  прочи-
 
      тать, можно использовать команду DIRECTORY (п. 4.2.1).
 
           Например, если необходимо прочитать  содержимое  файла
 
      HISFILE, который находится где-то в каталоге  [CHARLES]  на
 
      дисковом устройстве, логическое имя которого DISK$DOCUMENT,
 
      можно найти точное расположение HISFILE, используя команду:
 
      $ DIRECTORY DISK$DOCUMENT:[CHARLES...]HISFILE.*
 
           Данная команда инструктирует МОС ВП  произвести  поиск
 
      по всему каталогу [CHARLES], включая все  подкаталоги,  все
 
      типы файлов и номера версий HISFILE. На терминале пользова-
 
      теля появится информация:
 
      DIRECTORY DISK$DOCUMENT:[CHARLES.MEMO]
 
      HISFILE.UPD;1
 
      TOTAL OF 1 FILE
 
           Эта информация говорит о том,  что  существует  только
 
      одна версия HISFILE, которая имеет тип UPD, и что этот файл
 
      находится в каталоге [CHARLES.MEMO].
 
           Для чтения содержимого этого файла можно  выдать  сле-
 
      дующую команду:
 
      $ TYPE [CHARLES.MEMO]HISFILE.UPD
 
           Содержимое HISFILE будет выведено на терминал  пользо-


                                - 96 -
 
                           00152-01 97 11
 
 
      вателя.
 
 
 
           4.4.1.2. Запись файлов на дисковый том
 
 
           Перед тем, как записать файлы  на  дисковый  том,  том
 
      должен быть правильно подготовлен (разд. 3).
 
           Диски являются устройствами с прямым доступом, и файлы
 
      должны быть перечислены в каталогах.  Следовательно,  после
 
      инициализации диска необходимо создать каталог для дисковых
 
      файлов пользователя.
 
           Например:
 
      $ CREATE/DIRECTORY DMA3: [PUBS]
 
      $ DEFINE P DMA3:[PUBS]
 
      $ COPY *.* P
 
      $ COPY [PRIMER] *.* P
 
      $ COPY [COMMANDS] *.* P
 
           Команда CREATE/DIRECTORY создает на  устройстве  DMA3:
 
      файл каталога, названный [PUBS], а команда  DEFINE  опреде-
 
      ляет логическое имя P как DMA3:[PUBS]. Команда  COPY  копи-
 
      рует последние версии всех  файлов  из  текущего  каталога,
 
      установленного  по  умолчанию,  из  каталогов  [PRIMER]   и
 
      [COMMANDS] во вновь созданный каталог.
 
 
 
           4.4.1.3. Запись  файлов  с  дисковых  томов  на   тома
 
      магнитной ленты
 
 
           Рассмотрим на  примере  использование  языка  DCL  для
 
      записи файлов из каталога, установленного по умолчанию  для
 
      дискового тома, на том магнитной ленты со стандартными мет-
 
      ками. (Описываемые процедуры подобны процедурам копирования
 
      файлов между дисковыми томами. Одним из  основных  различий


                                - 97 -
 
                           00152-01 97 11
 
 
      является то, что магнитные ленты являются устройствами пос-
 
      ледовательного доступа и не содержат каталогов):
 
           1) закрепляем устройство:
 
      $ ALLOCATE MS: TAPE_DEVICE
 
      %DCL-I-ALLOC _MARS$MSA2: ALLOCATED
 
      команда ALLOCATE запрашивает закрепление устройства магнит-
 
      ной ленты, имя которого начинается с MS. TAPE_DEVICE -  это
 
      логическое имя, которое в данном случае указывает на MSA2:.
 
      Ответ системы говорит о том, что устройство 2 на контролле-
 
      ре A было  доступным  и  в  настоящий  момент  распределено
 
      непосредственно пользователю. Можно теперь физически загру-
 
      зить магнитную ленту на устройство. Следует убедиться,  что
 
      кольцо защиты записи на магнитной ленте находится на месте;
 
      если нет, то нельзя произвести запись на магнитную ленту;
 
           2) инициализируем магнитную ленту:
 
      $ INITIALIZE TAPE_DEVICE: GMB001 -
 
      _$ /PROTECTION=(GROUP:R,WORLD)
 
      команда INITIALIZE указывает имя устройства (MSA2:) и метку
 
      тома магнитной ленты (GMB001). Метка не может быть  длиннее
 
      шести символов.  Квалификатор  /PROTECTION  определяет  код
 
      защиты, ограничивающий групповой доступ только для чтения и
 
      запрещающий доступ для категории WORLD;
 
           3) используем команду MOUNT для  монтирования  тома  и
 
      записи файлов на него:
 
      $ MOUNT TAPE_DEVICE: GMB001
 
      %MOUNT-I-MOUNTED, GMB001 MOUNTED ON _MSA2:
 
      $ COPY *.* TAPE_DEVICE:
 
      команда MOUNT указывает имя устройства и метку тома,  нахо-
 
      дящегося на устройстве.  Команда  COPY  копирует  последние
 
      высшие версии всех файлов в каталоге пользователя, установ-


                                - 98 -
 
                           00152-01 97 11
 
 
      ленном по умолчанию, на магнитную ленту. Имена файлов, типы
 
      файлов и номера версий выходных файлов по  умолчанию  уста-
 
      навливаются теми же, что и  имена  файлов,  типы  файлов  и
 
      номера версий входных файлов.
 
           Если выдается команда COPY с квалификатором /LOG, сис-
 
      тема  будет  посылать  сообщение  на   текущее   устройство
 
      SYS$OUTPUT после завершения копирования каждого  очередного
 
      файла. Можно также использовать команду DIRECTORY для  про-
 
      верки того, что все файлы успешно скопированы:
 
      $ DIRECTORY TAPE_DEVICE:
 
           Команда DIRECTORY перечисляет имена и типы файлов  для
 
      всех файлов на магнитной ленте.
 
           После окончания работы с магнитной лентой  ее  следует
 
      размонтировать и открепить:
 
      $ DISMOUNT TAPE_DEVICE:
 
      $ DEALLOCATE TAPE_DEVICE:
 
           Если пользователь не размонтировал и не открепил  маг-
 
      нитную ленту,  система  сделает  это  автоматически,  когда
 
      пользователь выйдет из системы.
 
 
 
           4.4.2. Доступ к файлам магнитной ленты  для  чтения  и
 
      записи
 
 
           При обращении к тому со стандартными метками или файлу
 
      МОС ВП проверяет, имеет ли процесс право доступа к тому или
 
      файлу на уровне тома и/или файла. Уровень, на  котором  мос
 
      вп проверяет доступ, зависит от операции, которую пользова-
 
      тель запрашивает, и от типа доступа, который требуется  для
 
      этой операции.
 
           При обращении к тому или файлу система читает головные
 


                                - 99 -
 
                           00152-01 97 11
 
 
      метки тома и файла для определения, не является ли доступ к
 
      тому или файлу ограниченным. От требуемой операции зависит,
 
      какая метка  будет  прочитана.  Например,  если  необходимо
 
      смонтировать том, процесс пользователя должен иметь  доступ
 
      к этому тому. Таким образом, МОС  ВП  будет  читать  только
 
      метки тома (разд. 2).
 
           Защита определяет доступ  пользователя  к  конкретному
 
      файлу. Поле срока хранения может предохранять от перезаписи
 
      или добавления к файлу непосредственно перед запросом  фай-
 
      ла. Если дата, записанная в поле срока хранения, не  истек-
 
      ла, файл не уничтожается. Нельзя перезаписать файл  с  нео-
 
      конченным сроком  хранения,  если  не  указан  квалификатор
 
      /OVERRIDE= EXPIRATION при монтировании тома.
 
           Способ, применяемый для доступа к файлу для выполнения
 
      какой-либо операции, называется типом доступа. В зависимос-
 
      ти от запрашиваемого типа доступа требуется привилегия READ
 
      и/или WRITE.
 
           Перед обращением к некоторому файлу для операции  чте-
 
      ния или записи может потребоваться обследование  тома  маг-
 
      нитной ленты на предмет нахождения этого файла.
 
 
 
           4.4.2.1. Поиск   файлов   на   магнитной   ленте    со
 
      стандартными метками для доступа по чтению или записи
 
 
           При указании стандартного имени файла для файла, нахо-
 
      дящегося на магнитной  ленте,  файловая  система  магнитной
 
      ленты сравнивает имя файла с головными метками каждого фай-
 
      ла до тех пор, пока не находит совпадающее поле идентифика-
 
      тора файла в головных метках.
 
           Если в имени файла указан номер версии, он сравнивает-
 


                                - 100 -
 
                           00152-01 97 11
 
 
      ся с полями номера поколения и номера  версии  поколения  в
 
      первой головной метке файла. Если номер  версии  не  указы-
 
      вается, файловая система магнитной ленты  не  устанавливает
 
      по умолчанию номер версии и не проверяет поля номера  поко-
 
      ления и номера версии поколения. Файловая система магнитной
 
      ленты выбирает первый файл на магнитной ленте, имя которого
 
      в поле идентификатора файла совпадает  с  указанным  именем
 
      файла.
 
           Концепции каталога и последней версии файла не поддер-
 
      живаются операционной системой для  томов  магнитных  лент.
 
      МОС ВП не производит поиск и не обрабатывает более  позднюю
 
      версию указанного файла. Файловая система  магнитной  ленты
 
      не может увеличивать номера версий файлов, записываемых  на
 
      магнитную ленту; следовательно,  два  или  более  файлов  в
 
      одном и том же наборе томов могут иметь одно и  то  же  имя
 
      файла и один и тот же номер версии.
 
           Поскольку файловая система  магнитной  ленты  выбирает
 
      первое совпавшее имя файла и номер версии  (если  последний
 
      указан), позиция магнитной ленты внутри набора томов  опре-
 
      деляется тем, какой файл возвращается в результате операции
 
      поиска. Операция поиска начинается с текущей позиции,  поэ-
 
      тому может оказаться необходимым перемотать набор томов  на
 
      начало перед выполнением доступа к файлу.
 
           Поиск соответствующего файла  и  номера  версии  (если
 
      последний указан) продолжается  с  начала  набора  головных
 
      меток следующего (по отношению к текущему положению  ленты)
 
      файла и заканчивается, когда магнитная  лента  установилась
 
      на файле, с которого начался поиск. Если запрашиваемый файл
 
      не найден на текущем томе, поиск осуществляется  на  остав-
 
      шихся томах набора в соответствии с их относительными номе-


                                - 101 -
 
                           00152-01 97 11
 
 
      рами томов до тех пор, пока не будет обнаружено совпадающее
 
      имя файла, либо пока не будет просмотрен весь набор томов.
 
           Если произошло совпадение имени файла, из номера  сек-
 
      ции файла, последовательного номера файла и  относительного
 
      номера тома образуется внутренний  идентификационный  номер
 
      файла. Хотя доступ к дисковому файлу возможен по его  иден-
 
      тификационному номеру файла, нельзя использовать такой дос-
 
      туп к файлу магнитной ленты.
 
           МОС ВП поддерживает использование символов обобщения в
 
      спецификациях  файлов  для  томов  магнитных  лент.  Однако
 
      существуют определенные ограничения. В отличие от файлов на
 
      дисковых томах, для которых поддерживаются  символы  "звез-
 
      дочка" (*), "знак процента"(%), "многоточие" (...) и  "знак
 
      минус" (-), на томах магнитной ленты поддерживаются  только
 
      символы обобщения "звездочка" и "знак  процента"  для  имен
 
      файлов МОС ВП. Для стандартных имен  файлов  поддерживается
 
      только символ "звездочка".
 
           Символ обобщения "звездочка" позволяет сравнивать спе-
 
      цификации файла по всему полю или части поля. Символ  "знак
 
      процента" позволяет сравнивать любой символ в  спецификации
 
      файла только по позиции символа внутри поля.
 
           Для имен файлов МОС ВП можно указывать  "звездочку"  и
 
      "знак процента" в любом месте поля имени файла и типа файла
 
      для сравнения со спецификацией имени файла  по  всему  полю
 
      или по позиции символа  внутри  поля.  Нельзя  использовать
 
      "знак процента" в поле номера версии.  В  этом  поле  может
 
      использоваться только символ обобщения "звездочка".
 
           Для  стандартных  имен  файлов  единственным  символом
 
      обобщения является "звездочка". Для стандартных имен файлов
 
      поддерживается специальный набор  символов  кода  КОИ-8.  В


                                - 102 -
 
                           00152-01 97 11
 
 
      отличие от имен  файлов  МОС  ВП,  которые  могут  включать
 
      до 39.39 символов (39 символов для имени  файла  и  39  для
 
      типа файла), стандартные имена файлов  могут  иметь  макси-
 
      мальную длину 17 символов. Выбор типа имен  файлов  зависит
 
      от типа прикладных программ, с которыми пользователь  соби-
 
      рается работать. Примеры содержат три случая  использования
 
      символов обобщения в спецификациях файла для поиска  файлов
 
      на томах магнитной  ленты.  Эти  примеры  показывают  также
 
      использование команды DIRECTORY для магнитных лент. Следует
 
      заметить, что команда DIRECTORY для  дисковых  и  ленточных
 
      файлов работает неодинаково (см. п. 4.2.1).
 
           Пример 1.
 
      $ DIRECTORY MSA1:*.*;*
 
           Эта команда указывает МОС ВП  произвести  обследование
 
      набора  томов.  Поскольку  символ   обобщения   "звездочка"
 
      является допустимым для имен файлов МОС ВП и для  стандарт-
 
      ных имен файлов,  будет  производиться  поиск  имен  файлов
 
      обоих типов. При этом стандартные имена файлов будут  возв-
 
      ращаться в двойных кавычках.
 
           Пример 2.
 
      $ DIRECTORY MSA1:%*.*;*
 
      $ DIRECTORY MSA0:*.%*;*
 
           В этих двух командах может  выполняться  поиск  только
 
      имен файлов МОС ВП, поскольку "знак процента"  не  является
 
      допустимым для файлов со стандартными именами.  Для  второй
 
      команды поле типа файла должно содержать, по крайней  мере,
 
      один символ. Файлы без типа не возвращаются.
 


                                - 103 -
 
                           00152-01 97 11
 
 
           Пример 3.
 
      $ DIRECTORY MSA0:*.;*
 
           В этом примере команда DIRECTORY позволяет осуществить
 
      поиск файлов со стандартными именами, а также  имен  файлов
 
      МОС ВП, имеющих пустой тип файла.
 
 
 
           4.4.2.2. Чтение файлов на томах магнитной ленты
 
 
           При обращении к файлам на томах  магнитной  ленты  для
 
      операции чтения магнитная лента  устанавливается  в  начале
 
      секции файла после головных меток файла.
 
           Для чтения файла или группы файлов на  томе  магнитной
 
      ленты и вывода содержимого этого файла (или файлов) на тер-
 
      минал пользователя  можно  использовать  команду  оператора
 
      TYPE. Например, если необходимо прочитать содержимое  файла
 
      с именем TESTFILE.DOC;1 (о котором известно, что он являет-
 
      ся файлом МОС ВП, находящимся на устройстве магнитной ленты
 
      MSA1:), можно ввести команду:
 
      $ TYPE MSA1:TEST*.%*;*
 
           Пользователь получит на свой терминал следующую инфор-
 
      мацию:
 
      MSA1:TESTFILE.DOC;1
 
      THIS IS A TEST FILE .
 
           Когда к файлу, находящемуся на томе  магнитной  ленты,
 
      осуществляется доступ только для чтения атрибутов в  голов-
 
      ных метках, а не для чтения секций данных, файловая система
 
      магнитной ленты возвращает процессу атрибуты СУД-32. Напри-
 
      мер, если указывается команда DIRECTORY/FULL для тома, фай-
 
      ла или списка  файлов,  файловая  система  магнитной  ленты
 
      выбирает из головных меток идентификаторы  файлов,  возвра-
 


                                - 104 -
 
                           00152-01 97 11
 
 
      щает атрибуты файлов процессу пользователя и  устанавливает
 
      магнитную ленту в позицию, следующую за  головными  метками
 
      последнего файла, к которому осуществлялся доступ.
 
           Файл магнитной ленты, который был открыт  для  доступа
 
      по чтению, закрывается либо явно, либо неявно. Файл  закры-
 
      вается неявно,  когда  накопитель  устройства  обнаруживает
 
      ленточный маркер в процессе чтения файла. Файловая  система
 
      магнитной ленты затем  читает  хвостовые  метки,  закрывает
 
      файл и устанавливает магнитную ленту в  позицию  следующего
 
      файла.
 
           Файл закрывается явно,  когда  прекращается  доступ  к
 
      файлу до окончания чтения данных  файла.  Файловая  система
 
      магнитной ленты затем  закроет  файл,  не  читая  хвостовых
 
      меток, и магнитная лента остается в текущей позиции.
 
 
 
           4.4.2.3. Запись файлов на тома магнитной ленты
 
 
           При использовании языка DCL для доступа к существующим
 
      файлам с целью выполнения операции записи, выполняется одна
 
      из операций: добавление или коррекция. Разница между опера-
 
      циями добавления и коррекции  может  быть  об'яснена  таким
 
      образом:
 
           1) при доступе к файлу для выполнения операции  добав-
 
      ления магнитная лента устанавливается в позицию EOF  (конец
 
      файла) перед ленточным маркером,  предшествующим  хвостовым
 
      меткам. После добавления к файлу и его закрытия все  файлы,
 
      находящиеся за расширенным файлом, теряются. Когда позицио-
 
      нирование завершается, обработка выполняется  так  же,  как
 
      если бы файл был создан;
 
           2) при доступе к файлу для операции коррекции  магнит-
 


                                - 105 -
 
                           00152-01 97 11
 
 
      ная лента позиционируется на секции BOF (начало файла) пос-
 
      ле головных меток. После записи в файл и его  закрытия  все
 
      файлы, находящиеся за скорректированным  файлом,  теряются.
 
      Обработка выполняется так же, как если бы файл был создан.
 
           Можно производить операции изменения/добавления только
 
      для тех файлов магнитной ленты, значение величины  смещения
 
      буфера которых в головных метках равно нулю (разд. 5).
 
           Дополнительно к корректировке и расширению  файлов  на
 
      магнитной ленте можно осуществить доступ к тому для  выпол-
 
      нения операции записи созданием файла.  Для  записи  нового
 
      файла на том магнитной  ленты  можно  использовать  команду
 
      CREATE. Например, можно ввести командную строку:
 
      $ CREATE MSA0:MYFILE
 
           Затем можно записывать содержимое файла, оставаясь  на
 
      уровне языка DCL до закрытия файла.
 
           Если не указан квалификатор /OVERRIDE=EXPIRATION, фай-
 
      ловая система магнитной ленты проверяет поле даты  хранения
 
      файла перед тем, как позволить записывать в этот файл. Если
 
      должно быть перезаписано более одного файла, файловая  сис-
 
      тема магнитной ленты проверяет также дату  хранения  файла,
 
      непосредственно следующего за тем, который будет  перезапи-
 
      сываться. Например, перед тем как произвести  добавление  к
 
      файлу, файловая система магнитной ленты проверяет даты хра-
 
      нения файла, к которому будет производиться  дополнение,  и
 
      файла, непосредственно следующего за ним. Если дата  хране-
 
      ния любого из файлов не истекла, файловая система магнитной
 
      ленты не позволит  пользователю  производить  добавление  к
 
      файлу.
 
           При записи файлов на том магнитной ленты файловая сис-
 
      тема магнитной ленты выполняет проверку доступа, записывает


                                - 106 -
 
                           00152-01 97 11
 
 
      метки и, если необходимо, переключает тома. Если новый файл
 
      будет перезаписывать существующий  файл,  файловая  система
 
      магнитной ленты проверяет поля срока хранения и доступности
 
      существующего файла. Если  перезапись  разрешена,  файловая
 
      система магнитной ленты перезаписывает набор головных меток
 
      существующего файла, создает секцию файла, записвает  хвос-
 
      товые метки и записывает два ленточных маркера,  обозначаю-
 
      щие логический конец тома (EOV). Все  файлы,  следующие  за
 
      вновь созданным файлом, теряются.
 
           Для закрытия файла магнитной ленты, который был открыт
 
      для записи, файловая система магнитной ленты выдает драйве-
 
      ру команды для записи меток, за которыми следуют  два  лен-
 
      точных маркера, означающие логический конец тома.
 
 
 
           4.5. Командные процедуры для доступа к "чужим" томам
 
 
           Описываемая командная процедура  позволяет  создавать,
 
      читать или записывать данные на магнитную ленту в  простом,
 
      определенном пользователем "чужом" формате:
 
      $!
 
      $!        FOREIGN.COM
 
      $!
 
      $! Это основная командная процедура. Она устанавливает
 
      $! учетный раздел пользователя и монтирует том с квали-
 
      $! фикатором /FOREIGN.
 
      $! Если пользователь хочет прочитать "чужой том", вызыва-
 
      $! ется процедура FORREAD.COM. Если записать, - процедуру
 
      $! FORWRITE.COM.
 
      $!
 
      $    VERIFY_OFF_ON = F$VERIFY ( 0 )
 


                                - 107 -
 
                           00152-01 97 11
 
 
      $    ON CONTROL_Y THEN GOTO CLEAN_UP
 
      $    ON WARNING THEN GOTO CLEAN_UP
 
      $
 
      $!
 
      $! Если привилегия VOLPRO не установлена, но учетная инфор-
 
      $! мация пользователя имеет SETPRV, то VOLPRO устанавлива-
 
      $! ется для монтирования нового неформатированного тома.
 
      $! Если привилегия VOLPRO не может быть установлена, про-
 
      $! цесс пользователя уведомляется, что процесс имеет недо-
 
      $! статочно привилегий для записи неформатированного тома.
 
      $! Пользователя также спрашивают, продолжить или завершить
 
      $! процедуру.
 
      $!
 
      $    VOLPRO_OFF_ON = F$SETPRV ("VOLPRO")
 
      $    IF F$PRIVILEGE ("VOLPRO") THEN GOTO CONT
 
      $    WRITE SYS$OUTPUT "INSUFFICIENT PRIVILEGE TO WRITE
 
           AN UNFORMATTED VOLUME!"
 
      $    INQUIRE/NOPUNC CONTINUE "DO YOU WISH TO CONTINUE
 
           (Y/N) ?"
 
      $    IF .NOT. CONTINUE THEN GOTO CLEAN_UP
 
      $ CONT:
 
      $
 
      $!
 
      $! Выяснение, где смонтирован том.
 
      $!
 
      $ GET_DRIVE:
 
      $    INQUIRE TAPE_DRIVE "TAPE DRIVE"
 
      $    IF TAPE_DRIVE .EQS." "THEN GOTO GET_DRIVE
 
      $    TAPE_DRIVE = TAPE_DRIVE-":+":"
 
      $    IF .NOT. F$GETDVI (TAPE_DRIVE,"EXISTS")


                                - 108 -
 
                           00152-01 97 11
 
 
      $             THEN GOTO NOSUCHDEV
 
      $    ASSIGN 'TAPE_DRIVE' TAPE
 
      $
 
      $!
 
      $! Попытка закрепить и смонтировать том.
 
      $!
 
      $    ALLOCATE TAPE:
 
      $    MOUNT/NOASSIST/FOREIGN/OVERRIDE=(ACCESSIBILITY,
 
      $    EXPIRATION) TAPE:
 
      $
 
      $!
 
      $! Вопрос к пользователю: файл читать или записывать.
 
      $!
 
      $
 
      $ READ_WRITE:
 
      $    INQUIRE/NOPUNC OPERATION "READ OR WRITE A FILE?"
 
      $    IF F$LOCATE (OPERATION, "READ")  .EQ. 0 THEN COTO
 
           READ_OP
 
      $    IF F$LOCATE (OPERATION, "WRITE") .EQ. 0 THEN GOTO
 
           WRITE_OP
 
      $    GOTO READ_WRITE
 
      $
 
      $ READ_OP:
 
      $    @FORREAD
 
      $    GOTO CLEAN_UP
 
      $
 
      $ WRITE_OP:
 
      $    @FORWRITE
 
      $
 
      $ CLEAN_UP:


                                - 109 -
 
                           00152-01 97 11
 
 
      $
 
      $!
 
      $! Восстановление учетной информации пользователя до
 
      $! выполнения командной процедуры.
 
      $!
 
      $    SET NOON
 
      $    DISMOUNT/NOUNLOAD TAPE:
 
      $    DEALLOCATE TAPE:
 
      $    DEASSIGN TAPE
 
      $    VOLPRO_OFF_ON = F$SETPRV (VOLPRO_OFF_ON)
 
      $    VERIFY_OFF_ON = F$VERIFY (VERIFY_OFF_ON)
 
      $
 
      $ EXIT
 
      $
 
      $ NOSUCHDEV:
 
      $    WRITE SYS$OUTPUT "NO SUCH DEVICE"
 
      $    GOTO GET_DRIVE
 
 
 
      $!    FORWRITE.COM записывает данные на "чужой" том
 
      $!
 
      $! Данная командная процедура записывает данные на "чужой"
 
      $! том. Применяется  следующий  формат  данных: каждая за-
 
      $! пись - это блок; записи имеют переменную длину. Первыми
 
      $! четырьмя символами записи являются цифры, которые слева
 
      $! заполняются пробелами. Это поле порядкового  номера на-
 
      $! чинается  с 1 и увеличивается на 1 с каждой новой запи-
 
      $! сью. Пятым  символом  записи  является запятая. Символы
 
      $! с 6 по 9 - цифры, которые  заполняются слева пробелами.
 
      $! Это поле размера, содержащее  размер поля данных. Деся-
 
      $! тым символом записи  является вертикальная черта. Оста-


                                - 110 -
 
                           00152-01 97 11
 
 
      $! ток  записи - данные. Записи  заполняются  так, чтобы
 
      $! иметь длину, по крайней мере, 20 символов.
 
      $    SEG_NUM = 0   ! Установка начального порядкового
 
      $                  ! номера
 
      $    SPACES = "       "    ! Используется для заполнения
 
      $                          ! записей, имеющих в длину менее
 
      $                          ! 20 символов
 
      $    OPEN/WRITE TAPE_FILE TAPE: ! Открытие выходного файла
 
      $ NEXT_LINE:
 
      $
 
      $    SEG_NUM = SEG_NUM + 1 ! Приращение порядкового
 
      $                          ! номера
 
      $! Подсказка пользователю о данных; в случае ввода ^Z
 
      $! производится закрытие файла и выход
 
      $    READ/PROMPT="RECORD # 'SEG_NUM' : "/END_OF_FILE=END
 
           _OF_INPUT - SYS$COMMAND USER_DATA
 
      $
 
      $! Нахождение размера записи и необходимого числа символов
 
      $! запонения. Заметьте, что отрицательное число символов-
 
      $! заполнителей не приводит к возврату каких-либо символов
 
      $!
 
      $    DATA_SIZE = F$LENGTH ( USER_DATA )
 
      $    PAD_CHARS = 10 - DATA_SIZE
 
      $    IF PAD_CHARS .LT. 0 THEN PAD_CHARS = 0
 
      $
 
      $! Образование выходных записей с использованием FAO
 
      $!
 
      $    OUT_REC = F$FAO ( "!4UL,!4UL/!AS", SEG_NUM, DATA_SIZE,
 
      $    USER_DATA ) + F$EXTRACT ( 1, PAD_CHARS, SPACES )
 
      $


                                - 111 -
 
                           00152-01 97 11
 
 
      $    WRITE TAPE_FILE OUT_REC  ! Запись формализованной
 
      $                             ! выходной записи
 
      $    GOTO NEXT_LINE
 
      $
 
      $ END_OF_INPUT:
 
      $    CLOSE TAPE_FILE
 
 
 
      $!    FORREAD.COM Читает данные с "чужого" тома
 
      $!
 
      $! Данная процедура вызывается, когда должно быть выполнено
 
      $! чтение данных. Процедура читает данные на "чужом" томе.
 
      $! Формат данных определяется в процедуре FORWRITE.COM.
 
      $!
 
      $
 
      $    SEG_NUM = 0  ! Установка начального порядкового
 
      $                 ! номера
 
      $
 
      $    OPEN/READ TAPE_FILE TAPE:  ! Открытие выходного файла
 
      $ NEXT_LINE:
 
      $
 
      $    SEG_NUM = SEG_NUM + 1 ! Приращение порядкового
 
      $                          ! номера
 
      $
 
      $    READ/END_OF_FILE=END_OF_INPUT TAPE_FILE IN_REC
 
      $
 
      $    RECORD_NUM = F$EXTRACT ( 0,4,IN_REC )---" "---" "---""
 
      $    RECORD_NUM = F$INTEGER ( RECORD_NUM )
 
      $    IF SEG_NUM .NE. RECORD_NUM THEN -
 
             WRITE SYS$OUTPUT "ERROR POSSIBLE DATA LOST RECORD
 
             SEGUENCE BROKEN!"


                                - 112 -
 
                           00152-01 97 11
 
 
      $
 
      $!
 
      $! Нахождение длины данных и выделение данных
 
      $!
 
      $    DATA_SIZE = F$EXTRACT (5, 4, IN_REC )---" "---" "---""
 
      $    DATA_SIZE = F$INTEGER ( DATA_SIZE)
 
      $    DATA_REC = F$EXTRACT ( 10, DATA_SIZE, IN_REC )
 
      $    WRITE SYS$OUTPUT DATA_REC  ! Запись выходной записи
 
      $                               ! данных
 
      $    GOTO NEXT_LINE
 
      $
 
      $ END_OF_INPUT:
 
      $    CLOSE TAPE_FILE
 
 
 
 
        5. Передача информации, находящейся на дисках и лентах
 
 
 
           5.1. Обмен информацией внутри одной  системы  и  между
 
      различными системами
 
 
           Пользователю может понадобиться переслать файлы  между
 
      системами, которые не соединены линией связи. Для этой цели
 
      необходимо иметь возможность физически переместить файлы  с
 
      одного места в другое.  Это  делается  обычно  копированием
 
      файлов на переносимый том, такой как бобина магнитной ленты
 
      или пакет дисков, и затем этот том  переносится  туда,  где
 
      находится другая система.
 
           Операционная система МОС ВП поддерживает обмен  инфор-
 
      мацией, содержащейся на дисках и магнитных лентах, в преде-
 
      лах системы МОС ВП и с другими операционными системами. Она
 
      обеспечивает набор возможностей, которые  помогут  в  обоих


                                - 113 -
 
                           00152-01 97 11
 
 
      случаях. Наиболее  часто  используемыми  возможностями  для
 
      пересылки информации являются команда оператора COPY и обс-
 
      луживающая программа преобразования файлов (EXCHANGE) [8].
 
           Во многих случаях пользователь сочтет команду  COPY  и
 
      обслуживающую программу EXCHANGE  достаточными  для  обмена
 
      информацией. Может также оказаться  полезным  использование
 
      обслуживающих программ копирования и преобразования  файлов
 
      (CONVERT) и анализа файлов, особенно для "чужих" томов  или
 
      в среде, не имеющей файловой структуры [6],[9].
 
           В некоторых случаях необходимо будет использовать обс-
 
      луживающую программу сохранения файлов (BACKUP) [10].  Нап-
 
      ример, BACKUP - это единственное средство пересылки полного
 
      дерева каталогов или непоследовательных файлов с  использо-
 
      ванием магнитной ленты.
 
 
 
           5.2. Использование команды COPY
 
 
           Одним из способов пересылки информации на дисках и/или
 
      магнитных лентах является использование команды COPY  языка
 
      DCL. С ее помощью можно копировать файлы:
 
           1) с диска на диск;
 
           2) с диска на магнитную ленту;
 
           3) с магнитной ленты на диск;
 
           4) с магнитной ленты на магнитную ленту.
 


                                - 114 -
 
                           00152-01 97 11
 
 
           5.2.1. Копирование файлов с дисковых томов
 
 
           Рассмотрим использование команды COPY для  копирования
 
      файлов с дисковых томов на дисковые тома и  тома  магнитной
 
      ленты.
 
           Формат, принимаемый по умолчанию для файлов на  диске,
 
      называется файловой структурой уровня 2. Можно также  прои-
 
      нициализировать диски для файловой структуры уровня 1. Уро-
 
      вень 1 файловой структуры - это формат, используемый други-
 
      ми операционными системами СМ ЭВМ, включая ОС РВ.
 
           В примере команды COPY копируют последние версии  всех
 
      файлов, находящихся в текущем  каталоге,  установленном  по
 
      умолчанию, и в каталогах [PRIMER] и  [COMMANDS]  в  каталог
 
      [PUBS]:
 
      $ DEFINE P DMA3:[PUBS]
 
      $ COPY *.* P:
 
      $ COPY [PRIMER]*.* р:
 
      $ COPY [COMMANDS]*.* P:
 
           Если необходимо скопировать файлы из каталога,  такого
 
      как каталог пользователя,  установленный  по  умолчанию,  и
 
      находящегося на общем дисковом томе, на личный дисковый том
 
      с файловой структурой,  можно  также  использовать  команду
 
      COPY. Однако перед копированием файлов  необходимо  устано-
 
      вить (закрепить, проинициализировать и смонтировать) диско-
 
      вое устройство, (см. разд. 3). Предположим для примера, что
 
      дисковое устройство DMA5: закреплено за процессом пользова-
 
      теля, и что дисковый том проинициализирован  и  смонтирован
 
      на этом устройстве. Предположим также, что имеется каталог,
 
      названный PRIVATE, который уже создан на этом  томе.  Тогда
 
      скопировать все файлы, содержащиеся в каталоге, установлен-
 


                                - 115 -
 
                           00152-01 97 11
 
 
      ном по умолчанию, в каталог PRIVATE можно с помощью  коман-
 
      ды:
 
      $ COPY *.* DMA5:[PRIVATE]
 
           Команду COPY можно также использовать для  копирования
 
      файлов с дискового тома на том магнитной  ленты.  Процедура
 
      копирования подобна процедуре копирования с диска на  диск.
 
      Следует заметить, что магнитные ленты являются устройствами
 
      последовательного доступа и не имеют каталогов. Точно также
 
      перед копированием необходимо установить устройство магнит-
 
      ной ленты (закрепить, проинициализировать и  смонтировать),
 
      после чего выдать команду:
 
      $ COPY *.* MSA2:
 
           В результате выполнения этой команды последние  версии
 
      всех файлов из дискового каталога, установленного по  умол-
 
      чанию, копируются на том магнитной  ленты  MSA2:.  Имена  и
 
      типы файлов, номера версий выходных файлов  устанавливаются
 
      по умолчанию теми же, что и у входных файлов (следует знать
 
      ограничения, существующие при использовании номеров  версий
 
      для магнитных лент - п. 5.2.2).
 
           Если выдается команда COPY с квалификатором /LOG, сис-
 
      тема будет выдавать на текущее системное устройство  вывода
 
      сообщение после копирования  каждого  файла.  Для  проверки
 
      успешности копирования используется команда DIRECTORY. Нап-
 
      ример, следующая команда перечислит имена и типы всех  фай-
 
      лов, находящихся на томе магнитной ленты:
 
      $ DIRECTORY MSA2:
 


                                - 116 -
 
                           00152-01 97 11
 
 
           5.2.2. Копирование файлов с томов магнитной ленты
 
 
           По умолчанию для файлов на томах магнитной ленты  при-
 
      меняется формат со стандартными  метками.  Система  МОС  ВП
 
      поддерживает последовательные,  относительные  и  индексные
 
      файлы на дисках, и только последовательные файлы могут быть
 
      скопированы на ленточные тома со стандартными метками. Воз-
 
      можными форматами записей являются записи переменной  длины
 
      (D) и записи фиксированной длины (F).
 
           Несмотря на то что МОС ВП поддерживает записи  потоком
 
      и записи VFC, она кодирует эти записи в  формат  переменной
 
      длины на томах со стандартными метками.  Системы,  отличные
 
      от МОС ВП, не отличают записей потоком от записей VFC;  они
 
      интерпретируют оба типа как записи переменной длины. Следо-
 
      вательно, ни записи потоком ни записи  VFC  не  могут  быть
 
      созданы на томах, которые будут использоваться  для  обмена
 
      информацией с другими операционными системами.
 
           Когда копируются файлы с диска на тома со стандартными
 
      метками, не обеспечивается сохранность следующих элементов:
 
           - спецификаций каталогов;
 
           - защиты индивидуальных файлов;
 
           - кода идентификации пользователя (UIC);
 
           - времени создания (но дата сохраняется);
 
           - даты и время изменений и дублирования.
 
           Полный набор символов "A"  поддерживается  только  для
 
      стандартно размеченных томов магнитных лент, но не для дис-
 
      ковых томов. Поэтому при копировании файлов  с  именами  по
 
      стандарту с ленты на  диск  нужно  для  спецификации  имени
 
      выходного файла указывать имя, как принято в МОС ВП.
 
           Если не указывается имя выходного файла, процесс поль-
 


                                - 117 -
 
                           00152-01 97 11
 
 
      зователя получит сообщение об ошибке:
 
      RMS-F-FNM, ERROR IN FILE NAME
 
           Это сообщение показывает, что стандартное имя файла не
 
      является правильным.
 
           Для магнитных лент поддерживается  полный  набор  имен
 
      файлов со стандартной структурой. Можно скопировать  диско-
 
      вый файл со следующим именем на  том  магнитной  ленты,  не
 
      модифицируя имени:
 
      THIS_IS$A_м32VOS_LONG_FILE.LONG_EXT
 
           Примеры иллюстрируют  способы  копирования  файлов  на
 
      тома и с томов магнитной ленты.
 
           Пример 1.
 
      $COPY/LOG MSA1:"%&*?!SKI! """ SEASON.DAT
 
      %COPY-S-COPIED, MSA1:[]"%&*?!SKI! """.;1
 
      COPIED TO WRKD:[MANUAL]SEASON.DAT;1 (120 RECORDS)
 
           Поскольку был указан квалификатор /LOG, МОС ВП возвра-
 
      щает сообщение, подтверждающее, что файл был скопирован как
 
      указано, и информирует о том, сколько записей было скопиро-
 
      вано. Файл со стандартным  именем  %*?!SKI!#"  (#  означает
 
      пробел) копируется в файл  SEASON.DAT  на  диск  с  именем,
 
      установленным по умолчанию, и в каталог WRKD:[MANUAL] (тоже
 
      установленный по умолчанию). Файл не мог бы быть скопирован
 
      на диск, если бы не было указано новое имя. Мос вп  обеспе-
 
      чивает для сегментов спецификации файла,  которые  не  были
 
      указаны, значения, применяемые по умолчанию.
 
           Пример 2.
 
      $ COPY/LOG FORTAP.DAT MSA1:"%&*?!SKI! "" "
 
      %COPY-S-COPIED, WRKD:[MANUAL]FORTAP.DAT;1
 
      COPIED TO MSA1:[]"%&*?!SKI! """.;0 (120 RECORDS)
 
           В этой команде в качестве спецификации выходного файла


                                - 118 -
 
                           00152-01 97 11
 
 
      было указано имя файла со  стандартными  метками.  Заметим,
 
      что  МОС  ВП  удаляет  хвостовый  пробел  в   имени   файла
 
      %&J*?!SKI!##"# (где # означает пробел).
 
           Пример 3.
 
      $ COPY/LOG м32VоS_LONG$FILE_NAME.LONG_EXT MSA1:
 
      %COPY-S-COPIED, WRKD.[MANUAL]M32VOS_LONG$FILE_NAME_EXT;1
 
      COPIED TO MSA1:M32VOS_LONG$FILE_NAME.LONG_EXT;1(80 RECORDS)
 
           В этом примере МОС ВП  будет  копировать  длинное  имя
 
      файла с длинным расширением на том MSA1: с  тем  же  именем
 
      файла и типом, который он имел на дисковом томе.
 
           Пример 4.
 
      $ COPY %%.JOU;* MSA1:*.*
 
      %COPY-S-COPIED, WRKD:[MANUAL]C6.JOU;1 COPIED TO MSA1:
 
           []C6.JOU;1 (4 RECORDS)
 
           В этом примере все файлы с двух символьными именами  и
 
      типом файла JOU будут копироваться на том MSA1: с  теми  же
 
      самыми именами и типами, которые существовали  на  дисковом
 
      томе. Номера версий сохраняются.
 
           Пример 5.
 
      $ COPY MSA0:*.* *
 
      %COPY-S-COPIED, MSA0:[]TASTETEST.DAT;1
 
      COPIED TO WRKD:[FOOD]TASTETEST.DAT;1 (249 RECORDS)
 
      %COPY-S-COPIED, MSA0:[]CUKES.DAT;1 COPIED TO WRKD:[FOOD]
 
           CUKES.DAT;1 (148 RECORDS)
 
      %COPY-S-NEWFILES, 2 FILES CREATED
 
           В этом примере ни один файл на томе не имеет стандарт-
 
      ного имени. Поэтому оба файла скопированы на дисковый том.
 


                                - 119 -
 
                           00152-01 97 11
 
 
           Пример 6.
 
      $ COPY MSA1:*.* [SOURCE]
 
      %COPY-S-COPIED, MSA1:[]TAPETEST.DAT;1
 
      COPIED TO WRKD:[SOURCE]TAPETEST.DAT;1 (101 RECORDS)
 
      %COPY-E-OPENOUT, ERROR OPENING
 
                       WRKD:[SOURCE]"%&*()!SKI! """.;1 AS OUTPUT
 
      -RMS-F-FNM, ERROR IN FILE NAME
 
      %COPY-W-NOTCOPIED, MSA1:[]"%&*()!SKI! """.;1 NOT COPIED
 
      %COPY-E-OPENOUT, ERROR OPENING
 
                       WRKD:[SOURCE]"SANFRAN%%%""".;1 AS OUTPUT
 
      -RMS-F-FNM, ERROR IN FILE NAME
 
      %COPY-W-NOTCOPIED, MSA1:[]"SANFRAN%%%""".;1 NOT COPIED
 
      %COPY-S-COPIED, MSA1:[]M32VOS_LONG$FILE_NAME.LONG_EXT;1
 
      COPIED TO WRKD$:[SOURCE]M32VOS_LONG$FILE_NAME.LONG_EXT;1
 
      (80 RECORDS)
 
      %COPY-S-COPIED, MSA1:[]C6.JOU;1 COPIED TO
 
                               WRKD:[SOURCE]C6.JOU;1 (4 RECORDS)
 
      %COPY-S-NEWFILES, 2 FILES CREATED
 
           Команда  COPY  указывает,  что  все  файлы  на   томе,
 
      смонтированыE на устройстве MSA1:, должны быть  скопированы
 
      на  текущий  установленный  по  умолчанию  диск  и  каталог
 
      WRKD:[SOURCE]. Однако  файлы  со  стандартными  именами  не
 
      копируются; МОС ВП возвращает процессу сообщение об ошибке.
 
 
 
           5.2.3. Копирование  файлов  на  тома  и  с  томов,  не
 
      имеющих файловой структуры
 
 
           МОС ВП поддерживает обмен файлами между томами с  фай-
 
      ловой структурой и томами  без  файловой  структуры.  Можно
 
      использовать команду COPY для пересылки файлов:
 


                                - 120 -
 
                           00152-01 97 11
 
 
           - с томов, содержащих файловую структуру, на тома,  не
 
      имеющие файловой структуры;
 
           - с томов без файловой структуры на  тома  с  файловой
 
      структурой.
 
 
 
           5.2.3.1. Копирование  файлов  на  тома  без   файловой
 
      структуры
 
 
           Рассмотрим процедуру копирования файлов с тома, содер-
 
      жащего файловую структуру,  на  том,  не  имеющий  файловой
 
      структуры ("чужой").
 
           Процедура копирует три файла с тома, содержащего стан-
 
      дартные метки, на "чужой" том:
 
           1) монтирование томов, требуемых в операции  копирова-
 
      ния:
 
      $MOUNT MSA1: FRESKI
 
      %MOUNT-I-MOUNTED, FRESKI MOUNTED ON _MSA1:
 
      $MOUNT/FOREIGN MSA0:
 
      %MOUNT-I-MOUNTED, MOUNTED ON _MSA0:
 
           2) задание командной строки  COPY,  включающей  полные
 
      спецификации имен устройств и файлов во входной  специфика-
 
      ции и только имя устройства в выходной спецификации.  Имена
 
      файлов указываются во входной спецификации потому, что том,
 
      с которого будут  копироваться  файлы,  является  томом  со
 
      стандартными метками и с файловой  структурой.  Однако  для
 
      выходной спецификации указывается  только  имя  устройства,
 
      потому  что  том,  на  который  будут  копироваться  файлы,
 
      является "чужим" и не содержит файловой структуры:
 
      $ COPY/LOG MSA1:PROG1.EXE, PROG2.EXE, PROG3.EXE MSA0:
 
      %COPY-S-COPIED, MSA1:[]PROG1.EXE;1 COPIED TO MSA0:
 


                                - 121 -
 
                           00152-01 97 11
 
 
      (92 RECORDS)
 
      %COPY-S-COPIED, MSA1:[]PROG2.EXE;6 COPIED TO MSA0:
 
      (70 RECORDS)
 
      %COPY-S-COPIED, MSA1:[]PROG3.EXE;2 COPIED TO MSA0:
 
      (77 RECORDS)
 
      %COPY-S-NEWFILES, 3 FILES CREATED  .
 
           Поскольку для файлов, копируемых с тома магнитной лен-
 
      ты со стандартными  метками,  не  указано  номеров  версий,
 
      номерами версий файлов, скопированных на "чужой" том, будут
 
      версии указанных файлов, которые MSAACP первыми находит  на
 
      томе со стандартными метками.
 
           При использовании квалификатора /LOG система  информи-
 
      рует, какие файлы копируются, и подсчитывает число скопиро-
 
      ванных записей и число созданных файлов.
 
           При копировании файлов, с помощью рассмотренной проце-
 
      дуры структура выходной магнитной ленты является  несблоки-
 
      рованной, не содержащей файловой структуры.  Каждая  запись
 
      файла становится физической  записью  на  магнитной  ленте.
 
      Каждая граница файла указывается на магнитной ленте одиноч-
 
      ным ленточным маркером. Два последовательных ленточных мар-
 
      кера указывают конец тома. Никаких меток, имен  файлов  или
 
      атрибутов не представлено.
 
 
 
           5.2.3.2. Копирование файлов  с  томов,  не  содержащих
 
      файловой структуры
 
 
           Рассмотрим процедуру копирования  сегментов  данных  с
 
      томов без файловой структуры (или "чужих" томов) на тома  с
 
      файловой структурой и со стандартными метками.
 
           Необходимо выполнять команду COPY для каждого сегмента
 


                                - 122 -
 
                           00152-01 97 11
 
 
      данных, который копируется с "чужого"  или  не  содержащего
 
      файловой структуры тома на том с файловой структурой:
 
           1) монтирование томов:
 
      $ MOUNT/NOLABEL MSA1: " " COLD:
 
      %MOUNT-I-MOUNTED, MOUNTED ON _MSA1:
 
      $ MOUNT MSA0: FEVER SEASON:
 
      %MOUNT-I-MOUNTED, FEVER MOUNTED ON _MSA0:
 
           2)  задание  команды  COPY  для  каждого  сегмента  на
 
      "чужом" томе, которые будут копироваться в файлы на  том  с
 
      файловой структурой. Поскольку том, на  который  копируются
 
      сегменты данных, имеет  файловую  структуру,  необходимо  в
 
      выходной спецификации файла указывать имя файла:
 
      $ COPY/LOG GOLD: SEASON:FILE1.DAT
 
      %COPY-S-COPIED, MSA1: COPIED TO SEASON:FILE1.DAT;1
 
      (92 RECORDS)
 
      $ COPY/LOG COLD: SEASON:FILE2.DAT
 
      %COPY-S-COPIED, MSA1: COPIED TO SEASON:FILE2.DAT;1
 
      (62 RECORDS)
 
      $ COPY/LOG COLD: SEASON:FILE3.DAT
 
      %COPY-S-COPIED, MSA1: COPIED TO SEASON:FILE3.DAT;1
 
      (23 RECORDS)
 
      $ COPY/LOG COLD: SEASON FILE4.DAT
 
      %COPY-S-COPIED, MSA1: COPIED TO SEASON:FILE4.DAT;1
 
      (48 RECORDS)
 
      $ COPY/LOG COLD: SEASON:FILES.DAT
 
      %COPY-S-COPIED, MSA1: COPIED TO SEASON:FILE5.DAT;1
 
      (37 RECORDS)
 
      $ COPY/LOG COLD: SEASON FILE6.DAT
 
      %COPY-S-COPIED, MSA1: COPIED TO SEASON:FILE6.DAT;1
 
      (10 RECORDS)


                                - 123 -
 
                           00152-01 97 11
 
 
           Так как в команде COPY использован квалификатор  /LOG,
 
      МОС ВП информирует о том, что указанные файлы были скопиро-
 
      ваны на соответствующее устройство,  и  подсчитывает  число
 
      переданных записей.
 
 
 
           5.3. Использование обслуживающих программ СУД-32
 
 
           Данный подраздел описывает использование обслуживающей
 
      СУД-32  программы  копирования  и   преобразования   файлов
 
      (CONVERT) для пересылки информации на тома,  не  содержащие
 
      файловой структуры, или "чужие". Рассматривается применение
 
      обслуживающей   программы    анализа    файлов    МОС    ВП
 
      (ANALYZE/RMS_FILE) совместно с CONVERT.
 
           Возможны случаи, когда нельзя переслать информацию  на
 
      том бесфайловой структуры или "чужой" том, используя коман-
 
      ду COPY. Например, файлы, содержащие записи короче 14  бай-
 
      тов, не могут быть  скопированы  на  "чужой"  том  командой
 
      COPY. Однако они могут быть пересланы с  помощью  программы
 
      CONVERT.
 
           Программа CONVERT позволяет "растягивать записи и уве-
 
      личивать их размер" для того, чтобы сделать их  подходящими
 
      для "чужого" тома.  Использование  обслуживающей  программы
 
      преобразования файлов иллюстрируется процедурой:
 
           1) монтирование обоих томов. При монтировании "чужого"
 
      тома  следует   указывать   квалификаторы   /RECORDSIZE   и
 
      /BLOCKSIZE  дополнительно  к   одному   из   квалификаторов
 
      /NOLABEL или /FOREIGN:
 
      % MOUNT/FOREIGN/RECORDSIZE=80/BLOCKSIZE=2400 MSA1:
 
      % MOUNT-I-MOUNTED, MOUNTED ON MSA1:
 
      $ MOUNT MSA0: LATER TODAY
 


                                - 124 -
 
                           00152-01 97 11
 
 
      % MOUNT-I-MOUNTED, LATER MOUNTED ON _MSA0:
 
      МОС ВП информирует о том, что "чужой"  том  монтируется  на
 
      устройстве MSA1:, а планируемый для копирования том  монти-
 
      руется на MSA0:. /RECORDSIZE и  /BLOCKSIZE  указывают,  что
 
      лента будет  записываться  80-байтовыми  записями,  которые
 
      блокируются в блоки по 2400 байтов;
 
           2) проверка размера максимальной записи внутри  файла.
 
      Для этого используется обслуживающая программа анализа фай-
 
      лов:
 
      $ ANALYZE/RMS_FILE/STATISTICS TODAY:TICKET.DAT
 
      RMS FILE STATISTICS                 14-JUN-1986 21:33:20.07
 
      TODAY:[]TICKET.DAT;3
 
      FILE HEADER
 
              FILE SPEC: TODAY:[]TICKET.DAT;3
 
              FILE ID: (1,1,1)
 
              OWNER UIC: [012,141]
 
              PROTECTION: SYSTEM: RWED, OWNER: RWED, GROUP: RWED,
 
                          WORLD: RWED
 
              CREATION DATE:   5-APR-1986 00:00:00.00
 
              REVISION DATE:  17-NOV-1858 00:00:00.00, NUMBER: 0
 
              EXPIRATION DATE: NONE SPECIFIED
 
              BACKUP DATE:     NONE POSTED
 
              CONTIGUITY OPTIONS:  NONE
 
              PERFORMANCE OPTIONS: NONE
 
              RELIABILITY OPTIONS: NONE
 
      RMS FILE ATTRIBUTES
 
              FILE ORGаNIZATION: SEQUENTIAL
 
              RECORD FORMAT: VARIABLE
 
              RECORD ATTRIBUTES:   CARRIAGE-RETURN
 
              МAXIМUM RECORD SIZE: 0


                                - 125 -
 
                           00152-01 97 11
 
 
              LONGEST RECORD: 77
 
              BLOCKS ALLOCATED: 0, DEFAULT EXTEND SIZE: 0
 
              END-OF-FILE VBN: 1, OFFSET: %X'0000'
 
      THE ANALYSIS UNCOVERED NO ERRORS.
 
      ANALYZE/RMS_FILE/STATISTICS TODAY:TICKET.DAT
 
           3) увеличeние размера записей короче 14 байтов до ука-
 
      занного в команде MOUNT и  проверка,  что  заданный  размер
 
      записи достаточен:
 
      $ CONVERT/PAD/FDL = SYS$INPUT
 
      $_INPUT: TODAY:TICKET.DAT
 
      $_OUTPUT: MSA1:
 
      RECORD
 
      SIZE 80
 
      FORMAT FIX 15 EXIT
 
      $
 
           Данная командная строка CONVERT с параметрами входа  и
 
      выхода растягивает записи и увеличивает их размер при копи-
 
      ровании с тома со стандартными метками, смонтированного  на
 
      MSA0: , на "чужой" том, смонтированный  на  MSA1:.  Команда
 
      CONVERT с квалификаторами может растягивать короткие записи
 
      до соответствующего размера, указанного в команде MOUNT  на
 
      первом шаге. После ввода командной строки CONVERT подсказы-
 
      вает о необходимости ввода входных и выходных параметров. В
 
      ответ на запрос  $_INPUT:  необходимо  ввести  спецификацию
 
      файла, содержащего записи, которые были слишком коротки.  В
 
      ответ на запрос $_OUTPUT: необходимо указать  только  физи-
 
      ческое или логическое имя устройства, на котором  находится
 
      "чужой" том. Нажатие CTRL/Z завершает описание файла и ини-
 
      циирует выполнение CONVERT. Для проверки выполнения копиро-
 
      вания файла на "чужой" том можно перемотать "чужой" том  на


                                - 126 -
 
                           00152-01 97 11
 
 
      начало и распечатать;
 
           4) для перемотки "чужого"  тома  используется  команда
 
      SET MAGTAPE/REWIND
 
      $ SET MAGTAPE/REWIND MSA1:
 
      $
 
           5) для проверки содержимого файла выполняется  команда
 
      TYPE:
 
      $ TYPE MSA1:
 
      THIS IS A TEST FILE.
 
      SOME RECORDS CONTAIN LESS THAN 14 BYTES.
 
      THIS FILE WAS COPIED TO A FOREIGN VOLUME WITH THE
 
      RMS CONVERT UTILITY.
 
      ANY RECORD LESS THAN 80 BYTES WAS EXTENDED AND PADDED TO
 
      80 BYTES.
 
      Команда TYPE печатает первый сегмент данных на  томе.  Если
 
      копируется несколько файлов на "чужой" том с помощью  прог-
 
      раммы CONVERT, каждый файл копируется на том в виде отдель-
 
      ного сегмента данных. Следовательно,  необходимо  выполнять
 
      команду TYPE для каждого сегмента данных, скопированного на
 
      том, до тех пор, пока пользователь не  достигнет  сегмента,
 
      который хочет проверить.
 
           Этот пример  показывает  работу  с  томом  бесфайловой
 
      структуры с блокировкой информации. Каждая запись  входного
 
      файла помещается в 80-байтовую область 2400-байтового  бло-
 
      ка. Для разделения файлов, как обычно, используются ленточ-
 
      ные маркеры.
 


                                - 127 -
 
                           00152-01 97 11
 
 
           5.4. Использование системной  обслуживающей  программы
 
      обмена
 
 
           Система МОС ВП предоставляет обслуживающую  программу,
 
      называемую программой обмена (EXCHANGE), которая  позволяет
 
      считывать или записывать на дисковых и ленточных носителях,
 
      обмениваемых с другими операционными системами  СМ  ЭВМ.  С
 
      помощью этой программы можно манипулировать томами  большой
 
      емкости, записанными в форматах, отличных от  тех,  которые
 
      обычно приняты в МОС ВП. Можно также использовать  EXCHANGE
 
      для манипуляций с файлами, имеющими структуру, поддерживае-
 
      мую МОС ВП, которые являются образами "чужих" томов.
 
           Программу EXCHANGE можно использовать для обмена  фай-
 
      лами между "чужими"  томами  и  томами,  имеющими  файловую
 
      структуру МОС ВП. Можно  также  использовать  EXCHANGE  для
 
      выполнения инициализации и манипуляции с  "чужими"  томами.
 
      Обслуживающая программа  обмена  позволяет  преобразовывать
 
      формат файлов, если это необходимо, при обмене файлами меж-
 
      ду томами с различной структурой.
 
           Обслуживающую программу обмена можно использовать  для
 
      выполнения  пересылок  файлов  и  преобразования   форматов
 
      томов:
 
           1) магнитной ленты ДОС СМ;
 
           2) с файловой структурой МОС ВП;
 
           3) блочно-адресуемых системы РАФОС.
 
           Кроме пересылки файлов, обслуживающая программа обмена
 
      позволяет монтировать и размонтировать "чужие"  тома,  ини-
 
      циализировать "чужие тома", распечатывать  каталоги  томов,
 
      удалять файлы из  блочно-адресуемых  томов  и  обнаруживать
 
      дефектные блоки на томе [8].
 


                                - 128 -
 
                           00152-01 97 11
 
 
           5.4.1. Вызов  и  завершение  обслуживающей   программы
 
      обмена
 
 
           Для вызова программы EXCHANGE необходимо ввести коман-
 
      ду:
 
      $ EXCHANGE
 
      EXCHANGE>
 
           Запрос-подсказка EXCHANGE> говорит о том, что  пользо-
 
      ватель находится в обслуживающей программе обмена  и  может
 
      вводить   любую   из   командных   строк,    поддерживаемых
 
      EXCHANGE [8]. Например:
 
      EXCHANGE> DIRECTORY MSA0:/VOLUME=DOS11/FULL
 
           Эта команда распечатывает список всех файлов  на  маг-
 
      нитной ленте формата ДОС СМ,  смонтированной  на  MSA0:.  В
 
      этом случае перед распечаткой файлов магнитная лента  будет
 
      перемотана на начало.
 
           Пример иллюстрирует использование команды MOUNT внутри
 
      обслуживающей программы EXCHANGE:
 
      EXCHANGE> MOUNT DMA1:
 
      %EXCHANGE-I-WRITELOCK, VOLUME IS WRITE-LOCKED
 
      %EXCHANGE-I-MOUNTED, VOLUME DMA1: MOUNTED
 
           Данная команда монтирует "чужой" том,  загруженный  на
 
      устройстве  DMA1:,  делая  том  доступным  для  последующих
 
      команд. В этом случае программа  EXCHANGE  определяет,  что
 
      сам том является закрытым для записи, и высвечивает сообще-
 
      ние.
 
           Для выхода из EXCHANGE и возврата на уровень языка DCL
 
      можно использовать команду EXCHANGE EXIT или CTRL/Z.
 


                                - 129 -
 
                           00152-01 97 11
 
 
           5.4.2. Использование EXCHANGE на уровне  команд  языка
 
      DCL
 
 
           Дополнительно к использованию EXCHANGE в интерактивном
 
      режиме  как  обслуживающей  программы,  можно  использовать
 
      EXCHANGE как команду языка DCL. Для этого необходимо выдать
 
      командную строку языка DCL с командой EXCHANGE, например:
 
      $ EXCHANGE DIRECTORY DMA1:/VOLUME_FORMAT=RT11
 
           Данная команда языка DCL выводит каталог тома  формата
 
      рафос, смонтированного (/FOREIGN) на DMA1:. На уровне языка
 
      DCL EXCHANGE выполняет одиночную команду и  возвращается  к
 
      запросу языка DCL.
 
           На уровне  языка  DCL  можно  обработать  только  одну
 
      команду за один раз. Некоторые  задачи,  для  которых  была
 
      разработана  программа  EXCHANGE,  требуют,  однако,  более
 
      одной команды EXCHANGE. Например, использование виртуальных
 
      устройств требует нескольких команд EXCHANGE.
 
           Задачи, требующие более  одной  команды  EXCHANGE,  не
 
      могут быть выполнены на уровне языка DCL. Однако можно раз-
 
      работать командную процедуру, которая будет выполнять более
 
      одной команды EXCHANGE для некоторой задачи. В этом  случае
 
      можно выполнить командную процедуру, не уходя с уровня язы-
 
      ка DCL (п. 5.5.2).
 
 
 
           5.5. Использование командной процедуры для копирования
 
      файлов
 
 
           Можно  разработать  командные  процедуры,  позволяющие
 
      выполнять часто используемые операции пересылки  информации
 
      на магнитных носителях.
 
           В данный подраздел включены два примера командных про-


                                - 130 -
 
                           00152-01 97 11
 
 
      цедур. Первый пример разработан для демонстрации  пересылки
 
      информации с использованием возможностей команды COPY. Вто-
 
      рой пример - для пересылки информации использует  системную
 
      обслуживающую программу EXCHANGE.
 
 
 
           5.5.1. Использование    командной    процедуры     для
 
      копирования файлов
 
 
           Приводимый  образец  командной  процедуры  может  быть
 
      использован для различных целей. Эта процедура может  копи-
 
      ровать с диска на такой же диск, с диска  на  диск  другого
 
      типа и с магнитной ленты на магнитную ленту.
 
           Следует заметить, что  командная  процедура  монтирует
 
      том как том без файловой структуры.
 
           Данная командная процедура не будет работать для  мно-
 
      гокатушечных наборов томов  магнитной  ленты.  Пересылка  с
 
      магнитной ленты на магнитную  ленту  поддерживается  только
 
      для одиночных томов.
 
           Копирование магнитной ленты на магнитную ленту  выпол-
 
      няется с использованием символа обобщения (*).
 
           Пример 1. Командная процедура:
 
      $ VOL_PRIV = F$SETPRV("VOLPRO")
 
      $ TYPE SYS$INPUT
 
      $ ON CONTROL_Y THEN GOTO CLEANUP
 
      $ ON WARNING THEN GOTO CLEANUP
 
      $
 
      $ GET_SOURCE:
 
      $ WRITE SYS$OUTPUT "ENTER DRIVE HOLDING THE WRITE-LOCKED
 
        MASTER."
 
      $ INQUIRE SOURCE "[CS1$DMA0:, DDXX:, DMXX:, MSXX:,]"
 


                                - 131 -
 
                           00152-01 97 11
 
 
      $ IF SOURCE .EQS. "" THEN GOTO GET_SOURCE
 
      $ SOURCE = SOURCE --":"+":"
 
      $
 
      $ GET_TARGET:
 
      $ INQUIRE TARGET "ENTER DRIVE HOLDING THE WRITE-ENABLED
 
        TARGET."
 
      $ IF TARGET .EQS. "" THEN GOTO GET_TARGET
 
      $ TARGET = TARGET --":"+":"
 
      $ KIT_TYPE := 'F$EXTRACT(0,1,SOURCE)
 
      $ IF F$LOCATE("CS", SOURCE) .EQ. F$LENGTH(SOURCE) .AND. --
 
        F$LOCATE("CS",TARGET).EQ.F$LENGTH(TARGET) THEN GOTO
 
        PREPARE
 
      $
 
      $ ! *NOTE*---THIS SECTION CHECKS TO SEE IF THE CONSOLE
 
      $ !          IS CONFIGURED INTO THE SYSTEM.
 
      $ !          IF IT DOES NOT EXIST, SYSGEN WILL BE RUN TO
 
      $ !          CONFIGURE IT IN
 
      $
 
      $ CONNECT_CONSOLE:
 
      $ ! (NOTE* FOR 730 MEDIA COPYING CONSOLE MUST BE
 
      $    CONFIGURED)
 
      $ IF F$GETDVI ("CS1:","EXITS") THEN GOTO PREPARE
 
      $ SET NOON
 
      $ PROC_PRIV = F$SETPRV("CMKRNL,CMEXEC")
 
      $ RUN SYS$SYSTEM:SYSGEN
 
        CONNECT CONSOLE
 
      $ PROC_PRIV = F$SETPRV(PROC_PRIV)
 
      $ SET ON
 
      $
 
      $ PREPARE:


                                - 132 -
 
                           00152-01 97 11
 
 
      $ ALLOCATE 'SOURCE'
 
      $
 
      $ PREPARE:
 
      $ ALLOCATE 'SOURCE'
 
      $ INQUIRE START "READY SOURCE VOLUME ''SOURCE' FOR MOUNTING
 
        AND PRESS RETURN"
 
      $
 
      $ BEGIN:
 
      $ ALLOCATE 'TARGET'
 
      $ MOUNT/FOREIGN 'SOURCE'
 
      $ INQUIRE START "READY TARGET VOLUME ''TARGET' FOR
 
        INITIALIZATION AND PRESS RETURN"
 
      $ VOLUME_LBL = F$GETDVI (SOURCE, "VOLNAM")
 
      $ IF (VOLUME_LBL .EQS. "") THEN VOLUME_LBL := "CONSOLE"
 
      $ INIT 'TARGET' 'VOLUME_LBL'
 
      $ IF (KIT_TYPE .EQS. "M") THEN GOTO TAPE_COPY
 
      $ MOUNT/FOREIGN 'TARGET'
 
      $ BACKUP/PHYSICAL/VERIFY 'SOURCE' 'TARGET'
 
      $ GOTO COPY_DONE
 
      $
 
      $ TAPE_COPY:
 
      $ MOUNT/OVER:ID 'TARGET'
 
      $ COPY 'SOURCE'*.* 'TARGET'*/LOG
 
      $
                                                         6~
      $ COPY_DONE:
 
      $ DISMOUNT 'TARGET'
 
      $ DEALLOCATE 'TARGET'
 
      $ WRITE SYS$OUTPUT "COPY IS COMPLETE"
 
      $ DISMOUNT/NOUNLOAD 'SOURCE'
 
      $ INQUIRE ANSWER "DO YOU WANT TO MAKE ANOTHER COPY OF THE


                                - 133 -
 
                           00152-01 97 11
 
 
        SOURCE VOLUME?"
 
      $ IF .NOT. ANSWER THEN GOTO NEW_SOURCE
 
      $ WRITE SYS$OUTPUT "PLEASE PLACE VOLUME IN THE TARGET
 
        DEVICE ''TARGET'.""
 
      $ GOTO BEGIN
 
      $
 
      $ NEW_SOURCE:
 
      $ DEALLOCATE 'SOURCE'
 
      $ INQUIRE ANSWER "DO YOU WANT TO MAKE A COPY USING A NEW
 
        SOURCE DEVICE?"
 
      $ IF ANSWER THEN GOTO GET_SOURCE
 
      $ GOTO FINISH
 
      $
 
      $ CLEANUP:
 
      $ IF F$GETDVI (TARGET,"MNT") THEN DISMOUNT 'TARGET'
 
      $ IF F$GETDVI (SOURCE,"MNT") THEN DISMOUNT 'SOURCE'
 
      $
 
      $ FINISH:
 
      $ VOL_PRIV = F$SETPRV(VOL_PRIV)
 
      $ IF F$GETDVI(TARGET,"ALL") THEN DEALLOCATE 'TARGET'
 
      $ IF F$DETDVI(SOURCE,"ALL") THEN DEALLOCATE 'SOURCE'
 
      $ EXIT
 
 
 
           5.5.2. Использование командной  процедуры  для  обмена
 
      информацией
 
 
           Приводимая здесь процедура сделана для обмена  файлами
 
      между консольным устройством и текущим каталогом на диск.
 
           Предполагается, что файлы, предназначенные для копиро-
 
      вания, являются стандартного формата.
 


                                - 134 -
 
                           00152-01 97 11
 
 
           Пример 2.
 
      $ WRITE SYS$OUTPUT "COMMAND FILE TO COPY FILES TO/FROM
 
        THE SYSTEM"
 
      $ WRITE SYS$OUTPUT "CONSOLE STORAGE MEDIUM AND THE
 
        CURRENT DIRECTORY"
 
      $ WRITE SYS$OUTPUT " "
 
      $ INQUIRE MOUNT "IS SYSTEM CONSOLE STORAGE MEDIUM MOUNTED
 
        (Y/N)/?"
 
      $ IF MOUNT THEN GOTO MOUNTED
 
      $ WRITE SYS$OUTPUT "PLEASE PLACE THE SYSTEM CONSOLE MEDIUM
 
        IN THE CONSOLE DRIVE"
 
      $ INQUIRE MOUNT "AND TYPE <RET> WHEN READY"
 
      $ RUN SYS$SYSTEM:SYSGEN
 
      CONNECT CONSOLE
 
      $ MOUNT/SYSTEM/FOREIGN CSA1: "М32 CONSOLE"
 
      $
 
      $ MOUNTED:
 
      $ INQUIRE DIR "COPY FROM CONSOLE MEDIUM (Y/N)?"
 
      $ IF DIR THEN GOTO FROMCON
 
      $ INQUIRE SOURCE "ENTER FILE NAME (S)"
 
      $ IF SOURCE .EQS. "" THEN GOTO EXIT
 
      $ EXCHANGE COPY/LOG 'SOURCE' CSA1:
 
      $ GOTO EXIT
 
      $
 
      $ FROMCON:
 
      $ INQUIRE SOURCE "ENTER CONSOLE FILE NAME"
 
      $ IF SOURCE .EQS. "" THEN GOTO EXIT
 
      $ EXCHANGE COPY/LOG CSA1: 'SOURCE' *
 
      $ EXIT:
 
      $ DISMOUNT CSA1:


                                - 135 -
 
                           00152-01 97 11
 
 
      $ MOUNT/SYSTEM/FOREIGN/NOWRITE CSA1: "М32 CONSOLE"
 
 
 
 
                   6. Обеспечение сохранности томов
 
 
 
           Данный раздел обсуждает методы обеспечения сохранности
 
      данных на магнитных лентах и дисках.  В  частности,  описы-
 
      вается использование системной обслуживающей программы сох-
 
      ранения и восстановления файлов (BACKUP) [9].
 
           Термин "сохранность" по отношению к  дискам  и  лентам
 
      означает соблюдение условия  неприкосновенности  данных  на
 
      томах. Поддержка сохранности  -  это  обеспечение  гарантии
 
      того, что данные, содержащиеся на этих томах,  защищены  от
 
      случайного и умышленного разрушения.
 
           Хорошим стилем является использование нескольких мето-
 
      дов обеспечения гарантии сохранности файлов и томов. Напри-
 
      мер, можно установить необходимый тип защиты личных  файлов
 
      и томов и можно установить код  идентификации  пользователя
 
      (UIC). Устанавливая защиту или используя коды UIC, пользо-
 
      ватель  управляет  распределением  привилегий, данных  дру-
 
      гим  пользователям,  использующим   его   файлы  или   тома
 
      (см. разд. 2) [3].
 
           Одним из наиболее эффективных способов, которым  можно
 
      предотвратить потерю данных, является создание функциональ-
 
      но-эквивалентных копий оригиналов - т.е. дублирование  фай-
 
      лов и томов. Это  можно  сделать,  используя  обслуживающую
 
      программу  BACKUP.  Если  регулярно  используется   BACKUP,
 
      уменьшаются шансы потерять данные, которые в противном слу-
 
      чае могут быть разрушены при повреждениях томов или файлов.
 
      Сдублированные копии необходимо поместить в защищенное мес-
 


                                - 136 -
 
                           00152-01 97 11
 
 
      то так, чтобы при разрушении всего остального  еще  имелась
 
      неиспорченная версия оригинала.
 
           Защита - это не единственная цель дублирования файлов.
 
      Если пользователь ограничен в дисковом пространстве, то  на
 
      практике ему часто приходится  хранить  редко  используемые
 
      дисковые файлы на магнитной ленте до тех пор, пока  они  не
 
      понадобятся.
 
 
 
           6.1. Использование  программы  BACKUP  для   поддержки
 
      сохранности данных
 
 
           Чтобы  иметь  наиболее  свежие  дубликаты,  необходимо
 
      выполнять копирование  регулярно.  Обслуживающая  программа
 
      BACKUP разработана для  помощи  в  управлении  созданием  и
 
      восстановлением копий. В зависимости от характера данных на
 
      томах и частоты изменений этих данных можно  выбрать  более
 
      или менее частый порядок  дублирования  файлов.  Это  можно
 
      реализовать посредством  различных  квалификаторов  команды
 
      BACKUP.
 
           Операция, которую пользователь  выбирает,  зависит  от
 
      характера его работы или чувствительности данных в его фай-
 
      лах. Имеется также возможность выполнения операций выбороч-
 
      ного дублирования с помощью  одной  команды  языка  DCL.  С
 
      помощью операций  выборочного  дублирования  можно  выбрать
 
      только файлы, удовлетворяющие некоторому  критерию,  такому
 
      как номер версии, тип файла, код UIC, дата и  время  созда-
 
      ния, дата хранения или дата  модификации.  Можно  сохранить
 
      большое количество времени и пространства памяти,  выполняя
 
      регулярно выборочное копирование вместо того, чтобы  дубли-
 
      ровать  полные  тома,  на  которых  модифицируются   только
 


                                - 137 -
 
                           00152-01 97 11
 
 
      небольшой процент файлов.
 
           Операции дублирования, которые выбирают только те фай-
 
      лы, которые были модифицированы с момента последней  опера-
 
      ции дублирования, называются инкрементальными дублирования-
 
      ми. В обычной рабочей обстановке администратор системы  или
 
      оператор может выполнять инкрементальные дублирования  либо
 
      ежедневно, либо два или три раза в неделю, а полные  дубли-
 
      рования (полного тома) - в конце каждой недели [10].
 
           Можно использовать BACKUP для выполнения пяти основных
 
      типов операций:
 
           1) COPY (копирование);
 
           2) SAVE (сохранение);
 
           3) RESTORE (восстановление);
 
           4) COMPARE (сравнение);
 
           5) LIST (вывод списка).
 
           Полезно понять, как эти операции  отличаются  одна  от
 
      другой с целью определения индивидуальных требований к дуб-
 
      лированию  (п.  6.2.2).  Имеется  возможность   совместного
 
      использования некоторых из этих операций в одной  командной
 
      строке. Например, можно использовать операцию печати списка
 
      совместно с операцией копирования для получения списка фай-
 
      лов по мере их копирования.
 
 
 
           6.2. Выбор операций дублирования
 
 
           При выполнении  дублирования  необходимо  принять  два
 
      основных решения для  определения  операции,  которую  надо
 
      осуществить:
 
           1) что необходимо дублировать;
 
           2) как необходимо выполнить операцию.
 


                                - 138 -
 
                           00152-01 97 11
 
 
           6.2.1. Решение вопроса, что необходимо дублировать
 
 
           Имеются следующие режимы операции дублирования:
 
           1) файл за файлом. В  этом  режиме  можно  дублировать
 
      индивидуальные файлы или каталоги;
 
           2) отображением. Операция отображения  позволяет  соз-
 
      дать функционально-эквивалентную  копию  полного  тома  или
 
      набора томов. Дублирование  отображением  требует  большего
 
      времени, чем физическое дублирование, но имеет  два  важных
 
      достоинства , которые недоступны при физическом  дублирова-
 
      нии:
 
           - при  выполнении  операции  копирования  отображением
 
      (или восстановлении набора  сохранения  образа)  происходит
 
      реорганизация и уплотнение файлов и свободного  пространст-
 
      ва;
 
           - можно выборочно восстанавливать индивидуальные  фай-
 
      лы;
 
           3) физическое. Подобно операции  отображения  операция
 
      физического дублирования копирует, сохраняет,  восстанавли-
 
      вает или сравнивает  полный  том.  Однако  вместо  создания
 
      функционально-эквивалентной копии она создает точный дубль,
 
      игнорируя файловую структуру  диска  и  копируя  логические
 
      блоки. Физическое дублирование в большинстве случаев значи-
 
      тельно быстрее, чем дублирование отображением;
 
           4) выборочное. BACKUP  может  обрабатывать  файлы  или
 
      тома выборочно, в соответствии с критерием, таким как номер
 
      версии, тип файла, UIC, дата и время создания, дата  хране-
 
      ния или дата модификации;
 
           5) инкрементальное. Инкрементальное дублирование  сох-
 
      раняет только те файлы, которые были созданы или  модифици-
 


                                - 139 -
 
                           00152-01 97 11
 
 
      рованы с момента последнего  дублирования.  Инкрементальное
 
      дублирование обычно выполняется администратором системы или
 
      оператором на регулярной основе [10].
 
 
 
           6.2.2. Решение вопроса, как дублировать
 
 
           Как только пользователь решил дублировать, ему необхо-
 
      димо определить, как программа BACKUP должна  это  сделать,
 
      т.е. какого типа операция дублирования более всего подойдет
 
      для его нужд. Существуют пять типов операций:
 
           1) копирование;
 
           2) сохранение;
 
           3) восстановление;
 
           4) вывод списка;
 
           5) сравнение.
 
           Пользователь определяет тип  операции,  которую  хочет
 
      выполнить, при вводе командной строки языка  DCL,  указывая
 
      спецификаторы ввода и вывода, а также квалификаторы.
 
 
 
           6.2.2.1. Копирование файлов
 
 
           Операция копирования позволяет  создать  эквивалентную
 
      копию файлов, каталогов, структуры каталогов и дисков.
 
           Необходимо  сознавать,  что  операция  копирования   с
 
      помощью программы BACKUP производит результаты, отличные от
 
      получаемых с помощью команды COPY языка  DCL.  Комада  COPY
 
      создает "новые копии" файлов, изменяя  даты  модификации  и
 
      назначая защиту в соответствии со значениями, установленны-
 
      ми по умолчанию. Операция копирования через BACKUP  создает
 
      копии, которые идентичны оригиналам во всех аспектах, вклю-
 
      чая даты и защиту.


                                - 140 -
 
                           00152-01 97 11
 
 
           6.2.2.2. Сохранение файлов
 
 
           Операция сохранения через  BACKUP  помещает  выбранный
 
      дисковый файл или каталог в набор сохранения на  диске  или
 
      магнитной ленте. Набор сохранения  -  это  файл,  созданный
 
      обслуживающей программой BACKUP  и  записанный  в  формате,
 
      который может интерпретировать только BACKUP.
 
 
 
           6.2.2.3. Восстановление файлов
 
 
           Операция восстановления через BACKUP позволяет восста-
 
      навливать данные, находящиеся в наборе сохранения. Операция
 
      восстановления переводит данные в их первоначальный  формат
 
      и отправляет файл на заданное устройство вывода.
 
 
 
           6.2.2.4. Сравнение файлов
 
 
           После выполнения операции копирования, сохранения  или
 
      восстановления файлов через BACKUP можно проверить  целост-
 
      ность файла (файлов) или тома (томов), который был  обрабо-
 
      тан. Одним из способов выполнения этого является  использо-
 
      вание операции сравнения через BACKUP, которая может  срав-
 
      нивать набор сохранения с файлами на  диске  или  файлы  на
 
      диске с другими дисковыми файлами. Например, после операции
 
      сохранения можно сравнить созданный набор сохранения с ори-
 
      гинальными файлами.
 
           Примечание.  Операцию  сравнения  можно   использовать
 
      только для файлов или томов,  которые  были  скопированы  с
 
      помощью BACKUP. Сравнение наборов файлов, которые  не  были
 
      созданы посредством BACKUP, может повлечь ошибки, хотя  эти
 
      файлы могут быть идентичными.
 


                                - 141 -
 
                           00152-01 97 11
 
 
           6.2.2.5. Получение списка файлов
 
 
           Если необходимо получить информацию о содержимом набо-
 
      ра сохранения, можно использовать  операцию  вывода  списка
 
      файлов. Поскольку наборы сохранения записываются в формате,
 
      который  может  быть  интерпретирован   только   программой
 
      BACKUP, операция вывода списка является единственным спосо-
 
      бом, которым можно определить содержимое набора  сохранения
 
      без предварительного его восстановления. Информация,  кото-
 
      рая может быть послана либо на терминал пользователя,  либо
 
      в указанный выходной файл, включает  дату  и  время  вывода
 
      набора сохранения, имя создателя и имена содержащихся в нем
 
      файлов.
 
           Кроме того, можно выполнить операцию вывода  списка  с
 
      любой другой операцией BACKUP.
 
 
 
           6.2.3. Вызов BACKUP
 
 
           Все команды BACKUP выдаются с уровня командного  языка
 
      DCL (исключая системно-независимую программу  BACKUP).  Для
 
      большинства операций команда BACKUP языка DCL требует вход-
 
      ного и выходного спецификаторов.
 
           Как правило,  BACKUP  предполагает,  что  входной  или
 
      выходной  спецификатор,  указывающий  на  диск  с  файловой
 
      структурой, является стандартной  спецификацией  файла  мос
 
      вп; квалификатор /SAVE_SET используется для задания  набора
 
      сохранения на  томе  с  файловой  структурой.  Входной  или
 
      выходной  спецификатор,  указывающий  на  магнитную  ленту,
 
      является всегда  набором  сохранения.  Нельзя  использовать
 
      спецификаторы наборов сохранения для входного  и  выходного
 
      спецификаторов одновременно. Спецификаторы наборов сохране-


                                - 142 -
 
                           00152-01 97 11
 
 
      ния могут включать имена узлов, а спецификации файлов -  не
 
      могут.
 
           Входной и  выходной  спецификаторы,  представленные  в
 
      строке команды, указывают тип операции дублирования,  кото-
 
      рую нужно выполнить. Кроме того, могут использоваться  раз-
 
      личные квалификаторы.
 
 
 
           6.3. Использование носителя BACKUP
 
 
           Число параметров, которые включаются в команду BACKUP,
 
      зависит от типа выполняемой операции. Для операции  копиро-
 
      вания, сохранения, восстановления или сравнения  необходимы
 
      входной и выходной спецификаторы;  операция  вывода  списка
 
      требует только входного  спецификатора.  Эти  спецификаторы
 
      указывают на носитель (диск или магнитную ленту), на  кото-
 
      ром выполняется операция  дублирования.  Если  входной  или
 
      выходной спецификатор указывает на диск, данные могут  быть
 
      представлены либо в формате стандартной файловой  структуры
 
      диска, либо в формате набора сохранения; если  спецификатор
 
      указывает на магнитную  ленту  или  последовательный  диск,
 
      данные должны быть в формате набора сохранения.
 
           Спецификатор набора сохранения - это спецификация фай-
 
      ла, которая определяет файл, содержащий  данные  в  формате
 
      BACKUP; для спецификаторов наборов сохранения тип файла  по
 
      умолчанию не установлен.
 
           Можно записать наборы  сохранения  на  следующие  типы
 
      носителей:
 
           1) магнитную ленту;
 
           2) диск с файловой структурой;
 
           3) последовательный диск;
 


                                - 143 -
 
                           00152-01 97 11
 
 
           4) удаленный диск с файловой структурой.
 
 
 
           6.3.1. Использование BACKUP с магнитной лентой
 
 
           Магнитная лента - наиболее часто используемый носитель
 
      для хранения дубликатов данных. Она дешевле дисковых  носи-
 
      телей, а ее компактный размер делает ее практичной для хра-
 
      нения информации.
 
           Для сохранения или восстановления данных можно исполь-
 
      зовать более одного лентопротяжного устройства  одновремен-
 
      но. Это позволяет продолжать обработку на одной ленте, в то
 
      время как другая перематывается. Если на входной  магнитной
 
      ленте нет имени набора сохранения, будет считываться первый
 
      обнаруженный набор сохранения.
 
           Перед записью наборов сохранения  на  магнитную  ленту
 
      необходимо помнить о монтировании тома магнитной ленты  как
 
      "чужого"  устройства.  Это  делается  с   помощью   команды
 
      MOUNT/FOREIGN языка DCL [4]. Тома магнитной ленты, как пра-
 
      вило, не требуют инициализации;  однако,  если  планируется
 
      использовать BACKUP с новой  магнитной  лентой,  необходимо
 
      сначала  проинициализировать  магнитную  ленту,  включив  в
 
      команду BACKUP квалификатор /INITIALIZE. В качестве альтер-
 
      нативы можно  использовать  команду  INITIALIZE  языка  DCL
 
      перед монтированием магнитной ленты (п. 6.4.2).
 
           Имена   наборов   сохранения   на   магнитной    ленте
 
      файла. Например:
 
           27SEP1987SAV.WORK
 
           Имя файла набора сохранения содержит 12 символов; сле-
 
      довательно, тип файла ограничен четырьмя символами.
 


                                - 144 -
 
                           00152-01 97 11
 
 
           6.3.2. Использование  BACKUP  для  дисковых  томов   с
 
      файловой структурой
 
 
           Можно записывать наборы сохранения на диски с файловой
 
      структурой, используя стандартный формат файловой  структу-
 
      ры. Если пользователь записывает на дисковый  набор  томов,
 
      все тома в наборе должны быть смонтированы (см. разд. 3).
 
           Пользователь указывает BACKUP, что  он  хочет  создать
 
      набор  сохранения,  используя  квалификатор   /SAVE_SET   в
 
      командной строке языка DCL. Если он не пользуется  квалифи-
 
      катором /SAVE_SET, BACKUP предполагает, что необходимо соз-
 
      дать на выходном томе копию, а не набор сохранения  выбран-
 
      ных файлов.
 
 
 
           6.3.3. Использование   BACKUP   для   последовательных
 
      дисковых томов
 
 
           Последовательные дисковые наборы сохранения  позволяют
 
      рассматривать дисковый том с файловой структурой точно  так
 
      же, как том магнитной  ленты.  Преимуществом  использования
 
      последовательных дисковых наборов сохранения  является  то,
 
      что можно  многотомные  наборы  сохранения  монтировать  по
 
      одному тому за один раз. Это иногда полезно в системах,  не
 
      содержащих лент, но включающих большой фиксированный диск и
 
      маленький с'емный. Когда один последовательный диск  стано-
 
      вится полным, BACKUP запрашивает другой диск, как это могло
 
      бы быть в случае наборов сохранения на магнитной ленте.
 
           Для записи последовательных дисковых наборов  сохране-
 
      ния необходимо смонтировать выходной диск, используя коман-
 
      ду MOUNT/FOREIGN языка DCL. Несмотря на то что диск  монти-
 
      руется с квалификатором /FOREIGN, BACKUP управляет  диском,


                                - 145 -
 
                           00152-01 97 11
 
 
      используя файловую структуру. При выполнении операции  сох-
 
      ранения на диске необходимо использовать выходной  квалифи-
 
      катор /SAVE_SET. Не нужно указывать для  набора  сохранения
 
      имя каталога: наборы сохранения помещаются на диске в глав-
 
      ный каталог файлов (MFD). Для чтения или записи в многотом-
 
      ный последовательный дисковый набор  сохранения  необходимо
 
      иметь привилегию пользователя  LOG_IO.  Можно  использовать
 
      более одного дискового устройства одновременно для сохране-
 
      ния или восстановления  данных;  это  позволяет  продолжать
 
      обработку на одном диске, в то время как  другой  использо-
 
      ванный диск останавливается.
 
           BACKUP не инициализирует первый последовательный  дис-
 
      ковый том, так как по умолчанию применяется  /NOINITIALIZE.
 
      Однако тома продолжения всегда  инициализируются.  Если  не
 
      используется квалификатор /INITIALIZE, для  выходного  тома
 
      имеют место следующие ограничения:
 
           1) диск должен иметь файловую структуру уровня 2;
 
           2) диск не должен быть частью обычного набора томов  с
 
      файловой структурой;
 
           3) кластерный множитель диска должен быть единицей;
 
           4) свободное пространство на диске не может быть фраг-
 
      ментировано на более чем 100 непрерывных экстентов;
 
           5) индексный файл не может быть расширенным;
 
           6) главный каталог файлов (MFD) не может  быть  расши-
 
      ренным.
 
           Тома, которые должны быть использованы для  последова-
 
      тельных дисковых наборов сохранения, обязаны быть либо све-
 
      жепроинициализированы, либо содержать только наборы  сохра-
 
      нения. Тома, которые используются  для  основной  обработки
 
      файлов, обычно являются непригодными в качестве  последова-


                                - 146 -
 
                           00152-01 97 11
 
 
      тельных дисков. Последовательный дисковый формат создан для
 
      обработки относительно больших наборов сохранения на  отно-
 
      сительно маленьких дисках. В ситуации, когда на диск должно
 
      быть помещено большое число маленьких  наборов  сохранения,
 
      необходимо использовать наборы сохранения дисков с файловой
 
      структурой (подпункт 6.4.3.1).
 
           Можно читать последовательный дисковый набор  сохране-
 
      ния одним из способов:
 
           1)  как  последовательный  дисковый  набор  сохранения
 
      (смонтированный с квалификатором /FOREIGN);
 
           2) как обычный набор сохранения с файловой структурой.
 
           Если набор сохранения  читается  как  последовательный
 
      дисковый набор сохранения, в каждый  момент  времени  может
 
      быть смонтирован один том (так же,  как  это  возможно  при
 
      создании последовательного  дискового  набора  сохранения).
 
      Каталогом, применяемым по умолчанию, для спецификации файла
 
      набора сохранения является каталог [000000] (MFD на диске).
 
      Если набор сохранения читается как нормальный набор  сохра-
 
      нения с файловой структурой,  все  тома  набора  сохранения
 
      должны быть смонтированы (так же как это  должно  быть  для
 
      любого набора  томов  с  файловой  структурой).  Каталогом,
 
      установленным по умолчанию, является каталог, установленный
 
      по умолчанию для процесса пользователя, поэтому,  для  того
 
      чтобы  прочитать  набор  сохранения,  надо  указать   ката-
 
      лог [000000].
 
           Файлы наборов сохранения, записанные на диск с помощью
 
      файловой системы, могут быть также считаны в  последоватеь-
 
      ном режиме. Необходимо указать каталог, из которого  должен
 
      быть считан набор сохранения.  Этот  режим  полезен,  когда
 
      используется системно-независимая  программа  BACKUP.  Если


                                - 147 -
 
                           00152-01 97 11
 
 
      набор сохранения был записан на набор томов с дисковой фай-
 
      ловой структурой, необходимо применять следующие правила:
 
           - все тома набора должны быть  смонтированы.  Монтиро-
 
      вать тома следует с квалификатором /FOREIGN. (если  исполь-
 
      зуется  внесистемная  программа  BACKUP,  тома  монтируются
 
      неявно);
 
           - когда указываются  тома  во  входном  спецификаторе,
 
      следует использовать имена устройств в том  же  порядке,  в
 
      котором находятся относительные номера томов,  смонтирован-
 
      ных на этих устройствах. Например, тома с именами USER01  и
 
      USER02 в наборе томов монтируются на два устройства, DMA3 и
 
      DMA5. Спецификатор набора сохранения для набора томов  дол-
 
      жен быть следующим:
 
           DMA3:[каталог]имя_набора_сохранения.EXT;V,DMA5:
 
 
 
           6.3.4. Удаленные   наборы   сохранения   с    файловой
 
      структурой
 
 
           Можно создавать или осуществлять доступ к набору  сох-
 
      ранения, находящемуся в удаленном узле, указывая имя узла в
 
      спецификаторе набора сохранения.  Набор  сохранения  должен
 
      быть расположен на общедоступном диске удаленного  узла.  В
 
      зависимости от установленной защиты тома и файла на удален-
 
      ном узле может  потребоваться  указание  строки  управления
 
      доступом [2].
 


                                - 148 -
 
                           00152-01 97 11
 
 
           6.3.5. Чередующееся дублирование
 
 
           Если для дублирования используются диски, можно приме-
 
      нить "набор с чередующимся дублированием", в  котором  нес-
 
      колько дисков или наборы  дисков  задействованы  в  системе
 
      попеременно. В конце каждого периода использования  (напри-
 
      мер, один раз в месяц) текущий том или  набор  томов  копи-
 
      руется на наиболее старый набор дисков,  текущий  том  изы-
 
      мается из работы, а новая  копия  переводится  в  состояние
 
      "ONLINE" для использования в следующем периоде.
 
           Наборы с чередующимся дублированием  имеют  свои  дос-
 
      тоинства и недостатки.
 
           Главными достоинствами являются:
 
           1) всегда известно, что дубликат (том или набор томов,
 
      который только что снят) - хороший, так как он был в  рабо-
 
      те. Сохранность новой копии будет подтверждена ее последую-
 
      щим использованием; любые обнаруженные дефекты  могут  быть
 
      исправлены применением дубликата;
 
           2) свободное пространство на новом томе уплотняется, и
 
      все файлы на томе делаются непрерывными или почти непрерыв-
 
      ными, что приводит к улучшению производительности  файловой
 
      системы.
 
           К  недостаткам  набора  с  чередующимся  дублированием
 
      относятся следующие:
 
           1) наборы с чередующимся дублированием  более  уязвимы
 
      по отношению к ошибкам диска, чем наборы, созданные снятием
 
      копии и продолжением работы  с  оригиналом.  Ошибка  диска,
 
      произшедшая в процессе копирования, приводит  к  разрушению
 
      данных на новом томе; ошибки диска в каталогах или заголов-
 
      ках файлов приведут к потере одного или более файлов. Таким
 


                                - 149 -
 
                           00152-01 97 11
 
 
      образом, следует  производить  операцию  копирования  очень
 
      осторожно и в ручном режиме решать возникающие проблемы;
 
           2) невозможно  выполнять  операцию  копирования,  пока
 
      пользователи корректируют файлы. Том или набор томов должен
 
      быть закрыт для записи, чтобы копия соответствовала  ориги-
 
      налу. Это ограничение  справедливо  только  для  наборов  с
 
      чередующимся дублированием; оно отсутствует, когда делается
 
      дубликат, который будет снят (с устройства) для  восстанов-
 
      ления данных в будущем. (даже несмотря на  то  что  индиви-
 
      дуальные файлы могут быть не закрыты, они  будут  захвачены
 
      последующим инкрементальным дублированием [10].);
 
           3) файлы, созданные с указанием явного местоположения,
 
      теряют свое местоположение при копировании тома. Это  озна-
 
      чает, что не следует использовать  чередующееся  дублирова-
 
      ние, если первичное содержимое тома является набором файлов
 
      базы данных, которые были тщательно размещены для оптимиза-
 
      ции производительности;
 
           4) наборы с чередующимся дублированием являются  слиш-
 
      ком дорогими для использования на фиксированных  дисках  (в
 
      противоположнось с'емным дискам).
 
 
 
           6.4. Выполнение задач дублирования
 
 
           6.4.1. Копирование дисковых файлов, каталогов и  томов
 
      с помощью BACKUP
 
 
           При использовании  программы  BACKUP  для  копирования
 
      дисковых файлов, каталогов или томов она  создает  функцио-
 
      нальный эквивалент оригинала  (оригиналов).  Сдублированные
 
      копии являются идентичными оригиналам, включая даты измене-
 
      ний и защиту.


                                - 150 -
 
                           00152-01 97 11
 
 
           Примечание. Копирование с помощью BACKUP не  поддержи-
 
      вается для сетевых операций.
 
 
 
           6.4.1.1. Копирование отдельных файлов
 
 
           Сделать дубликат  отдельного  файла  можно  с  помощью
 
      команды:
 
      BACKUP спецификация_файла спецификация_файла
 
           Например, чтобы сделать дубликат  файла  EDTINI.EDT  и
 
      поместить его в каталог [HARRIS.MISC], нужно ввети  следую-
 
      щую команду:
 
      $ BACKUP EDTINI.EDT [HARRIS.MISC]
 
           Эта команда помещает  дубликат  EDTINI.EDT  в  каталог
 
      [HARRIS.MISC]. Если указывается только имя каталога, BACKUP
 
      предполагает для имени файла обобщенное значение  и  сохра-
 
      няет оригинал.
 
           Можно переименовать  файл  при  копировании,  указывая
 
      новое имя файла, как это делается с помощью  команды  COPY,
 
      например:
 
      $ BACKUP/LOG EDTINI.EDT [HARRIS.MISC]OLDEDTINI.EDT
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[HARRIS.MISC]OLDED-
 
      TINI.EDT;4
 
           Данная команда переименовывает EDTINI.EDT, копируя его
 
      в файл с именем OLDEDTINI.EDT в каталог [HARRIS.MISC]. Ква-
 
      лификатор /LOG указывает  BACKUP  высветить  информацию  об
 
      обработанном файле.  Следует  заметить,  что  скопированный
 
      файл сохраняет номер версии оригинала. Если в  спецификацию
 
      входного файла номер версии не включается, BACKUP обрабаты-
 
      вает все существующие версии  файла  и  сохраняет  все  эти
 
      номера версий для соответствующих выходных файлов. В данном
 


                                - 151 -
 
                           00152-01 97 11
 
 
      случае существует только один  файл  EDTINI.EDT  с  номером
 
      версии 4.
 
 
 
           6.4.1.2. Копирование нескольких файлов
 
 
           Создать дубликат нескольких файлов можно одной  комад-
 
      ной строкой. Выходная спецификация должна быть именем ката-
 
      лога или символом обобщения; она не может быть списком имен
 
      файлов или именем отдельного файла. Например:
 
      $ BACKUP/LOG ELEMENT.DAT, MATERIAL.DAT, SUBSTANCE.DAT-
 
      [.STUFF]
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[HARRIS.STUFF]-
 
      ELEMENT.DAT;1
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[HARRIS.STUFF]-
 
      MATERIAL.DAT;1
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[HARRIS.STUFF]-
 
      SUBSTANCE.DAT;1
 
           Все файлы, указанные во входном  спецификаторе,  копи-
 
      руются в заданый каталог. Если выходная спецификация  будет
 
      ориентирована на переименование файлов (т.е. указаны  новые
 
      имена копируемых файлов), операция прекратиться,  а  BACKUP
 
      выдаст сообщение об ошибке. Операция будет также неудачной,
 
      если выходной спецификатор содержит попытку об'единить спи-
 
      сок входных файлов в один файл.
 


                                - 152 -
 
                           00152-01 97 11
 
 
           6.4.1.3. Копирование полного дерева каталогов
 
 
           Можно скопировать полное дерево  каталогов,  используя
 
      следующий формат BACKUP:
 
      BACKUP [каталог...] [каталог...]
 
           Если указанный выходной каталог не существует,  BACKUP
 
      создает его. Все файлы и подкаталоги, представленные много-
 
      точиями, копируются  из  входной  спецификации  каталога  в
 
      выходную спецификацию. Например:
 
      $ BACKUP/LOG [HOT.STUFF...] [OLD.STUFF...]
 
      %BACKUP-S-CREDIR, CREATED DIRECTORY DISK$DEFAULT:[OLD.STUFF
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[OLD.STUFF]-
 
      ELEMENT.LIS;1
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[OLD.STUFF]-
 
      ESSENCE.LIS;1
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[OLD.STUFF]-
 
      MATERIAL.LIS;1
 
      %BACKUP-S-CREDIR, CREATED DIRECTORY DISK$DEFAULT:[OLD.-
 
      STUFF.MORESTUFF]
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[OLD.STUFF.-
 
      MORESTUFF]MATTER.DAT;1
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[OLD.STUFF.-
 
      MORESTUFF]NOMATTER.DAT;1
 
      %BACKUP-S-CREDIR, CREATED DIRECTORY DISK$DEFAULT:[OLD.-
 
      STUFF.MORESTUFF.WHAT]
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[OLD.STUFF.-
 
      MORESTUFF.WHAT]GOO.YUK;2
 
      %BACKUP-S-CREDIR, CREATED DIRECTORY DISK$DEFAULT:[OLD.-
 
      STUFF.NOMORESTUFF]
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[OLD.STUFF.-
 


                                - 153 -
 
                           00152-01 97 11
 
 
      NOMORESTUFF]NUTHIN.LIS;1
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[OLD.STUFF.-
 
      NOMORESTUFF]ZILCH.DAT;1
 
      %BACKUP-S-CREDIR, CREATED DIRECTORY DISK$DEFAULT:[OLD.-
 
      STUFF.NOMORESTUFF.REALLY]
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[OLD.STUFF.-
 
      NOMORESTUFF.REALLY]ZIP.ZAP;1
 
      %BACKUP-S-CREATED, CREATED DISK$DEFAULT:[OLD.STUFF]-
 
      SUBSTANGE.LIS;1
 
           BACKUP создает каталог [OLD.STUFF] и копирует все фай-
 
      лы и подкаталоги, содержащиеся в [HOT.STUFF], в новый ката-
 
      лог. Она создает также подкаталоги и копирует в  них  соот-
 
      ветствующие файлы.
 
 
 
           6.4.1.4. Копирование дискового тома на диск
 
 
           Если необходимо скопировать  полный  дисковый  том  на
 
      другой дисковый том, можно использовать квалификатор /IMAGE
 
      и указать только имя устройства, как например:
 
      $ MOUNT/FOREIGN DMA2:
 
      $ BACKUP/IMAGE DMA1: DMA2:
 
           Квалификатор  /FOREIGN  необходим,  когда  монтируется
 
      выходной том для операции копирования отображением;  BACKUP
 
      инициализирует том, используя исходные данные  из  входного
 
      тома. Все файлы на DMA1: копируются в DMA2:, создавая функ-
 
      ционально эквивалентную копию полного тома.
 
           Чтобы  использовать  квалификатор  /IMAGE,  необходимо
 
      иметь доступ для записи к индексным файлам и файлам битово-
 
      го отображения  (BITMAP.SYS);  напротив,  входной  носитель
 
      может быть закрыт для записи.
 


                                - 154 -
 
                           00152-01 97 11
 
 
           6.5. Копирование набора дисковых томов на диск
 
 
           Для копирования дискового набора томов во входном спе-
 
      цификаторе используется имя набора томов. Выходной специфи-
 
      катор должен включать спецификацию устройства  для  каждого
 
      тома в наборе. Пример демонстрирует создание копии  отобра-
 
      женнием двухтомного дискового набора:
 
      $ MOUNT/FOREIGN DMA1:,DMA2:
 
      $ BACKUP/IMAGE WORK$: DMA1:,DMA2:
 
 
 
           6.5.1. Сохранение дисковых файлов, каталогов  и  томов
 
      на магнитной ленте
 
 
           Чтобы использовать магнитную ленту в какой-либо опера-
 
      ции с BACKUP, необходимо смонтировать эту ленту с  квалифи-
 
      катором /FOREIGN [4]. Инициализировать тома магнитной ленты
 
      не требуется. Однако, если планируется использование BACKUP
 
      с новой магнитной ленты, необходимо сначала  проинициализи-
 
      ровать ее, включив в команду BACKUP  квалификатор  /REWIND.
 
      Можно также использовать команду INITIALIZE перед  монтиро-
 
      ванием магнитной ленты.
 
           Если доступно более одного устройства магнитной ленты,
 
      можно использовать несколько томов магнитной ленты для сох-
 
      ранения или восстановления  данных.  Если  имеется  большое
 
      число дисковых томов, которые необходимо  обработать,  воз-
 
      можность использования  нескольких  томов  магнитной  ленты
 
      является очень полезной для сокращения времени,  требуемого
 
      для выполнения операции сохранения или восстановления.  Как
 
      только том магнитной ленты  заполнен,  BACKUP  перематывает
 
      его и одновременно производит запись  на  том  продолжения,
 
      находящийся на другом устройстве. Затем можно  смонтировать


                                - 155 -
 
                           00152-01 97 11
 
 
      на первом устройстве новую магнитную ленту; в  тот  момент,
 
      когда второй том будет заполнен, BACKUP сразу же возобновит
 
      обработку на первом устройстве. Если  желательно  смонтиро-
 
      вать несколько ленточных томов, можно решить  задачу  одной
 
      командой, разделяя имена устройств запятой. Например:
 
      $ MOUNT/FOREIGN MSA0:,MSA1:,MSA2:
 
 
 
           6.5.1.1. Сохранение дисковых файлов на магнитной ленте
 
 
           Можно создать  на  магнитной  ленте  набор  сохранения
 
      одного дискового файла, введя на запрос BACKUP команду:
 
      $ BACKUP имя_файла спецификатор_набора_сохранения
 
           Спецификатор набора сохранения  может  включать  любой
 
      тип файла; обычно для идентификации файла как набора сохра-
 
      нения используется расширение .BCK. Следует заметить, одна-
 
      ко, что имена наборов сохранения на магнитной ленте ограни-
 
      чены 17 символами (п.  6.3.1).  Например,  можно  сохранить
 
      дисковый файл CONTRACTS.DAT следующим образом:
 
      $ BACKUP KONTRACTS.DAT MSA0:CONTRACTS.BCK
 
           Для сохранения списка файлов имена  файлов  необходимо
 
      разделять запятыми, например:
 
      $ BACKUP PAPERFILE,DMA0:[METALFILE]NAILFILE.DAT-
 
      MSA1:MYFILES.BCK
 
           По умолчанию BACKUP сохраняет все версии каждого  фай-
 
      ла. Если необходимо сохранить только самые последние версии
 
      файлов в каталоге, используется следующий формат:
 
      BACKUP [каталог]*.*; спецификатор_набора_сохранения
 
      например:
 
      $ BACKUP [AUDIOFILE...]*.*; MSA0:MYPHILE.BCK
 
           BACKUP переписывает  последнюю  версию  каждого  файла
 


                                - 156 -
 
                           00152-01 97 11
 
 
      каталога [AUDIOFILE], а также последнюю версию каждого фай-
 
      ла его подкаталогов.
 
 
 
           6.5.1.2. Сохранение каталогов на магнитной ленте
 
 
           Можно  создать  набор  сохранения  текущего  каталога,
 
      установленного по умолчанию, и всего его содержимого,  нап-
 
      ример:
 
      $ BACKUP * MSA0:OCT12SAVE.BCK
 
           Все   файлы  в  текущем   каталоге, установленном   по
 
      умолчанию, будут  помещены  в  набор  сохранения  с  именем
 
      OCT12SAVE.BCK  (напоминание о том, что операция сохранения
 
      была  сделана  12 октября). Этот  пример  предполагает, что
 
      лента  смонтирована  на  устройстве  MSA0:.
 
 
 
           6.5.1.3. Сохранение  дерева  каталогов  на   магнитной
 
      ленте
 
 
           Для создания набора сохранения, содержащего все  файлы
 
      и подкаталоги каталога с именем, например, [ACCOUNTS], сле-
 
      дует ввести команду:
 
      $ BACKUP [ACCOUNTS...] MSA0:OCT12ACC.BCK
 
           Все  файлы  каталога   [ACCOUNTS],   все   подкаталоги
 
      [ACCOUNTS] и все файлы в этих подкаталогах будут включены в
 
      набор сохранения OCT12ACC.BCK [2].
 


                                - 157 -
 
                           00152-01 97 11
 
 
           6.5.1.4. Сохранение дисковых томов на магнитной ленте
 
 
           Если необходимо сохранить полный дисковый  том,  можно
 
      использовать квалификатор /IMAGE в следующем формате:
 
      BACKUP/IMAGE DDCU: спецификатор_набора_сохранения
 
           Операция сохранения отображением сохраняет все  файлы,
 
      находящиеся на входном  томе;  следовательно,  квалификатор
 
      /IMAGE несовместим с другими квалификаторами, предназначен-
 
      ными для выборки файлов. Если файл содержится более  чем  в
 
      одном каталоге на входном томе, файл переписывается  только
 
      раз.
 
           Можно использовать квалификатор /IMAGE для  сохранения
 
      дискового тома в многотомном наборе  сохранения,  состоящем
 
      более чем из одного ленточного устройства. Например:
 
      $ BACKUP/IMAGE DMA0: MSA1:20JUL.BCK,MSA2:/REWIND
 
           Имя  набора сохранения  указывается  только  в  первом
 
      элементе   списка   выходных   спецификаторов. Предполагая,
 
      что  имеется  смонтированными   два  тома  магнитной  ленты
 
      (см. п. 6.4.2), BACKUP  автоматически  продолжает  операцию
 
      сохранения на MSA2: после того, как MSA1: заполнится.
 
 
 
           6.5.1.5. Сохранение  дисковых   томов   без   файловой
 
      структуры на магнитной ленте
 
 
           Если дисковый том, который  желательно  сохранить,  не
 
      содержит  файловой  структуры,  используется   квалификатор
 
      /PHYSICAL:
 
      $ BACKUP/PHYSICAL DMA0: MSA2:PHYSBACK.BCK
 
           Входной том DMA0: переписывается на  ленту  на  уровне
 
      логических   блоков.   Результирующий   набор    сохранения
 
      PHYSBACK.BCK может быть восстановлен только операцией физи-


                                - 158 -
 
                           00152-01 97 11
 
 
      ческого  восстановления  (с  использованием   квалификатора
 
      /PHYSICAL).
 
 
 
           6.5.2. Сохранение дисковых файлов, каталогов  и  томов
 
      на диске
 
 
           Можно записывать наборы сохранения на диск в одном  из
 
      двух форматов:  стандартном  дисковом  формате  с  файловой
 
      структурой или последовательно. В любом  случае  необходимо
 
      использовать  квалификатор  выходного   набора   сохранения
 
      /SAVE_SET. Квалификатор /SAVE_SET  показывает  BACKUP,  что
 
      пользователь желает, чтобы  выходной  диск  содержал  набор
 
      сохранения, а не копию выбранных файлов.
 
           Формат команды для сохранения дискового файла на диске
 
      имеет вид:
 
      $ BACKUP спецификация_файла DDCU:имя_набора_сохр/SAVE_SET
 
           Однако процедура, которая применяется для монтирования
 
      выходного диска, зависит от того, записывается набор сохра-
 
      нения в стандартном формате  (с  файловой  структурой)  или
 
      последовательно.
 
 
 
           6.5.2.1. Запись наборов сохранения на дисковые тома  с
 
      файловой структурой
 
 
           Для  записи  наборов   сохранения  на  диск  с  файло-
 
      вой  структурой   необходимо  смонтировать  диск  следующим
 
      образом [4]:
 
      $ MOUNT DDCU метка_тома
 
           Например, использовать следующие команды для  монтиро-
 
      вания стандартного диска с файловой структурой на устройст-
 
      ве DMA2: и сохранения файла CONTRACTS.DAT в наборе сохране-


                                - 159 -
 
                           00152-01 97 11
 
 
      ния с именем CONTRACTS.BCK в каталоге [SAVE]:
 
      $ MOUNT DMA2: метка_тома
 
      $ BACKUP CONTRACTS.DAT DMA2:[SAVE]CONTRACTS.BCK/SAVE_SET
 
           Квалификатор /SAVE_SET необходим для записи  выходного
 
      файла в формате BACKUP. Без квалификатора /SAVE_SET  выход-
 
      ной файл будет копией оригинала.
 
 
 
           6.5.2.2. Запись наборов сохранения на последовательные
 
      дисковые тома
 
 
           В качестве альтернативы стандартной файловой структуры
 
      можно записывать наборы сохранения на диск последовательно,
 
      как они могли бы быть записаны на магнитную ленту.  Главным
 
      достоинством использования последовательных дисковых  набо-
 
      ров сохранения является возможность рассматривать  дисковый
 
      том как набор сохранения магнитной  ленты;  такая  гибкость
 
      позволяет  монтировать  многотомные  наборы  сохранения  по
 
      одному тому за один раз (подпункт 6.4.3.3).
 
           Для сброса данных в  последовательный  дисковый  набор
 
      сохранения необходимо, чтобы выходной спецификатор  включал
 
      имя дискового устройства, имя набора сохранения и  квалифи-
 
      катор /SAVE_SET; имя каталога включать не надо.
 
           Для записи последовательных дисковых наборов  сохране-
 
      ния ледует  смонтировать  выходной  диск  с  квалификатором
 
      /FOREIGN. Несмотря на то что том смонтирован  как  "чужой",
 
      BACKUP управляет диском, используя файловую структуру.
 
           Тома, которые будут использованы для  последовательных
 
      дисковых наборов сохранения, должны быть  либо  только  что
 
      проинициализированы, либо содержать только наборы  сохране-
 
      ния. Тома, которые  задействованы  при  основной  обработке
 


                                - 160 -
 
                           00152-01 97 11
 
 
      файлов, обычно непригодны для использования в качестве пос-
 
      ледовательных дисков. Можно проинициализировать том, указав
 
      с командой BACKUP квалификатор /INITIALIZE.  Например,  для
 
      монтирования и  инициализации  последовательного  диска  на
 
      устройстве DMA0: и сохранения файла CONTRACTS.DAT в  наборе
 
      сохранения с именем CONTRACTS.BCK можно использовать коман-
 
      ды:
 
      $ MOUNT/FOREIGN DMA0:
 
      $ BACKUP/LOG CONTRACTS.DAT DMA0:CONTRACTS.BCK/SAVE_SET-
 
      _$/INITIALIZE-/LABEL=SAVEWORK
 
      %BACKUP-S-COPIED, COPIED DMA2:[USER]CONTRACTS.DAT;1
 
           Команда MOUNT/FOREIGN указывает  BACKUP  записывать  в
 
      выходной том последовательно. Квалификатор /SAVE_SET  необ-
 
      ходим выходному спецификатору  команды  BACKUP  для  записи
 
      выходного файла в формате BACKUP. Квалификатор  /INITIALIZE
 
      разрушает любую структуру информации,  ранее  созданную  на
 
      диске, позволяет производить перезапись на том и  назначает
 
      метку тома SAVEWORK.
 
           При инициализации тома указанная метка  является  пос-
 
      тоянной; т.е. метка остается на томе до тех  пор,  пока  не
 
      произойдет одно из следующих событий [2],[9]:
 
           1) пользователь изменяет ее командой
 
      SET VOLUME/LABEL ;
 
           2) том  переинициализируется.
 


                                - 161 -
 
                           00152-01 97 11
 
 
           6.5.2.3. Запись многотомных последовательных  дисковых
 
      наборов сохранения
 
 
           Многотомный последовательный набор сохранения является
 
      полезным, если система не имеет устройства магнитной ленты,
 
      но включает большой фиксированный диск и маленький  сменный
 
      диск. При заполнении одного последовательного диска  BACKUP
 
      запрашивает установку другого диска так, как это происходит
 
      для наборов сохранения на магнитной ленте. Можно  использо-
 
      вать более одного  дискового  устройства  одновременно  для
 
      сохранения или восстановления данных; это позволяет продол-
 
      жать обработку на другом диске в то время, как первый  диск
 
      останавливается. Надо заметить, что для чтения  или  записи
 
      многотомных последовательных  дисковых  наборов  сохранения
 
      требуется привилегия пользователя LOG_IO.
 
           BACKUP обычно не инициализирует первый  последователь-
 
      ный  дисковый  том,  так   как   по   умолчанию   действует
 
      /NOINITIALIZE. Однако тома продолжения  всегда  инициализи-
 
      руются. Можно инициализировать и первый том  последователь-
 
      ного дискового  набора  сохранения,  указывая  квалификатор
 
      /INITIALIZE.
 
 
 
           6.5.3. Дублирование полных томов и наборов томов
 
 
           Если необходимо сдублировать полный дисковый  том  или
 
      набор  томов,  следует  использовать  квалификатор  /IMAGE.
 
      Выполнить дублирование отображением можно в операции  копи-
 
      рования (с диска на диск, п. 6.4.1) или в операции сохране-
 
      ния. При использовании квалификатора /IMAGE в операции сох-
 
      ранения BACKUP создает набор сохранения, содержащий данные,
 
      необходимые для переинициализации дискового  тома.  (Запись


                                - 162 -
 
                           00152-01 97 11
 
 
      атрибутов,  которая  содержит  эту  информацию,  называется
 
      сводной записью тома сохранения.)
 
           При  использовании  квалификатора  /IMAGE  в  операции
 
      копирования или восстановления выходной том переинициализи-
 
      руется;   восстановленный   том   является   функционально-
 
      эквивалентной копией исходного тома. Если выходной том  уже
 
      был инициализирован как том с  файловой  структурой,  можно
 
      использовать квалификатор /NOINITIALIZE для переинициализа-
 
      ции тома с помощью параметров инициализации тома, найденных
 
      на томе.
 
           Нельзя использовать  какие-либо  квалификаторы  выбора
 
      файлов с квалификатором /IMAGE. Все файлы на  диске  сохра-
 
      няются; это включает резервные  файлы  и  потерянные  файлы
 
      (файлы, которые не имеют входа в каталоге).
 
           Пример показывает операцию сохранения диска с файловой
 
      структурой на магнитную ленту:
 
      $ BACKUP/IMAGE DMA1: MSA0:1JUN.BCK
 
           Если в качестве носителя дубля используется  магнитная
 
      лента, может потребоваться смонтировать дополнительные лен-
 
      ты. Число магнитных лент зависит от размера диска,  который
 
      сохраняется, и количества использованного  пространства  на
 
      диске.
 
           Если для носителя дубля используется диск, можно  при-
 
      менять BACKUP для копирования файлов на новый диск или  для
 
      создания набора сохранения на новом диске.  Если  создается
 
      набор сохранения на новом диске, необходимо  создать  ката-
 
      лог, в который будет записываться набор сохранения,  а  так
 
      же использовать квалификатор  выходного  набора  сохранения
 
      /SAVE_SET. Каталог должен быть включен в спецификацию набо-
 
      ра сохранения или должен быть каталогом,  установленным  по


                                - 163 -
 
                           00152-01 97 11
 
 
      умолчанию.
 
           Например:
 
      $ SHOW DEFAULT
 
      DMA1:[SYSTEM]
 
      $ BACKUP/IMAGE DMA1: DM4:[BACKUPS]21JANDMA1.BCK/SAVE_SET
 
           Если производится дублирование полного тома  совместно
 
      с инкрементальными дублированиями, использующими квалифика-
 
      тор /RECORD, желательно указывать этот квалификатор [10].
 
           Можно дублировать полный набор томов, применяя  те  же
 
      процедуры, что и для дублирования  дискового  тома.  Просто
 
      указывается имя устройства, на котором смонтирован корневой
 
      том (том номер 1).
 
 
 
           6.5.3.1. Дублирование  набора   дисковых   томов   при
 
      ограниченном числе устройств
 
 
           Когда используется BACKUP для набора томов, необходимо
 
      смонтировать все тома набора. Следовательно, может оказать-
 
      ся невозможным скопировать большой  набор  томов  на  диск,
 
      если имеется ограниченное число дисковых  устройств.  Можно
 
      скопировать набор томов по  одному  тому  за  раз  командой
 
      BACKUP/IMAGE/VOLUME, применяя на единицу большее число уст-
 
      ройств, чем томов в наборе. Следует закрыть запись на набор
 
      томов в процессе всей процедуры для обеспечения  сохраннос-
 
      ти.
 
           Например:
 
      (подходящие предупреждающие сообщения)
 
           .
 
           .
 
           .
 


                                - 164 -
 
                           00152-01 97 11
 
 
      $ DISMOUNT/NOUNLOAD DMA0:
 
      $ MOUNT/SYSTEM/NOWRITE DMA0:,DMA1:,DMA2:,PUBLIC01,PUBLI-
 
      C02,PUBLIC03
 
      %MOUNT-I-MOUNTED, PUBLIC01 MOUNTED ON _DMA0:
 
      %MOUNT-I-MOUNTED, PUBLIC02 MOUNTED ON _DMA1:
 
      %MOUNT-I-MOUNTED, PUBLIC03 MOUNTED ON _DMA2:
 
      $ MOUNT/FOREIGN DMA3:
 
      %MOUNT-I-MOUNTED, SCRATCH01 MOUNTED ON _DMA3:
 
      $ BACKUP/IMAGE/VOLUME=1 DMA0: DMA3:
 
      $ DISMOUNT DMA3:
 
      $ MOUNT/FOREIGN DMA3:
 
      %MOUNT-I-MOUNTED, SCRATCH02 MOUNTED ON _DMA3:
 
      $ BACKUP/IMAGE/VOLUME=2 DMA0: DMA3:
 
      $ DISMOUNT DMA3:
 
      $ MOUNT/FOREIGN DMA3:
 
      %MOUNT-I-MOUNTED, SCRATCH03 MOUNTED ON _DMA3:
 
      $ BACKUP/IMAGE/VOLUME=3 DMA0: DMA3:
 
      $ DISMOUNT DMA3:
 
      $ DISMOUNT/NOUNLOAD DMA0:
 
      $ MOUNT/SYSTEM DMA0:,DMA1:,DMA3: RUBLIC01,PUBLIC02,PUBLIC03
 
      %MOUNT-I-MOUNTED, PUBLIC01 MOUNTED ON _DMA0:
 
      %MOUNT-I-MOUNTED, PUBLIC02 MOUNTED ON _DMA1:
 
      %MOUNT-I-MOUNTED, PUBLIC03 MOUNTED ON _DMA2:
 
           .
 
           .
 
           .
 
      (об'явленный общий диск снова доступен)
 
           Оператору необходимо  сдублировать  трехтомный  набор.
 
      Таким образом, требуется по крайней мере четыре устройства.
 
      Оператор предупреждает пользователей о том, что  устройства


                                - 165 -
 
                           00152-01 97 11
 
 
      DMA0:, DMA1: и DMA2: закрыты для записи с целью  дублирова-
 
      ния.  Далее  оператор  задает  команды  MOUNT   для   томов
 
      PUBLIC01, PUBLIC02 и PUBLIC03 на устройствах DMA0:, DMA1: и
 
      DMA2: соответственно с квалификатором /NOWRITE для  обеспе-
 
      чения закрытия доступа для записи.  Следует  заметить,  что
 
      PUBLIC01 - это корневой том. На устройстве DMA3: монтирует-
 
      ся произвольный том, который будет использоваться в качест-
 
      ве целевого.
 
           Когда том на DMA3: заполнится, он размонтируется, а на
 
      его место должен быть смонтирован новый  произвольный  том.
 
      Эта процедура повторяется до тех пор, пока не будет  скопи-
 
      рован третий  том.  Затем  последний  том,  находящийся  на
 
      DMA3:,  размонтируется.  Для  того  чтобы  снова  разрешить
 
      запись на набор томов, оператор размонтирует (но не разгру-
 
      жает) DMA0:, затем монтирует тома снова, опуская квалифика-
 
      тор /NOWRITE. На последнем шаге оператор об'являет  пользо-
 
      вателям, что набор томов снова доступен для записи.
 
           Примечание. Размонтирование общего набора томов, пере-
 
      монтирование с закрытием для записи и т.д. - это  действия,
 
      критичные по отношению к операциям, выполняемым над  томом.
 
      Не следует просто устанавливать защиту от записи на смонти-
 
      рованном томе; поступая таким образом, можно вызвать ошибки
 
      и/или "зависание" системы.
 
 
 
           6.5.4. Выполнение выборочного дублирования
 
 
           Может оказаться необходимым выполнить выборочные  дуб-
 
      лирования определенных групп файлов, требующих специального
 
      обращения. Как правило,  если  файлы  должны  дублироваться
 
      регулярно, следует создать командную процедуру,  содержащую
 


                                - 166 -
 
                           00152-01 97 11
 
 
      требуемые команды дублирования (подраздел 6.6) [1].
 
           Одним из способов выполнения выборочного  дублирования
 
      является использование символов обобщения. Например,  можно
 
      использовать символ обобщения "звездочка"  (*)  для  выбора
 
      файлов по таким критериям, как имя  файла,  тип  файла  или
 
      номер версии. Следующая команда выбирает  файлы  по  номеру
 
      версии и копирует их в каталог  [SAVE]  на  указанном  уст-
 
      ройстве СМ 5408:
 
      $ BACKUP/LOG *.*;3 DMA1:[SAVE]
 
      %BACKUP-S-CREATED, CREATED DMA1:[SAVE]SHARTS.DAT;3
 
      %BACKUP-S-CREATED, CREATED DMA1:[SAVE]FIGURES.DAT;3
 
      %BACKUP-S-CREATED, CREATED DMA1:[SAVE]LIST.DAT;3
 
      %BACKUP-S-CREATED, CREATED DMA1:[SAVE]TABLES.DAT;3
 
           Команды из следующего примера копируют файлы из  ката-
 
      лога и дерева каталогов на DMA0: во вновь созданные катало-
 
      ги на DMA1:. Все файлы в каталоге [GEORGE] и его подкатало-
 
      гах на исходном диске копируются в каталоги с теми же  име-
 
      нами  на  целевом  томе;  квалификатор  /OWNER_UIC=ORIGINAL
 
      обеспечивает гарантию того, что выходные файлы сохранят код
 
      UIC владельцев входных файлов. Все файлы с  именем  DUNGEON
 
      из каталога [SYSEXE] на входном диске копируются в  каталог
 
      [SYSEXE] на целевом томе.
 
           Пример.
 
      $ BACKUP DMA0:[GEоRGE...] DMA1:[*...]/OWNER_UIC=ORIGIMAL
 
      $BACKUP DMA0:[SYSEXE]DUNGEON.*;* DMA1:[SYSEXE]
 
           BACKUP содержит  квалификаторы,  позволяющие  выбирать
 
      файлы в соответствии с такими  критериями,  как  UIC,  дата
 
      создания, дата хранения и дата модификации. Например, можно
 
      выбрать файлы в соответствии с UIC, используя  квалификатор
 
      /OWNER_UIC:


                                - 167 -
 
                           00152-01 97 11
 
 
      $BACKUP/LOG [.MEM]/OWNER_UIC=[300,16] $1$DMA2:[USER]
 
      %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]ASSIGN.LIS;1
 
      %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]BBALL.DIS;19
 
      %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]BBLEAGUE.FISTATE-
 
      MENT;1
 
      %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]BRULES.LIS;1
 
      %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]GYM.MAI;1
 
      %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]INFO.DAT;2
 
      %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]MEMO.MAI;1
 
      %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]NEWS.MAI;1
 
      %BACKUP-S-CREATED, CREATED $1$DLA2:[USER]TEAM.LIS;19
 
           В данном примере обрабатываются все файлы, находящиеся
 
      в подкаталоге [.MEM] с UIC владельца, равным [300,16]. Сле-
 
      дует заметить, что при указании кода UIC скобки  обязатель-
 
      ны. Можно указывать UIC  текущего  процесса,  просто  вводя
 
      квалификатор /OWNER_UIC без кода.
 
           Если требуется выбрать входные файлы в соответствии  с
 
      их датой создания, можно использовать квалификатор /CREATED
 
      с /BEFORE или /SINCE. Следующая команда копирует все  файлы
 
      в каталоге [TRUBBLE], которые были созданы с 3 апреля  1987
 
      года, включая эту дату:
 
      $ BACKUP DMA1:[TRUBBLE]*/SINCE=03-APR-1987/CREATED DMA2:-
 
      _$[SPRS]
 
           Можно использовать квалификатор /EXPIRED с /SINCE  или
 
      /BEFORE для выбора файлов в соответствии с датой  хранения,
 
      записываемой в заголовке файла:
 
      $ BACKUP *.COB;*/BEFORE=20-JUL-1987:/EXPIRED-
 
      _$MSA0:JUL20SAVE.BCK
 
           В данном примере все  версии  всех  файлов  в  текущем
 
      каталоге, установленном по умолчанию, с типом файлов .COB и


                                - 168 -
 
                           00152-01 97 11
 
 
      датой хранения до 20 июля 1987  года  будут  сохраняться  в
 
      JUL20SAVE.BCK на MSA0:.
 
           В некоторых случаях более полезным является исключение
 
      определенныX файлов из операции дублирования. Mожно сделать
 
      это так, как показано в следующем примере:
 
      $BACKUP DMA2:[OSCAR...]/EXCLUDE=(*LOG,*,NOTES*;*)-
 
      _$MSA1:SAVE.BCK
 
           Данная команда указывает BACKUP сохранить все файлы из
 
      каталога [OSCAR] и его подкаталогов, исключая файлы с типом
 
      LOG и с именем NOTES, независимо от типов файлов и  номеров
 
      версий. Если с квалификатором EXCLUDE  указывается  список,
 
      скобки обязательны.
 
 
 
           6.5.5. Защита наборов сохранения
 
 
           Можно использовать квалификаторы выходного набора сох-
 
      ранения /OWNER_UIC и /PROTECTION для защиты наборов  сохра-
 
      нения на магнитной ленте, последовательном диске или  диске
 
      с файловой структурой. Указывая защиту и UIC владельца  для
 
      набора сохранения, можно предотвратить возможность монтиро-
 
      вания тома с набором сохранения или доступа к набору сохра-
 
      нения с файловой структурой для пользователей не обладающих
 
      соответствующими привилегиями (любой, кто имеет право  дос-
 
      тупа к набору сохранения, может читать данные, содержащиеся
 
      в наборе сохранения).
 
           Пример 1.
 
      $BACKUP [HOOVER...] MSа2:PINKERTON.BCK-
 
      _$/OWNER_UIC=[300,99]/REWIND
 
           Дерево  каталогов [HOOVER...]  сохраняется  в  PINKER-
 
      TON.BCK на устройстве магнитной ленты MSA2:. Выходной  ква-
 


                                - 169 -
 
                           00152-01 97 11
 
 
      лификатор /OWNER_UIC назначает тому набора  сохранения  UIC
 
      владельца, равный [300,99].
 
           Поскольку защита для магнитной ленты кодируется в мет-
 
      ке тома, квалификаторы /OWNER_UIC и /PROTECTION  эффективны
 
      для наборов сохранения на магнитной ленте только в  случае,
 
      если указывается квалификатор  /REWIND  (для  инициализации
 
      магнитной ленты).
 
           Пример 2.
 
      $BACKUP [PAYROLL] MSA2:KNOX.BCK/OWNER_UIC=[3,3]-
 
      _$/PROTECTION=(S:RWE,O:RWED,G:RE,W)
 
           В  данном  примере  каталог  [PAYROLL]  сохраняется  в
 
      KNOX.BCK на устройстве магнитной ленты MSA2:.  Квалификатор
 
      /OWNER_UIC назначает набору сохранения UIC владельца,  рав-
 
      ный [3,3].  Квалификатор  /PROTECTION  назначает  владельцу
 
      тома набора сохранения доступ для чтения, записи,  выполне-
 
      ния и удаления. Пользователям категории SYSTEM  назначается
 
      доступ для чтения, записи и выполнения; пользователям кате-
 
      гории GROUP - доступ для чтения и выполнения; всем  осталь-
 
      ным пользователям доступа не предоставляется.
 
 
 
           6.5.6. Восстановление  дисковых  файлов,  каталогов  и
 
      томов из набора сохранения
 
 
           Формат восстановления из наборов сохранения имеет сле-
 
      дующий вид:
 
      BACKUP спецификатор_набора[/SAVE_SET]спецификатор_выхода
 
           Квалификатор /SAVE_SET используется, если спецификатор
 
      набора сохранения указывает на дисковый том. Выходной  спе-
 
      цификатор может быть устройством, каталогом,  именем  файла
 
      или символом обобщения.
 


                                - 170 -
 
                           00152-01 97 11
 
 
           6.5.6.1. Восстановление  дисковых  файлов  из  наборов
 
      сохранения на магнитной ленте
 
 
           Можно восстановить все файлы из  набора  сохранения  в
 
      текущий установленный по умолчанию каталог, как показано на
 
      примере:
 
      $BACKUP TAPE:NOV12SAVE.BCK []
 
           Следующая команда восстанавливает файлы в дерево  под-
 
      каталогов:
 
      $BACKUP TAPE:NOV12SAVE.BCK [LYKINS...]
 
           Если  необходимо  восстановить  определенный  файл  из
 
      набора сохранения, можно использовать квалификатор /SELECT.
 
      Например:
 
      $MOUNT/FOREIGN MSA0:
 
      %MOUNT-I-MOUNTED. NOV25A MOUNTED ON _MSA0:
 
      $BACKUP
 
      _FROM: MSA0:NOV2SAVE BCK/SELECT=[LYKINS.GLENDO]
 
                                         STRAT1.DAT;5
 
      _TO:   STRAT1.DAT;5
 
      $ DIRECTORY STRAT1.DAT
 
      DIRECTORY [LYKINS.GLENDO]
 
      STRAT1.DAT;5
 
      TOTAL OF 1 FILE.
 
      $
 
           Файл STRAT1.DAT в каталоге [LYKINS.GLENDO] был случай-
 
      но уничтожен. Пользователь ранее  сохранил  файл  в  наборе
 
      сохранения NOV2SAVE.BCK  и  теперь  восстанавливает  его  в
 
      исходный каталог, используя квалификатор /SELECT.
 
           Если опускается имя набора сохранения для входной маг-
 
      нитной ленты, BACKUP читает первый набор сохранения,  кото-
 


                                - 171 -
 
                           00152-01 97 11
 
 
      рый она встречает на магнитной ленте, и останавливает обра-
 
      ботку, когда достигнут конец этого набора  сохранения.  Так
 
      как BACKUP автоматически не перематывает ленту до тех  пор,
 
      пока не встретится конец ленты  (EOT),  можно  обрабатывать
 
      следующий набор сохранения (если он  существует),  повторяя
 
      команду. Как альтернативу можно включить "звездочку" (*)  в
 
      спецификацию устройства для того, чтобы BACKUP  читала  все
 
      наборы сохранения на томе магнитной ленты.
 
 
 
           6.5.6.2. Восстановление  дисковых  файлов  из  наборов
 
      сохранения, расположенных на последовательном диске
 
 
           Можно читать последовательные дисковые наборы сохране-
 
      ния одним из двух способов: как  последовательный  дисковый
 
      набор сохранения (смонтированный с квалификатором /FOREIGN)
 
      или как обычный набор сохранения с файловой структурой.
 
           Если выбирается чтение набора сохранения как  последо-
 
      вательного диска, можно монтировать по одному тому за  один
 
      раз (также как это было возможным при  создании  последова-
 
      тельного дискового набора сохранения). Каталогом, для  спе-
 
      цификации  файла  сохранения,  используемым  по  умолчанию,
 
      является каталог [000000], который представляет собой глав-
 
      ный каталог файлов (MFD) на диске;  следовательно  включать
 
      каталог во входную спецификацию нет  необходимости,  напри-
 
      мер:
 
      $MOUNT/FCREIGN DMA0:
 
      $BACKUP/LOG DMA0:CONTRACTS.BCK/SAVE_SET CONTRACTS.DAT
 
      %BACKUP-S-CREATED, CREATED DMA2:[USER] CONTRACTS.DAT;1
 
           Так как том смонтирован как "чужой", команда DIRECTORY
 
      выдала бы сбой и  сгенерировала  бы  сообщение  об  ошибке;
 


                                - 172 -
 
                           00152-01 97 11
 
 
      однако BACKUP распознает формат и надеется найти набор сох-
 
      ранения  CONTRACTS.BCK   в   каталоге   MFD.   Квалификатор
 
      /SAVE_SET требуется для каждой  операции  восстановления  с
 
      диска.
 
           В качестве альтернативы можно читать набор  сохранения
 
      как обычный том с файловой структурой. Если набор  сохране-
 
      ния является многотомным,  следует  смонтировать  все  тома
 
      набора (точно так же, как для любых наборов томов с  файло-
 
      вой структурой):
 
      $MOUNT DMA0: SAVEWORK
 
      $BACKUP/LOG DMA0:[000000]CONTRACTS.BCK/SAVE_SET
 
      CONTRACTS.DAT
 
      %BACKUP-S-CREATED, CBEATED DMA2:[USER]CONTRACTS.DAT;1
 
           Каталог, используемый по умолчанию - это каталог  про-
 
      цесса   пользователя,   поэтому   следует   указать   ката-
 
      лог [000000]. Квалификатор /SAVE_SET необходим для  восста-
 
      новления файла в его первоначальную структуру; без квалифи-
 
      катора /SAVE_SET набор сохранения будет просто скопирован.
 
           Файлы наборов сохранения, записанные на диск с исполь-
 
      зованием файловой системы, могут быть также считаны в  пос-
 
      ледовательном режиме; этот режим может оказаться  полезным,
 
      если используется  системно-независимая  программа  BACKUP.
 
      Следует указывать каталог, из которого должен  быть  считан
 
      набор сохранения. Если  набор  сохранения  был  записан  на
 
      набор томов с использованием дисковой  файловой  структуры,
 
      нужно предусмотреть выполнение следующих правил:
 
           1) все тома набора  томов  должны  быть  смонтированы.
 
      Необходимо  монтировать  тома  с  квалификатором  /FOREIGN.
 
      (если используется системно-независимая  программа  BACKUP,
 
      тома монтируются неявно);


                                - 173 -
 
                           00152-01 97 11
 
 
           2) при  кодировании  томов  во  входном  спецификаторе
 
      необходимо указывать имена устройств в том  же  порядке,  в
 
      котором находятся относительные номера томов,  смонтирован-
 
      ных на эти устройства. Например, тома с  именами  USER01  и
 
      USER02 в наборе томов монтируются на два устройства,  DMA3:
 
      и DMA5:. Спецификатор набора сохранения  для  набора  томов
 
      должен быть следующим:
 
      DMA3:[каталог]SAVE-SET-NAME.EXT;V, DMA5:
 
 
 
           6.5.6.3. Восстановление  дисковых  файлов  из  наборов
 
      сохранения, находящихся на нескольких томах
 
 
           Если набор сохранения содержит более одной  ленты  или
 
      более одного последовательного дискового тома, можно начать
 
      операции восстановления, не монтируя первый том набора сох-
 
      ранения. Однако,  если  используется  квалификатор  /IMAGE,
 
      обработка должна начаться с первого тома. Если  монтируемая
 
      лента, не является первым томом в наборе сохранения,  поль-
 
      зователь получит предупреждающее сообщение:
 
      %BACKUP-W-NOT1STVOL, TAPE 'имя' IS NOT THE START OF A
 
      SAVE SET
 
           Если восстанавливается небольшое число файлов из боль-
 
      шого набора сохранения,  удобно  использовать  квалификатор
 
      /LOG. Он позволяет следить за файлами по мере их восстанов-
 
      ления. BACKUP будет продолжать обработку до тех  пор,  пока
 
      не будет достигнут конец набора сохранения. Как только тре-
 
      буемые файлы восстановлены, можно нажать CTRL/Y для  завер-
 
      шения обработки.
 


                                - 174 -
 
                           00152-01 97 11
 
 
           6.5.7. Восстановление полных дисковых томов
 
 
           Для восстановления полного дискового  тома  из  набора
 
      сохранения, который был  создан  с  квалификатором  /IMAGE,
 
      следует   смонтировать   новый   том,   используя   команду
 
      MOUNT/FOREIGN,   а   затем   восстановить   том    командой
 
      BACKUP/IMAGE.
 
           Если набор сохранения создается с использованием  ква-
 
      лификатора /IMAGE, данные, необходимые для  переинициализа-
 
      ции тома, помещаются в набор сохранения. Если  квалификатор
 
      /IMAGE используется для восстановления тома, новый том ини-
 
      циализируется с помощью этих данных.
 
           Например:
 
      $MOUNT/FOREIGN DMA1:
 
      %MOUNT-I-MOUNTED, 24 JUND MOUNTED ON _DMA1:
 
      $ BACKUP/IMAGE MSA0:24 JUNDMA1.BCK DMA1:
 
           Том инициализируется, используя параметры  инициализа-
 
      ции, сохраненные в наборе сохранения. Все файлы и каталоги,
 
      находящиеся в наборе сохранения, восстанавливаются на новый
 
      том.
 
           Для восстановления набора томов в  режиме  отображения
 
      нужно смонтировать все тома набора как "чужие".  Необходимо
 
      также указать  список  устройств,  на  которых  монтируются
 
      тома, в выходном спецификаторе команды BACKUP:
 
      $MOUNT/FOREIGN DMA0:
 
      %MOUNT-I-MOUNTED, PUBLIC01 MOUNTED ON _DMA0:
 
      $MOUNT/FOREIGN DMA1:
 
      %MOUNT-I-MOUNTED, PUBLIC02 MOUNTED ON _DMA1:
 
      $MOUNT/FOREIGN DMA2:
 
      %MOUNT-I-MOUNTED, PUBLIC03 MOUNTED ON _DMA2:
 


                                - 175 -
 
                           00152-01 97 11
 
 
      $BACKUP/IMAGE MSA0: 31JUNPUB DMA0: DMA1: DMA2:
 
           Тома получают  номера  в  порядке  их  перечисления  в
 
      команде BACKUP. В данном примере DMA0:, DMA1: и DMA2:  ста-
 
      новятся томами с номерами 1, 2 и 3 соответственно.
 
 
 
           6.5.7.1. Изменение параметров инициализации тома перед
 
      восстановлением
 
 
           Если желательно изменить параметры инициализации тома,
 
      необходимо выполнить следующие шаги:
 
           1) инициализировать новый том, используя  новые  пара-
 
      метры инициализации;
 
           2)  смонтировать  новый  том,  применяя   квалификатор
 
      /FOREIGN;
 
           3) восстановить том с помощью BACKUP, используя квали-
 
      фикатор /NOINITIALIZE.
 
           В  примере  размер  кластера  тома  изменяется  на  3.
 
      Остальные параметры инициализации тома принимают  значения,
 
      устанавливаемые по умолчанию из команды INITIALIZE:
 
      $ALLOCATE DMA2:
 
      %DCL-I-ALLOC, DMA2: ALLOCATED
 
      $INITIALIZE/CLUSTER_SIZE=3 DMA2: TEST_PROGS
 
      $MOUNT/FOREIGN DMA2
 
      %MOUNT-I-MOUNTED, TEST_PROGS NOUNTED ON _DMA2:
 
      $BACKUP/IMAGE/NOINITIALIZE/TRUNCATE MSA0:JUN.BCK DMA2:
 
           Единственным параметром инициализации, который  нельзя
 
      изменить, является уровень структуры тома. Если  изменяется
 
      кластерный множитель, хорошим действием можно считать вклю-
 
      чение квалификатора /TRUNCATE.
 


                                - 176 -
 
                           00152-01 97 11
 
 
           6.5.8. Вывод содержимого набора сохранения BACKUP
 
 
           Можно использовать квалификатор /LIST  команды  BACKUP
 
      для вывода информации о файлах, содержащихся в наборе  сох-
 
      ранения, либо на терминал, либо в указанный выходной  файл.
 
      BACKUP может использовать эту операцию  совместно  с  любой
 
      другой операцией BACKUP или отдельно.
 
           Следующая команда будет выводить информацию  о  наборе
 
      сохранения на терминал:
 
      $BACKUP/LIST 2MAR1555.BCK/SAVE_SET
 
           Для вывода той же информаци в файл с  именем  INFO.LIS
 
      следует ввести команду:
 
      $BACKUP/LIST=INFO.LIS 2MAR1555.BCK/SAVE_SET
 
           Если пользователь не знает  имен  наборов  сохранения,
 
      содержащихся на томе  магнитной  ленты,  он  может  указать
 
      только  само  устройство.  Следует  заметить,  однако,  что
 
      BACKUP затем выполняет операцию вывода информации так,  как
 
      если бы она выполняла операцию восстановления со специфика-
 
      цией, в которой указано только устройство: она читает  пер-
 
      вый набор сохранения, который встречается на магнитной лен-
 
      те, и останавливает обработку, когда достигает конца набора
 
      сохранения. BACKUP не перематывает автоматически  ленту  до
 
      тех пор, пока она не достигнет конца ленты (если не  указан
 
      квалификатор /REWIND);  следовательно,  можно  обрабатывать
 
      следующий набор сохранения (если он  существует),  повторяя
 
      команду.
 
           Включая "звездочку"  (*)  в  спецификацию  устройства,
 
      можно указать программе BACKUP создать список всех  наборов
 
      сохранения на томе:
 


                                - 177 -
 
                           00152-01 97 11
 
 
      $BACKUP/LIST MSA0:*
 
           Если необходимо создать  список  только  имен  наборов
 
      сохранения на томе, не включая имена файлов в наборах  сох-
 
      ранения, следует смонтировать том магнитной ленты как том с
 
      файловой структурой, а затем использовать команду оператора
 
      DIRECTORY. Например:
 
      $MOUNT MSA0: SAVEWORK TAPE
 
      %MOUNT-I-MOUNTED, SAVEWORK MOUNTED ON _MSA0:
 
      $DIRECTORY SIZE/DATE/PROTECTION TAPE:
 
      DIRECTORY MSA0:[]
 
      CONTRACTS.BCK;1 5 13-JUN-1987 12:11 (RWED, RWED,RE,)
 
      JUL20SAVE.BCK;1 3 20-JUL-1987 23:59 (RWED,RWED,RE,)
 
      MYPHILE.BCK:1   2 28-SEP-1986 12:00 (RWED,RWED,RE,)
 
      TOTAL OF 3 FILES, 10 BLOCKS.
 
 
 
           6.5.9. Сравнение файлов с помощью BACKUP
 
 
           Можно использовать операцию сравнения либо для сравне-
 
      ния набора сохранения с файлами на диске, либо для  сравне-
 
      ния файлов на диске с другими  файлами  на  диске.  Следует
 
      заметить, что квалификатор /COMPARE может быть  использован
 
      только для сравнения набора сохранения с оригинальными фай-
 
      лами или для сравнения файлов или томов, скопированных  при
 
      помощи BACKUP. BACKUP обрабатывает файлы по блокам. Сравне-
 
      ние файлов, которые не  были  созданы  посредством  BACKUP,
 
      может повлечь ошибки.
 
           Можно сравнивать набор сохранения с файлами на  диске,
 
      как показано на примере (эта команда указывает BACKUP срав-
 
      нить содержимое набора сохранения 2MAR1555.BCK с  каталогом
 
      [LYKINS]):
 


                                - 178 -
 
                           00152-01 97 11
 
 
      $BACKUP/COMPARE TAPE:2MAR1555.BCK [LYKINS]
 
           Другой пример показывает  сравнение  файлов  на  диске
 
      (заметим, что в этом примере имеет место дефект в блоке  16
 
      между UPLIFT.EXE:4 и UPLIFT.EXE;3):
 
      $BACKUP/COMPARE UPLIFT EXE;3 UPLIFT.EXE;4
 
      %BACKUP-E-VERIFYERR, VERIFICATION ERROR FOR BLOCK 16
 
      OF WRKD$:[LYKINS]UPLIFT.EXE;4
 
 
 
           6.6. Использование журнальных файлов
 
 
           Журнальный файл BACKUP содержит записи операций сохра-
 
      нения BACKUP и спецификаций файлов, которые были  сохранены
 
      в каждой операции. Для нахождения некоторого файла в много-
 
      томном наборе сохранения можно просмотреть журнальный  файл
 
      BACKUP, чтобы обнаружить том  магнитной  ленты,  содержащий
 
      этот файл.
 
           Для создания или добавления информации  к  журнальному
 
      файлу BACKUP используется  квалификатор  /JOURNAL.  Если  с
 
      квалификатором /JOURNAL не указан идентификатор файла,  имя
 
      журнального файла BACKUP устанавливается по умолчанию  рав-
 
      ным SYS$DISK:BACKUP.BJL. Тип файла, применяемый по  умолча-
 
      нию для журнальных файлов - BJL.
 
           Если указанный журнальный файл не существует, он  соз-
 
      дается; если он уже существует, новая журнальная информация
 
      добавляется к существующему журнальному файлу. Можно  орга-
 
      низовать новую версию журнального файла BACKUP, создав пус-
 
      той файл с помощью редактора, такого как EDT, или с помощью
 
      команды CREATE.
 
           Для вывода содержимого журнального файла BACKUP служит
 
      команда:
 


                                - 179 -
 
                           00152-01 97 11
 
 
      BACKUP/LIST[=спецификация_файла]/JOURNAL[=спецификация_-
 
      файла]
 
           Не обязательно указывать входной или выходной специфи-
 
      катор в команде BACKUP/JOURNAL/LIST. Если спецификация фай-
 
      ла в квалификаторе /LIST отсутствует, вывод направляется на
 
      SYS$OUTPUT; если спецификация файла опущена в квалификаторе
 
      /JOURNAL, используется журнальный файл BACKUP,  применяемый
 
      по умолчанию.
 
           В команде BACKUP/JOURNAL/LIST можно использовать  ква-
 
      лификаторы набора файлов. Это позволяет установить местопо-
 
      ложение набора файлов в наборе сохранения подобно тому, как
 
      команда DIRECTORY позволяет вам  определить  местоположение
 
      набора файлов на диске.
 
           Пример   1   (показывает   все   файлы   в    каталоге
 
      [SMITH.PROGS], сдублированные после 5  октября  1986  года,
 
      перечисленные в журнальном файле BACKUP ARCH.BJL).
 
      $BACKUP/LIST/JOURNAL=ARCH.BJL/SELECT=[SMITH.PROGS]/SINCE=-
 
      5-OCT-86
 
           Пример 2 (показывает использование  журнальных  файлов
 
      BACKUP).
 
      $BACKUP/JOURNAL/LOG/IMAGE DMA2: MSA0:3OCT.FUL
 
          .
 
          .
 
               (распечатка первого набора)
 
          .
 
          .
 
      %BACKUP-I-RESUME, RESUMING OPERATION ON VOLUNE 2
 
      %BACKUP-I-READYWRITE, MOUNT VOLUNE 2 ON _MSA0: FOR
 
      WRITING
 
      PRESS RETURN WHEN READY: [RET]


                                - 180 -
 
                           00152-01 97 11
 
 
          .
 
          .
 
               (распечатка второго набора)
 
          .
 
          .
 
      $BACKUP/JOURNAL/LIST
 
      LISTING OF BACKUP JOURNAL
 
      JOURNAL FILE _DM2:[SYSMGR]BACKUP.BCL;1 ON 3-OCT-1986
 
                                      00:40:56.36
 
      SAVE SET 3OCT.FUL CREATED ON 3-OCT-1986 00:40:56.36
 
      VOLUME NUMBER 1, VOLUNE LABEL 3OCT01
 
          [COLLINS]ALPHA.DAT;4
 
          [COLLINS]EDTINI EDT;5
 
          [COLLINS]LOGIN COM;46
 
          [COLLINS]LOGIN COM;45
 
          [COLLINS]MAIL.MAI;1
 
          [COLLINS]MAR.DIR;1
 
          [COLLINS.MAR]GETJPI.EXE;9
 
          [COLLINS.MAR]GETJPI.LIS;14
 
          .
 
          .
 
          .
 
      [LANE]LES.MAI;1
 
          .
 
          .
 
          .
 
      SAVE SET 3OCT.FUL CREATED ON 3-OCT 1986 00:40:56.36
 
      VOLUME NUMBER 2, VOLUME LABEL 3OCT02
 
         [LANE]MAIL.MAI;1
 
         [LANE]MEMO.RNO;5


                                - 181 -
 
                           00152-01 97 11
 
 
         [LANE]MEMO.RNO;4
 
          .
                     [6~
          .
 
          .
 
         [WALTERS.VI]KD.RNO;52
 
      END OF BACKUP JOURNAL
 
 
 
           6.7. Использование командных процедур
 
 
           Если  имеются  специфические  операции   дублирования,
 
      которые регулярно выполняются, следующие командные процеду-
 
      ры могут оказаться полезными. Например,  если  есть  файлы,
 
      которые должны ежедневно сохраняться, то, вероятно, исполь-
 
      зуются повторно одни и те же командные строки.  Можно  соз-
 
      дать командную процедуру для того, чтобы выполнить  необхо-
 
      димые команды.
 
           Пример 1.
 
      $ ON CONTROL_Y THEN GOTO EXIT
 
      $ ON ERROR THEN GOTO EXIT
 
      $ GET_DRIVE: INQUIRE DRIVE "DRIVE"
 
      $ IF DRIVE.EQS."" THEN GOTO GET_DRIVE
 
      $ ALLOCATE 'DRIVE'
 
      $ MOUNT/FOREIGN 'DRIVE'
 
      $ GET_SAVESET_SPEC INQUIRE SPEC "SAVE SET NAME"
 
      $ IF SPEC .EQS."" THEN GOTO GET_SAVESET_SPEC
 
      $ BACKUP/RECORD/IGNORE=INTERLOCK/SINCE=BACKUP [...]
 
                                 'DRIVE':'SPEC'/SAVE_SET
 
      $ EXIT:
 
      $ DISMOUNT 'DRIVE'
 
      $ DEALLOCATE 'DRIVE'
 


                                - 182 -
 
                           00152-01 97 11
 
 
           Данная командная процедура закрепляет,  инициализирует
 
      и монтирует указанное  устройство.  Она  предоставляет  вам
 
      гибкость в выборе устройства: тома магнитной ленты или пос-
 
      ледовательного дискового тома.
 
           Процедура выполняет также инкрементальное дублирование
 
      текущего дерева каталогов, сохраняя только  файлы,  которые
 
      были модифицированы с момента последней операции дублирова-
 
      ния [10].
 
           Примечания:
 
           1. Если в командной процедуре нет оператора ON  ERROR,
 
      и BACKUP заканчивает работу с  кодом  состояния  FATAL  или
 
      ERROR, командная процедура завершается непосредственно пос-
 
      ле выполнения команды BACKUP. Если желательно чтобы  проце-
 
      дура полностью  завершилась,  можно  включить  оператор  ON
 
      ERROR, как это показано в процедуре на примере 2.
 
           2. Процедура примера 1 предполагает, что двоеточие  не
 
      включается в спецификацию имени устройства. Если включается
 
      двоеточие, операция даст сбой,  потому  что  двоеточие  уже
 
      присутствует в  командной  строке  BACKUP.  (дополнительное
 
      двоеточие приведет к тому, что BACKUP попытается  выполнить
 
      функцию в сети, интерпретируя спецификацию  устройства  как
 
      имя узла.) можно создать более сложную  процедуру,  которая
 
      проверяет наличие дополнительного двоеточия и удаляет  его,
 
      если необходимо, как показано в примере 2.
 
           Пример 2.
 
      $ ON CONTROL_Y THEN GOTO EXIT
 
      $ ON ERROR THEN GOTO EXIT
 
      $ WRITE SYS$OUTPUT "WELCOME TO FETCH."
 
      $ WRITE SYS$OUTPUT " "
 
      $ L1: INQUIRE/NOPUNC PHYS "HAVE YOU PLACED THE VOLUME IN


                                - 183 -
 
                           00152-01 97 11
 
 
        THE DRIVE?"
 
      $ IF .NOT. PHYS THEN GOTO L1
 
      $ INQUIRE/NOPUNC D[6~E "WHICH DRIVE IS THE VOLUME MOUNTED O
 
      $ DRIVE = DRIVE---":"
 
      $ ALLOCATE 'DRIVE'
 
      $ MOUNT/FOREIGN 'DRIVE'
 
      $ ON ERROR GOTO COMMAND_LOOP
 
      $ !
 
      $ COMMAND_LOOP: INQUIRE/NOPUNC OPTION "FETCH>"
 
      $ IF OPTION .EQS. "DIR" THEN GOTO DIR
 
      $ IF OPTION .EQS. "EXIT" THEN GOTO EXIT
 
      $ IF OPTION .EQS. "FETCH" THEN GOTO FETCH
 
      $ IF OPTION .EQS. "HELP" THEN GOTO HELP
 
      $ IF OPTION .EQS. "LIST" THEN GOTO LIST
 
      $ GOTO COMMAND_LOOP
 
      $ !
 
      $ DIR: INQUIRE SPEC "FILESPEC"
 
      $ DIR 'SPEC'
 
      $ GOTO COMMAND_LOOP
 
      $ !
 
      $ HELP:
 
      $ WRITE SYS$ OUTPUT "ENTER ANY OF THE FOLLOWING COMMANDS
 
        AT THE PROMPT:"
 
      $ WRITE SYS$OUTPUT " "
 
      $ WRITE SYS$OUTPUT " "
 
      $ WRITE SYS$OUTPUT "DIR (TO SEARCH FOR A FILE)"
 
      $ WRITE SYS$OUTPUT " "
 
      $ WRITE SYS$OUTPUT "EXIT (TO EXIT THIS PROGRAM)"
 
      $ WRITE SYS$OUTPUT " "
 
      $ WRITE SYS$OUTPUT "FETCH (TO PERFORM A BACKUP RESTORE


                                - 184 -
 
                           00152-01 97 11
 
 
        OPERATION)"
 
      $ WRITE SYS$OUTPUT " "
 
      $ WRITE SYS$OUTPUT "HELP (TO READ THIS TEXT)"
 
      $ WRITE SYS$OUTPUT " "
 
      $ WRITE SYS$OUTPUT "LIST (TO PERFORM A BACKUP LIST
 
        OPERATION)"
 
      $ GOTO COMMAND_LOOP
 
      $ !
 
      $ FETCH: INQUIRE FILE "FILESPEC"
 
      $ INQUIRE SAVESET "SAVE SET NAME"
 
      $ LINE :== BACKUP/LOG 'DRIVE' :'SAVESET'/'SELECT='FILE'
 
      $ INQUIRE EXCLUDE "ENTER ANY FILESPECS YOU WANT EXCLU-
 
        DED"
 
      $ IF EXCLUDE .EOS. " " THEN GOTO L2
 
      $ LINE :== 'LINE'/EXCLUDE=('EXCLUDE')
 
      $ !
 
      $ L2: INQUIRE/NOPUNC TO "WHERE DO WE WRITE THE FILE(S)?
 
        (<RET> FOR CURRENT DIRECTORY)"
 
      $ IF TO .EQS. " " THEN GOTO REPLACE
 
      $ LINE :== 'LINE' 'TO'
 
      $ GOTO L3
 
      $ REPLACE: LINE :=='LINE' []
 
      $ !
 
      $ L3: INQUIRE/NOPUNC NEW "CREATE A NEW VERSION IF FILE
 
        ALREADY EXISTS?"
 
      $ IF .NOT. NEW THEN GOTO NOT
 
      $ LINE :== 'LINE'/NEW_VERSION
 
      $ !
 
      $ NOT: LINE :== 'LINE'/OWNER_UIC=ORIGINAL
 
      $ LINE


                                - 185 -
 
                           00152-01 97 11
 
 
      $ GOTO COMMAND_LOOP
 
      $ !
 
      $ LIST: INQUIRE SPEC "FILESPEC"
 
      $ LIST: INQUIRE SAVESET "SAVE SET NAME"
 
      $ INQUIRE/NOPUNC OUTPUT "WHAT DO WE CALL THE LIST FILE?
 
        (<RET> FOR SYS$OUTPUT)
 
      $ IF OUTPUT .EQS. "" THEN GOTO NOOUT
 
      $ LINE :== BACKUP/LIST='OUTPUT' 'DRIVE':'SAVESET'/SELECT
 
        =('SPEC')
 
      $ GOTO L4
 
      $ NOOUT: LINE :== BACKUP/LIST 'DRIVE':'SAVESET=('SPEC')
 
      $ !
 
      $ L4: INQUIRE EXCLUDE "ENTER ANY FILESPECS YOU WANT
 
        EXCLUDED"
 
      $ IF EXCLUDE .EOS. ""THEN GOTO L5
 
      $ LINE :== 'LINE'/EXCLUDE=('EXCLUDE')
 
      $ !
 
      $ L5: LINE
 
      $ GOTO COMMAND_LOOP
 
      $ !
 
      $ EXIT:
 
      $ DISMOUNT 'DRIVE'
 
      $ DEALLOCATE 'DRIVE'
 
           Как и процедура примера 1, пример  2  показывает  гиб-
 
      кость в выборе устройства: магнитной ленты или диска. Одна-
 
      ко функции данной процедуры  отличаются  и  являются  более
 
      сложными. После того, как процедуру  вызвали,  пользователь
 
      находится в программе, которая высвечивает свою собственную
 
      подсказку  (FETCH>)  и  содержит  свой  собственный   набор
 
      командных возможностей.


                                - 186 -
                             
                           00152-01 97 11
 
 
           Дополнительно к закреплению и монтированию  указанного
 
      устройства программа может выполнять операцию  восстановле-
 
      ния или создание списка BACKUP. Для любой выбранной функции
 
      программа выводит подсказку для запроса дополнительных воз-
 
      можностей.
 
 
 
 
                 7. Обрабатывающие функции оператора
 
 
 
           Данный раздел описывает некоторые функции,  предназна-
 
      ченные для работы с  диском  и  магнитной  лентой  и  часто
 
      выполняемые операторами ЭВМ. Обсуждаемые функции  оператора
 
      включают:
 
           1) использование терминала оператора для связи с поль-
 
      зователями;
 
           2) обработку запросов на монтирование;
 
           3) обработку запросов от обслуживающей программы  дуб-
 
      лирования;
 
           4) обработку задач проверки монтирования.
 
 
 
           7.1. Использование терминала оператора  для  обработки
 
      запросов пользователя
 
 
           Одна из главных функций оператора, связь с пользовате-
 
      лями при обработке запросов, должна выполняться с  термина-
 
      лов, которые были определены как терминалы оператора.  Сами
 
      операторы могут устанавливать терминалы оператора,  исполь-
 
      зуя команду REPLY/ENABLE с требуемого терминала. При  вводе
 
      этой команды на терминале высвечивается  сообщение  средств
 
      связи с оператором (OPCOM):
 


                                - 187 -
 
                           00152-01 97 11
 
 
      %%%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS,CC  %%%%%%%%%%%
 
      OPERATOR _имяузла$имятерминала: HAS BEEN ENABLED, USERNA-
 
      ME имя_пользователя
 
           Это сообщение говорит о том, какой терминал установлен
 
      как терминал оператора и когда.
 
           Для  связи  с  оператором  пользователи  могут  выдать
 
      команду REQUEST, указывая квалификатор /REPLY.
 
           Если пользователь выдает команду REQUEST/REPLY, запрос
 
      выводится на терминал оператора в следующем формате:
 
      %%%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS,CC  %%%%%%%%%%%
 
      REQUEST идентификатор_запроса FROM USER имя_пользователя_
 
      имя_терминала: "сообщение"
 
           Это сообщение говорит о том, какой пользователь послал
 
      сообщение, время, когда OнO было послано, идентификационный
 
      номер запроса, назначенный сообщению, исходный  терминал  и
 
      само сообщение.
 
           Если пользователь выдает команду REQUEST, запрос  выс-
 
      вечивается на терминале оператора в  подобном  формате,  но
 
      без идентификационного номера запроса:
 
      %%%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS,CC   %%%%%%%%%%%
 
      REQUEST FROM USER имя_пользователя_имя_терминала: "сообще-
 
      ние"
 
           Когда  пользователь  выдает  команду  REQUEST/REPLY  и
 
      имеет отключенными все терминалы операторов соответствующи-
 
      ми командами REPLY/DISABLE, OPCOM  возвращает  пользователю
 
      сообщение, показывающее, что нет доступной связи с операто-
 
      ром, но все запросы пользователей последовательно заносятся
 
      в файл регистрации оператора [10].
 
           Оператор отвечает на запросы пользователей,  используя
 
      одну из следующих команд REPLY:


                                - 188 -
 
                           00152-01 97 11
 
 
           1) REPLY/ABORT=идентификатор_номер "сообщение";
 
           2) REPLY/PENDING=идентификатор_номер "сообщение";
 
           3) REPLY/TO=идентификатор_номер "сообщение".
 
           Квалификатор /ABORT указывает, что запрос пользователя
 
      был снят. Квалификатор /PENDING  переводит  пользователя  в
 
      состояние ожидания до тех пор, пока запрос  не  может  быть
 
      исполнен или отвергнут.  Квалификатор  /TO  указывает,  что
 
      запрос пользователя был удовлетворен.
 
           Данный раздел описывает средство OPCOM и команду REPLY
 
      только относительно функций с диском  и  магнитной  лентой,
 
      обрабатываемых операторами [1], [10].
 
 
 
           7.2. Обработка запросов пользователей на  монтирование
 
      томов
 
 
           На многих комплексах  операторы  выполняют  физическое
 
      монтирование и размонтирование  системных  и  личных  томов
 
      дисков и магнитной ленты. На таких комплексах  пользователи
 
      осуществляют следующие операции:
 
           1) закрепляют устройство требуемого типа;
 
           2) вводят команду  MOUNT  или  MOUNT/COMMENT,  которая
 
      выдает запрос на монтирование и посылает оператору  сообще-
 
      ние, указывающее имя закрепленного устройства и том,  кото-
 
      рый должен был быть смонтирован. Пользователь дает  иденти-
 
      фикацию тома, которая физически должна  находиться  на  его
 
      внешней стороне, а также информирует оператора о месте хра-
 
      нения тома;
 
           3) ожидают, пока система не ответит сообщением, указы-
 
      вающим, что том смонтирован.
 
           Оператор, обрабатывающий  требования  на  монтирование
 


                                - 189 -
 
                           00152-01 97 11
 
 
      томов, должен выполнить следующие действия:
 
           1) поместить том на указанное устройство;
 
           2) выполнить необходимую процедуру запуска. На  диско-
 
      вых устройствах процедура запуска  требует  нажатия  кнопки
 
      "старт"; на устройствах магнитной ленты она требует нажатия
 
      кнопки "загрузка".
 
           Если пользователь намеревается производить  запись  на
 
      том магнитной ленты, который должен быть смонтирован, нужно
 
      убедиться, что магнитная лента содержит кольцо  записи,  до
 
      загрузки тома на устройство. Том, который не содержит коль-
 
      ца записи, является недоступным для операций записи.
 
           Если пользователь хочет проверить  некоторый  диск  на
 
      наличие дефектных блоков, следует убедиться,  что  том  был
 
      смонтирован с квалификатором /FOREIGN.
 
 
 
           7.2.1. Запросы  на   монтирование   томов   дисков   и
 
      одиночных магнитных лент
 
 
           При запросе пользователя на монтирование определенного
 
      диска или магнитной ленты на устройство терминал  оператора
 
      высвечивает сообщение следующего типа:
 
      %%%%%%%%%%%  OPCOM DD:MMM:YYYY HH:MM:SS:CC %%%%%%%%%%%
 
      REQUEST номер, FROM USER имя_пользователя
 
           Например, пользователь,  требующий  монтирования  тома
 
      TEST_FILES на  устройстве  DMA2:,  может  выдать  следующую
 
      команду:
 
      $ MOUNT DMA2: TEST_FILES/COMMENT="SHELF SLOT 6B"
 
           Эта команда вызывает вывод на терминал оператора сооб-
 
      щения:
 


                                - 190 -
 
                           00152-01 97 11
 
 
      %%%%%%%%%%%  OPCOM, 11-JUN-1986 15:47:50:26 %%%%%%%%%%%
 
      REQUEST 5, FROM USER MALCOLM
 
      PLEASE MOUNT VOLUME TEST_FILES IN DEVICE _DMA2:
 
      SHELF SLOT 6B
 
           Пользователь получAет сообщение,  подтверждающее,  что
 
      оператор получил запрос:
 
      %MOUNT-I-OPRQST, PLEASE MOUNT VOLUME TEST_FILES IN DEVICE
 
      _DMA2:
 
      SHELF SLOT 6B
 
           После того, как оператор нашел физическое местоположе-
 
      ние тома и поместил его на устройство,  пользователь  полу-
 
      чает сообщения:
 
      %MOUNT-I-MOUNTED, TEST_FILES MOUNTED ON _DMA2:
 
      %MOUNT-I-RQSTDON, OPERATOR REQUEST CANCELED---MOUNT COMPLE-
 
      TED SUCCESSFULLY.
 
           Первое сообщение указывает пользователю о том, что том
 
      смонтирован. Второе - информирует, что оператору сообщено о
 
      снятии исходного запроса пользователя.
 
           Вместо того, чтобы запрашивать для  монтирования  тома
 
      конкретное устройство, пользователь может выдать общий зап-
 
      рос MOUNT, указав тип устройства. Например, для  монтирова-
 
      ния тома CITIES на устройстве магнитной ленты, имя которого
 
      начинается с MS, пользователь должен выдать Kоманду:
 
      $ MOUNT MS: CITIES/COMMENT="SLOT 12C"
 
           Если пользователь уже закрепил устройство, имя которо-
 
      го начинается с MS,  обслуживающая  программа  монтирования
 
      (MOUNT) потребует, чтобы оператор смонтировал CITIES на это
 
      устройство. Если пользователь не закрепил  устройства,  имя
 
      которого начинается с  MS,  обслуживающая  программа  MOUNT
 
      закрепит первое доступное устройство магнитной ленты, кото-


                                - 191 -
 
                           00152-01 97 11
 
 
      рое она обнаружит, и выдаст оператору запрос на  монтирова-
 
      ние CITIES на этом устройстве.
 
 
 
           7.2.2. Запросы на монтирование наборов томов магнитной
 
      ленты
 
 
           Процедура монтирования набора  томов  магнитной  ленты
 
      подобна процедуре монтирования  одиночного  тома  магнитной
 
      ленты (п. 7.2.1). Однако при монтировании набора томов опе-
 
      ратор должен обеспечить, чтобы все тома в наборе  содержали
 
      кольцо записи, если пользователь  намеревается  производить
 
      запись на какой-нибудь том набора. Если  хотя  бы  один  из
 
      томов набора не содержит кольца  записи  при  монтировании,
 
      все тома будут закрыты для  записи.  Затем  оператор  может
 
      загрузить тома на устройства, которые  были  закреплены,  и
 
      перевести устройства в состояние "дистанц".
 
 
 
           7.2.2.1. Монтирование наборов томов  с  автоматическим
 
      переключением
 
 
           Система МОС ВП поддерживает автоматическое распознава-
 
      ние томов (AVR) и автоматическую разметку томов  (AVL)  для
 
      магнитных лент. Если том магнитной ленты монтируется с раз-
 
      решенными AVR и AVL, единственной задачей,  которую  должен
 
      выполнить оператор, является физическое размещение  следую-
 
      щего тома на устройстве. Система будет автоматически читать
 
      метку и монтировать том, затем будет посылать сообщение  на
 
      терминал оператора, информирующее о том,  что  имело  место
 
      переключение томов.
 
           Файловая система  магнитной  ленты  переключает  тома,
 
      используя запросы с ожиданием на чтение или запись  к  сле-


                                - 192 -
 
                           00152-01 97 11
 
 
      дующему тому в наборе (см. разд. 3).
 
           Используя  автоматическое  переключение  томов,  можно
 
      загружать каждую последующую магнитную ленту из  набора  на
 
      одном из закрепленных устройств в любой момент до того, как
 
      обрабатываемая магнитная лента достигнет позиции конца лен-
 
      ты. Файловая  система  магнитной  ленты  будет  монтировать
 
      и/или инициализировать следующую магнитную  ленту  и  затем
 
      сообщит о том, что было выполнено переключение.
 
           Для получения преимуществ,  предоставляемых  средством
 
      автоматического переключения  томов,  необходимо  закрепить
 
      для набора более одного устройства. Автоматическое переклю-
 
      чение томов будет неявно запрещено, если пользователь  зак-
 
      репляет только одно устройство магнитной ленты  для  набора
 
      томов. Следует заметить, что пользователь может явно  пода-
 
      вить  автоматическое  переключение  томов,  монтируя  набор
 
      томов с квалификатором /NOAUTOMATIC.
 
 
 
           7.2.2.2. Монтирование      наборов      томов      без
 
      автоматического переключения
 
 
           Рассмотрим обработку запросов  на  монтирование  томов
 
      продолжения в наборе томов при  запрещенном  автоматическом
 
      переключении томов или  когда  файловая  система  магнитной
 
      ленты не может смонтировать данный том.
 
           Когда пользователь находится  в  процессе  чтения  или
 
      записи на магнитную ленту, и  эта  лента  достигнет  конца,
 
      система приостанавливает обработку и посылает запрос опера-
 
      тору на монтирование следующей  магнитной  ленты  в  наборе
 
      томов. Пользователь не видит это сообщение и не может дога-
 
      даться о том, что для завершения операции чтения или записи
 


                                - 193 -
 
                           00152-01 97 11
 
 
      требуется другая магнитная лента. После того  как  оператор
 
      загрузил том продолжения на устройство, указанное в запросе
 
      на монтирование, он монтирует  этот  том,  выдавая  команду
 
      REPLY/TO, указывающую идентификационный номер из запроса на
 
      монтирование. Если том не ограничивает  доступа  к  себе  и
 
      является  корректным,  файловая  система  магнитной   ленты
 
      (MTFS) монтирует том и повторно выдает запрос на отложенное
 
      чтение или запись на томе продолжения.
 
           Если при переключении тома выполнялась  операция  чте-
 
      ния, указание идентификатора тома является  необязательным.
 
      MTFS выполняет проверку тома продолжения на корректность.
 
           Перед монтированием тома, для которого не  был  указан
 
      идентификатор тома, файловая система магнитной ленты выпол-
 
      няет проверку доступа (см. разд. 2). Если том не удовлетво-
 
      ряет любой из этих проверок доступа, файловая система  маг-
 
      нитной ленты не будет монтировать этот том.
 
           Если при возникновении потребности в томе  продолжения
 
      выполнялась операция записи, идентификатор тома продолжения
 
      должен быть указан либо в запросе на монтирование,  либо  в
 
      команде REPLY. Указывая идентификатор  тома,  следует  убе-
 
      диться, что на устройстве  смонтирован  корректный  том,  и
 
      присоединить том продолжения к набору томов.
 
           Для правильного  исполнения  запроса  на  монтирование
 
      файловой системой при выполнении операции записи в  команде
 
      REPLY должен быть указан один из трех квалификаторов:
 
           1) /BLANK_TAPE
 
           2) /INITIALIZE_TAPE
 
           3) /TO
 
           Идентификатор тома и формат, записанные на  томе  про-
 
      должения,  определяют,  какой  квалификатор   должен   быть


                                - 194 -
 
                           00152-01 97 11
 
 
      использован.
 
           Например, файловая система магнитной ленты выдала сле-
 
      дующий запрос на монтирование:
 
      %%%%%%%%%%%  OPCOM, 14-JUN-1987 15:23:31.78 %%%%%%%%%%%
 
      REQUEST 3, FROM USER PLAW
 
      MOUNT NEW RELATIVE VOLUME 2 (DW0QT2) ON MSA1:
 
           Если идентификатор тома, записанный на томе  продолже-
 
      ния, является тем же самым, что и идентификатор,  указанный
 
      в запросе на монтирование, должен быть использован квалифи-
 
      катор /TO команды REPLY для правильного исполнения запроса,
 
      например:
 
      $ REPLY/TO =3
 
      $ REPLY/TO =3   "DW0QT2"
 
           Первая команда REPLY не содержит идентификатора  тома,
 
      вторая - содержит.
 
           Если инициализируется и  монтируется  набор  томов,  в
 
      котором каждый том имеет уникальный признак доступности,  и
 
      желательно сохранить этот  признак  доступности,  указывать
 
      идентификатор тома не следует. Если идентификатор тома ука-
 
      зывается, признак доступности первого тома в наборе,  кото-
 
      рый был смонтирован, будет записан на том  продолжения,  не
 
      взирая на признак, указанный при инициализации.
 
           Если идентификатор тома  продолжения  не  совпадает  с
 
      идентификатором, указанным при запросе на  монтирование,  в
 
      команде   REPLY    должен    быть    указан    квалификатор
 
      /INITIALIZE_TAPE для переинициализации и монтирования  тома
 
      с идентификатором тома.
 
      Файловая система магнитной ленты  будет  выполнять проверку
 
      доступа и инициализацию тома так же, как если бы  была ука-
 
      зана  команда  INITIALIZE  (см. разд. 3). Однако, если  том


                                - 195 -
 
                           00152-01 97 11
 
 
      не удовлетворяет  какой-либо из  проверок доступа, файловая
 
      система  не  сможет  подавить эти  проверки, и том не может
 
      быть инициализирован.
 
           Пример   иллюстрирует   использование    квалификатора
 
      /INITIALIZE_TAPE
 
      $ REPLY/INITIALIZE_TAPE =3
 
      $ REPLY/INITIALIZE_TAPE =3  "DW0QT2"
 
           Если том неформатирован, то для инициализации должен
 
      быть  указан  квалификатор /BLANK_TAPE. Чтобы избежать воз-
 
      никновения  условия отключения ленты или блокировки по вре-
 
      мени, необходимы  привилегии  пользователя  VOLPRO  и  OPER
 
      (см. разд. 3). Обе  следующие  команды  REPLY являются пра-
 
      вильными:
 
      $ REPLY/BLANK_TAPE =3
 
      $ REPLY/BLANK_TAPE =3  "DW0QT2"
 
           Первая  команда  не  содержит   идентификатора   TOMA,
 
      вторая - содержит.
 
 
 
           7.3. Обработка  запросов  от  обслуживающей  программы
 
      BACKUP
 
 
           При  выполнении  системной   обслуживающей   программы
 
      BACKUP в форме пакетного задания оператор получает  запросы
 
      на загрузку следующего тома набора сохранения и на перезаг-
 
      рузку тома в случае ошибки. (Эти запросы при  интерактивной
 
      работе с обслуживающей программой  дублирования  посылаются
 
      пользователю.)
 


                                - 196 -
 
                           00152-01 97 11
 
 
           7.3.1. Запись в набор сохранения
 
 
           Если операция сохранения (записи  из  файлов  в  набор
 
      сохранения) требует загрузки дополнительного тома, оператор
 
      получает сообщение, содержащее дату и время, номер запроса,
 
      имя пользователя и имя устройства, как показано на примере:
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:32.31 %%%%%%%%%%%
 
      REQUEST 24, FROM USER TOM.
 
      %BACKUP-I-READYWRITE, MOUNT VOLUME 2 ON _MSA0: FOR WRITING
 
           Для продолжения операции дублирования необходимо  заг-
 
      рузить свободный том, привести устройство  в  готовность  и
 
      ввести команду REPLY/TO, например:
 
      $ REPLY/TO=24
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:34.14 %%%%%%%%%%%
 
      REQUEST 24 COMPLETED BY OPERATOR OPA0.
 
           Oператор может также прервать  операцию  дублирования,
 
      введя команду REPLY/ABORT, например:
 
      $ REPLY/ABORT=24
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:34.14 %%%%%%%%%%%
 
      REQUEST 24 ABORTED BY OPERATOR OPA0.
 
 
 
           7.3.2. Чтение из набора сохранения
 
 
           Если операция восстановления (чтения из набора  сохра-
 
      нения в файлы) требует загрузки дополнительного тома,  опе-
 
      ратор получает сообщение, содержащее дату  и  время,  номер
 
      запроса, имя пользователя и имя устройства, как показано на
 
      примере:
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:03:32.31 %%%%%%%%%%%
 
      REQUEST 24, FROM USER TOM.
 
      %BACKUP-I-READYREAD, MOUNT VOLUME 2 ON _MSA0: FOR READING


                                - 197 -
 
                           00152-01 97 11
 
 
           Для  продолжения  операции  восстановления  необходимо
 
      поместить следующий том набора  сохранения  на  устройство,
 
      привести устройство в готовность и выдать команду REPLY/TO,
 
      например:
 
      $ REPLY/TO=24
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:34.14 %%%%%%%%%%%
 
      REQUEST 24 COMPLETED BY OPERATOR OPA0.
 
           Оператор может также прекратить операцию  восстановле-
 
      ния, задав команду REPLY/ABORT:
 
      $ REPLY/ABORT=24
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:34.14 %%%%%%%%%%%
 
      REQUEST 24 ABORTED BY OPERATOR OPA0.
 
 
 
           7.3.3. Восстановление от ошибок
 
 
           При определенных ошибках оператор получает  сообщения,
 
      констатирующие дату и время, номер запроса, имя пользовате-
 
      ля, имя устройства и возможные варианты ответов. При  ошиб-
 
      ках чтения из набора сохранения обычно имеются  возможности
 
      продолжить или прекратить (CONTINUE  и  QUIT)  чтение.  При
 
      ошибках записи в набор  сохранения  обычными  возможностями
 
      являются перезапустить  или  прекратить  (RESTART  и  QUIT)
 
      запись.  Оператор  должен  предпринять  одно  из  следующих
 
      действий:
 
           1) REPLY/TO "CONTINUE" - если оператор может устранить
 
      проблему и имеется возможность продолжить работу, надо при-
 
      вести в готовность устройство и  выдать  команду  REPLY/TO,
 
      указывая слово CONTINUE как текст;
 
           2) REPLY/TO "RESTART" - если оператор может  устранить
 
      проблему и имеется возможность перезапуска, надо  загрузить
 


                                - 198 -
 
                           00152-01 97 11
 
 
      (если необходимо) том, привести в готовность  устройство  и
 
      выдать команду REPLY/TO, указывая в качестве  текста  слово
 
      RESTART;
 
           3) REPLY/TO "QUIT" - если оператор не может  устранить
 
      проблему, надо выдать команду REPLY/TO, указывая как  текст
 
      слово QUIT.
 
           Текст в команде REPLY/TO может быть набран на  верхнем
 
      или нижнем регистре и может быть сокращен до одного первого
 
      символа.
 
           Например, оператор  получил  следующие  сообщения  при
 
      операции восстановления (чтение из набора сохранения):
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:30.58 %%%%%%%%%%%
 
      MESSAGE FROM USER RESJOB.
 
      %BACKUP-E-FATALERR, FATAL ERROR ON MS:[]SAVE.;
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:30.89 %%%%%%%%%%%
 
      MESSAGE FROM USER RESJOB.
 
      -SYSTEM-F-MEDOFL, MEDIUM IS OFFLINE
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:31.05 %%%%%%%%%%%
 
      REQUEST 24, FROM USER RESJOB.
 
      %BACKUP-I-SPECIFY, SPECIFY OPTION (QUIT OR CONTINUE)
 
           Он проверяет устройство и обнаруживает, что там просто
 
      пропал вакуум. Ситуация исправляется с  помощью  приведения
 
      лентопротяжного устройства в состояние готовности и  выдачи
 
      команды:
 
      $ REPLY/TO=24 "CONTINUE"
 
      CONTINUE
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:33.41 %%%%%%%%%%%
 
      REQUEST 24 COMPLETED BY OPERATOR OPA0.
 
           Если оператор находит устройство неработоспособным, он
 
      выдает ответ о прекращении:


                                - 199 -
 
                           00152-01 97 11
 
 
      $ REPLY/TO=24 "QUIT"
 
      QUIT
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:33.41 %%%%%%%%%%%
 
      REQUEST 24 COMPLETED BY OPERATOR OPA0.
 
           Если произошла ошибка в процессе  операции  сохранения
 
      (производилась запись на ленту сохранения), оператор  имеет
 
      возможность выбора - прекратить или перезапустить:
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:30.58 %%%%%%%%%%%
 
      MESSAGE FROM USER RESJOB.
 
      %BACKUP-E-FATALERR, FATAL ERROR ON MS:[]SAVE.;
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:30.89 %%%%%%%%%%%
 
      MESSAGE FROM USER RESJOB.
 
      -SYSTEM-F-MEDOFL, MEDIUM IS OFFLINE
 
      %%%%%%%%%%% OPCOM, 6-JUN-1987 17:02:31.05 %%%%%%%%%%
 
      REQUEST 24, FROM USER RESJOB.
 
      %BACKUP-I-SPECIFY, SPECIFY OPTION (QUIT OR RESTART)
 
      (оператор готовит устройство магнитной ленты.)
 
              .
 
              .
 
              .
 
      $ REPLY/TO=24 "RESTART"
 
      RESTART
 
      %%%%%%%%%%% OPCOM, 6-JUN-1985 17:02:33.35 %%%%%%%%%%%
 
      REQUEST 24 COMPLETED BY OPERATOR OPA0.
 
           Возможность перезапуска позволяет возобновить операцию
 
      многотомного дублирования с начала текущего тома. Если ука-
 
      зывается прекращение, то операцию  дублирования  необходимо
 
      перезапускать полностью.
 


                                - 200 -
 
                           00152-01 97 11
 
 
           7.4. Обработка задач проверки монтирования
 
 
           Средство  проверки  монтирования  дисков  с   файловой
 
      структурой предназначено, в основном, для защиты  пользова-
 
      телей в ситуациях, когда смонтированный диск перешел в сос-
 
      тояние "загрузка"  и  вернулся  в  состояние  "готово"  или
 
      каким-либо другим способом стал недоступным, а затем  восс-
 
      тановился. Проверка монтирования разрешена по  умолчанию  с
 
      помощью квалификатора /MOUNT_VERIFICATION при  монтировании
 
      диска. Для  того  чтобы  запретить  проверку  монтирования,
 
      пользователь должен указать /NOMOUNT_VERIFICATION при  мон-
 
      тировании диска. Следует заметить, что данное средство неп-
 
      рименимо для "чужих" дисков или магнитных лент.
 
           Средство  проверки  монтирования  посылает   сообщение
 
      OPCOM. Поскольку возможны случаи, когда сообщения  проверки
 
      монтирования должны поступать на консоль оператора и  OPCOM
 
      не может реализовать это требование, средство проверки мон-
 
      тирования также посылает специальные сообщения с  префиксом
 
      %SYSTEM-I-MOUNTVER только на консольное устройство системы,
 
      т.е. на OPA0: . Например, если системный диск  подвергается
 
      проверке монтирования, или если процесс OPCOM не существует
 
      в системе, оператор может, по крайней мере, получить  сооб-
 
      щения с префиксом %SYSTEM-I-MOUNTVER. При нормальных  усло-
 
      виях оба сообщения посылаются на OPA0:, при этом  сообщение
 
      %SYSTEM-I-MOUNTVER приходит первым.
 


                                - 201 -
 
                           00152-01 97 11
 
 
           7.4.1. Проверка    монтирования     для     устройств,
 
      находящихся в состоянии "загрузка"
 
 
           Если смонтированный дисковый том переходит в состояние
 
      "загрузка" при разрешенной  проверке  монтирования,  выпол-
 
      няются следующие шаги:
 
           1) дисковый том переводится в состояние  "загрузка"  в
 
      результате ошибок аппаратуры  или  пользователя  (например,
 
      диск может остановиться).  Большинство  дисковых  устройств
 
      генерирует  специальное  прерывание,  когда  том  переходит
 
      опять в состояние "готово". При этом система  помечает  том
 
      как дефектный. Однако некоторые дисковые устройства (такие,
 
      как кассетные ленты) не генерируют прерывания при  переходе
 
      в "готово". Для этих устройств условие перехода в"загрузка"
 
      обнаруживается, когда инициируется операция ввода-вывода;
 
           2) операция ввода-вывода переходит в режим "носитель в
 
      состоянии "загрузка" или "дефектный том". Система  помечает
 
      том для регистрации того, что он подвергся проверке  монти-
 
      рования, и все операции ввода-вывода на диске  задерживают-
 
      ся;
 
           3) OPCOM выдает  сообщение  оператору,  обслуживающему
 
      диски и устройства, указывающее на недоступность диска:
 
      %%%%%%%%%%% OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%%
 
      DEVICE имя_устройства IS OFFLINE.
 
      MOUNT VERIFICATION IN PROGRESS
 
           4) оператор может просто  вывести  диск  из  состояния
 
      "загрузка" и состояния ожидания проверки, отменив  проверку
 
      монтирования одним из способов (пп. 7.3.3, 7.3.4). Эти спо-
 
      собы приводят к задержке и отказам при следующих  операциях
 
      ввода-вывода на томе;
 


                                - 202 -
 
                           00152-01 97 11
 
 
           5) в противном случае оператор может предпринять  кор-
 
      ректирующее действие. Возможно устройство может быть  вновь
 
      переведено в состояние "готово". Если  дисковое  устройство
 
      дефектно, но доступно другое функционирующее устройство  на
 
      том же контроллере, можно перенести диск на функционирующее
 
      устройство и поменять переключатели выбора устройства;
 
           6) диск переводится снова в состояние "готово",  кото-
 
      рое обнаруживается программами проверки монтирования, опра-
 
      шивающими устройство;
 
           7) система проверяет собственный блок диска на  совпа-
 
      дение с одним из базы данных  смонтированных  томов,  подт-
 
      верждая таким образом, что это и есть тот самый диск, кото-
 
      рый был ранее смонтирован;
 
           8) если устройство содержит  некорректный  том,  OPCOM
 
      выдает сообщение:
 
      %%%%%%%%%%%  OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%%
 
      DEVICE-имя_устройства CONTAINS THE WRONG VOLUME.
 
      MOUNT VERIFICATION IN PROGRESS
 
           9) после успешного  завершения  проверки  монтирования
 
      диск помечается как  действующий.  OPCOM  выдает  следующее
 
      сообщение:
 
      %%%%%%%%%%%  OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%%
 
      MOUNT VERIFICATION COMPLETED FOR DEVICE имя_устройства
 
           С этого момента на диске  могут  выполняться  операции
 
      ввода-вывода.
 
           Пример:
 
      %%%%%%%%%%%  OPCOM, 15-JUN-1987 11:54:54.12 %%%%%%%%%%%
 
      DEVICE DMA0: IS OFFLINE.
 
      MOUNT VERIFICATION IN PROGRESS.
 
      %%%%%%%%%%%  OPCOM, 15-JUN-1987 11:57:34.22 %%%%%%%%%%%


                                - 203 -
 
                           00152-01 97 11
 
 
      MOUNT VERIFICATION COMPLETED FOR DEVICE DMA0:
 
           Сообщение от OPCOM информирует о том,  что  устройство
 
      DMA0: переведено в состояние "загрузка" и инициирована про-
 
      верка монтирования. Оператор обнаруживает,  что  устройство
 
      было случайно остановлено, и снова успешно  его  запускает.
 
      Следующее сообщение показывает, что  проверка  монтирования
 
      подтверждает, что на устройстве находится тот же самый  том
 
      (который снова переведен в состояние "готово"), все  опера-
 
      ции ввода-вывода на томе возобновляются.
 
           Примечание. Если устройство  продолжает  оставаться  в
 
      состоянии "загрузка" вследствие дефектов аппаратуры, опера-
 
      тор должен обратиться за консультацией к представителю обс-
 
      луживающего персонала.
 
 
 
           7.4.2. Проверка монтирования устройств,  закрытых  для
 
      записи
 
 
           Если по некоторым причинам смонтированный дисковый том
 
      становится закрытым (заблокированным) для записи при  вклю-
 
      ченной проверке  монтирования,  можно  выполнить  следующие
 
      шаги для возобновления операций:
 
           1) дисковый том с файловой структурой монтируется  для
 
      записи (квалификатор /WRITE установлен по  умолчанию).  При
 
      возникновении некоторых ошибок аппаратуры или  пользователя
 
      диск становится закрытым для записи;
 
           2) программное обеспечение обнаруживает, что диск заб-
 
      локирован для записи (обычно имеет место отказ ввода-вывода
 
      с ошибкой закрытия записи). Диск помечается  как  проверяе-
 
      мый. OPCOM выдает сообщение операторам, предназначенным для
 
      обслуживания дисков  и  устройств,  указывающее,  что  диск
 


                                - 204 -
 
                           00152-01 97 11
 
 
      недоступен:
 
      %%%%%%%%%%%  OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%%
 
      DEVICE имя_устройства HAS BEEN WRITE LOCKED.
 
      MOUNT VERIFICATION IN PROGRESS
 
           3) оператор может просто вывести диск из текущего сос-
 
      тояния проверки, отменив  проверку  монтирования  одним  из
 
      способов (см. пп. 7.3.3, 7.3.4). Эти способы повлекут отказ
 
      при выполнении текущих и последующих операций ввода-вывода;
 
           4) в противном случае можно предпринять корректирующее
 
      действие. Возможно устройство можно просто сделать  доступ-
 
      ным для записи переброской аппаратного переключателя защиты
 
      записи на устройстве.  Если  дисковое  устройство  является
 
      дефектным, но доступно другое функционирующее устройство на
 
      том же контроллере, можно переместить диск на функционирую-
 
      щее устройство и поменять переключатели выбора  устройства.
 
      (следует заметить, что переключение  на  другое  устройство
 
      повлечет выполнение для тома проверки монтирования на  сос-
 
      тояние "загрузка". Как только она завершится, проверка мон-
 
      тирования на защиту от записи будет продолжена);
 
           5)  программное  обеспечение  проверки   монтирования,
 
      опрашивающее дисковое устройство, определяет, что том нахо-
 
      дится в состоянии разрешения записи.  С  этого  момента  на
 
      диске могут быть выполнены  операции  ввода-вывода.  Однако
 
      OPCOM не выдает сообщений, информирующих о том, что провер-
 
      ка монтирования на защиту от записи завершена.
 
           Пример:
 
      %%%%%%%%%%%  OPCOM, 29-JUN-1987 15:28:54.07 %%%%%%%%%%%
 
      DEVICE DMA1: HAS BEEN WRITE LOCKED.
 
      MOUNT VERIFICATION IN PROGRESS.
 
           Сообщение OPCOM  информирует  о  том,  что  устройство


                                - 205 -
 
                           00152-01 97 11
 
 
      DMA1: является закрытым для записи. Для  снятия  блокировки
 
      записи оператор перебрасывает переключатель  защиты  записи
 
      на устройстве. Операции ввода-вывода на диске возобновляют-
 
      ся, но без дальнейших сообщений.
 
 
 
           7.4.3. Отмена проверки монтирования
 
 
           Если произошел сбой при переводе  системного  диска  в
 
      состояние "готово" или при разблокировании записи в то вре-
 
      мя, когда  разрешена  проверка  монтирования,  вся  система
 
      может попасть в состояние "зависания", так как обычные опе-
 
      рации системы зависят от выполнения ввода-вывода на систем-
 
      ном диске. Эта проблема переходит  также  на  другие  общие
 
      диски, которые содержат  вторичные  страничные  и  обменные
 
      файлы, базу данных прав доступа и т.д. В таком случае пере-
 
      вод диска в состояние ONLINE обычно является фатальным  для
 
      системы.
 
           Кроме того, сложные взаимозависимости  внутри  МОС  ВП
 
      могут повлечь "зависание" системы при определенных  обстоя-
 
      тельствах - даже когда несистемный диск переходит в состоя-
 
      ние "загрузка". В ситуациях такого типа можно избавиться от
 
      проблем, используя первый или второй способ из трех предла-
 
      гаемых для отмены запросов на проверку монтирования:
 
           1) допустить выполнение проверки монтирования в  тече-
 
      ние нескольких секунд,  определенных  системным  параметром
 
      MVTIMEOUT. При истечении этого времени система автоматичес-
 
      ки отменяет текущую проверку  монтирования.  Следует  заме-
 
      тить, что проверка монтирования, инициированная блокировкой
 
      записи, по времени не контролируется;
 
           2) вызвать специальную программу отмены с  консольного
 


                                - 206 -
 
                           00152-01 97 11
 
 
      терминала;
 
           3) размонтировать  том  с  помощью  команды  оператора
 
      DISMOUNT из процесса, который "не висит".
 
 
 
           7.4.4. Размонтирование тома для  прекращения  проверки
 
      монтирования
 
 
           В некоторых случаях пользователь может прерывать  про-
 
      верку  монтирования,  размонтируя  том  в   рассматриваемой
 
      ситуации. Этот способ работает в том случае, если пользова-
 
      тель может выдать команду DISMOUNT для тома (например, если
 
      ACP системных файлов "не висит").
 
           Порядок действия:
 
           1) войти в систему с другого терминала или  воспользо-
 
      ваться  любым  терминалом,  зарегистрированным  в  системе,
 
      который имеет соответствующую привилегию для  размонтирова-
 
      ния тома;
 
           2) ввести команду DISMOUNT/ABORT для тома;
 
           3)  когда  отменяется  текущая  проверка  монтирования
 
      путем размонтирования тома, OPCOM выдает сообщение:
 
      %%%%%%%%%%%  OPCOM, DD-MMM-YYYY HH:MM:SS.CC %%%%%%%%%%%
 
      MOUNT VERIFICATION ABORTED FOR DEVICE имя_устройства
 
      если оператор не имеет доступа к тому, он получит сообщение
 
      об ошибке. Можно совершить  новую  попытку,  если  найдется
 
      подходящий для использования процесс. Если процесс "висит",
 
      это означает, что "висит" ACP системных файлов (первое при-
 
      веденное условие не было выполнено), и  оператор  не  может
 
      использовать эту методику для отмены проверки монтирования;
 
           4) как только отмена завершилась успешно, следует уда-
 
      лить том с устройства.
 


                                - 207 -
 
                           00152-01 97 11
 
 
                                                     Приложение 1
 
 
 
 
                     Дисковые файлы и тома МОС ВП
 
 
 
                     1. Файловая структура дисков
 
 
 
           Система МОС ВП распознает две дисковые структуры  фай-
 
      лов:
 
           1) файловую структуру уровня 1;
 
           2) файловую структуру уровня 2.
 
           Файловая структура уровня 2 - это дисковая  структура,
 
      которая используется по умолчанию в системе МОС ВП;  файло-
 
      вая структура уровня 1 - это структура, используемая опера-
 
      ционными системами СМ ЭВМ типа ОС РВ.
 
           Томами с файловой структурой уровня 2 управляют девять
 
      файлов. Только пять из этих файлов используются для  управ-
 
      ления томами с файловой структурой  уровня  1.  Все  девять
 
      файлов, которые рассматриваются как зарезервированные  фай-
 
      лы, приведены в таблице с указанием на то, к какой файловой
 
      структуре они относятся.
 
                  Зарезервированные файлы МОС ВП
 
      -----------------------------------------------------------
                             !              !
        Наименование файла   !   Имя файла  !  Уровень структуры
                             !              !--------------------
                             !              !     1     !    2
      -----------------------------------------------------------
                             !              !           !
       Индексный файл        ! INDEXF.SYS;1 !     X     !    X
                             !              !           !


                                - 208 -
 
                           00152-01 97 11
 
 
                                             Продолжение табл.
      -----------------------------------------------------------
                             !              !
       Наименование файла    !   Имя файла  !  Уровень структуры
                             !              !--------------------
                             !              !     1          2
      -----------------------------------------------------------
       Файл битового отобра- ! BITMAP.SYS;1 !     X     !    X
                             !              !           !
       жения памяти          !              !           !
                             !              !           !
       Файл дефектных блоков ! BADBLK.SYS;1 !     X     !    X
                             !              !           !
       Главный каталог файлов! 000000.DIR;1 !     X     !    X
                             !              !           !
       Файл образа ядра      ! CORIMG.SYS;1 !     X     !    X
                             !              !           !
       Файл списка набора    ! VOLSET.SYS;1 !           !    X
                             !              !           !
       томов                 !              !           !
                             !              !           !
       Файл продолжения      ! CONTIN.SYS;1 !           !    X
                             !              !           !
       Файл регистрации      ! BACKUP.SYS;1 !           !    X
                             !              !           !
       дублирования          !              !           !
                             !              !           !
       Ожидаемые дефектные   ! BADLOG.SYS;1 !           !    X
                             !              !           !
       блоки                 !              !           !
 
           Все файлы, перечисленные в таблице, содержатся в глав-
 
      ном каталоге файлов (MFD), [000000].
 
 
 
           1.1. Индексный файл
 
 
           Каждый том с файловой структурой имеет индексный файл,
 
      который создается при инициализации тома. Этот файл иденти-
 
      фицирует том для операционной системы как  том  с  файловой
 
      структурой и содержит данные для доступа ко всем файлам  на
 
      томе. Индексный файл, который хранится в  главном  каталоге
 
      файлов как INDEXF.SYS;1, содержит следующую информацию:
 
           - блок первоначальной  загрузки;  блок  первоначальной
 
      загрузки тома - это первый виртуальный блок индексного фай-
 
      ла. Если том является системным томом, данный блок содержит
 
      программу первоначальной загрузки, которая загружает опера-


                                - 209 -
 
                           00152-01 97 11
 
 
      ционную систему в память. Если том не  является  системным,
 
      данный блок содержит программу, которая выводит сообщение о
 
      том, что том не является системным устройством, а представ-
 
      ляет собой устройство, содержащее только файлы  пользовате-
 
      лей;
 
           - собственный блок тома; собственный блок  тома  уста-
 
      навливает  особую  идентификацию  тома,  содержащую   такую
 
      информацию, как имя тома и защиту, максимальное число  фай-
 
      лов на томе и информацию о владельце тома. Собственный блок
 
      тома является вторым виртуальным блоком индексного файла;
 
           - дубликат  собственного  блока  тома.  Он   позволяет
 
      использовать том в случае, если основной  собственный  блок
 
      тома разрушен;
 
           - дубликат заголовка индексного файла. Позволяет восс-
 
      танавливать данные на томе, если заголовок индексного файла
 
      разрушен;
 
           - битовое отображение индексного файла. Управляет раз-
 
      мещением заголовков файлов и, таким образом, числом  файлов
 
      на томе. Битовое отображение содержит бит для каждого заго-
 
      ловка файла, который может находиться на томе. Если  значе-
 
      ние бита для данного заголовка файла равно  0,  файл  может
 
      быть создан с данным заголовком.  Если  значение  равно  1,
 
      заголовок файла уже использован;
 
           - заголовки файлов.  Большую  часть  индексного  файла
 
      составляют заголовки файлов.  Каждый  файл  на  томе  имеет
 
      заголовок, который описывает  такие  характеристики  файла,
 
      как владелец файла, дата и время создания, защита  файла  и
 
      размещение данных в файле. Заголовок файла содержит  указа-
 
      тели ко всей информации, необходимой для получения  доступа
 
      к файлу.


                                - 210 -
 
                           00152-01 97 11
 
 
           1.2. Файл битового отображения памяти
 
 
           Файл битового отображения памяти  управляет  доступным
 
      пространством на томе; этот файл содержится в главном ката-
 
      логе файлов с именем BITMAP.SYS;1. Он состоит из  управляю-
 
      щего блока памяти,  который  содержит  краткую  информацию,
 
      предназначенную  для  оптимизации  распределения  файлового
 
      пространства, и самого битового отображения, представляюще-
 
      го собой список пригодных блоков.
 
 
 
           1.3. Файл дефектных блоков
 
 
           Файл дефектных блоков, находящийся в главном  каталоге
 
      файлов под именем BADBLK.SYS;1 , состоит из всех  дефектных
 
      блоков на томе. Система динамически обнаруживает  дефектные
 
      блоки на диске и предупреждает их повторное  использование,
 
      как только файлы, для которых эти блоки были  распределены,
 
      удаляются.
 
 
 
           1.4. Главный каталог файлов
 
 
           Главный  каталог  файлов  (MFD)  указан  в   MFD   как
 
      000000.DIR;1. MFD, являющийся  корнем  структуры  каталогов
 
      тома, содержит  список  зарезервированных  файлов,  которые
 
      управляют структурой тома, и может включать  списки  файлов
 
      пользователей  и  каталогов  файлов  пользователей.  Однако
 
      обычно MFD используется для сохранения списка  зарезервиро-
 
      ванных файлов и каталогов пользовательских файлов;  пользо-
 
      ватели редко помещают файлы в MFD  даже  на  личных  томах.
 
      Действительно, пользователю наиболее  удобно  создавать  на
 
      личном томе каталог, который имеет то же имя, что  и  ката-
 


                                - 211 -
 
                           00152-01 97 11
 
 
      лог, установленный по умолчанию на системном диске [1].
 
           Когда обслуживающая  программа  дублирования  (BACKUP)
 
      МОС ВП создает последовательный дисковый набор  сохранения,
 
      она помещает файл набора сохранения в MFD.
 
 
 
           1.5. Файл образа ядра
 
 
           Файл образа ядра указан в MFD как CORIMG.SYS;1. Он  не
 
      поддерживается МОС ВП.
 
 
 
           1.6. Файл списка набора томов
 
 
           Файл  списка   набора   томов   указан   в   MFD   как
 
      VOLSET.SYS;1. Этот файл используется только на томе с отно-
 
      сительным номером 1  набора  томов.  Файл  содержит  список
 
      меток всех томов в наборе и имя набора томов.
 
 
 
           1.7. Файл продолжения
 
 
           Файл продолжения указан в MFD как  CONTIN.SYS;1.  Этот
 
      файл используется как идентификатор файла расширения, когда
 
      файл переходит с одного тома на другой в неточно  соединен-
 
      ном наборе томов. Этот файл  используется  для  всех  томов
 
      кроме первого в дисковом последовательном  наборе  сохране-
 
      ния.
 


                                - 212 -
 
                           00152-01 97 11
 
 
           1.8. Файл регистрации дублирования
 
 
           Файл  регистрации  дублирования  указан  в   MFD   как
 
      BACKUP.SYS;1. Этот файл зарезервирован для будущего исполь-
 
      зования.
 
 
 
           1.9. Файл регистрации ожидаемых дефектных блоков
 
 
           Файл регистрации ожидаемых дефектных блоков  указан  в
 
      MFD как BADLOG.SYS;1 . Этот файл состоит из списка  ожидае-
 
      мых дефектных блоков на томе, которые не  указаны  в  файле
 
      дефектных блоков.
 
 
 
           1.10. Сравнение файловых структур
 
 
           Файловая структура уровня 2, расширенная и совместимая
 
      со структурой уровня 1, является предпочтительной  дисковой
 
      структурой для МОС ВП в смысле производительности и  надеж-
 
      ности. Во время инициализации тома по  умолчанию  предпола-
 
      гается структура уровня 2 [2].  Структура  уровня  1  может
 
      быть указана только для томов, которые должны быть  взаимо-
 
      заменяемы с системами см эвм, так как эти системы поддержи-
 
      вают только этот уровень структуры. Кроме того, может  пот-
 
      ребоваться обработать тома со структурой уровня  1,  прене-
 
      сенными в МОС ВП из других систем.
 
           Если  в  системе   используются   тома  со  структурой
 
      уровня 1, нужно  иметь в виду  действующие там ограничения:
 
           1) каталоги - не допускается никакой иерархии  катало-
 
      гов и подкаталогов и не производится никакое упорядочивание
 
      входов в каталогах (т.е. имен файлов) (системы  СМ  ЭВМ  не
 
      поддерживают подкаталоги и упорядоченные по алфавиту  входы
 


                                - 213 -
 
                           00152-01 97 11
 
 
      в каталогах);
 
           2) дисковые квоты - не поддерживаются;
 
           3) многотомные файлы и наборы томов - не поддерживают-
 
      ся;
 
           4) управление размещением - не поддерживается;
 
           5) кэши блоков заголовков файлов, слотов идентификации
 
      файлов или входов экстентов не применяются;
 
           6) системный диск не может быть  томом  со  структурой
 
      уровня 1;
 
           7) доступ кластера ЭВМ - только локальный  доступ;  не
 
      может быть разделяемым за пределами кластера;
 
           8) закрепление за кластером - не поддерживается;
 
           9) дубликат собственного блока - не поддерживается;
 
           10) код защиты E, означающий  расширение  для  ОС  РВ,
 
      игнорируется МОС ВП;
 
           11) версии файлов - ограничены до 32767; пределы числа
 
      версий не поддерживаются;
 
           12) средства усиления защиты (например, списки  управ-
 
      ления доступом) не поддерживаются;
 
           Будущие расширения МОС ВП будут основываться в  первую
 
      очередь на структуре уровня 2, поэтому тома  со  структурой
 
      уровня 1 могут подвергаться дальнейшим ограничениям.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


                                - 214 -
 
                           00152-01 97 11
 
 
                                                     Приложение 2
 
 
 
 
                Магнитная лента со стандартными метками
 
 
 
                       1. Тома магнитной ленты
 
 
 
           Данное приложение описывает стандартные метки,  данные
 
      и форматы записей, поддерживаемые МОС ВП.
 
 
 
           1.1. Логический формат томов со стандартными метками
 
 
           Формат томов магнитной ленты МОС ВП основан  на  стан-
 
      дарте [11] для меток магнитных лент  уровня  3  и  файловой
 
      структуре для обмена информацией. Этот стандарт задает фор-
 
      мат, содержимое и последовательность меток файлов и  струк-
 
      тур файлов. В соответствии с этим стандартом  тома  записы-
 
      ваются и считываются только на устройствах с девятидорожеч-
 
      ной магнитной лентой. Содержимое меток должно  соответство-
 
      вать предписанным форматам  данных  и  записей.  Все  метки
 
      должны состоять из символов кода КОИ-8.
 
           Стандартный формат меток МОС ВП позволяет  производить
 
      запись двоичных данных в секциях файлов. Однако, если  пла-
 
      нируется использование таких файлов для обмена  информацией
 
      между системами, следует позаботиться о том,  чтобы  прини-
 
      мающая система могла читать двоичные данные.
 


                                - 215 -
 
                           00152-01 97 11
 
 
           1.2. Вспомогательный управляющий процесс (MTAACP)
 
 
           Вспомогательный управляющий процесс для магнитных лент
 
      МОС ВП (MTAACP) - это внутренний программный процесс опера-
 
      ционной системы, который интерпретирует  логический  формат
 
      томов МОС ВП со стандартными метками. Незаметно для процес-
 
      са пользователя MTAACP читает, записывает и  интерпретирует
 
      стандартные метки  МОС  ВП  перед  передачей  информации  в
 
      СУД-32  и  в  программу  системного  обслуживания   очереди
 
      ввода/вывода ($QIO). Эта программа в свою  очередь  читает,
 
      записывает и интепретирует форматы записи данных,  записан-
 
      ных в секциях файла.
 
 
 
           1.3. Основные компоненты стандартного формата
 
 
           Формат магнитных лент МОС ВП со  стандартными  метками
 
      состоит из четырех базовых компонент:
 
           1) маркеров начала ленты (BOT) и конца ленты (EOT);
 
           2) ленточных марок;
 
           3) секций файла;
 
           4) меток тома, головных и хвостовых меток.
 
           Рис. 1 показывает устройство и функции этих компонент.
 


                                - 216 -
 
                           00152-01 97 11
 
 
 
 
      !---------------------!
      ! Маркер начала ленты !   Марки начала записываемой области
      !    MARKER (BOT)     ! TOMA;
      !---------------------!
      ! Метка тома (VOL1)   !   Идентифицирует том;
      !---------------------!
      ! Головные метки файла!   Описывают  и ограничивают  каждый
      !  (HDR1,HDR2,HDR3)   ! файл;
      !---------------------!
      ! Ленточная марка (тм)!   Отделяет головные метки от секции
      !                     ! файла;
      !---------------------!
      !                     !   Содержит   данные   пользователя.
      !                     ! Данные  на  томах,  предназначенных
      !                     ! для обмена  с  системами, отличными
      !                     ! от МОС ВП должны быть  представлены
      !    Секция файла     ! символами  "A".  Данные  на   томах
      !                     ! обмениваемых  с  системами  МОС  ВП
      !                     ! могут  быть закодированы в двоичном
      !                     ! виде;
      !---------------------!
      ! Ленточная марка (ТМ)!   Отделяет  секцию файла от хвосто-
      !                     ! вых меток;
      !---------------------!
      !                     !   Описывает  и  ограничивают файлы.
      !                     ! В  случае  тома  продолжения вместо
      !Хвостовые метки файла! меток  EOF  записываются метки EOV.
      !                     ! Метки EOF3  или  EOV3  записываются
      !                     ! только, если записана метка HDR3;
      !---------------------!
      !                     !   Указывают  логический конец тома.
      ! Две ленточные марки ! После хвостовых   меток  последнего
      !      (ТМ)           ! файла на томе  всегда  записываются
      !                     ! две последовательные ленточные мар-
      !                     ! ки;
      !---------------------!
      !                     !   Указывает на пустую или непереза-
      !  Свободная лента    ! писанную   ленту.  Свободная  лента
      !                     ! MOжет быть расположена  между логи-
      !                     ! ческим концом тома и маркером еот;
      !---------------------!
      !  Маркер конца ленты !   Марки, с которых начинается ко-
      !    MARKER (EOT)     ! нечная часть записываемой области.
      !---------------------!
      !                     !
 
 
 
 
                                Рис. 1
 
 


                                - 217 -
 
                           00152-01 97 11
 
 
           1.3.1. Маркеры начала ленты и конца ленты
 
 
           Каждый том имеет маркеры начала ленты  (BOT)  и  конца
 
      ленты (EOT). Эти маркеры представляют собой полоски фотоот-
 
      ражающей ленты, которые ограничивают пригодную  для  записи
 
      область тома. Стандартный формат требует, чтобы маркеру вот
 
      предшествовало от 4,3 м до 5,5 м магнитной ленты,  а  после
 
      маркера EOT должно следовать от 7,6 м до  9,1  м  магнитной
 
      ленты, из которых должны  быть  пригодными  для  записи  не
 
      менее трех метров. Маркер EOT  показывает  начало  конечной
 
      записываемой области ленты, а не  физический  конец  ленты.
 
      Следовательно, данные и метки могут записываться после мар-
 
      кера еот.
 
 
 
           1.3.2. Ленточные марки
 
 
           Ленточные марки отделяют метки файлов от  секций  фай-
 
      лов, один файл от другого и помечают логический конец тома.
 
      По качеству и относительному положению ленточных марок  МОС
 
      ВП определяет, что определяется ленточной  маркой:  границы
 
      метки, файла или тома.
 
           Ленточные марки записываются  по  одиночке  и  парами.
 
      Одиночная ленточная марка отделяет  либо  секцию  файла  от
 
      заголовка и хвостовых меток, либо  один  файл  от  другого.
 
      Записанная после набора головных меток одиночная  ленточная
 
      марка указывает на начало секции  файла.  Записанная  перед
 
      набором хвостовых меток одиночная ленточная марка указывает
 
      на конец секции файла. Записанная  после  набора  хвостовых
 
      меток одиночная ленточная марка отделяет один файл от  дру-
 
      гого.
 
           Двойные ленточные марки отмечают, что либо  существует


                                - 218 -
 
                           00152-01 97 11
 
 
      пустая секция файла, либо достигнут логический конец  тома.
 
      Система МОС ВП при инициализации тома создает пустой файл.
 
 
 
           1.3.3. Метки тома, головные и хвостовые метки
 
 
           Метки идентифицируют и описывают тома и файлы, а также
 
      управляют доступом к ним. Стандартный формат МОС ВП поддер-
 
      живает метки тома, головные и хвостовые метки.  Метки  тома
 
      являются первыми метками, записываемыми на томе. Они  иден-
 
      тифицируют том и владельца тома, а также  указывают  защиту
 
      доступа.  Головные  и  хвостовые  метки  являются  наборами
 
      меток, идентифицирующих, описывающих и ограничивающих  фай-
 
      лы. Головные метки  предшествуют  файлам;  хвостовые  метки
 
      следуют за файлами.
 
           В табл. 1 перечислены метки,  поддерживаемые  МОС  ВП.
 
      Все другие метки при вводе игнорируются.
 
                                                        Таблица 1
 
               Метки и компоненты, поддерживаемые МОС ВП
 
      -----------------------------------------------------------
                     !
       Идентификатор !               Значение
                     !
      -----------------------------------------------------------
                     !
         BOT         !     Маркер начала ленты
                     !
         EOF1        !     Первая хвостовая метка файла
                     !
         EOF2        !     Вторая хвостовая метка файла
                     !
         EOF3        !     Третья хвостовая метка файла
                     !
         EOF4        !     Четвертая хвостовая метка файла
                     !
         EOT         !     Маркер конца ленты
                     !
         EOV1        !     Первая метка конца тома
                     !
         EOV2        !     Вторая метка конца тома
                     !
         EOV3        !     Третья метка конца тома
                     !


                                - 219 -
 
                           00152-01 97 11
 
 
                                              Продолжение табл. 1
      -----------------------------------------------------------
                     !
       Идентификатор !               Значение
                     !
      -----------------------------------------------------------
         EOV4        !     Четвертая метка конца тома
                     !
         HDR1        !     Первая головная метка
                     !
         HDR2        !     Вторая головная метка
                     !
         HDR3        !     Третья головная метка
                     !
         HDR4        !     Четвертая головная метка
                     !
         VOL1        !     Первая метка тома
                     !
         VOL2        !     Вторая метка тома
                     !
         TM          !     Ленточная марка
                     !
         TM TM       !     Двойная ленточная  марка (указывает на
                     !
                     ! секцию  пустого файла или логический конец
                     !
                     ! тома)
                     !
           Несмотря на то что каждый тип меток использует различ-
 
      ный формат для организации своего содержимого,  все  метки,
 
      соответствующие версии 3 стандарта, должны состоять из сим-
 
      волов "A". Некоторые метки содержат зарезервированные поля,
 
      предназначенные для будущего использования  в  системе  или
 
      для будущей стандартизации. Зарезервированные  поля  должны
 
      также состоять из символов "A"; однако  МОС  ВП  игнорирует
 
      эти символы при вводе.
 
 
 
           1.4. Конфигурация томов и файлов
 
 
           Тома со стандартными метками МОС ВП поддерживают четы-
 
      ре конфигурации файл - том:
 
           1) один файл - один том;
 
           2) один файл - несколько томов;
 
           3) несколько файлов - один том;
 


                                - 220 -
 
                           00152-01 97 11
 
 
           4) несколько файлов - несколько томов.
 
           Все эти конфигурации подчиняются следующим правилам:
 
           - один файл может содержать до 9999 секций. В  сущнос-
 
      ти, длина файла неограничена;
 
           - только одна секция  данного  файла  записывается  на
 
      том;
 
           - когда один файл состоит из более чем  одной  секции,
 
      каждая секция файла записывается на отдельном томе в наборе
 
      томов. Номера каждой секции файла  записываются  последова-
 
      тельно в  возрастающем  порядке  (секция  N+1  записывается
 
      непосредственно за секцией  N);  секции  разных  файлов  не
 
      перемешиваются.
 
 
 
           1.4.1. Конфигурация один файл - один том
 
 
           Конфигурация один файл - один том  состоит  из  одного
 
      файла на одном томе. Компоненты  стандартного  формата  для
 
      данной конфигурации иллюстрируются на рис. 2.
 


                                - 221 -
 
                           00152-01 97 11
 
 
 
                   Конфигурация один файл - один том
 
            ----------------------------------------------
            !. . .! BOT ! VOL1 ! HDR1 ! NDR2 ! HDR3 ! TM !-------
            ----------------------------------------------      !
                                                                !
              ----------------------------------------          !
      --------!            Первый  файл              !-----------
      !       ----------------------------------------
      !
      !      -----------------------------------------------
      !------!    ! TM ! EOF1 ! EOF2 ! EOF3 ! TM ! TM !    !-----
             -----------------------------------------------    !
                                                                !
              ----------------------------------------          !
      --------!            Чистая  лента             !-----------
      !       ----------------------------------------
      !
      !     --------------
      ------! EOT ! . . .!
            --------------
 
 
 
 
                                Рис. 2
 
 
 
           1.4.2. Конфигурация один файл - несколько томов
 
 
           Конфигурация один файл - несколько  томов  состоит  из
 
      одного файла, который занимает два или более томов в наборе
 
      томов. Рис. 3 иллюстрирует компоненты стандартного  формата
 
      для данной конфигурации.
 


                                - 222 -
 
                           00152-01 97 11
 
 
 
              Конфигурация один файл - несколько томов
 
           ----------------------------------------------
           ! ... ! BOT ! VOL1 ! HDR1 ! HDR2 ! HDR3 ! TM !-----
           ----------------------------------------------    !
                                                             !
                 ----------------------------------          !
       ----------!  Первая секция первого файла   !-----------
       !         ----------------------------------
       !
       !   ----------------------------------------------
       ----! EOT * ! TM ! EOV1 ! EOV2 ! TM ! TM ! . . . !
           ----------------------------------------------
 
      Том продолжения;
 
           ----------------------------------------------
           ! ... ! BOT ! VOL1 ! HDR1 ! HDR2 ! HDR3 ! TM !-----
           ----------------------------------------------    !
                                                             !
                 ----------------------------------          !
       ----------!      Вторая секция файла       !-----------
       !         ----------------------------------
       !
       !   -----------------------------------------------------
       ----! TM ! EOF1 ! EOF2 ! EOF3 ! TM ! TM !...! EOT !...  !
           -----------------------------------------------------
 
      * - когда драйвер  при  операции  записи  обнаруживает EOT,
 
      MTAACP  записывает соответствующие хвостовые метки и выпол-
 
      няет при необходимости переключение томов.
 
 
 
                                Рис. 3
 
 
 
           1.4.3. Конфигурация несколько файлов - один том
 
 
           Конфигурация несколько файлов - один  том  состоит  из
 
      двух или более файлов, расположенных  на  одном  томе.  Это
 
      наиболее общая конфигурация файлов и томов. Рис. 4  иллюст-
 
      рирует компоненты стандартного формата для этой  конфигура-
 
      ции.
 


                                - 223 -
 
                           00152-01 97 11
 
 
 
                Конфигурация несколько файлов - один том
 
        ----------------------------------------------------
        ! . . . ! BOT ! VOL1 ! HDR1 ! HDR2 ! HDR3 !   TM   !-----
        ----------------------------------------------------    !
                                                                !
                     ----------------------------------         !
      ---------------!         Первый  файл           !----------
      !              ----------------------------------
      !
      !   --------------------------------------------------
      ----! TM! EOF1! EOF2! EOF3! TM! HDR1! HDR2! HDR3! TM !-----
          --------------------------------------------------    !
                                                                !
                     ----------------------------------         !
      ---------------!          Второй  файл          !----------
      !              ----------------------------------
      !
      !   ------------------------------------------------
      ----! TM! EOF1! EOF2! EOF3! TM! TM! ... ! EOT! ... !
          ------------------------------------------------
 
 
 
 
                                Рис. 4
 
 
 
           1.4.4. Конфигурация несколько файлов - несколько томов
 
 
           Конфигурация несколько файлов - несколько  томов  сос-
 
      тоит из двух или более файлов, которые продолжаются на двух
 
      или более томах в одном и  том  же  наборе  томов.  Рис.  5
 
      иллюстрирует компоненты стандартного формата для этой  кон-
 
      фигурации.
 


                                - 224 -
 
                           00152-01 97 11
 
 
 
            Конфигурация несколько файлов - несколько томов
 
           ----------------------------------------------
           ! ... ! BOT ! VOL1 ! HDR1 ! HDR2 ! HDR3 ! TM !--------
           ----------------------------------------------       !
                                                                !
                  -------------------------------               !
      ------------!        Первый  файл         !----------------
      !           -------------------------------
      !
      !    --------------------------------------------------
      -----! TM! EOF1! EOF2! EOF3! TM! HDR1! HDR2! HDR3! TM1!----
           --------------------------------------------------   !
                                                                !
                  ---------------------------------             !
      ------------!  Первая секция второго файла  !--------------
      !           ---------------------------------
      !
      !    -----------------------------------------------
      -----!  EOT ! TM ! EOV1 ! EOV2 ! EOV3 !TM! TM! ... !
           -----------------------------------------------
 
 
 
 
                                Рис. 5
 
 
 
           1.5. Метки тома
 
 
           1.5.1. Метка VOL1
 
 
           80-символьная метка тома (VOL1) -  это  первая  метка,
 
      записанная на томе со стандарнтными  метками  МОС  ВП.  Она
 
      определяет тип метки, имя и владельца тома. Несмотря на  то
 
      что в метке VOL1 имеется  много  полей,  здесь  описываются
 
      только те поля, к которым  пользователь  может  осуществить
 
      доступ или которые могут ограничить доступ  к  тому  и  его
 
      файлам в МОС ВП.
 


                                - 225 -
 
                           00152-01 97 11
 
 
           1.5.1.1. Поле идентификатора тома
 
 
           Поле идентификатора тома - это  шестисимвольное  поле,
 
      содержащее имя тома. Идентификатор тома указывает в команд-
 
      ной строке при инициализации или монтировании тома. Иденти-
 
      фикатор тома состоит из шести символов "A". Символы нижнего
 
      регистра не включаются в набор "A", но если  их  указывают,
 
      МОС ВП заменит их на символы верхнего регистра. Если указы-
 
      вается менее шести символов, МОС ВП дополняет поле,  вырав-
 
      нивая его справа с помощью символа "пробел".
 
 
 
           1.5.1.2. Поле доступности
 
 
           Поле доступности - это  односимвольное  поле,  которое
 
      позволяет управлять доступом к тому.
 
 
 
           1.5.1.3. Поле идентификатора реализации
 
 
           Поле идентификатора реализации содержит  идентификатор
 
      реализации, в которой создана  магнитная  лента.  Это  поле
 
      управляет тем, как интепретируются  определенные  зависимые
 
      от реализации поля и метки тома.  Идентификатор  реализации
 
      файловой системы магнитной ленты - это DECFILEII A.
 
 
 
           1.5.1.4. Поле идентификатора владельца
 
 
           Поле идентификатора владельца предоставлено  пользова-
 
      телю. Это поле не влияет на проверку доступа пользователя к
 
      тому за некоторыми исключeниями (разд. 2).
 


                                - 226 -
 
                           00152-01 97 11
 
 
           1.5.2. Метка VOL2
 
 
           Дополнительно к первой метке тома (VOL1) МОС ВП  обес-
 
      печивает вторую метку (VOL2) тома.
 
 
 
           1.5.2.1. Поле владельца тома
 
 
           Поле владельца тома содержит  информацию  о  системной
 
      защите, которая была записана на  магнитную  ленту.  Вторая
 
      метка тома записывается только в  том  случае,  если  схема
 
      системной  защиты  была  указана  в   команде   MOUNT   или
 
      INITIALIZE.
 
           Поле владельца тома содержит также  значение,  которое
 
      связывает код  идентификации  пользователя  (UIC)  с  кодом
 
      защиты МОС ВП, заданным для тома. По умолчанию  МОС  ВП  не
 
      записывает UIC в это поле, позволяя,  таким  образом,  всем
 
      пользователям иметь доступ для чтения и записи. Однако надо
 
      заметить, что типы доступа для выполнения и удаления приме-
 
      няются для томов магнитной ленты. Кроме того, независимо от
 
      указываемых кодов защиты пользователи  категории  SYSTEM  и
 
      OWNER всегда имеют  права  доступа  для  чтения  и  записи.
 
      Содержимое поля владельца тома зависит  от  кода  системной
 
      защиты, который указал пользователь.
 
 
 
           1.6. Головные метки
 
 
           МОС ВП поддерживает четыре головные метки файла: HDR1,
 
      HDR2, HDR3 и HDR4. Метки HDR3 и HDR4 являются  необязатель-
 
      ными.
 


                                - 227 -
 
                           00152-01 97 11
 
 
           1.6.1. Метка HDR1
 
 
           Каждый файл на томе имеет метку HDR1, которая  иденти-
 
      фицирует и описывает файл, обеспечивая MSAACP МОС  ВП  сле-
 
      дующей информацией:
 
           - идентификатором файла;
 
           - идентификатором набора файлов;
 
           - номером секции файла;
 
           - порядковым номером файла;
 
           - номерами поколения и версии поколения;
 
           - датами создания и истечения срока хранения файла;
 
           - кодом доступности;
 
           - идентификатором реализации.
 
 
 
           1.6.1.1. Поле идентификатора файла
 
 
           Поле идентификатора файла содержит первые 17  символов
 
      имени файла. Остаток имени файла записывается в метку  HDR4
 
      (при условии, что эта метка используется). Если метка  HDR4
 
      не поддерживается, имя файла длиннее 17 символов будет сок-
 
      ращено. Можно использовать стандартное имя файла или специ-
 
      фикацию файла МОС ВП в следующем формате:
 
           Имя_файла.тип;версия
 
           Спецификация файла МОС ВП является подмножеством стан-
 
      дартных имен файлов. Однако стандартные имена файлов приме-
 
      няются только для томов магнитной ленты; спецификации  фай-
 
      лов МОС ВП применяются для ленточных и дисковых томов.  Оба
 
      типа спецификаторов файла применимы в режиме совместимости.
 
           Спецификация файла МОС ВП состоит из имени файла, типа
 
      файла и необязательного  номера  версии.  Допустимые  имена
 
      файлов содержат точку, за которой следует максимум 39  сим-


                                - 228 -
 
                           00152-01 97 11
 
 
      волов. Номер версии и тип файла разделяются точкой с  запя-
 
      той.
 
           Исключая символы обобщения, для имен и типов файлов  в
 
      МОС ВП допускаются только символы:
 
           1) буквы от а до Z;
 
           2) цифры от 0 до 9;
 
           3) специальные символы - амперсенд (&),  минус  (-)  и
 
      денежный знак ($).
 
           Специальными символами являются только точка и точка с
 
      запятой, которые всегда являются разделителями.
 
           Стандартные имена файлов не содержат поля типа  файла.
 
      Стандартное имя файла состоит из 17-символьной строки  име-
 
      ни, точки, точки с запятой и необязательного номера версии.
 
      Можно указать строку имени, содержащую 17 символов "A",  но
 
      ее следует заключить в пару двойных кавычек (как  например,
 
      "FILE NAME"). Если указывается менее  17  символов,  строка
 
      дополняется справа пробелами. Если указывается  имя  файла,
 
      которое содержит в конце пробелы, МОС ВП отсекает их.
 
           Несмотря на то что можно указывать более длинные имена
 
      файлов - до 79 символов -  для  обмена  будут  использованы
 
      только первые 17 символов.
 
           Символ двойные  кавычки  требует  более  внимательного
 
      рассмотрения, так как он  является  и  ограничителем  имени
 
      файла и действительным символом "A", который может  сам  по
 
      себе быть включен  в  строку  имени.  Для  каждого  символа
 
      "двойные кавычки", который должен быть интепретирован  сис-
 
      темой МОС ВП, следует указывать его дважды.  Дополнительный
 
      символ "двойные кавычки" информирует МОС ВП о том, что сим-
 
      вол "двойные кавычки" является частью строки  имени,  а  не
 
      ограничителем.


                                - 229 -
 
                           00152-01 97 11
 
 
           Встроенные пробелы являются также допустимыми символа-
 
      ми, встроенные  знаки  табуляции  -  нет.  Символы  нижнего
 
      регистра не содержатся в наборе символов "A", но  если  они
 
      указываются, МОС  ВП  преобразует  их  в  символы  верхнего
 
      регистра.
 
           Если не указывается тип файла  или  номер  версии  при
 
      вводе, МОС ВП будет устанавливать точку (тип файла, исполь-
 
      зуемый по умолчанию)  и  точку  с  запятой  (номер  версии,
 
      используемый по умолчанию). Однако точка и точка с  запятой
 
      не будут записываться в это поле на магнитной ленте.
 
           Несмотря на то что МОС ВП рассматривает номера  версий
 
      для стандартных имен файлов и имен файлов МОС ВП как  часть
 
      спецификации имени файла, номер версии файла не записывает-
 
      ся в поле идентификатора файла, но заносится в поля  номера
 
      поколения и номера версии поколения.
 
           Пример демонстрирует стандартные имена файлов. На вхо-
 
      де показаны форматы, задаваемые пользователем. Далее  пока-
 
      зано, что поступает в процессе пользователя и формат, запи-
 
      сываемый в метку. Знак номера (#) в примере показывает сим-
 
      вол пробела. В последнем формате имя файла  МОС  ВП  заклю-
 
      чается в двойные кавычки подобно стандартному  имени  файла
 
      при вводе. Однако МОС ВП возвращает имя файла процессу  как
 
      имя файла МОС ВП, а не как стандартное имя файла.  Следова-
 
      тельно, когда заключается допустимое имя  файла  МОС  ВП  в
 
      двойные кавычки при вводе, МОС ВП производит  разбор  имени
 
      файла как имени файла МОС ВП.
 
           Пример.
 
           Ввод
 
 
 
      "AB2&D""FGHI*K4""#-M";2


                                - 230 -
 
                           00152-01 97 11
 
 
      "##########"
 
      """"""""""""""""""""""""""";
 
      "DWDEVOP.DAT"
 
      "VOS_LONG_FILENAME.LONG_FILETYPE"
 
 
 
 
 
           Вывод в процесс пользователя
 
 
 
      "AB2&D""FGHI*K4""#-M";2
 
      "".;
 
      """""""""""""""""""""""""""".;
 
      DWDEVOP.DAT;
 
      VOS_LONG_FILENAME.LONG_FILETYPE
 
 
 
 
 
           Вывод в метку HDR1
 
 
 
      AB2&D"FGHI*K4"#-M
 
      #################
 
      """""""""""""####
 
      DWDEVOP.DAT######
 
      VOS_LONG_FILENAME
 
 
 
 
 


                                - 231 -
 
                           00152-01 97 11
 
 
           1.6.1.2. Поле идентификатора набора файлов
 
 
           Шестисимвольное поле идентификатора набора файлов ука-
 
      зывает на все  файлы,  которые  принадлежат  одному  набору
 
      томов. Идентификатор набора файлов для любого файла  внутри
 
      данного набора должен всегда быть тем же самым, что и иден-
 
      тификатор набора файлов первого файла на первом монтируемом
 
      томе. Для МОС ВП идентификатор набора файлов -  это  то  же
 
      самое, что и идентификация первого тома, который монтирует-
 
      ся.
 
 
 
           1.6.1.3. Поля  номера  поколения   и   номера   версии
 
      поколения
 
 
           Поля номера поколения и номера версии поколения задают
 
      номер версии, который указывается при вводе и  записывается
 
      системой МОС ВП при выводе. МОС ВП не наращивает номер вер-
 
      сии файла, даже когда версия указанного файла  уже  сущест-
 
      вует на томе. Следовательно, если файл, который  указывает-
 
      ся, имеет то же самое  имя  файла  и  номер  версии  что  и
 
      существующий файл, пользователь получит по крайней мере два
 
      файла с одинаковым номером версии в одном и том  же  наборе
 
      томов.
 
           При вводе МОС ВП  вычисляет  номер  версии,  используя
 
      формулу:
 
           Номер_версии =
 
           [(номер_поколения---1)100] + номер_версии_-
 
           Поколения + 1
 
           Номера версий, большие чем 32767,  делятся  на  32768;
 
      целый остаток становится номером версии.
 
           При выводе номер поколения получается из номера версии


                                - 232 -
 
                           00152-01 97 11
 
 
      с помощью формулы:
 
           Номер_поколения = [(номер_версии---1)/100] + 1
 
           Если после деления номера  версии  на  100  существует
 
      остаток, он становится  номером  версии  поколения.  Он  не
 
      добавляется к 1 для формирования номера поколения.
 
 
 
           1.6.1.4. Поля даты создания и даты хранения
 
 
           Поле даты создания содержит дату создания файла.  Поле
 
      даты хранения содержат дату истечения срока хранения файла.
 
      МОС ВП интерпретирует дату хранения первого файла  на  томе
 
      как дату хранения файла и тома. МОС ВП записывает даты соз-
 
      дания и хранения в юлианском формате.  Это  шестисимвольный
 
      формат (#YYDDD) состоящий из пробела (#), года (YY)  и  дня
 
      (DDD). Для этих полей применяются только даты; время всегда
 
      возвращается как 00:00:00:00.
 
           По умолчанию МОС ВП записывает в оба поля дат  текущую
 
      дату создания файла. Так как дата хранения является той  же
 
      самой что и дата создания, срок хранения истекает при  соз-
 
      дании , и можно сразу же перезаписать его. Если дата  срока
 
      хранения является более поздней датой чем дата  создания  и
 
      если  файлы,  которые  желательно  перезаписать,  имеют  не
 
      истекший срок хранения, необходимо  указывать  квалификатор
 
      /OVERRIDE=EXPIRATION в командах INITIALIZE или MOUNT.
 
           Для записи дат, отличных от  используемых  МОС  ВП  по
 
      умолчанию в полях дат в  данной  метке,  следует  указывать
 
      поле даты  создания  (CDT)  и  поле  даты  хранения  (EDT),
 
      используя  расширенный  блок  атрибутов  даты   и   времени
 
      (XABDAT) СУД-32.
 
           Если указывается дата создания, СУД-32 использует  для
 


                                - 233 -
 
                           00152-01 97 11
 
 
      поля даты создания текущую дату.
 
           Для задания нулевой даты создания следует указать  год
 
      более ранний чем 1900. Если указывается в поле даты  двоич-
 
      ный нуль, система МОС ВП будет записывать в это поле  теку-
 
      щую дату [7].
 
 
 
           1.6.1.5. Поле доступности
 
 
           Содержимое поля  доступности  описано  при  обсуждении
 
      использования доступности в метке тома.
 
 
 
           1.6.2. METKA HDR2
 
 
           Метка HDR2 описывает формат записи, максимальный  раз-
 
      мер записи и максимальный размер блока файла.
 
 
 
           1.6.2.1. Поле формата записи
 
 
           Поле формата записи  указывает  тип  формата  записей,
 
      содержащихся в файле. МОС ВП поддерживает два формата запи-
 
      сей:
 
           1) фиксированной длинны (F);
 
           2) переменной длинны (D).
 
           Если файлы содержат форматы записей, не поддерживаемые
 
      МОС ВП, система не может интерпретировать форматы и класси-
 
      фицирует их как неопределенные.
 
           Записи фиксированной длины имеют все одну и ту же дли-
 
      ну. Никакой индикации длины внутри записи не требуется, так
 
      как длина определяется либо меткой HDR2, либо  квалификато-
 
      ром /RECORDSIZE.
 
           Запись фиксированной длинны  может  составлять  полный
 


                                - 234 -
 
                           00152-01 97 11
 
 
      блок, или несколько записей могу быть сгруппированы в блок.
 
           При блокировании записей не является необходимым, что-
 
      бы блок был заполнен данными. Если блок не заполнен  данны-
 
      ми, он дополняется с помощью символов циркумфлекс (^).  Это
 
      означает , что нельзя иметь  запись  фиксированной  длинны,
 
      содержащую  только  символы  циркумфлекс;   система  Д сод-

      держащую ТТ,

      интерпретировать их как расширение, а не данные.
 
           Рис. 6 показывает блок  записей  фиксированной  длины.
 
      Каждая запись имеет фиксированную длину, равную 50  байтам.
 
      Все шесть записей содержаться в 300-байтном  блоке.  Записи
 
      являются сблокированными,  т.е.  сгруппированы  вместе  как
 
      одно целое для  увеличения  эффективности  обработки.  Если
 
      записи являются сблокированными, можно осуществить доступ к
 
      некоторому их числу с помощью одного запроса на ввод-вывод.
 
      Размер блока должен быть кратен размеру записей.
 
 
                Сблокированные записи фиксированной длины
 
      -----------------------------------------------------------
               !         !         !         !         !
        Запись !  Запись !  Запись ! Запись  !  Запись !  Запись
               !         !         !         !         !
      50 байтов!50 байтов!50 байтов!50 байтов!50 байтов!50 байтов
               !         !         !         !         !
      -----------------------------------------------------------
 
                               Блок
 
                            300 байтов
 
      -----------------------------------------------------------
 
 
                                Рис. 6
 
           Размер записи  переменной  длины  содержится  в  слове
 
      управления записями (RCW). RCW состоит из  четырех  байтов,
 
      расположенных в начале  каждой  записи.  Запись  переменной
 
      длины может быть полным блоком, или несколько записей могут
 
      быть сгруппированы вместе в одном блоке.


                                - 235 -
 
                           00152-01 97 11
 
 
           Две записи переменной длины показаны на рис. 7. Первая
 
      состоит из 54 байтов, включая RCW. Вторая  состоит  из  112
 
      байтов, включая RCW. Записи содержаться в 166-байтном  бло-
 
      ке.
 
 
                        Запись переменной длины
 
 
         Размер записи   !   Размер записи       !
                         !                       !
          байта = 54     !    байтов = 112       !
                         !                       !
      !<---------------->!<--------------------->!
      !                  !                       !
      -----------------------------------------------------------
      !      !           !      !                !              !
      !  RCW !  Данные   !  RCW !     Данные     !  Дополняющие !
      !      !           !      !                !              !
      !  54  ! 50 байтов !  112 !  180  байтов   !    символы   !
      !      !           !      !                !              !
      !      !           !      !                !     байтов   !
      !      !           !      !                !              !
      -----------------------------------------------------------
      !                                                         !
      !                         Блок                            !
      !                                                         !
      !                     180  байтов                         !
      !                                                         !
      -----------------------------------------------------------
 
 
                                Рис. 7
 
           Не  следует  использовать  системно-зависимые  форматы
 
      записей на томах, предназначенных для  обмена  информацией.
 
      Системно-зависимые форматы МОС ВП - это потоковый  и  пере-
 
      менный с фиксированным управлением (VFC).
 
 
 
           1.6.2.2. Поле длины блока
 
 
           Поле длины блока показывает максимальный  размер  бло-
 
      ков. В соответствии со стандартом допустимые размеры блоков
 
      должны находиться в диапазоне от 18 до 2048 байтов.  Однако
 
      система МОС ВП позволяет указывать меньший и больший разме-
 
      ры  блоков  с  использованием  квалификатора  /BLOCKSIZE  в


                                - 236 -
 
                           00152-01 97 11
 
 
      команде MOUNT. Для указания размера блока через СУД-32 сле-
 
      дует  обратиться  к  полю  BLS  в  блоке  доступа  к  файлу
 
      (FAB) [7]. Если задается размер блока, выходящий за пределы
 
      стандартного диапазона, том может не быть корректно обрабо-
 
      тан другими системами, поддерживающими стандарт.
 
 
 
           1.6.2.3. Поле длины записи
 
 
           Поле длины записи указывает либо размер записей фикси-
 
      рованной длины, либо максимальный размер записей переменной
 
      длины в файле. Размеры записей МОС ВП варьируются в зависи-
 
      мости от формата записи. Диапазон для записей фиксированной
 
      длины равен 1-65534 байтам; диапазон для записей переменной
 
      длины равен 4-9999  байтам,  включая  четырехбайтовое  поле
 
      RCW. Следовательно, максимальная длина области данных запи-
 
      сей переменной длины равна 9995 байтам. В  соответствии  со
 
      стандартом размер записи не должен  превышать  максимальный
 
      размер блока, равный 2048 байтам, даже несмотря на  то  что
 
      МОС ВП допускает больший размер записей (при большем разме-
 
      ре блока).
 
           Для томов, содержащих файлы, не  имеющие  меток  HDR2,
 
      следует  указывать  при  монтировании   MOUNT/RECORDSIZE=N.
 
      Переменная N определяет длину записи в  байтах.  Файлы  без
 
      меток HDR2 создаются системой, которая поддерживает  только
 
      или уровень 1 или уровень 2 стандарта для  меток  магнитной
 
      ленты и файловой структуры. Записи должны быть  фиксирован-
 
      ной длинны, так как это единственный формат записей,  кото-
 
      рый поддерживается каждым уровнем. Если  не  указан  размер
 
      записи, каждый блок  будет  рассматриваться  как  одиночная
 
      запись.
 


                                - 237 -
 
                           00152-01 97 11
 
 
           1.6.2.4. Поле зависимости от реализации
 
 
           Поле зависимости от реализации состоит из  двух  одно-
 
      символьных подполей, описывающих, как МОС ВП интерпретирует
 
      формат записей и управление формами.
 
           Первое подполе, позиция  символа  16,  указывает,  где
 
      находятся атрибуты СУД-32: в данной метке или в метке HDR3.
 
      Eсли 16 позиция содержит пробел, атрибуты СУД-32  находятся
 
      в метке HDR3; если она содержит любой символ,  отличный  от
 
      пробела, позиция 16 является первым байтом атрибутов СУД-32
 
      в метке HDR2. Атрибуты находятся в позициях символов от  16
 
      до 36 и от 38 до 50.
 
           Для томов, созданных в МОС ВП, файловая  система  маг-
 
      нитной ленты записывает атрибуты СУД-32 в HDR2.
 
           Второе подполе занимает позицию 37 и задает управление
 
      формой, которое определяет управление кареткой,  используе-
 
      мое для записей в файле. Возможные значения, поддерживаемые
 
      для томов магнитной ленты в МОС ВП, следующие:
 
           А - первый байт  записи содержит  управляющие  символы
 
      фортрана;
 
           М - запись содержит всю информацию управления формами;
 
           Пробел  -  когда  записи  помещаются  на  устройство с
 
      управлением  кареткой,  такое, как  построчное   печатающее
 
      устройство или терминал, между записями должна быть встав-
 
      лена  комбинация  "перевод  строки/возврат  каретки".  Если
 
      управление формами не задано при создании файла, такая ком-
 
      бинация применяется по умолчанию.
 


                                - 238 -
 
                           00152-01 97 11
 
 
           1.6.2.5. Поле величины смещения буфера
 
 
           Для реализаций, которые поддерживают смещения буферов,
 
      поле величины смещения буфера показывает об'ем  информации,
 
      предшествующий каждому блоку данных. Файловая система  маг-
 
      нитной ленты поддерживает  ввод  смещения  буфера,  которое
 
      означает, что длина смещения буфера,  полученная  из  метки
 
      HDR2  (при  чтении  файла),  используется  для  определения
 
      действительного начала блока данных. Файловая система  маг-
 
      нитной ленты не поддерживает запись смещения буфера.
 
           Примечание. Если открывается файл для  добавления  или
 
      изменения, и величина смещения буфера отлична от нуля, опе-
 
      рация открытия будет завершена неудачно.
 
 
 
           1.6.3. Метка HDR3
 
 
           Метка HDR3 описывает атрибуты СУД-32 файла. Для опера-
 
      ций СУД-32 данные из метки HDR3  заменяют  данные  в  метке
 
      HDR2.
 
           Несмотря на то что метка HDR3  обычно  существует  для
 
      каждого файла на томе со стандартными  метками  в  МОС  ВП,
 
      существуют две ситуации, в которых эта метка не записывает-
 
      ся:
 
           1) при инициализации тома создается  пустой  фиктивный
 
      файл; метка HDR3 не записывается, так как  пустой  файл  не
 
      требует атрибутов СУД-32;
 
           2) при монтировании указана команда MOUNT/NOHDR3. Ког-
 
      да создаются файлы на томах, которые будут  обмениваться  с
 
      системами,  не  обрабатывающими  метки   HDR3,   необходимо
 
      использовать квалификатор /NOHDR3.
 
           Атрибуты СУД-32 описывают формат  записей  файла.  Эти


                                - 239 -
 
                           00152-01 97 11
 
 
      атрибуты преобразуются из 32-байтовых двоичных  значений  в
 
      64-байтовые  представления  шестнадцатеричных  эквивалентов
 
      для записи в метку HDR3.
 
 
 
           1.6.4. METKA HDR4
 
 
           METKA HDR4 содержит остаток  имени  файла  в  МОС  ВП,
 
      который не уместился в поле идентификатора файла в HDR1.
 
 
 
           1.7. Хвостовые метки
 
 
           МОС ВП поддерживает два набора хвостовых меток:
 
           1) конца файла (EOF);
 
           2) конца тома (EOV);
 
           Хвостовая метка записывается для каждой головной  мет-
 
      ки. Метки EOF и EOV являются идентичными  эквивалентным  им
 
      головным меткам файла, исключая:
 
           1) поле идентификатора в метке (символы 1-3)  содержит
 
      EOF или EOV;
 
           2) поле счетчика блоков (символы 55-60) в метках  EOF1
 
      или EOV1 содержит число блоков данных в секциях файла.
 
           Запись конкретной метки зависит от того, будет ли файл
 
      переходить на другой том. Если файл завершается в  пределах
 
      данного тома, для разграничения  файла  записываются  метки
 
      еоF (см. рис. 2). Если файл расширяется  за  границы  тома,
 
      записываются метки EOV, указывающие, что файл  продолжается
 
      на другом томе (см. рис. 3).
 
 
 
 
 
 
 
 


                                - 240 -
 
                           00152-01 97 11
 
 
                     Перечень ссылочных документов
 
 
 
      1. Операционная  система  МОС  ВП.  Подсистема  управления.
 
         Использование диалогового командного языка и  командных
 
         процедур. Справочный материал. 000152-01 97 04.
 
      2. Операционная  система  МОС  ВП.  Подсистема  управления.
 
         Диалоговый  командный  язык.  Руководство  оператора.
 
         000152-01 34 01.
 
      3. Операционная система МОС ВП. Подсистема управления. Пра-
 
         ва доступа. Справочный материал. 000152-01 97 15.
 
      4. Операционная система МОС ВП. Подсистема системного прог-
 
         раммиста. Программа монтирования магнитных лент  и  дис-
 
         ков. Руководство пользователя. 000152-01 92 12.
 
      5. Операционная система МОС ВП. Подсистема системного прог-
 
         раммиста. Программа выявления дефектных блоков. Руковод-
 
         ство оператора. 000152-01 34 10.
 
      6. Операционная система МОС ВП. Система управления данными.
 
         Обслуживающие   программы.   Руководство   пользователя.
 
         000152-01 92 02.
 
      7. Операционная система МОС ВП. Система управления данными.
 
         Программирование на  языке  макроассемблер.  Руководство
 
         программиста. 000152-01 33 07.
 
      8. Операционная система МОС ВП. Подсистема системного прог-
 
         раммиста. Программа  преобразования файлов.  Руководство
 
         пользователя. 000152-01 92 06.
 
      9. Операционная система МОС ВП. Подсистема системного прог-
 
         раммиста. Программа сохранения и восстановления файлов.
 
         Руководство пользователя. 000152-01 92 14.
 
 
 
 


                                - 241 -
 
                           00152-01 97 11
 
 
      10.Операционная система МОС ВП. Подсистема системного прог-
 
         раммиста. Управление системой. Справочный материал.
 
         000152-01 97 10.
 
      11.ГОСТ 25752-83 (СТ СЭВ 3745-82) "Машины вычислительные и
 
         системы обработки данных. Ленты магнитные шириной 12.7 м
 
         с записью. Структура и разметка файлов".
 
 


!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!