О блоге

Все новые материалы размещаются на Блогосайте alv.me. Старые - в процессе переноса.

28.07.2008

Берклиада: из прошлого BSD-систем

6 сентября 2005 г


Древнее золото редко блестит,
Древний клинок - ярый.
Выйдет на битву король-следопыт:
Зрелый - не значит старый.

Дж.Р.Р.Толкиен, Властелин Колец
(перевод А.Кистяковского)

От автора: в этой статье объединены все материалы по истории FreeBSD и родственных ей систем, ранее входившие в мою книгу и отдельные заметки, а также все прочие собранные мной сведения по этому вопросу. Буду весьма признателен за любые дополнения, уточнения, исправления, а также личные воспоминания об истории BSD-систем вообще и их бытованию на Руси, в частности. Обсуждение - здесь.

Думаю, не ошибусь, если скажу, что популярность Linux в изрядной мере обусловлена романтической историей его возникновения, напоминающей рождественскую сказку (для взрослых) о бедном студенте. Историей, к тому же, широко растиражированной не только компьютерной, но и, так сказать, общенародной прессой. История создания FreeBSD такой известности не получила. Однако она не менее интересна и, как мне кажется, гораздо более драматична.

Формально возникновение FreeBSD относится к 1993 г. - к этому времени Linux существовал уже около двух лет. Однако на самом деле история FreeBSD уходит в седую, по компьютерным меркам, древность.

Мне не довелось быть ее свидетелем - в те времена почти былинные высшим достижением компьютерной мысли для меня был даже не калькулятор, а "железный феликс" на пару с логарифмической линейкой. И потому рассказать ее могу, только основываясь на литературных источниках - как я их понимаю. Исчерпывающий же их список (для русскоязычных, разумеется, данных) можно найти в главе о дополнительных источниках информации, завершающем эту книгу.

Начнем по порядку - не так давно, 1 января 2000 г., все прогрессивное человечество широко отметило (в узком кругу) 30-летний юбилей системы Unix. Не то, что бы она была создана именно в этот день - просто Unix-машины во всем мире отсчитывают свое системное время с 1970.01.01 (в американском формате дат). А так как корни FreeBSD восходят к первым версиям Unix, эту же дату можно считать началом и ее праистории.

Что касается Unix - эта операционная система создавалась в конце 60-х - начале 70 гг. прошлого века группой товарищей из Bell Labs (подразделения могучей корпорации AT&T) на аппаратуре, подлежащей списанию в утиль. И, насколько можно судить по источникам - на голом энтузиазме, без особой поддержки дорогих руководителей.

Прошу прощения, но в предыстории FreeBSD я по возможности воздержусь от перечисления имен. Конечно, мир информационных технологий должен знать своих героев. Но он их и так знает - в частности, благодаря исчерпывающему очерку истории Linux (и Unix), опубликованном Виктором Костроминым (/open_source/linux_hist/). Кроме того, с одной стороны, Unix и все ее производные - плод труда такого количества людей, что для перечисления их имен не хватит и объема "Капитала". С другой же - многие из этих имен оказались столь известными, что перечислять их здесь кажется неуместным - это будет выглядеть так, будто я, подобно Фурманову, к чужой славе примазываюсь...

На дальнейшую судьбу Unix огромное влияние оказали юридические коллизии текущего момента. Незадолго до создания этой системы корпорация AT&T подверглась антимонопольному преследованию (подобно Microsoft в недавгее время), в результате чего претерпела поражение в правах - на деятельность ее был наложен ряд ограничений. В частности, насколько я понимаю (я не силен в отечественной юриспруденции, а уж в американской - тем более), она не имела права торговать программными продуктами, в число коих попадала и новорожденная Unix.

Однако не пропадать же добру, созданному как бы и само собой, но - на проприетарном оборудовании. И юридический владелец Unix (тогда еще никто и не предполагал, что слово это станет торговой маркой, за право использования которой придется платить деньги), начиная с 1974 г., стал передавать исходные ее тексты в университеты - "в образовательных целях", как задумчиво пишут в источниках.

Это не было свободным распространением в смысле GNU или Open Source, хотя система (вернее, в то время - не более, чем ее прототип) и передавалась в исходных текстах с правом их изучения, модификации, доработки и прочего потрошения. Однако, во-первых, это требовало обладания лицензией на исходный код Unix, которая передавалась AT&T вместе с таковым, но - за деньги. Хотя, как пишут, и символические - уж не знаю, сколько это составляло по американским масштабам середины 70-х.

А во-вторых, и это - главное, условия лицензии не допускали дальнейшего свободного распространения ни системы целиком, ни отдельных ее компонентов, содержащих исходный код Unix. Что, собственно, и создало сюжет. Точнее, заложило основу дальнейшей детективно-технологической интриги.

Однако до юридических коллизий было еще далеко. А пока университеты с радостью приобщались к новой операционной системе, в которой были реализованы все передовые идеи того времени. И к тому же в принципе способной функционировать практически на всем спектре тогдашнего оборудования. Напомню, что речь идет о середине 70-х годов прошлого века - Стив Джобс еще не помышлял о продаже калькулятора и использовал родительский гараж по прямому назначению, а Билл Гейтс не освободил мир своим MS DOS'ом от засилья CP/M.

Итак, предысторию FreeBSD можно исчислять примерно с 1974 г., когда исходные тексты Unix попали, в частности, и в Университет Беркли (штат Калифорния) - учреждение, известное всем, интересовавшимся историей т.н. точных наук, давшее миру не одно поколение достойнейших их представителей. Именно сюда Unix "вписался с точностью патрона, досланного в патронник" (Олег Куваев). И здесь с лихвой выполнил свои "научно-образовательные цели"...

В Беркли, в условиях открытого общения профессиональных специалистов в области Computer Sciences, система Unix медленно, но верно превращалась именно в то, чем она стала ныне. И в значительной мере - именно усилиями трудящихся из университета, объединенных в Computer System Research Group (CSRG), финансировавшуюся в сугубо мирных целях, как не трудно догадаться, Министерством обороны США. Достаточно сказать, что такие неотъемлемые составляющие любой Unix-системы, как протокол TCP/IP, система виртуальной памяти, концепция сокетов и многое другое, ведут свою родословную непосредственно из Беркли.

Группа CSRG, начиная с 1976 г., распространяла свои достижения на магнитных лентах под названием Berkely Software Distribution, что и дало в дальнейшем имя BSD-системам. Это первичное понимание аббревиатуры BSD, которое не следует путать с Berkeley Software Development (или Berkeley Software Design, мне попадались обе расшифровки этой аббревиатуры) - фирмой, выпускавшей до недавнего времени BSDi, коммерческий клон BSD-систем.

Конечно, система Unix развивалась не только в Беркли. Во второй половине 70-х годов появилось немало ее клонов, оказавших то или иное влияние на систему. Однако они отмирали, сливались, перекрещивались, и имена их ныне помнят только очевидцы событий и особо интересующиеся вопросом. А в результате к году 1978-му реальностью стало существование двух линий развития Unix: System III/V и BSD Unix.

Первая линия, немало позаимствовав из Берклианских достижений (если не в плане кода, то в идейном смысле ), носила сугубо проприетарный характер. Именно она легла в основу большинства современных (то есть ныне здравствующих и развивающихся) коммерческих Unix-систем, таких, как HP-UX, AIX, Solaris.

Линия же BSD Unix дописывалась, доделывалась и переделывалась по преимуществу все на той же Берклианской почве на протяжении более чем десятилетия. В 80-х гг. последовательно появлялись ветви 1BSD, 2BSD, 3BSD, дававшие, в свою очередь, боковые побеги, в том числе и коммерческие (SunOS, например, или A/UX - уже встарь были попытки приобщения Macintosh'а к миру Unix, вылившиеся ныне в MacOS X). Однако наиболее славная судьба была уготовлена ветви 4BSD, особенно последней ее версии, 4.4BSD - уже прямому прародителю FreeBSD.

В итоге к рубежу 90-х годов выяснилось, что исходного (проприетарного) Unix-кода в составе берклианских Unix'ов осталось не так уж и много. И родилась идея создания полностью открытой операционной системы, распространяемой свободно и в исходных текстах. К этому же времени прекратилось (не иначе как вследствие распада мировой системы социализма) финансирование группы CSRG, и она столь же благополучно распалась - все в жизни имеет свою оборотную сторону, даже крах коммунистической идеологии. Но дело ее не пропало. Его подхватили, расширили, укрепили и закалили в боях многие из бывших членов CSRG.

Поскольку здесь начинается уже собственно история FreeBSD, пора вспомнить и о персоналиях. Именно созданием общедоступной Unix-системы, причем - на общедоступной же платформе, сиречь Intel-x86, озаботились Вильям и Линна Джолитц. Базируясь на одном из побегов ветви 3BSD - BSD Net/2, они дописали недостающие компоненты и создали 386BSD - первую BSD-систему, претендовавшую на звание открытой в собственном смысле слова. И, насколько я понимаю, первый берклианский побег, портированный на PC (IBM-совместимые компьютеры, как их тогда еще задумчиво называли).

По словам очевидцев, система эта не была еще вполне готовой к употреблению. Однако она активно исправлялась и улучшалась весьма широким кругом разработчиков, благодаря чему возник институт patchkit'а - корректирующего набора, позволяющего превратить 386BSD в работоспособную операционку.

Поддержание такого комплекта заплат, судя по всему, оказалось задачей хлопотной и не очень благодарной. Вероятно, именно по этому основоположник 386BSD, Билл Джолитц, к началу 1993 г. "находился в состоянии полного пренебрежения к ней" (здесь и далее - свидетельствует очевидец и активный участник событий, Джордан Хаббард, см. проект перевода Русской документации FreeBSD - http://www.freebsd.org.ua).

Однако и в дальнейшем история развивалась, да простят меня читающие это дамы, почти по товарищу Ленину и "Трем поколениям". Впрочем, можно уподобить ее и истории возвращения в мир Кольца Всевластья - в ней столько же неслучайных совпадений, приведших, после многих бед и мытарств, к благоприятному исходу (хотя до того, последнего и настоящего, исхода истории FreeBSD, надеюсь, еще очень и очень далеко).

В том же 1993 г. три (опять же) последних координатора "Заплаточного проекта" - упомянутый выше Джордан Хаббард, Нейт Вильямс и Род Граймс, - решили "привести промежуточный снэпшот 386BSD в порядок, исправив множество проблем, которые механизм patchkit не мог решить". Это предполагалось сделать "путем предоставления промежуточных 'очистных' снэпшотов". Однако планы тройки по борьбе с заплатами "были невежливо оборваны, когда Билл (Джолитц - А.Ф.) внезапно решил забрать его (вероятно, свои - А.Ф.) санкции у проекта без любых ясных комментариев, что должно быть сделано вместо этого."

Однако и это не очень повредило делу. К проекту присоединились Джулиан Элишер и Дэвид Гринмен. Именно последнему принадлежит заслуга изобретения имени нового проекта - FreeBSD и приобретения на него права собственности.

Вахта же Хаббарда выразилась в том, что он "связался с Walnut Creek CDROM с мыслью о путях последующего улучшения каналов распространения FreeBSD для множества невезучих без доступа к Internet. Walnut Creek CDROM не только поддержал идею распространения FreeBSD на CD, но также пошел далеко вперед и предоставил проекту компьютер для работы и быстрый доступ к Internet. Без почти беспрецедентной веры Walnut Creek CDROM, в то время полностью неизвестный проект (видимо в проект FreeBSD - А.Ф.), вряд ли FreeBSD зашел далеко и так быстро, как сегодня."

Не могу удержаться от комментария: странные все же бывают компании в этом бездушном и бездуховном мире чистогана, где все покупается и все продается... Вспомним, что примерно в те же годы Walnut Creek приложила руку и к распространению одного из первых дистрибутивов Linux - Slackware Патрика Фолькердинга. Не знаю, сколько уж чистогану они на этом нахапали - в додефолтные времена Walnut Creek'овские Slackware и FreeBSD продавались у нас (в Москве - компаниями "Медаихауз" и "Электротех Мультимедиа") по цене, посильной даже научному сотруднику с получки. Как память о тех временах, у меня по сию пору хранится Slackware 3.2 в фирменном исполнении Walnut Creek - бокс о четырех дисках, даже с печатным буклетом-руководством.

Однако вернемся к нашей истории. В декабре 1993 г. совместные усилия проекта FreeBSD и Walnut Creek обрели зримое воплощение в виде FreeBSD 1.0, распространявшейся как с ftp-серверов (вспомним - тогда это был почти единственный способ получения софта, за исключением коммерческого "коробочного"), так и на CD. Успех был закреплен выходом релиза 1.1 в мае 1994.

Ветка FreeBSD 1.x базировалась все на той же Net/2, что и произведение Джолитца, из которого она включила многочисленные дополнения. Кроме того, существенным компонентом ее стали утилиты и приложения проекта GNU. Все это были открытые и свободные разработки. Однако исходная лента Net/2 изначально содержала некоторое количество проприетарного Unix-кода. По словам знатоков, его было немного, но это были именно критически важные фрагменты, превращавшие Берклианские разработки в цельную работоспособную систему.

Следует заметить, что на основе 4BSD в это же время развивалось еще два проекта BSD/OS и NetBSD. Первый имел как бы коммерческий статус и со временем воплотился в BSDI - Unix-подобную систему, распространяемую за деньги, но с исходными текстами (последние - за отдельную мзду). Система эта за последние два года была перепродана дважды - сначала все той же Walnut Creek, затем - Wind River, и судьба ее остается неясной. Впрочем, для нас она вряд ли представляет практический интерес - распространенность ее на Руси, вероятно, близка к нулю.

Проект NetBSD зародился даже несколько раньше, чем FreeBSD (первый ее выпуск, 0.8, датируется апрелем 1993 г.), и также имел целью реализовать полностью открытый и свободный вариант Unix. В отличие от FreeBSD - с упором на максимально возможную мультиплатформенность: ныне трудно поверить, что в начале 90-х это дело казалось очень актуальным, и ему предрекали успех.

Правда, именно тогда в PC Magazin появилась статья (к сожалению, не помню автора) под зловещим названием: "Через 10 лет все платформы, кроме IBM PC, уйдут в небытие". Десяти лет еще не прошло, но к тому дело идет семимильными шагами - если говорить о платформах настольных. Соответственно, и популярность NetBSD оказалась весьма скромной. Правда, она дала побег - OpenBSD, в которой мультиплатформенность надстроена ориентацией на максимальную безопасность.

И вот тут-то господа правообладатели на исходный код и торговую марку Unix, чуя наживу, и напомнили разработчикам из Беркли о своих правах. А права эти приобрела у AT&T фирма Novell. В тот момент эта компания была, подобно сиятельному Камильбеку из "Повести о Ходже Насреддине", одержима хватательным рвением: среди ее приобретений того времени были и лучший текстовый процессор всех времен и народов (без иронии!) - WordPerfect, и DR DOS с ее базировавшимся на GEM графическим интерфейсом. Да-да, Windows - далеко не первая графическая оболочка над DOS, в те годы с ней успешно тягались, помимо GEM, и DeskView, и Geoworks; иных уж нет, а те далече...

Начался "вяло-текущий судебный процесс о легальности версии Net/2 из Беркли". В результате юридического сутяжничества из системы, лежащей в основе FreeBSD, были изъяты все следы частнособственнического кода - а, повторяю, речь шла именно о критически важных фрагментах. Гильотинированная версия получила имя 4.4BSD-Lite, и всем претендентам на BSD-наследие было рекомендовано в добровольно-принудительном порядке перейти на ее использование. Правда, из врожденного американского гуманизма в рамках проекта FreeBSD было разрешено выпустить еще одну Net/2-based версию - ею стала 1.1.5.1, последняя ласточка в ветке 1.x...

Интересно, что, благодаря усилиям энтузиастов (и, вопреки поползновениям проприетарщиков), и 386BSD, и 4.4BSD-Lite ныне доступны - на сайте (также, как и старые версии FreeBSD). А вот кто помнит о одновременных им версиях собственно Unix?

Однако в тот момент катастрофа проекта казалась неизбежной - легким движением руки цельная и работоспособная система превратилась в симпатичнейшего уродца, которого можно было только "приласкать, обогреть". Но - "приключения никогда не кончаются". И снова - слово Джордану:

"Тогда FreeBSD приступил к сложной задаче - буквально полному изобретению себя из абсолютно новой и довольно неполной системы 4.4BSD-Lite. "Lite" был в прямом смысле light потому, что из него удалили большие куски кода, необходимого для создания реально загружающейся системы... и фактически порт 4.4BSD для платформы Intel был очень неполным".

Реинкарнация недостающих фрагментов заняла около года. И в итоге первая версия FreeBSD - 2.0, несмотря "на множество недотесаных углов", снискавшая значительный успех, а главное - к лицензионной чистоте которой не смог бы придраться ни один сутяга, вышла в декабре 1994 г. Именно она положила начало традиции, не прерывающейся и поныне. Традиции, сразу же (в июне 1994 г.) же продолженной в более устойчивой и простой для установки FreeBSD версии 2.0.5.

А дальше - дальше была плавная эволюция. Примерно два-три раза в год выпускается новая версия системы (2.1.x, затем - 2.2.x), она обрастает приложениями и утилитами (значительная часть которых происходит из проекта GNU и Фонда свободного программного обеспечения), совершенствуется ядро, улучшается (как это ни странно для чисто американской по происхождению системы) интернациональная поддержка.

В ноябре 1996 г. происходит событие, определившее структуру разработки FreeBSD до сегодняшнего дня: ветка 2.x.x была выведена из активной разработки, получив имя STABLE. Отныне, вплоть до последнего релиза (2.2.8 в ноябре 1998 г.), в ней лишь исправляются ошибки и вносятся мелкие безопасные изменения. А все долговременные и принципиально новые разработки концентрируются в версии 3.0-CURRENT. Каковая претворяется в STABLE в октябре 1998 г.

С этого времени и поныне единовременно развивается две ветки FreeBSD - STABLE, предназначенная для широкого применения, и CURRENT, ориентированная главным образом на разработчиков и энтузиастов. Так, в январе 1999 г. обособляется ветка 4.0-CURRENT, обретшая статус стабильной в марте 2000 г. Одновременно происходит очередное ветвление - появляется 5.0-CURRENT, воплощающая перспективы FreeBSD. Которая, в нарушение описанной закономерности, довольно долго (вплоть до версии 5.3), не именовалась стабильной. Да, собственно, до состояния таковой не дошедшая и по сей день: видимо, настоящей STABLE станет только ветка 6, которая во время сочинения этих строк проходит стадию бета-тестирования.

Выход в свет 5-й ветки FreeBSD был, пожалуй, самым революционным событием со времен ее появления как самостоятельной операционной системы. Именно в ней, начиная самой первой пререлизной версии, предназначенной для разработчиков (июнь 2002 года), был заложен тот потенциал, который обусловил ее применимость в качестве настольной операционки для конечного пользователя. Это и последовательно модульный подход, позволяющий обходиться без пересборки ядра для поддержки важных для пользователя особенностей, и файловая система устройств, облегчающая работу с устройствами "горячего подключения" (такими, как USB-накопители, сканеры, цифровые камеры), и эффективная работа с ATA RAID (а в дальнейшем и с винчестерами Serial ATA), и многое другое.

Шестая ветка FreeBSD не была столь богата инновациями. Хотя многие из них оказались очень важны для конечного пользователя. Среди них - поддержка высоких разрешений в т.н. графической консоли, обратно портированная из DragonFlyBSD (о которой речь пойдет чуть ниже), возможность работы с популярными файловыми системами Linux - ReiserFS и XFS (правда, в режиме "только для чтения"). Наконец, уже ранние бета-версии 6-й ветки демонстрируют значительное повышение быстродействия, особенно - операций с файлами. Ведь не секрет, что за новшества 5-й ветки пришлось расплачиваться снижением скорости работы по сравнению с 4-й, в ряде случаев - весьма существенным.

В отличие от Linux, FreeBSD не сегментировалась на множество дистрибутивов. Хотя и она дала несколько боковых побегов. Одним из них была PicoBSD (http://people.freebsd.org/~picobsd/picobsd.html), основанная на FreeBSD 3-й ветки. Это - система на одной (без преуменьшения, объем дистрибутива - ровно 1474560 байт) дискете. Тем не менее, она вполне функциональна: имеются варианты сетевой и DialUp-рабочей станции, сетевого роутера и даже DialUp-сервера.

Далее, существовало (и частично существует по сей день) несколько проектов создания LiveCD на основе FreeBSD: FreeBSD LiveCD на базе одной из версий 4-й ветки (http://livecd.sourceforge.net/), LiveBSD (http://www.livebsd.com/) и FreeSBIE (http://www.freesbie.org/), Все они по разным причнам прекратили свое развитие. Активно поддерживается ныне лишь Frenzy (http://frenzy.org.ua/) - специализированный LiveCD для администратора, разрабатываемый на Украине.

Однако завершим историю. На вторую половину 90-х гг. выпадает взрывообразное развитие Интернета. И FreeBSD, изначально на него ориентированная, начинает победное шествие по web-серверам всего мира. В том числе - и России. Существуют количественно различные оценки относительного веса различных ОС в Интернет-службах. Однако качественно они сходятся в одном - преобладании в этой сфере FreeBSD-серверов. Преобладании не только над NT и проприетарными Unix-системами, но и над столь же открытым и свободным Linux.

А вот о настольных применениях этого до сих пор сказать нельзя. Если Linux мало-помалу пробивает дорогу на пользовательские десктопы, то FreeBSD, похоже, к этому и не стремилась - по крайней мере, до недавнего времени. Статистика заходов на сайты, тематически связанные с Unix и Open Sources, показывает, что доля FreeBSD среди клиентских машин составляет менее полупроцента.

Попыткой изменить сложившееся положение был недавний (весна 2005 г.) выход PC-BSD - как легко догадаться из названия, варианта BSD для персонального использования (http://www.pcbsd.org). Представляя собой дальнейшее развитие упомянутой выше FreeSBIE, она базируется на FreeBSD 5-й ветки, снабжена красивым (и удобным) графическим инсталлятором, позволяющим в считанные минуты развернуть полноценную рабочую станцию с KDE и его приложениями, в том числе графическими и мультимедийными, а также собственным менеджером пакетов.

Попытка создания "юзерофильного" варианта FreeBSD не осталась одинокой: считанные месяцы спустя (лето 2005 г.) аналогичный по сути, не несколько иначе реализованный проект был объявлен под именем DesktopBSD (http://desktopbsd.sourceforge.net/). О его сравнительных достоинствах, недостатках и вообще особенностях говорить пока рано; надеюсь, что ко времени, когда выбудете читать эти строки, ситуация проснится.

Следует подчеркнуть, что ни PC-BSD, ни DesktopBSD не являются отдельными дистрибутивами в том понимании, в каком этот термин применяется к разновидностям Linux. И тем более это - не самостоятельные системы, поскольку и та, и другая после установки превращаются в самую обычную (и полноценную) FreeBSD. Точнее, это - именно дистрибутивы в буквальном смысле слова, то есть способы распространения операционной системы FreeBSD, адаптированные для конечного "десктопного" пользователя.

В сущности, и PC-BSD, и DesktopBSD отличаются от своей материнской системы только инсталляторами. Если для FreeBSD в качестве такового на протяжении многих лет применяется текстовая (псевдографическая) программа sysinstall, то в основу установщиков ее "юзерофильных" разновидностей лег BSD Installer.

Это - совершенно самостоятельный проект (http://www.bsdinstaller.org), цель которого, как нетрудно понять из названия, = разработка универсального установщика для любых BSD-систем. Отличительная его особенность - в том, что собственно низкоуровневая его часть может быть надстроена различными текстовыми или графическими интерфейсам. Последние и использованы в PC-BSD и DesktopBSD. Текстовый же вариант инсталлятора использован в DragonFlyBSD (см. ниже). А также существуют попытки прикручивания его и к собственно FreeBSD - взамен sysinstall. Что, опять-таки, не превращает такие сборки в самостоятельные дистрибутивы или, тем более, операционные системы.

Тем не менее, FreeBSD легла в основу и двух совершенно самостоятельных операционных систем - MacOS X (точнее, ее базиса - ОС Darwin) и DragonFlyBSD. Однако, чтобы осветить их историю, нам придется несколько отвлечься от основной темы.

Несколько лет назад я писал (в своей книге: Офис, web, графика в Linux. СПб: БХВ-Петербург, 2001), что мы живем в интересное время: впервые с момента появления персональных компьютеров, софверная индустрия не смогла выполнить свое сакральное предназначение - вытрясать пользовательские кошельки на перманентный апгрейд своих машин, что обеспечивало бы финансовые источники для дальнейшего развития аппаратных средств. И ныне мы видим плоды этого: развитие главного компьютерного "железа" - процессоров и чипсетов, то есть того, что определяет лицо платформы, фактически прекратилось.

Конечно, время от времени производители бодро рапортуют об очередном повышении тактовой частоты "камней", увеличении кэша level n до совершенно невообразимых, некогда вполне достаточных для основной памяти, объемов, а то и добавлении очередного level'а, дополнительных наборов инструкций под замысловатыми названиями, встраивания в чипсеты поддержки всего, чего можно (и даже того, чего, как недавно казалось - нельзя, например, полноценной 3D-графики). Однако накал страстей вокруг всего этого давно уже не тот, несколько напоминая соревнования по стометровке - мало кого (кроме фанатов этого вида спорта) волнует, какую десятую секунды отыграл один суперспринтер у другого.

А главное, что, подобно рекордам в стометровке, достижения "камнестроителей" все меньше волнуют широкие пользовательские массы. Ведь от медведя не убежит и олимпийский чемпион, а успеть за пивом в магазин перед его закрытием способен любой мало-мальски тренированный человек. Так и с компьютерами: настолько-пользовательские задачи в большинстве случаев решаются средствами любого подручного "железа", купленного за пределами лавки древностей. А "тяжелые" задачи как требовали часов (а то и суток) пахоты персоналок, так и требуют (и потому решаются разумными людьми обычно не на PC'шках).

Фактически за последние годы производители предложили нам два архитектурных решения, претендующих на революционность. Первым (по времени) была архитектура Pentium 4. Не будем распространяться здесь о ее достоинствах или недостатках. Для нас сейчас важно только то, что она обеспечила возможность роста тактовой частоты процессоров, поражающего воображение (пользователя, тянущегося к бумажнику). И к тому же казавшейся безграничной...

Правда, на счет безграничности жизнь довольно скоро внесла свои коррективы. И разговоры о том, что эта технология позволит играючи достичь тактовой частоты в 10 гигагерц, как-то стихли сами собой - нынче даже о четырех гигагерцах почему-то не любят говорить вслух.

Впрочем, по сему поводу можно сказать словами Булата Окуджавы:

Минутной печали не стоит, друзья, предаваться
Ведь быстрым машинам нет смысла у нас появляться

Ибо в кои веки чисто случайно оказалось, что гигагерцев, в отличие пряников, как раз и хватило на всех (кроме тех, которым, как уже говорилось, их не будет хватать всегда). И разница между 2-х и 3-гигагерцной машиной в быстродействии оказывается меньше, чем между P-133 и P-166...

Вторая, казалось бы, революционная, новинка - 64-разрядные вычисления. Вспомним, каким прорывом в светлое будущее были 32-битные процессоры для PC, те самые первые "трешки", которые сделали возможным портирование на эту архитектуру Unix и его порождений - свободных POSIX-совместимых операционок. Повторится ли история ныне?

Ответ можно дать уже сейчас - и ответ, увы, отрицательный. Потому что в те далекие уже годы аппаратура PC едва поспевала за софтом - 32-битные ОС разменивали уже второй десяток лет своего существования, и приложений, использующих 32 разряда на полную катушку, было вдоволь. Нынче же... Нынче дело с переходом на 64 бита стопорится даже "внутре" ОС, а уж когда дело дойдет до пользовательских программ - и пророк Заратуштра предсказать не возьмется.

Потому что на самом деле 64-разрядность в пользовательском сегменте не востребована, и не очень ясно, будет ли востребована в обозримом будущем. Потому что пока единственная сфера ее применения для конечного пользователя - параноидальная криптография. Конечно, в свете недавних событий нас попробуют убедить, что без последней в современном мире террора и анти-террора не выжить каждой домохозяйке, однако и здравый смысл пока еще не совсем отменили...

Так что усилия "камнестроителей" пропали бы втуне. Если бы еще не одно новшество, о котором я сознательно не упоминал ранее - Hyper Threading, то есть виртуальная мультипроцессорность. Каковая в некоторых (правда, весьма редких) задачах давала вполне даже реальный прирост производительности. Опять же, мало значащий для приверженцев самой распространенной операционки, работающих преимущественно интерактивно. Но могущий способствовать производительности труда пользователя Unix-систем, вследствие врожденной лености отдающего предпочтение всякого рода скриптам, пакетным заданиям и прочим средствам автоматизации.

Однако Hyper Threading - не более, чем суррогат истинной мультипроцессорности. Своего рода мультипроцессорность для бедных, но гордых. Да еще и вызывающая некоторые сомнения с точки зрения банальной безопасности. И потому, сказавши А, производители процессоров неизбежно должны открыть рот для произнесения Б. То есть переходить к собственно двухпроцессорным конфигурациям в пользовательском сегменте.

Разговоры о двухпроцессорных пользовательских десктопах на нашем веку возникают не впервые. Помнится, еще дешевенькие Celeron'ы первого призыва можно было вставлять в относительно не очень дорогие двухпроцессорные "мамы", получая, таким образом, нечто вроде "народного суперкомпьютера" А еще масла в это пламя подлили Opteron'ы, также в начальном своем уровне вполне доступные для широких масс - по крайней мере, для узкого круга лучших их представителей.

Правда, первая линия "народной мультипроцессорности" была очень быстро пресечена производителем. А во втором случае дешевизна базовой платформы с лихвой компенсировалась дороговизной требуемой для нее регистровой памяти. Да и в любом случае цена двухпроцессорного решения оказывалась более чем вдвое выше однопроцессорного.

Однако идея мультипроцессорности для народа продолжает витать в воздухе - никаким иным способом создать впечатление прогресса уже не удается. И первый шаг в этом направлении сделала, насколько мне известно, IBM со своими Power4 - вероятно, абсолютными рекордсменами по "чистому" (=тестовому) быстродействию. В том числе и благодаря тому, что имели варианты с двумя и более процессорными ядрами в едином корпусе.

Сами по себе Power4 (как и пришедшие им на смену Power5) ориентировались на индустриальный сектор. Однако на базе их были созданы процессоры G5 - до недавнего времени сердце современных Mac'ов, имеющие, в том числе, и двухъядерный вариант. У которого были бы все шансы со временем широко распространиться по столам пользователей платформы от Apple - если бы не недавний отказ этой фирмы от собственных процессоров и переход на аппаратную платформу Intel.

Так что пользователям PC'шек было ни холодно, ни жарко от мощи процессоров Power. Однако и "наши камнестроители" не заставили себя ждать: и AMD, и Intel уже выпустили свои двухъядерные решения, вполне вписывающиеся по цене в рамки "суперкомпьютера для народа" (хотя, повторяю, и не для всякого его представителя). И потому возникает вопрос - а готова ли к двухпроцессорным платформам софтверная индустрия? То есть - способна ли она обеспечить прирост производительности на пользовательских задачах?

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

В-третьих, системные и прикладные задачи, выполняемые на многопроцессорной машине, должны допускать их распараллеливание, иначе любое увеличение количества "числодробителей" доставит мало радости пользователю.

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

Решение проблем многозадачности на "железном" уровне - это задача производителей аппаратуры, и влиять на нее мы не в силах (а можем только учитывать). Минимизация же "накладных расходов" и распараллеливание задач - это вахта разработчиков софта, в первую очередь - системного (хотя в последнем случае ее разделяют и создатели программ прикладных). Ну а эффективное использование достижений тех и других - это уже сфера деятельности нас, пользователей.

И нужно сказать, что пользователи Unix-подобных (или, точнее, POSIX-совместимых) операционок, в силу самой специфики их работы и укоренившихся привычек, подготовлены к многозадачности лучше других. Действительно, что происходит на типичной пользовательской Unix-машине - в очередной раз оговорюсь, что речь я веду только о пользовательских десктопах и, где-то, о рабочих станциях (ведь плоха та персоналка, которая не мечтает стать workstation, разница между ними ныне в основном количественная)? На ней постоянно что-то компилируется, архивируется/разархивируется, кодируется/декодируется, бэкапится, - и все параллельно, и, в большей или меньшей степени, без интерактивного участия пользователя. Озаботившегося, разумеется, заблаговременно, скриптами для запуска своих задач, выводом полученных данных в логи и прочие файлы, и так далее - за интерактивным режимом остается только просмотр результатов. И, конечно же, их осмысление.

Так что вырисовывается заманчивая картина - все это изобилие параллельно работающих задач выполняется действительно параллельно, будучи раскиданным по разным процессорам. Дело остается за малым - реализовать ее в кодах.

Изначально создатели Unix (и ранних его клонов) ни о какой многопроцессорности не помышляли. И один из краеугольных камней его идеологии - концепция монолитных процессов, выполняемых на одном процессоре квазипараллельно, за счет квантования времени, - казалось бы, препятствует реализации распараллеливания задач по разным "камням".

Тем не менее, когда многопроцессорные серверы и рабочие станции стали реальностью в индустриальном секторе, в дополнение концепции процесса была создана и концепция т.н. нитей, или потоков (threads). Это - части процесса, выполняемые параллельно и почти независимо друг от друга (в том числе и на отдельных процессорах), разделяющие, тем не менее, ресурсы составленного из них процесса. То есть собственного контекста, в том числе и отдельного пространства памяти, они не имеют, почему носят еще и имя легковесных процессов (light weight process) - обычные Unix-процессы в этом случае можно называть "тяжелыми".

Нужно заметить, что само по себе понятие нитей возникло задолго до Unix - чуть ли не со времен Очакова и ламповой электроники. И уже тогда были выявлены существенные недостатки этой концепции (см. руководство С.Д.Кузнецова по операционной системе Unix). Однако - увы - за истекшие годы ничего лучшего для поддержки мультипроцессорности придумано не было.

Как уже говорилось (и это очевидно из общих соображений), проблема мультипроцессорности встала в первую очередь в индустриальном секторе. Где по ряду причин (в том числе и исторических) традиционно преобладали проприетарные представители Unix-семейства. И разработчики последних доблестно эту проблему разрешили. Можно спорить, где она была решена лучше, где - не так хорошо, однако общепризнанно: масштабируемость - главная отличительная черта (и главный козырь) и AIX от IBM, и Solaris от Sun, и прочих их братьев-конкурентов.

Свободные POSIX-совместимые ОС, в отличие от проприетарных, разрабатывались преимущественно или в университетско-академической среде, или просто энтузиастами-любителями, как правило, на подручном оборудовании. Среди которого многопроцессорные суперкомпьютеры встречались не так уж и часто (солнце народной мультипроцессорности еще не показало из-за горизонта своих первых лучей). И потому долгое время поддержка многопроцессорности была слабой стороной и Linux, и BSD-систем.

Движение свободных операционок в корпоративный сектор, в первую очередь в качестве серверов разного рода, поставило перед ними задачи многопроцессорной поддержки и масштабируемости. И задачи эти постепенно решались: в том или ином виде многопроцессорные конфигурации давно поддерживаются ядром Linux и FreeBSD, недавно такая поддержка появилась в NetBSD и OpenBSD. Тем не менее, согласно всем встречавшимся мне мнениям, ни одна из этих ОС не дотягивает еще до масштабируемости проприетарных Unix'ов.

Время от времени на форумах возникают споры, где лучше реализована многозадачность - в Linux или во FreeBSD. В обсуждение чего мы вдаваться не будем - уже сам по себе факт периодичности возникновения таких споров свидетельствует, что и там, и там многопроцессорность реализована не идеальным образом.

Правда, в мире свободного софта испокон веков развивалось другое течение, косвенно связанное с многопроцессорностью - так называемые микроядерные ОС. Идея их - в том, чтобы максимально возможную часть обязанностей ядра (взаимодействие с устройствами, файловыми системами и т.д.) вынести в пользовательское пространство памяти, оставив за ядром только коммуникационные функции. Что, теоретически рассуждая, должно было бы обеспечить упрощение устройства операционки, легкость ее портирования на новые архитектуры (в том числе и многопроцессорные), а также возможности масштабирования.

Из микроядерных операционок наибольшее признание получило ядро Mach, созданное в Университете Карнеги-Меллона (http://www-2.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html), а затем разрабатывавшееся в Университете Юты (http://www.cs.utah.edu/flux/mach4/html/Mach4-proj.html).

Ядро Mach легло в основу ряда проектов разработки свободных ОС - наиболее известен из них Hurd (http://www.gnu.org/software/hurd/hurd.html). Однако были другие попытки создания свободных микроядерных ОС - xMach и Yamit. Правда, все эти проекты прекратили свое развитие: Hurd переходит на другое микроядро - L4 (http://os.inf.tu-dresden.de/L4/), xMach и Yamit просто умерли. Это, помимо их невостребованности, объясняется еще и технологическими причинами: судя по всему, разработчики не смогли обеспечить приемлемую производительность своих систем: ведь упрощение устройства ядра влечет за собой усложнение межпроцессных коммуникаций.

Как ни странно, удачные реализации микроядерной архитектуры имели место быть в проприетарном секторе: на ранних версиях Mach основывалась знаменитая система NEXTStep, видевшаяся лет 15 назад платформой фантастического будущего. А предпоследняя, 3-я, версия Mach 3 легла, вместе с системными службами FreeBSD, в фундамент современной MacOS X, собственно операционная часть которого - свободна, и носит имя Darwin (или, точнее, OpenDarwin - http://www.opendarwin.org/). А уже от нее вторично отпочковался совсем собственно свободный проект - Gnu Darwin (http://gnu-darwin.sourceforge.net/).

Где-то в середине июня 2003 г. Мэтт Диллон (Matt Dillon), известный, вместе с группой товарищей объявил о начале работы над новой ОС BSD-семейства - DragonFlyBSD (http://www.dragonflybsd.org), ответвившейся от FreeBSD 4-й ветки, имевшей статус стабильной (хотя в то время уже вовсю развивалась ветка 5-я, вбирающая в себя все инновации BSD-мира).

Может возникнуть (и многократно возникает) вопрос: для чего нужна еще одна BSD-система? Разве не вдоволь насмотрелись мы на изобилие Linux-дистрибутивов, чтобы и FreeBSD желать той же участи?

Вопрос этот, конечно, носит сугубо риторический характер. Ведь если новые операционки создаются - значит, это кому-то нужно. И каждая такая система (если она, конечно, действительно нова и оригинальна) привносит в наш мир что-то свое, увеличивая, тем самым, сложность его и разнообразие.

Маленькое отступление: бытует мнение, что если бы 4.4BSD (еще не разделившаяся на Net- и FreeBSD) не погрязла бы в тяжбе с AT&T, и получила бы свободу в конце 80-х - начале 90-х годов, то в разработке Linux не было бы никакой необходимости. Не смотря на свою пылкую любовь к BSD-системам во всех их проявлениях, не могу с этим согласиться: если бы Linux'а не было - его следовало бы изобрести. Потому что без него (и внедренного Линусом в IT-индустрию метода разработки софта, известного под названием метода Тома Сойера) жить было бы скучно...

А в оригинальности DragonFlyBSD отказать невозможно. Ибо, при практически полном внешнем сходстве с прототипом (FreeBSD 4.X), "внутре" у нее все другое: управление памятью и процессами, представление о драйверах устройств и виртуальной файловой системе, вплоть до нового типа файлов - вариантных символических ссылок (varsims).

В основу DragonFly положена модель легковесных нитей ядра (LWKT - Light Weight Kernel Threads), что само по себе и не ново. Новым стал механизм планирования нитей - вместо единого планировщика (sheduler) их было введено несколько, по числу процессоров. Подобно системам с микроядерной архитектурой, в DragonFly максимум функций ядра вынесен из его пространства памяти в пользовательское пространство (userland). В первую голову это относится к драйверам устройств - таким образом достигается как рост производительности, так и надежность системы в целом, ибо вероятность "падения" системы от воздействия неправильно работающего драйвера стремится к нулю.

Это повлекло за собой отказ от традиционного для Unix механизма системных вызовов (каковой лишь эмулируется в целях совместимости). Его место занял механизм сообщений (messages) и их очередей, т.н. портов (ports), подобный применяющемуся в микроядре Mach.

При этом DragonFly не является микроядерной ОС - базовые функции, такие, как поддержка устройства, несущего корневую файловую систему, как и ее самой, все равно возлагаются на ядро (и размещаются в его пространстве памяти). Однако почти все прочее может быть безболезненно собрано в качестве модулей юзерланда.

Таким образом, можно видеть, что основные инновации DragonFly ориентированы на работу в многопроцессорных системах. А вопрос о том, есть ли что делать простому пользователю на многопроцессорном, с позволения сказать, компьютере, мы рассмотрели выше.

Далее, важно, что если матушка DragonFly, FreeBSD, изначально предназначенная только для архитектуры i386, все более эволюционирует в сторону кроссплатформенности (в 5-й ветке к поддержке древней Alpha добавился Sparc, а в 6-й ветке поддерживается и PowerPC), то наша "стрекоза" возвращается на исходные рубежи. И единственной поддерживаемой архитектурой в ней является Intel-совместимая. Правда, в разработке находится поддержка ее 64-битного расширения от AMD - того самого, которое, похоже, принял на вооружение и Intel (имеется ввиду поддержка собственно 64-битного режима - в режиме 32-разрядном DragonFly прекрасно работает на Opteron и Athlon64 уже сейчас.

Это все технологические обоснования для того, чтобы отнестись к DragonFly не просто как к еще одному BSD-клону. Но есть ведь и субъективный фактор. И это - личность организатора проекта.

К моменту начала работы над DragonFly Мэтт Диллон был широко известен (в узких кругах) благодаря трем разработкам: Си-компилятору для платформы Amiga (именно из этой ОС пришла в DragonFly идея "ядерного прелинкинга"), утилите dcron и, главное, системе управления виртуальной памятью во FreeBSD. Не то чтобы он был единственным автором последней, однако вклад его в эту тему был одним из определяющих современный облик FreeBSD, Да и к аналогичной подсистеме ядра Linux он приложил руку.

Что немаловажно, в специальной статье (присутствующей в официальной документации FreeBSD - http://www.freebsd.org/doc) Мэтт сумел описать архитектуру виртуальной памяти языком, понятным для широких масс трудящихся. Очень рекомендую к прочтению - во введении к ней высказано немало интересных мыслей общего характера. Тем более, что доступен и русский ее перевод - http://www.freebsd.org.ua/doc/ru_RU.KOI8-R/articles/vm-design/index.html.

Такова на сегодняшний день длинная и насыщенная история операционной системы FreeBSD и ее ближайшей родственницы DragonFlyBSD. Посмотрим, какие уроки мы можем извлечь из нее, дабы не уподобиться якобинцам из старой песенки студентов-историков Удмуртского государственного университета.

Первый вывод - технологического плана. Хотя FreeBSD по анкетным, так сказать, данным и моложе Linux'а, за спиной у нее - долгая история совместного с Unix развития. То есть она - леди с прошлым. Что имеет и свои минусы, и свои плюсы. Не могу отказать себе в удовольствии процитировать упомянутый выше мемуар Мэтта Диллона: "Хотя некоторые считают BSD 'старой' операционной системой, те из нас, кто работает над ней, видят ее скорее системой со 'зрелым' кодом". Что замечательно согласуется со строками эпиграфа.

К слову сказать - не говорите мне, что транскрипция фамилии автора эпиграфа неправильна - она дана по цитируемому изданию (М: Радуга, 1988, с. 31), первому полному в отечественной истории: таким образом переводчики подчеркнули немецкие корни рода Толкиенов (Tolkien).

Однако снова предоставлю слово Мэтту: "Самой большой ошибкой, которую может допустить программист, является игнорирование истории, и это именно та ошибка, которую сделали многие другие современные операционные системы (вернее, разумеется, их разработчики - А.Ф.)... Я плохо переношу тех, кто не учит истории".

Готов подписаться под каждым словом, обеими руками. Добавив от себя, что относится это не только к программированию.

Итак, первый вывод из истории FreeBSD - что это система сложившаяся, устоявшаяся, где-то даже консервативная. Но при этом - постоянно развивающаяся и совершенствующаяся. Действительно, взять хотя бы программу ее установки - я не слышал, чтобы она хоть сколько-нибудь радикально изменилась со второй версии (что сплошь и рядом бывает с инсталляционными программами дистрибутивов Linux - иногда до полной неузнаваемости). И в то же время в ней постоянно появляются полезные усовершенствования, облегчающие жизнь.

Кроме того, FreeBSD (и ее предтечи) возникла и развивалась в университетской среде, не просто высококлассными программистами, но людьми с неслабой теоретической подготовкой. Следствием чего явилась исходная продуманность ее архитектуры. И опять помяну Диллана: "В мире программирования алгоритмы становятся более важными, чем код, и именно из-за академических корней в BSD изначально большое внимание уделялось проработке алгоритмов". И это - второй вывод из рассмотренной истории, который также можно отнести к технологии.

Третий же вывод, также следующий их академического происхождения FreeBSD, носит, условно говоря, гносеологический характер. Ученые (по крайней мере, те, кто заслуживает неругательного значения этого слова) - люди, основным стимулом деятельности которых является удовлетворение собственного любопытства. И FreeBSD, как творение академических исследователей, - это система, идеально для такого удовлетворения подходящая. Как сама по себе (поверьте, изучение FreeBSD - занятие, по увлекательности мало с чем сравнимое), так и как инструмент исследования в иных научных областях, в том числе - и далеких от Computer Science...

Последний же вывод из истории имеет отношение к тому, что называют затертым словосочетанием "общечеловеческие ценности". Не знаю, кто как, а я так просто преклоняюсь перед мужеством разработчиков, дважды оказывавшихся у разбитого корыта накануне успеха. И дважды начинавших все если и не сначала, то - с самых, что называется, корней. Каждый, кому приходилось хоть однажды начинать жизнь "с чистого листа", знает, как это сложно. А уж решиться на это второй раз - на такое найдет в себе силы не каждый. Так что четвертый исторический вывод: такие ребята просто не могли сделать плохой системы...

Осталось сказать несколько слов об истории Free- и других BSD на Руси. Несколько слов - не потому что история эта коротка. Отнюдь - существуют косвенные данные, что первые BSD-системы появились в еще Советском Союзе, и еще до официального выхода самой FreeBSD. Однако достоверных сведений о тех временах далеких, теперь почти былинных, мне обнаружить не удалось. Однако то, что примерно к 1995-1996 году сервера большинства крупных Интернет-провайдеров России работали под управлением этой операционной системы, можно считать более-менее установленным. Тогда же, вероятно, появились и первые зеркала проекта. Да и дистрибутивы FreeBSD на дисках в исполнении Walnut Creek стали доступны, по крайней мере, в Москве.

Характерно, что один из самых старых, самых обширных сайтов по Unix-тематике - http://www.opennet.ru (и по сей день самый посещаемый), изначально не замкнулся в на Linux, а уделял изрядное внимание BSD-системам вообще и FreeBSD в частности.

Из остальных Интернет-ресурсов того времени хотелось бы отметить фундаментальные работы Ивана Паскаля (http://pascal.tsu.ru), заметки по FreeBSD Андрея Лаврентьева (http://unix1.jinr.ru/~lavr/), материалы Игоря Сысоева (http://www.sysoev.ru/), не потерявшие своего значения и по сей день. Ну и немалую роль сыграло первое систематическое руководство по этой системе на русском языке, написанное Андреем Федоровым (http://www.anriintern.com/computer/freebsd/).

Правда, о настольном использовании FreeBSD в те годы никто и не помышлял. Не была она избалованна и вниманием прессы. Хотя первые публикации о BSD-системах в компьютерных журналах не намного отстали во времени от статей про Linux - вспоминаем статью Вадима Колонцова ОС BSD жила, живет и будет жить (Открытые системы, №3, 1997, до сих пор доступна и версия on line - http://www.osp.ru/os/1997/03/37.htm). Однако долгое время они выглядели редкой вкрапленностью даже на фоне материалов о Linux. Хотя были среди этих вкраплений и очень яркие сочинения. Например, того же Вадима Колонцова под характерным заглавием - Я живу во FreeBSD (http://propc.dz.ru/jun99/freebsd.htm). Или - отдельные статьи о BSD-системах, появлявшиеся в короткий период существования Unix-раздела в журнале Byte/Russia (1999-2000 годы); к сожалению, ни одна из них ныне в Сети недоступна...

Переломным с точки зрения популяризации FreeBSD в широких массах стал 2002 год. Во-первых, тогда был начат (и к настоящему времени практически завершен) проект тотального перевода официальной документации по этой ОС, размещавшийся на http://www.freebsd.org.ua.

Во-вторых, начиная с 2002 г., статьи о FreeBSD заняли прочное место на страницах общекомпьютерных журналов.

И, наконец, в-третьих - в конце 2002 - начале 2003 года подряд вышли первые русскоязычные книжки по FreeBSD, две переводные (очень похожие, так как принадлежат перу одних и тех же авторов - Майкла Эбена и Брайана Таймэна) и одна отечественная (вашего покорного слуги). На протяжении 2003-2004 годов к ним прибавилось еще несколько изданий - Родерика Смита, Майкла Лукаса). Конечно, среди изобилия книг о Linux, вышедших в последние годы, эти достижения книгоиздателей кажутся скромными. Однако следует учитывать, что FreeBSD - не Linux, и не распадается на такое множество дистрибутивов, требующих отдельного описания.

Росло тем временем и количество русскоязычных Интернет-ресурсов, посвященных BSD-системам вообще и FreeBSD в частности. Конечно, их число не поражает воображение, как количество Linux-сайтов. Однако к упомянутым ранее http://www.opennet.ru и http://www.freebsd.org.ua присоединился специализированный http://www.bsdportal.ru, большое количество материалов по BSD-системам регулярно публикуется на http://www.citforum.ru и http://www.dreamcatcher.ru, изрядное количество статей и заметок по FreeBSD вклинивается на традиционные Linux-ресурсы...

К настоящему времени можно констатировать, что FreeBSD заняла в настольном секторе прочное, хотя и не очень заметное, положение. Так, проводившийся среди посетителей Линуксфорума опрос (http://www.linuxforum.ru/index.php?showtopic=5746) закрепил за ней уверенное второе место в ряду Unix-подобных систем (после Gentoo Linux, впереди популярных "юзерофильных" дистрибутивов вроде Mandrake).

Будет ли FreeBSD и дальше развиваться в направлении "пользовательского десктопа" - судить трудно, это зависит от многих факторов: и от усилий разработчиков - как самой системы, так и ее "юзерофильных" вариантов, вроде PC-BSD, и от общего положения внутри POSIX-сообщества. Зависит это и от нас, "настольных" пользователей FreeBSD. Ибо кто же еще сможет продемонстрировать пригодность ее как настольной платформы начинающим собратьям?

Автор будет признателен за дополнения, уточнения, исправления, а также личные воспоминания. Обсудить историю BSD-систем можно здесь.