Открыть сервис

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 →