FreeBSD базируется на операционной системе 4.4BSD-Lite для процессоров
семейства Intel x86. Для ознакомления с системой FreeBSD, смотрите
1.1. Несколько слов о FreeBSD
FreeBSD - это клон операционной системы UNIX для персональных компьютеров,
базирующихся на архитектуре процессоров Intel
(386SX/386DX/486SX/486DX/Pentium/Pentium Pro).
FreeBSD работает также на процессорах AMD и Cyrix , совместимых
с Intel. FreeBSD предоставляет широкий набор функций, которые ранее были
доступны только на более дорогих компьютерах.Они включают:
- Вытесняющую многозадачность (Preemptive multitasking) с
динамической настройкой приоритетов, которая обеспечивает гибкое
разделение ресурсов компьютера между приложениями и пользователями.
- Многопользовательский доступ, означающий, что одновременно в
системе могут работать несколько пользователей, использующих различные
приложения. Такие периферийные ресурсы, как принтер и магнитная лента,
также разделяются между всеми пользователями системы.
- Полная сетевая поддержка TCP/IP, включая SLIP, PPP, NFS и NIS.
Это означает, что ваша FreeBSD машина может легко взаимодействовать с другими
операционными системами, а также работать в качестве сервера, предоставляющего
такие важные функции, как NFS ( доступ к удаленным файлам) и электронную почту.
Вы можете организовать на ней WWW- или ftp-сервер, с помощью которого вы
можете представлять свою организацию в Internet , установить роутинг и систему
безопасности (firewall), защищающую вашу корпоративную сеть от внешнего
мира.
- Защиту памяти, которая гарантирует, что приложения (или
пользователи) не могут вредить друг другу. В любом случае крах одного
приложения никоим образом не задевает работу других.
- FreeBSD - это 32-bit-ная операционная система и была таковой с
самого начала.
- Промышленный стандарт X Window System (X11R6) предоставляет
графический пользовательский интерфейс (GUI), поддерживает большинство
VGA-карт, мониторов и приходит со всеми исходными кодами.
- Двоичную совместимость со многими программами, созданными для
систем SCO,BSDI, NetBSD, Linux и 386BSD.
- Большое число готовых к работе приложений, находящихся в коллекции
переносимых пакетов (Port Packages Collection). Зачем искать их, рыская по сети,
когда можно взять все это прямо здесь?
- Еще большее число дополнительных и легко переносимых приложений,
имеющихся в Internet. Исходные коды FreeBSD совместимы со многими
коммерческими системами UNIX и большинство приложений, если и требуют,
то совсем немного, изменений для их компиляции.
- Страничная организация виртуальной памяти (VM) с подкачкой страниц
по требованию и общий кэш для VM и буфера I/O позволяют удовлетворять
непомерные аппетиты приложений, в то же время не причиняя неудобств другим
пользователям.
- Разделяемые библиотеки (Unix-овый эквивалент MS-Windows DLL)
обеспечивают эффективное использование дискового пространства и памяти.
- Полный набор средств разработки для языков C, C++ и Fortran.
В коллекции пакетов можно найти много других языков для передовых
исследований и разработок.
- Исходные коды всей системы. Имея их, вы получаете самый высокий
уровень контроля над вашей средой.
- Обширная on-line документация .
- И многое многое другое!
FreeBSD базируется на ОС BSD версии 4.4BSD-Lite, разработанной
исследовательской группой компьютерных систем (Computer Systems Research
Group, сокращенно CSRG) Калифорнийского университета в Беркли и несет в себе
традиции разработки систем BSD. Группа FreeBSD Project добилась максимальной
производительности и надежности системы в ситуациях реальной жизни, потратив
на это достаточно много времени, в то время как многие коммерческие гиганты еще
бьются над решением этих задач на поле операционных систем для PC.
Диапазон приложений для FreeBSD, ограничивается только вашим воображением.
От разработки программного обеспечения до автоматизации производства, от систем
складского учета до дистанционной коррекции азимута антенны спутника, если это
можно сделать с помощью коммерческого UNIX, то с тем же успехом
это может быть сделано и с помощью FreeBSD. Важным преимуществом FreeBSD
является огромное количество высококачественных приложенией, разработанных
исследовательскими центрами и университетами во всем мире, которые по большей
части бесплатны, и ежедневно появляющиеся в большом количестве коммерческие
приложения.
Поскольку исходные коды самой системы доступны, можно настроить ее для
специфических приложений или проектов, что обычно невозможно сделать для
большинства коммерческих систем. Вот только несколько примеров приложений,
для которых используется FreeBSD:
- Услуги Internet : Устойчивость сетевого протокола TCP/IP, встроенного
в систему, делает ее идеальной платформой для различных интернетовских услуг:
- FTP-сервер
- WWW-сервер
- Gopher- сервер
- Почтовый сервер
- Новости USENET
- BBS (Bulletin Board Systems)
- И так далее...
- Образование:
Лучший способ изучать операционные системы, архитектуру
компьютеров и сетей - это потрогать все своими руками и
FreeBSD открыта для этого.
Существуют свободные CAD, математические пакеты и пакеты
графического дизайна, которые будут чрезвычайно полезны всем тем,
кто использует компьютер для конкретных целей.
- Исследование:
Исходные коды - прекрасный источник для
изучения работы операционных систем и других направлений компьютерных технологий.
FreeBSD свободная система, поэтому люди, разделенные расстоянием, могут
сотрудничать друг с другом, обсуждать вопросы на открытых
форумах, не беспокоясь о лицензионных соглашениях и ограничениях.
- Сеть:
Вам нужен новый роутер? DNS? Firewall, обеспечивающий
защиту вашей внутренней сети от внешнего мира?
FreeBSD может превратить устаревшие 386 и 486 PC, тихо пылящиеся
где-нибудь в углу, в эффективные роутеры с изощренными возможностями
фильтрации пакетов.
- Рабочая станция X Window:
С помощью FreeBSD можно создать
недорогие X-терминалы, используя свободный XFree86-сервер или один
из коммерческих серверов, содержащий в себе X.
В отличие от X-терминала, FreeBSD позволяет запускать на локальной машине,
если нужно, некоторые приложения, снижая тем самым нагрузку на центральный сервер.
FreeBSD даже может производить "бездисковую" загрузку, делая индивидуальные
рабочие станции дешевле и проще для администрирования.
- Разработка программного обеспечения:
Базовая система FreeBSD приходит с полным комплектом средств разработки,
включая известный GNU компилятор C/C++ и отладчик.
1.2. Историческая справка
Проект FreeBSD родился в начале 1993 года, отпочковавшись от
неофициальной версии системы 386BSD Patchkit. Группа состояла по крайней
мере из трех координаторов: Нейта Уильямса (Nate Williams), Рода Граймса
(Rod Grimes) и Джордана Хаббарда (Jordan Hubbard).
Сначала в их планы входило только "заморозить" 386BSD в ее текущем состоянии
и зафиксировать проблемы, с которыми механизм patchkit уже не справлялся.
Некоторые из вас может быть помнят, что на ранней стадии проект так и назывался
"386BSD 0.5" или "386BSD Interim", что означает временный.
Билл Джолитц (Bill Jolitz) был автором системы 386BSD.
За год в ней накопилось множество нерешенных проблем, в результате чего
patchkit раздулся невероятно.
В группе все единодушно согласились, что необходимо что-то предпринять,
и предложили Биллу эту временную "вычищенную" версию системы.
Но планам не суждено было сбыться, потому что Билл Джолитц резко
приостановил их, неожиданно отказавшись от поддержки этого проекта без ясных
указаний того, что должно быть сделано взамен.
Однако группе не потребовалось много времени на раздумывание. Поставленная
цель заслуживала внимания даже без поддержки Билла, и они дали проекту другое
название "FreeBSD", подкинутое Дэвидом Гринманом (David Greenman). После
консультаций с пользователями системы были обрисованы начальные цели проекта
и сразу стало ясно, что у проекта есть будущее. Джордан Хаббард связался с
компанией Walnut Creek CDROM, чтобы расширить каналы распространения FreeBSD
для тех несчастливцев, у которых нет доступа к Internet.
Компания Walnut Creek CDROM не только поддержала идею распространения FreeBSD
на CD, но даже пошла дальше и предоставила для проекта оборудование и быстрое
соединение с Internet. Без серьезной поддержки со стороны этой компании к тому
времени совсем неизвестного проекта прогресс FreeBSD был бы невозможен.
Первый дистрибутив системы FreeBSD 1.0 на CDROM'е и в сети
был выпущен в декабре 1993 года. Он базировался на системе 4.3BSD-Lite
("Net/2") tape, созданной в Калифорнийском университете в Беркли, со многими
компонентами, предоставляемыми 386BSD и Free Software Foundation.
Новая система имела удивительный успех и группа продолжила работу над
совершенствованием проекта и мае 1994 года была выпущена новая версия
системы FreeBSD 1.1.
Где-то к этому времени над горизонтом сгустились грозовые тучи, когда
Novell и Калифорнийский университет в Беркли завершили свой длительный
судебный процесс по поводу легального статуса Net/2 tape. Условием этого
соглашения стала уступка со стороны университета некоторых частей Net/2,
довольно больших, которые были "препятствующим" кодом и являлись
собственностью Novell. Ранее перед этим Novell приобрела их у AT&T.
В обмен университет получил "благословение" Novell , что когда, наконец,
будет выпущена версия 4.4BSD-Lite, Novell не будет претендовать на нее
и будет поощрать переход всех существующих пользователей
Net/2 на эту версию. Для FreeBSD был установлен крайний срок, в рамках
которого проекту разрешалось выпустить последнюю версию,
FreeBSD 1.1.5.1.
Затем группа приступила к трудной задаче буквально возродить FreeBSD
из абсолютно новой и незавершенной системы 4.4BSD-Lite.
"Lite"-выпуски были действительно облегченными, потому что группа CSRG
в Беркли удалила большие куски кода (благодаря различным законным
требованиям). Кроме этого не надо упускать из виду, что перенос 4.4 на Intel
был очень несовершенен. До декабря 1994 года проект занимался своим
перемещением и в январе 1995 года была
выпущена версия FreeBSD 2.0 в сети и на CDROM. Несмотря на то, что новая
версия не была достаточно обкатана, она имела значительный успех.
Работа продолжалась и в июне 1995 года была выпущена следующая версия
FreeBSD 2.0.5, которая была более устойчивая и проще в установке.
Что дальше
В августе 1996 года группа выпустила версию FreeBSD 2.1.5, которая сразу
стала достаточно популярной среди провайдеров Internet и компаний, выпускающих
коммерческие продукты. Версия FreeBSD 2.1.7.1, выпущенная в феврале
1997 года, являлась концом разработки главной линии 2.1. Сейчас в основном
направлении развития системы стоят усовершенствование безопасности (security) и
исправление других критических моментов, зафиксированные в ветви (RELENG_2_1_0).
FreeBSD 2.2 ответвилась от главной линии разработки в ноябре 1996 года.
Первая полная версия (2.2.1) направления RELENG_2_2 была выпущена в апреле
1997 года. Дальнейшие выпуски новых версий этой линии спланированы на
лето и конец 1997 года и в самом начале зимы ожидается первый выпуск
версии 3.0.
Долгосрочные проекты разработки для поддержки различных платформ, от SMP до
DEC ALPHA, будут продолжаться в линии 3.0 и промежуточные версии 3.0 начнут
появляться в мае 1997 года на CDROM и в сети.
1.3. Цели проекта FreeBSD
Цели проекта FreeDSD - предоставить программное обеспечение,
которое можно было бы использовать для любых целей без ограничений.
Многие из нас имеют значительные инвестиции в код (да и проект тоже)
и конечно не отказались бы от небольшой финансовой компенсации
сейчас и позже, но ни в коем случае не собираемся на этом настаивать.
Мы считаем, что наша первая и основная цель -
предоставить ПО всем желающим для любых целей, так чтобы
это ПО получило широкое распространение и приносило максимальную пользу.
Это, по моему мнению, одна из наиболее фундаментальных
целей Свободного ПО и та, которую мы поддерживаем с энтузизмом.
Та часть наших исходных текстов, которая распространяется
на условиях
GNU Public License
(GPL) или GNU Library Public License (GLPL)
имеет чуть больше ограничений.
Из-за дополнительных сложностей при коммерческом использовании
ПО с лицензией GPL, мы стараемся по возможности заменять такое ПО
на ПО с более свободной лицензией BSD.
1.4. Модель разработки FreeBSD
Разработка FreeBSD - очень открытый и гибкий процесс, FreeBSD была
буквально построена из вкладов сотни людей всего мира. Мы постоянно ищем новых
разработчиков и новые идеи, и те кому интересно более тесно работать над
проектом пишите нам на freebsd-hackers@FreeBSD.ORG
Те, кто предпочитает работать более независимо, - также принимаются, они могут
свободно использовать наш FTP узел по адресу ftp.freebsd.org, чтобы
распространять их собственные патчи или работающие программы.
Список рассылки анонсов FreeBSD
freebsd-announce@FreeBSD.ORG
также доступен тем, кто желает анонсировать другим пользователям FreeBSD
главные области работы.
Работая независимо или в закрытой кооперации, полезно знать о следующих
вещах:
- The CVS repository
-
Центральное дерево исходных текстов поддерживается с помощью
CVS
(Concurrent Version System),
свободно доступного средства контроля исходных текстов, который
поставляется вместе с FreeBSD.
Главное CVS repository
находиться на машине в Concord CA, USA, откуда оно раскопируетя на
множество машин-зеркал по всему миру.
CVS дерево, также как и -current и -stable деревья, которые
вынимаются из него, могут быть также легко раскопированы на вашу
машину. Для того, чтобы получить больше информации по данному вопросу,
посмотрите Synchronizing your source tree.
- Список вершителей
- Вершители - это люди, которые имеют доступ на ''запись'' к CVS дереву,
и которые имеют права
делать изменения в исходных текстах FreeBSD
(термин ''вершитель'' - наш вольный перевод слова committer, а
''committer'' произошло от команды
cvs(1) ''commit'', которая
используется для завершения новых изменений в хранилище CVS).
Лучший способ предоставить предлагаемые изменения на суд ``вершителей'' -
это использовать команду
send-pr(1),
Хотя если что-нибудь не так, то вы можете связаться с ними по email
committers@freebsd.org.
- Команда FreeBSD
- Команда FreeBSD
была бы эквивалентна совету директоров, если бы проект FreeBSD
был компанией. Первичная задача команды проверять, что проект в
целом в хорошей форме и находится в правильных директориях.
Включение и исключение разработчиков из группы вершителей
- одна из основных функций команды. Большинство сегодняшних членов
команды начинали как вершители.
Некоторые члены команды также имеют определенные
области ответственности,
что означает, что они должны гарантировать работоспособность
некоторой большой части системы. Заметьте, что большинство членов
команды добровольно занимаются разработкой FreeBSD и не имеют никакой
финансовой выгоды. Но это ''обязательство'' не должно быть исталковано
как ''гарантировання поддержка''. Аналония с ''правлением директоров'' на
самом деле не очень точная, и может быть более правильно сказать, что
это люди, которые отдали свои жизни во благо FreeBSD вопреки их голосу
разума! ;)
- Outside contributors
- И последние по порядку, но не по важности, большие группы разработчиков, т.е.
пользователи, которые шлют нам свои комментарии и исправленные ошибки
на добровольной основе.
Основной способ оставаться в курсе событий
не очень централизованных FreeBSD разработок -
это подписаться на список рассылки freebsd-hackers@FreeBSD.ORG
В итоге, наша модель разработки организованна как свободное
множество концентических окружностей. Централизованная модель спроектирована
для удобства пользователей FreeBSD,
для того чтобы можно было
отслеживать изенения в единственном центральном месте,
а не для того чтобы ограничить возможности участия в проекте.
Наше цель - предоставить стабильную
ОС с большим количеством программ и
приложений, которые пользователь может легко устанавливать и
использовать, и для этой цели эта модель работает замечательно.
Все что мы хотим от тех, кто хочет присоединиться к нам,
как к разработчикам FreeBSD - это такое же желание
иметь продолжительный успех,
как и у сегодняшних разработчиков.
1.6.О текущей версии
FreeBSD - свободно распространяемая система, базирующаяся на 4.4BSD-Lite
для процессоров Intel i386/i486/Pentium/PentiumPro (и совместимых с ними).
Первоначально за основу было взято программное обеспечение группы CSRG
из Калифорнийского университета в Беркли с некоторыми расширениями из
NetBSD, 386BSD и Free Software Foundation.
С версии FreeBSD 2.0, выпущенной в январе 1995 года,
производительность, множество функций и устойчивость системы улучшились
коренным образом.
Наибольшим изменениям подверглась переделанная система виртуальной памяти
(VM) и общего кэша VM и буфера I/O, которая не только увеличила
производительность, но и уменьшила объем памяти, занимаемой FreeBSD,
что позволило сделать минимальную конфигурацию на 5Мб.
Другие усовершенствования включают полную поддержку NIS клиент/сервер,
протоколов TCP, PPP, улучшенную SCSI подсистему, поддержку ISDN, FDDI и
адаптеров Fast Ethernet (100Mbit), улучшенную поддержку Adaptec 2940
(широкий и узкий) и множество исправленных ошибок.
В дополнение к базовому дистрибутиву FreeBSD предлагает
новую коллекцию переносимого программного обеспечения (ports
collection) с большим количеством популярных программ.
В начале декабря 1996 года в ней было более чем 700 элементов (портов).
Коллекция содержит http (WWW)-серверы, игры, языки, редакторы и т.п.
Целиком коллекция занимает всего 10Мб дискового пространства,
все порты представлены в исходных кодах. Это упрощает
модификацию порта и значительно уменьшает требования к дисковому
пространству, которые были присущи более старой версии коллекции 1.0.
Чтобы откомпилировать порт, нужно просто изменить директорий программы,
которую вы хотите инсталлировать, напечатать ``make install'' и после
успешной компиляции напечатать ``make all'', предоставив системе все
остальное проделать самой. Полный оригинальный дистрибутив каждого порта,
который вы строите, динамически восстанавливается с CDROM или локального
ftp-сайта, поэтому вам нужно только необходимое место на диске для выбранного
порта. Практически все порты снабжены предкомпиляционными "пакетами", которые
могут быть установлены простой командой (pkg_add), если вы не хотите
сами компилировать порты из исходных кодов.
В директории '/usr/share/doc' много дополнительных документов,
которые могут оказаться полезными во время установки и использования
системы (для машин, работающих под FreeBSD 2.1 и выше).
|