Дартмутская система разделения времени - Dartmouth Time Sharing System

Дартмутская система разделения времени
Разработчик Дартмутский колледж
Написано в Dartmouth BASIC , АЛГОЛ 60 , FORTRAN , COBOL , APL , DXPL, DYNAMO , GMAP , LISP , MIX, PL / I , SNOBOL
Рабочее состояние Снято с производства
Первый выпуск 1964 ; 57 лет назад ( 1964 )
Платформы GE-200 серии , GE-635 серии, Honeywell 6000 серии

Пользовательский интерфейс по умолчанию
Интерфейс командной строки
Официальный веб-сайт dtss .dartmouth .edu

Дартмут Time-Sharing System ( DTSS ) является прекращено операционной системой впервые разработан в Дартмуте колледже между 1963 и 1964. Это был первая успешная крупномасштабное разделение времени система будет реализована, а также система , для которой BASIC языка был развит. DTSS непрерывно разрабатывался в течение следующего десятилетия, повторно внедрялся на несколько поколений компьютеров и, наконец, был закрыт в 1999 году.

История ранних веков

Схема оборудования DTSS, октябрь 1964 г.
GE-235 Мы воспеваем Тебе хвалу

Профессора Джон Кемени и Томас Курц из Дартмутского колледжа приобрели компьютер Royal McBee LGP-30 примерно в 1959 году, который был запрограммирован студентами на ассемблере. Курц и четыре студента запрограммировали компилятор Dartmouth ALGOL 30 , реализацию языка программирования ALGOL 58 , который двое студентов затем развили в язык SCALP (автономный процессор ALGOL) в период с 1962 по 1964 год. Кемени и первокурсник Сидни Маршалл совместно создали DOPE (Дартмутский сверхупрощенный эксперимент по программированию) , который использовался в больших курсах для первокурсников.

Курц обратился к Кемени либо в 1961, либо в 1962 году со следующим предложением: все студенты Дартмута должны иметь доступ к вычислениям, они должны быть бесплатными и открытыми, и это может быть достигнуто путем создания системы разделения времени (о которой Курц узнал. от коллеги Джона Маккарти из Массачусетского технологического института , который предложил: «Почему бы вам, ребята, не использовать разделение времени?»). Хотя было заявлено, что DTSS был вдохновлен системой разделения времени на основе PDP-1 в Bolt, Beranek и Newman , нет никаких доказательств того, что это правда.

В 1962 году Кемени и Курц представили NSF предложение по разработке новой системы разделения времени (которое в конечном итоге было профинансировано в 1964 году). У них была достаточная уверенность в том, что и Дартмут, и NSF поддержат систему, что они подписали контракт с GE и начали предварительную работу в 1963 году, еще до того, как предложение было профинансировано. В частности, они оценили компьютеры-кандидаты от Bendix , GE и IBM и остановились на системе GE-225 в сочетании с процессором связи DATANET-30 . Этот двухпроцессорный подход был неортодоксальным, и Кемени позже вспоминал: «В то время многие эксперты в GE и других странах пытались убедить нас, что путь решения с двумя компьютерами был расточительным и неэффективным». По сути, DATANET-30 предоставлял пользовательский интерфейс и планировщик, в то время как пользовательские программы выполнялись в GE-225.

Его реализация началась в 1963 году студенческой группой под руководством Кемени и Курца с целью обеспечения легкого доступа к вычислительным средствам для всех членов колледжа. Компьютеры GE-225 и DATANET-30 прибыли в феврале 1964 года, начали работать в середине марта, а 1 мая 1964 года, в 4:00 утра, система начала работу. Осенью 1964 года сотни студентов-первокурсников начали использовать систему через 20 телетайпов , а в средней школе Ганновера доступ через еще один телетайп; позже той же осенью компьютер GE-225 был заменен на более быстрый компьютер GE-235 с минимальными проблемами. К лету 1965 года система могла поддерживать 40 одновременных пользователей.

Документ Дартмута от октября 1964 года, позже исправленный GE, описывает общую архитектуру DTSS:

«Программа в Datanet-30 разделена на две части: часть реального времени и часть свободного времени. Часть реального времени вводится через прерывание, управляемое часами, 110 раз в секунду для сканирования строк телетайпа. символы завершены, часть реального времени собирает их в сообщения и, когда встречается символ "возврата", интерпретирует сообщение. Если это строка в программе, ничего не делается. Если сообщение является командой, запасной -временная задача для начала выполнения команды настроена и вставлена ​​в список свободного времени.Если времени для завершения этой настройки недостаточно, часть реального времени завершит настройку во время следующего реального времени. Период времени. Часть свободного времени выполняет задачи свободного времени, которые включают в основном операции с дисками и определенные операции с телетайпом. В части GE-235 есть резидентная система компилятора, которая действует как переводчик, и резидентная исполнительная процедура для управления операций ввода-вывода диска и выполнения других функций. Эта система позволяет одновременно использовать карточное оборудование, ленточные накопители и высокоскоростной принтер во время разделения времени посредством обработки прерываний. Доступны два алгебраических языка, BASIC и ALGOL, при этом FORTRAN запланирован на сентябрь 1965 года. Эти однопроходные компиляторы довольно быстрые, обычно требуя от 1 до 4 секунд на компиляцию ».

Дизайн пользовательского интерфейса

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

Из-за образовательных целей простота использования была приоритетом при разработке DTSS. В нем реализована первая в мире интегрированная среда проектирования (IDE). Любая строка, введенная пользователем и начинающаяся с номера строки, была добавлена ​​в программу, заменяя любую ранее сохраненную строку тем же номером; все остальное воспринималось как команда и немедленно выполнялось. Строки, которые состояли исключительно из номера строки, не сохранялись, но удаляли все ранее сохраненные строки с тем же номером. Этот метод редактирования предоставил простую и удобную услугу, которая позволила использовать большое количество телетайпов в качестве оконечных устройств для системы разделения времени в Дартмуте.

Команды IDE включены

  • КАТАЛОГ - чтобы перечислить ранее названные программы в хранилище
  • СПИСОК - для отображения текущей программы в памяти
  • NEW - присвоить имя и начать писать программу в памяти
  • СТАРЫЙ - для копирования ранее названной программы из хранилища в память.
  • ПЕРЕИМЕНОВАТЬ - изменить название программы в памяти.
  • RUN - скомпилировать и выполнить текущую программу в памяти
  • СОХРАНИТЬ - скопировать текущую программу из памяти в хранилище.
  • SCRATCH - очистить содержимое текущей программы из памяти.
  • UNSAVE - удалить текущую программу из хранилища.

Пользователи часто полагали, что эти команды являются частью языка BASIC, но на самом деле они были частью системы разделения времени и также использовались при подготовке программ ALGOL или FORTRAN через терминалы DTSS.

Отношения GE-Дартмут

Кемени и Курц изначально надеялись, что GE вступит в исследовательское партнерство, и с этой целью Курц и студент Энтони Кнапп создали документ о предлагаемой ими конструкции системы, который они представили в офис GE в Фениксе в 1962 году. Однако GE отклонила партнерство. и его предложение от октября 1962 года Дартмуту было оформлено исключительно как коммерческая продажа. Тем не менее, GE и Дартмут продвигали действующую Дартмутскую систему разделения времени в октябре 1964 года на осенней компьютерной конференции в Сан-Франциско, с тремя телетайпами, подключенными к Дартмутской системе в Ганновере.

С декабря 1964 года по январь 1965 года два студента Дартмута установили рабочие копии DTSS и BASIC на компьютерах GE в Фениксе. В начале 1965 года GE начала рекламировать услуги разделения времени в своей системе GE-265 (GE 235 + DATANET 30), включая BASIC и Dartmouth Algol, позже переименовав ее в систему разделения времени GE Mark I. В течение следующих нескольких лет GE открыла 25 компьютерных центров в США и других странах, обслуживая более пятидесяти тысяч пользователей.

Музея компьютерной истории «s Corporate Истории Коллекция описывает историю компании GE Mark I следующим образом:

Предшественник General Electric Information Services начинался как бизнес-подразделение в General Electric, созданное для продажи избыточного компьютерного времени на компьютерах, используемых для демонстрации клиентам. В 1965 году Warner Sinback рекомендовал им начать продавать услуги с разделением времени, используя систему разделения времени (Mark 1), разработанную в Дартмуте на компьютере General Electric 265. Услуга мгновенно приобрела успех, и к 1968 году у GEIS было 40% рынка разделения времени на 70 миллионов долларов. Услуга продолжала расти и со временем перешла на разработанные GE операционные системы Mark II и Mark III, работающие на больших мэйнфреймах.

Дартмутская система разделения времени, версия 2

Архитектура компьютерного оборудования Honeywell GE 635 в Кевите, начало 1971 г.

С 1966 по 1968 год DTSS был повторно реализован на GE 635 , при этом DATANET-30 все еще использовался для управления терминалом. Система GE 635 была поставлена ​​в ноябре 1966 года. К октябрю 1967 года она предоставляла услуги, основанные на программном обеспечении фазы I, совместно разработанном Dartmouth и GE, которое впоследствии GE продавала как систему GE Mark II. Параллельно с этой работой Дартмут приступил в 1967 году к разработке Фазы II под руководством профессора Джона Кемени, при этом программирование выполнялось студентами и преподавателями. Фаза II Дартмутской системы разделения времени заменила Фазу I 1 апреля 1969 года в Дартмуте.

Как было описано в 1969 году, на новую архитектуру DTSS повлияли три критерия:

  • Опыт работы с системой 265.
  • Опубликованные концепции системы Multics .
  • Осознание ограничений возможностей сотрудников, работающих неполный рабочий день, студентов и преподавателей Дартмута.

Эта новая версия внутренне полностью отличалась от более ранней DTSS, но обеспечивала почти идентичный пользовательский интерфейс для обеспечения плавного перехода для пользователей и материалов курса. Версия 635 обеспечивала интерактивное разделение времени почти для 300 одновременных пользователей в 1970-х годах, что было очень большим числом в то время, и работала на одиннадцати коммерческих и академических сайтах в США, Канаде и Европе. По мере развития в 1970-х годах более поздние версии перешли на мэйнфреймы Honeywell серии 6000 (1973) и коммуникационные процессоры Honeywell 716 (1974). В 1976 году система GE-635 была заменена компьютером Honeywell 66 / 40A. Он оставался в эксплуатации до конца 1999 года.

DTSS, версия 2, включает новую форму межпроцессного взаимодействия, называемую «файлы связи». Они значительно задним числом Unix трубы , так как проектные документы положить их концептуальное происхождение когда - то в 1967 году, и были кратко описаны в 1969 - конференции:

Файл связи позволяет двум заданиям взаимодействовать напрямую без использования вторичного хранилища. Файл связи имеет по одному концу в каждом из двух заданий. Программный аналог межканального адаптера. Эта структура позволяет взаимодействовать между задачами с использованием тех же процедур, что и для более обычных файлов. Два конца обозначены как главный и подчиненный. Задание на ведомом конце коммуникационного файла не может легко отличить этот файл от обычного файла. Поскольку задание на главном конце коммуникационного файла может контролировать и отслеживать все данные, передаваемые в этом файле, главное конечное задание может имитировать файл данных, тем самым обеспечивая полезную помощь при отладке, а также предоставляя удобный механизм для взаимодействия выполняемых заданий с неожиданными структуры данных.

Коммуникационные файлы поддерживают операции чтения, записи и закрытия, а также синхронную и асинхронную передачу данных, произвольный доступ, запросы состояния, внеполосную сигнализацию, отчеты об ошибках и управление доступом, при этом точная семантика каждой операции определяется главным процессом . Как Дуглас Макилра отмечает: «В этом [файлах связь были] более родственным Plan 9 «s 9P протокол , чем знакомый IO.» Заметным применением файлов связи была поддержка многопользовательских конференций, которые вели себя как конференц-звонки и были полностью реализованы как прикладные программы пользовательского пространства.

Сеть Kiewit

Kiewit Network, начало 1971 г.

Как упоминалось выше, средняя школа Ганновера была подключена к DTSS с самого начала. В течение следующего десятилетия многие другие средние школы и колледжи были подключены к DTSS через сеть Kiewit, названную в честь Питера Кевита, спонсора средств для вычислительного центра Kiewit, в котором размещались компьютеры и персонал DTSS. Эти школы подключены к DTSS через один или несколько телетайпов, модемов и коммутируемых телефонных линий. В это время Дартмут проводил активные программы по привлечению и обучению учителей средней школы использованию вычислений в своих курсах.

К 1967 году к сети Kiewit присоединились следующие средние школы: Средняя школа Ганновера, Школа Холдернесса, Региональная средняя школа Долины Маскома, Академия Кимбалл Юнион, Школа Маунт Хермон, Академия Филлипса Андовера, Академия Филлипса Эксетера, Школа Святого Павла и Вермонт. Академия. Эта группа расширилась в рамках проекта средней школы Дартмута, финансируемого NSF в 1967-1968 годах, который добавил следующие средние школы Новой Англии: Средняя школа Кейп-Элизабет, Средняя школа Конкорда, Средняя школа Хартфорда (Вермонт), Средняя школа Кина, Средняя школа Ливана. Школа, Школа Лумиса, Средняя школа Манчестера, Средняя школа Ратленда, Академия Св. Джонсбери, Средняя школа Южного Портленда и Средняя школа Тимберлейн.

С 1968-1970 годов Дартмут добавил несколько колледжей в сеть Kiewit через свой региональный консорциум колледжей. Они включали: Бейтс-колледж, Беркширский муниципальный колледж, Боудойн-колледж, Колби младший колледж, Миддлбери-колледж, колледж Маунт-Холиок, колледж Новой Англии, Нориджский университет, Университет Вермонта и Технический колледж Вермонта.

К 1971 году сеть Kiewit соединила 30 средних школ и 20 колледжей в Новой Англии, Нью-Йорке и Нью-Джерси. В то время DTSS обслуживала более 30 000 пользователей, из которых только 3 000 работали в Дартмутском колледже. К 1973 году сеть Kiewit расширилась, включив школы в Иллинойсе, Мичигане, северной части штата Нью-Йорк, Огайо, и Монреале, Канада.

использование

Ни один студент в Дартмуте не боится машины. После короткого периода, проведенного за консолью, когда ученик мог поиграть в футбол или написать несколько простых программ, у него остались совсем другие отношения. Страх и тайна компьютера внезапно исчезли.

-  Кемени, 1971 г.

57% DTSS использовались для курсов и 16% для исследований. Кемени и Курц предназначены для студентов технических и нетехнических специальностей для использования DTSS. Они договорились, что во втором триместре курса математики для первокурсников будет включено требование о написании и отладке четырех программ Dartmouth BASIC . К 1968 году более 80% студентов Дартмута имели опыт компьютерного программирования. 80 классов включали "официальное" использование компьютера, в том числе инженерное дело, классику, географию, социологию и испанский язык.

27% DTSS использовались для повседневного использования и для развлечения, что, по заявлению университета, «ни в коем случае не считается несерьезным», поскольку такие действия побуждали пользователей знакомиться с компьютером и не бояться его. Библиотека из около 500 программ на 1968 год включала, как сообщили Кемени и Курц, « много игр ». Они были рады обнаружить, что 40% всех преподавателей - не только тех, кто работает в технических областях - использовали DTSS, и что многие студенты продолжали использовать систему после того, как от них больше не требовалось. Кемени - к тому времени президент университета - написал в брошюре 1971 года с описанием системы, что точно так же, как студент может войти в мемориальную библиотеку Бейкера и взять книгу, не спрашивая разрешения или объясняя свою цель, «любой студент может войти в вычислительный центр Kiewit и сесть. за консолью и пользоваться системой разделения времени. Никто не спросит, решает ли он серьезную исследовательскую задачу, делает ли домашнее задание простым способом, играет в футбол или пишет письмо своей девушке ».

К 1967/68 учебному году, помимо 2600 пользователей Дартмута, 5 550 человек в десяти университетах и ​​23 средних школах получили доступ к DTSS. К началу 1970-х в кампусе было более 150 терминалов в 25 зданиях, в том числе переносные блоки для пациентов в лазарете кампуса. Около 2000 пользователей заходили в DTSS каждый день; 80% студентов и 70% преподавателей использовали систему каждый год. Вне кампуса Дартмут Обучающие Time-Sharing Network включены пользователи с 79 терминалами в 30 школах и 20 университетов, в том числе Middlebury College , Phillips Эндовере , Маунт Холиок Колледж , Годдарда колледж , в Штатах Merchant морской академии Соединенных , в Военно - морской академии США , Колледж Бейтса , Дартмутский клуб Нью-Йорка и филиал Дартмута в Джерси-Сити, штат Нью-Джерси , делятся DTSS с жителями Дартмута. Поскольку BASIC не изменился, система осталась совместимой со старыми приложениями; В 1974 году Кемени сообщил, что программы, написанные им в 1964 году, по-прежнему будут работать. Система позволяла передавать сообщения электронной почты между пользователями и чатом в реальном времени через предшественницу программы разговоров Unix .

К 1980 году поддерживаемые языки и системы включали:

  • 7MAP - Программа сборки макросов DTSS 716
  • 8MAP - Программа сборки макросов DTSS PDP-8
  • 9MAP - Программа сборки макросов DTSS PDP-9
  • АЛГОЛ - DTSS АЛГОЛ 60
  • АЛГОЛ68 - АЛГОЛ 68 DTSS
  • APL - DTSS APL
  • БАЗОВЫЙ - БАЗОВЫЙ
  • ШАХМАТЫ - Шахматная программа
  • COBOL - DTSS COBOL
  • КУРС - IBM-совместимая авторская программа COURSEWRITER III
  • CPS - «Полная система программирования», разработанная в Bates College
  • CROSREF - Перекрестные ссылки программ
  • DDT - программа отладки машинного языка Honeywell 600/6000
  • DMAP - программа сборки макросов DTSS DATANET-30
  • DTRAC - DTSS Текст Reckoning и компиляция Язык
  • DXPL - система записи переводчика DTSS XPL
  • DYNAMO - язык моделирования DYNAMO
  • FORTRAN - DTSS FORTRAN
  • GMAP - Программа сборки макросов Honeywell 600/6000
  • LISP - DTSS LISP
  • MIX - Ассемблер DTSS MIX
  • ПИЛОТ - автор курса DTSS PILOT
  • PL / I - DTSS PL / I
  • PLOT - Графическая система для использования с BASIC или SBASIC
  • SBASIC - Структурированный BASIC
  • ШЕСТЬ - ФОРТРАН 76
  • СНОБОЛ - ДЦС СНОБОЛ4

DTSS сегодня

В 2000 году был предпринят проект по воссозданию системы DTSS на симуляторе, и в результате DTSS теперь доступен для систем Microsoft Windows и для компьютеров Apple Macintosh .

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

использованная литература