[daemonix]
3. История ОС UNIX
VAP home logo

История развития UNIX началась в 1969 году в Bell Telephone Laboratories, являвшейся подразделением компании AT&T. Появлению UNIX предшествовала начатая в 1965 году, совместно с General Electric Company и Массачусетским институтом технологий (MIT), разработка новой операционной системы MULTICS (Multiplexed Information and Computing Service - многофункциональный информационный и вычислительный сервис). В работе, со стороны Bell Telephone Laboratories, приняли участие Кен Томпсон и Деннис Ритчи.

Перед разработчиками была поставлена задача создания многозадачной операционной системы разделения времени, которая смогла бы обеспечить одновременную работу нескольких сотен пользователей. Параллельно с работой над MULTICS, команда программистов начала писать компьютерную игру для этой ОС. Работа над MULTICS так и не была завершена, проект был закрыт. Однако разработчики не бросили свою затею с игрой и в 1969 году, в первую очередь ради продолжения работы над ней, на компьютере PDP-7 была написана на языке ассемблера упрощенная версия MULTICS, которая с легкой руки Брайна Кернигана, как бы в шутку над MULTICS, получила название UNICS (Uniplexed Information and Computing Service - одно-функциональный информационный и вычислительный сервис), сокращенное вскоре по звучанию до UNIX.

Проект так бы и был похоронен, если бы для него не нашлось более достойного применения. В 1971 году в Bell Telephone Laboratories понадобилась система для обработки текста здесь-то и была применена UNIX, перенесенная на компьютер PDP-11. Она использовалась для некоторых внутренних телефонных приложений корпорации Bell, для сбора отчетов о неисправностях и контроля за оборудованием и проводкой.

Сложности с переносом кода ОС, написанном на языке ассемблера, который имеет конкретную зависимость от платформы, породили идею о создании платформно-независимого языка программирования. На основе разработанного ранее Кеном Томпсоном языка "B" (Би), Деннис Ритчи создал компилятор языка "C" (Си), в последствии доработанный совместно с Брайном Керниганом и получивший знаменитое название спецификации языка "C" по Кернигану и Ритчи (K&R).

В 1973 году ядро системы было переписано на языке C, а компилятор языка стал одной из стандартных компонент системы, что значительно облегчило перенос системы на другие аппаратные платформы и стало залогом большой популярности UNIX в последующем. Узнать об истории создания ОС UNIX, так сказать из "первых уст", можно из интервью с одним из ее создателей, Кеном Томпсоном - "Unix и не только".

В дальнейшем история развития UNIX стала весьма разнообразной. Начавшаяся с университетов, где первоначально в основном использовалась данная ОС, популярность побудила к созданию различного рода клонов, что хорошо видно на рисунке 1, где красные сплошные линии обозначают последовательности разработки, а прерывистые - влияние оказанное одними системами на другие. Bell Laboratories на протяжении ряда лет поддерживала линию основной версии UNIX, периодически выпуская новые ее редакции вплоть до Version 10. В 1976 году была выпущена Version 6, которая бесплатно распространялась в университетах и послужила, тем самым, основным толчком к росту популярности ОС. На основе этой версии, а так же в последующем Version 7, было построено немало новых систем.


Дерево развития ОС UNIX

Рисунок 1. Дерево развития ОС UNIX.

В 1978 году университетом города Беркли, штат Калифорния, была выпущена операционная система BSD (Berkley Software Distribution) Unix, названная 1BSD, которая была построена на базе кода AT&T, лицензия на который была приобретена у AT&T годом ранее. Эта ОС послужила началом для наиболее длинной, существующей по сей день, ветви развития операционных систем семейства UNIX, называемых BSD системами. С выходом в свет Version 7, на ее основе разрабатывается 3BSD для машин VAX, которая поддерживала виртуальную память и страничное замещение.

В 1980 году, при финансовой поддержке Министерства Обороны США и по их же инициативе, начаты работы по внедрению стека протоколов TCP/IP. Работы завершились в 1981 году выпуском 4.1BSD. Дальнейшее продолжение работы над BSD UNIX велось уже с акцентом на поддержку сетевых технологий. Версия 4.2BSD, выпущенная в 1983 году, уже имела поддержку технологии Ethernet и могла интегрироваться в сеть ARPANET, предтеча сегодняшнего Интернета.

Благодаря столь большим результатам и доступности, 4.2BSD стала наиболее популярной в исследовательских и научных учреждениях. Кроме того, эффективность и функциональность этой системы послужила основой для разработки операционных систем SunOS компании Sun Microsystems и Ultrix, предшественника OSF/1. На базе последующей версии 4.3BSD Reno создаются ОС Net/2 и вслед за ней, с распространением процессоров Intel 80386, BSD/386 и 386BSD. BSD/386 стала основой для существующей сейчас коммерческой ОС BSDI, а 386BSD явилась одной из компонент при создании целого семейства ОС: FreeBSD, NetBSD и OpenBSD.

Кульминационным моментом развития системы стал 1993 год, когда была выпущена версия 4.4BSD. В связи с тем, что BSD содержала код AT&T, а цены на лицензионное использование этого кода неизменно росли, было принято, можно сказать историческое, решение убрать код AT&T, что и было с успехом проделано.

Выпуск Version 7 в 1979 году послужил вторым, после Version 6, толчком к созданию великого множества клонов ОС UNIX. Параллельно с Version 7 Bell Laboratories принимает активное участие в разработке спецификации System III, для чего была создана специальная группа USG (UNIX Support Group - группа поддержки UNIX), одной из задач которой была коммерческая раскрутка UNIX. System III была выпущена в 1982 году и, поскольку эта спецификация была создана для распространения за пределами Bell Laboratories, в отличие от редакций предназначенных для внутреннего использования, послужила основой для создания спецификации System V в 1983 году, которая, в свою очередь оказала большое влияние на развитие современных систем.

Забавно отметить такой факт - популярность Version 7 оказалась настолько высока, что молодая компания Microsoft, едва успев выпустить более-менее рабочую версию своей операционной системы MS DOS 2.0 для компьютеров IBM PC, хватается за разработку собственной версии UNIX - Xenix. При этом делаются рекламные заявления о том, что именно эта ОС является стратегическим курсом компании, поскольку UNIX - будущее операционных систем. Проект сначала был заморожен, потом закрыт, его код в последствии был продан компании Santa Cruz Operation и послужил одной из компонент при разработке ОС SCO Unix.

К 1987 спецификация System V была значительно переработана и обогащена дополнительными возможностями. Выходит версия System V Release 3 (SVR3). Успех SVR3 побудил компанию Sun Microsystems заключить в 1988 соглашение с AT&T о дальнейшем совместном развитии System V. Возникновение альянса двух крупных компаний не могло остаться незамеченным для конкурентов. DEC, IBM и Hewlett-Packard создают альтернативную организацию, получившую название OSF (Open Software Foundation - объединение открытого программного обеспечения), главной целью которой являлась разработка независимой от AT&T и Sun операционной системы. Результатом стал выход операционной системы OSF/1. Вряд ли эта ОС привнесла что-то новое в мир UNIX, это был больше политический шаг, однако ряд коммерческих ОС связывает себя именно с OSF/1.

Ключевым этапом в развитии ветви System V стал 1989 год, год выхода System V Release 4 (SVR4). Важным шагом было решение об объединении возможностей различных UNIX подобных ОС: BSD, SunOS и System V "под одной крышей". Приобретя тем самым новое качество и устранив внутренние противоречия к версии System V Release 4.2, ветвь продолжает доброе существование и по сей день, представляя собой целое облако операционных систем различных производителей.

В 1992 году компания AT&T потеряла интерес к дальнейшей поддержке UNIX систем и успешно перепродала все структуры данного проекта преуспевающей тогда компании Novell. На базе System V Novell разработала собственную систему, получившую название UnixWare. Большого распространения она не получила в силу того, что в то время сама же Novell эффективно торговала другим своим продуктом Novell NetWare и продвижение UnixWare, в первую очередь, означало бы вытеснение NetWare. Так и не доведя дело до сколь-нибудь достойного завершения, Novell решает, в свою очередь, избавится от UnixWare и перепродает его компании Santa Cruz Operation, которая в то время занимала достаточно твердую, пусть и не высокую позицию с собственным продуктом SCO UNIX.

Linux penguin Отдельной, фактически самодостаточной и ни от чего не зависящей ветвью UNIX подобных ОС является Linux. Именно поэтому часто говорят, что Linux это не совсем UNIX. История Linux началась с создания профессором Хельсинского университета Эндрю Танненбаумом программы Minix, демонстрирующей различные возможности UNIX. Студент факультета вычислительной техники того же университета, Линус Торвальдс, решил на ее основе разработать эффективную версию UNIX для платформы IBM PC, которую он назвал Linux. В 1991 году была опубликована версия 0.1. Получив большое распространение в Интернет и доработанная многими энтузиастами эта ОС доросла к 1994 году до версии 1.0, к этому моменту в нее был интегрирован TCP/IP стек, базирующийся на 4.3BSD. Позже ядро операционной системы и ее архитектура были серьезно переработаны поближе к спецификации System V Release 4.2, а так же с целью максимально возможного соответствия стандарту POSIX, что послужило выпуску версии 2.0.

Немаловажно отметить, что разрабатываемая многочисленными энтузиастами по всему миру ОС Linux, не являет собой однородной завершенной системы. Однородным в Linux является только ядро, поскольку поддерживается до сих пор единственным человеком, ее родоначальником, Линусом Торвальдсом. Поэтому версия самой ОС определяется только по версии ее ядра. В связи с высокой разнородностью в среде Linux существует понятие дистрибьюции (distribution), этот термин обозначает подготовку и выпуск неким объединением установочной версии ОС Linux на базе какой-то версии ядра. Сколько существует дистрибьюций Linux, столько существует и различных его вариантов, отличающихся способом установки, конфигурации, структурой организации дерева каталогов, размещением конфигурационных файлов, набором программных компонент и библиотек, коллекцией дополнительных программных пакетов, их названиями, комплектом сопроводительной документации и т.д. Наиболее известными на данном этапе являются следующие дистрибьюции: Debian, RedHat, Slackware. Столь большое количество дистрибьюций системы есть следствие ее большой популярности, которая очень положительно влияет на развитие самой ОС.




ФОБОС: погода в г.Тольятти