Jump to content

КП/CMS

КП/CMS
Разработчик IBM Кембриджский научный центр
Написано в Ассемблер (Ф)
Семейство ОС ВМ
Рабочее состояние Исторический
Исходная модель Исходный код (подробнее см. в тексте)
Первоначальный выпуск май 1968 года ; 56 лет назад ( 1968-05 )
Последний выпуск 3.2/1972 ; 52 года назад ( 1972 )
Доступно в Английский
Платформы IBM System/360-67 ; также System/370 с аппаратным обеспечением виртуальной памяти (отсутствует в исходных моделях S/370); также используется на экспериментальном оборудовании
По умолчанию
пользовательский интерфейс
Интерфейс командной строки
Лицензия Библиотека IBM Type-III (бесплатно в виде исходного кода бесплатно для клиентов IBM и без поддержки)

CP/CMS ( Control Program/Cambridge Monitor System ) — с разделением времени, операционная система выпуск которой прекращен в конце 1960-х — начале 1970-х годов. Он известен своей превосходной производительностью и расширенными функциями. [1] [2] Среди трех своих версий CP-40 /CMS была важной «одноразовой» исследовательской системой, которая создала архитектуру виртуальной машины CP/CMS . За ним последовал CP-67 /CMS, повторная реализация CP-40/CMS для IBM System/360-67 , которому посвящена основная тема этой статьи. Наконец, CP-370 /CMS был повторной реализацией CP-67/CMS для System/370 . Хотя она так и не была выпущена как таковая, она стала основой IBM операционной системы VM/370 , анонсированной в 1972 году.

Каждая реализация представляла собой существенную модернизацию своей предшественницы и эволюционный шаг вперед. CP-67/CMS была первой широко доступной архитектурой виртуальных машин. IBM впервые реализовала эту идею в своих исследовательских системах M44/44X (в которых использовалась частичная виртуализация ) и CP-40 (в которых использовалась полная виртуализация ).

Помимо своей роли предшественника семейства VM, CP/CMS сыграла важную роль в развитии теории операционных систем (ОС), разработке IBM System/370, индустрии разделения времени и создании самоподдерживающегося сообщества пользователей, которое предвосхитило сегодняшнее движение за свободное программное обеспечение .

История [ править ]

Фундаментальные архитектурные и стратегические параметры CP/CMS были установлены в CP-40, который начал использоваться в производстве в Кембриджском научном центре IBM в начале 1967 года. Эта попытка возникла в сложной политической и технической среде , обсуждалась довольно подробно и подкреплялась цитатами из первых рук. в статье Википедии История CP/CMS .

В двух словах:

  • В начале 1960-х годов IBM стремилась сохранить доминирование над научными вычислениями, где усилия по разделению времени, такие как CTSS и проект MAC Массачусетского технологического института, приобрели особое значение. Но IBM занялась масштабным проектом System/360 , который повел компанию в другом направлении.
  • Сообщество разделения времени было разочаровано отсутствием в S/360 возможностей разделения времени. Это привело к ключевым потерям продаж IBM в Project MAC и Bell Laboratories . Кембриджский научный центр IBM (CSC), первоначально созданный для поддержки проекта MAC, начал попытки восстановить доверие IBM к разделению времени, создав операционную систему разделения времени для S/360. Эта система в конечном итоге стала CP/CMS. В том же духе IBM разработала и выпустила модель S/360 с функциями разделения времени, IBM System/360-67, и операционную систему с разделением времени, TSS/360 . TSS не удалось; но 360-67 и CP/CMS преуспели, несмотря на внутриполитические баталии по поводу разделения времени, а также согласованные усилия IBM по отказу от усилий CP/CMS. [ нужна ссылка ] .
  • В 1967 году началось производство CP/CMS, сначала на CP-40 компании CSC, а затем на CP-67 в Lincoln Laboratories и на других объектах. Он был доступен через библиотеку IBM Type-III в 1968 году. К 1972 году CP/CMS выдержало несколько выпусков; это была надежная и стабильная система, работающая на 44 системах; он мог поддерживать 60 пользователей с разделением времени на S/360-67; и как минимум два коммерческих поставщика систем разделения времени ( National CSS и IDC ) перепродавали время S/360-67, используя технологию CP/CMS.
  • В 1972 году IBM объявила о добавлении виртуальной памяти в серию S/370 вместе с операционной системой VM/370 — повторной реализации CP/CMS для S/370. Это ознаменовало конец выпусков CP/CMS, хотя система еще некоторое время продолжала существовать независимо. Релизы VM продолжали включать исходный код в течение некоторого времени, и члены сообщества VM долгое время оставались активными участниками.

Обзор [ править ]

происхождение >> сильное влияние > некоторое влияние/предшествование
 КТСС  
> IBM M44/44X
>> CP-40/CMS CP[-67]/CMS   VM/370 → Версии VM/SE → Версии VM/SP → Версии VM/XA → VM/ESA z/VM
Вице-президент/CSS
> ТСС/360
> TSO для МВТ → для OS/VS2 → для MVS → ... → для z/OS
>> MULTICS и большинство других разделения времени платформ


IBM CP/CMS была создана Кембриджским научным центром (CSC), научно-исследовательской лабораторией, связанной с Массачусетским технологическим институтом , под руководством Роберта Кризи . Цели системы, процесс разработки, выпуск и наследие революционных технологий отличают эту систему от других операционных систем того времени и от других крупных проектов IBM. Это была система с открытым исходным кодом , доступная в виде исходного кода всем клиентам IBM бесплатно – как часть неподдерживаемой библиотеки IBM Type-III . Пользователи CP/CMS поддерживали себя и друг друга. необычные обстоятельства, описанные ниже в разделе «История» К такой ситуации привели .

CP/CMS состоял из двух основных компонентов:

  • CP , управляющая программа , создала среду виртуальной машины. Широко используемой версией была CP-67, работавшая на S/360-67. (Исследовательская система CP-40 разработала архитектуру. Третья версия, CP-370, стала VM/370.) Вместо явного разделения памяти и других ресурсов между пользователями, что было традиционным подходом, CP предоставила каждому пользователю моделируемый автономный компьютер System/360 . Каждая система могла запускать любое программное обеспечение S/360, которое работало на голой машине , и фактически предоставляло каждому пользователю частную компьютерную систему.
  • CMS , Cambridge Monitor System (а также консольная система мониторинга). [3] – но переименованная в Conversational Monitor System в VM) представляла собой легкую однопользовательскую операционную систему для интерактивного использования с разделением времени. Благодаря запуску множества копий CMS на виртуальных машинах CP – вместо нескольких копий большой традиционной многозадачной ОС – накладные расходы на одного пользователя были меньше. Это позволило большому количеству пользователей одновременно использовать один S/360.

Концепция виртуальной машины CP/CMS стала важным шагом вперед в разработке операционных систем.

  • Изолируя пользователей друг от друга, CP/CMS значительно повысили надежность и безопасность системы.
  • Моделируя полноценный автономный компьютер для каждого пользователя, CP/CMS может запускать любое программное обеспечение S/360 в среде с разделением времени, а не только приложения, специально разработанные для разделения времени.
  • Используя облегченную CMS в качестве основного пользовательского интерфейса, CP/CMS достигла беспрецедентной производительности разделения времени. Кроме того, простота CMS облегчила реализацию улучшений пользовательского интерфейса, чем в традиционной ОС.

IBM повторно реализовала CP/CMS в своей линейке продуктов VM/370, выпущенной в 1972 году, когда ​​виртуальная память была добавлена к серии S/370 . Преемники VM/370 (такие как z/VM ) широко используются и сегодня. (Важно отметить, что IBM повторно реализовала CP-67, как и CP-40, а не просто переименовала и переупаковала его. VM сосуществовала с CP/CMS и его преемниками в течение многих лет. Таким образом, уместно рассматривать CP/ CMS как независимая ОС, отличная от семейства VM.)

CP/CMS как бесплатное программное обеспечение [ править ]

CP/CMS распространялась в виде исходного кода , и многие пользователи CP/CMS активно участвовали в изучении и изменении этого исходного кода. Такое прямое участие пользователей в работе с операционной системой, поставляемой поставщиком, было необычным.

В эпоху CP/CMS многие поставщики распространяли операционные системы в машиночитаемом исходном коде. [ нужны разъяснения ] . IBM предоставила дополнительный исходный код, например, для OS/360 , DOS/360 и нескольких более поздних основных операционных систем IBM. также участвовало некоторое знание исходного кода системы Во всех этих системах в процессе SYSGEN , что можно сравнить со сборкой ядра в современных системах, а также при установке стартового набора . (Сорок лет спустя эмулятор Hercules можно будет использовать для запуска окаменелых версий этих систем, основанных на исходном коде, который теперь считается частью общественного достояния .)

Важность исходного кода операционной системы со временем изменилась. До того, как IBM в 1969 году отделила программное обеспечение от аппаратного обеспечения , операционная система (и большая часть другого программного обеспечения) была включена в стоимость оборудования. Каждый поставщик нес полную ответственность за всю систему, аппаратное и программное обеспечение. Это сделало среду распространения относительно неважной. После разделения IBM программное обеспечение ОС поставлялось как программное обеспечение IBM System Control Program (SCP) , в конечном итоге в форме только объектного кода (OCO).

По сложным причинам CP/CMS не был выпущен обычным способом. Он не поддерживался IBM, но был включен в неподдерживаемую библиотеку IBM Type-III , сборник программного обеспечения, предоставленного сотрудниками IBM (аналогично программное обеспечение, предоставленное клиентами, сформировало библиотеку Type-IV). IBM распространила эту библиотеку среди своих клиентов для использования «как есть». Отсутствие прямой поддержки таких продуктов IBM вынуждало активных пользователей поддерживать себя самостоятельно и поощряло модификации и взаимную поддержку. CP/CMS и другие продукты типа III были ранними формами свободного программного обеспечения .

Распространение исходного кода других операционных систем IBM могло продолжаться в течение некоторого времени (например, OS/360 , DOS/360 , DOS/VSE , MVS и даже TSS/370 , которые сегодня обычно считаются общественным достоянием ), поскольку возможно, они были опубликованы без уведомления об авторских правах до 1978 года. [4] [5] [ Эта цитата нуждается в цитировании ] } Однако неподдерживаемый статус CP/CMS оказал различное давление на сообщество пользователей и создал необходимость распространения исходного кода.

CP/CMS была внесена в библиотеку Type-III Лабораторией Линкольна Массачусетского технологического института , а не IBM, несмотря на то, что система была создана Кембриджским научным центром IBM . Это решение было описано как форма сговора с целью перехитрить политические силы IBM, выступающие против разделения времени. [ нужна ссылка ] . Считается, что это также может отражать объем формального и неофициального вклада MIT и Union Carbide , которые внесли свой вклад в разработку и внедрение CP-40, S/360-67, CP-67 и CMS. См. «История CP/CMS» (исторические заметки) для получения дополнительной информации и ссылок по этой теме.

Многие пользователи CP/CMS внесли значительные изменения в свои копии исходного кода. Большая часть этой работы была разделена между сайтами, и важные изменения вернулись в основную систему. Другие пользователи, такие как National CSS и некоторые академические сайты, продолжили независимую разработку CP/CMS, вместо того, чтобы перейти на VM/370, когда она стала доступной. Эти усилия разошлись с сообществом и образовали то, что сегодня назвали бы программным форком .

После того, как IBM выпустила VM/370, распространение исходного кода VM продолжалось в течение нескольких выпусков. (В проекте VM не было принято использование PL/S , внутреннего языка системного программирования, обязательного для использования внутри IBM во многих сопоставимых проектах. Использование PL/S сделало бы невозможным распространение исходного кода. IBM попыталась отказаться от ассемблера. язык более высокого уровня еще в 1965 году, а к 1969 году широко использовал PL/S , например, в MVS в то время PL/S считался коммерческой тайной и был недоступен для клиентов, очевидно, IBM сделала из этого исключения. политика значительно позже. [6] [7] ) Сообщество пользователей VM продолжало вносить важный вклад в программное обеспечение, как и в период существования CP/CMS Type-III. Лишь немногие сайты OS или DOS продемонстрировали активное участие пользователей во внутренних компонентах операционной системы, но это было обнаружено на многих сайтах виртуальных машин. Эта обратная поддержка помогла концепциям CP/CMS выжить и развиваться, несмотря на статус VM в IBM как гражданина второго сорта.

Архитектура [ править ]

Архитектура CP/CMS была революционной для своего времени. Система состояла из программы управления виртуализацией (CP), которая создавала несколько независимых виртуальных машин (VM). Виртуализация платформы стала возможной благодаря двум элементам IBM System/360-67:

  • Отделение привилегированных инструкций «состояния супервизора» от обычных инструкций «состояния проблемы».
  • Аппаратное обеспечение для трансляции адресов

Когда программа работала в «проблемном состоянии», использование привилегированной инструкции или недопустимого адреса памяти могло привести к тому, что оборудование вызвало исключение. Перехватывая эти условия, CP может моделировать соответствующее поведение, например, выполнение операций ввода-вывода или подкачки. Гостевая операционная система, которая работала в «состоянии супервизора» на голой машине, запускалась в «проблемном состоянии» под управлением CP.

Результатом стала полностью виртуализированная среда. Каждая виртуальная машина имела свой собственный набор виртуальных устройств, сопоставленных с реальной аппаратной средой системы. Таким образом, данный телетайп коммутируемого доступа был представлен экземпляру виртуальной машины в качестве виртуальной консоли .

Обратите внимание, что в CP-67 некоторые зависящие от модели и диагностические инструкции не были виртуализированы, особенно инструкция DIAG. В конечном счете, в более поздних разработках в IBM и других организациях инструкции DIAG использовались для создания невиртуализированного интерфейса к тому, что стало называться гипервизором . Клиентские операционные системы могут использовать этот механизм для прямой связи с управляющей программой; это дало значительное улучшение производительности.

Фактически любая операционная система S/360 могла работать под управлением CP, но обычные пользователи использовали Cambridge Monitor System (CMS), простую однопользовательскую операционную систему. CMS позволяла пользователям запускать программы и управлять своими виртуальными устройствами. CP-67 версий 1 и 2 не поддерживал виртуальную память внутри виртуальной машины. Это было добавлено в версии 3. На этом этапе тестирование и разработку самого CP можно было выполнить, запустив полную копию CP/CMS на одной виртуальной машине. Некоторые работы по операционным системам CP/CMS, такие как разработка CP-370 и тестирование MVS, включали четырех- или пятиуровневые глубокие стеки моделирования оборудования и ОС.

Дизайн CP/CMS отличается от предыдущих монолитных операционных систем IBM : он отделяет сложную «большую систему» ​​(диспетчеризация, управление оборудованием, запоминающее устройство) от «маленькой системы» (выполнение прикладных программ, файловый ввод-вывод, консольный ввод-вывод). . Переклассификация обеих систем в отдельные сущности предотвращает влияние ошибки в системе одного пользователя на обе. Это особенность модели микроядерных операционных систем.

Решение IBM реализовать функции виртуализации и виртуальной памяти в последующем проекте S/370 (хотя они отсутствовали в первоначальной серии S/370) отражает, по крайней мере частично, успех подхода CP/CMS. В свою очередь, выживание и успех семейства операционных систем IBM VM и технологии виртуализации в целом во многом обязаны S/360-67.

Во многих отношениях продукты IBM CP-67 и CP/CMS предвосхитили (и оказали на них сильное влияние) современное программное обеспечение для виртуализации , такое как VMware Workstation, Xen и Microsoft Virtual PC .

Сопутствующая терминология [ править ]

  • CP : Программа управления . CP-40 и CP-67 были реализациями модифицированного CSC S/360-40 и стандартного S/360-67 соответственно.
  • CMS : Кембриджская система мониторинга . Эта часть системы CP/CMS была переименована в Conversational Monitor System , когда IBM выпустила VM/370. Однако в отличие от перехода от CP к VM, который представлял собой повторную реализацию, большая часть CMS была перенесена без изменений из CP/CMS в VM/370.
  • VM : Virtual Machine термин псевдомашина , изначально использовался , но вскоре виртуальная машина была заимствована из проекта IBM M44/44X . К тому времени, когда IBM представила VM/370, он прочно утвердился в CP/CMS.
  • Гипервизор : механизм паравиртуализации . Этот термин был придуман при повторной реализации IBM CP-67 как VM/370.

См. также [ править ]

Сноски [ править ]

  1. ^ Стюарт Э. Мэдник (1969) «Системы с разделением времени: концепция виртуальной машины и традиционный подход» (PDF) . Проверено 13 сентября 2012 г. Современные системы данных, Том. Т. 2, № 3, стр. 34-36.
  2. ^ Стюарт Мэдник (1976) «Преимущества виртуальных машин в системах безопасности, целостности и поддержки принятия решений» (PDF) . Проверено 13 сентября 2012 г. IBM Systems Journal, Vol. 15, № 3.
  3. ^ Кризи, соч. цит., с. 488 – «Система консольного монитора».
  4. ^ см . Эмулятор Hercules , который, судя по всему, использовался для запуска этих исторических систем, не вызывая нареканий со стороны IBM; системы были опубликованы IBM в виде машиночитаемого исходного кода и в виде микрофиш.
  5. ^ общественное достояние: «До принятия Закона о реализации Бернской конвенции 1988 года отсутствие надлежащего уведомления об авторских правах переводило произведение, защищенное авторским правом, в общественное достояние...»
  6. ^ Пью и др., стр. 737, примечание 166 – цитируется заявление CH Reynolds от августа 1965 г. о политике PL/I, предписывающее использование PL/I.
  7. ^ WR Бриттенхэм, Разработка PL/S , Технический отчет IBM (1974) - цитируется по Пью

Цитаты [ править ]

Первичные источники CP/CMS [ править ]

Дополнительные источники CP/CMS [ править ]

  • Р.Дж. Адэр, Р.У. Бэйлс, Л.В. Комо и Р.Дж. Кризи, Система виртуальных машин для 360/40, Корпорация IBM, Отчет Кембриджского научного центра № 320-2007 (май 1966 г.)
    ― основополагающий документ, описывающий реализацию концепции виртуальной машины, с описаниями адаптированного CSC S/360-40 и CP-40. конструкции
  • International Business Machines Corporation, CP-67/CMS , программа 360D-05.2.005, Информационный отдел программы IBM (июнь 1969 г.)
    ― Справочное руководство IBM
  • Р. А. Мейер и Л. Х. Сиврайт, «Система разделения времени виртуальной машины», IBM Systems Journal, Vol. 9, № 3, стр. 199–218 (сентябрь 1970 г.)
    ― описывает систему CP-67/CMS с описанием функций и приложений.
  • Р.П. Пармели, Т.И. Петерсон, К.С. Тиллман и DJ Хэтфилд, «Концепции виртуального хранилища и виртуальных машин», IBM Systems Journal, Vol. 11, № 2 (июнь 1972 г.)

Фоновые источники CP/CMS [ править ]

  • Ф. Дж. Корбато и др., Совместимая система разделения времени, Руководство для программиста, MIT Press, 1963 г.
  • Ф. Дж. Корбато, М. Мервин-Даггетт и Р. К. Дейли, «Экспериментальная система разделения времени», Proc. Весенняя объединенная компьютерная конференция (AFIPS) 21, стр. 335–44 (1962) - описание CTSS
  • Ф. Дж. Корбато и В. А. Высоцкий, «Введение и обзор системы MULTICS», Учеб. Осенняя объединенная компьютерная конференция (AFIPS) 27, стр. 185–96 (1965)
  • П. Дж. Деннинг, «Виртуальная память», Computing Surveys Vol. 2, стр. 153–89 (1970).
  • Дж. Б. Деннис, «Сегментация и проектирование многопрограммных компьютерных систем», JACM Vol. 12, стр. 589–602 (1965).
    ― требования к виртуальной памяти для Project MAC, предназначенного для GE 645
  • К. А. Хоар и Р. Х. Перротт, ред., Методы операционных систем , Academic Press, Inc., Нью-Йорк (1972).
  • Т. Килберн, Д.Б. Эдвардс, М. Дж. Ланиган и Ф. Х. Самнер, «Одноуровневая система хранения», IRE Trans. Электрон. Компьютеры EC-11, стр. 223–35 (1962).
    ― Манчестер/Ферранти Атлас
  • Р.А. Нельсон, «Картографические устройства и система обработки данных M44», Отчет об исследовании RC 1303 , Исследовательский центр IBM Томаса Дж. Уотсона (1964).
    ― о IBM M44/44X
  • Р.П. Пармели, Т.И. Петерсон, К.С. Тиллман и DJ Хэтфилд, «Концепции виртуального хранилища и виртуальных машин», IBM Systems Journal , Vol. 11, стр. 99–130 (1972).

Дополнительные онлайн-ресурсы по CP/CMS [ править ]

Подробные цитаты из этой статьи можно найти в «Истории CP/CMS» .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6a58391fabd4248bf776819a2ee1ada4__1714563240
URL1:https://arc.ask3.ru/arc/aa/6a/a4/6a58391fabd4248bf776819a2ee1ada4.html
Заголовок, (Title) документа по адресу, URL1:
CP/CMS - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)