IBM System/360 Model 67 ( S/360-67 ) была важной моделью мэйнфреймов IBM в конце 1960-х годов. [1] В отличие от остальной части серии S / 360 , он включал функции для упрощения приложений с разделением времени , в частности, блок динамической трансляции адресов , «DAT box», для поддержки виртуальной памяти , 32-битной адресации и контроллера каналов 2846. чтобы разрешить совместное использование каналов между процессорами. В остальном S/360-67 был совместим с остальной частью серии S/360.
S/360-67 был предназначен для удовлетворения потребностей ключевых клиентов с разделением времени , в частности MIT (где проект MAC стал печально известным провалом продаж IBM), Мичиганского университета , General Motors , Bell Labs , Принстонского университета , Карнеги. Технологический институт (позже Университет Карнеги-Меллона ) [2] и Военно-морская аспирантура . [3]
В середине 1960-х годов ряд организаций были заинтересованы в предоставлении интерактивных вычислительных услуг с использованием разделения времени . [4] В то время работа, которую могли выполнять компьютеры, была ограничена отсутствием реальной емкости памяти. Когда IBM представила семейство компьютеров System/360 в середине 1960-х годов, она не предоставила решения для этого ограничения, и внутри IBM существовали противоречивые мнения о важности разделения времени и необходимости его поддержки.
Статья Брюса Ардена , Бернарда Галлера , Фрэнка Вестервельта (все заместители директора академического вычислительного центра Мичиганского университета) и Тома О'Брайана под названием «Программа и структура адресации в среде с разделением времени» основана на некоторых базовых идеях, разработанных в Массачусетсе . Технологический институт (MIT) был опубликован в январе 1966 года. [5] В документе описывалась архитектура виртуальной памяти с использованием динамической трансляции адресов (DAT), которую можно использовать для реализации разделения времени.
После года переговоров и проектных исследований IBM согласилась создать единственную в своем роде версию своего мейнфрейма S/360-65 для Мичиганского университета. S/360-65M [4] будет включать функции динамической трансляции адресов (DAT), которые будут поддерживать виртуальную память и обеспечивать поддержку разделения времени. Первоначально IBM решила не поставлять операционную систему с разделением времени для новой машины.
Когда другие организации услышали о проекте, они были заинтригованы идеей разделения времени и выразили заинтересованность в заказе модифицированных компьютеров серии IBM S/360. Проявив интерес, IBM изменила номер модели компьютера на S/360-67 и сделала его поддерживаемым продуктом. Когда IBM осознала, что существует рынок разделения времени, она согласилась разработать новую операционную систему с разделением времени под названием IBM Time Sharing System (TSS/360) для поставки примерно в то же время, что и первая модель S/360-67.
Первый S/360-67 был отправлен в мае 1966 года. S/360-67 был снят с производства 15 марта 1977 года. [6]
Перед анонсом модели 67 IBM анонсировала модели 64 и 66, DAT-версии своих моделей 60 и 62, но они почти сразу же были заменены моделью 67, в то же время, когда модели 60 и 62 были заменены моделью 65 . 7]
IBM анонсировала S/360-67 «синими буквами» от 16 августа 1965 года (стандартный механизм, используемый IBM для анонсирования продуктов). IBM заявила, что: [8]
В дизайн S / 360-67 добавлен компонент для реализации виртуальной памяти, «блок DAT» (блок динамической трансляции адресов). DAT на 360/67 был основан на архитектуре, изложенной в статье JACM 1966 года Арденом, Галлером, Вестервелтом и О'Брайеном [5] и включал таблицы сегментов и страниц. Поддержка виртуальной памяти в модели 67 была очень похожа на поддержку виртуальной памяти, которая в конечном итоге стала стандартной для всей линейки System/370 .
S/360-67 обеспечивал 24- или 32-битное адресное пространство [1] – в отличие от строго 24-битного адресного пространства других систем S/360 и ранних S/370, а также 31-битного адресного пространства S/ 370-XA доступен на более поздних моделях S/370. Виртуальное адресное пространство S/360-67 было разделено на страницы (по 4096 байт) [1], сгруппированные в сегменты (по 1 миллион байт); страницы динамически отображались в реальную память процессора. Эти функции S/360-67, а также биты ссылки и изменения как часть ключа хранения позволили операционным системам реализовать подкачку по запросу : обращение к странице, которой не было в памяти, вызывало ошибку страницы , которая, в свою очередь, могла быть перехвачена и обработана операционной системой. обработчик системных прерываний .
Система виртуальной памяти S/360-67 была способна решать три различные задачи:
Первая цель устранила (по крайней мере, на десятилетия) сокрушительное ограничение более ранних машин: нехватку физической памяти. Второе позволило существенно улучшить безопасность и надежность. Третий позволил реализовать настоящие виртуальные машины . Современные документы ясно дают понять, что полная виртуализация оборудования и виртуальные машины не были первоначальными целями разработки S/360-67.
S/360-67 включал следующие расширения в дополнение к стандартным и дополнительным функциям, доступным во всех системах S/360: [1]
S/360-67 работал с базовым временем внутреннего цикла 200 наносекунд и базовым циклом хранения магнитного сердечника 750 наносекунд, как и у S/360-65. [1] Время цикла 200 нс поставило S/360-67 в середину линейки S/360, между Моделью 30 на нижнем уровне и Моделью 195 на верхнем уровне. От 1 до 8 байт (8 бит данных и 1 бит четности на байт) могут быть прочитаны или записаны в память процессора за один цикл. 60-битный параллельный сумматор облегчил обработку длинных дробей в операциях с плавающей запятой. 8-битный последовательный сумматор позволял одновременно выполнять арифметические операции с плавающей запятой, а также обрабатывать инструкции десятичной арифметики и инструкций переменной длины поля (VFL).
В состав S/360-67 вошли четыре новых компонента:
Эти компоненты вместе с процессором 2365 Storage Model 2, селекторным каналом 2860, мультиплексорным каналом 2870 и другими блоками и устройствами управления System/360 были доступны для использования с S/360-67.
Обратите внимание, что хотя у Carnegie Tech был 360/67 с IBM 2361 LCS, этот вариант не был указан в прайс-листе и, возможно, не работал в дуплексной конфигурации.
Для IBM System/360 модели 67 были доступны три базовые конфигурации:
Полудуплексную систему можно было модернизировать в полевых условиях до дуплексной системы, добавив один процессор IBM 2067-2 и третье хранилище процессоров IBM 2365-12, если только в полудуплексной системе уже не было трех или более. Полудуплексная и дуплексная конфигурации получили название IBM System/360 model 67–2.
Когда в августе 1965 года было анонсировано S/360-67, IBM также анонсировала TSS/360 , проект операционной системы с разделением времени, который был отменен в 1971 году (также был отменен в 1968 году, но отложен в 1969 году). Впоследствии IBM модифицировала TSS/360 и предложила TSS/370 PRPQ [11] для трех выпусков, прежде чем отменить его. Неспособность IBM предоставить TSS/360, как было обещано, открыла другим возможность разработать операционные системы, которые будут использовать уникальные функции S/360-67.
MTS, Michigan Terminal System , — операционная система с разделением времени, разработанная в Мичиганском университете и впервые использованная в модели 67 в январе 1967 года. Поддержка виртуальной памяти была добавлена в MTS в октябре 1967 года. Поддержка нескольких процессоров для дуплекса S /360-67 был добавлен в октябре 1968 г. [12]
CP/CMS была первой операционной системой для виртуальных машин . Разработано в Кембриджском научном центре IBM (CSC) недалеко от Массачусетского технологического института. CP/CMS по сути представляла собой неподдерживаемую исследовательскую систему, созданную на базе основных продуктовых организаций IBM при активном участии сторонних исследователей. Со временем она превратилась в полностью поддерживаемую операционную систему IBM ( VM/370 и сегодняшняя z/VM ). VP/CSS , основанный на CP/CMS, был разработан National CSS для предоставления коммерческих услуг разделения времени.
У S/360-67 было важное наследие. После провала TSS/360 IBM была удивлена расцветом сообщества разделения времени на платформе S/360-67 ( CP/CMS , MTS , MUSIC ). Систему установило большое количество коммерческих, академических и сервисных бюро. Воспользовавшись вялой поддержкой разделения времени со стороны IBM, а также обменом информацией и ресурсами (включая модификации исходного кода), они создали и поддерживали поколение центров разделения времени.
Уникальные особенности S/360-67 изначально не были перенесены в следующую серию продуктов IBM, System/370 , хотя 370/145 имела ассоциативную память , которая оказалась более полезной для подкачки, чем для ее предполагаемой цели. [13] Во многом это стало результатом ожесточенной и весьма заметной политической битвы внутри IBM по поводу преимуществ разделения времени по сравнению с пакетной обработкой . По крайней мере, поначалу разделение времени потеряно.
Однако IBM столкнулась с растущим спросом клиентов на возможности разделения времени и виртуальной памяти. IBM также не могла игнорировать большое количество установок S/360-67 с разделением времени, включая новую индустрию поставщиков систем разделения времени , таких как National CSS [14] [15] и Interactive Data Corporation (IDC), [16] которые быстро достигли коммерческого успеха.
В 1972 году IBM добавила функции виртуальной памяти в серию S/370, и этот шаг многие рассматривали как подтверждение работы, проделанной над проектом S/360-67; микрокод в 370/145 был обновлен, чтобы использовать ассоциативную память для трансляции виртуальных адресов. [17] Выживание и успех семейства IBM VM и технологии виртуализации в целом также во многом обязаны S/360-67.
В 2010 году в техническом описании своего последнего мейнфрейма z196 IBM заявила, что виртуализация ее программного обеспечения началась с System/360 model 67. [18]
Начиная с 1967 года, IBM постоянно обеспечивает виртуализацию программного обеспечения на своих серверах мэйнфреймов.