Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

287649

.pdf
Скачиваний:
3
Добавлен:
15.11.2022
Размер:
337.48 Кб
Скачать

Московский государственный технический университет имени Н.Э. Баумана

Е.В. Галямова, И.С. Абанин

СИСТЕМНЫЕ СЕРВИСЫ

Z/OC UNIX

Методические указания к выполнению лабораторной работы по курсу «Операционная система z/OC UNIX

и виртуальная среда Mainframe»

Москва

Издательство МГТУ им. Н.Э. Баумана

2010

УДК 004.451.9 ББК 32.97

Г17

Р е ц е н з е н т И.П. Иванов

Галямова Е.В.

Г17 Системные сервисы z/OC UNIX : метод. указания к выполнению лабораторной работы по курсу «Операционная система z/OC UNIX и виртуальная среда Mainframe» / Е.В. Галямова, И.С. Абанин. — М.: Изд-во МГТУ им. Н.Э. Баумана, 2010. — 28 с.: ил.

Изложены основы реализации системных сервисов UNIX в операционной системе z/OS. Дано краткое описание иерархической файловой системы, скриптового языка Awk, способов доступа к операционной системе z/OS, а также процесса выполнения приложений. Приведены примеры скриптов Shell и Awk, а также простой программы на языке С.

Для студентов, обучающихся по специальности «Компьютерные системы, комплексы и сети».

УДК 004.451.9 ББК 32.97

Учебное издание

Галямова Елена Валентиновна Абанин Илья Саввич

СИСТЕМНЫЕ СЕРВИСЫ Z/OC UNIX

Редактор О.М. Королева Корректор Г.С. Беляева

Компьютерная верстка С.А. Серебряковой

Подписано в печать 31.12.2009. Формат 60×84/16.

 

Усл. печ. л. 1,63. Тираж 100 экз. Изд. № 64. Заказ

.

Издательство МГТУ им. Н.Э. Баумана.

 

Типография МГТУ им. Н.Э. Баумана.

 

105005, Москва, 2-я Бауманская ул., 5.

 

© МГТУ им. Н.Э. Баумана, 2010

ВВЕДЕНИЕ

Значительная часть современных серверных приложений написана для операционной системы UNIX. Операционной системе z/OS для больших корпоративных серверных машин (мейнфреймов) необходима поддержка *nix приложений.

Реализация UNIX-среды в z/OS называется USS (Unix Subsystem Services) и опирается на общеизвестный набор стандартов, который позволяет использовать операционную систему UNIX на любой платформе.

Несмотря на жесткую стандартизацию, работа с USS имеет свои особенности, которым и посвящены данные методические указания.

Цели лабораторной работы:

знакомство с основами использования системных сервисов операционной системы z/OS UNIX для большой ЭВМ;

изучение структуры иерархической файловой системы HFS (Hierarchic File System) операционной системы z/OS и основных команд для работы с ней;

изучение командной оболочки Shell и скриптового языка Awk;

создание простой C-программы.

1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1.Основы z/OS UNIX

Вz/OS UNIX реализовано два открытых системных интерфейса: интерфейс системных вызовов API (Application Program Interface) и интерактивный интерфейс пользователя Shell.

Интерфейс системных вызовов API позволяет запускать стандартные UNIX-приложения, написанные на языке C, в операционной системе z/OS. Интерактивный интерфейс пользователя Shell позволяет выполнять UNIX-команды, утилиты и скрипты в z/OS.

3

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

Основная единица работы в операционной системе UNIX — это процесс, он соответствует находящейся в стадии выполнения программе со всеми выделенными ей ресурсами. Процессы выполняются исключительно в адресных пространствах MVS. При использовании функции системного вызова fork() всегда создается новое адресное пространство, являющееся копией родительского. С помощью функции системного вызова spawn() может быть сформировано новое адресное пространство, а также запущена новая задача внутри родительского адресного пространства АS (Address Space).

Процессы бывают системные (например демоны, работающие в фоновом режиме и предназначенные для поддержки вспомогательных системных сервисов: вывод на печать, электронная почта, запуск программ по расписанию и т. д.) и пользовательские.

Рис. 1. Процессы в z/OS UNIX:

ASID (Address Space IDentificator) — идентификатор адресного пространства; PID (Parent IDentificator) — идентификатор процесса; PPID (Parent Process IDentificator) — идентификатор родительского процесса

4

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

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

Рис. 2. Механизм выполнения приложения UNIX в z/OS:

HFS (Hierarchic File System) — иерархическая файловая система; SYS1.PARMLIB и SYS1PROCLIB — библиотеки системных модулей операционной системы z/OS; BPXPRMxx; BPXAS, BPXOINIT — модули, отвечающие за работу подсистемы UNIX; WLM (Work Load Manager) — менеджер рабочей нагрузки; z/OS UNIX Kernel — ядро подсистемы UNIX в операционной системе z/OS; INETD — процесс-демон, обеспечивающий доступ к оболочке Shell для удаленных пользователей в TCP/IP-сети с использованием протоколов telnet и rlogin; Shell — командный интерпретатор (оболочка)

5

Новые адресные пространства для UNIX-приложений создаются по запросу ядра к менеджеру управления рабочей нагрузкой WLM (Work Laod Manager), который для формирования нового адресного пространства BPXAS использует специальную STCпроцедуру.

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

1.2. Иерархическая файловая система HFS

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

В UNIX выделяют следующие типы файлов:

обычные, т. е. файлы общего назначения, используемые для хранения программ и данных любого типа;

каталоги, которые служат для размещения справочной информации о размещении файлов, принадлежащих данному каталогу;

устройства, ассоциируемые с устройствами ввода-вывода;

символические ссылки, содержащие ссылки на другие файлы;

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

сокеты, которые служат для реализации сетевого взаимодействия.

Для работы с файлами и каталогами в z/OS UNIX используется командная оболочка Shell. С помощью специальных команд можно создавать и удалять каталоги и файлы, изменять права доступа, работать с жесткими и символическими ссылками. Файлы группируются по директориям, образуя иерархическую древовидную структуру (рис. 3). Вершиной дерева и единой точкой входа в файловую систему является корневой каталог, который обозначается символом «/». Таким образом, у каждого файла существует полное

6

или абсолютное имя, однозначно определяющее его местоположение в файловой системе. Примеры абсолютных имен файлов: /u/user1/docs/abc, /u/user2/prg.

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

Все особенности иерархической файловой системы HFS поддерживаются системными сервисами UNIX в z/OS.

Рис. 3. Иерархическая файловая система:

Directory — каталог; File — файл

Для размещения файлов UNIX и реализации иерархической структуры доступа создаются специальные однотомные SMSуправляемые наборы данных, получившие название наборов данных HFS (рис. 4). Каждый набор данных HFS содержит определенный сегмент файловой системы, точкой входа в который является один из каталогов.

7

Рис. 4. Иерархическая файловая система. Назначение каталогов:

/bin — команды и утилиты; /dev — специальные файлы устройств вводавывода; /etc — утилиты администрирования и конфигурационные файлы; /u — корневой каталог пользователя; /tmp — временные файлы; /lib — включаемые библиотеки C/C++; /usr — файлы для поддержки решения пользовательских задач; /var — сообщения и системные журналы; OMVS.USERS.HFS, OMVS.USER1.HFS, OMVS.USER2.HFS — наборы данных операционной системы z/OS; /u/user2/filed — полное (абсолютное) имя файла в файловой системе HFS

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

1.3. Скриптовый язык Awk

Утилита Awk предназначена для обработки данных, содержащихся в файлах. Она включает в себя простой скриптовый язык, позволяющий создавать простые программы для обработки текстовых данных. Утилита Awk сканирует входные текстовые файлы

8

и обрабатывает строки, удовлетворяющие условиям, определенным в программе. Максимальный размер строки — 256 символов. Программа Awk состоит из следующих компонентов: полей данных, стандартных переменных, массивов, паттернов (образцов) и действий.

Паттерн (образец) состоит из регулярных выражений, выражений отношений и комбинаций паттернов, а также ключевых слов BEGIN и END. Внутри BEGIN { } определяется набор действий, которые необходимо выполнить до начала обработки файлов. Внутри END { } указывается набор действий, выполняемый после обработки входных данных.

Действие — это последовательность выражений, разделенных знаком «;». Утилита Awk поддерживает стандартный набор арифметических операций. Каждая строка входного файла обрабатывается как совокупность полей и разделительных символов (по умолчанию — пробелов). Для обращения к полю с номером n достаточно написать $n. Переменные и массивы принимают значения в зависимости от контекста.

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

Awk — f <имя файла с Awk-программой > <имя обрабатываемого файла>

1.4. Режимы доступа пользователей к z/OS UNIX

Для пользователей z/OS UNIX применяются несколько различных режимов интерактивного доступа к системным сервисам UNIX, как с помощью Shell, так и некоторыми другими способами (рис. 5).

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

Второй режим доступа к сервисам UNIX основан на использовании стандартных прикладных протоколов TCP/IP rlogin и telnet. Для работы в этих режимах применяется асинхронный ввод, возможно использование текстового редактора vi, но ограничен дос-

9

туп к командам TSO. Необходима предварительная настройка серверных компонентов telnet и rlogin, а также разрешений на доступ в профиле пользователя в подсистеме RACF (Recource Access Control Facility).

Рис. 5. Режимы доступа пользователей к z/OS UNIX:

MVS (Multiple Virtual Storage) — операционная система, обеспечивающая мультипрограммирование с произвольным числом процессов; HFS (Hierarchic File System) — иерархическая файловая система; JES2 (Job Entry Subsystem) — подсистема операционной системы z/OS, обеспечивающая запуск задач на исполнение; TSO/ISPF (Time Shared Options/Interactive System Productivity Facility) — подсистемы операционной системы z/OS, обеспечивающие взаимодействие с пользователем; UNIX shell — командный интерпретатор операционной системы UNIX; FTP (File Transfer Protocol) — протокол передачи данных; Submit — команда на выполнение задачи подсистеме JES2; Omvs, Ishell, Oshell — команды запуска оболочки UNIX Shell; DD Path (DataSet Definition Path) — путь к набору данных; BPXBATCH — модуль, выполняющий функции связи с оболочкой UNIX Shell; TCP/IP (Transmission Control Protocol/Internet Protocol) — протокол сетевого взаимодействия / Интернет-протокол; TN3270, telnet, rlogin, ftp — протоколы связи между пользователем и операционной системой z/OS большой ЭВМ

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]