События в мире
свободно-распространяемых
операционных систем семейства
BSD: FreeBSD, OpenBSD и NetBSD, уже давно
привлекают внимание
разработчиков ОС. Информация о
возможностях, преимуществах и
недостатках подобных систем, а
также сведения по их
коммерческим реализациям (BSD/OS)
будут полезны, когда в
очередной раз перед
пользователем встанет вопрос:
приобретать ли коммерческую
Unix-систему или сделать шаг в
сторону свободно
распространяемого
программного обеспечения.
Кроме того, статья может
заинтересовать всех, кто хочет
узнать саму историю ОС Unix.
История BSD Unix началась с того
момента, когда в 1974 году в
Университет Беркли
(Калифорния, США) попала
операционная система Unix. К тому
времени эта ОС уже несколько
лет за символическую плату
распространялась лабораторией
Bell Technical Labs (BTL) среди
университетов и других учебных
заведений, успев завоевать
симпатии пользователей,
которым пришлась по душе
открытость системы: Unix
поставлялась в исходных
текстах (без поддержки и
гарантий BTL), и пользователи
имели возможность
самостоятельно изучать,
исправлять и расширять ее. Все
это порождало желание делиться
своими наработками с другими
энтузиастами Unix и во многом
сформировало специфический
образ мышления и Unix-культуру.
Надо заметить, что сотрудники
Bell Technical Labs поступили очень
мудро (возможно, даже не
осознавая этого), отпустив Unix в
свободное плавание. Свобода
оказала услугу как самой
системе, так и ее пользователям
- на Unix выросло немало
профессионалов, не говоря уж о
количестве дипломов,
защищенных по связанным с этой
ОС темам. Так что можно считать,
что ОС Unix вступила в
коммерческий мир с полным
университетским образованием.
Кстати, совсем недавно на
подобный шаг - передачу
исходного кода учебным
заведениям - решилась фирма BSDI.
Интересно, повторится ли
история?
Но вернемся в Беркли. Именно
там родились многие идеи,
ставшие теперь
общепризнанными - поддержка
протокола TCP/IP в ОС Unix, система
виртуальной памяти, быстрая
файловая система (FFS), редакторы
ex и vi, BSD sockets (интерфейс
программирования сетевых
приложений), sendmail, csh и многое
другое. Университет также дал
миру прекрасных специалистов,
которые во многом определили
развитие Unix - достаточно
вспомнить Эрика Аллмана, Билла
Джоя или Чака Хейли. Именно к
ним первым попали тексты Unix,
"поселившиеся" в Беркли.
Разработкой Unix здесь
занималась группа Computer System
Research Group (CSRG), которая, к
сожалению, распалась в 1992 году.
Однако лучшие ее традиции были
продолжены компанией BSDI (Berkeley
Software Development, Inc.) и группами
разработчиков FreeBSD и NetBSD.
Совсем недавно к ним
добавилась команда проекта
OpenBSD.
1. Все началось с
386BSD
В то время по миру бродило
несколько версий BSD Unix, но все
они имели нечто общее: для их
использования требовалось
обладать лицензией на
первоначальный исходный код
Unix. Большая часть кода BSD была
написана в Беркли, и однажды
кто-то заметил, что собственно
оригинального кода осталось не
так уж и много; так родилась
идея создать
свободно-распространяемый Unix и
начать его распространение
через Сеть (Net distribution).
Вильям и Линна Джолитц решили
переписать части системы,
недостающие для создания
общедоступного варианта BSD Unix.
В результате появилась 386BSD
версии 0.0. Еще не готовая к
использованию, 386BSD обладала
одним несомненным
достоинством: для того чтобы
создать работоспособный
вариант системы, больше не
требовалось внушающей ужас source
license. Вскоре появилась 386BSD 0.1 (к
тому времени Linux, другой член
семейства бесплатных систем
Unix, существовал уже более года).
Многие люди, желая повозиться с
исходным кодом, с которым они
уже были знакомы ранее, решили
начать использовать и
исправлять 386BSD 0.1. В результате
начиная с июня 1992 года в
систему было внесено большое
количество исправлений и
улучшений. На многих серверах
FTP существовал даже
неофициальный patchkit (набор
исправлений), который позволял
сделать 386BSD более стабильной и
удобной в применении - многие
затруднения в работе системы
решались именно с помощью patchkit.
Но сегодня, после
возникновения некоторых
юридических проблем с частью
кода, принадлежащего AT&T/Berkeley,
оригинальную систему стало
довольно трудно найти - она
была удалена с FTP-серверов по
всему миру.
Следует вспомнить, что, когда
некоммерческое семейство BSD
только создавалось, Вильям и
Линна в качестве основы
использовали ленту под
названием Berkeley Net Release/2.
Выстроив таким образом прочный
фундамент, они также заложили,
сами не желая того, бомбу
замедленного действия. В
результате юридических битв
часть файлов исходной ленты Net/2
была обозначена как binary only.
Следовательно, они должны были
быть воссозданы с нуля, чтобы
получить истинно
свободно-распространяемую
систему. В этом и заключается
основная причина того, что
сейчас найти оригинальную
версию 386BSD version 0.1 практически
невозможно. Для того чтобы
заменить 386BSD, родилось три
новых системы под новыми
именами. Первой была NetBSD,
вскоре за ней последовала FreeBSD,
а совсем недавно к этой группе
прибавилась OpenBSD.
Если взглянуть на файл README,
поставляемый с каждой
BSD-системой, можно обнаружить,
что эти системы базируются на
BSD 4.4-Lite. Команда разработчиков
FreeBSD использовала BSD 4.4-Lite
distribution и создала недостающие
части кода; все это после
дальнейшего развития и
превратилось в FreeBSD.
Разработчики NetBSD начали
разработку с 386BSD, добавив также
доступные части из BSD 4.4.
Система OpenBSD в свое время
отделилась от NetBSD -
разработчики решили
объединить лучшие черты FreeBSD
(удобство работы и
функциональность) и NetBSD
(переносимость на большое
количество платформ). Таким
образом, команды разработчиков
Open/Free/NetBSD заново создали те
файлы, которые отсутствовали в
оригинальном комплекте BSD 4.4-Lite
или не могли распространяться
свободно. Все системы
максимально приближены к BSD 4.4,
хотя у каждой имеются свои
преимущества и недостатки.
Рассмотрим эти системы более
подробно, однако сразу стоит
заметить, что очень часто
многое, сказанное об одной
системе, подходит и к другой:
все эти ОС OpenBSD, FreeBSD и NetBSD
развиваются раздельно, но не
изолированно.
2. NetBSD
NetBSD Project - это результат
попытки большой группы
энтузиастов создать
свободно-распространяемый
вариант Unix-совместимой
операционной системы. NetBSD
основана на большом количестве
свободно распространяемого
программного обеспечения, в
первую очередь BSD4.4-Lite
Университета Беркли. Система
работает на множестве платформ
- от DEC Alpha до Apple Macintosh и z80,
поставляется с полным исходным
кодом и поддерживается самими
разработчиками системы и
пользователями. Основную
ставку разработчики сделали на
надежность и поддержку
большого количества платформ.
Пожалуй, сегодня едва ли
найдется аппаратная
конфигурация, где нельзя было
бы установить NetBSD.
Реализация проекта началась
в январе 1993 года, и уже к апрелю
появился первый официальный
выпуск - версия 0.8, которая
работала еще только на
платформе i386. За ней
последовала версия 0.9 в августе
того же года. Первоначально NetBSD
была унаследована от 386BSD,
которая использовала Berkeley Net
Release 2 (BNR/2) и, естественно, как и
другие операционные системы на
базе BNR/2, в какой-то момент
столкнулась с трудностями.
Только через год после выпуска
0.9, в октябре 1994-го, появляется
NetBSD 1.0 - первая версия NetBSD,
которая базируется на BSD4.4-Lite.
Помимо этого, система была
портирована на HP300/9000, Macintosh, PC532,
Sun SPARC и Amiga. В сентябре 1995 года
создается NetBSD Foundation,
некоммерческая организация,
призванная стать
координирующим органом NetBSD
Project. Вскоре (ноябрь, 1995) NetBSD
портируется на Atari, DECstation, VAX, Sun3;
в нее добавляется двоичная
совместимость (в пределах
одной платформы) с FreeBSD, iBCS2, SunOS,
Ultrix, HPUX, Linux, OSF/1, SVR4. Версия
получает номер 1.1. Самой свежей
версией NetBSD стала реализация 1.2
(октябрь, 1996), а наряду с
множеством усовершенствований
и изменений появилась
поддержка платформ DEC Alpha, Motorola
MVME boards, SPARC/Sun4m.
Система NetBSD распространяется
в двух вариантах: формальный
выпуск и NetBSD-current. FreeBSD и OpenBSD
имеют ту же схему. Формальный
выпуск имеет номер версии и
включает в себя хорошо
отлаженные утилиты, ядро,
исходных кодов и средства
установки. Выпуск представляет
собой баланс между
возможностями и стабильностью
- его легче установить, чем
current-версию. Такие версии
хорошо отлажены и появляются
относительно редко, поэтому
они подходят тем, кто желает
иметь стабильно работающую
систему. Эти версии удобнее в
поддержке, поскольку всегда
ясно, о чем идет речь. Самая
большая проблема с формальными
версиями заключается в том, что
пользователь не получает
доступа к базе исходного кода с
последними улучшениями и
исправлениями. Формальную
версию несложно установить -
для каждой платформы имеются
детальные инструкции, образы
загрузочных дисков или
miniroot-файловых систем. Как
правило, существует процедура,
позволяющая легко перейти с
предыдущей версии на новую.
С NetBSD-current ситуация
совершенно иная. Очередная
current-версия появляется каждую
ночь и представляет собой
"слепок" дерева исходного
кода NetBSD, который нужно
перекомпилировать на вашей
платформе. Поскольку работа
ведется постоянно, current-версия
порой не совсем отлажена, может
содержать ошибки, может даже не
скомпилироваться. Current-версия
полезна разработчикам
драйверов, системного
программного обеспечения и
тем, кто принимает участие в
создании NetBSD. Current-версия
позволяет разработчикам
"держаться вместе",
вылавливает ошибки и
оперативно вносит изменения. В
какой-то момент current-версия
начинает превращаться в formal
release, происходит
бета-тестирование, а от этой
ветви растет новая current-версия
и т. д. Таким образом, развитие
не останавливается ни на
мгновение, и при этом ни одна
фаза не скрыта от сообщества -
всегда можно предложить свои
изменения и дополнения,
которые (если они имеют смысл)
будут включены в current.
NetBSD project стремится следовать
таким стандартам индустрии,
как POSIX и Standard C. Напомним, что
POSIX (Portable Operation Systems Interface) -
название финансируемой IEEE
группы, которая разрабатывает
стандартный API для Unix-подобных
операционных систем.
Существует POSIX.1 (IEEE Std1003.1-1990),
который стандартизирует API для
Си POSIX.2 (IEEE Std1003.1-1992),
стандартизирующий работу
оболочки и утилит. Другие
POSIX-стандарты описывают языки
Ада и Фортран, расширения для
работы в реальном времени и т.
д. Сейчас NetBSD очень близка к
POSIX.1, поэтому перенос
программного обеспечения в
среду NetBSD - несложная задача. Но
вряд ли когда-нибудь NetBSD
получит статус системы,
соответствующий POSIX, поскольку
сертификация стоит немалых
денег. Тем не менее
разработчики считают, что NetBSD
ближе к POSIX и Standard C, чем
какая-либо другая свободно
распространяемая операционная
система.
3. FreeBSD
Проект FreeBSD родился в начале
1992 года и частично вырос из
проекта "Неофициальный
набор исправлений для 386BSD"
или, точнее, из patchkit,
возглавляемого Нейтом
Вильямсом, Родом Граймсом и
Джорданом Хаббардом. Кроме
того, в разработке участвовали
Дэвид Гринмэн и Джулиан Элишер,
хотя официально они
присоединились к проекту
только через месяц после
начала его реализации.
Поскольку организация работы
через patchkit уже не могла спасти
положение, главной целью
проекта было создание
промежуточного варианта 386BSD, в
котором была бы исправлена
большая часть ошибок. Возможно,
кто-то сейчас еще может
вспомнить рабочие названия
проекта типа 386BSD 0.5 или 386BSD Interim,
которые отражали текущее
положение дел.
Примерно в это время Билл
Джолитц отказался от
дальнейшей поддержки и
развития системы, в результате
чего проект модернизации 386BSD
превратился в то, что мы знаем
теперь под названием FreeBSD (имя
было придумано Дэвидом
Гринмэном). Джордан Хаббард
обратился в Walnut Creek CDROM (США) в
надежде открыть
дополнительные каналы
распространения для еще не
созданной операционной
системы. Компания Walnut Creek CDROM не
просто поддержала идею
распространения FreeBSD на CD - она
еще помогла с компьютерной
техникой и скоростным
подключением к Internet. Первый
CD-диск с FreeBSD появился в декабре
1993-го - это был FreeBSD 1.0, версия
которого тоже
распространялась по Сети.
Система была основана на ленте
4.3 BSD Lite (Net/2) из Беркли и
дополнена компонентами из 386BSD
и от Free Software Foundation. Для первой
версии успех был довольно
значительным, и вскоре, в мае
1994-го, на свет появилась очень
удачная версия 1.1.
Однако затем на горизонте
стали сгущаться тучи. Компания
Novell - наследник AT&T - начала
тяжбу за запрещение
использования фрагментов кода
в ленте Berkeley Net/2, которые вели
свое происхождение из AT&T.
Университет Беркли был
вынужден выпустить
"облегченный" вариант,
названный BSD4.4-Lite, и
порекомендовать всем
пользователям Net/2
переключиться на него. Поэтому
в конце июля 1994 года FreeBSD project
прекращает поставку FreeBSD, но, в
соответствии с лицензионным
соглашением, имеет право на
выпуск еще одной версии до
наступления "часа Х". В
итоге появляется FreeBSD 1.1.5.1 -
результат года работы на Net/2.
Эта версия обладала лучшей
производительностью, чем все
предыдущие, имела более
высокую надежность и сама по
себе была прекрасным
продуктом.
Но теперь разработчикам
предстояло фактически начать
все заново, основываясь на
новом и неполном наборе BSD 4.4-Lite.
Из-за различных юридических
ограничений команда Berkeley CSRG
удалила большое количество
кода, используемого для
создания загружаемой
работоспособной системы, и
фактически порт на Intel x86
оказался очень неполным. FreeBSD
Project вновь начал работу в
декабре 1994-го, и уже в январе 1995
года FreeBSD версии 2.0 появилась в
Сети и на CD. Несмотря на
некоторые шероховатости,
система имела большой успех, и
вскоре за ней последовала
более быстрая и удобная в
установке FreeBSD 2.0.5, выпущенная в
июне 1995 года.
В конце этого года на свет
появилась версия 2.1, очень
стабильная, во многом
усовершенствованная, которая
по всем параметрам
превосходила версию FreeBSD 1.1.5.1.
За два года была проделана
огромная работа по превращению
неполного набора BSD 4.4-Lite в
работающую, надежную и удобную
операционную систему. Нельзя
не восхищаться командой
разработчиков, к которой к тому
времени присоединились многие
прекрасные
программисты-энтузиасты. Чуть
позже 2.1 превратилась в 2.1.5,
затем в 2.1.6. В обоих случаях
повышена стабильность,
добавлены дополнительные
драйверы, исправлены найденные
ошибки. В феврале 1997-го в
системной библиотеке была
обнаружена неточность в
обработчике переменной
окружения PATH_LOCALE, и тогда
команда разработчиков FreeBSD
удалила версию 2.1.5/2.1.6 со всех
FTP-серверов и выпустила версию
2.1.7 (security-release). Затем вышла
версия 2.2 и начались работы над
FreeBSD 3.0, где намечается
повышение качества работы
виртуальной машины (VM), что
позволит улучшить эмуляцию DOS и
Windows-приложений.
Кроме того, совсем недавно
был начат грандиозный проект
по построчному перебору всего
кода FreeBSD (около 120 Мбайт). Цель
проекта - избавиться от проблем
с security, исправить обнаруженные
ошибки и улучшить общий стиль.
Дерево исходного кода было
разбито на отдельные части,
которые просматриваются
различными командами
программистов; все исправления
неоднократно перепроверяются
независимыми специалистами.
Все это позволяет надеяться,
что FreeBSD станет более
защищенной системой. Кстати,
проанализировав список
рассылки BUGTRAQ за последние
полгода, можно заметить, что
коммерческие ОС типа Solaris, IRIX,
не говоря уже о NT, существенно
превосходят FreeBSD по количеству
ошибок в программах, критичных
для безопасности.
Дополнительную информацию о
FreeBSD Audit Project можно найти по
адресу: http://www.freebsd.org/auditors.html.
Таким образом, разработка
FreeBSD не представляет собой
закрытый процесс, а напротив,
поддерживает многолетние
традиции сотрудничества
специалистов из разных стран
мира, работающих над одной
задачей. Самые активные из
разработчиков переходят в
команду FreeBSD core team, которая
занимается общим направлением
и целевой координацией
проекта.
4. OpenBSD
Проект OpenBSD отделился от NetBSD
совсем недавно и также
является членом семейства
BSD4.4-Lite. Сегодня OpenBSD
развивается самостоятельно;
кроме собственных разработок в
него включаются удачные идеи
от других групп (FreeBSD/NetBSD).
Разработку OpenBSD начал Тео де
Раадт, один из четверых
создателей NetBSD. И если раньше
про OpenBSD еще можно было сказать:
"OpenBSD - это NetBSD плюс
дополнительные
возможности", то сейчас,
после долгой работы, очевидно,
что OpenBSD является
самостоятельной системой из
семейства BSD - очень многое, по
сравнению с оригинальной
версией, было добавлено и
исправлено.
По наследству OpenBSD досталась
хорошая многоплатформенная
поддержка, однако процесс
портирования продолжается.
Особое внимание группа OpenBSD
уделяет защищенности системы:
в частности уже давно была
предпринята попытка по
переработке исходного кода для
предотвращения возможных атак,
связанных с фиксированным
размером буфера [1], а также
выполнено исправление
множества программ. У OpenBSD
великолепная
POSIX-совместимость, надежность и
защищенность. Команда OpenBSD
всегда оперативно реагирует на
сообщения о неточностях и
возможных неполадках, она
открыта для новых
разработчиков, и у каждого
специалиста есть возможность
добавить в систему то, чего ей
не хватает.
OpenBSD совместима со многими
расширениями FreeBSD (в частности
системой FreeBSD ports); недавно
появилась поддержка ATM, ведется
работа над включением IPX и ряда
других сетевых протоколов.
Одно из главных достоинств OpenBSD
- это понимание необходимости
защищенности системы. Система
OpenBSD остается практически
самой надежной в этом плане
Unix-подобной системой для ПК.
Последняя версия OpenBSD - 2.0, а в
ближайшее время появится
версия 2.1 (на CD и серверах FTP).
5. Возможности
Net/Free/OpenBSD
Итак, что же сегодня
представляет собой семейство
свободно распространяемых BSD
Unix-систем?
FreeBSD - Unix-подобная
операционная система для ПК,
основанных на архитектуре Intel,
включающей в себя 386-е, 486-е и
Pentium-процессоры. Кроме того, ОС
NetBSD/OpenBSD поддерживают
множество других платформ. Все
три системы предоставляют
много возможностей, которые
ранее были доступны только на
более мощных и дорогих машинах.
Вытесняющая
многозадачность с
динамическим изменением
приоритетов обеспечивает
надежное и быстрое
разделение ресурсов
компьютера между
работающими приложениями
и пользователями.
Многопользовательский
доступ дает возможность
одновременно использовать
машину для различных
целей. Системная
периферия, подобно
принтерам или ленточным
накопителям,
автоматически разделяется
между пользователями.
Поддержка TCP/IP-сетей
включает в себя SLIP, PPP, NFS и
NIS. Это означает, что машина
может с легкостью
взаимодействовать с
другими системами,
например выступать в роли
сервера предприятия,
обеспечивающего такие
жизненно важные функции,
как NFS, e-mail, WWW и FTP-сервер,
управление маршрутизацией
с использованием
встроенных брандмауэров.
Защита памяти
обеспечивает безопасность
выполнения программ. Ни
одна программа или
пользователь не могут
воздействовать на
выполнение других
программ, если у них нет на
это прав.
Реализация промышленного
стандарта X Window System (X11R6)
обеспечивает графический
интерфейс пользователя;
поддерживается
большинство видеокарт и
мониторов, доступны полные
исходные тексты.
Двоичная совместимость со
многими программами,
построенными под SCO, BSD/OS,
Net/Free/OpenBSD, 386BSD и Linux.
Тысячи дополнительных
легко адаптируемых
приложений доступны через
Internet. BSD-системы совместимы
на уровне исходного кода
со многими популярными
коммерческими системами
Unix, поэтому большинство
приложений может
потребовать (если вообще
потребует) лишь легких
изменений.
Система виртуальной
памяти и виртуальных машин
позволяет работать
приложениям, требующим
больших объемов памяти;
при этом они не создают
трудностей и задержек во
взаимодействии с
пользователем.
Разделяемые библиотеки
(эквивалент DLL,
заимствованных MS Windows из
Unix) позволяют эффективно
использовать дисковое
пространство и
оперативную память.
В комплект BSD Unix включен
полный набор средств
разработки на Си, C++ и
Фортране. Кроме того, через
коллекцию FreeBSD ports and packages
доступно немало других
сред разработки.
Наличие полного исходного
кода операционной системы
означает, что пользователь
обладает максимальным
уровнем контроля над
средой. Зачем ограничивать
себя частичным решением и
находиться в зависимости
от поставщика, когда можно
иметь поистине открытую
систему?
Поддержка осуществляется
разработчиками с помощью
конференций Usenet и списков
рассылки, где можно задать
любой вопрос.
6.
Особенности реализаций
В дополнение к основной
поставке FreeBSD предлагает
большую коллекцию
портированных программных
продуктов из нескольких
сотен наименований. Список
включает сетевое
программное обеспечение,
системы программирования,
игры и многое другое.
Полная коллекция занимает
только 10 Мбайт на диске,
поскольку хранятся лишь
списки изменений, которые
необходимо произвести в
исходных текстах перед
компиляцией. Для установки
достаточно набрать
команду "make", после
чего система
автоматически заберет
базовую версию программы с
CD или с сервера FTP,
произведет необходимые
изменения и скомпилирует.
Для тех, кто не собирается
компилировать программы
самостоятельно, подойдет
коллекция уже готового
программного обеспечения
(packages). Для установки
программы необходимо
набрать единственную
команду "pkg_add" с
именем архива, который
можно найти на CD или на FTP.
ОС FreeBSD функционально
полна, надежна и быстра в
работе. Пожалуй, эта
система из всего семейства
свободно распространяемых
BSD-систем развивается
сейчас наиболее динамично.
Большое внимание
уделяется совместимости с
другими системами и
удобству работы. Если
пользователь работает на
x86, то следует обратить
внимание именно на FreeBSD -
она позволит очень плавно
войти в мир BSD-систем. NetBSD
больше ориентируется на
поддержку различных
платформ, а OpenBSD пытается
объединить лучшие стороны
FreeBSD и NetBSD, уделяя особое
внимание защищенности
системы. В дополнение к
прекрасной работе,
проделанной в CSRG, команды
разработчиков потратили
многие тысячи часов,
совершенствуя системы,
чтобы те обеспечивали
максимальную
производительность и
надежность. В то время как
коммерческие гиганты
сражаются за подобные
достоинства на поле
операционных систем для
ПК, FreeBSD, NetBSD и OpenBSD
предлагают их уже сейчас.
7. Примеры
использования
Прикладные области, в
которых может быть
использована BSD Unix,
ограничены только
воображением пользователя
- от разработки
программного обеспечения
для автоматизации работы
предприятия до
автоматического
управления спутниковой
антенны. Если что-то может
быть сделано с помощью
коммерческой реализации
Unix, то, скорее всего, это
может быть сделано и с
применением BSD Unix, который
совершенно бесплатно
предлагает большое
количество программного
обеспечения высокого
качества из
исследовательских центров
и университетов всего
мира. Число доступных
коммерческих приложений
растет с каждым днем.
Поскольку исходный код
систем полностью доступен,
система может быть
настроена и/или
адаптирована для решения
конкретных проблем, что
обеспечивает гибкость,
отсутствующую у многих
коммерческих закрытых
систем. Вот лишь некоторые
примеры использования
FreeBSD, NetBSD или OpenBSD:
Internet-сервер: быстрая и
надежная реализация TCP/IP
делает BSD Unix идеальной
платформой для серверов FTP,
World Wide Web, Gopher, электронной
почты, BBS и Usenet;
обучение: BSD Unix поможет
будущим администраторам в
изучении архитектур
операционных систем и
сетевых возможностей
аппаратных конфигураций;
исследования: BSD Unix,
обладая полным исходным
кодом, может служить
хорошей платформой для
исследований и разработок
в области операционных
систем. Этому также
способствует отсутствие
лицензионных ограничений;
сети: FreeBSD или Open/NetBSD
могут с легкостью
превратить старый
компьютер 386/486 в DNS-сервер
или мощный маршрутизатор с
возможностью фильтрации
пакетов;
рабочая станция для X Window:
BSD Unix может неплохо
послужить в качестве
недорогого X-терминала.
Благодаря
свободно-распространяемому
XFree86-серверу можно
работать и с коммерческими
X-серверами. В отличие от
обычного X-терминала BSD Unix
позволяет X-приложениям
работать локально, снимая
нагрузку с сервера. BSD Unix
поддерживает удаленную
загрузку, облегчая
администрирование;
разработка программного
обеспечения: базовая
система BSD Unix поставляется
с полным набором
инструментов, которые
включают в себя компилятор
GNU C/C++ и отладчик.
BSD Unix, как правило, не
включает код поддержки DES,
чтобы не нарушать
экспортные ограничения
США, где доступен
дополнительный компонент,
обеспечивающий DES; для
жителей Европы и других
стран также существует
реализация DES,
распространяемая через
европейские FTP-серверы.
Если защита паролей -
единственное, что
требуется от функции crypt(),
и не нужно использовать
пароли в других системах
(Sun, DEC и т. д.), то FreeBSD
предлагает надежную
криптографическую защиту,
основанную на MD5. Данная
модель обеспечивает
защиту на уровне DES, а то и
превосходит его, поэтому
она устраивает
большинство пользователей
системы. OpenBSD поддерживает
MD5, ведутся работы по
добавлению модели
шифрования blowfish. ОС FreeBSD
также двигается к
реализации дополнительных
схем шифрования, между
которыми можно будет
переключаться.
8.
BSD/OS - коммерческая
BSD-система
До сих пор основное
внимание уделялось
свободно распространяемым
BSD-системам, однако имеет
смысл упомянуть также
коммерческую версию BSD/OS
компании Berkeley Software DesingBSD/OS.
Несколько ведущих
специалистов CSRG
организовали в 1991 году BSD
Inc., чтобы развивать
технологию BSD и донести ее
до коммерческих
заказчиков.
BSD/OS -
полнофункциональная,
POSIX-совместимая Unix-система
для процессоров
архитектуры 386, 486 и Pentium.
Система основана на
программном обеспечении
Университета Беркли, а
также других источниках и
компонентах,
разработанных в BSDI. Первая
версия BSD/OS была поставлена
заказчику в марте 1993 года.
Сегодня BSDI Internet Server,
основанный на BSD/OS, широко
известен в своем классе
систем и имеет несколько
наград (например, InfoWorld Top
Score Award в 1995 г.). Как и другие
BSD-системы, данная ОС может
служить WWW-сервером,
маршрутизатором и т. д. BSDI
Internet server несет в мир ПК
многое из того, что раньше
было возможно лишь на
более мощных системах:
многозадачность,
поддержка сети. Так, тесты
скорости BSDI показали, что
BSD/OS на Intel 486/66 развивает
скорость на уровне Sun
SPARCStation II, а Pentium-процессор
сравним уже с SUN SS10.
BSD/OS включает в себя все
компоненты полноценной
системы: X11R6, TCP/IP (+SLIP/PPP), NFS,
средства разработки на C/C++,
набор приложений и др. BSD/OS
поставляется в двоичном
виде, а за отдельную плату -
с исходными текстами.
Пожалуй, единственное, в
чем BSD/OS безусловно
обгоняет своих бесплатных
конкурентов - это
поддержка. BSD/OS -
коммерческий продукт, и
его пользователям
доступны "горячие"
телефонные линии, к их
услугам отделы поддержки и
т. д.
9. Так что же
лучше?
Однозначного ответа на
этот вопрос дать нельзя.
Любые аргументы в
"священной войне" -
это пустая трата времени.
Но можно взглянуть и с
другой стороны. Все
системы предоставляют
давно ожидаемые и
уникальные возможности:
полностью функциональная
операционная система
работает на популярном
оборудовании и при этом ее
исходные тексты полностью
доступны. Те, кто давно
работает в компьютерной
индустрии, вспомнят, что ОС
практически всегда
создавались поставщиками
конкретной аппаратуры и,
как правило, альтернативы
их системе не
существовало. Исходные
тексты никогда не
публиковались (многие
компании и сейчас
продолжают эту
"добрую" традицию).
Стать настоящим
профессионалом можно было,
лишь самостоятельно
разобравшись в структуре
системы, в логике ее
работы.
Но сегодня положение
изменилось. Пользователь
имеет возможность
приобрести ПК, который
будет в несколько раз
мощнее
многопользовательских VAX,
и при этом выбрать из
нескольких свободно
распространяемых
операционных систем (BSD, Linux
и т. д.) Классический
вопрос: если нечто
выглядит, как утка,
прогуливается, как утка, и
крякает, как утка, как это
называется? Ответ зависит
от того, является ли слово
"утка" торговой
маркой! Если это так, то
самое лучшее, на что вы
можете рассчитывать без
согласия владельца
торговой марки, это
"уткоподобное
существо". Unix является
торговой маркой X/Open Company,
поэтому остальные системы,
которые не имеют права на
ее использование, именуют
свои продукты Unix-подобными
или даже "UN*X-like".
Поэтому ни одна из
перечисленных ОС
формально не может
называться Unix, но разве они
стали от этого хуже?
Сегодня бесплатные ОС
динамично развиваются, ни
в чем не уступая, а во
многом даже превосходя
своих коммерческих
конкурентов. Более того,
пользователям дается шанс
лично повлиять на развитие
системы - достаточно иметь
в штате хороших
программистов, чтобы стать
независимым от поставщика
операционной системы. Не
придется ждать несколько
недель, если
обнаруживается какая-то
неточность или возникает
необходимость что-то
улучшить или добавить.
Вместо закрытого
коллектива разработчиков
(многие ли знают имена
создателей Windows 95?)
существует сообщество
энтузиастов, открытое для
сотрудничества.
Вы можете выбрать ту
операционную систему,
которая больше подходит:
FreeBSD, OpenBSD, Linux, NetBSD или
что-то иное. Но что бы вы ни
выбрали, это удачная
сделка. Многие небольшие
фирмы, Internet-провайдеры,
другие организации и
пользователи отказываются
тратить деньги на то, что
можно получить бесплатно,
и все чаще используют
свободно распространяемые
системы семейства Unix. Вы
боитесь, что не сможете
найти необходимого
программного обеспечения?
Во-первых, к вашим услугами
Internet, во-вторых, можно
приобрести программное
обеспечение под BSD/OS и/или
Linux и использовать его на
своей системе - двоичная
совместимость хорошо
отлажена. Кроме того,
многие коммерческие
разработчики
поворачиваются сейчас в
сторону свободно
распространяемых
BSD-систем.
Автор выражает
признательность за
содействие в подготовке
статьи Полу Краненбургу
(NetBSD), Ясону Торпу (NetBSD), Тео
де Раадту (OpenBSD) и Джордану
Хаббарду (FreeBSD).
Дополнительная
информация об
операционных системах
семейства BSD
386BSD - старые версии BSD
сегодня ориентируются
исключительно на
академическое и
исследовательское
сообщество,
распространяются через Dr.
Dobb's Journal на CD-дисках.
FreeBSD - версия BSD для
платформы Intel
ориентируется на широкое
использование,
распространяется на CD (Walnut
Creek CD-ROM, http://www.cdrom.com)
и через FTP (http://www.freebsd.org).
NetBSD - версия BSD для
множества различных
платформ, начиная от Intel и
68000 до DEC Alpha. Подробности на
http://www.netbsd.org.
OpenBSD - вариант NetBSD.
Более подробную
информацию можно найти по
адресу http://www.openbsd.org.
BSD/ OS (BSDI Internet Server) - коммерческая
BSD-система от Berkeley Software
Development, Inc. для Intel-платформ (http://www.bsdi.com).