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

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

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

На сегодняшний день используется несколько операционных систем работающих на больших вычислительных машинах (Mainframes) и на серверах, выпускаемых компанией IBM. Наиболее часто используются операционные системы z/OS, z/VM, AIX, UNIX, в последнее время все более популярной становится zLinux. В данном статье мы рассмотрим операционные системы семейства UNIX на платформе zSeries, имеющие встроенную поддержку сервисов UNIX и поддерживающие возможность компиляции программ из исходного кода. Имеются в виду следующие операционные системы:

· «родная» для серверов IBM операционная система z/OS, обеспечивающая поддержку сервисов UNIX на уровне ядра,

· операционная система zLinux,

· а также операционные системы, которые можно запускать на виртуальных машинах, например Free BSD и другие.

Для связи терминалов или персональных компьютеров с сервером MainFrame применяется множество протоколов. Наиболее часто применяются протокол TCPIP и протокол 3270. Протокол 3270 был разработан специально для терминалов, соединенных дешевым коаксиальным кабелем с сервером. Основная идея коммуникации по протоколу 3270 заключается в передаче блоков информации для организации интерактивного диалога с пользователем. По принципу применения его можно сравнить с языками, используемыми для написания гипертекстовых документов, так как в нем используются блоки текста и размеченные поля ввода. Протокол TCPIP используется в разнообразных по архитектуре и топологии сетях, в частности Ethernet и Internet, и применяется для обмена разнородной информацией.

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

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

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

Наиболее популярными языками программирования для серверов Mainframe являются языки CC++, Cobol и PLI. Наиболее популярным языком программирования в ОС семейства UNIX являются CC++. При переносе программ на платформу сервера необходимо соблюдать некоторый конечный набор правил, которые можно найти на сайте IBM в разделе «Porting to z/OS UNIX»(www-03.ibm/servers/eserver/zseries/zos/unix/bpxa1por.html ). Из этих правил следует отметить особенность серверов, заключающуюся в том, что для хранения текстовых данных используется свой формат хранения - EBCDIC. При передаче данных необходимо учитывать их тип: являются ли передаваемые данные текстом или бинарными данными, и соответственно преобразовывать их между кодировками. На сайте также приведены рекомендации по возможному решению данной проблемы стандартными средствами, без применения перекодировки.

Использование ОС семейства UNIX позволяет работать с удаленным разделом на сервере Mainframe, как с локальным разделом. Для клиентов и программистов, использующих в качестве основной операционной системы одну из ОС, совместимых со стандартом UNIX, работа с сервером очень похожа на работу на удаленном компьютере. В частности, используя протокол NFS, пользователь может работать в одной среде как при удаленной работе с сервером, так и на локальном компьютере. Благодаря способности серверов IBM к самовосстановлению, даже при отказе одного из компонентов сервера, связь не прерывается, как в случае работы с другими серверами, создавая иллюзию непрерывной работы.

Использование ОС семейства UNIX позволяет упростить разработку приложений для серверов IBM. Концепция открытого кода позволяет клиентам дорабатывать программы, повышая надежность и обеспечивать необходимый уровень защищенности, используя стандартные средства. Также имеется возможность изменять только часть используемой программы, при этом сохраняя возможность использования в дальнейшем новых версий данного программного обеспечения.

Примером всего вышесказанного могут послужить такие решения от IBM, как WebSphere, Open Power, DB2, Blade Center, Linux for zSeries, Linux for iSeries.