Основы AS/400 От автора Предисловие Введение Начало Революция начинается Проект Fort Knox Ранняя AS/400 (она же System/38) Союз AS/400-PowerPC Команда технических разработчиков Команда менеджеров В последнюю минуту Твердая рука Зачем написана книга? Замечания ко второму изданию Как читать эту книгу Глава 1 Расширенная архитектура приложений Архитектура компьютера С точки зрения программиста Уровни абстракции Создание программ Классификация архитектур Процессоро-ориентированная архитектура API-ориентированные архитектуры Машинная архитектура высокого уровня И это тоже есть! Глава 2 Технология PowerPC Микросхемы сжимаются на глазах Альянс PowerPC Эволюция PowerPC RISC-процессор AS/400 для коммерческих расчетов Технология PowerPC для AS/400 Архитектура PowerPC Расширения архитектуры PowerPC 65-разрядный процессор? Система команд Amazon Реализации процессора AS/400 Процессоры Muskie первого поколения Процессоры Cobra первого и второго поколения Процессоры третьего поколения Apache О Процессоры четвертого и следующих поколений О Подсистема памяти Организация памяти Перекрестные переключатели Будущее переключателей памяти Выводы Глава 3 System Licensed Internal Code (SLIC) —сердце AS/400 Разделяй и властвуй Микрокод Впереди скользкая дорога Концепции объектно-ориентированного программирования Среда разработки SLIC Затраты на разработку SLIC Технологии ядра в SLIC Индивидуальность System/36 Что-то старое, что-то новое Advanced 36 Выводы Глава 4 Машинный интерфейс, независимый от технологии Обзор архитектуры MI Неисполняемый интерфейс Компиляторы для AS/400 Характеристики машинного интерфейса Работа с программами MI Создание программы Уничтожение программы Материализация и адаптируемость программы Внутри шаблона программы Форматы команд MI Код операции MI Расширение кода операции Примеры команд MI Выводы Глава 5 Объекты Имена объектов Объекты OS/400 и системные объекты MI Поиск объектов Библиотеки Разделяемые папки Интегрированная файловая система Доступ к объектам Адресация на базе возможностей Разрешение системных указателей Другие типы указателей Характеристики системных объектов Программные объекты Внутри системного объекта Сегментированная память Структура системного объекта Многосегментные объекты Содержимое заголовков Заголовок сегмента Заголовок EPA Примеры объектов Выводы Глава 6 Интегрированная база данных База данных без имени Хранилища данных Преобразование оперативных данных в информационные Серверы баз данных Параллельная обработка Многомерные базы данных (MDD) Анализ данных и инструментарий конечных пользователей Управление хранилищем данных Эволюция реляционной базы данных Двуликая база данных Как функционирует база данных Функции СУБД Описание данных и создание файлов Создание физических файлов и таблиц Создание логических файлов и проекций Словарь данных и каталоги Независимость данных и программ Защита данных Целостность и восстановление данных Журнал Системная защита пути доступа SMAPP Управление транзакциями Триггеры Ссылочная целостность Дисковые системы высокой доступности Другие функции базы данных Хранимые процедуры Поддержка национальных языков Предсказывающий регулятор запросов Повышение производительности базы данных Распределенные базы данных Шлюзы к другим базам данных Трансформация данных с помощью DataPropagator Соединение при помощи OptiConnect Внутренняя реализация функций базы данных Объекты базы данных Области данныхИндексы области данных Курсоры Доступ пользователя к данным Журналы SLIC Управление транзакциями в SLIC Машинные индексы Двоичный поиск Деревья с двоичным основанием Внутренняя организация дерева с двоичным основанием Выводы Глава 7 Защита от несанкционированного доступа Интегрированная защита Уровни защиты Отсутствие защиты (уровень 10) Парольная защита (уровень 20) Защита ресурсов (уровень 30) Защита ОС (уровень 40) Защита C2 (уровень 50) Профили пользователей Класс пользователя Объекты, принадлежащие и доступные Права доступа к объектам Привилегированные команды и специальные права Заимствование прав программой Группирование прав Алгоритм поиска прав Дополнительная защита в сетевом мире Подключение ПК к AS/400 Вирусы, черви, троянские кони и другие мерзкие твари Безопасный сервер WWW Выводы Глава 8 Одноуровневая память Сколько байтов адресуют 64 разряда Виртуальная память Виртуальная память для систем разделения времени Одноуровневая виртуальная память Постоянная виртуальная память Что такое одноуровневая память Одноуровневая память и производительность Указатели и теги Аппаратная защита указателей Режим активных тегов Указатели и теги на диске Внутри указателя Сказка о двух размерах адреса Переполнение адреса Трансляция адреса Характеристики модели памяти Регистр состояния машины Обзор трансляции адреса Трансляция адреса виртуальный—реальный Хеширование Запись страничной таблицы Режимы доступа к памяти Защита страниц Управление дисками Пулы вспомогательной памяти Сегменты памяти Дисковые экстенты Выводы: Сегменты группы доступа Каталоги вспомогательной памяти Выводы Глава 9 Управление процессами Лучшая в мире структура задач Технологии микроядра Начинаем снизу Диспетчеризация задач в AS/400 Состояния задачи Очередь диспетчеризации задач Очереди и счетчики приема-передачи Мультипроцессирование Симметричное мультипроцессирование Асимметричное мультипроцессирование Динамическое планирование приоритетов Процессы в MI Исходная модель процессов Модель процессов ILE Внутри процесса ILE Структура процессов ILE Группа активизации ILE Исключения, события и прерывания Исключения и события MI Управление исключениями SLIC Аппаратное переключение контекста Задания и управление ими OS/400 Концепции управления заданиями Подсистемы Старая и новая структуры задания Процессы, задачи, задания, группы активизации и потоки Выводы Глава 10 Система ввода-вывода Время перемен Базовые концепции ввода-вывода Промышленные стандарты ввода-вывода Шина SPD Соединения аппаратуры ввода-вывода SPD Работа шины ввода-вывода SPD Операции ввода-вывода в AS/400 Объекты поддержки ввода-вывода Компоненты ввода-вывода Как все это работает Выводы Глава 11 Версия 4 Расширенная версия 4 AS/400 Сетевые вычисления Реализация стандартов Битва за рабочий стол Совместные вычисления Упрощенные клиент-серверные вычисления Поддержка приложений Java, Java везде и всюду Java для AS/400 Проект San Francisco (Каркасы Java) Интегрированные ПК-серверы Серверные модели AS/400e Обработка данных Качественный рост старших моделей AS/400е RISC-процессор и перспективы его развития Кластеры и постоянная готовность Улучшения соотношения цена-производительность в серии AS/400е Универсальность Новые технологии ввода-вывода Выводы Глава 12 AS/400 в XXI веке Будущие технологии процессоров Процессоры пятого поколения После RISC VLIW в Рочестере Будущее многопроцессорных систем Масштабируемые многопроцессорные системы с общей памятью CC-NUMA и COMA Будущее ввода-вывода AS/400 Будущие технологии подсистем ввода-вывода Дисковые массивы Будущие программные технологии AS/400 Операционные системы Глобальные файловые системы Интерфейсы пользователя Технологии приложений Общая производительность системы Программы тестирования производительности Как мы сравниваем? Выводы
Зачем написана книга? Никогда прежде IBM не освещала так глубоко и всесторонне историю проектирования и особенности архитектуры AS/400. Никогда не объяснялось, как этой замечательная система делает то, что она делает. Моя задача — снять с AS/400 завесу тайны, а также пролить некоторый свет на то, как система создавалась.
Вы, возможно, уже поняли, что я чувствую себя обязанным включить в книгу кое-какую историческую информацию. Несколько лет назад я неформально унаследовал пост историка Рочестера от Карла Гебхардта (Carl Gebhardt), занимавшего его изначально. Карл был бизнес-менеджером (business manager) наших ранних систем, а позже, в бытность Гарри Ташияна директором лаборатории, работал системным менеджером и System/34, и System/38. Карл отвечал за финансовый успех ранних систем Рочестера. Я работал у него в начале 80-х, когда Карл был нашим директором по стратегии (director of strategy). Долгие годы Карл был историографом Рочестера. Он часто так и представлялся (официально такого поста не было, но мы оба считали, что он должен быть). Если возникал вопрос о чем-нибудь, что произошло несколько лет назад, Карл в большинстве случаев знал на него ответ. Когда Карл оставил работу, мы обсуждали, кто должен занять этот почетный пост, и он сдал вахту мне.
Эта книга написана для тех, кто хочет узнать больше об AS/400. Это не спецификация для проектировщиков операционной системы, которым нужно гораздо больше деталей, чем здесь приведено; и не переделка рекламных материалов IBM. Она написана для пользователей, разработчиков приложений и студентов, которые хотят понять, как работает AS/400, чтобы достичь успеха в бизнесе, писать лучшие приложения или просто удовлетворить здоровое любопытство. Волшебство это или просто удачный проект? Возможно и то, и другое.
Хочу подчеркнуть: я излагаю в книге свою точку зрения. Я откровенный фанатик AS/400. Мои взгляды не обязательно совпадают с официальными позициями корпорации IBM. Надеюсь, чтение книги доставит Вам такое же удовольствие, как мне — ее создание.