В 1965 году фирма Bell Telephone Laboratories,
объединив свои усилия с компанией
General Electric и проектом MAC
Массачусетского технологического
института, приступили к разработке
новой операционной системы,
получившей название Multics [Organick 72].
Перед системой Multics были поставлены
задачи - обеспечить одновременный
доступ к ресурсам ЭВМ большого
количества пользователей,
обеспечить достаточную скорость
вычислений и хранение данных и дать
возможность пользователям в случае
необходимости совместно
использовать данные. Многие
разработчики, впоследствии
принявшие участие в создании
ранних редакций системы UNIX,
участвовали в работе над системой
Multics в фирме Bell Laboratories. Хотя первая
версия системы Multics и была запущена
в 1969 году на ЭВМ GE 645, она не
обеспечивала выполнение главных
вычислительных задач, для решения
которых она предназначалась, и не
было даже ясно, когда цели
разработки будут достигнуты.
Поэтому фирма Bell Laboratories прекратила
свое участие в проекте. По окончании работы над проектом
Multics сотрудники Исследовательского
центра по информатике фирмы Bell
Laboratories остались без "достаточно
интерактивного вычислительного
средства" [Ritchie 84a]. Пытаясь
усовершенствовать среду
программирования, Кен Томпсон,
Дэннис Ричи и другие набросали на
бумаге проект файловой системы,
получивший позднее дальнейшее
развитие в ранней версии файловой
системы UNIX. Томпсоном были написаны
программы, имитирующие поведение
предложенной файловой системы в
режиме подкачки данных по запросу,
им было даже создано простейшее
ядро операционной системы для ЭВМ GE
645. В то же время он написал на
Фортране игровую программу "Space
Travel" ("Космическое
путешествие") для системы GECOS
(Honeywell 635), но программа не смогла
удовлетворить пользователей,
поскольку управлять
"космическим кораблем"
оказалось сложно, кроме того, при
загрузке программа занимала много
места. Позже Томпсон обнаружил
малоиспользуемый компьютер PDP-7,
оснащенный хорошим графическим
дисплеем и имеющий дешевое
машинное время. Создавая программу
"Космическое путешествие" для
PDP-7, Томпсон получил возможность
изучить машину, однако условия
разработки программ потребовали
использования кросс-ассемблера для
трансляции программы на машине с
системой GECOS и использования
перфоленты для ввода в PDP-7. Для того,
чтобы улучшить условия разработки,
Томпсон и Ричи выполнили на PDP-7 свой
проект системы, включивший первую
версию файловой системы UNIX,
подсистему управления процессами и
небольшой набор утилит. В конце
концов, новая система больше не
нуждалась в поддержке со стороны
системы GECOS в качестве операционной
среды разработки и могла
поддерживать себя сама. Новая
система получила название UNIX, по
сходству с Multics его придумал еще
один сотрудник Исследовательского
центра по информатике Брайан
Керниган. Несмотря на то, что эта ранняя
версия системы UNIX уже была
многообещающей, она не могла
реализовать свой потенциал до тех
пор, пока не получила применение в
реальном проекте. Так, для того,
чтобы обеспечить функционирование
системы обработки текстов для
патентного отдела фирмы Bell Laboratories,
в 1971 году система UNIX была
перенесена на ЭВМ PDP-11. Система
отличалась небольшим объемом: 16
Кбайт для системы, 8 Кбайт для
программ пользователей,
обслуживала диск объемом 512 Кбайт и
отводила под каждый файл не более 64
Кбайт. После своего первого успеха
Томпсон собрался было написать для
новой системы транслятор с
Фортрана, но вместо этого занялся
языком Би (B), предшественником
которого явился язык BCPL [Richards 69]. Би
был интерпретируемым языком со
всеми недостатками, присущими
подобным языкам, поэтому Ричи
переделал его в новую
разновидность, получившую название
Си (C) и разрешающую генерировать
машинный код, объявлять типы данных
и определять структуру данных. В 1973
году система была написана заново
на Си, это был шаг, неслыханный для
того времени, но имевший огромный
резонанс среди сторонних
пользователей. Количество машин
фирмы Bell Laboratories, на которых была
инсталлирована система, возросло
до 25, в результате чего была создана
группа по системному сопровождению
UNIX внутри фирмы. В то время корпорация AT&T не
могла заниматься продажей
компьютерных продуктов в связи с
соответствующим соглашением,
подписанным ею с федеральным
правительством в 1956 году, и
распространяла систему UNIX среди
университетов, которым она была
нужна в учебных целях. Следуя букве
соглашения, корпорация AT&T не
рекламировала, не продавала и не
сопровождала систему. Несмотря на
это, популярность системы
устойчиво росла. В 1974 году Томпсон и
Ричи опубликовали статью,
описывающую систему UNIX, в журнале
Communications of the ACM [Thompson 74], что дало еще
один импульс к распространению
системы. К 1977 году количество машин,
на которых функционировала система
UNIX, увеличилось до 500, при чем 125 из
них работали в университетах.
Система UNIX завоевала популярность
среди телефонных компаний,
поскольку обеспечивала хорошие
условия для разработки программ,
обслуживала работу в сети в режиме
диалога и работу в реальном
масштабе времени (с помощью системы
MERT [Lycklama 78a]). Помимо университетов,
лицензии на систему UNIX были
переданы коммерческим
организациям. В 1977 году корпорация
Interactive Systems стала первой
организацией, получившей права на
перепродажу системы UNIX с надбавкой
к цене за дополнительные услуги (*), которые заключались в
адаптации системы к
функционированию в
автоматизированных системах
управления учрежденческой
деятельностью. 1977 год также был
отмечен "переносом" системы UNIX
на машину, отличную от PDP (благодаря
чему стал возможен запуск системы
на другой машине без изменений или
с небольшими изменениями), а именно
на Interdata 8/32. С ростом популярности
микропроцессоров другие компании
стали переносить систему UNIX на
новые машины, однако ее простота и
ясность побудили многих
разработчиков к самостоятельному
развитию системы, в результате чего
было создано несколько вариантов
базисной системы. За период между
1977 и 1982 годом фирма Bell Laboratories
объединила несколько вариантов,
разработанных в корпорации AT&T, в
один, получивший коммерческое
название UNIX версия III. В дальнейшем
фирма Bell Laboratories добавила в версию III
несколько новых особенностей,
назвав новый продукт UNIX версия V (**), и эта версия стала
официально распространяться
корпорацией AT&T с января 1983 года. В
то же время сотрудники
Калифорнийского университета в
Бэркли разработали вариант системы
UNIX, получивший название BSD 4.3 для
машин серии VAX и отличающийся
некоторыми новыми, интересными
особенностями. Основное внимание в
этой книге концентрируется на
описании системы UNIX версии V, однако
время от времени мы будем касаться
и особенностей системы BSD. К началу 1984 года система UNIX была
уже инсталлирована приблизительно
на 100000 машин по всему миру, при чем
на машинах с широким диапазоном
вычислительных возможностей - от
микропроцессоров до больших ЭВМ - и
разных изготовителей. Ни о какой
другой операционной системе нельзя
было бы сказать того же.
Популярность и успех системы UNIX
объяснялись несколькими причинами:
Архитектура машины скрыта от
пользователя, благодаря этому
облегчен процесс написания
программ, работающих на различных
конфигурациях аппаратных средств. Простота и последовательность
вообще отличают систему UNIX и
объясняют большинство из
вышеприведенных доводов в ее
пользу. Хотя операционная система и
большинство команд написаны на Си,
система UNIX поддерживает ряд других
языков, таких как Фортран, Бейсик,
Паскаль, Ада, Кобол, Лисп и Пролог.
Система UNIX может поддерживать
любой язык программирования, для
которого имеется компилятор или
интерпретатор, и обеспечивать
системный интерфейс,
устанавливающий соответствие
между пользовательскими запросами
к операционной системе и набором
запросов, принятых в UNIX. (*)
Организации, получившие права на
перепродажу с надбавкой к цене за
дополнительные услуги, оснащают
вычислительную систему
прикладными программами,
касающимися конкретных областей
применения, стремясь удовлетворить
требования рынка. Такие
организации чаще продают
прикладные программы, нежели
операционные системы, под
управлением которых эти программы
работают. (**) А
что же версия IV? Модификация
внутреннего варианта системы
получила название "версия V".
Предыдущая
глава || Оглавление
|| Следующая глава
1.1 ИСТОРИЯ