Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

ТЕНЕКС была операционная системой , разработанная в 1969 годе BBN для PDP-10 , который впоследствии лег в основе Digital Equipment Corporation «с TOPS-20 операционной системы.

Фон [ править ]

В 1960-х годах BBN участвовала в ряде проектов искусственного интеллекта на основе LISP для DARPA , многие из которых имели очень большие (для той эпохи) потребности в памяти. Одним из решений этой проблемы было добавление программного обеспечения подкачки к языку LISP , позволяющего записывать неиспользуемые части памяти на диск для последующего вызова, если это необходимо. Одна такая система была разработана для PDP-1 в MIT по Даниэль Мерфи , прежде чем он присоединился к 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 не сильно заинтересовался. Однако одним из этапов этих переговоров была поддержка второго сегмента виртуальной памяти, что позволило отображать половину адресного пространства пользователя в отдельную (потенциально доступную только для чтения) область физической памяти. Кроме того, DEC твердо придерживалась минимально возможной стоимости машины, например, поддерживая простые системы с ядром не менее 16 тыс. Слов и исключая опцию быстрого регистрации полупроводников (замена ядра) за счет значительное снижение производительности.

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 использует DIRECTORY (OF FILES). " DIRECTORY" было командным словом " (OF FILES)" было добавлено шума, чтобы прояснить цель команды. Чтобы избавить пользователей от необходимости вводить эти длинные команды, TENEX использовал систему завершения команд, которая понимала однозначно сокращенные командные слова и расширяла частичные командные слова до полных слов или фраз. Например, пользователь мог ввестиDIRи клавишу выхода, после чего TENEX заменит DIRполную команду. Функция завершения также работала с именами файлов, что потребовало некоторых усилий со стороны интерпретатора, а система позволяла использовать длинные имена файлов с понятными для человека описаниями. TENEX также включал справочную систему по распознаванию команд : набирал вопросительный знак ( ?), распечатывал список возможных совпадающих команд и затем возвращал пользователя в командную строку с удаленным вопросительным знаком. Автозавершение командной строки и справка продолжаются в текущих интерфейсах командной строки, таких как tcsh .

От TENEX к TOPS-20 [ править ]

Техас стал довольно популярным на рынке небольших 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 (операционная система виртуальной памяти); когда клиенты начали задавать вопросы, название было изменено на SNARK, чтобы DEC могла честно отрицать существование какого-либо проекта под названием VIROS. Когда стало известно имя СНАРК, его на короткое время поменяли на КРАНС; от этого быстро отказались, когда кто-то возразил, что « krans » означает «похоронный венок» на шведском языке (хотя это просто означает «венок»; эта часть истории может быть апокрифической).

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

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 ", которая находится в общественном достоянии .
  1. ^ "TWENEX" .

Дальнейшее чтение [ править ]

  • Дэниел Г. Боброу , Джерри Д. Берчфил, Дэниел Л. Мерфи , Рэймонд С. Томлинсон , « TENEX, система распределения времени по страницам для PDP-10 », Коммуникации ACM , Vol. 15, страницы 135–143, март 1972 г.