ТЕНЭКС (операционная система)
Разработчик | ББН |
---|---|
Написано в | Язык ассемблера |
Рабочее состояние | Исторический |
Первоначальный выпуск | 1969 год |
Маркетинговая цель | Мейнфреймы |
Платформы | ПДП-10 |
Под влиянием | ТОПС-10 |
По умолчанию пользовательский интерфейс | Интерфейс командной строки |
Лицензия | Собственный |
Преемник | ТОПС-20 |
TENEX — операционная система, разработанная в 1969 году компанией BBN для PDP-10 , которая позже легла в основу Digital Equipment Corporation компании операционной системы TOPS-20 .
Фон
[ редактировать ]В 1960-х годах BBN участвовал в ряде LISP на основе проектов искусственного интеллекта для DARPA , многие из которых имели очень большие (для той эпохи) требования к памяти. Одним из решений этой проблемы было добавление программного обеспечения подкачки к языку LISP , позволяющего записывать неиспользуемые части памяти на диск для последующего вызова в случае необходимости. Одна такая система была разработана для PDP-1 в Массачусетском технологическом институте Дэниелом Мерфи до того, как он присоединился к BBN. Ранние машины DEC были основаны на 18-битном слове, что позволяло кодировать адреса для памяти объемом 256 килослов . Машины были основаны на дорогой основной памяти и не содержали даже близко необходимого объема. Пейджер использовал старшие биты адреса для индексации таблицы блоков на магнитном барабане пейджера , который выступал в качестве резервного хранилища . Программное обеспечение при необходимости извлекает страницы, а затем преобразует адрес в соответствующую область ОЗУ .
В 1964 году DEC анонсировала PDP-6 . DEC по-прежнему активно сотрудничала с лабораторией искусственного интеллекта Массачусетского технологического института, и многие запросы от хакеров LISP были перенесены на эту машину. 36-битные вычисления были особенно полезны для программирования LISP, поскольку при 18-битном адресном пространстве слово памяти в этих системах содержало два адреса, что идеально соответствовало обычным операциям LISP CAR и CDR . BBN заинтересовалась покупкой одного из них для своей работы в области искусственного интеллекта, когда они стали доступны, но хотела, чтобы DEC добавила аппаратную версию пейджера Мерфи непосредственно в систему. С таким дополнением каждая программа в системе будет иметь невидимую поддержку подкачки, что значительно упростит программирование. Первоначально компания DEC была заинтересована, однако в 1966 году они объявили, что прекращают выпуск PDP-6 и концентрируются исключительно на своих меньших 18-битных и новых 16-битных линейках. PDP-6 был дорогим и сложным и поэтому плохо продавался.
Вскоре стало ясно, что DEC снова входит в 36-битный бизнес с тем, что впоследствии стало PDP-10 . BBN начала переговоры с DEC о включении подсистемы пейджинга в новую машину, известную тогда под названием процессора KA-10. DEC не была заинтересована; однако одним из достижений этих переговоров стала поддержка в PDP-10 второго сегмента виртуальной памяти, позволяющая отображать половину пользовательского адресного пространства в отдельную (потенциально доступную только для чтения) область физической памяти. Кроме того, DEC настаивала на том, чтобы стоимость машины была как можно более низкой, например, поддерживая системы с ядром объемом не менее 16 КБ слов и исключая опцию быстрого полупроводникового регистра (заменяющую ядро) за счет значительного снижения производительности.
ББН и ПДП-10
[ редактировать ]
Тем не менее BBN продолжила закупку нескольких PDP-10 и решила создать собственный аппаратный пейджер. [1] В этот период начались дебаты о том, какую операционную систему использовать на новых машинах. Были приведены веские аргументы в пользу продолжения использования TOPS-10, чтобы поддерживать работоспособность существующего программного обеспечения с минимальными усилиями. Это потребовало бы переписывания TOPS-10 для поддержки системы пейджинга, и это казалось серьезной проблемой. В то же время TOPS-10 не поддерживал ряд функций, которые хотели разработчики. В конце концов они решили создать новую систему, включив в нее библиотеку эмуляции, которая позволила бы ей без особых усилий запускать существующее программное обеспечение TOPS-10.
Команда разработчиков, в которую входили Дэниел Мерфи и Дэниел Дж. Боброу, выбрала название TENEX (TEN-EXtended) для новой системы. Он включал в себя полную систему виртуальной памяти — то есть не только программы могли получить доступ к полному 18-битному адресному пространству, состоящему из 262 144 слов виртуальной памяти, каждая программа могла делать это одновременно. Пейджерная система будет обрабатывать сопоставление как всегда, копируя данные в резервное хранилище и обратно по мере необходимости. Единственное необходимое изменение заключалось в том, чтобы пейджер мог хранить несколько наборов сопоставлений между оперативной памятью и хранилищем, по одному для каждой программы, использующей систему. Пейджер также содержал информацию о времени доступа для настройки производительности. Получившийся пейджер оказался довольно сложным и занял полноразмерное 19-дюймовое шасси, монтируемое в стойку.
Одной из примечательных особенностей АО «Техснабэкспорт» был ориентированный на пользователя интерпретатор командной строки . В отличие от типичных систем того времени, АО «Техснабэкспорт» намеренно использовало длинные названия команд и даже включало несущественные « шумовые» слова , чтобы еще больше расширить команды для ясности. Например, Unix использует ls
для печати списка файлов в каталоге, тогда как АО «Техснабэкспорт» использовало DIRECTORY (OF FILES)
. " DIRECTORY
"было командное слово" (OF FILES)
«был добавлен шум, чтобы сделать суть команды более понятной. Чтобы избавить пользователей от необходимости вводить эти длинные команды, в АО «Техснабэкспорт» использовалась система завершения команд , которая понимала однозначно сокращенные командные слова и расширяла частичные командные слова до полных слов или фраз. например, пользователь может ввести DIR
и клавишу выхода, после чего АО «Техснабэкспорт» заменит DIR
с полной командой. Функция завершения также работала с именами файлов, что требовало некоторых усилий со стороны интерпретатора, а система позволяла использовать длинные имена файлов с удобочитаемыми описаниями. Также в АО «Техснабэкспорт» реализована система помощи по распознаванию команд : ввод вопросительного знака ( ?
), распечатывает список возможных совпадающих команд, а затем возвращает пользователя в командную строку с удаленным вопросительным знаком. Завершение командной строки и помощь продолжают существовать в современных интерфейсах командной строки, таких как tcsh .
От «Техснабэкспорта» до ТОПС-20
[ редактировать ]«Техснабэкспорт» стал довольно популярным на небольшом рынке PDP-10, а производство внешнего пейджерного оборудования превратилось в отдельный небольшой бизнес. В начале 1970 года DEC начала работу над модернизацией процессора PDP-10, получившего название KI-10. BBN еще раз попыталась заставить DEC поддерживать сложный пейджер с косвенными таблицами страниц, но вместо этого DEC решила использовать гораздо более простую одноуровневую систему сопоставления страниц. Этот компромисс повлиял на продажи системы; к этому моменту «Техснабэкспорт» был самой популярной операционной системой PDP-10, написанной заказчиком, но она не работала на новых, более быстрых КИ-10.
Чтобы исправить эту проблему, менеджер по продажам ДЭК ПДП-10 выкупил у ББН права на «Техснабэкспорт» и организовал проект по его портированию на новую машину. Примерно в это же время Мерфи также перешёл из BBN в DEC, помогая в проекте портирования. Большая часть работы была сосредоточена на эмуляции аппаратного обеспечения пейджера BBN в сочетании программного обеспечения и более простого оборудования KI-10. Скорость КИ-10 по сравнению с ПДП-6 сделала это возможным. Кроме того, для переноса потребовалось несколько новых драйверов устройств для поддержки новых используемых устройств резервного хранилища.
Пока отправлялся новый «Техснабэкспорт», DEC начала работу над КЛ-10, который должен был стать недорогой версией КИ-10. Пока это происходило, программисты ИИ Стэнфордского университета , многие из которых были выпускниками Массачусетского технологического института , работали над собственным проектом по созданию PDP-10, который был бы в десять раз быстрее оригинального KA-10. Проект превратился в Foonly линейку компьютеров . Их посетила компания DEC, и многие из их идей затем были воплощены в проекте KL-10. В том же году IBM также анонсировала собственную машину с виртуальной памятью, что сделало ее стандартным требованием для любого компьютера. В конце концов, KL интегрировал в систему ряд серьезных изменений, но стоимость от этого не снизилась. С самого начала новая DECSYSTEM-20 будет использовать версию TENEX в качестве операционной системы по умолчанию.
Функциональные обновления процессорной архитектуры KL-10 были ограничены. Наиболее важной новой функцией (так называемой расширенной адресацией ) был модифицированный микрокод пейджера, работающий на аппаратной версии модели B, для увеличения виртуального адресного пространства пользователя. Некоторые эффективные вычисления адреса с помощью инструкций, расположенных за пределами исходного 18-битного адресного пространства, выполнялись до 30 значащих битов, хотя поддерживалось только 23-битное виртуальное адресное пространство. Программный код, расположенный в исходном 18-битном адресном пространстве, имел неизмененную семантику в целях обратной совместимости .
Первым кодовым названием операционной системы было VIROS (Операционная система с виртуальной памятью); когда клиенты начали задавать вопросы, название было изменено на SNARK, чтобы DEC могла честно отрицать существование какого-либо проекта под названием VIROS. Когда название SNARK стало известно, оно на короткое время было изменено на KRANS; от этого быстро отказались, когда кто-то возразил, что « кранс означает «похоронный венок» » по -шведски (хотя оно означает просто «венок»; эта часть истории может быть апокрифом).
В конечном итоге DEC выбрала TOPS-20 в качестве названия операционной системы, и именно как TOPS-20 она продавалась. Хакерское сообщество , помня о его происхождении, быстро окрестило его TWENEX ( сокращение от «двадцати TENEX»), хотя к этому моменту от исходного кода TENEX осталось очень мало (аналогично различиям между AT&T V7 Unix и BSD ). Сотрудники DEC съежились, когда услышали «TWENEX», но этот термин, тем не менее, прижился (также использовалась письменная аббревиатура «20x»). [2]
TWENEX имел успех и большую популярность; Фактически, в начале 1980-х годов был период, когда в ней существовала такая же ярая культура приверженцев, как в Unix или ITS , но решение DEC отказаться от всех внутренних конкурентов в пользу архитектуры VAX и ее операционной системы VMS убило DEC-20 и положило конец конец короткому периоду популярности TWENEX. DEC попыталась убедить пользователей TOPS-20 перейти на VMS, но вместо этого к концу 1980-х годов большинство пользователей TOPS-20 перешли на Unix. Верная группа энтузиастов TOPS-20 продолжала работать над различными проектами, чтобы сохранить и расширить TOPS-20, в частности, над Марком Криспином и дистрибутивом Panda TOPS-20.
См. также
[ редактировать ]Ссылки
[ редактировать ]- Часть текста в этой статье была взята из записи в файле жаргона на сайте « TWENEX », которая находится в свободном доступе .
- ^ Стролло, Теодор Р.; Берчфлел, Джерри Д.; Томлинсон, Раймонд С. (22 июля 1970 г.). «Технические детали пейджера BBN модели 701» (PDF) . Болт, Беранек и Ньюман .
- ^ «ТВЕНЭКС» .
Дальнейшее чтение
[ редактировать ]- Дэниел Г. Боброу , Джерри Д. Берчфилд, Дэниел Л. Мерфи , Рэймонд С. Томлинсон , « TENEX, страничная система разделения времени для PDP-10 », Communications of ACM , Vol. 15, страницы 135–143, март 1972 г.