Основы AS/400 [заметки]
1
Прекрасный вопрос для викторины: кто родился 8 января? Ответ: «Элвис и AS/400». Элвис Пресли родился в Тупело (Tupelo), штат Миссисипи, 8 января 1935 года, а AS/400 — в Рочестере, штат Миннесота, 8 января 1970.
2
Silverlake — название небольшого красивого озера в Миннесоте. — Прим. консультанта.
3
3Мы даже изменили название нашей операционной системы для AS/400 на Operating System/400 (OS/400). Но до сих пор многие разработчики по-прежнему называют ее XPF — это сокращение от Extended CPF. Control Program Facility (CPF) — название операционной системы для System/38.
4
В последующие годы, специалисты, посещавшие Рочестер, видели этот формат команд и объявляли, что System/38 создана на основе System/370. IBM даже финансировала проекты, которые должны были обеспечить выполнение программного обеспечения System/38 как операционной системы на аппаратуре System/370. Все эти проекты потерпели крах.
5
Husson S. S. Microprogramming Principles and Practices. Prentice-Hall: 1970.
6
CISC-архитектура Intel x86 используется семейством однокристальных (размещенных на одной микросхеме) процессоров, к которому относятся процессоры 086, 186, 286, 386, 486, Pentium, Pentium Pro и Pentium II.
7
На самом деле все гораздо хуже — некоторые программы явно рассчитывают на 16-разрядную адресацию. Например в них сильно изменяются условия возникновения переполнения при выполнении арифметических операций в регистрах и т. д. Очевидно, что такого рода зависимости не проявляются сразу после перехода с 16-ти на 32-х разрядные процессоры (регистры) и в результате появляются «плавающие» ошибки, которые очень трудно обнаружить.—Прим. консультанта.
8
Аббревиатура API используется (в том числе, и в оригинале книги) в двух значениях: интерфейс прикладных программ в целом и отдельная функция интерфейса прикладных программ. Во втором значении API может употребляться во множественном числе: в английском — APIs, в русском, естественно, без изменения. — Прим. переводчика.
9
Недавно, название этого интерфейса стали сокращать как TIMI. Мне не слишком нравится имя "Тимми" (да простят меня те, кого зовут Тимоти), так что для обозначения машинного интерфейса AS/400 мы будем использовать старую аббревиатуру «MI».
10
К несчастью, Сеймур Крей — отец суперкомпьютеров s умер в октябре 1996 года от ранений, полученных в автокатастрофе. Он начал разрабатывать компьютеры в 1950 году в миннесотской компании Engineering Research Associates, и создал там первый в мире коммерческий успешный компьютер для научных расчетов ERA 1103. В 1957 году Крей — среди основателей корпорации Control Data. Его проекты компьютеров 6600 и 7600 определили новые стандарты для всей промышленности. В 1972 году он основал первую из своих собственных фирм — Cray Research, в рамках которой создал самые быстрые в мире суперкомпьютеры общего назначения. Значение его наследия для всех нас, специалистов компьютерной индустрии, неоценимо.
11
Добиться полной загрузки конвейера на коммерческих задачах — весьма непросто из-за большого числа условных выражений и команд переходов. По этой причине RISC-системы неэффективны на коммерческих задачах. Как с этой проблемой справились разработчики AS/400 будет рассказано ниже. — Прим. консультанта.
12
Скорее всего Вы, читатель, насчитаете только 4 такта. Пятый (на самом деле — первый) — это выборка из памяти первой команды загрузки. Выборка остальных команд будет осуществляться уже параллельно с выполнением предыдущих команд и, следовательно, не приведет к увеличению времени выполнения всей последовательности. — Прим. консультанта.
13
Отдайте интересные моменты компиляторам. — Прим. переводчика.
14
Читатели, которые помнят короля Артура, знают, что Сомерсет (Somerset) — это мифическое место, куда враждующие стороны приходят для заключения мира.
15
Я дал это имя внутреннему интерфейсу System/38 в середине 70-х, предполагая, что оно будет изменено перед объявлением системы. Этого не случилось, и сразу же возникла терминологическая путаница: стали говорить об «интерфейсе IMPI». Между тем, понятие «интерфейс» в данном контексте, конечно же, избыточно. Кстати, и с MI s та же проблема.
Затем однажды кто-то решил, что последнее «i» в IMPI должно расшифровываться как «instruction». Это тоже не корректно, поскольку мы говорим об инструкциях IMPI. Наконец, поступали предложения выбросить последнюю чтобы устранить дублирование. Тогда оказалось, что IMP не имеет смысла и вызывает в воображении картину маленького шаловливого демона внутри системы. Так могло продолжаться долго, но слава Богу, переход на PowerPC наконец-то решил проблему названия.
16
Это кодовое имя использовалось нами не впервые. Перед объявлением в 1975 году System/32 также называлась системой North Star. На этот раз, мы предпочли название, состоящее из одного слова.
17
Кэш — это быстродействующая память небольшого объема, выступающая в роли буфера для основной памяти. У большинства RISC-процессоров отдельные кэши команд и данных. Если процессор однокристальный кэши могут располагаться либо на кристалле, либо в отдельной микросхеме, тогда как основная память всегда реализуется в виде отдельных микросхем.
18
Буквальный перевод с английского — «сводник». — Прим. переводчика.
19
При объявлении этих процессоров им были присвоены номера, а не имена. Например, процессору Muskie был дан весьма незатейливый идентификатор А30. Но так как названия гораздо легче для восприятия, в разговоре о процессорах AS/400 мы будем пользоваться ими вместо цифр.
20
Все команды PowerPC как для 32- , так и для 64-разрядных процессоров имеют размер 32 разряда.
21
Cobra-4 может работать и на более высоких частотах. С характеристиками этого процессора мы скоро познакомимся.
22
Cobra-Lite является первым поколением процессоров RISC, которые использовались в AS/400.Последующие модели Cobra, реализующие полный набор команд PowerPC, рассматриваются как второе поколение Cobra-Lite.
23
Когда книга готовилась к печати, появилась возможность использовать до 8 процессоров SMP в каждом узле. Кстати, SP2 изменил название и теперь называется просто SP. — Прим. консультанта.
24
Перекрестные переключатели на протяжении десятков лет используются на телефонных станциях для подключения набора входящих линий к набору исходящих линий в произвольном порядке. Любая входящая линия может быть подключена к любой не занятой исходящей линии. Получается множество одновременных соединений.
25
Увы, кажется, в последнее время оно перестало сбываться. — Прим. консультанта.
26
В честь Тихого Океана — Прим. консультанта.
27
Многие годы меня мучили вопросами о смысле названий горизонтальный и вертикальный. Так вот, смысла в них не много. Нам нужны были названия, чтобы как-то различать эти два слоя, и мы вспомнили, что в начале 70-х микрокод для некоторых System/370 подразделялся на горизонтальный и вертикальный. Обычно на машинах с горизонтальным микрокодом процессор мог выполнять несколько операций в одном цикле, а на машинах с вертикальным микрокодом . только одну. И если называть нижний слой горизонтальным микрокодом отчасти справедливо, то слой VMC определению вертикального микрокода никак не удовлетворяет.
28
Slick — скользкий. — Прим. переводчика.
29
Оптимизация кода LIC продолжалась долгие годы после создания первого ядра RISC. В результате при выходе версии V3R7 на рынок, некоторые покупатели отметили 50-процентный рост производительности. После выпуска V4R1 на некоторых конфигурациях системы был отмечен новый рост производительности без необходимости замены аппаратуры. Настройка ядра любой ОС — это бесконечный процесс.
30
Дик Бэйнс любит сравнивать языки программирования с куском мыла. Например, он говорит, что программирование на RPG напоминает попытку отрезать кусок мыла пластмассовой ложкой. Программирование же на С+ + похоже, по его мнению, на отрезание того же куска с помощью обоюдоострой бритвы: можно быстро делать очень точные разрезы, но по окончании процедуры все мыло будет в крови.
31
Значительная часть этой книги была первоначально написана мною как раз для их обучения.
32
Дословный перевод: «Эта бутылка Будвайзера для Вас». — Прим. консультанта.
33
Обычно такая «подпольная» группа представляет собой небольшое подразделение с нечеткой структурой, формируемое для продвижения инноваций, или иногда для сокрытия таковых. Названием «skunkwork» она обязана фабрике «Skonk Works» Бига Барнсмелла (Big Barnsmell), где подпольно производился напиток Kickapoo Joy, из комикса «Li'l Abner» в Al Capp.
34
Этот интерфейс эмуляции также составил основу интерпретации Java на AS/400, что более подробно будет рассмотрено в главе 11. В отсутствие интерфейса эмуляции весь код MI перед исполнением надо было транслировать на аппаратный уровень. Теперь есть возможность выполнять часть кода MI путем интерпретации.
35
Оптимизирующий транслятор, известный под названием ОХ, был создан совместно Рочесте-ром и исследовательской лабораторией IBM в Хайфе (Haifa), где накоплен большой опыт разработки машинно-зависимых приемов компиляции для конвейерных суперскалярных процессоров. В Хайфе было создано несколько компонентов ОХ.
36
Специалисты по AS/400 любят рассуждать об одноуровневой памяти. Как мы только что убедились, в MI вообще нет памяти. Таким образом, одноуровневая память невидима или находится вне MI; скорее, это часть внутренней реализации AS/400.
37
Правильней было бы назвать эту запись "записью Лукашевича". К сожалению, немногие американцы могут правильно произнести или написать эту фамилию, так что прижилось название "польская".
38
Многие годы ходила шутка, что безотказный прием для того, чтобы собрать большую аудиторию на конференции пользователей — включить слово «индикатор» в название презентации. По общему мнению, зал будет забит до отказа.
39
Шестнадцатиричные числа — элемент системы счисления с основанием 16. В этой системе используются 16 цифр 0-9 и А-F. Часто для краткости в шестнадцатиричном виде представляют наборы битов. Каждое 4-битное поле может быть представлено одной шестнадцатиричной цифрой. Так, двоичное 0001 в шестнадцатиричной системе будет 1, 0010 — 2... 1111 — F.
40
Некоторые из нас, создателей System/38, были очень хорошо знакомы с языками компьютерного моделирования уже в конце 60-х. Я сам использовал объектные модели в своей докторской диссертации для компьютерного моделирования различных архитектур виртуальной памяти. Решение использовать объекты в System/38 пришло после нашего участия в проекте Future Systems (подробнее об этом см. в Приложении).
41
Grady Booch. Object Oriented Design with Appliations. The Benjamin/Cummings Publishing Company, Inc. 1991.
42
До AS/400 в системах Рочестера не использовалось название «операционная система». Считалось, что для большинства заказчиков ОС — это нечто слишком сложное и страшное, а такие названия, как Control Program Facility и System Support Program, казались более близкими. К нашему большому изумлению, при объявлении DOS (Disk Operating System) для IBM PC никто не испугался. Поэтому мы решились на название OS/400.
43
Имеется в виду Office Vision/400 — программный пакет для автоматизации офисной деятельности. — Прим. консультанта.
44
Программный пакет для подключения персональных компьютеров к System/36, а позже и к AS/ 400. — Прим. консультанта.
45
Проблема «сборки мусора» изучается многие годы в различных университетах. Над ее решением работало огромное количество дипломников. Так не лучше ли ее просто устранить? Именно такой подход использует AS/400.
46
Есть уже много русских терминов, аналогичных data mining, однако в данном случае по моему мнению, точнее всего отражает суть процесса прямой перевод — разработка данных (mining — буквально раскопки, добыча полезных ископаемых). Чисто технически, это действительно очень похоже на, например, обогащение руды и выплавку металла. — Прим. консультанта.
47
Опросы показали, что многие пользователи AS/400 собираются приобрести базу данных в ближайшем будущем. Здесь следует отметить, что результаты опросов не следует принимать безоговорочно; они могут больше говорить о самом опросе, чем реальном положении дел.
48
Я не видел нужды в особом названии для базы данных AS/400 до тех пор, пока не встретился с представителями одной крупной промышленной компании. Один из них спросил, какую базу данных я мог бы порекомендовать для AS/400. Я выпалил: «DB2/400», — так мы именовали базу данных в своих внутренних дискуссиях. Почти все присутствующие сразу же начали кивать: «О, это очень хорошая база данных!». И я понял, что раз даже эти люди — работники других подразделений IBM — не знают, что в AS/400 есть база данных, то мы действительно должны дать ей имя.
49
По сути дела все это напоминает овощебазу: здесь картошка, там капуста, за углом — морковь и т. д. Кстати, «сгниют» данные в хранилище или принесут ощутимую пользу — зависит только от хозяина. — Прим. консультанта.
50
Бессмыслица, что-то вроде «утилита переформатирования преобразования». — Прим. консультанта.
51
После ухода из Рочестера Том Фьюри стал генеральным менеджером группы разработки DB2. В то время DB2 собиралась отмечать свою десятую годовщину, пресс-релизы с гордостью называли ее первой реляционной базой данных. Тому пришлось напомнить, что первой была база данных System/38.
52
Моя любимая книга на эту тему—Paul Conte. Database Design and Programming for DB2/400. Duke Press .1997. Настоятельно рекомендую!
53
Чтобы избежать полной путаницы, я использую, где возможно, более привычную для пользователей AS/400 терминологию «родного» интерфейса, за исключением случаев, когда описывается реализация именно SQL.
54
Те читатели, у которых понятие «пути доступа» вызывает затруднения, могут (с известной натяжкой) считать, что это примерно то же самое, что и индекс. — Прим. консультанта.
55
В информатике деревья всегда растут вверх ногами. Где еще корень расположен наверху, а ветви тянутся вниз?
56
Department of Defense Trusted Computer System Evaluation Criteria. DoD5200. 28-STD. 1985, December.
57
Пользователь не имеющий данного права не может даже знать о существовании этого объекта. — Прим. консультанта.
58
На самом деле, приведенный ниже алгоритм сильно упрощен для того, чтобы облегчить читателю понимание общих принципов проверки наличия прав. Описание полного алгоритма предназначено только для «гурманов» и занимает около 20 страниц. Оно содержится в книге OS/400 Security - Reference, SC41-4302, входящей в комплект эксплуатационной документации. — Прим. консультанта.
59
5250 — это поток данных обобщенного термина, подключенного к AS/400. Если, Вы помните, на мэйнфреймах это был поток 3270, а на ЕС ЭВМ — 7920. — Прим. консультанта.
60
На использование этой аппаратуры за пределами США и Канады вообще, и в России —в частности, требуется получение специальной лицензии (как американской, так и российской). Это не просто, но вполне реально. — Прим. консультанта
61
Американский бушель равен примерно 35,2 литра. — Прим. консультанта.
62
T.D. Kilburn, B.G. Edwards, M.J. Lanigan, F.H. Sumner. One-level Storage System./Ii?E Transactions on Electronic Computers. 1962. April.
63
Идея виртуальной памяти заворожила тогда и меня, и я избрал ее в качестве темы своей диссертации в Университете штата Айова. Я недоумевал, как производители компьютеров, включая IBM, смогли «втиснуть» такую простую и элегантную идею в безумно сложные структуры. В конце концов, поиск такого решения виртуальной памяти, которое не требовало бы огромных накладных расходов и обеспечивало бы высокую производительность, привел к созданию System/38.
64
Я хочу предупредить возражения моих друзей — специалистов в области производительности — и, прежде всего, Рича Тернера (Rich Turner). Действительно, производительность пакетной обработки зависит не только от скорости процессора. Важную роль играют и размер памяти, и возможности дисковой подсистемы.
65
Перед объявлением System/38 в Рочестер приехал «эксперт» из IBM, который заявил, что планируемые нами размеры памяти слишком велики. Несмотря на протесты тех из нас, кто хорошо разбирался в теме дискуссии, размер памяти пришлось сократить. В результате оригинальная Model 5 работала плохо, так как была ограничена 2 мегабайтами памяти. А ведь при увеличении размера памяти производительность росла. Когда тот же самый «эксперт» вернулся, чтобы помочь нам с AS/400, мы вышвырнули его вон.
66
Прерывания часто называют также исключительными ситуациями. — Прим. консультанта.
67
Так как я сам и был тем человеком, кто провел эти вычисления и решил, что проблем не возникнет, то и все гневные отклики на эту ошибку достались мне. Должен признаться, что это был сильный стимул заняться переводом AS/400 на 64-разрядный аппаратный адрес.
68
Группа доступа, упомянутая в главе 5, представляет собой системный объект, позволяющий объединять несколько временных объектов и работать с ними как с целым. Возможно, читателю знакома группа доступа процесса PAG (process access group).
69
Перезагрузить систему действительно очень просто. Гораздо труднее было объяснить заказчику почему он должен это делать каждый месяц. Особенно если система установлена, например, в финансовой компании. — Прим. консультанта.
70
В начале 40-х годов Гарвардский Университет (Harvard University) разработал серию компьютеров Mark (проект финансировался IBM). Компьютеры Mark-III и Mark-IV имели раздельные памяти для команд и данных. Термин «гарвардская архитектура» до сих пор используется для обозначения машин с раздельной памятью.
71
Очевидно, однако, что не все перечисленные технологии оправдывают возлагавшиеся на них ожидания. Так что, похоже, дискам суждена еще очень долгая жизнь.
72
Здесь следует учитывать, что когда компонент управления дисками записывает объект, особенно большой, на диск, он обычно пытается распределить его между несколькими дисковыми устройствами. Причина этого — стремление повысить производительность и загруженность дисков. Путем распределения объектов на несколько дисков можно сократить время его считывания или записи, так как дисковые операции могут выполняться параллельно.
Даже сегодня диски на AS/400 не считаются устройствами ввода-вывода. Они рассматриваются как память.
73
На самом деле в секторе может быть 520 или 522 байта. Формат 522-байтового сектора в сочетании с современными дисковыми контроллерами (типа 6512 или 6532) позволяет улучшить характеристики ввода/вывода. — Прим. консультанта.
74
G. Bell and W.D. Strecker. Computer Structures: What Have We Learned From the PDP-11? / Proc. Third Annual Symposium on Computer Architecture. 1976. January. Pp. 1-14.
75
Ни одноуровневая память, ни независимость от технологии запатентованы не были. — Прим. консультанта.
76
Родни Дэнжерфилд — очень популярный современный американский комический актер и автор. Зачастую его юмор «крутится» вокруг простой мысли: «Никто меня не любит, никто не уважает...». — Прим консультанта.
77
Шина SPD пришла из неудачного проекта Fort Knox, история которого рассказана в Приложении. Своим именем она обязана System Products Division — подразделению IBM, занимавшемуся созданием Fort Knox.
78
SAN — это сеть нового класса, предназначенная для высокоскоростных соединений систем и устройств на расстояниях в десятки и сотни метров. SAN занимает промежуточное положение между непосредственными соединениями внутри корпуса и ЛВС.
79
Учтите, что приведенная в списке информация специфична для устройств, подключенных к шине SPD. Впрочем, реализация для PCI концептуально мало чем отличается от описанной.
80
Как Вы помните, подход электронного бизнеса к прикладным решениям состоит в сочетании систем и процессов, выполняющих базовые операции, с простотой и доступностью, обеспечиваемыми современными технологиями Интернета и WWW.
81
«Java Beans» — буквально «зерна Java». Как уже упоминалось, язык, получивший потом название Java, изначально предполагалось использовать для управления бытовой техникой — магнитофонами, кофеварками и т. п. Поэтому на иллюстрациях к описаниям Java часто изображают кофеварки или чашечку кофе. Кстати, название Java совпадает с названием популярного сорта кофе. — Прим. консультанта.
82
Если считать, что Microsoft входит в группу основных производителей программных средств (а так считает, пожалуй, большинство), то нужно заметить, что упомянутая корпорация так и не приняла стандарт Java (по состоянию на ноябрь 1997 года). — Прим. консультанта.
83
«Производительность не критична, если обеспечена функциональность». — Прим. переводчика.
84
CEC — это то, что обычно называют системным блоком. — Прим. консультанта.
85
Если Вы хотите узнать больше о сжатии данных вообще и об алгоритме IBMLZ1 в частности, я рекомендую Вам новую книгу Роя Хоффмана—Roy Hoffman. Data Compression in Digital Systems. Chapman & Hall. 1997.
86
Самый престижный кубок в американском футболе. — Прим. консультанта.
87
«Very Long Instruction Word» — «Очень длинное слово команды». — Прим. переводчика.
88
Ciprico — фирма из Миннеаполиса (Minneapolis), штат Миннесота, работавшая над рядом проектов вместе с Университетом Миннесоты.
89
Распространенная, в том числе и в России, компьютерная игра. — Прим. консультанта.
90
К моменту выхода русского издания книги результаты ТРС-С были уже сертифицированы, поэтому в таблице приведены окончательные данные. Для сравнения — оценка автора была 25.100. — Прим. консультанта.
Одно из немногих изданий на русском языке, которое посвящено старейшей глобальной компьютерной сети "Fidonet". Сатирический справочник о жизни и смерти самого древнего сетевого сообщества, которое до сих пор существует среди нас.
В пособии излагаются основные тенденции развития организационного обеспечения безопасности информационных систем, а также подходы к анализу информационной инфраструктуры организационных систем и решению задач обеспечения безопасности компьютерных систем.Для студентов по направлению подготовки 230400 – Информационные системы и технологии (квалификация «бакалавр»).
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.Для программистов-пользователей операционной системы UNIX.
Книга адресована программистам, работающим в самых разнообразных ОС UNIX. Авторы предлагают шире взглянуть на возможности параллельной организации вычислительного процесса в традиционном программировании. Особый акцент делается на потоках (threads), а именно на тех возможностях и сложностях, которые были привнесены в технику параллельных вычислений этой относительно новой парадигмой программирования. На примерах реальных кодов показываются приемы и преимущества параллельной организации вычислительного процесса.
Применение виртуальных машин дает различным категориям пользователей — от начинающих до IT-специалистов — множество преимуществ. Это и повышенная безопасность работы, и простота развертывания новых платформ, и снижение стоимости владения. И потому не случайно сегодня виртуальные машины переживают второе рождение.В книге рассмотрены три наиболее популярных на сегодняшний день инструмента, предназначенных для создания виртуальных машин и управления ими: Virtual PC 2004 компании Microsoft, VMware Workstation от компании VMware и относительно «свежий» продукт — Parallels Workstation, созданный в компании Parallels.
Книга содержит подробные сведения о таких недокументированных или малоизвестных возможностях Windows XP, как принципы работы с программами rundll32.exe и regsvr32.exe, написание скриптов сервера сценариев Windows и создание INF-файлов. В ней приведено описание оснасток, изложены принципы работы с консолью управления mmc.exe и параметрами реестра, которые изменяются с ее помощью. Кроме того, рассмотрено большое количество средств, позволяющих выполнить тонкую настройку Windows XP.Эта книга предназначена для опытных пользователей и администраторов, которым интересно узнать о нестандартных возможностях Windows.