Введение

Операционная система для мейнфреймов

Michigan Terminal System (MTS) — одна из первых операционных систем с разделением времени. Созданная в 1967 году в Мичиганском университете для использования на ЭВМ IBM S/360 67, S/370 и совместимых мейнфреймах, она разрабатывалась и использовалась консорциумом из восьми университетов в США, Канаде и Великобритании на протяжении 33 лет (1967–1999).

Обзор

Университетский многопрограммный супервизор Мичигана (UMMPS) был первоначально разработан сотрудниками академического вычислительного центра Университета Мичигана для работы на ЭВМ IBM S/360 67, S/370 и совместимых с ними. Это программное обеспечение можно описать как многопрограммный, многопроцессорный супервизор с виртуальной памятью и разделением времени, запускающий несколько резидентных, повторно входящих программ. Среди этих программ – Мичиганская терминальная система (MTS), предназначенная для интерпретации команд, управления выполнением, управления файлами и ведения учёта. Конечные пользователи взаимодействовали с вычислительными ресурсами через MTS, используя терминальные, пакетные и серверные возможности. Поддержка MTS для конечных пользователей была прекращена 30 июня 1996 года. К этому времени большинство сервисов перешли на клиент-серверные вычислительные системы, обычно Unix для серверов и различные версии Mac, PC и Unix для клиентов. Университет Мичигана окончательно вывел из эксплуатации свою систему MTS 30 мая 1997 года. Считается, что Rensselaer Polytechnic Institute (RPI) был последним учреждением, использовавшим MTS в производственной среде. RPI прекратил использование MTS в июне 1999 года. Сегодня MTS продолжает работать с использованием эмуляторов IBM S/370, таких как Hercules, Sim390 и FLEX ES.

Происхождение

В середине 1960-х годов Мичиганский университет предоставлял услуги пакетной обработки на оборудовании IBM 7090 под управлением Университетской исполнительной системы Мичигана (UMES), но проявлял интерес к предоставлению интерактивных услуг с использованием разделения времени. В то время возможности компьютеров были ограничены их небольшим объемом оперативной памяти. Когда IBM представила семейство компьютеров System/360 в середине 1960-х годов, оно не предложило решения этой проблемы, и внутри IBM существовали разногласия относительно важности и необходимости поддержки разделения времени. В январе 1966 года была опубликована статья под названием «Программная и адресная структура в среде разделения времени» Брюса Ардена, Бернарда Галлера, Фрэнка Вестервельта (все – заместители директора Вычислительного центра UM) и Тома О’Брайана, основанная на некоторых базовых идеях, разработанных в Массачусетском технологическом институте (MIT). В статье была описана архитектура виртуальной памяти с использованием динамического преобразования адресов (DAT), которая могла быть использована для реализации разделения времени. После года переговоров и проектных исследований IBM согласилась изготовить уникальную версию мэйнфрейма S/360 65 с функциями динамического преобразования адресов (DAT), поддерживающими виртуальную память и отвечающими стремлению UM поддерживать разделение времени. Компьютер получил название Model S/360 65M. Эксперимент по разделению времени начался как «половина страницы кода, написанная на кухонном столе» в сочетании с небольшой многопрограммной системой LLMPS из Лаборатории Линкольна MIT. В этот момент UM предстояло решить, вернуть ли Model 67 и выбрать другой мэйнфрейм, или разработать MTS в качестве промежуточной системы для использования до готовности TSS. Было принято решение продолжить разработку MTS, и сотрудники перенесли свою первоначальную работу с Model 50 на Model 67. Разработка TSS была в конечном итоге отменена IBM, затем возобновлена, а затем снова отменена. Но к этому времени UM понравилась разработанная ими система, она больше не рассматривалась как временная, и MTS использовался в UM и других учреждениях в течение 33 лет.

Оборудование

В теории MTS будет работать на IBM S/360 67, любой из серий IBM S/370, включающих виртуальную память, и их преемниках. MTS работал на следующих компьютерах в производственных, тестовых или опытных конфигурациях: первый Amdahl 5860 (серийный номер 1) в 1982 году и первый выпущенный на заводе IBM 3090–400 в 1986 году. NUMAC использовал MTS на первом S/360 67 в Великобритании и, вероятно, первом в Европе. Университет Британской Колумбии (UBC) инициировал перенос MTS для работы на серии IBM S/370 (IBM S/370 168) в 1974 году. Университет Альберты установил первый Amdahl 470V/6 в Канаде (серийный номер P5) в 1975 году. К 1978 году NUMAC (в Университете Ньюкасла-на-Тайне и Университете Дарема) перенес основную деятельность MTS на свою серию IBM S/370 (IBM S/370 168). MTS был разработан для поддержки до четырех процессоров на IBM S/360 67, хотя IBM выпустила только конфигурации с одним (однопроцессорные и полудуплексные) и двумя (дуплексные) процессорами модели 67. В 1984 году RPI обновил MTS для поддержки до 32 процессоров в аппаратной серии IBM S/370 XA (Extended Addressing), хотя, вероятно, реально использовалась конфигурация максимум из 6 процессоров. MTS поддерживает IBM Vector Facility, доступный в качестве опции на системах IBM 3090 и ES/9000. В начале 1967 года, работая на однопроцессорном IBM S/360 67 в UM без поддержки виртуальной памяти, MTS обычно поддерживал 5 одновременных терминальных сессий и одну пакетную задачу. К концу 1991 года MTS в UM работал на IBM ES/9000 720, поддерживая более 600 одновременных терминальных сессий и от 3 до 8 пакетных задач. Использование виртуальной памяти и динамического преобразования адресов (DAT) на IBM S/360 67 в 1967 году. Использование многопроцессорности на IBM S/360 67 с двумя процессорами в 1968 году. Программы с доступом к (для того времени) очень большим виртуальным адресным пространству. Прямой язык команд, одинаковый для терминальных и пакетных задач. Надежная, независимая от устройств модель ввода/вывода, позволяющая одним и тем же командам и программам обращаться к терминалам, дисковым файлам, принтерам, магнитным и бумажным лентам, считывателям карт и перфораторам, дискетам, сетевым узлам и устройству голосового ответа (ARU). Файловая система с поддержкой "строчных файлов", где номера строк и длина отдельных строк хранятся в виде метаданных, отдельно от содержимого данных строки, а также возможность чтения, вставки, замены и удаления отдельных строк в любом месте файла без необходимости чтения или записи всего файла. Редактор файлов ($EDIT) с интерфейсами командной строки и "визуальным" режимом, а также сопоставление шаблонов на основе шаблонов SNOBOL4. Возможность обмена файлами с контролируемым доступом (чтение, запись, изменение, расширение записи, удаление, разрешение). Возможность разрешать доступ к файлам не только другим идентификаторам пользователей и проектам (также известным как группы), но и конкретным командам или программам, а также комбинациям идентификаторов пользователей, проектов, команд и программ. Система электронной почты ($MESSAGESYSTEM), поддерживающая локальную и сетевую почту с возможностью отправки сообщений группам, отзыва сообщений, которые еще не были прочитаны, добавления получателей в сообщения после их отправки и отображения истории сообщений в цепочке электронной почты без необходимости включать текст из старых сообщений в каждое новое сообщение. Возможность удаленного доступа к лентам и эффективной обработки наборов данных, охватывающих несколько лент. Наличие богатой коллекции хорошо документированных библиотек подпрограмм. Возможность для нескольких пользователей быстро загружать и использовать коллекцию общих повторно входящих подпрограмм, доступных в общей виртуальной памяти. Наличие компиляторов, ассемблеров и системы символической отладки (SDS), позволяющих пользователям отлаживать программы, написанные на языках высокого уровня, таких как FORTRAN, Pascal, PL/I, а также на языке ассемблера. Надежная модель защиты, использующая аппаратное обеспечение виртуальной памяти и состояния супервизора и проблемного состояния оборудования S/360 и S/370, а также программно разделяющая выполнение в проблемном состоянии на системный (привилегированный или незащищенный) и пользовательский (защищенный или непривилегированный) режимы. Относительно небольшой объем кода выполняется в режиме супервизора. Например, подпрограммы поддержки устройств (DSR, также известные как драйверы устройств) не являются частью супервизора и выполняются в системном режиме в проблемном состоянии, а не в режиме супервизора. Эмулированная инструкция Branch on Program Interrupt (BPI).

Распространение

Университет Мичигана распространял MTS на магнитной ленте нерегулярно, а также из цифрового архива Deep Blue Мичиганского университета. Работая с материалами дистрибутива D6.0, можно создать версию MTS, загружаемую для IPL. Новый дистрибутив D6.0A MTS упрощает эту задачу. D6.0A основан на версии MTS D6.0 1988 года с различными исправлениями и обновлениями, обеспечивающими более плавную работу под Hercules в 2012 году. В будущем будет доступна версия MTS, загружаемая для IPL, основанная на версии MTS, которая использовалась в Мичиганском университете в 1996 году, незадолго до прекращения работы MTS. В первые годы MTS предоставлялся бесплатно без необходимости лицензирования для организаций, заинтересованных в его запуске и располагающих квалифицированным персоналом для его поддержки. В середине 1980-х годов были формализованы лицензионные соглашения, при которых Мичиганский университет выступал в качестве агента и выдавал лицензии от имени Консорциума MTS. Лицензии на MTS были доступны для академических организаций за годовую плату в 5000 долларов США, для других некоммерческих организаций – за 10 000 долларов США, а для коммерческих организаций – за 25 000 долларов США. Лицензия ограничивала использование MTS для предоставления коммерческих вычислительных услуг. Лицензиаты получали копию полного набора дистрибутивных лент MTS, любые дополнительные дистрибутивы, подготовленные в течение года, письменные инструкции по установке, две копии текущей пользовательской документации и ограниченную поддержку. Лишь немногие организации лицензировали MTS. Некоторые лицензировали MTS для запуска единственной программы, такой как CONFER. Собранные средства использовались для покрытия части общих расходов Консорциума MTS.