c o p y r i g h t p r o g r a m m i n g d e s i g n e d by ZORBI
Т р о и ц к г
С с ы л к и
С ч е т ч и к и
..:: Статьи ::..
Вселенная Unix
UNIX - это целый мир. Как и во всяком другом, в нем царит разнообразие -десятки различных лицензий, дистрибутивов и версий. UNIX - это лабиринт. Разобраться в хитросплетении программного обеспечения и операционных систем сложнее, чем найти верный курс посреди океана. Благо морякам помогают навигационные приборы и карты, а юниксоид может рассчитывать только на себя. И на одноименную рубрику. Сегодня мы научимся ориентироваться в различных лицензиях и дистрибутивах, узнаем, откуда взялось все это многообразие, и зачем оно нужно.
Взгляд в прошлое
История UNIX началась в 1969 году с работы Кена Томпсона и Денниса Ритчи на позабытом всеми компьютере PDP-7. Тогда была разработана первая версия ОС UNIX. Она называлась Multics. Этот экспериментальный проект открыл новые перспективы развития в области разработки ОС. Он был своего рода мамонтом - древним и неповоротливым. Поэтому Multics быстро погиб. Уже через год после его создания все те же два сотрудника AT&T Bell Laboratories целенаправленно приступили к разработке новой ОС. Так появилась первая нормальная UNIX.
Но время не стояло на месте - уже через три года судьба преподнесла подарок новорожденной. Денис Ритчи переписал ее на языке С, который он сам и придумал. С этого времени UNIX могла работать на компьютерах различной архитектуры. Первое время она использовалась только внутри Bell Labs, но довольно быстро вышла за ее рамки. Благодаря стабильности, переносимости и открытому коду, UNIX почти сразу стала весьма популярной.
GPL vs. BSD
Начнем мы с самого главного - лицензии. Когда ты покупаешь CD с какой-нибудь ОС и пытаешься ее проинсталлировать, то первое же диалоговое окно будет содержать лицензионное соглашение. Эта ситуация характерна для любого ПО. Ибо лицензия - это документ, регулирующий взаимоотношения между разработчиками и пользователями. Он регламентирует все их права и обязанности. Лицензия - своего рода аналог обычного закона, где государство заменено производителем, а граждане - пользователями. Когда впервые появился UNIX, его основной идеей была переносимость. В то время существовало великое множество всевозможных архитектур, и новая ОС начала быстро распространяться, стала своего рода стандартом. Но добиться переносимости можно лишь одним путем - открытым исходным кодом. Получается, что основной козырь UNIX был бы невозможен без такого привычного для нас open source. Все было бы идеально, если бы UNIX не стал коммерческим продуктом и не имел сторонних разработчиков. Благодаря его открытости, любой программист мог написать свои утилиты под него. Но тогда он должен был предъявить исходники своих новых программ. В таком случае другой человек мог делать с чужими творениями все, что захочет, и выдавать за свое, а первоначальный создатель от этого никак не мог защититься. То есть открытость исходного кода явилась палкой о двух концах: она выгодна пользователям, но не выгодна разработчикам и в то же время является основным козырем UNIX. Таким образом возникла потребность ограничить потребителей и защитить разработчиков. Ведь если этого не сделать, программисты просто перестану развивать ОС в целом, и все снова вернется к первобытному компьютерному строю. Но вакцина на¬шлась - ею явилась лицензия. Первой появилась лицензия GPL (General Pubic License). Точнее будет сказать, что GPL - это не сама лицензия, а целый их вид. Итак, она стала определенным стандартом, объявив следующие принципы: все программы должны поставляться с исходными кодами, все изменения к любым программам также должны распространяться с исходным кодом, каждая программа должна содержать информацию об ее разработчиках. На самом деле принципов и положений в самой лицензии намного больше, но разбирать их все не имеет смысла. Таким образом GPL защитила разработчиков ПО от пользователей и модификации кода. Наиболее известной лицензией этого типа является GNU GPL. Под ней распространяются такие ОС, как UNUX, и такое ПО, как GCC (GNU C++ COMPILER). Однако в современном мире нет ничего идеального. Появившаяся лицензия устраивала далеко не всех, что привело к возникновению еще одного типа лицензий. Он не имеет определенного названия, поэтому мы его будем именовать BSD (так как это самый яркий его представитель). Хотя в этих лицензиях очень много общего, кое-чем они все же отличаются. Основное различие состоит в следующем: лицензия BSD (Berkeley Software Distribution) позволяет модифицировать программу (это легко сделать, имея ее исходник) и распространять свое новшество без предоставления исходного кода. Можно сказать, что GPL по сравнению с BSD - более строгая лицензия (ведь она обязывает предоставлять исходники всегда и везде, то есть ограничивает свободу). Следует отметить, что BSD в силу своей мягкости породила огромное число других лицензий, которые являются почти полными ее копиями с незначительными изменениями. В частности к BSD-типу можно отнести: X10,X11/XFree86,FreeBSD...
Информация к размышлению
Если ты хочешь выбрать себе в качестве ОС что-нибудь из семейства UNIX, то помимо общих данных учти следующий фактор - время появления новых версий. Чем чаще выходят новые версии, тем меньше времени у разработчиков на их тестирование, тем больше вероятность конфликтов и ошибок в security. И вообще - слишком частый выпуск новых релизов указывает на незавершенность всего продукта (ведь он бурно развивается) и его сырость. Если обратиться к статистике, мы увидим, что чаще всего обновляется UNUX (раз в 3-6 месяцев), потом «BSD (раз в 6-12 месяцев), потом Solaris (1-2 года). Выводы делай сам.
ЕСЛИ сравнивать с LINUX, то ОС от SUN выигрывает по надежности и стабильности работы. Это не пустые слова: в 2001 году были проведены тесты, в результате которых Solaris легко обогнала многие современные UNIX-системы и LINUX в том числе. К сожалению, мы не можем опубликовать результаты такого тестирования (по сути, оно является чужой собственностью), но если тебе интересно, напиши мне и я вышлю их тебе. Вообще Solaris очень известна среди корпоративных клиентов и сисдаминов. Первоначально она была выпущена для архитектуры SPARC (Scalable Processor Architecture of RISC Computers - масштабируемая архитектура процессоров RISC-компьютеров), но потом была постепенно портирована и для х86. Так что не только сисопы могут найти, чем поживиться в этом продукте, на месте обычного пользователя я бы тоже обратил на нее внимание. Вот только достать Solaris не так просто...
BSD
Джордан Хаббард (Jordan Hubbard) стал сотрудником Apple в прошлом году. Это, безусловно, положительно повлияет на развитие ОС X BSD. Другая BSD, NetBSD, ставит своей главной задачей повышенную совместимость. NetBSD работает на огромном количестве различных комбинаций процессоров и железа. Пятьдесят таких комбинаций перечислены на главной странице сайта. Последний релиз, версия 1.5.2, работает на 21 платфор¬ме, остальные пока в разработке. NetBSD популярна в основном из-за поддержки огромного числа встроенных устройств, хотя и в остальном она является отличной ОС. Последняя - OpenBSD. Работая на большем числе платформ, чем FreeBSD, и на меньшем, чем NetBSD, OpenBSD ставит своей целью защищенность. Защищенность OpenBSD является прямым следствием использованных в ее разработке методов, которые включают в себя проверку исходного кода ОС на дырки и учет уроков, полученных другими ОС в этой сфере. Разработчики OpenBSD гордятся тем, что за последние 4 года не было найдено ни одной дырки в системе безопасности ОС после default-установки. Это весомый аргумент в пользу любой операционки, которому другие производители могут только позавидовать. Все BSD являются развивающимися проектами. Между ними существует тесное сотрудничество. Одни и те же существенные нововведения используются всеми.
Linux
В 1991 году Линус Торвальдс создал первую неофициальную версию LINUX - 0.01. Конечно, это была неработоспособная ОС, содержащая лишь каркасы ядра и предполагавшая, что ее пользователь сможет сам дописывать нужный код. Да какой там пользователь! Системный программист с 20-лет¬ним опытом работы!
Надо сказать, что на первый вариант LINUX никто особого внимания не обратил. Через некоторое время Линус подготовил версию 0.2. Воистину развитие продвигалось черепашьими шагами. Но если первую версию 0.1 все рассматривали как хакерскую ОС, то версия 0.2 обратила на себя внимание огромного числа программистов. Уже через полтора года, в 1993 году появилась первая официальная версия LINUX. Это стало замечательным событием. Дальнейшее развитие протекало очень бурно: думаю, ты сам знаешь не меньше пяти различных дистрибутивов LINUX (на самом деле их намного больше). Уследить за эволюцией новой ОС почти невозможно - многие дистрибутивы умирали через несколько лет после рождения, некоторые объединялись с другими и создавали новые, еще более мощные, продукты. Однако почти каждый современный LINUX нашел своих пользователей. Я общался со многими линуксоидами в России и за границей, поэтому могу сказать, что популярность какого-либо дистрибутива в РФ, вовсе не говорит о его популярности в западных странах. Например, наши пользователи любят (просто обожают) LINUX Mandrake. Любой же забугорный сисадмин морщится при ее упоминании. Думаю, они относятся к ней так же, как мы к Win95 или даже к MS-DOS. Что же они предпочитают? А любят они LINUX Red Hat и Slackware. Вот это считается нормальной ОС, на которой можно работать. У нас же Red Hat, безусловно, популярен, а вот, что касается Slackware, то тут уж извините. Многие об этой ОС не знают ничего кроме названия. Так что на досуге обрати внимание на последние два дистрибутива. Определенной популярностью пользуются дистрибутивы Samba и ASP, но, конечно, поклонников у них гораздо меньше. Вот список тех дистрибутивов LINUX, которые можно свободно купить в нашей стране: Mandrake, ASP, ALT, Slackware, Red Hat, Suse, Debian, Ros, Caldera, Corel. Думаю, рассказывать о редких экземплярах не имеет смысла - они либо уже мертвы, либо ими мало кто пользуется. Скажу только, что их насчитывается несколько десятков. Вот несколько названий, которые ты вряд ли слышал: AGNULA, Antarctica, Arch, Bambi, Blue, BU, CRUX, Darkstar.
Solaris
Solaris - это ОС от компании Sun Microsystems. Думаю, эта компания знакома тебе по языку JAVA. Что же в ней особенного? Во-первых, это UNIX-система, то есть все, что распространяется под GNU GPL, будет на ней работать (и вполне законно), например, всеми любимый KDE. Во-вторых, эту ОС, в отличие от Линукса, разрабатывает один конкретный производитель. Это дает гарантию отсутствия конфликтов между ПО, поддержку от производителя и общую надежность.
QNX и IRIX
Начнем мы, пожалуй, с IRIX. Слышал о такой? Я, честно говоря, узнал о ней случайно. Когда я впервые познакомился со Страуструпом (создателем языка C++), то спросил его: "Бьерн, я слышал, у тебя есть несколько компьютеров под управлением UNIX. Каше ты предпочитаешь версии и дистрибутивы?" И тут я узнал, что помимо Solaris (о ней мы уже говорили) и LINUX, Бьерн использует IRIX. Нет ничего удивительного в том, что эта ОС популярна лишь в узких кругах. Небольшое исследование показало, что IRIX используется в основном в промышленности. Она имеет "надежную" историю: в качестве базиса эта ОС, так же как и *BSD, взяла UNIX (V6). Она сразу стала коммерческим продуктом и была направлена на удовлетворение "корпоративных" нужд.
IRIX стала первой коммерческой мультизадачной ОС и первая обеспечила поддержку 64-битной архитектуры (она используется в основном для сложных распределенных вычислений и работы со сверхгигантскими СУБД). Так что, если встретишь слово "IRIX', не пугайся, ни пользователям, ни программистам до нее нет никакого дела - ну, конечно, если ты не кодер из AT&T Bell Labs. Теперь о QNX. Эта ОС тоже относится к UNIX-системам, она удовлетворяет стандарту POSIX (стандарт, описывающий основные интерфейсы ОС), так что с ПО подэтуоперационку проблем не возникнет. Интересна история ее создания: канадская компания QNX Software System разрабатывала ОС для правительства США. Естественно в военных целях. Ты знаешь, что, например, в современных джипах установлены мини-компьютеры? В них используется Windows СЕ. А вот для F-19 (истребителя) такая ОС не подходит совсем, ибо ее зависание или любая нестабильность может стоить жизни не только пилоту, но и доброму полумиллиону человек, так как заряды на истребителях не слабые. Вот для таких целей и была создана QNX. Она действительно отличалась очень хорошей производительностью (скоростью), стабильностью и малым размером. А потом возникла простая мысль: "Если ОС идеально подходит для самолета, почему она не подойдет для ПК?" В общем, первая версия QNX имела собственный браузер, свою графическую оболочку и помещалась на одну обычную дискету. При этом могла работать на 486 компьютере с 4 Мб RAM. Был только один минус - запредельная цена. Однако уже через некоторое время QNX Software System выпустила нормальную версию своей системы: увеличился размер дистрибутива, возросли требования к железу, а цена упала. Теперь QNX - это ОС, обросшая своими средствами разработки (Photon Application Builder = (Visual C++) + (Delphi), пользователями и т.п. Для QNX уже начали появляться статьи по системному программированию...
На этом мы, пожалуй, и завершим наш рассказ. Думаю, ты понимаешь, что рассказать историю каждого члена семейства UNIX в рамках одной статьи невозможно. Надеюсь, этот материал поможет тебе лучше ориентироваться во вселенной UNIX, ибо мир не замкнут на продукции исключительно от Microsoft...
Пришло время развеять бытующий миф о существовании еще одного UNIX-клона: BeOS. Я не спорю, BeOS существует, но вот к UNIX он не имеет никакого отношения. Если быть предельно точным, то впервые BeOS был разработан для компьютеров "новой архитектуры". То есть его разработчики создали новую архитектуру ПК и под нее написали ОС. Когда архитектура не прижилась, пришлось портировать BeOS на компьютеры PowerPC и Intel. Вот тут эта ОС и появилась на обычном рынке. Так что не путай божий дар с яичницей.