.:Публикации:. [www.karlson.ru]


КомпьюТерра # 26-27 (106-107), Июль 13 1995

UNIX: ты помнишь, как все начиналось?
(краткий курс истории ОС UNIX)

Никита Кожекин

UNIX: детство, отрочество, юность (1969-94 гг.)

     Все началось в далеком 1969-м, в компании Bell Technical Labs (BTL), известной ныне под именем AT&T Bell Laboratories Именно здесь в 1965-69 годах при содействии General Electric (GE) и Массачусетского технологического института (MIT) на машинах General Electric 645 разрабатывалась операционная система Multics, или MULTiplexed Information and Computing Service. ОС задумывалась многопользовательской, однако оказалась слишком "тяжелой" для компьютеров того поколения. Похоже, что по тем временам подобный проект вообще был невыполним, и вскоре BTL, осознав тщетность своих усилий, его свернула.

     Между тем в работе над новой ОС участвовало множество известных сегодня программистов - это Кен Томпсон, Деннис Ритчи, Дуг Мак-Илр, Джозеф Осанна, Боб Моррис и другие. Оставшись не у дел, эти люди весело взялись за создание миниатюрной операционной системы, названной Питером Ньюменом - по аналогии с Multics - Unics (UNiplexed Information and Computing Service). Чуть позже Брайан Керниган изменил это название на привычное Unix.

     Удивительно, но, по сути, основная работа была выполнена одним Кеном Томпсоном, у которого на все про всеушел .. месяц. Система, написанная на Ассемблере для машин PDP-7 (DEC), мало напоминала современную ОС с тем же названием, но не будем забывать, что группа программистов-энтузиастов, разрабатывая ее, скорее интеллектуально забавлялась, так сказать, поигрывала умственными мускулами...

     В 1970 году "забавная" ОС была перенесена на более мощную машину PDP 11/20 и внешне стала несколько напоминать свою современную родственницу. Уже работали всем известные команды Is, cp, cat, используемый до сих пор редактор ed и форматер документов roff (ныне "действуют" его преемники groff, или GNU, troff и nroff) Вскоре Unix была переписана, правда, частично, на язык Би (язык, специально разработанный Кеном Томпсоном и Де-ннисом Ритчи для ОС Unix, фактически это упрощенная версия мало популярного BCPL). В общем, к тому времени Unix приобрела все черты вполне самодостаточной мини-"операционки".

     Впрочем, система все еще оставалась далеко не пользовательской, в частности, напрочь отсутствовала документация. Положение было исправлено 3 ноября 1971 года, когда появилось первое издание "Справочника по системе Unix" за авторством все тех же Томпсона и Ритчи. Тогда же, кстати, возникла и команда man, которая в ходу и сейчас, да и формат книжки с тех пор не менялся В 1972-м была разработана еще одна важная составляющая современной ОС Unix- Томпсон и Ритчи создали язык Си, на который год спустя была переписана сама система В те же годы в ОС была добавлена такая неотъемлемая часть, как программные каналы Всего лишь за день виртуоз Томпсон внес в ядро системный вызов pipe, а также изменил shell и утилиты. Итог не заставил себя ждать, в 1974 году Кен Томпсон решился обнародовать свое детище. Легендарная система Unix явилась миру (кстати, уже 15 мая того же памятного года в Штатах собралась первая организация пользователей новой ОС, состоящая из 20 человек).. А вскоре началось пожинание лавров В 1975 году 6-я версия Unix произвела подлинный фурор в компьютерном мире Никем не поддерживаемая (официально) и не распространяемая система, написанная для одной единственной машины PDP 11, была установлена в 33 организациях по всему миру' Скорее всего, это связано с неплохим качеством компьютеров PDP, на которых к тому же практически отсутствовала какая-либо приемлемая "родная" ОС. В 1977 году Unix приобрела черты мобильности и была перенесена на 32-разрядный компьютер Interdata 8/32 (напомню: PDP были 16-разрядными). Так появилась 7-я версия Unix. А уже в 1978-м Unix "переехала" и на другую 32-разрядную машину - это была VAX 11/780.

     Годом раньше в AT&T поняли, что Unix - это всерьез и надолго, и начали борьбу за торговую марку. Тогда же компания AT&T переименовала неофициальную организацию "Society of Unix users" с ее печатным "рупором" "Unix News" соответственно в "Usenix" (от Use Unix) и ".-login:". В 1979 году ОС Unix 32V оказалась в руках Билла Джоя (позже одного из основателей Sun Microsystems) и его коллег из Калифорнийского университета (UCB, "В" - от Беркли, города, в котором находится этот замечательный вуз). Так родилась весьма популярная система BSD Unix, в которую были встроены: поддержка протокола TCP/IP, редактор vi/ ex, системы Паскаль и Лисп, виртуальная память, быстрая файловая система, математический аппарат Maxima, терминальный драйвер и многое другое. Данная ОС оказалась привлекательной даже для Министерства обороны США (DARPA). Тогда же за Unix ухватились многие коммерческие разработчики, и появились SunOs/Solaris (Sun Microsystems), OSF/1 (Open Software Foundation), HP-UX (Hewlett-Packard), AIX (IBM), UnixWare (Unix Systems Laboratories, или USL, а с 1993 года Unix System V -подразделение компании Novell)...

     Вскоре все причастные к Unix оказались перед проблемой унификации, и началась настоящая война стандартов. Именно тогда ОС "обзавелась' нынешней массивностью: стандарты-победители зачастую достигались простым "склеиванием" частей, на что, понятно, уходили все новые и новые килобайты кода и памяти. При этом отцы-разработчики системы оказались вне процесса стандартизации, в результате чего ее компоненты подчас "не узнавали" друг друга.

     Так или иначе, пальма первенства досталась принятым в 1985 году IEEE (Institute of Electrotechnical and Electronics Engineers) стандартам POSIX (Portable operating system interfaces), а именно POSIX. 1 и POBIX.2. Эти стандарты состоят из двух частей: Shell and Utilities (ISO 09945-1 и стандарты языков программирования ISO 09899 - Си, ISO 07185- Паскаль, ISO 01359/07846 - Фортран и ISO 08652 - Ада). В принципе, POSIX'y может удовлетворять некая абстрактная ОС: так, например, Windows NT подходит под оба стандарта (хотя и не в стандартной поставке), что, кстати, позволяет Биллу Гейтсу заявлять о скорейшей замене Unix его детищем.

     В те же годы разработчики осознали необходимость создания графической надстройки Unix (ведь изначально эта ОС была терминальной текстовой системой), что, естественно, привело к изобилию продуктов подобного рода. Абсолютным победителем вышел проект Х Window System, запущенный в МГГ в 1984 году. Впрочем, вскоре и у него появились свои надстройки - OSF Motif, или Open Software Foundation (сегодня это самая распространенная программа, но так как она является коммерческой, то "группа товарищей" решила разработать ей замену - LESStif; последняя уже доступна для Alpha-тестирования), и Орел Look (например, версия Sun Microsystems). Тогда же был создан и Х Toolkit Intrinsics -популярный пакет разработчика приложений для Х Window, ставший абсолютным стандартом. Немного погодя миру был явлен и объектно-ориентированный язык программирования C++, первое классическое издание Страуструпа о котором вышло в 1986 году.

UNIX сегодня и завтра

     До наших дней Unix добралась в двух принципиально разных ипостасях. Unix номер 1 - это многочисленные коммерческие реализации ОС, используемые в основном на рабочих станциях, стоящих в коммерческих структурах и университетах. Кроме того, Unix традиционно применяется там, где требуется повышенная защищенность данных. Многие разработки этой ОС удовлетворяют различным степеням безопасности из так называемой "желтой книги' - стандарта TSEC (Trusted Computer System Criteria). Например, SCO Unix 3.2.2 фирмы Santa Cruz Operation обеспечивает класс С2 секретности, a Unix SVR4ES фирмы USL удовлетворяет классу В2 (недаром Unix применяют даже в Министерстве обороны США!).

     Unix номер 2 - это различные свободно распространяемые реализации ОС, отвечающие истинной культуре Unix's. Их пишут пользователи, которые не имеют денег на покупку коммерческих версий ОС, являющихся зачастую красочно упакованным ширпотребом. Вот примеры подобных систем: FreeBSD, NetBSDnUnux. Первые ОС-это наследники BSD (к сожалению, первоначальная группа разработчиков CSRG распалась в 1992 году, и сейчас популярностью пользуются два продукта: 386BSD, который свободно распространяется по Internet и развивается главным образом благодаря энтузиазму Уильяма и Линна Джолиц, и BSD/ 386 - коммерческая разработка от фирмы BSDI, или Berkley System Design International), Unux же на сегодня считается самой "живой" и быстро набирающей поклонников системой . Кто не помнит Unix-подобную ОС Minix! А ведь именно она использовалась профессором Линусом Торвальдсом из Хельсинского университета при создании Unux. Причем Unux стала частью проекта Free Software Foundation (FSF) GNU (GNU'S not Unix) и позволила собрать полную ОС Unix еще до выхода ОС Hurd (микроядерная ОС Unix). Кстати, основатель FSF, известный программист Ричард Столман приглашает добровольцев принять участие в проекте GNU. Контакт - по электронной почте gnu@gnu.ai.mit.edu (к слову сказать, в рамках этого проекта уже создан расширяемый редактор Emacs, оптимизирующий компилятор С, C++ и Objective С - GCC, оптимизирующие компиляторы с языков Pascal, Modula-2 и ADA - GPC, GMC и GAC, отладчик программ на С, C++, Objective С, Modula-2 и Fortran - GDB, а также MIT-реализация системы XWindow - Х11; все эти продукты сейчас очень популярны; поcмотрим, ждет ли такой успех и ОС Hurd?).

     Самыми крупными ассоциациями пользователей ОС U считаются Usenix, UniForum и EurOpen (Европейская opi низация открытых систем). В последнюю входят: четы организации-спонсора (из Великобритании, Гермат Швеции и Нидерландов), восемь организаций-полных членов и 11 организаций-"юниорских" членов (в этом списке и SUUG - Российская ассоциация пользователей ОС Unix.

     Совершенствуется ли сейчас Unix? В каких направлениях идет это развитие? С самого рождения ОС структура ее яд практически не изменялась. Первая попытка перехода микроядерную архитектуру была сделана в ядре Mach, являющемся совместной разработкой института Карнеги-Мелона и Chorus (Франция). Это ядро стало очень популярным послужило основой для целого ряда систем, в том числе д таких ОС нового поколения, как Hurd (GNU) и NeXT St (NeXT). Да и упомянутая выше ОС Unux постепенно развив ется в том же направлении. Еще одно русло модернизац! Unix - это создание сильно распределенных систем. Таков например, MOSIX (Multicomputer Operating System for unD разработанная Амноном Бараком из Еврейского университе (Израиль, Иерусалим). Именно в этой ОС впервые была ре, лизована идея "переползания" процессов по процессам целях распределения нагрузки на серверы. Сейчас эта и находка используется в популярной коммерческой ОС Digit Unix фирмы Digital Equipment...

     Вот так развивалась операционная система Unix, коте рая на своем в общем-то счастливом пути приобрела миллионы поклонников, став идеальной средой для разработки заказных приложений. Ну, а что в России? Бурные времена перестройки, которые сопровождались по-русски стихийной персонализацией и рождением новых кумиров привели к тому, что предпочтение (зачастую на уровне подсознания, а не трезвого расчета) было отдано MS-DOS и MS-Windows, а о Unix попросту забыли (как говорится, не знали, да забыли).

     Благо, нынче на дворе плюрализм (помните такое слово?) и число пользователей этой ОС медленно, но верно растет. Появилось и отечественное ПО под Unix. Так что (как, бишь, там в рекламке?)... А! Вспомнил! Присоединяйтесь!

UNIX- зарегистрированная в США и других странах торговая марка UNIX System Laboratories; AIX - зарегистрированная торговая марка International Business Mashines Corporation; Sun, Sun OS и Solaris - зарегистрированные торговые марки Sun Microsystems; OSF и MOTIF- зарегистрированные торговые марки Open Software Foundation; HP-UX- зарегистрированная торговая марка Hewlett-Packard; UnixWare - зарегистрированная торговая мар-ка Novell; Digital Unix - зарегистрированная торговая марка Digital Equipment Corporation; MS-DOS и MS-Windows - зарегистрированные торговые марки Microsoft Corporation.

...домик на крыше...,поиск,гостевая книга,cv. Be free, use Linux!