| От автора | 1 |
| Предисловие | 2 |
| Введение | 2 |
| Начало | 3 |
| Революция начинается | 3 |
| Проект Fort Knox | 4 |
| Ранняя AS/400 (она же System/38) | 4 |
| Союз AS/400-PowerPC | 4 |
| Команда технических разработчиков | 4 |
| Команда менеджеров | 5 |
| В последнюю минуту | 6 |
| Твердая рука | 6 |
| Зачем написана книга? | 6 |
| Замечания ко второму изданию | 7 |
| Как читать эту книгу | 7 |
| Глава 1 | 8 |
| Расширенная архитектура приложений | 8 |
| Архитектура компьютера | 8 |
| С точки зрения программиста | 8 |
| Уровни абстракции | 9 |
| Создание программ | 9 |
| Классификация архитектур | 10 |
| Процессоро-ориентированная архитектура | 10 |
| API-ориентированные архитектуры | 10 |
| Машинная архитектура высокого уровня | 11 |
| И это тоже есть! | 11 |
| Глава 2 | 12 |
| Технология PowerPC | 12 |
| Микросхемы сжимаются на глазах | 12 |
| Альянс PowerPC | 13 |
| Эволюция PowerPC | 13 |
| RISC-процессор AS/400 для коммерческих расчетов | 15 |
| Технология PowerPC для AS/400 | 16 |
| [litru_image]img_19.jpeg[/litru_image] Архитектура PowerPC | 18 |
| [litru_image]img_21.png[/litru_image] Расширения архитектуры PowerPC | 19 |
| [litru_image]img_22.png[/litru_image] 65-разрядный процессор? | 19 |
| [litru_image]img_23.png[/litru_image] Система команд Amazon | 19 |
| Реализации процессора AS/400 | 20 |
| [litru_image]img_24.jpeg[/litru_image] Процессоры Muskie первого поколения | 20 |
| [litru_image]img_26.jpeg[/litru_image] Процессоры Cobra первого и второго поколения | 21 |
| Процессоры третьего поколения Apache | 21 |
| [litru_image]img_28.jpeg[/litru_image] О Процессоры четвертого и следующих поколений | 22 |
| [litru_image]img_29.jpeg[/litru_image] О Подсистема памяти | 22 |
| [litru_image]img_30.jpeg[/litru_image] Организация памяти | 22 |
| [litru_image]img_31.jpeg[/litru_image] Перекрестные переключатели | 23 |
| Будущее переключателей памяти | 24 |
| Выводы | 24 |
| Глава 3 | 24 |
| System Licensed Internal Code (SLIC) —сердце AS/400 | 24 |
| Разделяй и властвуй | 24 |
| Микрокод | 25 |
| Впереди скользкая дорога | 25 |
| Концепции объектно-ориентированного программирования | 26 |
| Среда разработки SLIC | 26 |
| Затраты на разработк у SLIC | 27 |
| Технологии ядра в SLIC | 27 |
| Индивидуальность System/36 | 27 |
| Что-то старое, что-то новое | 28 |
| Advanced 36 | 28 |
| Выводы | 29 |
| Глава 4 | 29 |
| Машинный интерфейс, независимый от технологии | 29 |
| Обзор архитектуры MI | 29 |
| Неисполняемый интерфейс | 30 |
| [litru_image]img_39.jpeg[/litru_image] Компиляторы для AS/400 | 30 |
| Характеристики машинного интерфейса | 31 |
| Работа с программами MI | 32 |
| Создание программы | 32 |
| Уничтожение программы | 32 |
| Материализация и адаптируемость программы | 32 |
| [litru_image]img_46.jpeg[/litru_image] Внутри шаблона программы | 33 |
| [litru_image]img_48.jpeg[/litru_image] Форматы команд MI | 34 |
| [litru_image]img_50.jpeg[/litru_image] Код операции MI | 34 |
| [litru_image]img_52.jpeg[/litru_image] Расширение кода операции | 34 |
| [litru_image]img_53.jpeg[/litru_image] Примеры команд MI | 34 |
| Выводы | 35 |
| Глава 5 | 35 |
| Объекты | 35 |
| Имена объектов | 36 |
| Объекты OS/400 и системные объекты MI | 36 |
| Поиск объектов | 37 |
| Библиотеки | 37 |
| Разделяемые папки | 37 |
| Интегрированная файловая система | 37 |
| Доступ к объектам | 38 |
| Адресация на базе возможностей | 38 |
| Разрешение системных указателей | 38 |
| Другие типы указателей | 38 |
| Характеристики системных объектов | 39 |
| Программные объекты | 40 |
| Внутри системного объекта | 40 |
| Сегментированная память | 40 |
| Структура системного объекта | 40 |
| М ногосегментные объекты | 40 |
| [litru_image]img_66.jpeg[/litru_image] Содержимое заголовков | 41 |
| [litru_image]img_67.jpeg[/litru_image] Заголовок сегмента | 41 |
| [litru_image]img_68.jpeg[/litru_image] Заголовок EPA | 41 |
| Примеры объектов | 42 |
| Выводы | 42 |
| Глава 6 | 42 |
| Интегрированная база данных | 42 |
| База данных без имени | 43 |
| Хранилища данных | 43 |
| Преобразование оперативных данных в информационные | 43 |
| Серверы баз данных | 43 |
| Параллельная обработка | 44 |
| Многомерные базы данных (MDD) | 44 |
| Анализ данных и инструментарий конечных пользователе й | 44 |
| Управление хранилищем данных | 45 |
| Эволюция реляционной базы данных | 45 |
| Двуликая база данных | 46 |
| Как функционирует база данных | 46 |
| Функции СУБД | 46 |
| Описание данных и создание файлов | 47 |
| Создание физических файлов и таблиц | 47 |
| Создание логических файлов и проекций | 47 |
| Словарь данных и каталоги | 47 |
| Независимость данных и программ | 48 |
| Защита данных | 48 |
| Целостность и восстановление данных | 48 |
| Журнал | 48 |
| Системная защита пути доступа SMAPP | 49 |
| Управление транзакциями | 49 |
| Триггеры | 49 |
| Ссылочная целостность | 49 |
| Дисковые системы высокой доступности | 50 |
| Другие функции базы данных | 50 |
| Хранимые процедуры | 50 |
| Поддержка национальных языков | 50 |
| Предсказывающий регулятор запросов | 50 |
| Повышение производительности базы данных | 51 |
| Распределенные базы данных | 51 |
| Шлюзы к другим базам данных | 51 |
| Трансформация данных с помощью DataPropagator | 51 |
| Соединение при помощи OptiConnect | 51 |
| Внутренняя реализация функций базы данных | 52 |
| [litru_image]img_73.jpeg[/litru_image] Объекты базы данных | 52 |
| [litru_image]img_74.jpeg[/litru_image] Области данных | 52 |
| Индексы области данных | 52 |
| [litru_image]img_75.jpeg[/litru_image] Курсоры | 52 |
| Доступ пользователя к данным | 53 |
| Журналы SLIC | 53 |
| Управление транзакциями в SLIC | 53 |
| Машинные индексы | 54 |
| Двоичный поиск | 54 |
| Деревья с двоичным основанием | 54 |
| Внутренняя организация дерева с двоичным основанием | 56 |
| Выводы | 56 |
| Глава 7 | 56 |
| Защита от несанкционированного доступа | 56 |
| Интегрированная защита | 56 |
| Уровни защиты | 57 |
| Отсутствие защиты (уровень 10) | 57 |
| Парольная защита (уровень 20) | 57 |
| Защита ресурсов (уровень 30) | 57 |
| Защита ОС (уровень 40) | 58 |
| Защита C2 (уровень 50) | 58 |
| Профили пользователей | 58 |
| Класс пользователя | 59 |
| Объекты, принадлежащие и доступные | 59 |
| Права доступа к объектам | 59 |
| Привилегированные команды и специальные права | 59 |
| Заимствование прав программой | 59 |
| Группирование прав | 60 |
| Алгоритм поиска прав | 60 |
| Дополнительная защита в сетевом мире | 61 |
| Подключение ПК к AS/400 | 61 |
| Вирусы, черви, троянские кони и другие мерзкие твари | 61 |
| Безопасный сервер WWW | 62 |
| Выводы | 63 |
| Глава 8 | 63 |
| Одноуровневая память | 63 |
| Сколько байтов адресуют 64 разряда | 63 |
| Виртуальная память | 63 |
| Виртуальная память для систем разделения времени | 64 |
| Одноуровневая виртуальная память | 64 |
| Постоянная виртуальная память | 65 |
| Что такое одноуровневая память | 66 |
| Одноуровневая память и производительность | 67 |
| Указатели и теги | 69 |
| Аппаратная защита указателей | 69 |
| Режим активных тегов | 70 |
| Указатели и теги на диске | 70 |
| Внутри указателя | 71 |
| Сказка о двух размерах адреса | 71 |
| Переполнение адреса | 72 |
| Трансляция адреса | 73 |
| Характеристики модели памяти | 73 |
| Регистр состояния машины | 73 |
| Обзор трансляции адреса | 74 |
| Трансляция адреса виртуальный—реальный | 74 |
| Хеширование | 75 |
| Запись страничной таблицы | 76 |
| Режимы доступа к памяти | 76 |
| Защита страниц | 77 |
| Управление дисками | 77 |
| Пулы вспомогательной памяти | 77 |
| Сегменты памяти | 77 |
| Дисковые экстенты | 77 |
| Выводы: | 78 |
| Сегменты группы доступа | 78 |
| Каталоги вспомогательной памяти | 78 |
| Выводы | 78 |
| Глава 9 | 78 |
| Управление процессами | 78 |
| Лучшая в мире структура задач | 79 |
| Технологии микроядра | 79 |
| Начинаем снизу | 79 |
| Диспетчеризация задач в AS/400 | 80 |
| Состояния задачи | 80 |
| Очередь диспетчеризации задач | 81 |
| Очереди и счетчики приема-передачи | 81 |
| Мультипроцессирование | 81 |
| Симметричное мультипроцессирование | 81 |
| Асимметричное мультипроцессирование | 82 |
| Динамическое планирование приоритетов | 82 |
| Процессы в MI | 82 |
| Исходная модель процессов | 83 |
| Модель процессов ILE | 83 |
| Внутри процесса ILE | 84 |
| Структура процессов ILE | 84 |
| Группа активизации ILE | 84 |
| Исключения, события и прерывания | 84 |
| Исключения и события MI | 85 |
| Управление исключениями SLIC | 85 |
| Аппаратное переключение контекста | 86 |
| Задания и управление ими OS/400 | 87 |
| Концепции управления заданиями | 87 |
| Подсистемы | 87 |
| Старая и новая структуры задания | 87 |
| Процессы, задачи, задания, группы активизации и потоки | 88 |
| Выводы | 88 |
| Глава 10 | 88 |
| Система ввода-вывода | 88 |
| Время перемен | 89 |
| Базовые концепции ввода-вывода | 89 |
| Промышленные стандарты ввода-вывода | 90 |
| Шина SPD | 91 |
| Соединения аппаратуры ввода-вывода SPD | 91 |
| Работа шины ввода-вывода SPD | 92 |
| Операции ввода-вывода в AS/400 | 92 |
| Объекты поддержки ввода-вывода | 92 |
| Компоненты ввода-вывода | 93 |
| Как все это работает | 94 |
| Выводы | 96 |
| Глава 11 | 96 |
| Версия 4 | 96 |
| Расширенная версия 4 AS/400 | 96 |
| Сетевые вычисления | 96 |
| Реализация стандартов | 97 |
| Битва за рабочий стол | 98 |
| Совместные вычисления | 99 |
| Упрощенные клиент-серверные вычисления | 99 |
| Поддержка приложений | 100 |
| Java, Java везде и всюду | 100 |
| Java для AS/400 | 101 |
| Проект San Francisco (Каркасы Java) | 102 |
| Интегрированные ПК-серверы | 103 |
| Серверные модели AS/400e | 104 |
| Обработка данных | 104 |
| Качественный рост старших моделей AS/400е | 105 |
| RISC-п роцессор и перспективы его развития | 105 |
| Кластеры и постоянная готовность | 106 |
| Улучшения соотношения цена-производительность в серии AS/400е | 107 |
| Универсальность | 107 |
| Новые технологии ввода-вывода | 107 |
| Выводы | 108 |
| Глава 12 | 108 |
| AS/400 в XXI веке | 108 |
| Будущие технологии процессоров | 108 |
| Процессоры пятого поколения | 108 |
| После RISC | 109 |
| VLIW в Рочестере | 110 |
| Будущее многопроцессорных систем | 112 |
| Масштабируемые многопроцессорные системы с общей памятью | 112 |
| CC-NUMA и COMA | 112 |
| Будущее ввода-вывода AS/400 | 113 |
| Будущие технологии подсистем ввода-вывода | 114 |
| Дисковые массивы | 114 |
| Будущие программные технологии AS/400 | 115 |
| Операционные системы | 115 |
| Глобальные файловые системы | 115 |
| Интерфейсы пользователя | 116 |
| Технологии приложений | 116 |
| Общая производительность системы | 116 |
| Программы тестирования производительности | 117 |
| Как мы сравниваем? | 117 |
| Выводы | 118 |