История запущенных операционных систем на мэйнфреймах IBM является примечательной главой истории систем мэйнфреймов, поскольку IBM давно занимает крупнейшего в мире поставщика оборудования для мэйнфреймов.
Возможно, операционные системы, которые IBM предлагает использовать на своих ранних мэйнфреймах, редко были очень инновационными, за исключением систем виртуальных машин, начиная с СР-67. Но хорошо известная компания, предоставляющая проверенные технологии, в целом вселяла в себя пользователей уверенность в том, что они могут быстро освоить новые системы IBM. Текущие операционные системы мэйнфреймов IBM, z / OS, z / VM, z / VSE и z / TPF, составляют обратно совместимые преемники операционных систем, представленных в 1960-х годах, хотя, конечно, они были улучшены во многих отношениях.
Здесь обсуждаются как операционные системы, поставляемые IBM, так и другие, если они используются особенно на мэйнфреймах IBM.
IBM не спешила с внедрением операционных систем: General Motors произвела General Motors OS в 1955 году и GM-NAA I / O в 1956 году для использования на собственных компьютерах IBM; а в 1962 году Burroughs Corporation выпустила MCP, а General Electric представила GECOS в обоих случаях для использования их клиентами.
Фактически, первые операционные системы для компьютеров IBM были написаны клиентами IBM, которые не производили их очень дорогие машины (2 миллиона США в середине 1950-х годов) бездействовали, пока операторы настраивали задание вручную, и поэтому долларов они хотели механизм поддержки очереди заданий.
Описанные ниже операционные системы работали только на нескольких моделях процессоров и подходили только для научных и инженерных расчетов. Пользователям других компьютеров IBM или других приложений приходилось обходиться без операционных систем. Но один из меньших компьютеров IBM, IBM 650, представил функцию, которая позже стала частью OS / 360 : если обработка была прервана "случайной ошибкой обработки" (аппаратный сбой), машина могла автоматически возобновить работу с последней контрольной точки вместо того, чтобы требовать от операторов перезапуска задания вручную с самого начала.
General Motors Исследовательское подразделение произвело GM-NAA I / O для своего IBM 701 в 1956 году (из прототипа операционной системы GM, разработанной в 1955 году) и обновило его для преемника 701. В 1960 году ассоциация пользователей IBM SHARE взяла его на себя и выпустила обновленную версию, Операционная система SHARE.
. Наконец, IBM взяла на себя проект и предоставила расширенную версию под названием IBSYS с компьютерами IBM 7090 и IBM 7094. IBSYS требовалось 8 ленточных накопителей (меньше, если в системе был один или несколько дисководов). Его основными компонентами были: card, - язык управления заданиями, который был основным пользовательским интерфейсом; компиляторы для FORTRAN и COBOL ; ассемблер ; и различные утилиты, включая программу сортировка.
В 1958 г. исполнительная система Мичиганского университета адаптировала ввод / вывод GM-NAA для создания UMES, который лучше подходил к большому количеству малых рабочих мест, созданных студентами. UMES использовалась до 1967 года, когда она была заменена системой времени MTS.
Bell Labs произвела BESYS (иногда называемая BELLMON) и пользовался им до середины 1960-х годов. Bell также предоставила его другим пользователям бесплатно или без официальной технической поддержки.
До IBSYS IBM производила для своих IBM 709, 7090 и 7094 - компьютеры с ленточной операционной системой, единственной целью которой было компилировать программы FORTRAN - фактически FMS и компилятор FORTRAN находились на одном ленте..
MIT Фернандо Корбато создал первые экспериментальные системы с разделением времени, такие как CTSS, с 1957 года до начала 1960-х годов, с использованием слегка модифицированных мэйнфреймов IBM 704 и IBM 7090 ; эти системы были основаны на предложении Джона Маккарти. В 1960-х годах в собственных лабораториях IBM были созданы экспериментальные системы с разделением времени, используя стандартные мэйнфреймы с аппаратными средствами и модификациями микрокода для поддержки периферийной памяти : IBM M44 / 44X в начало 1960-х; СР-40 с 1964 по 1967 год; СР-67 с 1967 по 1972 год. Компания даже выпустила CP-67 без гарантии или технической поддержки нескольким большим клиентам с 1968 по 1972 год. CP-40 и CP-67 использовали модифицированную System / 360 ЦП, но M44 / 44X был основан на IBM 7044, ЦП более раннего поколения, который сильно отличался внутренне.
Эти экспериментальные системы были слишком поздно для включения в серию System / 360, которую IBM объявила в 1964 году, но призвала компанию добавить виртуальную память и возможности виртуальных машин в свои мэйнфреймы System / 370 и их операционные системы в 1972 году:
В 1968 году консалтинговая фирма под названием Computer Software Systems использовала выпущенную версию CP-67 для создания коммерческой службы разделения времени. В техническую команду компании входили 2 новобранца из Массачусетского технологического института (см. CTSS выше), Дик Оренштейн и Гарольд Файнлейб. По мере своего роста компания переименовала себя в Национальное CSS и другое программное обеспечение, которое могло увеличить количество платных пользователей, оно могло помочь, пока система не стала настолько важной, что потребовалось новое имя, VP / CSS. VP / CSS был механизмом доставки услуг National CSS до начала 1980-х, когда он переключился на IBM VM / 370 (см. Ниже).
Университеты выпустили еще три S / 360 раза. - Использование операционных систем в конце 1960-х:
До начала 1960-х годов системы низкого и высокого уровня IBM были несовместимы - программы могли нелегко перенести от одного к другому, и системы часто использовали совершенно разные периферийные устройства (например, дисководы). IBM пришла к выводу, что эти факторы увеличивают затраты на производство как аппаратного, так и программного обеспечения до неприемлемого уровня, а также снижают продажу, удерживая клиентов от обновлений. Поэтому в 1964 году компания анонсировала System / 360, новую линейку компьютеров, которые используют одни и те же периферийные устройства и большинство из них могут запускать одни и те же программы.
Первоначально IBM планировала, что System / 360 должна иметь только одну пакетно-ориентированную операционную систему, OS / 360. Есть по крайней мере два объяснения, почему IBM позже решила, что должна также создать более простую пакетно-ориентированную операционную систему, DOS / 360 :
Операционные системы System / 360 были более сложными, чем предыдущие операционные системы IBM по нескольким причинам, в том числе:
Это сделало через OS / 360 и другое программное обеспечение System / 360 одним из основных программных проектов, которые когда-либо предпринимались, и IBM вскоре столкнулись с проблемами, с огромным перерасходом времени и средств и большим количеством ошибок. Эти проблемы только усугублялись тем, что для разработки и тестирования систем System / 360 на реальном оборудовании IBM сначала продемонстрировала Basic Programming Support / 360 (BPS / 360). BPS использовался для разработки инструментов, необходимых для разработки DOS / 360 и OS / 360, а также первых версий инструментов, поставляемых с этими операционными системами - компиляторы для FORTRAN и COBOL, утилиты, включая Сортировка, и, прежде всего, ассемблер, необходимый для сборки всего остального программного обеспечения.
Конкуренты IBM воспользовались задержками с выпуском OS / 360 и System / 360, чтобы анонсировать системы, нацеленные на то, что они считали наиболее уязвимыми частями рынка IBM. Чтобы предотвратить падение System / 360, IBM выпустила четыре временные операционные системы:
Когда IBM анонсировала S / 360-67, она также объявила об операционной системе с разделением времени, TSS / 360, будет использовать новые возможности представ память 360/67. TSS / 360 был запоздалым, а ранние выпуски были медленными и ненадежными. Эта технология времени альтернативная операционная система CP-67, разработанная Кембриджским научным центром IBM, работала достаточно хорошо, чтобы IBM предложила ее «без гарантии» в качестве средств разделения времени для нескольких крупных клиентов. CP-67 усил VM / 370 и в итоге стал z / VM. В итоге IBM предложила три версии TSS / 370 PRPQ в качестве пути передачи для своих клиентов TSS / 360, а затем отказалась от него.
Травмы, связанные с производством систем System / 360, дали толчок развития новой дисциплины программной инженерии, применить научные принципы к разработке программного обеспечения и менеджменту. программных проектов. Фредерик П. Брукс, который был старшим менеджером проекта всего проекта System / 360, а затем на него была возложена конкретная ответственность за OS / 360 (которая уже давно назрела), написал известную книгу Мифический человеко-месяц, основанный на проблемах и уроках, извлеченных в ходе проекта, двумя из которых были:
В то время как OS / 360 была предпочтительной операционной системой для машиных System / 360 более высокого уровня, DOS / 360 была обычной операционной системой для менее мощных машин. Он предоставил набор служебных программ, макроса ассемблера и компиляторов для FORTRAN и COBOL. Поддержка RPG появилась позже, и со временем появилась подмножество PL / I. И он поддерживает полезный диапазон файловых организаций с методами доступа, чтобы помочь в их использовании:
Последовательные файлы и файлы ISAM могут хранить записи фиксированной или стандартной размера, и все типы занимать более одного дискового тома.
DOS / 360 также предлагал BTAM, средство передачи данных, которое было примитивным и трудным в использовании по сегодняшним стандартам. Но BTAM мог связываться практически с любым типом терминала, когда почти не существовало стандартизации протоколов связи.
Но DOS / 360 имел значительные ограничения по сравнению с OS / 360, которая использовалась для управления большинством более крупных компьютеров System / 360:
IBM ожидала, что пользователи DOS / 360 скоро обновятся до OS / 360, но, несмотря на ее ограничения, DOS / 360 стала наиболее широко используемой операционной системой в мире, потому что:
DOS / 360 хорошо работала на процессорах System / 360, которые могли себе позволить организации среднего размера, и была лучше, чем «операционные системы», которые были у этих клиентов раньше. В результате его потомок z / VSE по-прежнему широко используется по состоянию на 2005 год.
OS / 360 включал несколько уровней поддержки, единый API и много общего кода. PCP представляла собой временную версию, которая могла запускать только одну программу за раз, но MFT («Многопрограммирование с фиксированным числом задач») и MVT («Мультипрограммирование с переменным числом задач») использовались по крайней мере до конца 1970-х годов, добрых пять лет после того, как были запущены их преемники. Неясно, возникло ли разделение между PCP, MFT и MVT из-за того, что MVT требовал слишком много памяти для использования на машинах среднего уровня, или потому, что IBM нужно было как можно скорее выпустить версию ОС для мультипрограммирования (MFT).
PCP, MFT и MVT использовали разные подходы к управлению памятью (см. Ниже), но предоставляли очень похожие возможности:
Опыт показал, что не рекомендуется устанавливать OS / 360 в системах с объемом памяти менее 256 КБ, что было обычным ограничением в 1960-х годах.
При установке MFT клиенты могут указать до четырех «разделов», областей памяти с фиксированными границами, в которых прикладные программы могут выполняться одновременно. MFT версии II (MFT-II) увеличил предел до 52.
MVT был значительно больше и сложнее, чем MFT, и поэтому использовался на самых мощных процессорах System / 360. Он рассматривал всю память, не используемую операционной системой, как единый пул, из которого непрерывные «области» могли быть выделены по мере необходимости для неограниченного числа одновременных прикладных программ. Эта схема была более гибкой, чем MFT, и в принципе использовала память более эффективно, но была подвержена фрагментации - через некоторое время можно было обнаружить, что, хотя в общей сложности было достаточно свободной памяти для запуска программы, она была разделены на отдельные фрагменты, ни один из которых не был достаточно большим.
В 1971 году была добавлена опция разделения времени (TSO) для использования с MVT. TSO стал широко использоваться для разработки программ, поскольку он предоставлял: редактор; возможность отправлять пакетные задания, получать уведомления об их завершении и просматривать результаты, не дожидаясь распечатанных отчетов; отладчики для некоторых языков программирования, используемых в System / 360. TSO взаимодействует с терминалами с помощью TCAM (Telecommunication Access Method ), который в конечном итоге заменил более ранний Queued Telecommunications Access Method (QTAM). Название TCAM предполагает, что IBM надеялась, что он станет стандартным методом доступа для передачи данных, но на самом деле TCAM использовался почти полностью для TSO и с конца 1970-х годов был в значительной степени вытеснен VTAM.
Оборудование и операционные системы System / 360 были разработаны для обработки пакетных заданий, которые в крайних случаях могут выполняться часами. В результате они не подходили для обработки транзакций, в которой выполняются тысячи единиц работы в день, и каждая занимает от 30 секунд до нескольких минут. В 1968 году IBM выпустила IMS для обработки транзакций, а в 1969 году выпустила CICS, более простую систему обработки транзакций, которую группа сотрудников IBM разработала для покупатель. IMS была доступна только для OS / 360 и ее преемников, но CICS также была доступна для DOS / 360 и ее преемников. В течение многих лет этот тип продукта был известен как «монитор TP (телеобработка)». Строго говоря, мониторы TP были не компонентами операционной системы, а прикладными программами, которые управляли другими прикладными программами. В 1970-х и 1980-х годах несколько сторонних мониторов TP конкурировали с CICS (в частности, Taskmaster, Shadow и Intercomm), но IBM постепенно улучшала CICS до такой степени, что большинство клиентов отказались от альтернатив.
В 1950-х годах авиакомпании быстро расширялись, но этот рост сдерживался трудностью обработки тысяч заказов вручную (с использованием картотеки). В 1957 году IBM подписала с American Airlines контракт на разработку компьютеризированной системы бронирования, которая стала известна как SABER. Первая экспериментальная система была запущена в 1960 году, а в 1964 году система взяла на себя все функции резервирования - в обоих случаях с использованием мэйнфреймов IBM 7090. В начале 1960-х годов IBM провела аналогичные проекты для других авиакомпаний и вскоре решила создать единую стандартную систему бронирования, PARS, для работы на компьютерах System / 360.
В SABER и ранних версиях PARS не было разделения между приложением и компонентами операционной системы программного обеспечения, но в 1968 году IBM разделила его на PARS (приложение) и ACP (операционная система). Более поздние версии ACP были названы ACP / TPF, а затем TPF (средство обработки транзакций), поскольку предприятия, не связанные с авиаперевозками, приняли эту операционную систему для обработки больших объемов онлайн-транзакций. Последней версией является z / TPF.
IBM разработала ACP и его последователей, потому что: в середине 1960-х годов стандартные операционные системы IBM (DOS / 360 и OS / 360 ) были ориентированы на пакетную обработку и не могли достаточно быстро обрабатывать большое количество коротких транзакций; даже его мониторы транзакций IMS и CICS, которые работают под управлением стандартных операционных систем общего назначения, недостаточно быстры для обработки бронирований на сотни рейсов. от тысяч туристических агентств.
Последней версией ACP «общественного достояния», следовательно, последней «бесплатной» версией была ACP 9.2, которая распространялась на единственном мини-барабане с прилагаемым набором руководств (около две дюжины руководств, которые занимали примерно 48 линейных дюймов полочного пространства), которые можно было бы восстановить на дисках IBM 3340, что, таким образом, обеспечило бы полностью функциональную систему ACP.
ACP 9.2 предназначалась, в первую очередь, для банковских карт (MasterCard и др.) И других «финансовых» приложений, но также могла использоваться для систем бронирования авиакомпаний, поскольку к этому времени ACP стала ОС более общего назначения.
Действительно, к тому времени в ACP был включен модуль «гипервизор» (CHYR), который поддерживал виртуальную ОС... обычно VS1, но, возможно, также VS2.. • в качестве «гостя», с которым разработка программ или обслуживание файлов могут выполняться одновременно с онлайн-функциями.
В некоторых случаях производственная работа выполнялась под VS2 под гипервизором, включая, возможно, IMS DB.
Model 20 был отмечен как часть диапазона System / 360, потому что он мог быть подключен к некоторым из тех же периферийных устройств, но была 16-битной машиной и не была полностью программно совместима с другими членами диапазона System / 360. Лаборатории IBM в Германии разработали три операционные системы для различных конфигураций 360/20; DPS - с дисками (минимум памяти 12 КБ); TPS - без диска, но с лентами (минимальный объем памяти: 8 КБ); и CPS - на основе перфокарт (минимальный объем памяти: 4 КБ). У них не было прямых преемников с тех пор, как IBM представила линейку компьютеров для малого бизнеса System / 3 в 1969 году, а System / 3 имела внутреннюю конструкцию, отличную от 360/20, и другую периферию от мэйнфреймов IBM.
Это был другой процессор, который использовал периферийные устройства System / 360, но имел другую внутреннюю конструкцию. 360/44 был разработан для научных вычислений с использованием чисел с плавающей запятой, таких как геологический или метеорологический анализ. Из-за внутренних различий и специального вида работы, для которой он был разработан, у 360/44 была собственная операционная система PS / 44. Эмулятор отсутствующих инструкций System / 360 позволил Model 44 запустить OS / 360. У 360/44 и PS / 44 не было прямых преемников.
Когда в 1970 году было объявлено о System / 370, она предлагала по существу те же возможности, что и System / 360, но примерно в 4 раза больше тактовая частота процессоров System / 360 аналогичной стоимости. Затем в 1972 году IBM анонсировала «Расширенные функции System / 370», главным пунктом которых было то, что будущие продажи System / 370 будут включать в себя возможность виртуальной памяти, и это также может быть дооснащено существующей System / 370. ЦП. Поэтому IBM также взяла на себя обязательство поставлять усовершенствованные операционные системы, которые могут поддерживать использование виртуальной памяти.
Большинство новых операционных систем отличались от своих предшественников наличием «/ VS» в их названиях. «VS» означает «виртуальное хранилище» - IBM избегала термина «виртуальная память», якобы потому, что слово «память» можно интерпретировать как означающее, что компьютеры IBM могут что-то забыть.
Все современные операционные системы для мэйнфреймов IBM, кроме z / TPF, являются потомками тех, которые включены в объявление «System / 370 Advanced Functions» - z / TPF является потомком ACP, система, которую IBM изначально разработала для поддержки приложений по бронированию большого количества авиабилетов.
DOS / VS был преемником DOS / 360 и предлагал аналогичные возможности с добавлением виртуальной памяти. В дополнение к виртуальной памяти DOS / VS предоставил другие улучшения:
DOS / VS последовали значительные обновления: DOS / VSE и VSE / SP (1980-е годы), VSE / ESA (1991) и z /VSE (2005).
OS / VS1 была преемницей MFT и предлагала аналогичные возможности с добавлением виртуальной памяти. IBM выпускала довольно незначительные улучшения OS / VS1 до 1983 года, а в 1984 году объявила, что их больше не будет. OS / VS1 и TSS / 370 - единственные операционные системы IBM System / 370, у которых нет современных потомков.
Специальная операционная система реального времени (SRTOS), Программирование RPQ Z06751, была вариантом OS / VS1, расширенной для поддержки вычислений в реальном времени. Он был нацелен на такие отрасли, как управление электроэнергетикой и приложения для нефтепереработки.
OS / VS2 Release 1 (SVS ) заменили для MVT с виртуальной памятью; Несмотря на то, что было много изменений, он сохранил общую структуру. Но в 1974 году IBM выпустила то, что она описала как OS / VS2 Release 2, но это была серьезная переработка, которая была совместима с более ранней OS / VS2 SVS. Наиболее заметной особенностью новой системы было то, что она поддерживала несколько виртуальных адресных пространств - разные приложения думали, что они используют один и тот же диапазон виртуальных адресов, но средства виртуальной памяти новой системы отображали их на разные диапазоны адресов реальной памяти. В результате новая система быстро стала известна как «MVS » (несколько виртуальных хранилищ), исходная OS / VS2 стала известна как «SVS» (единое виртуальное хранилище). Сама IBM приняла эту терминологию и назвала преемников MVS "MVS /...".
Другими отличительными особенностями MVS были: его главный каталог должен был быть каталогом VSAM ; он поддерживает «тесно связанную многопроцессорность» (2 или более ЦП совместно используют одну и ту же память и копию операционной системы); it included a System Resources Manager (renamed Workload Manager in later versions) which allowed users to load additional work on to the system without reducing the performance of high-priority jobs.
IBM has released several MVS upgrades:, MVS/SP Version 1, MVS/XA (1981), MVS/ESA (1985), OS/390 (1996) and currently z/OS (2001).
VM/370 combined a virtual machine facility with a single-user system called Conversational Monitor System (CMS); this combination provided time-sharing by allowing each user to run a copy of CMS on his / her own virtual machine. This combination was a direct descendant of CP/CMS. The virtual machine facility was often used for testing новое программное обеспечение, в то время как нормальная производственная работа продолжалась на другой виртуальной машине, а система разделения времени CMS широко использовалась для разработки программ.
За VM / 370 последовала серия обновлений: VM / SEPP («Программный продукт системных расширений» "), VM / BSEPP (" Базовый программный продукт расширения системы "), VM / SP (системный продукт), VM / SP HPO (" высокопроизводительный вариант "), VM / XA MA (" средство миграции расширенной архитектуры "), VM / XA SF («Системное средство с расширенной архитектурой»), VM / XA SP («Системный продукт с расширенной архитектурой»), VM / ESA («Архитектура корпоративных систем») и z / VM. IBM также произвела дополнительный микрокод для ВМ и ее преемников, чтобы ускорить эмуляцию привилегированных инструкций (тех, которые могут использовать только операционные системы) на гипервизоре. от имени «гостевых» операционных систем. В рамках 370 / Extended Architecture IBM добавила инструкцию Start Interpretive Execution (SIE), чтобы обеспечить дальнейшее ускорение гипервизора CP.
Разделение времени (или разделение времени) основано на идее, что компьютеры намного быстрее людей, поэтому, пока один пользователь-человек читает то, что компьютер только что отобразил на экране, компьютер может выполнять некоторую полезную работу для другого пользователя. В больших системах с разделением времени могут одновременно работать сотни или даже тысячи пользователей, а объем памяти, необходимый для их программ и данных, обычно превышает объем физической памяти, подключенной к компьютеру. Системы с разделением времени решают эту проблему с помощью различных комбинаций:
Виртуальная память - это метод управления памятью, с помощью которого программы работают так, как если бы им было доступно больше памяти, чем фактически подключено к компьютеру. Код и данные выполняемых программ могут быть разбросаны по нескольким областям физической памяти или даже помещаться на диск, пока они не понадобятся.
Основными компонентами системы виртуальной памяти IBM являются:
При правильной системе оперативной памяти используются активные страницы в реальной памяти, а неактивные на диске, и позволяет более эффективно выполнять нагрузку системы.
Методы позволяют машины нескольким операционным системам («гостевым» операционным системам) или другому программному обеспечению работать на одном и том же компьютере, что каждая из них думает, что это целый целый ряд компьютер, каждый из этих смоделированных целых компьютеров называется «виртуальная машина». Операционная система, которая действительно управляет компьютером, обычно называется гипервизором. Два основных компонента гипервизора: