Другие журналы

научное издание МГТУ им. Н.Э. Баумана

НАУКА и ОБРАЗОВАНИЕ

Издатель ФГБОУ ВПО "МГТУ им. Н.Э. Баумана". Эл № ФС 77 - 48211.  ISSN 1994-0408

История и перспективы современных больших вычислительных машин (Mainframes)(Часть2)

#4 апрель 2006

Page 4

История и перспективы современных больших вычислительных машин (Mainframes)

 

2.           Введение в операционную систему z/OS

 

В этой части статьи мы покажем, чем отличается операционная система z/OS от других многочисленных операционных систем. Одна из принципиально важных вещей, это концепция  использования виртуального хранения операционной системы z/OS. Поговорим о подсистемах z/OS, которые делают ее привлекательной для многих бизнес-приложений, затем проведем сравнение операционной системы Z/OS с наиболее популярной многопользовательской операционной системой UNIX.

Для обслуживания мэйнфрейм необходим высококвалифицированный персонал, хотя их общее количество будет значительно меньшим, чем, например, количество сетевых администраторов. Поэтому стоит уделить сейчас внимание тому, какие требования предъявляются к таким специалистам.

Специалист в области больших вычислительных машин (мэйнфрейм), во-первых, должен владеть специальной терминологией. В частности, знать определение «адресного пространства», принципы выделения адресного пространства и то, как использовать это адресное пространство, знать принципы  корреляции между виртуальными и реальными адресами и все вещи, связанные с трансляцией и возможностями хранения информации.

 

Операционная система (ОС) z/OS – самая широко используемая ОС для mainframe, она разработана для обеспечения стабильной, безопасной, постоянно доступной среды для выполнения бизнес-приложений.

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

Аппаратное обеспечение mainframe состоит из процессоров и большого количества периферийных устройств, таких как жесткие диски (DASD), устройства чтения магнитной ленты, и множество типов консолей пользователей. Аппаратные ресурсы под управлением операционной системы z/OS – вряд ли это уникальная система, что действительно отличает, это наличие консолей, показанных слева. Аппаратная консоль – исходная точка, первый шаг для настроек – это мастер-консоль (Master console), системная консоль (System console)  используется техническим персоналом. Лента и DASD используются системными функциями и пользовательскими программами, выполняемыми в операционной системе z/OS (см. рисунок 5).  На рисунке не показаны модули управления, которые соединяют mainframe с устройствами чтения ленты, DASD и консолями.

 

Рисунок 5. Аппаратные ресурсы, управляемые операционной системой  z/OS

 

В общих чертах можно сказать, что операционная система z/OS состоит из модулей, макросов и системных компонентов.

Группа связанных инструкций называется процедурой или модулем. Это то, что связано с выполнением исходных программ. Модули z/OS – это не модули приложений, это небольшая единица внутри ОС.

Набор связанных модулей, который выполняет определенную функцию, называется системным компонентом.

Последовательности инструкций, которые выполняют часто используемые системой функции, объединяют в выполняемые макро-инструкции или макросы. Макрос операционной системы z/OS существует для таких функций как открытие/закрытие файлов данных, загрузка/удаление программ, отправка сообщений оператору компьютера и другие.  Эта часть  исходного кода, обеспечивающая какие-либо функции, может быть включена в пользовательское приложение.

Очень важный термин «Слово состояния программы (PSW)» – это кусок аппаратного  компонента в процессоре, 64-разрядная область данных в процессоре, который, так же как и регистры управления, временные регистры, и регистры префикса, предоставляет детали, важные как для аппаратного, так и для программного обеспечения. Текущий PSW включает в себя адрес следующей программной инструкции и управляющую информацию для запущенной программы. Каждый процессор имеет только одно текущее PSW. Так, только одно задание может быть выполнено процессором в одно и тоже время. Что важно, в PSW закладывается, например, адрес  следующей выполняемой инструкции, адрес  порядок  прерывания для  различных процедур. Тут же определяется, кто отвечает за программирование.

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

Операционная система z/OS также выполняет многопроцессорную обработку (multiprocessing) – то есть, одновременную работу 2-х и более процессоров, при этом ОС осуществляет разделение многих аппаратных ресурсов, таких как память, диски внешней памяти и другие, между процессорами.

Главное отличие мэйнфрейм – организация процедуры прерывания. Для этого используется специально выделенный процессор.

          Когда инструкции выполняют работу вычислительной системы, они хранят информацию об этой работе в специальных областях хранения, известных как блоки управления (control blocks). В целом, блоки управления в операционной системе z/OS бывают трех типов:

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

             Блоки управления, связанные с ресурсами

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

Каждый блок управления, связанный с системой управляет одной z/OS системой и содержит системную информацию, такую как  количество используемых процессоров. Каждый блок управления, связанный с ресурсами, управляет одним ресурсом, например, процессором или диском. Каждый блок управления, связанный с заданиями, управляет единицей работы. Например, если возникает необходимость в дополнительной памяти, задействуется соответствующая процедура, и именно в контрольных блоках сохраняются все данные, текущее PSW, проводится прерывание, после него данные, сохраненные в контрольном блоке, восстанавливаются, и программа нормально работает дальше.

На понятийном уровне, mainframe, как и все остальные компьютеры, имеют два типа физической памяти:

        Физическая память, расположенная собственно вместе с процессором. Она называется памятью процессора  (processor storage) или «реальной» памятью (real storage). Рассматривайте ее как память мэйнфрейм (memory);

         Физическая память, внешняя по отношению к mainframe, включая память для устройств прямого доступа, таких как диски и лента. Эта память называется дополнительной (auxiliary storage).

 

Виртуальная память

В мэйнфрейм существует еще один тип памяти – виртуальная память.

Виртуальная память – это «иллюзия», создаваемая путем управления операционной системой z/OS «реальной» и дополнительной памятью. При этом исполняемые части программы хранятся в «реальной памяти»; а остальная часть программы и данные хранятся в дополнительной памяти. Программа «думает», что в ее распоряжении вся система и вся память, а ОС решает задачу выделения реальных кусков памяти. Диапазон адресуемой виртуальной памяти, доступной пользователю или программе, называется адресным пространством.

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

Виртуальная память построена так, что создается впечатление, что каждая запущенная программа может использовать всю виртуальную память, точнее, все адресное пространство, и с помощью виртуальной памяти иметь доступ  ко всей «реальной» памяти, определенной адресным пространством архитектуры. Единственный предел – это число бит в адресе. Чтобы дать возможность каждому пользователю действовать так, как будто эта память действительно существует в вычислительной системе, операционная система z/OS хранит только активную часть каждой программы в реальной памяти (real storage). Остальные коды и данные хранятся в дополнительной памяти (auxiliary storage), как правило, в устройствах прямого доступа (DASDs). Другими словами, чтобы увеличить объем «реальной» физической памяти компьютерной системы, z/OS хранит только активные части каждой программы в «реальной» памяти. Остальные части z/OS хранит в дополнительной памяти, которая обычно состоит из большого числа высокоскоростных устройств хранения с прямым доступом (DASDs).

Адресное пространство – это область непрерывных виртуальных адресов, доступных для выполняемых инструкций и для хранения данных. Диапазон виртуальных адресов  в адресном пространстве начинается с нуля и может расширяться до самого большого адреса, разрешенного архитектурой ОС.

          Операционная система z/OS предоставляет каждому пользователю уникальное адресное пространство и разделяет программы и данные, принадлежащие каждому адресному пространству. Адресное пространство для каждого пользователя и изоляция отдельных пользователей друг от друга. При этом есть возможность взаимодействия между адресными пространствами. Такая концепция разделения пользователей предоставляет комфортные условия и повышенную безопасность.

          Стоит кратко рассмотреть историю создания адресации. Архитектуры 360 и 370 использовали 24-х разрядное адресное пространство. В 2000 году IBM выпустила очередную серию мэйнфреймов, названную zSeries. В этой серии  IBM расширила адресацию архитектуры до 64 разрядов. Теперь  потенциальный размер адресного пространства увеличился до 16 эксабайт (число с 18-ю нулями). Новое адресное пространство имеет 264 логических адреса, это в 8 миллиардов раз больше, чем адресное пространство в 2 Гб. Трудно представить на сегодня такую задачу, которая бы потребовала всех ресурсов этой машины.

Рисунок 6. Структура адресного пространства

 

Именно поэтому, хотя потенциально возможно создание адресного пространства в 16 эксабайт, по умолчанию создается адресное пространство в 2Гб. Если выполняемая программа захочет создать виртуальную память большую 2Гб, z/OS увеличит адресное пространство с 2Гб вплоть до 16 Эб.

          Размер адресного пространства в 16 Мб – это точка разделения 2-х предыдущих архитектур: архитектуры MVS/370, называемой «Line» c 24-разрядной адресацией, и архитектуры MVS Extended Architecture или MVS/XA, называемой «Bar» c 31-разрядной адресацией.

В архитектуре MVS/XA – адресное производство было увеличено до 31-разрядное адресное пространство. 1 разряд потерян для маркировки типа адресации: 31-разрядная или 24-х разрядная. Именно с помощью этого способа IBM обеспечил совместимость выполняемых программ. Программы, которые написали в 70-е годы,  работают и сейчас, на новых мэйнфреймах.

 

Как работает виртуальная память

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

ОС может разделить программу на части по 4 кбайта, присваивая каждой такой части уникальный адрес. Это позволяет ОС иметь доступ ко всем частям программы. Эти части называются страницами (pages). Именно часть ОС, занимающаяся прерываниями, выполняет процесс подкачки страниц (paging). Таблицы, которые отслеживают перемещение страниц, называются DATT (Dinamic Address Translation Tables). При этом таблицы реализуются на уровне аппаратной части.

ОС  z/OS использует специальные таблицы, чтобы определять, где находится та или иная часть программы – в «реальной» или дополнительной памяти. ОС не ищет их по всей физической памяти. ОС перемещает страницы из дополнительной памяти в «реальную» и наоборот когда это требуется. Этот процесс называется подкачкой страниц (page stealing). Подкачка страниц – ключевой момент для понимания пользы виртуальной памяти в z/OS.

          Следующее важное понятие, это динамическое преобразование адресов (DAT) – процесс перевода виртуального адреса при обращении в соответствующий ему реальный адрес. Физическая память разделена на области, каждая одинакового размера и доступная по уникальному адресу. В «реальной» памяти – эти области называются фреймы (frames); в дополнительной  памяти они же называются – слоты (slots). Вы помните, что в виртуальной памяти – эти области – страницы (pages).  Разными словами мы называем одно и то же – память по 4 кВ.

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

 

Рисунок 7. Как работает виртуальная память

 

Адрес – это идентификатор требуемого фрагмента информации, а не указатель на то место, где в реальной памяти хранится этот кусок информации. Это позволяет размеру адресного пространства (что значит, все адреса доступные программе), превышать объем реальной физической памяти. Все ссылки на реальную физическую память соответствуют виртуальному адресному пространству. Все связи с реальной физической памятью сделаны в терминах виртуального адресного пространства.

Для разметки виртуального адресного пространства в физической памяти используется специальный механизм аппаратного обеспечения. На рисунке 7 показан кусок  вашей программы, выполняемый двумя процессами. Когда вы ссылаетесь на вашу память, она перебрасывается в реальную  память, когда реальная память оказывается занятой, долго неиспользуемые куски отправляются во вспомогательную память, преобразовываются. Когда преобразовываем страницу временной памяти, изменяется виртуальный адрес, то есть, адрес изменяется на реальный. Как показано на рисунке 7, виртуальный адрес 10254000 может существовать не один раз, так как каждый виртуальный адрес может указывать на разные адреса в физической памяти.

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

          Повторим еще раз. Части программы, выполняемые в виртуальной памяти, должны перемещаться между «реальной» и виртуальной памятью. Блок реальной памяти называется фреймом (frame). Блок виртуальной памяти называется страницей (page). Блок дополнительной памяти называется слотом (slot). Страница, фрейм, слот – все они одинакового размера: 4096 байт (4 килобайт). Программисту кажется, что вся программа все время занимает непрерывное адресное пространство в  виртуальной памяти. На рисунке 8 показано выполнение подкачки страниц для программы, запущенной в виртуальной памяти. Прямоугольники – это части программы. A, E, F, H – активны и запущены во фреймах «реальной» памяти. B, C, D, G – неактивны и перемещены в слоты дополнительной памяти. Однако все части программы принадлежат виртуальной памяти.

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

 

Вернемся к рассмотрению процесса, который называется «page stealing».  Суть заключается в следующем. ОС z/OS пытается хранить необходимое количество доступных фреймов в «реальной памяти».   Когда это количество становится низким, z/OS использует page stealing, чтобы  восстановить это количество. Страницы, к которым не производилось обращение относительно долгое время, скорее всего будут восстановлены. z/OS также использует различные файловые менеджеры для хранения данных о всех страницах, фреймах и слотах  в системе.

Page Stealing еще одна технология, которая определяет порядок действия ОС, когда не хватает ресурсов реальной памяти.

Программе выделяется определенное время, страница должна быть     перенесена из диска в реальную память, если места в реальной памяти нет, ОС должна убрать  какое-то количество страниц других программ. Этот процесс и называется Pade Stealing.  Используется в случае работы ОС в условиях высоких нагрузок. Время отклика в таких случаях заметно увеличивается.

Swapping – еще одна технология перетаскивания страниц в реальную память. В том случае, когда все ресурсы переносятся на диск. Swapp in - page in, Swapp out -         page out.

Подкачка – один из нескольких методов, который используется z/OS для поддержания баланса системных рабочих нагрузок  и обеспечения необходимого количества доступных фреймов «реальной» памяти.

Подкачка переносит все адресное пространство в или из «реальной» памяти:

      Подкаченное адресное пространство – активно, имеет страницы во фреймах «реальной» памяти и страницы в слотах дополнительной памяти.

      Откаченное адресное пространство – неактивно, адресное пространство содержится в дополнительной памяти и не может использоваться, пока  не будет подкачено.

Операционная система z/OS предоставляет каждому пользователю уникальное адресное пространство и разграничивает данные программ и данные, принадлежащие каждому адресному пространству. 

          Адресное пространство содержит системный код и данные, так же, как код и данные пользователя, так как система учитывает и размечает все доступные адреса. Таким образом, не все учтенные и размеченные адреса  доступны для кода и данных пользователя.

 

Рисунок 9. 64-битная карта адресного пространства

 

Работоспособная ОС z/OS и ее подсистемы требуют адресного пространства со следующими свойствами:

      Системные адресные пространства активируются после инициализации главного планировщика. Эти адресные пространства выполняют функции для всех остальных типов адресных пространств в z/OS.

      Адресные пространства подсистем для главных функций системы и продуктов  middleware, таких как DB2, CICS, и IMS.

      Адресные пространства TSO/E создаются для каждого пользователя, который подключается к z/OS

      Адресные пространства для каждого пакетного задания, которое выполняется в z/OS.

На рисунке 9 показано распределение 64-х разрядной карты адресного пространства. Каждая из отмеченных областей имеет свое назначение, как указывается ниже.

0 to 231                  Уровень такой же.

231 -  232                От 2 GB до 4 GB рассматривается как  «Bar».  Ниже линии

                              «Bar»может быть 31-разрядная  адресация. Выше линии

                              «Bar» требуют 64-разрядной адресации.

232 - 241                  Нижняя не разделяемая область  (частная область

                              пользователя)начинается  с 4 GB  и до 241.

241 - 250                 Разделяемая область (Shared for storage sharing) начинается

                              с 241 и до 250 или выше, если потребуется.

250 - 264                 Высшая не разделяемая область  (частная область

                              пользователя)начинается  с 250   и до 264.

          Сейчас кажется, что нам больше чем достаточно 64-разрядного адресного пространства.

          Адресное пространство – это определенный набор адресов, который предоставляет вам операционная система. До 16 МВ не выделяется адресное пространство для пользователя. Часть около нуля также не выделяется – в Common Area, она предназначена для всех пользователей. Картинка на рисунке 9 показывает распределение адресного пространства для одного пользователя. Для другого пользователя внешний вид картинки будет точно такой же. Как же два пользователя будут взаимодействовать между собой? Они будут взаимодействовать на уровне Common Area и Shared Area.

Еще один способ связи пользователей между собой на уровне адресного пространства - Master address space. То есть, АП определяется для каждого пользователя на уровне ОС.

 

 

Управление периферийным хранением

Как управляется периферийная память?

Управление периферийным хранением, устройствами периферийной памяти включает создание файлов, размещение, наблюдение, перемещение, резервное копирование, откат, восстановление и удаление. Эти действия могут быть выполнены вручную или автоматически. При автоматическом управлении памятью система определяет расположение объектов и автоматически управляет резервным копирование объектов, их перемещением, их пространством и безопасностью. Типичная z/OS включает оба способа управления памятью.

Типичная система z/OS включает процессы ручного и автоматического управления памятью.

Пользователь или программа может напрямую управлять аспектами использования памяти  z/OS.

Главные средства управления памятью в z/OS осуществляются с помощью DFSMS

В зависимости от конфигурации устройств памяти, пользователь или программа могут напрямую управлять многими аспектами использования памяти (раньше – это требовалось от пользователя.). В z/OS включены специальные настройки для управления ресурсами и данными и надстройки для автоматического управления памятью (DFSMS).

Другими словами, вы можете сами определить правила для каждого набора данных (Data Sets),  либо определить, как хранить, как копировать, то есть, подсистема DFSMS будет делать так, как определите вы. С помощью этой подсистемы вы можете задать правила уничтожения набора данных (Data Sets),  правила миграции для разных типов набора данных (Data Sets).

 

Краткий обзор особенностей операционной системы z/OS:

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

        Доступная физическая память: «реальная» и дополнительная.

        Перемещение программ и данных между «реальной» и дополнительной памятью через процесс подкачки страниц.

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

        Расширенный набор для управления файлами, хранимыми на дисках или магнитной ленте.

        Операторы используют консоли управления для запуска или остановки  z/OS, ввода команд, и управления ОС.

 

 

Рисунок 10. Основные особенности операционной системы z/OS

 

На рисунке 10 образно показаны основные особенности операционной системы z/OS:

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

        Доступно два типа физической памяти: «реальная» (REAL) и дополнительная (AUX).

        Операционная система z/OS перемещает программы между «реальной» и дополнительной памятью – этот процесс называется «подкачка страниц».

        Все инструкции программы при выполнении должны быть в «реальной» памяти.

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

        Расширенный набор для управления файлами, хранимыми на дисками  (DASD) или магнитной ленте. Операторы используют консоли управления для запуска или остановки  z/OS, ввода команд, и управления ОС

 

Некоторые характеристики z/OS

 

        Использует адресные пространства для обеспечения защиты областей памяти разных пользователей. Преимущества использования адресного пространства: изоляция зон в различных адресных пространствах – обеспечивает безопасность.

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

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

        Объединяет службы безопасности в приложениях, ресурсах и учетных записях пользователей

        Обеспечивает множественные взаимодействия подсистем друг с другом в одно и тоже время

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

        Может управлять смешанными рабочими нагрузками

        Способна управлять большими конфигурациями устройств ввода-вывода (состоящих из тысяч жестких дисков), автоматизированными библиотеками на магнитной ленте, большими принтерами, сетями терминалов и т.д.

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

 

Программные продукты для z/OS

Операционные системы z/OS обычно содержит дополнительное ПО, которое требуются для создания «рабочей» системы:

      менеджеры безопасности

      менеджеры баз данных

      компиляторы

      утилиты

      фирменные продукты

 

Middleware для z/OS

Программное обеспечение промежуточного слоя Middleware – это, обычно, программное обеспечение между ОС и конечным пользователем или программой конечного пользователя.

Программное обеспечение промежуточного слоя Middleware – это, как правило,  подсистемы, которые обеспечивают функции, не предоставляемые ОС, которых нет в ОС. Эти подсистемы обеспечивают возможность хранения, перемещения данных, восстановления, управление транзакциями, обеспечивают взаимодействие с различными платформами и элементами.

Типичное z/OS middleware включает:

      Базы данных

      Веб-серверы

      Управление очередями и функциями маршрутизации

      Менеджеры транзакций

      Виртуальные машины Java

      Функции обработки XML

 

Кратное сравнение z/OS и UNIX

Некоторые технологии присущие обеим системам:

        Система загрузки(Unix) и IPL система (z/OS)

        Файлы и наборы данных – одно и то же

        редакторы vi, ed, sed, и emacs и ISPF (z/OS)

        telnet или rlogin (UNIX) и TSO logon (z/OS)

 

При этом есть десять различий между z/OS и UNIX

 

Краткие выводы по этой части статьи

        z/OS, широко используемая операционная система для mainframe, идеально подходит для обработки больших рабочих нагрузок для большого количества пользователей, работающих одновременно.

        Виртуальная память – системе «кажется», что у нее больше памяти, чем на самом деле.

        Каждый пользователь z/OS получает адресное пространство, содержащее одинаковый диапазон адресов.

        z/OS построена на адресных пространствах, использующих виртуальную память.

        Очень часто включаются добавочные продукты для middleware и других функций.

 


Тематические рубрики:
Поделиться:
 
ПОИСК
 
elibrary crossref ulrichsweb neicon rusycon
 
ЮБИЛЕИ
ФОТОРЕПОРТАЖИ
 
СОБЫТИЯ
 
НОВОСТНАЯ ЛЕНТА



Авторы
Пресс-релизы
Библиотека
Конференции
Выставки
О проекте
Rambler's Top100
Телефон: +7 (915) 336-07-65 (строго: среда; пятница c 11-00 до 17-00)
  RSS
© 2003-2019 «Наука и образование»
Перепечатка материалов журнала без согласования с редакцией запрещена
 Тел.: +7 (915) 336-07-65 (строго: среда; пятница c 11-00 до 17-00)