Преимущества использования операционной среды z/OS UNIX при отладке программ для больших вычислительных машин
Преимущества использования операционной среды z/OS UNIX при отладке программ для больших вычислительных машин
Е.В.Галямова
История и перспективы современных больших вычислительных машин (Mainframes)
На сегодняшний день используется несколько операционных систем работающих на больших вычислительных машинах (Mainframes) и на серверах, выпускаемых компанией IBM. Наиболее часто используются операционные системы z/OS, z/VM, AIX, UNIX, в последнее время все более популярной становится zLinux. В данном статье мы рассмотрим операционные системы семейства UNIX на платформе zSeries, имеющие встроенную поддержку сервисов UNIX и поддерживающие возможность компиляции программ из исходного кода. Имеются в виду следующие операционные системы:
· «родная» для серверов IBM операционная система z/OS, обеспечивающая поддержку сервисов UNIX на уровне ядра,
· операционная система zLinux,
· а также операционные системы, которые можно запускать на виртуальных машинах, например Free BSD и другие.
Для связи терминалов или персональных компьютеров с сервером MainFrame применяется множество протоколов. Наиболее часто применяются протокол TCP\IP и протокол 3270. Протокол 3270 был разработан специально для терминалов, соединенных дешевым коаксиальным кабелем с сервером. Основная идея коммуникации по протоколу 3270 заключается в передаче блоков информации для организации интерактивного диалога с пользователем. По принципу применения его можно сравнить с языками, используемыми для написания гипертекстовых документов, так как в нем используются блоки текста и размеченные поля ввода. Протокол TCP\IP используется в разнообразных по архитектуре и топологии сетях, в частности Ethernet и Internet, и применяется для обмена разнородной информацией.
Задача операционной системы – скрыть аппаратную реализацию от программиста. Благодаря наличию стандартных библиотек, открытых стандартов и концепции открытого кода, ОС семейства UNIX позволяет использовать стандартизованные механизмы для работы с сетью, независимо от аппаратуры, на которой она работает. Для многих клиентов очень важно наличие уже готовых и проверенных программ для обмена данными по сети. Также существует большое количество популярных, надежных и проверенных программ, обеспечивающих поддержку разнообразных серверов.
Благодаря использованию концепции открытого кода возможно применение уже готовых решений и, в не меньшей степени благодаря наличию открытых стандартов и стандартных библиотек, довольно просто осуществляется перенос программного обеспечения между разными аппаратными платформами. Для экономии времени разработчик может создавать программы для работы в сети, отлаживая их на своем компьютере, не утруждаясь использованием серверов MainFrame. При необходимости настроить программу с учетом особенностей конкретного сервера, сеть серверов можно симулировать на одной машине, и только в окончательном варианте использовать развернутую сеть серверов.
Благодаря тому, что механизм виртуализации поддерживается почти на уровне аппаратного обеспечения, с точки зрения пользователей и программистов не имеет существенного значения, работают ли ОС, общающиеся по сетевому протоколу, на одном сервере, или находятся в разных точках земного шара. В реальности это можно определить, только при сравнении скоростей передачи данных или времени ответа удаленной системы.
Наиболее популярными языками программирования для серверов Mainframe являются языки C\C++, Cobol и PL\I. Наиболее популярным языком программирования в ОС семейства UNIX являются C\C++. При переносе программ на платформу сервера необходимо соблюдать некоторый конечный набор правил, которые можно найти на сайте IBM в разделе «Porting to z/OS UNIX»(http://www-03.ibm.com/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.
Список литературы
Для подготовки данной применялись материалы сети Интернет из общего доступа