История операционных систем , работающих на IBM мэйнфреймов является заметной главой истории операционных систем для мэйнфреймов , из IBM давнишней позиции «s , как самый большой в мире поставщик оборудования на ЭВМ .
Возможно, операционные системы, которые IBM поставляла клиентам для использования на своих ранних мэйнфреймах , редко были очень инновационными, за исключением систем виртуальных машин , начиная с CP-67 . Но хорошо известная репутация компании, предпочитающей проверенные технологии, в целом вселяет в потенциальных пользователей уверенность в том, что они смогут быстро освоить новые системы IBM. Текущие операционные системы IBM для мэйнфреймов, z / OS , z / VM , z / VSE и z / TPF , являются обратно совместимыми преемниками операционных систем, представленных в 1960-х годах, хотя, конечно, они были улучшены во многих отношениях.
Здесь обсуждаются как операционные системы, поставляемые IBM, так и другие, если они используются особенно на мэйнфреймах IBM.
Перед System / 360
IBM не спешила с внедрением операционных систем: General Motors выпустила ОС General Motors в 1955 году и GM-NAA I / O в 1956 году для использования на собственных компьютерах IBM; а в 1962 году Burroughs Corporation выпустила MCP, а General Electric представила GECOS , в обоих случаях для использования их клиентами. [1] [2]
Фактически, первые операционные системы для компьютеров IBM были написаны клиентами IBM, которые не хотели, чтобы их очень дорогие машины (2 миллиона долларов США в середине 1950-х годов) бездействовали, пока операторы настраивали задания вручную, и поэтому им нужен был механизм. для ведения очереди заданий. [3]
Описанные ниже операционные системы работают только на нескольких моделях процессоров и подходят только для научных и инженерных расчетов. Пользователям других компьютеров IBM или других приложений приходилось обходиться без операционных систем. Но один из меньших компьютеров IBM , IBM 650 , представил функцию, которая позже стала частью OS / 360 : если обработка была прервана "случайной ошибкой обработки" (аппаратный сбой), машина могла автоматически возобновить работу с последней контрольной точки вместо требуя от операторов перезапустить задание вручную с самого начала. [4]
От ввода-вывода GM-NAA General Motors к IBSYS
Подразделение General Motors Research произвело ввод / вывод GM-NAA для своего IBM 701 в 1956 году (из прототипа операционной системы GM, разработанной в 1955 году) и обновило его для преемника 701. В 1960 году ассоциация пользователей IBM SHARE взяла на себя управление и выпустила обновленную версию операционной системы SHARE . [3]
Наконец, IBM взяла на себя проект и поставила расширенную версию под названием IBSYS с компьютерами IBM 7090 и IBM 7094 . IBSYS требовалось 8 ленточных накопителей (меньше, если в системе был один или несколько дисководов). Его основными компонентами были: язык управления заданиями на основе карточек , который был основным пользовательским интерфейсом; компиляторы для FORTRAN и COBOL ; ассемблер ; и различные утилиты, включая программу сортировки . [5] [6]
В 1958 году исполнительная система Мичиганского университета адаптировала систему ввода-вывода GM-NAA для создания UMES , которая лучше подходила для большого количества небольших рабочих мест, создаваемых студентами. UMES использовалась до 1967 года, когда ее заменила система разделения времени МТС . [7]
БЕСИС
Bell Labs производила BESYS (иногда называемая BELLMON) и использовала ее до середины 1960-х годов. Bell также предоставила его другим пользователям бесплатно или без официальной технической поддержки. [8] [3]
Система мониторинга FORTRAN
До появления IBSYS IBM производила для своих компьютеров IBM 709 , 7090 и 7094 ленточную операционную систему, единственной целью которой была компиляция программ FORTRAN - фактически FMS и компилятор FORTRAN находились на одной ленте. [9] [10]
Ранние системы с разделением времени и виртуальными машинами
MIT «S Фернандо Corbató произвел первые экспериментальные разделения времени системы, такие как CTSS , с 1957 до начала 1960 - х годов, используя слегка измененный IBM 709 , [11] [12] IBM 7090 , [11] [12] и IBM 7094 [ 12] мэйнфреймы; эти системы были основаны на предложении Джона Маккарти . [13] [14] В 1960-х годах собственные лаборатории IBM создали экспериментальные системы с разделением времени, используя стандартные мэйнфреймы с модификациями аппаратного обеспечения и микрокода для поддержки виртуальной памяти : IBM M44 / 44X в начале 1960-х; СР-40 с 1964 по 1967 год; CP-67 с 1967 по 1972 год. Компания даже выпустила CP-67 без гарантии или технической поддержки нескольким крупным клиентам с 1968 по 1972 год. В CP-40 и CP-67 использовались модифицированные процессоры System / 360 , но за основу были взяты M44 / 44X. на IBM 7044 , более раннем поколении ЦП, который сильно отличался внутренне. [15] [16] [17]
Эти экспериментальные системы было слишком поздно для включения в серию System / 360, которую IBM объявила в 1964 году, но призвала компанию добавить виртуальную память и возможности виртуальных машин в свои мэйнфреймы System / 370 и их операционные системы в 1972 году: [15]
- M44 / 44X показал, что частичный подход к виртуальным машинам недостаточен и что перегрузка может серьезно снизить скорость систем виртуальной памяти. Перемалывание - это состояние, при котором система работает очень медленно, потому что она тратит много времени на перетасовку страниц виртуальной памяти между физической памятью и файлами на диске.
- IBM научилась у CP-40 и CP-67: как сделать проблему измельчения управляемой; что другие его технологии виртуальной памяти и виртуальных машин были достаточно быстрыми и надежными для использования в массовых коммерческих системах, которые были его основным бизнесом. В частности, Дэвид Сэйр из IBM убедил компанию, что автоматическое управление виртуальной памятью может стабильно работать не хуже, чем лучшие схемы наложения, разработанные программистами. [18]
В 1968 году консалтинговая фирма Computer Software Systems использовала выпущенную версию CP-67 для создания коммерческой службы разделения времени. В техническую команду компании входили 2 новобранца из Массачусетского технологического института (см. CTSS выше), Дик Оренштейн и Гарольд Файнлейб. По мере роста компания переименовала себя в National CSS и модифицировала программное обеспечение, чтобы увеличить количество платных пользователей, которых она могла поддерживать, пока система не стала настолько другой, что ей было необходимо новое имя - VP / CSS . VP / CSS был механизмом доставки услуг National CSS до начала 1980-х годов, когда он перешел на IBM VM / 370 (см. Ниже). [19] [20]
В конце 1960-х университеты выпустили еще три операционные системы с разделением времени S / 360:
- Система Michigan Terminal (МТС) был разработан в 1967 году консорциумом университетов под руководством Университета Мичигана . Все версии работали на мэйнфреймах IBM с возможностью виртуальной памяти, начиная с S / 360-67 . МТС использовалась до 1999 года. [21]
- Университет Макгилла в Монреале начал разработку MUSIC (Система интерактивных вычислений Университета Макгилла) в 1969 году. MUSIC несколько раз улучшался и в конечном итоге поддерживал текстовый поиск, веб-публикации и электронную почту, а также разработку программного обеспечения. MUSIC продавалась IBM в основном образовательным учреждениям как рентабельная операционная система для своего оборудования и в конечном итоге в 1985 году стала продуктом IBM Systems (MUSIC / SP или многопользовательская система для интерактивных вычислений / системный продукт). Последняя официальная версия был выпущен в 1999 году. [22]
- ORVYL и WYLBUR были разработаны Стэнфордским университетом в 1967-68 годах для IBM S / 360-67. [23] [24] Они предоставили одни из первых возможностей разделения времени на компьютерах IBM S / 360.
Операционные системы System / 360
Вплоть до начала 1960-х годов системы IBM младшего и высшего класса были несовместимы - программы нельзя было легко перенести от одной к другой, и системы часто использовали совершенно разные периферийные устройства (например, дисковые накопители). [25] IBM пришла к выводу, что эти факторы увеличивали затраты на разработку и производство как аппаратного, так и программного обеспечения до неприемлемого уровня, а также снижали продажи, удерживая клиентов от обновления. Поэтому в 1964 году компания анонсировала System / 360 , новую линейку компьютеров, в которых использовались одни и те же периферийные устройства и на большинстве из них можно было запускать одни и те же программы. [26]
Изначально IBM предполагала, что в System / 360 должна быть только одна пакетно-ориентированная операционная система - OS / 360. Есть по крайней мере два объяснения того, почему IBM позже решила, что должна также создать более простую пакетно-ориентированную операционную систему, DOS / 360 :
- потому что выяснилось, что OS / 360 не вписывается в ограниченную память, доступную на меньших моделях System / 360; [27]
- или потому, что он понял, что разработка OS / 360 займет намного больше времени, чем ожидалось, и представил DOS / 360 как один из ряда временных интервалов, чтобы предотвратить падение продаж оборудования System / 360 - другими были BOS / 360 (Basic Операционная система для самых маленьких машин) и TOS / 360 (Ленточная операционная система, для машин только с ленточными накопителями). [26]
Операционные системы System / 360 были более сложными, чем предыдущие операционные системы IBM по нескольким причинам, в том числе: [28]
- Они должны были поддерживать мультипрограммирование - переключение на запуск другого незавершенного приложения, когда текущее приложение было заблокировано в ожидании завершения операций ввода-вывода (например, чтения с диска). Без мультипрограммирования более быстрые процессоры в этом диапазоне большую часть времени простаивали бы в ожидании медленных операций ввода-вывода. Следовательно, операционные системы должны были быть настоящими хозяевами систем, чтобы предоставлять те услуги, которые действительно запрашивали приложения, и обрабатывать сбои или неправильное поведение в одном приложении, не останавливая другие, работающие в то же время.
- Им приходилось поддерживать гораздо более широкий диапазон размеров машин. Объем памяти варьировался от 16 КБ до 1 МБ, а скорость процессора - от нескольких тысяч инструкций в секунду до 500000.
- Они должны были поддерживать широкий спектр требований приложений. Например, некоторым приложениям требовалось только прочитать последовательные файлы от начала до конца; другим нужен был быстрый прямой доступ к определенным записям в очень больших файлах; а некоторые приложения почти все свое время проводили вычисления, практически не читая и не записывая файлы.
Это сделало разработку OS / 360 и другого программного обеспечения System / 360 одним из крупнейших программных проектов, которые когда-либо предпринимались, и вскоре у IBM возникли проблемы с огромным перерасходом времени и средств и большим количеством ошибок . [28] Эти проблемы только усугублялись, потому что для разработки и тестирования операционных систем System / 360 на реальном оборудовании IBM сначала пришлось разработать Basic Programming Support / 360 (BPS / 360). [29] BPS использовался для разработки инструментов, необходимых для разработки DOS / 360 и OS / 360, а также первых версий инструментов, которые он поставлял с этими операционными системами - компиляторов для FORTRAN и COBOL , утилит, включая Sort , и, прежде всего, ассемблер ему необходимо построить все другое программное обеспечение. [30]
Конкуренты IBM воспользовались задержками с выпуском OS / 360 и System / 360, чтобы анонсировать системы, нацеленные на то, что они считали наиболее уязвимыми частями рынка IBM. Чтобы предотвратить падение продаж System / 360, IBM выпустила четыре временные операционные системы: [26]
- Базовая операционная система / 360 (BOS / 360), [29] которая загружается с дисковода или ленточного накопителя и поддерживает ленточные накопители и несколько дисков. Эта система была предоставлена клиентам бета-тестирования и, возможно, была ранней версией DOS / 360.
- TOS / 360 , который был разработан, чтобы предоставить возможность обновления для клиентов, у которых были компьютеры IBM 1401 с ленточными накопителями и без дисков.
- DOS / 360 , созданная разработчиками BOS / 360 и TOS / 360 (подразделение IBM по компьютерам для малого бизнеса), впоследствии стала основной операционной системой, чей потомок z / VSE до сих пор широко используется.
- Операционная система / 360 (OS / 360) только с опцией основной программы управления (PCP), которая не поддерживает мультипрограммирование. [31] : 371
Когда IBM анонсировала S / 360-67, она также объявила об операционной системе с разделением времени , TSS / 360 , которая будет использовать новые возможности виртуальной памяти 360/67. TSS / 360 был запоздалым, а ранние выпуски были медленными и ненадежными. К этому времени альтернативная операционная система CP-67 , разработанная Кембриджским научным центром IBM , работала достаточно хорошо, чтобы IBM могла предложить ее «без гарантии» в качестве механизма разделения времени для нескольких крупных заказчиков. [32] CP-67 впоследствии стал VM / 370 и, в конечном итоге, z / VM . В конечном итоге IBM предложила три версии TSS / 370 PRPQ в качестве пути миграции для своих клиентов TSS / 360, а затем отказалась от него.
Травмы производства операционных систем System / 360 дали толчок развитию новой дисциплины программной инженерии , попыткам применить научные принципы к разработке программного обеспечения и управлению программными проектами . Фредерик П. Брукс , который был старшим менеджером проекта всего проекта System / 360, а затем получил конкретную ответственность за OS / 360 (что уже давно назрело), написал знаменитую книгу «Мифический человеко-месяц» , основанную на проблемы, возникшие в ходе проекта, и извлеченные уроки, два из которых: [33]
- Выделение дополнительных ресурсов (особенно персонала) на трудный проект быстро становится непродуктивным или даже контрпродуктивным из-за трудностей в общении. Это синдром «Мифического Человеческого Месяца», который дал книге название.
- Преемник успешной системы часто сталкивается с трудностями, потому что он перегружен всеми функциями, которые люди хотели бы иметь в более ранней системе. Брукс назвал это « эффектом второй системы » и привел OS / 360 в качестве очень всеобъемлющего примера.
DOS / 360
В то время как OS / 360 была предпочтительной операционной системой для высокопроизводительных машин System / 360, DOS / 360 была обычной операционной системой для менее мощных машин. Она предоставила набор полезных программ , макро ассемблер и компиляторы для FORTRAN и COBOL . Поддержка RPG [34] [35] появилась позже и, в конечном итоге, стала подмножеством PL / I. И он поддерживает полезный диапазон файловых организаций с методами доступа, помогающими в их использовании:
- Последовательные наборы данных обычно считывались по одной записи от начала до конца.
- В индексированных ( ISAM ) файлах определенный раздел каждой записи был определен как ключ, который можно было использовать для поиска определенных записей.
- В файлах прямого доступа ( BDAM ) прикладная программа должна была указать физическое расположение на диске данных, к которым она хотела получить доступ. Программирование BDAM было не легко , и большинство клиентов никогда не использовали его сами, но это был самый быстрый способ доступа к данным на дисках и многих софтверных компаний использовали его в своих продуктах, в частности системы управления базами данных , такие как Adabas , IDMS и IBM, DL / I .
Последовательные файлы и файлы ISAM могут хранить записи фиксированной или переменной длины, и все типы могут занимать более одного дискового тома.
DOS / 360 также предлагал BTAM , средство передачи данных, которое было примитивным и трудным в использовании по сегодняшним стандартам. Но BTAM мог связываться практически с любым типом терминала, что было большим преимуществом в то время, когда практически не существовало стандартизации протоколов связи.
Но у DOS / 360 были значительные ограничения по сравнению с OS / 360 , которая использовалась для управления большинством более крупных компьютеров System / 360:
- Первая версия могла запускать только одну программу за раз. Более позднее усовершенствование позволяло использовать 3 одновременно в одном из 3 «разделов» , размер которых устанавливался каждым клиентом при установке DOS / 360.
- JCL он используется для представления работы была разработана , чтобы быть легким для низкобюджетных машин в процесс, и как следствие, программисты не нашли легко читать или писать.
- Там не было ни подкачка подсистемы для повышения эффективности перфокарты и использования принтера. В конце 1960-х годов независимая компания-разработчик программного обеспечения начала продавать диспетчер очереди печати GRASP.
- В DOS / 360 не было перемещаемого загрузчика , поэтому пользователям приходилось связывать редактирование отдельной исполняемой версии каждой программы для каждого раздела, в котором программа могла быть запущена.
- Исполняемые программы хранились в основной библиотеке изображений, которая не освобождала место при удалении программ или замене их более новыми версиями. Когда библиотека основных изображений заполнялась, ее нужно было сжать с помощью одной из служебных программ, и это могло остановить разработку на целых полдня.
- Его интерфейс прикладного программирования отличался от интерфейса OS / 360. Программы DOS / 360, написанные на языках высокого уровня, таких как COBOL, нуждались в небольших модификациях, прежде чем их можно было использовать с OS / 360, а программы на языке ассемблера нуждались в более крупных изменениях.
IBM ожидала, что пользователи DOS / 360 скоро обновятся до OS / 360, но, несмотря на ее ограничения, DOS / 360 стала самой широко используемой операционной системой в мире, потому что:
- Оборудование System / 360 продается очень хорошо
- Более 90% проданных систем 360 принадлежали к моделям 20, 30 и 40 [36]
- Большинство из этих более дешевых моделей имели гораздо меньше оперативной памяти, чем требуется OS / 360. [37]
DOS / 360 хорошо работала на процессорах System / 360, которые могли себе позволить средние организации, и была лучше, чем «операционные системы», которые были у этих клиентов раньше. В результате его потомок z / VSE по-прежнему широко используется, начиная с 2005 г. [27]
OS / 360
OS / 360 включает несколько уровней поддержки, единый API и много общего кода. PCP была временной версией, которая могла запускать только одну программу за раз, но MFT (« Мультипрограммирование с фиксированным количеством задач») и MVT (« Мультипрограммирование с переменным количеством задач») использовались, по крайней мере, до конца 1970-е годы, добрые пять лет после того, как были выпущены их преемники. [38] Неясно, возникло ли разделение между PCP, MFT и MVT из-за того, что MVT требовал слишком большого количества памяти для использования на машинах среднего уровня или потому, что IBM нужно было как можно скорее выпустить версию ОС для мультипрограммирования (MFT).
PCP, MFT и MVT использовали разные подходы к управлению памятью (см. Ниже), но предоставляли очень похожие возможности:
- Один и тот же интерфейс прикладного программирования (API), поэтому прикладные программы можно переносить между PCP, MFT и MVT без необходимости повторной компиляции .
- Тот же JCL , более гибкий и простой в использовании, чем у DOS / 360.
- Те же средства ( методы доступа ), что и DOS / 360, для чтения и записи файлов (последовательных, индексированных и прямых) и для передачи данных ( BTAM ).
- Дополнительная файловая структура, разделенная на разделы и метод доступа ( BPAM ), которая в основном использовалась для управления библиотеками программ. Хотя для освобождения свободного места необходимо было сжимать файлы с разделами, это редко останавливало работу по разработке, как это было с библиотекой Core Image для DOS / 360, поскольку PCP, MFT и MVT допускали неограниченное количество файлов с разделами, и каждый проект обычно имел не менее один.
- Система именования файлов, которая позволяла управлять файлами как иерархиями, например PROJECT.USER.FILENAME .
- Средство буферизации (чего не хватало в DOS / 360).
- Приложения могли создавать подзадачи, что позволяло выполнять мультипрограммирование в рамках одного задания.
Опыт показал, что не рекомендуется устанавливать OS / 360 в системах с объемом памяти менее 256 КБ [30], что было обычным ограничением в 1960-х годах.
MFT
При установке MFT клиенты могут указать до четырех «разделов», областей памяти с фиксированными границами, в которых прикладные программы могут выполняться одновременно. [39] MFT версии II (MFT-II) поднял лимит до 52.
MVT
MVT был значительно больше и сложнее, чем MFT, и поэтому использовался на самых мощных процессорах System / 360. Он рассматривал всю память, не используемую операционной системой, как единый пул, из которого непрерывные «области» могли быть выделены по требованию неограниченному количеству одновременных прикладных программ. Эта схема была более гибкой, чем MFT, и в принципе использовала память более эффективно, но была подвержена фрагментации - через некоторое время можно было обнаружить, что, хотя в общей сложности было достаточно свободной памяти для запуска программы, она была разделена на отдельные фрагменты, ни один из который был достаточно большим. [31] : 372–373
В 1971 году была добавлена опция разделения времени (TSO) для использования с MVT. TSO стал широко использоваться для разработки программ, потому что он предоставлял: редактор; возможность отправлять пакетные задания, получать уведомления об их завершении и просматривать результаты, не дожидаясь распечатанных отчетов; отладчики для некоторых языков программирования, используемых в System / 360. TSO взаимодействовал с терминалами с помощью TCAM ( метод доступа к электросвязи ), который в конечном итоге заменил более ранний метод доступа к электросвязи с очередью (QTAM). Название TCAM предполагает, что IBM надеялась, что он станет стандартным методом доступа для передачи данных, но на самом деле TCAM использовался почти полностью для TSO и был в значительной степени вытеснен VTAM с конца 1970-х годов.
Мониторы TP
Аппаратное обеспечение и операционные системы System / 360 были разработаны для обработки пакетных заданий, которые в крайних случаях могут выполняться часами. В результате они были непригодны для обработки транзакций , при которой в день выполняются тысячи единиц работы, каждая из которых занимает от 30 секунд до нескольких минут. В 1968 году IBM выпустила IMS для обработки транзакций, а в 1969 году выпустила CICS , более простую систему обработки транзакций, которую группа сотрудников IBM разработала для заказчика. IMS была доступна только для OS / 360 и ее преемников, но CICS также была доступна для DOS / 360 и ее преемников. [40] [41] В течение многих лет этот тип продукта был известен как «монитор TP (телеобработка)». Строго говоря, мониторы TP были не компонентами операционной системы, а прикладными программами, которые управляли другими прикладными программами. В 1970-х и 1980-х годах несколько сторонних мониторов TP конкурировали с CICS (в частности, Taskmaster, Shadow и Intercomm), но IBM постепенно улучшала CICS до такой степени, что большинство заказчиков отказались от альтернатив. [42] [43]
Специальные системы для авиакомпаний
В 1950-х годах авиакомпании быстро расширялись, но этот рост сдерживался трудностью обработки тысяч заказов вручную (с использованием картотеки). В 1957 году IBM подписала контракт с American Airlines на разработку компьютеризированной системы бронирования, которая стала известна как SABER . Первая экспериментальная система была запущена в 1960 году, а в 1964 году система взяла на себя все функции бронирования - в обоих случаях использовались мэйнфреймы IBM 7090 . В начале 1960-х IBM реализовала аналогичные проекты для других авиакомпаний и вскоре решила создать единую стандартную систему бронирования, PARS , для работы на компьютерах System / 360 .
В SABRE и ранних версиях PARS не было разделения между компонентами приложения и операционной системы программного обеспечения, но в 1968 году IBM разделила его на PARS (приложение) и ACP (операционная система). Более поздние версии ACP были названы ACP / TPF, а затем TPF (Transaction Processing Facility), поскольку компании, не связанные с авиаперевозками, приняли эту операционную систему для обработки больших объемов онлайн-транзакций. Последняя версия - z / TPF .
IBM разработала ACP и его последователей, потому что: в середине 1960-х стандартные операционные системы IBM ( DOS / 360 и OS / 360 ) были ориентированы на пакетную обработку и не могли достаточно быстро обрабатывать большое количество коротких транзакций; даже его мониторы транзакций IMS и CICS , которые работают под управлением стандартных операционных систем общего назначения, недостаточно быстры для обработки заказов на сотни рейсов от тысяч туристических агентств.
Последней версией ACP «общественного достояния», а следовательно, и ее последней «бесплатной» версией, была ACP 9.2, которая распространялась на одной мини-катушке с сопутствующим набором руководств (около двух десятков руководств, которые занимали примерно 48 линейных дюймов полки. space), которые можно было бы восстановить на дисковые накопители IBM 3340, что, таким образом, обеспечило бы полностью функциональную систему ACP.
ACP 9.2 был предназначен, в первую очередь, для банковских карт (MasterCard и др.) И других «финансовых» приложений, но его также можно было использовать для систем бронирования авиабилетов, поскольку к этому времени ACP стала более универсальной ОС. .
Действительно, к тому времени в ACP был включен модуль "гипервизор" (CHYR), который поддерживал виртуальную ОС ... обычно VS1 , но, возможно, также VS2 ... в качестве "гостя", с которым разработка программ или обслуживание файлов могли выполняться одновременно. с онлайн-функциями.
В некоторых случаях производственная работа выполнялась под VS2 под гипервизором, включая, возможно, IMS DB.
Система / 360 Модель 20
Модель 20 была помечена как часть / 360 диапазона системы , поскольку это может быть связано с некоторыми из тех же самых периферийных устройств, но это было 16-битная машина и не полностью программа совместима с другими членами диапазона System / 360. Лабораториями IBM в Германии были разработаны три операционные системы для различных конфигураций 360/20; DPS - с дисками (минимум памяти 12 КБ); TPS - без диска, но с лентами (минимальный объем памяти: 8 КБ); и CPS - на основе перфокарт (минимальный объем памяти: 4 КБ). [44] Это не было прямых наследников , так как IBM представила System / 3 ряд компьютеров малого бизнеса в 1969 году и System / 3 был другой внутренний дизайн от 360/20 и различных периферийных устройств , от мейнфреймов IBM.
Система / 360 Модель 44
Это был еще один процессор, который использовал периферийные устройства System / 360, но имел другую внутреннюю конструкцию. 360/44 был разработан для научных вычислений с использованием плавающей запятой чисел, таких , как геологические или метеорологические анализы. Из-за внутренних различий и специального типа работы, для которой он был разработан, у 360/44 была собственная операционная система PS / 44. [45] Эмулятор отсутствующих инструкций System / 360 позволил Model 44 запустить OS / 360. У 360/44 и PS / 44 не было прямых преемников.
Операционные системы System / 370 и виртуальной памяти
Когда в 1970 году была анонсирована System / 370, она предлагала по существу те же возможности, что и System / 360, но примерно в 4 раза быстрее, чем процессоры System / 360 с аналогичной ценой. [46] Затем, в 1972 году, IBM анонсировала «Расширенные функции System / 370», основным пунктом которых было то, что будущие продажи System / 370 будут включать в себя возможности виртуальной памяти , и это также может быть дооснащено существующими процессорами System / 370. Поэтому IBM также взяла на себя обязательство предоставить улучшенные операционные системы, которые могут поддерживать использование виртуальной памяти. [47] [48]
Большинство новых операционных систем отличались от своих предшественников наличием «/ VS» в их названиях. «VS» означает «виртуальное хранилище» - IBM избегала термина «виртуальная память», якобы потому, что слово «память» можно интерпретировать как означающее, что компьютеры IBM могут что-то забыть.
Все современные операционные системы для мэйнфреймов IBM, за исключением z / TPF, являются потомками тех, которые включены в объявление "System / 370 Advanced Functions" - z / TPF является потомком ACP , системы, которую IBM изначально разработала для поддержки приложений для массового бронирования авиабилетов. .
DOS / VS
DOS / VS был преемником DOS / 360 и предлагал аналогичные возможности с добавлением виртуальной памяти. В дополнение к виртуальной памяти DOS / VS предоставил другие улучшения:
- Пять разделов памяти вместо трех. Более поздние выпуски увеличили это число до семи.
- Перемещаемый загрузчик, так что больше не нужно было связывать-редактировать отдельную копию каждой программы для каждого раздела, в котором она должна была запускаться.
- Усовершенствованный компонент намотки POWER / VS.
За DOS / VS последовали значительные обновления: DOS / VSE и VSE / SP (1980-е), VSE / ESA (1991) и z / VSE (2005). [49] [50]
OS / VS1
OS / VS1 была преемницей MFT и предлагала аналогичные возможности с добавлением виртуальной памяти. [31] IBM выпускала довольно незначительные улучшения OS / VS1 до 1983 года, а в 1984 году объявила, что их больше не будет. OS / VS1 и TSS / 370 - единственные операционные системы IBM [51] System / 370, у которых нет современных потомков.
Операционная система Special Real Time (SRTOS), Программирование РПГ Z06751, была вариантом OS / VS1 расширена для поддержки в режиме реального времени вычислений . Он был нацелен на такие отрасли, как управление электроэнергетикой и приложения для нефтепереработки. [52]
OS / VS2 и MVS
OS / VS2 Release 1 ( SVS ) был заменой MVT с виртуальной памятью; Несмотря на то, что было много изменений, он сохранил общую структуру. Но в 1974 году IBM выпустила то, что она описала как OS / VS2 Release 2, но это была серьезная переработка, которая была совместима с более ранней OS / VS2 SVS. Наиболее заметной особенностью новой системы было то, что она поддерживала несколько виртуальных адресных пространств - разные приложения думали, что они используют один и тот же диапазон виртуальных адресов, но средства виртуальной памяти новой системы отображали их на разные диапазоны адресов реальной памяти. [31] В результате новая система быстро стала известна как « MVS » (несколько виртуальных хранилищ), а исходная OS / VS2 стала известна как «SVS» (единое виртуальное хранилище). Сама IBM приняла эту терминологию и назвала преемников MVS «MVS / ...». [53]
Другими отличительными особенностями MVS были: его основной каталог должен был быть каталогом VSAM ; он поддерживает «тесно связанную многопроцессорность» (2 или более ЦП совместно используют одну и ту же память и копию операционной системы); он включал диспетчер системных ресурсов (переименованный в диспетчер рабочей нагрузки в более поздних версиях), который позволял пользователям загружать в систему дополнительную работу без снижения производительности высокоприоритетных заданий.
IBM выпустила несколько обновлений MVS: MVS / SE , MVS / SP Version 1, MVS / XA (1981), MVS / ESA (1985), OS / 390 (1996) и в настоящее время z / OS (2001). [54]
VM / 370
VM / 370 объединила возможности виртуальной машины с однопользовательской системой, называемой Conversational Monitor System (CMS); эта комбинация обеспечивала разделение времени , позволяя каждому пользователю запускать копию CMS на своей собственной виртуальной машине. Эта комбинация была прямым потомком CP / CMS . [55] Средство виртуальной машины часто использовалось для тестирования нового программного обеспечения, в то время как нормальная производственная работа продолжалась на другой виртуальной машине, а система разделения времени CMS широко использовалась для разработки программ. [56]
За 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 также выпустила дополнительные микрокода передач для VM и преемники, чтобы ускорить гипервизор «s эмуляцию привилегированных команд (те , которые только операционные системы могут использовать) от имени операционных систем„гостей“. Как часть 370 / Extended Architecture, IBM добавила инструкцию Start Interpretive Execution (SIE) [57], чтобы обеспечить дальнейшее ускорение гипервизора CP. [58]
Технические примечания
Совместное времяпровождение
Разделение времени (или разделение времени) основано на идее, что компьютеры намного быстрее людей, поэтому, пока один пользователь-человек читает то, что компьютер только что отобразил на экране, компьютер может выполнять некоторую полезную работу для другого пользователя. В больших системах с разделением времени могут одновременно работать сотни или даже тысячи пользователей, а объем памяти, необходимый для их программ и данных, обычно превышает объем физической памяти, подключенной к компьютеру. Системы с разделением времени решают эту проблему за счет различных комбинаций:
- виртуальная память, описанная ниже.
- подкачка: когда ОС ожидает ответа от одного пользователя, временной интервал закончился или ОС пытается освободить реальное хранилище, она может сохранять программы и данные пользователя на диске или барабане и считывать их обратно в память, когда пользователь отправляет ответ, ресурсы освобождаются или другой пользователь заменяется из-за окончания временного интервала . Для свопинга не требуется виртуальная память; это было реализовано на OS / 360 без виртуальной памяти. Он передает все программы и данные пользователя между памятью и диском / барабаном и в основном управляется реакцией пользователя на информацию, отображаемую системой.
Виртуальная память
Виртуальная память - это метод управления памятью, с помощью которого программы заставляют работать так, как если бы им было доступно больше памяти, чем фактически подключено к компьютеру. Код и данные запущенных программ могут быть разбросаны по нескольким областям физической памяти или даже помещены на диск / барабан до тех пор, пока это не понадобится.
Основными компонентами системы виртуальной памяти IBM являются:
- Виртуальная память , состоящая из всех адресов памяти, доступных аппаратному обеспечению ЦП. Виртуальная память - это абстракция, поэтому в системах может легко быть больше виртуальной, чем реальной памяти.
- Страницы , блоки фиксированного размера, на которые разбита вся виртуальная память . Большинство операционных систем IBM используют страницы размером 4 КБ (4096 байт), хотя некоторые старые системы довольно хорошо работали со страницами размером 2 КБ (2048 байт). Новые системы IBM System z также поддерживают большие страницы размером 1 МБ в дополнение к обычным страницам размером 4 КБ.
- Реальная память , оперативная память (RAM), подключенная к вычислительной системе.
- Фреймы страниц , реализованные путем разделения всей реальной памяти на части, равные размеру страницы системы. Страницы виртуальной памяти должны быть помещены в страничные фреймы реальной памяти, прежде чем они могут быть использованы ЦП и каналами ввода-вывода.
- Таблицы страниц отслеживают расположение каждой страницы виртуальной памяти, будь то в страничном фрейме реальной памяти или на диске / барабане в файле подкачки . Критически важные для управления памятью записи в таблице страниц также записывают время последнего доступа к каждой странице.
- Аппаратное обеспечение динамической трансляции адресов (иногда называемое «блоком DAT» в ранних системах из-за его отдельного корпуса) интегрировано в сам ЦП и участвует в каждой ссылке на память. Если таблица страниц показывает страницу в страничном фрейме реальной памяти, DAT преобразует виртуальный адрес в реальный и позволяет завершить доступ к памяти. Если, с другой стороны, указанная страница не находится в реальной памяти, оборудование DAT генерирует прерывание (внутренний сигнал), которое вызывает к действию диспетчер пейджинга.
- Paging Supervisor (часть операционной системы) управляет всей памятью, так и виртуальным, перемещение страниц между оперативной памятью и диском / барабаном при необходимости, сохраняя таблицы страниц обновляются, обслуживание запросов распределения памяти, а также уборка после себя. По мере увеличения нагрузки на систему на страницу можно ссылаться, когда используются все фреймы страницы. Когда это происходит, супервизор подкачки обычно идентифицирует страницу, которая не была прочитана или записана в течение самого длительного интервала времени (наименее недавно использованная), копирует страницу в файл подкачки (на диск или барабан), обновляет таблицу страниц. , и использует вновь доступный страничный фрейм для удовлетворения запроса памяти.
При правильной работе система виртуальной памяти сохраняет активные страницы в реальной памяти, неактивные на диске / барабане и позволяет более эффективно выполнять рабочую нагрузку системы.
Виртуальная машина
Методы виртуальных машин позволяют нескольким операционным системам («гостевым» операционным системам) или другому программному обеспечению работать на одном компьютере, так что каждая думает, что у нее есть целый компьютер, и каждый из этих смоделированных целых компьютеров называется «виртуальной машиной». Операционная система, которая действительно управляет компьютером, обычно называется гипервизором . Два основных компонента гипервизора:
- Управление виртуальной памятью. Кажется, что каждая виртуальная машина имеет полный диапазон адресов от 0 до некоторого большого числа, а методы виртуальной памяти не позволяют различным виртуальным машинам сбивать друг друга с толку.
- Имитация «привилегированных» функций от имени «гостевых» операционных систем. «Привилегированные» функции - это те функции, которые позволяют программам захватить всю или хотя бы большую часть компьютера, и обычно операционные системы немедленно завершают работу любой другой программы, которая пытается их использовать. Но «гостевые» операционные системы думают, что они имеют право использовать эти функции, поэтому гипервизор обнаруживает их попытки сделать это и запускает привилегированные функции от их имени, используя методы виртуальной памяти, чтобы предотвратить повреждение областей памяти, используемых другими «гостевыми». операционные системы.
Смотрите также
- Мэйнфрейм IBM
- История операционных систем
- Хронология операционных систем
Рекомендации
- ^ «Хронология компьютерной истории: 1956: программное обеспечение» . Музей истории компьютеров . Проверено 4 сентября 2007 года .
- ^ «История ОС - MCP» . www.oshistory.net . Архивировано из оригинального 21 февраля 2009 года.
- ^ а б в «Краткая история Linux» . Архивировано из оригинала на 2017-11-07 . Проверено 4 ноября 2017 .
- ^ «IBM 650» . Архивы IBM . 23 января 2003 . Проверено 6 ноября 2017 года .
- ^ «Операционная система 7090/94 IBSYS» . www.frobenius.com . Проверено 6 ноября 2017 года .
- ^ Грей, Джордж (март 1999). «EXEC II» . Информационный бюллетень по истории Unisys . 1 (3). Архивировано из оригинала 9 августа 2017 года.
- ^ «Карьерное интервью с Берни Галлером». IEEE Annals of the History of Computing . 23 (1): 22–33. Январь – март 2001 г. doi : 10.1109 / 85.910847 .
- ^ Высоцкий, В .; Пирс, Э. (январь 1985 г.). «Взгляд на Unix в перспективе». Обзор Unix . 1 (3).
- ^ Конрад Вайзерт (25 марта 2007 г.). «Воспоминания о Фортране» . Информация Дисциплина, Inc . Проверено 6 ноября 2017 года .
- ^ «Фортран Анекдоты» . IEEE Annals of the History of Computing . 6 (1): 59–64. Январь – март 1984 г. doi : 10.1109 / MAHC.1984.10010 .
- ^ а б Корбато, Фернандо Х .; Даггетт, Марджори Мервин; Дейли, Роберт С. (3 мая 1962 г.). Экспериментальная система разделения времени . Весенняя совместная компьютерная конференция . CS1 maint: обескураженный параметр ( ссылка )
- ^ а б в «Совместимая система с разделением времени (1961–1973), памятный обзор пятидесятилетия» (PDF) . 2011 г.
- ^ Маккарти, Джон . «Воспоминания об истории разделения времени» . CS1 maint: обескураженный параметр ( ссылка ) - описывает истоки разделения времени
- ^ Маккарти, Джон (1 января 1959 г.). «Программа оператора с разделением времени для проектируемого IBM 709» . CS1 maint: обескураженный параметр ( ссылка )
- ^ а б Р. Дж. Кризи (сентябрь 1981 г.). «Происхождение системы разделения времени VM / 370». Журнал исследований и разработок IBM . 25 (5): 483–490. DOI : 10.1147 / rd.255.0483 .
- ^ Питер Дж. Деннинг (ноябрь 1981 г.). «Моделирование производительности: экспериментальная информатика в лучшем виде» (PDF) . Коммуникации ACM . 24 (11). Письмо Президента - обзор научных трудов. DOI : 10.1145 / 358790.358791 . S2CID 14123676 .
- ^ Мелинда Вариан, VM и сообщество VM, прошлое настоящее и будущее, SHARE 89 Sessions 9059-9061, 1977; доступно на сайте www.princeton.edu/~melinda - выдающийся источник истории CP / CMS и виртуальных машин
- ^ Деннинг, Питер (1997). «До того, как память стала виртуальной» . В начале: воспоминания пионеров программного обеспечения .
- ^ Луанн Джонсон (23 декабря 2004 г.). «Реквизиты компании - Национальный CSS» . Музей истории компьютеров . Проверено 30 января 2007 года .
- ^ Файнлейб, Гарольд (март 2005 г.). Техническая история национального CSS (PDF) . Музей истории компьютеров .
- ^ История МТС Дэн Боуле для Everything2.com
- ^ «Операционная система MUSIC / SP - Введение» . webpages.mcgill.ca . Проверено 6 ноября 2017 года .
- ^ ORVYL / 370 Функциональное описание системы с разделением времени , Стэнфордский университет, 1978
- ^ Справочное руководство WYLBUR , Стэнфордский университет, 1984
- ^ «Родословная и хронология мэйнфреймов» . Архивы IBM . 23 января 2003 . Проверено 6 ноября 2017 года .
- ^ a b c Чак Бойер, Революция 360
- ^ а б Джонстон, Джерри (1 апреля 2005 г.). «ВСЕ: Взгляд на последние 40 лет» . z / Журнал . Thomas Communications (апрель / май 2005 г.). ISSN 1551-8191 . OCLC 56140149 . Архивировано из оригинала на 4 марта 2009 года.
- ^ а б Эндрю С. Таненбаум (2001). Современные операционные системы (2-е изд.). Прентис Холл . ISBN 978-8120320635.
- ^ а б Корпорация IBM (1965 г.). IBM System / 360 Basic Programming Support и IBM Basic Operating System / 360 Programming Systems Summary (PDF) . Системная справочная библиотека . C24-3420-0.
- ^ а б Рэй Сондерс. "МВС ... А до OS / 360?" . Архивировано из оригинала на 2007-12-20.
- ^ а б в г Ауслендер, Массачусетс; Джаффе, Дж. Ф. (1973). «Функциональная структура операционных систем виртуальной памяти IBM. Часть I: Влияние динамической трансляции адресов на технологию операционных систем» . IBM Systems Journal . 12 (4). IBM. С. 368–381. DOI : 10.1147 / sj.124.0368 . S2CID 249618 .
- ^ «IBM 360/67 и CP / CMS» . www.multician.org . Проверено 6 ноября 2017 года .
- ^ Брукс, FP (1995) [1975]. Мифический человеко-месяц: очерки программной инженерии . Эддисон-Уэсли Профессионал. ISBN 978-0-201-83595-3.
- ^ Каталог авторских прав. Третье издание: 1971 г .: январь-июнь . 1973 г.
- ^ Библиография IBM System / 360 и System / 370 (PDF) . IBM. Март 1971 г. GA22-6822.
- ^ АДФ бюллетень цитируется на странице 56 в Вайс, Эрик А. (редактор) (1969). Основы использования компьютера . Макгроу-Хилл. LCCN 71-76142 .CS1 maint: дополнительный текст: список авторов ( ссылка ) показывает продажи 360 / "20 .. 33,6%, 30 .. 36%, 40 .. 22,6%" = 92,2%.
- ^ «Руководства по функциональным характеристикам IBM S / 360» . Битцеверы . соответствующих моделей
- ^ "Обзор SHARE середины семидесятых" . Архивировано из оригинала на 2008-05-12.
- ^ Мультипрограммирование операционной системы IBM System / 360 с фиксированным числом задач (MFT) Основные понятия и соображения (PDF) . Первое издание. IBM. Октябрь 1966 г. GC27-6926-0.
- ^ К. Р. Блэкман (1998). «Техническое примечание - IMS отмечает тридцать лет как продукт IBM» . Журнал исследований и разработок IBM . 37 (4). Архивировано из оригинала на 24 января 2000 года.
- ^ «IBM CICS - z Systems» . www-306.ibm.com . Проверено 6 ноября 2017 года .
- ^ «Связывание приложений с Adabas» . Архивировано из оригинального 22 мая 2008 года . Проверено 8 июля 2008 года . - перечислены основные мониторы TP 1970-1980-х годов.
- ^ Хьюго И. (15 ноября 1989 г.). «Metier модель, но немногие последовали - британская индустрия программного обеспечения» . Журнал программного обеспечения . Проверено 8 июля 2008 года .
- ^ «История IBM Deutschland Entwicklung GmbH - 1960-е годы» . Архивировано из оригинала на 2007-05-04.
- ^ «История компьютеров: номера моделей IBM 360/370/3090/390» . www.beagle-ears.com . Проверено 6 ноября 2017 года .
- ^ "Система / 370 Объявление" . IBM. 30 июня 1970 г.
- ^ «Хронология DPD (1970–1974)» . IBM. DPD = Отдел обработки данных, который отвечал за средние и большие системы IBM.
- ^ Пью, EW, Джонсон, LR и Палмер, JH (1991). Системы IBM 360 и Early 370 . MIT Press. ISBN 978-0-262-16123-7.CS1 maint: несколько имен: список авторов ( ссылка )
- ^ «IBM: операционная система z / VSE - История - 1980-е годы» . www-03.ibm.com . 15 сентября 2008 . Проверено 6 ноября 2017 года .
- ^ «Операционная система IBM: z / VSE - История - 1990-е годы» . www-03.ibm.com . 15 сентября 2008 . Проверено 6 ноября 2017 года .
- ^ Операционные системы сторонних производителей S / 370, такие как MTS, также не имеют преемников.
- ^ Корпорация IBM (январь 1976 г.). Специальное программирование операционных систем реального времени IBM System / 370 RPQ Z06751 Описание и руководство по эксплуатации (PDF) .
- ^ «3033 Технический пресс-релиз» . Архивы IBM . 25 марта 1977 . Проверено 6 ноября 2017 года .
- ^ «Операционная система MVS» . Проект документации операционной системы . Проверено 6 ноября 2017 года .
- ^ Creasy, RJ (1981). «Происхождение системы разделения времени VM / 370» . Журнал исследований и разработок IBM . 25 (5): 483–490. DOI : 10.1147 / rd.255.0483 .
- ^ Seawright, LH; Маккиннон, Р.А. (1979). «VM / 370 - Исследование множественности и полезности» . Журнал исследований и разработок IBM . 18 (1): 4–17. DOI : 10.1147 / sj.181.0004 .
- ^ 370 / Расширенная архитектура / Интерпретирующее выполнение . IBM. SA22-7095.
- ^ Осисек, Д.Л., Джексон, К.М., и Гам, PH (март 1991 г.). «Архитектура интерпретируемого исполнения ESA / 390, основа для VM / ESA - техническая». IBM Systems Journal . 30 (1): 34–51. DOI : 10.1147 / sj.301.0034 .CS1 maint: несколько имен: список авторов ( ссылка )
дальнейшее чтение
- Брукс-младший, Фредерик П. (1975). « Мифический человеко-месяц: очерки программной инженерии », Аддисон-Уэсли. ISBN 0-201-00650-2 . (Перепечатано с исправлениями, январь 1982 г.)
- Операционные системы мэйнфреймов IBM: временная шкала и краткое объяснение для IBM System / 360 и последующих версий , Дэйв Мортон.
- Вики, посвященная мэйнфрейм-компьютерам IBM