Дартмутская система разделения времени - Dartmouth Time Sharing System
Разработчик | Дартмутский колледж |
---|---|
Написано в | Дартмутский ОСНОВНОЙ, АЛГОЛ 60, FORTRAN, КОБОЛ, APL, DXPL, ДИНАМО, GMAP, LISP, MIX, PL / I, СНОБОЛ |
Рабочее состояние | Снято с производства |
изначальный выпуск | 1964 |
Платформы | Серия GE-200, GE-635 серии, Honeywell 6000 серии |
По умолчанию пользовательский интерфейс | Интерфейс командной строки |
Официальный веб-сайт | dtss |
В Дартмутская система разделения времени (DTSS) был Операционная система впервые разработан в Дартмутский колледж между 1963 и 1964 гг.[1] Это был первый успешный масштабный совместное времяпровождение система, которая должна была быть внедрена, а также система, для которой БАЗОВЫЙ язык был разработан. DTSS непрерывно разрабатывался в течение следующего десятилетия, повторно внедрялся на несколько поколений компьютеров и, наконец, был закрыт в 1999 году.
История ранних веков
Профессора Джон Кемени и Томас Курц в Дартмутский колледж купил Роял Макби LGP-30 компьютер около 1959 года, который был запрограммирован студентами на ассемблере. Курц и четыре студента запрограммировали Дартмутский АЛГОЛ 30 компилятор, реализация АЛГОЛ 58 язык программирования, который два студента затем развили в язык SCALP (Self Conolated ALgol Processor) в период с 1962 по 1964 год. Кемени и первокурсник Сидни Маршалл совместно создали DOPE (Дартмутский эксперимент по упрощенному программированию), который использовался на больших курсах первокурсников.[2]
Курц обратился к Кемени либо в 1961, либо в 1962 году со следующим предложением:[3] все студенты Дартмута будут иметь доступ к компьютерам, они должны быть бесплатными и с открытым доступом, и это может быть достигнуто путем создания системы с разделением времени (о которой Курц узнал от коллеги Джон Маккарти в Массачусетский технологический институт, который предложил: «Ребята, а почему бы вам не разделить время?»). Хотя было заявлено, что DTSS был вдохновлен PDP-1 -система разделения времени на Болт, Беранек и Ньюман, нет никаких доказательств того, что это правда.
В 1962 году Кемени и Курц представили предложение о разработке новой системы с разделением времени. NSF (который в конечном итоге был профинансирован в 1964 году).[4] У них была достаточная уверенность в том, что и Дартмут, и NSF поддержат систему, что они подписали контракт с GE и начали предварительную работу в 1963 году, прежде чем предложение было профинансировано.[5] В частности, они оценивали компьютеры-кандидаты от Бендикс, GE, и IBM, и остановился на GE-225 система в паре с ДАТАНЕТ-30 коммуникационный процессор. Этот двухпроцессорный подход был неортодоксальным, и Кемени позже вспоминал:[6] «В то время многие эксперты в GE и других странах пытались убедить нас, что путь решения с двумя компьютерами был расточительным и неэффективным». По сути, DATANET-30 предоставлял пользовательский интерфейс и планировщик, в то время как пользовательские программы выполнялись в GE-225.
Его реализация началась в 1963 году студенческим отрядом.[7] под руководством Кемени и Курца с целью обеспечить легкий доступ к вычислительной технике для всех членов колледжа.[8] Компьютеры GE-225 и DATANET-30 прибыли в феврале 1964 г., начали работать в середине марта, а 1 мая 1964 г., в 4:00 утра, система начала работу.[9] Осенью 1964 года сотни первокурсников начали пользоваться системой через 20 телетайпы, с доступом в средней школе Ганновера через один дополнительный телетайп;[10] позже той же осенью компьютер GE-225 был заменен на более быстрый GE-235 компьютер с минимальными проблемами. К лету 1965 года система могла поддерживать 40 одновременных пользователей.[11]
Документ Дартмута от октября 1964 года, позже исправленный GE, описывает общую архитектуру DTSS:[12]
«Программа в Datanet-30 разделена на две части: часть реального времени и часть свободного времени. Часть реального времени вводится через прерывание, управляемое часами, 110 раз в секунду для сканирования строк телетайпа. символы завершены, часть реального времени собирает их в сообщения и, когда встречается символ "возврата", интерпретирует сообщение. Если это строка в программе, ничего не делается. Если сообщение является командой, запасной -временная задача для начала выполнения команды настроена и вставлена в список свободного времени.Если времени для завершения этой настройки недостаточно, часть реального времени завершит настройку во время следующего реального времени. Период времени. Часть свободного времени выполняет задачи свободного времени, которые включают в основном операции с дисками и определенные операции телетайпа. В части GE-235 имеется резидентная система компилятора, которая действует как переводчик, и резидентная исполнительная процедура для управления операции ввода-вывода диска и для выполнения других функций. Эта система позволяет одновременно использовать карточное оборудование, ленточные накопители и высокоскоростной принтер во время разделения времени посредством обработки прерываний. Доступны два алгебраических языка, BASIC и ALGOL, при этом FORTRAN запланирован на сентябрь 1965 года. Эти однопроходные компиляторы довольно быстрые, обычно требуя от 1 до 4 секунд на компиляцию ».
Дизайн пользовательского интерфейса
Кемени и Курц заметили, что «любое время отклика, которое в среднем превышает 10 секунд, разрушает иллюзию наличия собственного компьютера», поэтому при разработке DTSS упор делался на немедленную обратную связь.[13] Таким образом, многие пользователи считали, что их терминал - это компьютер.[14] и что, как писал Кемени, «машина существует только для того, чтобы служить ему, и что он имеет полный контроль над всей системой».[15]
Из-за образовательных целей простота использования была приоритетом при разработке DTSS. Он реализовал первый в мире Интегрированная среда проектирования (IDE). Любая строка, введенная пользователем и начинающаяся с номера строки, добавлялась в программу, заменяя любую ранее сохраненную строку тем же номером; все остальное принималось за команду и немедленно выполнялось. Строки, которые состояли исключительно из номера строки, не сохранялись, но удаляли все ранее сохраненные строки с тем же номером. Этот метод редактирования предоставил простую и удобную услугу, позволяющую выполнять большое количество телепринтеры в качестве оконечных устройств для системы разделения времени в Дартмуте.
Команды IDE включены
- КАТАЛОГ - перечислить ранее названные программы в хранилище
- СПИСОК - для отображения текущей программы в памяти
- НОВАЯ - назвать и начать писать программу в памяти
- Старый - скопировать ранее названную программу из хранилища в память
- ПЕРЕИМЕНОВАТЬ - изменить название программы в памяти
- БЕГАТЬ - скомпилировать и выполнить текущую программу в памяти
- СПАСТИ - скопировать текущую программу из памяти в хранилище
- ЦАРАПИНА - очистить содержимое текущей программы из памяти
- UNSAVE - удалить текущую программу из хранилища
Пользователи часто считали, что эти команды являются частью языка BASIC, но на самом деле они были частью системы разделения времени и также использовались при подготовке АЛГОЛ[14] или FORTRAN программы через терминалы DTSS.
GE-Дартмут отношения
Кемени и Курц изначально надеялись, что GE вступит в исследовательское партнерство, и с этой целью Курц и студент Энтони Кнапп создали документ о предлагаемой ими конструкции системы, который они представили в офис GE в Фениксе в 1962 году.[16] Однако GE отклонила это партнерство, и ее предложение Дартмуту в октябре 1962 года было оформлено исключительно как коммерческая продажа.[17] Тем не менее, GE и Дартмут продвигали действующую Дартмутскую систему разделения времени в октябре 1964 г. Осенняя совместная компьютерная конференция в Сан-Франциско, с тремя телетайпами, подключенными к системе Дартмут в Ганновере.[18]
С декабря 1964 года по январь 1965 года два студента Дартмута установили рабочие копии DTSS и BASIC на компьютерах GE в Фениксе. В начале 1965 года GE начала рекламировать услуги разделения времени в своей системе GE-265 (GE 235 + DATANET 30), включая BASIC и Dartmouth Algol,[19] позже переименовали ее в систему разделения времени GE Mark I.[20] В течение следующих нескольких лет GE открыла 25 компьютерных центров в США и других странах, обслуживая более пятидесяти тысяч пользователей.[21]
В Музей истории компьютеров Коллекция корпоративных историй описывает историю GE Mark I следующим образом:[22]
- Предшественник General Electric Information Services начинался как бизнес-подразделение в General Electric, созданное для продажи избыточного компьютерного времени на компьютерах, используемых для демонстрации клиентам. В 1965 году Warner Sinback рекомендовал им начать продавать услуги с разделением времени, используя систему разделения времени (Mark 1), разработанную в Дартмуте на компьютере General Electric 265. Услуга мгновенно приобрела успех, и к 1968 году у GEIS было 40% рынка разделения времени на 70 миллионов долларов. Услуга продолжала расти и со временем перешла на разработанные GE операционные системы Mark II и Mark III, работающие на больших мэйнфреймах.
Дартмутская система разделения времени, версия 2
С 1966-1968 гг. DTSS была повторно внедрена на GE 635,[4] все еще использую DATANET-30 для управления терминалом. Система GE 635 была поставлена в ноябре 1966 года. К октябрю 1967 года она предоставляла услуги, основанные на программном обеспечении Фазы I, совместно разработанном Дартмутом и GE, которое GE впоследствии продавало как систему GE Mark II.[23] Параллельно с этой работой Дартмут приступил в 1967 году к разработке Фазы II под руководством профессора Джона Кемени, при этом программирование выполнялось студентами и преподавателями. Фаза II Дартмутской системы разделения времени заменила Фазу I 1 апреля 1969 года в Дартмуте.[24]
Как было описано в 1969 году, на новую архитектуру DTSS повлияли три критерия:[25]
- Опыт работы с системой 265.
- Опубликованные концепции Мультики система.
- Осознание ограничений возможностей сотрудников, работающих неполный рабочий день, студентов и преподавателей Дартмута.
Эта новая версия внутренне полностью отличалась от более ранней DTSS, но обеспечивала почти идентичный пользовательский интерфейс для обеспечения плавного перехода для пользователей и материалов курса. Версия 635 обеспечивала интерактивное разделение времени для почти 300 одновременных пользователей в 1970-х, что было очень большим числом в то время, и работала на одиннадцати коммерческих и академических сайтах в США, Канаде и Европе.[26] По мере развития в 1970-х годах более поздние версии перешли на Honeywell 6000 мэйнфреймы серии (1973) и Honeywell 716 коммуникационные процессоры (1974).[27] В 1976 году система GE-635 была заменена компьютером Honeywell 66 / 40A. Он оставался в эксплуатации до конца 1999 года.[28]
DTSS, версия 2, включала новую форму межпроцессного взаимодействия так называемые «коммуникационные файлы». Они значительно старше Unix трубы, поскольку проектные документы берут свое начало в 1967 году,[29] и были кратко описаны на конференции 1969 г .:
- Коммуникационный файл позволяет двум заданиям взаимодействовать напрямую без использования вторичного хранилища. Файл связи имеет по одному концу в каждом из двух заданий. Это программный аналог межканального адаптера. Эта структура позволяет взаимодействовать между задачами с использованием тех же процедур, что и для более обычных файлов. Два конца обозначены как главный и подчиненный. Задание на ведомом конце коммуникационного файла не может легко отличить этот файл от обычного файла. Поскольку задание на главном конце коммуникационного файла может контролировать и отслеживать все данные, передаваемые в этом файле, главное конечное задание может имитировать файл данных, тем самым обеспечивая полезную помощь при отладке, а также предоставляя удобный механизм для взаимодействия выполняемых заданий с неожиданными структуры данных.[30]
Коммуникационные файлы поддерживают операции чтения, записи и закрытия, а также синхронную и асинхронную передачу данных, произвольный доступ, запросы состояния, внеполосную сигнализацию, отчеты об ошибках и управление доступом, при этом точная семантика каждой операции определяется главным процессом . Так как Дуглас Макилрой примечания: "В этом [файлы сообщений] были больше похожи на План 9 с Протокол 9P чем к знакомому ИО ".[31] Заметным применением файлов связи была поддержка многопользовательских конференций, которые вели себя как конференц-связь по телефону и были полностью реализованы как прикладные программы пользовательского пространства.[32]
Сеть Kiewit
Как упоминалось выше, средняя школа Ганновера была подключена к DTSS с самого начала. В течение следующего десятилетия многие другие средние школы и колледжи были подключены к DTSS через сеть Kiewit, названную в честь Питера Кевита, донора средств для вычислительного центра Kiewit, в котором размещались компьютеры и персонал DTSS. Эти школы подключены к DTSS через один или несколько телетайпов, модемов и коммутируемых телефонных линий.[33] В это время Дартмут проводил активные программы по привлечению и обучению учителей старших классов использованию вычислений в рамках своих курсов.
К 1967 году к сети Kiewit присоединились следующие средние школы: Средняя школа Ганновера, Школа Холдернесса, Региональная средняя школа Долины Маскома, Академия Кимбалл Юнион, Школа Маунт-Хермон, Академия Филлипса Андовера, Академия Филлипса Эксетера, Школа Св. Академия.[34] Эта группа расширилась в рамках проекта средней школы Дартмута, финансируемого NSF в 1967-1968 годах, который добавил следующие средние школы Новой Англии: Средняя школа Кейп-Элизабет, Средняя школа Конкорда, Средняя школа Хартфорда (Вермонт), Средняя школа Кина, Средняя школа Ливана. Школа, Школа Лумиса, Средняя школа Манчестера, Средняя школа Ратленда, Академия Св. Джонсбери, Средняя школа Южного Портленда и Средняя школа Тимберлейн.[35]
С 1968-1970 года Дартмут добавил несколько колледжей в сеть Kiewit через свой региональный консорциум колледжей. Они включали: Колледж Бейтса, Беркширский муниципальный колледж, Колледж Боудоин, Колледж Колби младшего, Колледж Миддлбери, Колледж Маунт-Холиок, Колледж Новой Англии, Университет Норвича, Университет Вермонта и Технический колледж Вермонта.[36]
К 1971 году сеть Kiewit соединила 30 средних школ и 20 колледжей в Новой Англии, Нью-Йорке и Нью-Джерси.[37] В то время DTSS обслуживала более 30 000 пользователей, из которых только 3 000 были в Дартмутском колледже.[38] К 1973 году сеть Kiewit Network расширилась и включила школы в Иллинойсе, Мичигане, северной части штата Нью-Йорк, Огайо, и Монреале, Канада.[39]
Применение
Ни один студент в Дартмуте не боится машины. После короткого периода, проведенного за консолью, когда ученик мог сыграть в футбол или написать несколько простых программ, у него остались совсем другие отношения. Страх и тайна компьютера внезапно исчезли.
— Кемени, 1971 г.[15]
57% DTSS использовались для курсов и 16% для исследований.[15] Кемени и Курц предназначены для студентов технических и нетехнических специальностей для использования DTSS. Они договорились, что второй триместр математического класса для первокурсников включит в себя требование по написанию и отладке четырех Дартмутский ОСНОВНОЙ программы. К 1968 году более 80% студентов Дартмута имели опыт компьютерного программирования. 80 классов включали «официальное» использование компьютера, в том числе инженерное дело, классику, географию, социологию и испанский язык.[13]
27% DTSS использовались для повседневного использования и развлечения, что, по заявлению университета, «ни в коем случае не рассматривается как несерьезное», поскольку такие действия побуждали пользователей познакомиться с компьютером и не бояться его.[15] По данным Кемени и Курца, библиотека насчитывала около 500 программ по состоянию на 1968 г. "много игр ".[13] Они были рады обнаружить, что 40% всех преподавателей - не только тех, кто работает в технических областях - использовали DTSS, и что многие студенты продолжали использовать систему после того, как от них больше не требовалось. Кемени - к тому времени президент университета - написал в 1971 году брошюру, описывая систему, в которую мог войти так же, как студент Мемориальная библиотека Бейкера и взять книгу, не спрашивая разрешения и не объясняя свою цель, "любой студент может войти в вычислительный центр Kiewit, сесть за консоль и использовать систему разделения времени. Никто не спросит, решает ли он серьезную исследовательскую задачу, выполняя его домашнее задание легким способом, играя в футбол или написав письмо своей девушке ".[15][40]
К 1967/68 учебному году, помимо 2600 пользователей Дартмута, к DTSS получили доступ 5 550 человек в десяти университетах и 23 средних школах.[13] К началу 1970-х в кампусе было более 150 терминалов в 25 зданиях, включая переносные блоки для пациентов в лазарете кампуса. Около 2000 пользователей заходили в DTSS каждый день; 80% студентов и 70% преподавателей использовали систему каждый год. Образовательная сеть с разделением времени в Дартмуте за пределами кампуса включала пользователей с 79 терминалами в 30 средних школах и 20 университетах, включая Миддлбери Колледж, Филлипс Андовер, Колледж Mount Holyoke, Годдард Колледж, Академия торгового флота США, Колледж Бейтса, Дартмутский клуб Нью-Йорка и филиал Дартмута в Джерси-Сити, Нью-Джерси, поделиться DTSS с людьми из Дартмута.[15] Поскольку BASIC не изменился, система осталась совместимой со старыми приложениями; В 1974 году Кемени сообщил, что программы, написанные им в 1964 году, все еще будут работать.[14] Система позволяла передавать сообщения электронной почты между пользователями и чатом в реальном времени через предшественника Unix говорить программа.
К 1980 году поддерживаемые языки и системы включали:[41]
- 7Карта - DTSS 716 Программа сборки макросов
- 8Карта - DTSS PDP-8 Программа сборки макросов
- 9Карта - DTSS PDP-9 Программа сборки макросов
- АЛГОЛ - DTSS АЛГОЛ 60
- АЛГОЛ68 - DTSS АЛГОЛ 68
- APL - DTSS APL
- ОСНОВНОЙ - БАЗОВЫЙ
- ШАХМАТЫ - Шахматная программа
- КОБОЛ - DTSS КОБОЛ
- КУРС - IBM-совместимый КУРСИСАЙТЕР III авторская программа
- CPS - «Полная система программирования», разработанная в Bates College
- CROSREF - Перекрестные ссылки программ
- DDT - программа отладки машинного языка Honeywell 600/6000
- DMAP - DTSS ДАТАНЕТ-30 Программа сборки макросов
- DTRAC - DTSS Расчет и компиляция текста Язык
- DXPL - DTSS XPL Система письма переводчика
- ДИНАМО - ДИНАМО Язык моделирования
- FORTRAN - DTSS FORTRAN
- GMAP - Программа сборки макросов Honeywell 600/6000
- LISP - DTSS LISP
- MIX - DTSS СМЕШИВАНИЕ Ассемблер
- ПИЛОТ - автор курса DTSS PILOT
- PL / I - DTSS PL / I
- PLOT - Графическая система для использования с BASIC или SBASIC
- SBASIC - Структурированный BASIC
- ШЕСТЬ - FORTRAN 76
- СНОБОЛ - ДЦС СНОБОЛ4
DTSS сегодня
В 2000 году был предпринят проект по воссозданию системы DTSS на симуляторе, и в результате DTSS теперь доступен для Майкрософт Виндоус систем и для Apple Macintosh компьютер.[42]
Смотрите также
использованная литература
- ^ Рэнкин, Джой Лиси (2018), Народная история вычислительной техники в Соединенных Штатах, Кембридж, Массачусетс: Издательство Гарвардского университета, ISBN 9780674970977
- ^ Заявление в Национальный научный фонд, Курц, Ризер и Мек, цитируется у Ранкина, страницы 20-21.
- ^ Ранкин, страницы 22-23
- ^ а б https://web.archive.org/web/20150425065704/http://www.dartmouth.edu/comp/about/archive/history/timeline/1960s.html | Dartmouth Computing в 1960-х годах
- ^ Ранкин, страницы 24-25
- ^ Компьютерное партнерство GE-Dartmouth, Джон Г. Кемени, История рождения DTSS 1967-1970, папка 2, вставка 4, Garland Papers, библиотека Дартмутского колледжа
- ^ Дети Кемени
- ^ http://www.bitsavers.org/pdf/dartmouth/DTSS_descr_Oct64.pdf | Руководство пользователя DTSS Октябрь 1964 г.
- ^ Гордон М. Булл, Дартмутская система разделения времени, Ellis Horwood Ltd. и John Wiley & Sons, 1980. http://www.bitsavers.org/pdf/dartmouth/The_Dartmouth_Time-Sharing_System_1980.pdf. Описание DTSS c. 1977 г.
- ^ Ранкин, страницы 33-34
- ^ Бык, страница 13
- ^ "Дартмутская система разделения времени, краткое описание", 19 октября 1964 г., с изменениями, внесенными персоналом GE, 1965 г.
- ^ а б c d Кемени, Джон Дж .; Курц, Томас Э. (11 октября 1968 г.). "Дартмутское разделение времени". Наука. 162: 223–228.
- ^ а б c "СТРАНЫ ДНЯ Пионеров Национальной компьютерной конференции 1974 года". Дартмутская система разделения времени. Дартмутский колледж.
- ^ а б c d е ж Вычислительный центр Kiewit и Дартмутская система разделения времени. Дартмутский колледж. c. 1971 г.
- ^ Джон Г. Кемени, «Компьютерное партнерство GE и Дартмута», История создания DTSS 1967-1970 Папка 2, Вставка 4, Документы Гарланд, Библиотека Дартмутского колледжа. Цитируется по Ранкин, страницы 25-26.
- ^ Компьютерный факультет General Electric, «Предварительное предложение для Дартмутского колледжа, 15 октября 1962 года», вставка 1, документы Курца, библиотека Дартмутского колледжа. Цитируется у Ранкина, стр. 26
- ^ Курц, «Отчет о проделанной работе, проект улучшения содержания курса от 15 декабря 1964 года». Цитируется по Ранкин, стр. 118
- ^ J.A.N. Ли, «Взлет и падение компьютерного отдела корпорации General Electric», IEEE Annals of the History of Computing 17, нет. 4 (зима 1995 г.): 24-25. Цитируется по Ранкин, стр. 120.
- ^ Бык, страница 14
- ^ General Electric Information Systems Group, «Компьютерное разделение времени в кампусе: новые возможности для обучения студентов», май 1968 г., папка 3 из 6, DA-29 (7841) DTSS Time-Sharing, библиотека Раунера, Дартмутский колледж. Цитируется по Ранкин, стр. 121
- ^ Коллекция корпоративных историй Музея компьютерной истории: сведения о компании - General Electric Information Services (GEIS)
- ^ Бык, страница 14
- ^ Бык, страница 14
- ^ Роберт Ф. Харгрейвс-младший и Эндрю Г. Стивенсон, «Соображения по поводу дизайна образовательной системы с разделением времени», AFIPS Spring Joint Computer Conference 1969, страницы 657-664
- ^ Бык, стр.9
- ^ Бык, страницы 15, 19
- ^ http://dtss.dartmouth.edu/timeline.php | Хронология Дартмутской системы разделения времени (DTSS).
- ^ М. Дуглас Макилрой, «Коммуникационные файлы: межпроцессный ввод-вывод перед трубами», Дартмутский колледж, февраль 2017 г.[1]
- ^ Харгрейвс и Стивенсон, op. соч.
- ^ Макилрой, страница 4
- ^ Джон МакГичи, «Несколько терминалов под управлением программы пользователя в среде с разделением времени», Коммуникации ACM 16 (1973) 587-590
- ^ Роберт Харгрейвс и Томас Курц, «Дартмутская сеть разделения времени», в Компьютерные сети связи, Отредактировано Норман Абрамсон и Франклин Ф. Куо, Prentice-Hall, 1973.
- ^ Джон Г. Кемени и Томас Э. Курц, Дартмутская вычислительная система с разделением времени: окончательный отчет. Цитируется по Ранкин, стр. 80
- ^ Томас Э. Курц, Демонстрация и эксперимент по компьютерному обучению и использованию в средних школах: промежуточный отчет, мероприятия и достижения первого года обучения, Октябрь 1968. Цитируется по Ранкин, стр. 83.
- ^ Томас Э. Курц, Промежуточный отчет от июля 1969 г. о Консорциуме региональных колледжей Дартмутского колледжа. Цитируется по Ранкин, стр. 92
- ^ Управление информационных служб Дартмутского колледжа, 6 апреля 1971 г., пресс-релиз. Цитируется по Ранкин, стр. 94
- ^ Там же.
- ^ Карта Дартмутской образовательной сети с разделением времени, 1973 г. Цит. По Рэнкин, стр. 63
- ^ Маккракен, Гарри (29 апреля 2014 г.). «Пятьдесят лет BASIC, языка программирования, который сделал компьютеры персонализированными». ВРЕМЯ. Получено 19 марта 2016.
- ^ Бык, страницы 166-167
- ^ http://dtss.dartmouth.edu/ | Сайт возрождения DTSS