355 500 произведений, 25 200 авторов.

Электронная библиотека книг » Фрэнк Солтис » Основы AS/400 » Текст книги (страница 33)
Основы AS/400
  • Текст добавлен: 26 сентября 2016, 19:20

Текст книги "Основы AS/400"


Автор книги: Фрэнк Солтис


Жанр:

   

ОС и Сети


сообщить о нарушении

Текущая страница: 33 (всего у книги 41 страниц)

Как все это работает

В этом разделе мы продолжим разговор о вводе-выводе на примере шины SPD. Мы рассмотрим подробности низкоуровневых операций, выполняемых ниже IPCF и очень специфичных для структуры шины SPD, используемой как в старых, так и в новых моделях AS/400. Чтобы представить себе операцию ввода-вывода по SPD в целом, проследим ее с самого начала, когда приложение запрашивает выполнение ввода-вывода, и до момента получения приложением уведомления о завершении операции.

Иллюстрировать наш рассказ будет рисунок 10.4, представляющий собой несколько упрощенную версию рисунка 9.2. На нем показаны действия, выполняющиеся до посылки сообщения о начале операции («Opstart») по шине SPD соответствующему

IOP.

На рисунке изображена команда MI «REQIO», а также SPD и пользовательский буфер. Для простоты показан только один IOM. Как и раньше, запрос посылается в очередь IOM. Когда IOM завершает свою обработку, запрос на передачу («SENDREQ») отправляется IPCF. Именно здесь мы ранее остановились, рассматривая пример.

Для операции ввода-вывода IPCF создает две структуры данных. Первая – это сообщение запроса ввода-вывода (IORM), позволяющее IPCF отслеживать выполнение этого запроса и хранить информацию о его отправителе. Вторая структура данных – это блок управления запросом-ответом (RRCB). С его помощью IOP на плате адаптера SPD определяет тип запрошенной операции, расположение в памяти данных, которые должны быть считаны или записаны, а также то, куда следует поместить состояние завершения. Эта структура данных получает информацию от семи блоков управления, изображенных на рисунке 10.3

Форматы IORM и RRCB показаны на рисунке 10.5. Здесь также представлен формат двух сообщений шины SPD, используемых для начала и завершения операции ввода-вывода.

Рисунок 10.5 Структуры данных IPCF

Рисунок 10.4. Операция ввода-вывода (начало)

IORM – это сообщение, указывающее, кто запросил данную операцию ввода-вывода, или, точнее, кого следует уведомить о ее завершении. Поля сообщения задают его тип и адрес блока устройства шины. Этот адрес показывает, где расположен BUB для шины SPD, а также IOP для устройства, которому послан запрос. Данное сообщение будет поставлено в очередь, связанную с указанным BUB, на все время ожидания завершения ввода-вывода. Постановка в очередь означает, что IPCF сохраняет в BUB адрес данного IORM. В очереди одного BUB одновременно может находиться более одного IORM, то есть на шине SPD может одновременно быть несколько ожидающих операций.

В IORM также указан адрес очереди, куда будет послано сообщение по завершении ввода-вывода. Эта очередь связана с IOM, отправившим запрос IPCF. Перед посылкой сообщения в очередь IOM, поле состояния в IORM будет заполнено информацией о том, завершилась ли операция нормально или нет.

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

RRCB – это блок управления, от которого IOP получает подробную информацию об отправляемом запросе ввода-вывода. В отличие от блоков управления, инициализируемых во время загрузки системы, RRCB – это временный блок управления, который создается для каждого запроса ввода-вывода. RRCB может иметь переменную длину, так что первое поле задает размер блока в памяти. После поля длины следуют два поля, задающие CID (тот же, что и в IORM) и идентификатор RID, позволяющий различать запросы. Далее следует поле расширенного состояния, нужное, если возвращаемая информация состояния не умещается в поле состояния в IORM.

Остальные поля RRCB содержат адреса основной памяти. Первым идет адрес самого запроса ввода-вывода, за ним – адреса одного или нескольких буферов данных. В нашем примере запрос ввода-вывода – это команда модему, а не запрос на получение находящейся в буферах данных информации от удаленной вычислительной системы. Запрос ввода-вывода не записывается в RRCB, так как имеет разную длину для разных устройств, а находится в памяти по адресу, заданному этим полем. Буферы данных, на которые указывают следующие поля, содержат данные, подлежащие передаче на устройство. В нашем примере здесь будет размещаться адрес пользовательского буфера – SSD, в котором хранится запрос SQL к удаленной системе.

На рисунке 10.5 приведены также форматы двух сообщений шины: «OPSTART» и «OPEND». Это примеры 12-байтовых сообщений, посылаемых по шине SPD во время операций устройства, о которых говорилось выше. Первое сообщение, «OPSTART», используется в нашем примере для запуска операции ввода-вывода.

Сообщение «OPSTART» содержит четыре поля. В первом находится длина RRCB в памяти. Второе поле идентифицирует это сообщение как сообщение «OPSTART». Третье – занято адресом RRCB в памяти. Последнее поле содержит идентификатор подключения сервера. Сервером здесь выступает IOP, так что нам необходимо задать сервер для сообщения шины. Идентификатор подключения сервера – часть CID. Полный CID в RRCB задает устройство.

Для запуска операции ввода-вывода IPCF, используя операцию устройства, посылает сообщение «OPSTART» по соответствующей шине SPD указанному IOP на плате адаптера (до модема дело еще не дошло). При получении сообщения IOP инициирует операцию памяти на шине и, используя DMA, считывает в свою память весь RRCB. После получения RRCB IOP снова запускает операцию памяти для считывания из основной памяти запроса. Наконец, поскольку данная операция требует пересылки данных (нашего запроса SQL удаленному компьютеру) на устройство, IOP выбирает данные из буферов, которые содержат наш запрос SQL FETCH.

Теперь IOP выдает модему команду на посылку нашего запроса по линии связи на удаленный компьютер. Данные пересылаются из указанных буферов основной памяти. Когда операция завершается получением от удаленной системы сигнала об окончании приема, IOP формирует сообщение шины «OPEND». Затем он запускает операцию устройства для отправки сообщения «OPEND» обратно IOBU, в роли которого выступает системный процессор. Как Вы помните, в качестве IOBU выступают и IOP, и системный процессор.

Сообщение шины «OPEND», показанное на рисунке 10.5, содержит четыре поля. В первом находятся различные биты флагов, предоставляющие информацию об операции и ее завершении. Второе – поле типа – идентифицирует это сообщение как «OPEND». Третье поле содержит идентификатор запроса RID, который был ранее помещен IPCF в RRCB. Наконец, четвертое поле содержит состояние завершения. В зависимости от состояния флагов, информация завершения может также находиться в поле расширенного состояния RRCB.

Рисунок 10.6 иллюстрирует конец операции ввода-вывода из нашего примера. Получение сообщения «OPEND» означает, что IOP закончил обработку запроса. Обработчик ввода-вывода (не показан на рисунке) выводит IORM из очереди BUB для шины SPD, по которой было получено сообщение «OPEND», обновляет поле состояния и посылает IORM в очередь маршрутизатора IPCF.

Рисунок 10.6 Операция ввода-вывода (завершение)

Маршрутизатор IPCF проверяет состояние завершения, и если все нормально, посылает ответное сообщение в очередь, указанную в поле адреса очереди возврата IORM. IOM, отправивший запрос ввода-вывода, выполняет необходимую очистку и, если операция завершилась нормально, посылает запись отклика (FBR) в очередь ответов MI (MIRQ), которая была указана в оригинальном запросе источника-стока. Эта запись уведомляет менеджера функций о завершении первой операции ввода-вывода. На этом FM заканчивает операцию и может выполнять следующие. Приложение, запросившее SQL FETCH, будет ждать, пока удаленная система не возвратит результаты обращения к базе данных.

В результате только что описанной операции ввода-вывода наш запрос SQL был отправлен на удаленную систему. Когда запрос прибыл на удаленную систему, удаленный модем сообщил локальной системе о его получении. Затем модем удаленной системы запустил операцию ввода-вывода для приема запроса. Некоторое время спустя, когда база данных удаленной системы завершит выполнение нашего запроса, удаленная система инициирует операцию ввода-вывода для отправки нам результатов. IOP на локальной системе, к которому подключен модем, получит данные с удаленной системы и запустит другую операцию ввода-вывода. На этот раз IOP пошлет сообщение «OPSTART» центральному процессору, который, как мы видели выше, также может выполнять все функции IOBU. Когда MIRQ получит сообщение «OPEND» о завершении второй операции ввода-вывода на локальном компьютере, менеджер функции уведомит прикладную программу, что обработка ее запроса ввода-вывода (SQL FETCH) завершена.

Прежде чем закончить рассмотрение примера, хочу отметить, что для выполнения ввода-вывода требуется гораздо меньше времени, если для соединения систем используется OptiConnect, а не линия связи. Во-первых, системы соединены высокоскоростным оптоволоконным кабелем. Во-вторых, протоколы связи APPC и APPN заменяются специальным драйвером устройства. Этому драйверу не требуются сложные проверки для отслеживания ошибок, которые возможны при обмене данными по обычной линии связи, где сигналы обязательно содержат электрические шумы. Для проверки и исправления ошибок требуется передача избыточной информации. Передача информации по оптоволокну осуществляется с помощью света и свободна от шумов. Таким образом, драйвер устройства, используемый OptiConnect, обеспечивает прямое соединение c меньшей избыточностью.

Хочу особо отметить: если запрос SQL направляется локальной базе данных, то никакие из только что описанных операций, задействующих APPC FM, IOM станции APPN, или IOM станции SDLC, выполняться не будут. Вместо этого, поддержка базы данных локальной системы будет обрабатывать запрос SQL FETCH с использованием одноуровневой памяти так, как было описано в главе 8. Страничные ошибки, которые приводят к обращениям на диск, обрабатываются компонентом управления памятью, работающим напрямую с IPCF.

Выводы

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

Благодаря использованию множественных шин и множественных IOP, AS/400 занимает уникальные позиции по ожидаемому в следующие несколько лет росту производительности. Использование программируемых процессоров ввода-вывода и, вследствие этого, возможность выполнять огромное число операций ввода-вывода, будут еще долгие годы выгодно отличать AS/400 от других систем.

Интересно, что первой системой, где применялись программируемые процессоры ввода-вывода, была CDC 6600. Там они назывались периферийными процессорами. Возможно, Вы помните, что CDC 6600, разработанная Сеймуром Креем, была первой машиной, использовавшей конвейерный процессор общего назначения архитектуры загрузка-сохранение. Развитие этой архитектуры привело к созданию RISC-процессоров. Похоже, этот первый суперкомпьютер понимал кое-что и во вводе-выводе. Современные высокопроизводительные AS/400, несомненно, усвоили его уроки.

Глава 11

Версия 4

Почему я так уверен в будущем AS/400? В этой главе мы рассмотрим ПО и аппаратуру версии 4, и Вы получите представление о ближайших перспективах этой системы. Глава 12 посвящена версиям AS/400, следующим после 4. И пусть пока трудно сказать что-то конкретное, но уже есть достаточно обоснованные предположения относительно новых технологий, которые изменят всю индустрию информатики в следующие 5-10 лет. Я намерен высказать свое мнение о том, как эти технологии повлияют на AS/400.

Конечно, всякие предположения – это лишь предположения. Мы живем в эпоху постоянных перемен, и создаем компьютерные технологии в соответствии с ее требованиями. Предсказывать будущее различных аппаратных и программных технологий легче легкого; тяжело лишь выбрать, какие из них подойдут для решения конкретных проблем. Разумеется, у IBM свои планы на этот счет, но так как они еще не устоялись, а также из соображений защиты интересов корпорации в конкурентной борьбе, я не буду обсуждать эти планы подробно. Но и не постесняюсь сделать определенные прогнозы насчет основных тенденций развития информатики и их влияния на AS/400.

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

Расширенная версия 4 AS/400

Как я уже говорил, версия 3 ознаменовала переход на RISC-процессоры. Отдельные версии OS/400 для CISC– и RISC-систем позволили заказчикам пользоваться старыми и новыми моделями с равной функциональностью. С объявлением в 1997 году версии 4, ситуация изменилась. Новые возможности этой версии будут реализованы только на RISC-моделях. Возможно, некоторых из новых функций будут доступны и на CISC-моделях, но IBM не будет больше эквивалентно поддерживать системы разных архитектур. Но, конечно, приложения, написанные для CISC-модели, в версии 4 работают по-прежнему без изменений, полностью используя возможности RISC-ап-паратуры.

С момента первого появления AS/400 в 1988 году, срок жизни версии OS/400 составлял три года. У каждой версии было разное число выпусков, но эта цифра оставалась неизменной. У меня нет причин сомневаться, то и версию 4 ждет та же судьба. Новые выпуски начались в 1997 году и, наверняка, будут продолжаться до 1999 года. Учитывая быстроту изменений в окружающем нас мире, вероятно, у версии 4 будет еще больше выпусков, чем у предыдущих. И если история повторится, то примерно к 2000 году можно ожидать или новой версии, или совершенно новой системы. В следующей главе я постараюсь спрогнозировать, что будет с AS/400 после 2000 года.

IBM вкладывает большие средства в развитие различных компонентов AS/400. На рисунке 11.1 показаны области связанных с электронным бизнесом капиталовложений в версию 4[ 80 ]80
  Как Вы помните, подход электронного бизнеса к прикладным решениям состоит в сочетании систем и процессов, выполняющих базовые операции, с простотой и доступностью, обеспечиваемыми современными технологиями Интернета и WWW.


[Закрыть]
. Эти инвестиции отражают предполагаемые направления развития компьютерной индустрии в соответствии с нуждами наших заказчиков в течение нескольких следующих лет. Они также указывают на те расширения, которые Вы можете ожидать в AS/400.

Рисунок 11.1. Поддержка е-бизнеса в AS/400

Итак, поговорим о перспективных направлениях развития AS/400. В этой главе мы рассмотрим:

три модели приложений – сетевые, совместные и клиент-серверные вычисления; два направления развития ПО – поддержку приложений и оптимизацию обработки данных;

две ветви развития аппаратных средств – расширения в старших моделях и улучшение соотношения цена-производительность.

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

Сетевые вычисления

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

Революцию, произведенную ПК, можно считать свершившимся фактом. Она коренным образом и повсеместно изменила всю систему бизнеса. А вот в отношении клиент-серверной модели подобная категоричность еще не вполне уместна. Многие фирмы находят ее вполне подходящей для ведения своих дел, но есть и те, кто считает, что дороговизна и сложность клиент-серверных вычислений не перевешивают получаемых от них выгод. В следующем разделе мы посмотрим, как AS/400 упрощает клиент-серверные вычисления, делая их более привлекательными для заказчиков.

Обычно переход на новую модель вычислений связан с расходами и риском, так что предварительно нужно четко просчитать, что перевесит: временные неудобства или продолжительные выгоды, которые сулит новшество. Кстати, очень часто революционные идеи не оправдывают наших надежд. Однако некоторые из них могут оказаться работоспособными, и не использовать их вовремя – значит, упустить выгоду. Поэтому обычно применяется подход «поживем – увидим»: дождемся, пока кто-нибудь другой попробует первым.

Сетевые вычисления – одна из таких новейших технологий. Многие (и я в том числе) считают, что эффект от этого следующего поколения клиент-серверных вычислений изменит бизнес больше, чем революция,произведенная ПК. Сетевые технологии уже изменили наш образ жизни и работы. Интернет, и особенно появление в 1993 году WWW (Word Wide Web), сделали то же, что в свое время электричество или телефон. По мере расширения доступа к всемирной сети компьютеров географические границы исчезают. В киберпространстве уже появились свои сообщества, в которых люди сходных интересов могут объединяться для обмена информацией и общения с помощью комнат переговоров (chat room) и дискуссионных форумов. Колонизация киберпространства предоставляет бизнесу новые, ранее недостижимые, возможности целенаправленной работы с определенными группами потенциальных клиентов.

Очевидно, что движущая сила перехода к сетевым вычислениям – потребности рынка. Благодаря сетевым вычислениям, предприятия могут резко увеличить свою конкурентоспособность: Интернет позволяет поддерживать с клиентами и смежниками самый тесный и постоянный контакт. Кроме того, постепенно распространяется понимание преимуществ использования Интернета внутри организации. Многие фирмы сейчас реализуют интранеты. Интранет использует технологии Интернета на внутренней закрытой сети, которая может быть локальной или охватывать все предприятие.

Все это помогает понять, почему в наши дни бизнес все больше и больше становится электронным.

Реализация стандартов

Сетевые вычисления основаны на стандартах. Это важно, ведь принятие очень небольшого набора стандартов и повсеместное их соблюдение – единственный способ создать всемирную сеть из несхожих друг с другом компьютеров. AS/400 – полноценный сервер Интернета, она поддерживает все стандарты сервера WWW.

Различные предлагаемые AS/400 сетевые возможности, а также используемые для их поддержки стандарты Вы можете видеть на рисунке 11.2. Впервые IBM представила Internet Connection в 1996 году как часть TCP/IP Connectivity Utilities в OS/400 и продолжает совершенствовать это ПО в каждом выпуске версии 4.

Рисунок 11.2. Поддержка Интернета в AS/400

Многие сокращения, использованные на рисунке 11.2, расшифровывались и пояснялись в главе 7 при обсуждении защищенного сервера WWW. Некоторые из этих пояснений я повторю. Мы не будем подробно рассматривать каждый компонент, а лишь постараемся оценить широту диапазона функций AS/400 для обслуживания Интернета и интранетов. Важно отметить, что и новые, и существующие приложения поддерживают выход в сетевой мир. Итак:

Any Mail – позволяет использовать AS/400 в качестве сервера электронной почты, поддерживая соответствующие стандарты;

SMTP (Simple Mail Transfer Protocol) обеспечивает посылку и прием электронной почты;

сервер POP (Post Office Protocol) – почтовый ящик, в котором почта хранится до тех пор, пока ее не заберет реципиент (последняя версия данного стандарта – РОР3);

IMAP (Internet Message Access Protocol) поддерживает синхронизацию локальных данных на множественных узлах Интернета (например, компьютер дома и компьютер на работе), что позволяет большим массивам электронной почты «перетекать» с компьютера на компьютер;

MIME (Multipurpose Internet Messaging Extensions) – это стандарт Интернет для посылки почты с заголовками, описывающими содержимое почтового сообщения; при этом сообщения могут содержать файлы, видео, картинки, звук, текст или двоичные данные;

SMIME (Secure Multipurpose Internet Messaging Extensions) – вариант MIME с обеспечением секретности.

Клиенты WWW могут работать с существующими приложениями 5250 с помощью Telnet, который обеспечивает терминальную эмуляцию 3270, 5250 и VT100 по сети или с помощью HTML Gateway. HTML (Hypertext Markup Language) – это формат потока данных между сервером WWW и браузером на пользовательской машине. HTML Gateway позволяет графически отображать приложения 5250 с помощью браузера.

Стандартный транспортный протокол Интернета, известный как HTTP (Hypertext Transport Protocol), используется Internet Connection Secure Server и Internet Connection Server для обмена информацией с клиентами WWW. Отличие между этими двумя серверами в том, что один защищен, а другой нет. Выбор того или другого зависит от конкретных обстоятельств, о которых мы еще поговорим.

Вы можете использовать несколько протоколов для доступа к IFS (Integrated File System), которая поддерживает файлы HTML и Java. На рисунке 11.2 показаны серверы для двух таких протоколов. Есть также серверы и для других протоколов: это сервер BootP (BootStrap Protocol), сервер TFTP (Trivial FTP), сервер Telnet и сервер RIP (Routing Information Protocol).

CGI (Common Gateway Interface) – это стандартный протокол сервера WWW, позволяющий программам, расположенным на сервере, напрямую взаимодействовать с браузером на пользовательском компьютере. Приложения CGI – стандарт для сетевых приложений на всех остальных серверах, они также поддерживаются и AS/ 400. Альтернатива программам CGI – макропроцессор Net.Data, упрощающий доступ к DB2/400 из WWW.

TCP/IP (Transmission Control Protocol/Internet Protocol) – это промышленный стандарт передачи данных по Интернету. Физические подключения могут осуществляться по выделенным линиям, асинхронным телефонным линиям и ЛВС. В случае подключения к Интернету по телефону можно использовать любой из двух протоколов: SLIP (Serial Link Internet Protocol) или PPP (point-to-point protocol). В качестве ЛВС могут использоваться Token-Ring, Ethernet со скоростью до 100 Мбит в секунду, беспроводные сети или новые сети ATM (Asynchronous Transfer Mode) со скоростью до 155 Мбит в секунду.

Защита на Интернете крайне важна, особенно при коммерческих операциях. Расширения сетевой защиты продолжают добавляться к AS/400 либо как часть базовой поддержки в составе OS/400, либо как отдельные продукты. Например, базисная аутентификация HTTP – часть базовой поддержки. Она запрашивает у пользователя идентификатор и пароль при попытке обратиться к странице WWW с ограниченным доступом. Таким образом, профили пользователей AS/400 или отдельный список пользователей сервера могут применяться для разграничения доступа пользователей к страницам WWW.

Internet Connection Secure Server для AS/400 – отдельный продукт, обеспечивающий секретность коммуникаций в WWW. Он позволяет браузерам и серверам WWW выполнять взаимную аутентификацию, обеспечивает владельцев узлов WWW возможностью управлять доступом к серверу и позволяет передавать между браузером и сервером закрытую информацию так, чтобы она была недоступна третьим лицам. В своей работе Internet Connection Secure Server использует SSL (Secure Sockets Layer) фирмы Netscape. SSL предоставляет закрытый канал между пользователем и сервером, гарантируя защиту данных, аутентификацию участников сессии и целостность сообщений. Обратите внимание, что на SSL на рисунке 11.2, используется именно Internet Connection Secure Server, а не Internet Connection Server.

Защиту при обслуживании WWW обеспечивают такие продукты AS/400, как аппаратное шифрование данных и брандмауэры. Мы обсудили их в главе 7.

Еще более надежную защиту дает прокси-сервер, выступающий посредником между пользователем и сервером WWW. Запрос пользователя направляется на прокси-сервер, который выполняет запрос к серверу WWW, а затем возвращает клиенту результаты.

Новый продукт IBM для AS/400 под названием Net.Commerce (на рисунке 11.2 не показан) позволяет разрабатывать собственные торговые системы для Интернета. Он предоставляет средства для создания и управления интерактивным сетевым магазином. С помощью функции построения каталога Вы можете определить категории или отделы, переходя по которым покупатели добираются до продаваемых продуктов. Net.Commerce применяет как DB2/400, в которой размещается как вся информация каталога, так и Internet Connection Secure Server. Для обеспечения защиты платежей по Интернету Net.Commerce использует протокол SET (Secure Electronics Transaction), описанный в главе 7.


    Ваша оценка произведения:

Популярные книги за неделю