TENEX (операционная система)

редактировать
TENEX
Разработчик BBN
Рабочее состояниеИсторический
Первый выпуск1969 г.; 51 год назад (1969)
ПлатформыPDP-10
Стандартный пользовательский интерфейс Интерфейс командной строки
Лицензия Собственный

TENEX был операционная система, разработанная в 1969 году BBN для PDP-10, которая впоследствии легла в основу Digital Equipment Corporation TOPS-20 операционная система.

Содержание
  • 1 Предпосылки
  • 2 BBN и PDP-10s
  • 3 От TENEX к TOPS-20
  • 4 См. Также
  • 5 Ссылки
  • 6 Дополнительная литература
Предпосылки

В 1960-х годах BBN участвовала в ряде проектов LISP искусственного интеллекта для DARPA, многие из которых были очень большие (для той эпохи) требования к памяти. Одним из решений этой проблемы было добавление программного обеспечения разбиения на страницы к языку LISP, позволяющее записывать неиспользуемые части памяти на диск для последующего вызова в случае необходимости. Одна такая система была разработана для PDP-1 в MIT Дэниелом Мерфи до того, как он присоединился к BBN. Ранние машины DEC были основаны на 18-битном слове, что позволяло кодировать адреса для памяти на 256 киловордов. Машины были основаны на дорогостоящей основной памяти и не включали требуемый объем. Пейджер использовал старшие биты адреса для индексации таблицы блоков на магнитном барабане , который действовал как резервное хранилище пейджера. Программа при необходимости извлекала страницы, а затем преобразовывала адрес в соответствующую область RAM.

. В 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 не сильно заинтересовался. Однако одним из этапов этих переговоров была поддержка второго сегмента виртуальной памяти, что позволило отображать половину адресного пространства пользователя в отдельную (потенциально доступную только для чтения) область физической памяти. Кроме того, DEC твердо придерживалась минимально возможной стоимости машины, например, поддерживая базовые системы с ядром не менее 16K слов и исключая опцию fast semiconductor register (заменяющая ядро), за счет значительного снижения производительности.

BBN и PDP-10
BBN Pager, примерно 1970

BBN, тем не менее, продолжила закупку нескольких PDP-10 и решила создать свой собственный аппаратный пейджер. В этот период начались дебаты о том, какую операционную систему использовать на новых машинах. Были приведены веские аргументы в пользу продолжения использования TOPS-10, чтобы их существующее программное обеспечение работало с минимальными усилиями. Это потребовало бы перезаписи TOPS для поддержки системы подкачки, и это казалось серьезной проблемой. В то же время TOPS не поддерживал ряд функций, которые хотели разработчики. В конце концов они решили создать новую систему, но с библиотекой эмуляции, которая позволила бы запускать существующее программное обеспечение TOPS-10 с минимальными усилиями.

Команда разработчиков - среди них Дэниел Мерфи и Дэниел Г. Боброу - выбрали название TENEX (TEN-EXtended) для новой системы. Он включал в себя систему с полной виртуальной памятью, то есть программы могли не только получать доступ к полному 18-битному адресному пространству из 262144 слов виртуальной памяти, но и каждая программа могла делать это одновременно. Система пейджера будет обрабатывать отображение как всегда, копируя данные в резервное хранилище и из него по мере необходимости. Единственное изменение, которое потребовалось, заключалось в том, чтобы пейджер мог хранить несколько наборов сопоставлений между ОЗУ и хранилищем, по одному для каждой программы, использующей систему. Пейджер также содержал информацию о времени доступа для настройки производительности. Получившийся пейджер оказался довольно сложным и занимал всю высоту 19-дюймового стоечного шасси.

Одной из примечательных особенностей TENEX был ориентированный на пользователя интерпретатор командной строки. В отличие от типичных систем того времени, TENEX намеренно использовал длинные имена команд и даже включал незначительные шумовые слова для дальнейшего расширения команд для ясности. Например, Unix использует lsдля печати списка файлов в каталоге, тогда как TENEX использовал КАТАЛОГ (ФАЙЛОВ). «КАТАЛОГ» было командным словом, «(ИЗ ФАЙЛОВ)» было добавлено шума, чтобы прояснить цель команды. Чтобы облегчить пользователям Из-за необходимости вводить эти длинные команды, TENEX использовал систему завершения команд , которая понимала однозначно сокращенные командные слова и расширяла частичные командные слова до полных слов или фраз. Например, пользователь мог ввести DIRи клавиша escape, после чего TENEX заменял DIRполной командой. Функция завершения также работала с именами файлов., что потребовало некоторых усилий со стороны интерпретатора, и система позволяла использовать длинные имена файлов с удобочитаемыми описаниями. TENEX также включал справочную систему по распознаванию команд: набирал вопросительный знак (?), распечатывал список возможных совпадающих команд и затем возвращал пользователя в командную строку без вопросительного знака. Автозавершение командной строки и помощь продолжают существовать в современных интерфейсах командной строки, таких как tcsh.

От TENEX к TOPS-20

TENEX стал довольно популярным на небольшом рынке PDP-10, а аппаратное обеспечение внешнего пейджера превратилось в собственный малый бизнес. В начале 1970 года DEC начала работу над модернизацией процессора PDP-10, KI-10. BBN еще раз попыталась заставить DEC поддерживать сложный пейджер с косвенными таблицами страниц, но вместо этого DEC решила использовать гораздо более простую одноуровневую систему отображения страниц. Этот компромисс повлиял на продажи системы; к этому моменту TENEX был самой популярной операционной системой для PDP-10, написанной заказчиком, но она не могла работать на новых, более быстрых KI-10.

Чтобы исправить эту проблему, менеджер по продажам DEC PDP-10 приобрел права на TENEX у BBN и настроил проект для его переноса на новую машину. Примерно в это же время Мерфи тоже перешел из BBN в DEC, помогая в проекте портирования. Большая часть работы была сосредоточена на эмуляции оборудования пейджера BBN в сочетании программного обеспечения и более простого оборудования KI-10. Скорость КИ-10 по сравнению с PDP-6 сделала это возможным. Кроме того, для переноса потребовалось несколько новых драйверов устройств для поддержки новых используемых устройств резервного хранилища.

Как раз перед отправкой нового TENEX, DEC начала работу над KL-10, который должен был стать недорогой версией KI-10. В то время как это происходило, Стэнфордский университет программисты ИИ, многие из них выпускники Массачусетского технологического института, работали над своим собственным проектом по созданию PDP-10, который был в десять раз быстрее, чем исходный KA. -10. Проект превратился в линейку компьютеров Foonly. DEC посетила их, и многие из их идей были воплощены в проекте KL-10. В том же году IBM анонсировала собственную машину с виртуальной памятью, сделав ее стандартным требованием для любого компьютера. В конце концов, KL внесла в систему ряд серьезных изменений, но не стала дешевле. С самого начала новый DECSYSTEM-20 будет запускать версию TENEX в качестве операционной системы по умолчанию.

Функциональные обновления для архитектуры процессора KL-10 были ограничены. Наиболее важной новой функцией (называемой расширенной адресацией) был модифицированный микрокод пейджера, работающий на аппаратной версии Model B, для увеличения виртуального адресного пространства пользователя. Некоторые эффективные вычисления адреса с помощью инструкций, расположенных за пределами исходного 18-битного адресного пространства, выполнялись для 30 значащих битов, хотя поддерживалось только 23-битное виртуальное адресное пространство. Программный код, расположенный в исходном 18-битном адресном пространстве, имел неизменную семантику, для обратной совместимости.

Первым внутренним кодовым именем для операционной системы было VIROS (VIRtual memory Operating System); когда клиенты начали задавать вопросы, название было изменено на SNARK, чтобы DEC могла честно отрицать существование какого-либо проекта под названием VIROS. Когда стало известно имя СНАРК, оно на короткое время изменилось на КРАНС; от этого быстро отказались, когда кто-то возразил, что «krans » означает «погребальный венок» на шведском (хотя это просто означает «венок»; эта часть истории может быть апокрифической).

В конечном итоге DEC выбрала TOPS-20 в качестве названия операционной системы, и именно как TOPS-20 она продавалась. Сообщество хакеров , помня о его происхождении, быстро окрестило его TWENEX (портмоне из «двадцати TENEX»), хотя к этому моменту от исходного кода TENEX осталось очень мало (аналогично к различиям между ATT V7 Unix и BSD ). Сотрудники DEC съежились, когда услышали "TWENEX", но этот термин, тем не менее, прижился (также использовалось письменное сокращение "20x").

TWENEX был успешным и очень популярным; на самом деле, в начале 1980-х был период, когда он руководил такой же пылкой партизанской культурой, как Unix или ITS, но решение DEC отказаться от всех внутренних конкурентов в пользу архитектуры VAX а его VMS OS убила DEC-20 и положила конец короткому периоду популярности TWENEX. DEC пыталась убедить пользователей TOPS-20 перейти на VMS, но вместо этого к концу 1980-х большинство пользователей TOPS-20 перешли на Unix. Группа преданных энтузиастов TOPS-20 продолжала работать над различными проектами по сохранению и расширению TOPS-20, в частности, Mark Crispin и дистрибутивом Panda TOPS-20.

См. Также
Ссылки
Дополнительная литература
Последняя правка сделана 2021-06-09 05:45:56
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте