IBM CP-40 - Википедия - IBM CP-40

CP-40
РазработчикIBM Кембриджский научный центр (CSC)
Семейство ОСCP / CMS
Рабочее состояниеИсторический
изначальный выпускЯнварь 1967; 53 года назад (1967-01)
Маркетинговая цельМэйнфрейм IBM компьютеры
Доступно ванглийский
ПлатформыУникальный, специально модифицированный IBM System / 360 Модель 40
Дефолт пользовательский интерфейсИнтерфейс командной строки
ЛицензияПроприетарный
ПреемникCP-67
История операционных систем мэйнфреймов IBM

CP-40 был предшественником исследований CP-67, который, в свою очередь, был частью революционной в то время IBM CP [-67] / CMS - а виртуальная машина /виртуальная память совместное времяпровождение Операционная система для IBM System / 360 Модель 67, и родитель IBM Семейство ВМ. CP-40 запускал несколько экземпляров клиентских операционных систем, особенно CMS, то Система монитора Cambridge,[1] построен как часть тех же усилий. Как и CP-67, CP-40 и первая версия CMS были разработаны IBM Кембриджский научный центр (CSC), тесно сотрудничая с исследователями MIT в Проект MAC и Лаборатория Линкольна. Производство CP-40 / CMS началось в январе 1967 года. CP-40 работал на уникальной, специально модифицированной IBM System / 360 Модель 40.

Цели проекта

CP-40 был разовой исследовательской системой. Его заявленными целями были:

  • Предоставьте исследовательский вклад команде System / 360 Model 67, работающей в Покипси, которая открывала новые горизонты с еще не доказанной концепцией виртуальной памяти.
  • Поддержите требования CSC к разделению времени в Кембридже.

Однако существовала и важная неофициальная миссия: продемонстрировать приверженность IBM и способность поддерживать пользователей с разделением времени, таких как MIT. CP-40 (и его преемник) достигли своих целей с технической и социальной точек зрения - они помогли доказать жизнеспособность виртуальных машин, создать культуру пользователей с разделением времени и запустить индустрию удаленных компьютерных услуг. Однако проект оказался втянутым в внутреннюю политическую войну IBM за разделение времени и пакетную обработку; и ему не удалось завоевать сердца и умы академического сообщества компьютерных наук, которое в конечном итоге отвернулось от IBM к таким системам, как Мультики, UNIX, Техас, и различные DEC операционные системы. В конечном итоге, однако, концепции виртуализации, разработанные в проекте CP-40, принесли свои плоды в различных областях и остаются актуальными сегодня.

Функции

CP-40 была первой операционной системой, которая реализовала полную виртуализацию, то есть она предоставила среду виртуальной машины, поддерживающую все аспекты своей целевой компьютерной системы (S / 360-40), так что другие операционные системы S / 360 могли быть установлены, протестированы , и используется как на автономном компьютере. CP-40 поддерживает четырнадцать одновременных виртуальных машин. Каждая виртуальная машина работала в "проблемном состоянии" - привилегированные инструкции, такие как операции ввода-вывода, вызывали исключения, которые затем перехватывались управляющей программой и моделировались. Точно так же ссылки на ячейки виртуальной памяти, отсутствующие в основной памяти, вызывают ошибки страницы, которые снова обрабатывались управляющей программой, а не отражались на виртуальной машине. Дополнительные сведения об этой реализации можно найти в CP / CMS (архитектура).

Базовая архитектура и пользовательский интерфейс CP-40 были перенесены в CP-67 / CMS, которая превратилась в текущую линейку продуктов IBM для виртуальных машин.

Аппаратная платформа

А Модель 67 был недоступен для сборки CP-40, поэтому пользовательское устройство виртуальной памяти, основанное на ассоциативной памяти ("CAT box"[2]) был разработан и построен для CSC. Он включал в себя изменения как аппаратного обеспечения, так и микрокода специально модифицированной System / 360 Model 40. Эти изменения дали устройству технологию, необходимую для полная виртуализация оборудования System / 360. Эта модифицированная модель 40 повлияла на дизайн будущей модели 67, которая была предназначена для удовлетворения потребностей того же сообщества пользователей с разделением времени (в частности, Project MAC MIT и Bell Laboratories - хотя оба этих сайта стали заметными провалами продаж IBM).

За этот период IBM реализовала три различные системы виртуальной памяти:

  • "Blaauw Box" (названный в честь Джерри Блаау ), часть оригинальной конструкции S / 360-67
  • "CAT Box" (Cambridge Address Translator), добавленный в S / 360-40 CSC для работы CP-40
  • «DAT Box» (динамическая трансляция адресов), объявленный как дополнение к S / 370 серия 1972 г.

Все эти системы были разными, но имели семейное сходство. Коробка CAT CP-40 была ключевой вехой. Пью и другие.[3] цитировать статью IEEE[4] об оборудовании виртуальной памяти CP-40 и заявляет, что это было "уникальна тем, что он включает банк регистров параллельного поиска для ускорения динамической трансляции адресов. На средства, предоставленные Кембриджем, инженер [ы] IBM ... построил ассоциативную память на 64 регистра и интегрировал ее в 360/40. Такой уникальный результат был отправлен в Кембридж в начале 1966 года ».

Важно отметить, что, хотя поддержка виртуализации была явной целью для модифицированной модели 40 CSC, это было нет очевидно, дело в оригинальном дизайне Model 67. Тот факт, что возможности виртуализации в конечном итоге были реализованы в модели -67, что обеспечило успех CP-67 / CMS, говорит об упорстве и убедительности команды CSC.

CMS под CP-40

CMS была впервые создана в 1964 году в CSC для работы в качестве «клиентской» операционной системы под CP-40. Руководителем проекта CMS был Джон Хармон. Хотя любая операционная система S / 360 могла быть запущена на виртуальной машине CP-40, было решено, что новая, простая, однопользовательская интерактивная операционная система будет лучшей для поддержки интерактивных пользователей с разделением времени. Это позволит избежать сложности и накладных расходов, связанных с запуском многопользовательской системы, например CTSS. (Сравните это с IBM OS / MVT-TSO и ее преемники - по сути, операционная система с разделением времени, работающая как отдельная задача в пакетной операционной системе IBM. С CMS каждый интерактивный пользователь получает частную виртуальную машину.)

К сентябрю 1965 года уже было принято много важных дизайнерских решений CMS:

  • Удобные для пользователя команды с режимом по умолчанию, по возможности с необязательными параметрами (для простоты использования и обучения, а также для минимизации требований к управлению заданиями)
  • Базовый набор команд и макросов файловой системы; простое соглашение об именах файлов на основе имени файла, типа файла и режима файла (режим файла = идентификатор логического диска или минидиск, форма присвоение буквы диска )
  • Записи сопоставлены с блоками фиксированного размера, которые могут быть прочитаны или записаны по относительному номеру записи
  • Файлы, которые можно создать, просто записав в них, без необходимости специальных операций создания.
  • Режимы файлов по умолчанию, позволяющие искать диски в фиксированном порядке

Это был радикальный отход от сложного именования файлов, управления заданиями (через JCL) и других требований «настоящих» операционных систем IBM.[5] (Некоторые из этих концепций предназначались для операционных систем других производителей, таких как Корпорация Control Data и DEC.)

Дизайн файловой системы CMS с ее плоский каталог структура была намеренно простой. Кризи отмечает: «Эта структура из нескольких дисков, каждый с одним каталогом, была выбрана простой, но полезной. Многоуровневые связанные каталоги с файлами, хранящимися в общих областях, были тенденцией проектирования, когда мы начинали. Мы упростили дизайн. этого и других компонентов CMS, чтобы упростить внедрение ".[6]

Прикладные программы, работающие под CMS, выполняются в одном адресном пространстве. Они обращались к системным службам, таким как файловая система CMS, через простой программный интерфейс для Ядро CMS, который находился в малой памяти виртуальной машины CMS. Были предоставлены различные системные вызовы, большинство из которых знакомы нынешним программистам CMS. (Поскольку приложения запускались на виртуальной машине CMS, они потенциально могли вести себя неправильно, перезаписывая данные CMS, используя привилегированные инструкции или предпринимая другие действия, которые могли бы захватить или вывести виртуальную машину из строя. Конечно, это могло нет влиять на другие виртуальные машины, которые все были изолированы друг от друга; он также не мог повредить основную программу управления. В отличие от большинства операционных систем, сбои CP редко происходят из-за ошибок приложений - и поэтому сами по себе были относительно редкими.)

Исторические заметки

Следующие ниже примечания содержат краткие цитаты, в основном из Пью, Вариана и Кризи [см. Ссылки], иллюстрирующие контекст разработки CP-40. Здесь представлены прямые цитаты, а не пересказы, потому что точки зрения авторов окрашивают их интерпретации. Также см История CP / CMS для дополнительного контекста.

  • Генезис проекта СР-40:
    • Расмуссен из CSC "очень сомневался" по поводу TSS / 360 и решил, что его неиспользуемые ресурсы CSC следует использовать для создания «надежной системы разделения времени для S / 360», которая стала известна как CP-40. Руководителем проекта был Роберт Кризи, CTSS программист.[7]
    • Цели CP-40 включали как проведение исследований (получение и анализ данных о системах и программном обеспечении, включая использование ассоциативной памяти), так и выполнение собственных вычислительных требований CSC через разделение времени. Вариан добавляет: «Настоящая цель проекта заключалась в создании системы разделения времени, но и другие цели были подлинными, и им всегда уделялось особое внимание, чтобы скрыть« контрстратегические »аспекты проекта». Кризи так описывает цели CP / CMS: «Это должна была быть система разделения времени второго поколения для недавно анонсированной IBM System / 360 ... [которая будет] поддерживать всю деятельность Кембриджского центра, включая такие разнообразные виды деятельности, как исследования операционной системы, разработка приложений и подготовка отчетов программистами, учеными, секретарями и менеджерами. Вскоре после ее создания система была удобна для признания и финансовой поддержки извне центра в качестве инструмента для оценки и тестирования производительность операционных систем ".[8]
    • Исследования CSC были важны для IBM, потому что в то время «о системах виртуальной памяти было мало что известно». Вариан цитирует Л.В. Комо: «Приверженность [IBM] виртуальной памяти не была подкреплена успешным опытом ... Что пугало, так это то, что никто, кто задавал это направление виртуальной памяти в IBM, не знал, почему [современная система виртуальной памяти Ferranti] Atlas не работает. . " (Позднее Комо пришел к выводу, что Атлас пострадал от взбучка, который не изучался, пока не был обнаружен на IBM M44 / 44X и на СР-40.)[9][10]
  • Конструкция СР-40: Пью и другие. напишите, что: «В 1964 году ... IBM Research рекомендовала использование принципов виртуальных машин планировщикам с разделением времени ... [которые были] подхвачены командой Кембриджа [CSC], которая хотела, среди прочего, система, способная тестировать операционные системы ". Ключевым дизайнерским решением, принятым Кризи и Комо в конце 1964 года, было создание CP-40 не только на виртуальной памяти, но и на виртуальные машины (сначала позвонил псевдо-машины, пока более поздний термин не был заимствован из проекта IBM M44 / 44X, который Кризи описывает как имеющий «похожие, но независимые идеи».[11] Creasy дает четкое описание стратегии виртуализации CP, основанной на S / 360. Набор инструкций, который состоял из привилегированных инструкций «состояния супервизора», отличных от обычных инструкций «состояния проблемы»: «Каждая [CP] программа виртуальной машины фактически выполняется [полностью] в состоянии проблемы ... Привилегированные инструкции ... [воспроизводятся] посредством CP на виртуальных машинах… »При запуске ОС в проблемном состоянии все« хитрые »инструкции автоматически перехватываются оборудованием. Осталась только одна основная проблема виртуализации: ссылки на память. «Опыт [с CTSS] ... показал необходимость динамического перемещения программ ... для разбиения программ на части, которые можно было бы перемещать в, из и внутри памяти независимо друг от друга».[12]
  • Виртуальные машины CP-40:
    • В более ранних исследовательских проектах, связанных с концепцией виртуальной машины, таких как IBM M44 / 44X, не предпринимались попытки создать точную виртуальную копию реальной машины. Кризи: «[Они были] достаточно близко ... чтобы доказать, что« достаточно близко »не в счет».
    • CP-40 сделал смелый шаг полная виртуализация, создавая четырнадцать виртуальных сред S / 360, каждая с фиксированным размером виртуальной памяти 256 КБ, сопоставленным доступом к дисковым разделам и буферизованным доступом к устройствам записи единиц (например, принтерам). Комо: «[Создание полной виртуализации] позволило одновременно разработать CP и CMS; это позволило нам измерять невиртуальные системы, ОС и DOS в среде виртуальной памяти, а также обеспечило высокий уровень целостности и безопасности».[13][14]
    • В дополнение к раскрытию ценности полной виртуализации экспериментальный IBM M44 / 44X «имплантировал идею о том, что концепция виртуальной машины не обязательно менее эффективна, чем более традиционные подходы» - основное предположение в архитектуре CP-40, которое в конечном итоге оказался очень успешным.[15]
    • CP-40 скоро будет поддерживать «до дюжины виртуальных машин System / 360» под управлением терминала [в большинстве источников указано четырнадцать]. (Позднее CP-67 «использовал ... преобразование адресов ... и увеличил скорость ... чтобы удвоить емкость» CP-40.[16])
  • CMS под CP-40:
  • О решении разделить CMS и CP Кризи пишет: «Внедрение CTSS продемонстрировало необходимость модульного дизайна для развития системы. Несмотря на успех в качестве производственной системы, взаимосвязи и зависимости ее супервизорной конструкции затрудняли расширение и изменение. концепция дизайна CP / CMS заключалась в разделении управления компьютерными ресурсами и поддержки пользователей. Фактически, интегрированный дизайн [CTSS] был разделен на CP и CMS ». Ценность опыта, полученного в рамках проекта CTSS, невозможно переоценить.[17]
  • О ранней CMS Кризи пишет: CMS «предоставляла однопользовательское обслуживание, не обремененное проблемами совместного использования, распределения и защиты».[18] Ранняя разработка CMS включала загрузку CMS под BPS, ранняя система поддержки S / 360, пока CMS не стала достаточно продвинутой для автономной загрузки. Со временем разработка перешла на виртуальные машины под CP.[19]

Смотрите также

Рекомендации

  1. ^ Программа управления-67 / система монитора Cambridge (GH20-0857-1). IBM. Октябрь 1971 г.
  2. ^ Вариан (1997), п. 11 («CAT-бокс»)
  3. ^ Пью, Джонсон и Палмер (1991), п. 741 (примечание 218 к гл. 6)
  4. ^ А.Б. Линдквист; Р. Р. Сибер; Л.В. Комо (декабрь 1966 г.). «Система разделения времени с использованием ассоциативной памяти». Труды IEEE. 54 (12): 1774–1779. Дои:10.1109 / PROC.1966.5261.
  5. ^ Вариан (1997), п. 14 - новинка интерфейса CMS
  6. ^ Creasy (1981), п. 489 - плоская файловая система
  7. ^ Вариан (1997), pp. 3, 9, 16 - генезис проекта СР-40
  8. ^ Creasy (1981), п. 485 - цели дизайна
  9. ^ W. O'Neill, "Опыт использования мультипрограммной системы с разделением времени с оборудованием для динамического перемещения адресов", Proc. Компьютерная конференция AFIPS 30 (Весенняя совместная компьютерная конференция, 1967 г.), стр. 611–621 - обмолота на IBM M44 / 44X
  10. ^ Л.В. Комо, "Операционная система / 360-градусные исследования подкачки", Симпозиум IBM Storage Hierarchy System, Декабрь 1966 г. - взятие Атласа, цитируется в Вариан (1997), п. 17.
  11. ^ Creasy (1981), п. 485 - аналогичен IBM M44 / 44X, но не зависит от него
  12. ^ Creasy (1981), п. 486 - стратегия виртуализации: выполнение состояния проблемы, плюс трансляция адресов
  13. ^ Вариан (1997), стр.9, 13
  14. ^ Комо (1982), pp. 40, 42–43, цитируется в Вариан (1997), стр.9, 13
  15. ^ Л. Токингтон, «Хорошая идея, которая продолжает развиваться», Информационный бюллетень Центра развития White Plains, Vol. 2, No. 3 (март 1969 г.), цитируется в Вариан (1997), п. 10.
  16. ^ Пью, Джонсон и Палмер (1991), стр. 364–365
  17. ^ Creasy (1981), п. 485 - отделение CP от CMS
  18. ^ Creasy (1981), п. 485 - сфера применения CMS
  19. ^ Вариан (1997), pp. 12, 15–16 - Загрузка CMS под BPS

дальнейшее чтение

Семейное древо

 CTSS  
> IBM M44 / 44X
>> CP-40 / CMS CP [-67] / CMS  VM / 370 → Версии VM / SE → Версии VM / SP → Версии VM / XA → VM / ESAz / VM
Вице-президент / CSS
> TSS / 360
> TSO за MVT → для OS / VS2 → для MVS → ... → для z / OS
>> МУЛЬТИКА и большинство других совместное времяпровождение платформы