Операционные системы и программное обеспечение на платформе zSeries

Системные сервисы UNIX (z/OS UNIX)

Разбить на страницы
Показывать лекцию целиком

Введение

Системные сервисы UNIX, получившие в новейших версиях название z/OS UNIX, являются неотъемлемым компонентом z/OS, превратившим ее в открытую операционную систему , . Начиная с версии OS/390 V1R2 реализована полная поддержка стандартов POSIX (Portable Operating System Interfaces Unix) и XPG 4.2 (X/Open Portability Guide), принятых многими разработчиками UNIX-систем. Таким образом, в z/OS UNIX реализовано два открытых системных интерфейса:

  • интерфейс системных вызовов (API) для приложений, написанных на языке C, что дает возможность запускать стандартные UNIX-приложения в z/OS;
  • интерактивный интерфейс пользователя (shell), обеспечивающий выполнение в z/OS стандартных команд, утилит и скриптов UNIX в форме, привычной для пользователей UNIX-систем.
  • Кроме этого, для хранения данных в z/OS UNIX реализована поддержка иерархической файловой системы UNIX, получившей название HFS (Hierarchical File System). Файлы UNIX размещаются в SMS-управляемых наборах данных z/OS специального типа (их называют HFS-наборами данных).

    Важно отметить, что z/OS UNIX представляет собой не надстройку или оболочку, эмулирующую интерфейсы UNIX, а является неотъемлемой частью системного ядра BCP и тесно интегрирована с другими модулями и компонентами z/OS, такими как DFSMS, RACF, WLM, SMF, RMF, SDSF, TSO/E, ISPF/PDF и др. Многие системные функции z/OS (например, TCP/IP, HTTP server), реализованы как UNIX-приложения. То же самое можно сказать и о популярных системах промежуточного слоя, таких как DB2 и Websphere Application Server.

    Приложения UNIX выполняются в адресных пространствах MVS и могут запускаться как из пользовательской среды shell, так и из среды TSO/ISPF, пакетных заданий и STC-процедур. Файлы UNIX, хранящиеся в HFS, доступны как приложениям UNIX, так и классическим приложениям z/OS (MVS) и могут обрабатываться с помощью команд TSO/ISPF и JCL-заданий. Поддерживается свободное копирование и перемещение данных между файлами HFS и наборами данных MVS.

    У пользователей существует возможность интерактивного взаимодействия с UNIX-сервисами как через стандартный TSO/ISPF-интерфейс, так и путем прямого подключения к UNIX shell через telnet/rlogin протокол в рамках TCP/IP-соединения.

    Элементы z/OS UNIX

    z/OS UNIX является базовым компонентом z/OS и включает ядро системных сервисов UNIX (UNIX System Services Kernel) и прикладные сервисы (UNIX System Services Application Services). Основные элементы z/OS UNIX и связанные с ней компоненты z/OS представлены на рис. 5.23.

    Ядро z/OS UNIX интегрировано в базовую управляющую программу z/OS и служит для реализации функций интерфейса системных вызовов (API UNIX), связанных с управлением процессами, файловой системой HFS и коммуникациями. Другие, поддерживаемые в API функции, обрабатываются непосредственно z/OS с помощью так называемых вызываемых сервисов (callable services). Вызываемые сервисы могут быть использованы в программах на ассемблере и языках высокого уровня для доступа к функциям z/OS UNIX. Ядро z/OS UNIX обычно активизируется при загрузке z/OS и работает в собственном адресном пространстве MVS.

    Прикладные сервисы z/OS UNIX представлены командным интерпретатором shell, набором стандартных утилит и отладчиком dbx. Командный интерпретатор поддерживает стандартный пользовательский интерфейс shell, позволяющий запускать приложения и утилиты, а также создавать и использовать командные файлы, называемые скриптами. Вводимые пользователем команды реализуются средствами ядра.

    Отладчик dbx предназначен для автоматизированной интерактивной отладки приложений, создаваемых на языке C/C++. Отладчик располагает набором команд, хорошо известных пользователям UNIX.

    (рис 5.23) Компоненты z/OS UNIX

    На рис. 5.23 представлены также стандартные компоненты z/OS, тесно связанные с поддержкой системных сервисов UNIX. К ним относятся:

  • TSO/ISPF - служат для выполнения команд и утилит, манипулирования файлами UNIX, а также для подключения пользователей к shell;
  • компилятор C/C++ - используется для создания переносимых UNIX-приложений;
  • языковая среда (LE), включающая библиотеку времени выполнения RTL (Run Time Library) для поддержки приложений (в том числе и на языке C/C++), - используется для выполнения команд shell и утилит;
  • подсистема управления данными DFSMS - управляет наборами данных HFS, которые содержат файлы файловой системы UNIX;
  • файловая система zFS (zSeries File System) - представленная в рамках сервисов поддержки распределенных вычислений DCE высокопроизводительная UNIX-подобная файловая система (начиная с z/OS V1R2). Может быть интегрирована в HFS как монтируемая файловая система.
  • менеджер управления рабочей нагрузкой WLM - управляет созданием процессов UNIX;
  • модуль сбора статистики SMF - фиксирует данные об используемых ресурсах;
  • модуль управления доступом к ресурсам RACF - управляет доступом к файлам и приложениям UNIX;
  • RMF - сбор данных и составление отчетов о функционировании сервисов UNIX.
  • Механизм выполнения приложений UNIX в z/OS

    Для понимания механизма функционирования UNIX-сервиса необходимо установить соответствие между понятиями, используемыми в промышленных UNIX-системах, и соответствующими понятиями, применяемыми в MVS и z/OS. В частности, пользователи UNIX хорошо знакомы с понятием процесса.

    Процесс представляет собой основную единицу работы в операционной системе UNIX и соответствует находящейся в стадии выполнения программе со всеми выделенными ей ресурсами. В зависимости от типа программы различают системные и пользовательские процессы. Среди системных выделяют процессы- демоны (daemon), работающие в фоновом режиме и предназначенные для поддержки вспомогательных системных сервисов (вывод на печать, электронная почта, запуск программ по расписанию и т.п.). Аналогом демонов в MVS могут считаться запускаемые процедуры (STC).

    Каждый процесс имеет уникальный идентификатор PID и может по своей инициативе порождать новые (дочерние) процессы с помощью системных вызовов fork() и spawn(). Таким образом, у каждого процесса (кроме одного, самого первого) существует родительский процесс, связь с которым поддерживается благодаря еще одному атрибуту процесса PPID - идентификатору родительского процесса.

    Процессы, порождаемые UNIX-приложениями в z/OS, могут выполняться исключительно в адресных пространствах (АS) MVS, причем как в собственных, так и в адресных пространствах родительского процесса (рис. 5.24). При использовании системного вызова fork() всегда создается новое адресное пространство, являющееся копией родительского. При использовании системного вызова spawn() может быть как создано новое адресное пространство, так и запущена новая задача внутри родительского АS. Адресные пространства, содержащие UNIX-процессы, могут порождаться и по инициативе MVS-приложений при обращении к вызываемым сервисам z/OS UNIX.

    (рис 5.24) Процессы в z/OS UNIX

    Теперь познакомимся более подробно с механизмом выполнения приложений UNIX в z/OS, представленным на рис. 5.25.

    Как уже отмечалось, для ядра z/OS UNIX выделяется отдельное адресное пространство (OMVS), создаваемое на этапе инициализации системы и функционирующее в соответствии с настройками, определенными в разделе BPXPRMxx системного реестра SYS1.PARMLIB. Одновременно инициализируется файловая система HFS и создается адресное пространство BPXOINIT (с помощью одноименной процедуры), выполняющее процесс-прародитель (PID=1) для всех процессов. В первую очередь BPXOINIT порождает необходимые системные процессы UNIX.

    (рис 5.25) Средства поддержки выполнения приложений UNIX

    Новые адресные пространства для приложений UNIX создаются по запросу ядра к менеджеру управления рабочей нагрузкой WLM, который использует для этой цели специальную STC-процедуру BPXAS. Адресное пространство, создаваемое BPXAS, играет роль инициатора JES2, принимая порождаемый процесс UNIX.

    Командные интерпретаторы shell, являясь приложениями UNIX, как правило, запускаются в отдельных адресных пространствах для каждого интерактивного пользовательского сеанса. При этом команды и утилиты, запускаемые в рамках сеанса, могут выполняться и как отдельные задачи в адресном пространстве shell, и в собственных адресных пространствах, в зависимости от настройки пользователя.

    Особую роль при поддержке UNIX-приложений играет процесс-демон INETD, с помощью которого обеспечивается доступ к shell для удаленных пользователей в TCP/IP-сети с использованием протоколов telnet и rlogin.

    Организация файловой системы HFS

    Организация хранения данных в операционной системе UNIX имеет существенные отличия от традиционного способа управления данными, принятого в MVS. В первую очередь файлы UNIX, в отличие от наборов данных MVS, обрабатываются системой как простая совокупность байтов без деления на логические записи, при этом логический уровень представления данных передается приложениям. Имена файлов могут содержать до 255 алфавитно-цифровых символов, при этом различают прописные и строчные буквы. Разделение файлов UNIX по типам производится в соответствии с их функциональным назначением и по типу данных. В частности, выделяют следующие типы файлов:

  • обычные - файлы общего назначения, используемые для хранения программ и данных любого типа;
  • каталоги - служат для размещения справочной информации о размещении файлов, принадлежащих данному каталогу;
  • устройства - ассоциируются с устройствами ввода-вывода;
  • символические ссылки - содержат ссылки на другие файлы;
  • именованные каналы - служат для обмена данными между процессами;
  • сокеты - служат для реализации сетевого взаимодействия.
  • Файлы группируются по соподчиненным каталогам, образуя иерархическую древовидную структуру, представленную на рис. 5.26. Вершиной дерева и единой точкой входа в файловую систему является корневой каталог ( / ). Таким образом, у каждого файла существует полное или абсолютное имя, однозначно определяющее его местоположение в файловой системе: /u/user1/docs/abc, /u/user2/prg и т.п.

    (рис 5.26) Структура файловой системы UNIX

    Наиболее важные системные программы, данные и конфигурационные файлы UNIX размещаются в специальных каталогах: /bin - команды и утилиты; /usr - файлы для поддержки решения пользовательских задач; /dev - специальные файлы устройств ввода-вывода; /etc - утилиты администрирования и конфигурационные файлы; /lib - включаемые библиотеки C/C++; /tmp - временные файлы; /var - сообщения и системные журналы; /samples - примеры программ и настроечных файлов.

    ОС UNIX использует собственную систему разграничения прав доступа к файлам (на чтение, запись и выполнение) для трех категорий пользователей: владельца файла, членов группы владельца и всех остальных.

    Все указанные выше особенности файловой системы UNIX поддерживаются системными сервисами UNIX в z/OS. Для размещения файлов UNIX и реализации иерархической структуры доступа создаются специальные однотомные SMS-управляемые наборы данных, получившие название наборов данных HFS (рис. 5.27). Каждый набор данных HFS содержит определенный сегмент файловой системы, точкой входа в который является один из каталогов . Объединение сегментов HFS производится с помощью специальной операции "монтирования", выполняемой на этапе инициализации системы или динамически. Первым всегда монтируется сегмент, содержащий корневой каталог файловой системы ( / ), к которому затем могут добавляться другие сегменты. Создание и управление наборами данных HFS осуществляется стандартным компонентом z/OS DFSMS.

    (рис 5.27) Наборы данных HFS и файловая структура

    Пользовательский интерфейс z/OS UNIX

    Основой пользовательского интерфейса UNIX является командный интерпретатор shell, реализующий взаимодействие с пользователем через терминальное устройство. Shell поддерживает язык интерактивных команд, регламентированных стандартом POSIX 1003.2, и принимает запросы пользователя на выполнение утилит и приложений. Язык shell позволяет создавать и использовать командные файлы, называемые скриптами. В z/OS UNIX включены два типа командных интерпретаторов, базирующихся на известных в мире UNIX оболочках:

  • z/OS shell на основе UNIX System V shell и Korn shell;
  • tcshell на основе Berkeley C shell;
  • Для пользователей z/OS UNIX поддерживается несколько различных режимов интерактивного доступа к системным сервисам UNIX, как с помощью shell, так и некоторыми другими способами, представленными на рис. 5.28. Рассмотрим эти возможности в условиях TCP/IP-соединения с рабочей станцией (терминалом) пользователя.

    (рис 5.28) Режимы доступа пользователей к z/OS UNIX

    Первый режим подключения является традиционным для пользователей z/OS и основан на использовании компонентов TSO/E и ISPF. В TCP/IP-сети терминалы TSO поддерживаются на основе специального протокола TN3270, представляющего собой адаптированный вариант стандартного протокола telnet. Терминалы TN3270 являются синхронными, то есть обслуживаются в режиме построчного ввода, что накладывает определенные ограничения на использование некоторых интерактивных действий пользователя по сравнению с классическими UNIX-системами.

    В рамках сеанса TSO/ISPF пользователи располагают следующими средствами доступа к сервисам UNIX :

  • Команда OMVS - запускает для пользователя индивидуальную сессию командного интерпретатора shell, при этом обеспечивается:
  • поддержка большинства команд shell;
  • поддержка команд TSO;
  • поддержка команд shell для копирования (перемещения) данных между файлами HFS и наборами данных MVS;
  • использование текстового редактора ISPF;
  • поддержка нескольких параллельных сессий.
  • Команда ISHELL (то есть ISPF shell) - запускает адаптированный в стиле диалогов ISPF интерфейс для доступа к файловой системе z/OS UNIX, с возможностью просмотра каталогов и выполнения стандартных операций над файлами (редактирование, удаление, переименование, копирование и т.д.); поддерживает средства запуска приложений и администрирования.
  • Команда OSHELL (скрипт REXX) - служит для выполнения команд shell и запуска приложений UNIX непосредственно из командной строки TSO/E.
  • Набор специальных команд TSO/E для работы с файлами UNIX и копирования (перемещения) данных между файлами HFS и наборами данных MVS ( MKDIR, OGET, OPUT и т.д.).
  • Утилита BPXBATCH - предназначена для запуска команд, скриптов и приложений UNIX в пакетных заданиях, при этом для описания файлов HFS используются специальные параметры оператора DD ( PATH, PATHDISP, PATHOPT, PATHMODE ).
  • Второй режим доступа к сервисам UNIX основан на подключении с использованием стандартных прикладных протоколов TCP/IP rlogin или telnet. Такой способ получил название "прямого подключения" к z/OS UNIX shell и поддерживает традиционные для UNIX асинхронные терминалы, обеспечивающие посимвольный ввод. Возможность прямого подключения требует инициализации и настройки серверных компонентов telnet и rlogin, а также разрешений на доступ в профиле RACF пользователя. В отличие от режима OMVS, здесь можно задействовать текстовый редактор vi, но ограничена поддержка команд TSO.

    Третий режим доступа к сервисам UNIX основан на использовании ftp-протокола, также являющегося стандартным прикладным протоколом TCP/IP. В данном режиме поддерживается ряд команд, с помощью которых можно получать доступ к данным MVS и UNIX и производить операции по их копированию (перемещению) на рабочую станцию пользователя и обратно, а также запускать на выполнение подготовленные на рабочей станции пакетные задания.

    Страницы:

    Введение

    Системные сервисы UNIX, получившие в новейших версиях название z/OS UNIX, являются неотъемлемым компонентом z/OS, превратившим ее в открытую операционную систему , . Начиная с версии OS/390 V1R2 реализована полная поддержка стандартов POSIX (Portable Operating System Interfaces Unix) и XPG 4.2 (X/Open Portability Guide), принятых многими разработчиками UNIX-систем. Таким образом, в z/OS UNIX реализовано два открытых системных интерфейса:

  • интерфейс системных вызовов (API) для приложений, написанных на языке C, что дает возможность запускать стандартные UNIX-приложения в z/OS;
  • интерактивный интерфейс пользователя (shell), обеспечивающий выполнение в z/OS стандартных команд, утилит и скриптов UNIX в форме, привычной для пользователей UNIX-систем.
  • Кроме этого, для хранения данных в z/OS UNIX реализована поддержка иерархической файловой системы UNIX, получившей название HFS (Hierarchical File System). Файлы UNIX размещаются в SMS-управляемых наборах данных z/OS специального типа (их называют HFS-наборами данных).

    Важно отметить, что z/OS UNIX представляет собой не надстройку или оболочку, эмулирующую интерфейсы UNIX, а является неотъемлемой частью системного ядра BCP и тесно интегрирована с другими модулями и компонентами z/OS, такими как DFSMS, RACF, WLM, SMF, RMF, SDSF, TSO/E, ISPF/PDF и др. Многие системные функции z/OS (например, TCP/IP, HTTP server), реализованы как UNIX-приложения. То же самое можно сказать и о популярных системах промежуточного слоя, таких как DB2 и Websphere Application Server.

    Приложения UNIX выполняются в адресных пространствах MVS и могут запускаться как из пользовательской среды shell, так и из среды TSO/ISPF, пакетных заданий и STC-процедур. Файлы UNIX, хранящиеся в HFS, доступны как приложениям UNIX, так и классическим приложениям z/OS (MVS) и могут обрабатываться с помощью команд TSO/ISPF и JCL-заданий. Поддерживается свободное копирование и перемещение данных между файлами HFS и наборами данных MVS.

    У пользователей существует возможность интерактивного взаимодействия с UNIX-сервисами как через стандартный TSO/ISPF-интерфейс, так и путем прямого подключения к UNIX shell через telnet/rlogin протокол в рамках TCP/IP-соединения.

    Элементы z/OS UNIX

    z/OS UNIX является базовым компонентом z/OS и включает ядро системных сервисов UNIX (UNIX System Services Kernel) и прикладные сервисы (UNIX System Services Application Services). Основные элементы z/OS UNIX и связанные с ней компоненты z/OS представлены на рис. 5.23.

    Ядро z/OS UNIX интегрировано в базовую управляющую программу z/OS и служит для реализации функций интерфейса системных вызовов (API UNIX), связанных с управлением процессами, файловой системой HFS и коммуникациями. Другие, поддерживаемые в API функции, обрабатываются непосредственно z/OS с помощью так называемых вызываемых сервисов (callable services). Вызываемые сервисы могут быть использованы в программах на ассемблере и языках высокого уровня для доступа к функциям z/OS UNIX. Ядро z/OS UNIX обычно активизируется при загрузке z/OS и работает в собственном адресном пространстве MVS.

    Прикладные сервисы z/OS UNIX представлены командным интерпретатором shell, набором стандартных утилит и отладчиком dbx. Командный интерпретатор поддерживает стандартный пользовательский интерфейс shell, позволяющий запускать приложения и утилиты, а также создавать и использовать командные файлы, называемые скриптами. Вводимые пользователем команды реализуются средствами ядра.

    Отладчик dbx предназначен для автоматизированной интерактивной отладки приложений, создаваемых на языке C/C++. Отладчик располагает набором команд, хорошо известных пользователям UNIX.

    (рис 5.23) Компоненты z/OS UNIX

    На рис. 5.23 представлены также стандартные компоненты z/OS, тесно связанные с поддержкой системных сервисов UNIX. К ним относятся:

  • TSO/ISPF - служат для выполнения команд и утилит, манипулирования файлами UNIX, а также для подключения пользователей к shell;
  • компилятор C/C++ - используется для создания переносимых UNIX-приложений;
  • языковая среда (LE), включающая библиотеку времени выполнения RTL (Run Time Library) для поддержки приложений (в том числе и на языке C/C++), - используется для выполнения команд shell и утилит;
  • подсистема управления данными DFSMS - управляет наборами данных HFS, которые содержат файлы файловой системы UNIX;
  • файловая система zFS (zSeries File System) - представленная в рамках сервисов поддержки распределенных вычислений DCE высокопроизводительная UNIX-подобная файловая система (начиная с z/OS V1R2). Может быть интегрирована в HFS как монтируемая файловая система.
  • менеджер управления рабочей нагрузкой WLM - управляет созданием процессов UNIX;
  • модуль сбора статистики SMF - фиксирует данные об используемых ресурсах;
  • модуль управления доступом к ресурсам RACF - управляет доступом к файлам и приложениям UNIX;
  • RMF - сбор данных и составление отчетов о функционировании сервисов UNIX.
  • Механизм выполнения приложений UNIX в z/OS

    Для понимания механизма функционирования UNIX-сервиса необходимо установить соответствие между понятиями, используемыми в промышленных UNIX-системах, и соответствующими понятиями, применяемыми в MVS и z/OS. В частности, пользователи UNIX хорошо знакомы с понятием процесса.

    Процесс представляет собой основную единицу работы в операционной системе UNIX и соответствует находящейся в стадии выполнения программе со всеми выделенными ей ресурсами. В зависимости от типа программы различают системные и пользовательские процессы. Среди системных выделяют процессы- демоны (daemon), работающие в фоновом режиме и предназначенные для поддержки вспомогательных системных сервисов (вывод на печать, электронная почта, запуск программ по расписанию и т.п.). Аналогом демонов в MVS могут считаться запускаемые процедуры (STC).

    Каждый процесс имеет уникальный идентификатор PID и может по своей инициативе порождать новые (дочерние) процессы с помощью системных вызовов fork() и spawn(). Таким образом, у каждого процесса (кроме одного, самого первого) существует родительский процесс, связь с которым поддерживается благодаря еще одному атрибуту процесса PPID - идентификатору родительского процесса.

    Процессы, порождаемые UNIX-приложениями в z/OS, могут выполняться исключительно в адресных пространствах (АS) MVS, причем как в собственных, так и в адресных пространствах родительского процесса (рис. 5.24). При использовании системного вызова fork() всегда создается новое адресное пространство, являющееся копией родительского. При использовании системного вызова spawn() может быть как создано новое адресное пространство, так и запущена новая задача внутри родительского АS. Адресные пространства, содержащие UNIX-процессы, могут порождаться и по инициативе MVS-приложений при обращении к вызываемым сервисам z/OS UNIX.

    (рис 5.24) Процессы в z/OS UNIX

    Теперь познакомимся более подробно с механизмом выполнения приложений UNIX в z/OS, представленным на рис. 5.25.

    Как уже отмечалось, для ядра z/OS UNIX выделяется отдельное адресное пространство (OMVS), создаваемое на этапе инициализации системы и функционирующее в соответствии с настройками, определенными в разделе BPXPRMxx системного реестра SYS1.PARMLIB. Одновременно инициализируется файловая система HFS и создается адресное пространство BPXOINIT (с помощью одноименной процедуры), выполняющее процесс-прародитель (PID=1) для всех процессов. В первую очередь BPXOINIT порождает необходимые системные процессы UNIX.

    (рис 5.25) Средства поддержки выполнения приложений UNIX

    Новые адресные пространства для приложений UNIX создаются по запросу ядра к менеджеру управления рабочей нагрузкой WLM, который использует для этой цели специальную STC-процедуру BPXAS. Адресное пространство, создаваемое BPXAS, играет роль инициатора JES2, принимая порождаемый процесс UNIX.

    Командные интерпретаторы shell, являясь приложениями UNIX, как правило, запускаются в отдельных адресных пространствах для каждого интерактивного пользовательского сеанса. При этом команды и утилиты, запускаемые в рамках сеанса, могут выполняться и как отдельные задачи в адресном пространстве shell, и в собственных адресных пространствах, в зависимости от настройки пользователя.

    Особую роль при поддержке UNIX-приложений играет процесс-демон INETD, с помощью которого обеспечивается доступ к shell для удаленных пользователей в TCP/IP-сети с использованием протоколов telnet и rlogin.

    Организация файловой системы HFS

    Организация хранения данных в операционной системе UNIX имеет существенные отличия от традиционного способа управления данными, принятого в MVS. В первую очередь файлы UNIX, в отличие от наборов данных MVS, обрабатываются системой как простая совокупность байтов без деления на логические записи, при этом логический уровень представления данных передается приложениям. Имена файлов могут содержать до 255 алфавитно-цифровых символов, при этом различают прописные и строчные буквы. Разделение файлов UNIX по типам производится в соответствии с их функциональным назначением и по типу данных. В частности, выделяют следующие типы файлов:

  • обычные - файлы общего назначения, используемые для хранения программ и данных любого типа;
  • каталоги - служат для размещения справочной информации о размещении файлов, принадлежащих данному каталогу;
  • устройства - ассоциируются с устройствами ввода-вывода;
  • символические ссылки - содержат ссылки на другие файлы;
  • именованные каналы - служат для обмена данными между процессами;
  • сокеты - служат для реализации сетевого взаимодействия.
  • Файлы группируются по соподчиненным каталогам, образуя иерархическую древовидную структуру, представленную на рис. 5.26. Вершиной дерева и единой точкой входа в файловую систему является корневой каталог ( / ). Таким образом, у каждого файла существует полное или абсолютное имя, однозначно определяющее его местоположение в файловой системе: /u/user1/docs/abc, /u/user2/prg и т.п.

    (рис 5.26) Структура файловой системы UNIX

    Наиболее важные системные программы, данные и конфигурационные файлы UNIX размещаются в специальных каталогах: /bin - команды и утилиты; /usr - файлы для поддержки решения пользовательских задач; /dev - специальные файлы устройств ввода-вывода; /etc - утилиты администрирования и конфигурационные файлы; /lib - включаемые библиотеки C/C++; /tmp - временные файлы; /var - сообщения и системные журналы; /samples - примеры программ и настроечных файлов.

    ОС UNIX использует собственную систему разграничения прав доступа к файлам (на чтение, запись и выполнение) для трех категорий пользователей: владельца файла, членов группы владельца и всех остальных.

    Все указанные выше особенности файловой системы UNIX поддерживаются системными сервисами UNIX в z/OS. Для размещения файлов UNIX и реализации иерархической структуры доступа создаются специальные однотомные SMS-управляемые наборы данных, получившие название наборов данных HFS (рис. 5.27). Каждый набор данных HFS содержит определенный сегмент файловой системы, точкой входа в который является один из каталогов . Объединение сегментов HFS производится с помощью специальной операции "монтирования", выполняемой на этапе инициализации системы или динамически. Первым всегда монтируется сегмент, содержащий корневой каталог файловой системы ( / ), к которому затем могут добавляться другие сегменты. Создание и управление наборами данных HFS осуществляется стандартным компонентом z/OS DFSMS.

    (рис 5.27) Наборы данных HFS и файловая структура

    Пользовательский интерфейс z/OS UNIX

    Основой пользовательского интерфейса UNIX является командный интерпретатор shell, реализующий взаимодействие с пользователем через терминальное устройство. Shell поддерживает язык интерактивных команд, регламентированных стандартом POSIX 1003.2, и принимает запросы пользователя на выполнение утилит и приложений. Язык shell позволяет создавать и использовать командные файлы, называемые скриптами. В z/OS UNIX включены два типа командных интерпретаторов, базирующихся на известных в мире UNIX оболочках:

  • z/OS shell на основе UNIX System V shell и Korn shell;
  • tcshell на основе Berkeley C shell;
  • Для пользователей z/OS UNIX поддерживается несколько различных режимов интерактивного доступа к системным сервисам UNIX, как с помощью shell, так и некоторыми другими способами, представленными на рис. 5.28. Рассмотрим эти возможности в условиях TCP/IP-соединения с рабочей станцией (терминалом) пользователя.

    (рис 5.28) Режимы доступа пользователей к z/OS UNIX

    Первый режим подключения является традиционным для пользователей z/OS и основан на использовании компонентов TSO/E и ISPF. В TCP/IP-сети терминалы TSO поддерживаются на основе специального протокола TN3270, представляющего собой адаптированный вариант стандартного протокола telnet. Терминалы TN3270 являются синхронными, то есть обслуживаются в режиме построчного ввода, что накладывает определенные ограничения на использование некоторых интерактивных действий пользователя по сравнению с классическими UNIX-системами.

    В рамках сеанса TSO/ISPF пользователи располагают следующими средствами доступа к сервисам UNIX :

  • Команда OMVS - запускает для пользователя индивидуальную сессию командного интерпретатора shell, при этом обеспечивается:
  • поддержка большинства команд shell;
  • поддержка команд TSO;
  • поддержка команд shell для копирования (перемещения) данных между файлами HFS и наборами данных MVS;
  • использование текстового редактора ISPF;
  • поддержка нескольких параллельных сессий.
  • Команда ISHELL (то есть ISPF shell) - запускает адаптированный в стиле диалогов ISPF интерфейс для доступа к файловой системе z/OS UNIX, с возможностью просмотра каталогов и выполнения стандартных операций над файлами (редактирование, удаление, переименование, копирование и т.д.); поддерживает средства запуска приложений и администрирования.
  • Команда OSHELL (скрипт REXX) - служит для выполнения команд shell и запуска приложений UNIX непосредственно из командной строки TSO/E.
  • Набор специальных команд TSO/E для работы с файлами UNIX и копирования (перемещения) данных между файлами HFS и наборами данных MVS ( MKDIR, OGET, OPUT и т.д.).
  • Утилита BPXBATCH - предназначена для запуска команд, скриптов и приложений UNIX в пакетных заданиях, при этом для описания файлов HFS используются специальные параметры оператора DD ( PATH, PATHDISP, PATHOPT, PATHMODE ).
  • Второй режим доступа к сервисам UNIX основан на подключении с использованием стандартных прикладных протоколов TCP/IP rlogin или telnet. Такой способ получил название "прямого подключения" к z/OS UNIX shell и поддерживает традиционные для UNIX асинхронные терминалы, обеспечивающие посимвольный ввод. Возможность прямого подключения требует инициализации и настройки серверных компонентов telnet и rlogin, а также разрешений на доступ в профиле RACF пользователя. В отличие от режима OMVS, здесь можно задействовать текстовый редактор vi, но ограничена поддержка команд TSO.

    Третий режим доступа к сервисам UNIX основан на использовании ftp-протокола, также являющегося стандартным прикладным протоколом TCP/IP. В данном режиме поддерживается ряд команд, с помощью которых можно получать доступ к данным MVS и UNIX и производить операции по их копированию (перемещению) на рабочую станцию пользователя и обратно, а также запускать на выполнение подготовленные на рабочей станции пакетные задания.

    Вернуться к учебному плану