Несколько слов о FreeBSD
Несколько слов о FreeBSD Иногда я получаю письма, в которых мне ставят в вину то, что публикуя материалы по свободным системам, я пишу в основном про ОС Linux, забывая про другие операционные системы. Сегодня я хочу сказать пару слов о другой свободной ОС: FreeBSD.
FreeBSD — это клон операционной системы UNIX для персональных компьютеров, базирующихся на архитектуре процессоров Intel, AMD. 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++ и отладчик.
Историческая справка
Проект 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 года. Дальнейшие выпуски новых версий выходили и выходят достаточно регулярно.
Цели проекта FreeBSD
Цели проекта FreeDSD — предоставить программное обеспечение, которое можно было бы использовать для любых целей без ограничений. Многие из разработчиков имеют значительные инвестиции в код (да и проект тоже) и, конечно, не отказались бы от небольшой финансовой компенсации сейчас или позже, но ни в коем случае не собираются на этом настаивать. Считается, что первая и основная цель — предоставить ПО всем желающим для любых целей, чтобы это ПО получило широкое распространение и приносило максимальную пользу. Это одна из наиболее фундаментальных целей Свободного ПО и та, которая поддерживается с энтузиазмом.
Та часть наших исходных текстов, которая распространяется на условиях GNU Public License (GPL) или GNU Library Public License (GLPL), имеет чуть больше ограничений. Из-за дополнительных сложностей при коммерческом использовании ПО с лицензией GPL, разработчики стараются по возможности заменять такое ПО на ПО с более свободной лицензией BSD.
X-Stranger
FreeBSD — это клон операционной системы UNIX для персональных компьютеров, базирующихся на архитектуре процессоров Intel, AMD. 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++ и отладчик.
Историческая справка
Проект 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 года. Дальнейшие выпуски новых версий выходили и выходят достаточно регулярно.
Цели проекта FreeBSD
Цели проекта FreeDSD — предоставить программное обеспечение, которое можно было бы использовать для любых целей без ограничений. Многие из разработчиков имеют значительные инвестиции в код (да и проект тоже) и, конечно, не отказались бы от небольшой финансовой компенсации сейчас или позже, но ни в коем случае не собираются на этом настаивать. Считается, что первая и основная цель — предоставить ПО всем желающим для любых целей, чтобы это ПО получило широкое распространение и приносило максимальную пользу. Это одна из наиболее фундаментальных целей Свободного ПО и та, которая поддерживается с энтузиазмом.
Та часть наших исходных текстов, которая распространяется на условиях GNU Public License (GPL) или GNU Library Public License (GLPL), имеет чуть больше ограничений. Из-за дополнительных сложностей при коммерческом использовании ПО с лицензией GPL, разработчики стараются по возможности заменять такое ПО на ПО с более свободной лицензией BSD.
X-Stranger
Компьютерная газета. Статья была опубликована в номере 28 за 2002 год в рубрике soft :: linux