OS/360
OS/360 — это семейство операционных систем, разработанное корпорацией IBM для мейнфреймов серии System/360, официально представленное в 1964 году и ставшее одной из первых комплексных операционных систем, поддерживающих широкий спектр конфигураций оборудования. OS/360 была первой коммерчески успешной операционной системой, созданной с учётом обратной совместимости и возможности работы на разных по производительности моделях одного семейства.
История
Предпосылки создания
До середины 1960-х годов IBM выпускала отдельные линейки компьютеров для научных (серия 7000) и коммерческих задач (серия 1400). Каждая модель имела собственную, часто несовместимую с другими, операционную систему и набор периферии. С ростом рынка такая фрагментация становилась экономически невыгодной как для производителя, так и для заказчиков.
Проект System/360, анонсированный 7 апреля 1964 года, ставил целью создание единого семейства компьютеров с общей системой команд, стандартными интерфейсами ввода-вывода и единой операционной системой. Разработка OS/360 была поручена команде под руководством Джина Амдала (архитектура аппаратного обеспечения) и Фредерика Брукса (руководство разработкой ПО).
Ход разработки
Разработка OS/360 оказалась одним из первых крупных проектов в истории программной инженерии, столкнувшимся с «кризисом программного обеспечения». Проект поглотил более 5000 человеко-лет труда и обошёлся IBM примерно в 500 миллионов долларов (около 4,5 миллиардов в ценах 2020-х годов). По воспоминаниям Фредерика Брукса, работа над системой сопровождалась масштабными задержками, перерасходом бюджета и ростом сложности.
Первая версия OS/360 была выпущена с задержкой в 1966 году, но не обладала обещанной производительностью. Полнофункциональная версия (с поддержкой мультипрограммирования и виртуальной памяти) появилась только к концу 1960-х годов. Опыт разработки OS/360 был описан Бруксом в книге «Мифический человеко-месяц» (1975), ставшей классикой менеджмента в IT.
Эволюция
В 1970-х годах на смену OS/360 пришли OS/VS (с поддержкой виртуальной памяти), а затем — OS/390 (1990), которая, в свою очередь, была заменена в 2000-х годах на z/OS. Тем не менее, ядро OS/360, лежащее в основе z/OS, сохраняет обратную совместимость с программами, написанными в 1960-х годах.
Классификация
OS/360 не была единой программой, а представляла собой семейство из нескольких версий, каждая из которых ориентировалась на определённый класс аппаратного обеспечения:
- BOS/360 (Basic Operating System) — упрощённая версия для младших моделей System/360 (с минимальным объёмом оперативной памяти 8 КБ).
- TOS/360 (Tape Operating System) — версия для систем без дисковых накопителей, работающая исключительно с ленточными накопителями.
- DOS/360 (Disk Operating System) — версия для средних конфигураций, поддерживающая работу с дисками, но без мультипрограммирования в полном объёме.
- OS/360 MFT (Multiprogramming with a Fixed number of Tasks) — основная версия для средних и крупных машин, позволявшая выполнять несколько задач одновременно, разбивая память на фиксированные разделы.
- OS/360 MVT (Multiprogramming with a Variable number of Tasks) — наиболее продвинутая версия для старших моделей, с динамическим распределением памяти и поддержкой до 15 одновременно выполняемых задач.
Устройство и архитектура
Ядро и супервизор
Центральным компонентом OS/360 был супервизор (supervisor) — резидентный модуль, управляющий процессами, памятью и вводом-выводом. Супервизор работал в привилегированном режиме и обеспечивал изоляцию задач друг от друга.
Управление памятью
В OS/360 отсутствовала виртуальная память (она появилась только в OS/VS). Память делилась между задачами либо фиксированными разделами (MFT), либо динамическими регионами (MVT). Для связи между программами использовалась общая область памяти (CM — Common Memory).
Управление данными
OS/360 ввела концепцию управляющих блоков данных (DCB — Data Control Block), которые описывали формат, размер и местоположение файлов на дисках или лентах. Система поддержки трёх основных методов организации данных: последовательный (sequential), индексно-последовательный (ISAM — Indexed Sequential Access Method) и прямой (direct).
Язык управления заданиями (JCL)
Для взаимодействия пользователя с OS/360 использовался JCL (Job Control Language) — язык управляющих операторов, которые описывали, какие программы необходимо выполнить, какие файлы использовать и какие ресурсы выделить. JCL стал стандартом для систем IBM на десятилетия вперёд.
Применение
OS/360 широко использовалась в крупных организациях: банках, страховых компаниях, железных дорогах, государственных учреждениях, университетах и военных структурах. На этой системе выполнялись такие задачи, как обработка платежей (включая расчёт чеков), ведение бухгалтерских книг (бухгалтерские главные книги), управление запасами (MRP-системы) и проведение научных расчётов.
Значение для отрасли
OS/360 стала первой операционной системой, которая:
- поддерживала единый программный интерфейс (API) для разных моделей компьютеров;
- допускала многосменную работу (batch processing) с автоматическим выходом на следующее задание;
- обеспечивала отделение логики программы от аппаратно-зависимых деталей ввода-вывода.
Критика и проблемы
Задержки и бюджет
Разработка OS/360 — классический пример неудачного менеджмента в масштабных проектах. Задержки составили более года, а бюджет был превышен в несколько раз. Это привело к серьёзным финансовым потерям для IBM и разочарованию многих ранних заказчиков.
Качество и ошибки
Первые версии OS/360 страдали от многочисленных ошибок, вызывавших сбои при выполнении заданий. Система была чрезвычайно требовательна к ресурсам — полная версия MVT занимала около 256 КБ RAM, что в середине 1960-х годов считалось значительным объёмом.
Сложность использования
JCL, хотя и стал стандартом, критиковался за чрезвычайно многословный и запутанный синтаксис. Для написания типового задания требовалось до нескольких десятков строк, и даже небольшая ошибка в операторе могла привести к отказу в выполнении.
Интересные факты
- OS/360 стала первой операционной системой, для которой была выпущена полноценная документация в виде «Руководства по системам» (IBM System/360 Operating System: Concepts and Facilities), насчитывающего сотни страниц.
- Название OS/360 использовалось не только для операционной системы, но и для целой линейки программного обеспечения (например, компиляторы PL/I, FORTRAN, COBOL и ассемблеры).
- Алгоритм планирования задач в OS/360 (приоритеты с вытеснением) использовался как основа для многих последующих операционных систем, включая OS/390 и z/OS.
- Термин «мифический человеко-месяц» был введён именно в контексте разработки OS/360.
Источники
- Brooks, Frederick P. The Mythical Man-Month: Essays on Software Engineering. — Addison-Wesley, 1975. — ISBN 0-201-00650-2.
- IBM Corporation. IBM System/360 Operating System: Concepts and Facilities. — Form C28-6535, 1966.
- Pugh, Emerson W. Building IBM: Shaping an Industry and Its Technology. — MIT Press, 1995. — ISBN 0-262-16147-8.
- IBM Archives: System/360 Announcement (1964). — IBM Corporation.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →