Операционная система FreeBSD
Министерство образования Республики Таджикистан
Таджикский Технический Университет им. ак. М. С. Осими
кафедра АСОИиУ
Курсовая работа
на тему: «Операционная система FreeBSD»
Душанбе 2009
Оглавление
Аннотация
Введение
Для чего нужна FreeBSD
FreeBSD в роли настольной ОС
FreeBSD в роли серверной ОС
FreeBSD и неродственные неродственные операционные системы
FreeBSD и другие разновидности UNIX
Программная среда
История разработки FreeBSD
Взаимодействие с другими компьютерами по сети
Сосуществование FreeBSD с другими ОС на одном компьютере
Аппаратная среда
Типы и производительность процессоров
Требования к оперативной памяти
Жёсткие диски
Диски SCSI и EIDE
Общие требования к объёму дискового пространства
Графическое оборудование
Сетевое оборудование
Принтеры
Вспомогательные устройства
Заключение
Список литературы
Аннотация
Эта курсовая работа может вполне послужить ознакомительным руководством по операционной системе FreeBSD. Но прежде чем начинать знакомство с системой, нужно ответить на ряд важных вопросов: зачем устанавливать FreeBSD, какое программное обеспечение в ней работает и какую аппаратную платформу лучше всего использовать? Об этом и пойдет речь в настоящей курсовой работе. Понимание особенностей операционной системы позволит избежать дорогостоящих ошибок, таких, например, как попытка эксплуатации системы на неадекватном оборудовании или в неподходящей среде.
На сегодняшний день существует много различных операционных систем, начиная от DOS-а и заканчивая Windows Vista. Может показаться бессмысленным разговор о операционной системе FreeBSD учитывая таких серьёзных конкурентов как Mac OS X и Windows Vista. Но в области вычислительной техники часто встречаются примеры простеньких операционных систем. Почему же так получается? Дело в том, что есть такие области вычислительной техники в которых применение таких «титанических» систем как Windows и Mac OS было бы просто не выгодно как в техническом так и в материальном плане. Поэтому и создаются такие системы как FreeBSD.
Вместе с этим FreeBSD является операционной системой с открытым программным кодом, т.е. операционную систему можно модернизировать и даже в некоторых случаях изменять в корне (кроме основного ядра системы). FreeBSD также является системой бесплатного распространения, т.е. вы можете её установить, не выплачивая денег за лицензию. Стоит также подчеркнуть, что FreeBSD является UNIX-подобной операционной системой (т.е. производной от UNIX).
Введение
Что же из себя представляет FreeBSD. В двух словах, FreeBSD - это UNIX-подобная операционная система для платформ i386, IA-64, PC-98, Alpha/AXP и UltraSPARC, разработанная на основе операционной системы ''4.4 BSD-Lite'' с некоторыми усовершенствованиями, взятыми из ''4.4 BSD-Lite 2'' Калифорнийского Университета (Беркли). Также она косвенно базируется на 386BSD (BSD Net/2, перенесённой на платформу i386 Вильямом Джолитцем (William Jolitz)), хотя от того первоначального кода осталось очень мало. FreeBSD используется компаниями, Интернет-провайдерами, научными работниками, профессионалами в вычислительной технике, студентами и рядовыми пользователями по всему миру для работы, образования и отдыха. Почему система называется именно FreeBSD? Ответ прост:
Она может использоваться без всяческих выплат, даже для извлечения выгоды.
Все исходные тексты операционной системы свободно доступны, на её использование в других разработках (как коммерческих, так и некоммерческих) и дальнейшее распространение наложены минимальные ограничения.
Любой, у кого есть усовершенствования или исправления, может предоставить свой код и он будет (правда, с парой оговорок) добавлен в исходные тексты системы.
Следует отметить, что слово ''free'' используется здесь в двух смыслах, один означает ''бесплатно'', а другой ''вы можете делать всё, что хотите''. За исключением пары вещей, которые вы не можете делать с FreeBSD, например, претендовать на то, что являетесь её разработчиком, на самом деле можно делать с ней всё, что вам заблагорассудится.
Для чего нужна FreeBSD
В любом деле важно находить правильные средства для достижения поставленных целей, и выбор оптимальной операционной системы (ОС) — не исключение. FreeBSD — очень гибкая и эффективная система, имеющая множество возможных вариантов применения. Но, несмотря на это она не всегда оказывается наилучшим выбором. Вот почему нужно, прежде всего, проанализировать, в каких обстоятельствах следует инсталлировать именно FreeBSD.
FreeBSD устанавливают либо на рабочей станции, либо на сервере. Ниже рассматриваются достоинства и недостатки системы в каждом из этих случаев. Кроме того, FreeBSD — член семейства операционных систем, производных от (или смоделированных на основе) UNIX. Поэтому важно понимать, как FreeBSD (и UNIX в целом) соотносится с операционными системами других типов и какое место занимает FreeBSD в семействе UNIX-подобных систем.
FreeBSD в роли настольной ОС
В этой курсовой работе под термином рабочая станция понимается компьютер, за которым пользователь решает свои повседневные задачи: редактирует текст, программирует, занимается Web-дизайном (играет в игры...). Иногда термин употребляют в более узком смысле, подразумевая, что указанные выше функции выполняются на высокопроизводительных компьютерах или системах, постоянно подключенных к сети. В этом случае низкопроизводительные или изолированные системы называют настольными компьютерами. Впрочем, уровень вычислительных мощностей постоянно растет, соответственно меняется и оценка производительности. Что касается подключения к сети, то нужно учитывать огромную популярность коммутируемых сетевых соединений в системах нижнего сегмента рынка. Исходя из этого мы будем употреблять термин "рабочая станция" в отношении компьютеров конечных пользователей.
Способность компьютера играть роль рабочей станции зависит от двух основных факторов.
• Удобный пользовательский интерфейс. Современные пользователи привыкли к наличию удобных средств работы с компьютером. Ключевое из них — пользовательский графический интерфейс. Во FreeBSD графический интерфейс представлен средой Х Window System (сокращенно — Х-среда). Ее ядро довольно примитивно в сравнении с другими аналогичными интерфейсами, поэтому к нему добавлен ряд надстроек, таких как диспетчер окон (управляет рамками окон) и набор элементов управления (упрощают программисту задачу отображения меню, диалоговых окон и т.д.). Подобный модульный подход делает Х-среду очень гибкой с точки зрения программирования интерфейса, но есть и обратная сторона медали: возникающая несогласованность между приложениями часто сбивает пользователей с толку.
• Доступность прикладных программ. На рабочей станции выполняются пользовательские приложения: текстовые редакторы, программы обработки электронных таблиц, почтовые клиенты, компиляторы, графические редакторы и даже игры. Если операционная система не может предложить пользователю необходимый набор прикладных программ, то она не подходит для установки на рабочей станции. Список приложений, доступных во FreeBSD, велик, хотя и не настолько, как хотелось бы. В частности, популярный пакет Microsoft Office не перенесен во FreeBSD. Существуют его альтернативы, такие как пакет OpenOffice.org, но они не обеспечивают 100-процентную совместимость файлов. Если говорить в целом, то в одних категориях (например, игры) ощущается нехватка приложений для FreeBSD, а в других их более чем достаточно.
FreeBSD вполне подходит на роль операционной системы для рабочей станции, хотя в конкретной ситуации выбор зависит от специфических потребностей пользователя. К достоинствам FreeBSD относятся низкая стоимость, способность функционировать на старом оборудовании, стабильность, гибкий пользовательский интерфейс и близкое сходство с другими разновидностями UNIX. К недостаткам можно отнести менее согласованный, чем в Windows или Мас OS, пользовательский интерфейс, несколько непривычный для пользователей вышеуказанных систем. Что касается фактора доступности прикладных программ, то все зависит от обстоятельств. Если пользователь вынужден работать с приложениями вроде Microsoft Office, которые недоступны во FreeBSD, придется обратиться к другой операционной системе. Если же пользователь не привязан к конкретным форматам файлов, то можно сделать выбор в пользу FreeBSD.
Стоит подметить, что если на рабочей станции требуется установить UNIX-подобную операционную систему и при этом предполагается запускать Microsoft Office или другой прикладной пакет, недоступный во FreeBSD, то в качестве компромиссного варианта подойдет Мас OS Х. Эта система создана на основе микроядра Mach и целого ряда компонентов FreeBSD. Конечно, Мас OS Х — это не FreeBSD, но благодаря многочисленным "заимствованиям" из FreeBSD и других разновидностей UNIX она гораздо больше знакома администраторам UNIX, чем Windows-системы или более ранние версии Мас OS. В Мас OS Х поддерживаются многие прикладные пакеты, включая Microsoft Office.
Если предполагается, что в системе будет работать большое количество пользователей, то нужно уделить особое внимание вопросам конфигурирования графических оболочек. Эти оболочки значительно усовершенствовались с середины 90-х и по-прежнему регулярно обновляются.
FreeBSD в роли серверной ОС
Серверы — это компьютеры с сетевыми платами, обрабатывающие запросы других компьютеров. Именно серверы обеспечивают наиболее эффективное функционирование сетей. Ниже рассмотрены примеры серверов.
• Файловый сервер позволяет другим компьютерам читать и записывать файлы серверной файловой системы. Эти серверы можно использовать для распространения свободно доступных файлов (например, компонентов FreeBSD), а также в качестве централизованного хранилища файлов локальной сети.
• Web-сервер. В определенном смысле это разновидность файлового сервера. Обычно служит для доставки файлов Web-клиенту, называемому браузером.
• Почтовый сервер — это компьютер, обменивающийся почтовыми сообщениями с другими серверами либо с почтовыми клиентами конечных пользователей. В Internet обмен почтой происходит в основном между серверами, тогда как в локальной сети достаточно одного почтового сервера.
• Сервер дистанционной регистрации. FreeBSD можно сконфигурировать на прием регистрационных запросов от других пользователей. В этом случае работа в системе ведется в дистанционном режиме, т.е. стирается грань между рабочей станцией и сервером (система реализует функции сервера, но используется в основном как рабочая станция). Иногда на сервере предусматривается возможность дистанционной регистрации администратора.
• Вспомогательные серверы выполняют служебные функции. Например, сервер DHCP (Dynamic Host Configuration Protocol — протокол динамического конфигурирования компьютеров) позволяет централизованно задавать параметры сетевой конфигурации клиентских компьютеров. Сервер шрифтов предоставляет рабочим станциям информацию о шрифтах.
FreeBSD является прекрасным кандидатом на роль серверной ОС. Не в последнюю очередь это связано с тем, что многие популярные серверные программы изначально разрабатывались в среде UNIX и потому прекрасно работают во FreeBSD. В сочетании с недорогими аппаратными компонентами платформы х86 система на базе FreeBSD является весьма экономичным решением для большинства современных серверных программ.
Сам по себе термин "сервер" может обозначать как компьютер, так и программу, реализующую серверные функции. Это означает, что один компьютер способен быть сервером сразу нескольких типов, например почтовым и Web-сервером. В большинстве случаев смысл термина "сервер" ясен из контекста.
Преимуществом использования FreeBSD в качестве серверной ОС является надежность системы. Несмотря на то что компьютеры, работающие на базе процессоров х86, весьма разнородны и не всегда столь же надежны, как традиционные серверные компьютеры, выпускаемые, к примеру, компаниями Sun и Silicon Graphics, FreeBSD вполне стабильна. Нередко серверы FreeBSD работают без сбоев месяцами. Если происходит перезагрузка, то это чаще делается для обновления аппаратных, а не программных компонентов. Перезагружать зависшую или нестабильно работающую систему приходится еще реже. Поскольку от сервера зависит работоспособность множества компьютеров, высокая надежность — очень важное качество операционной системы.
Серверным компьютерам требуется эффективное и надежное сетевое программное обеспечение. Сюда входят как отдельные серверные пакеты, так и компоненты ядра операционной системы, например драйверы сетевых плат и стек ТСР/IР, отвечающий за выполнение сетевых функций. Во FreeBSD стек ТСР/IP зарекомендовал себя с наилучшей стороны. В нем реализованы средства защиты, позволяющие фильтровать пакеты, в том числе на основании IP-адресов отправителя и получателя. Средства фильтрации постоянно совершенствуются в современных операционных системах и жизненно необходимы серверам, часто атакуемым хакерами. Помимо средств защиты самой FreeBSD многие серверные программы обладают собственными механизмами защиты.
FreeBSD и неродственные операционные системы
Чтобы решить, какая операционная система является в вашем случае наиболее предпочтительной, следует разбить возможные варианты на две группы: UNIX-подобные системы и остальные. FreeBSD относится к первой группе. Прежде всего нужно определить, имеет ли смысл устанавливать одну из разновидностей UNIX. Если ответ положителен, можно переходить к оценке преимуществ различных систем этой группы.
На сегодняшний день спектр существующих операционных систем чрезвычайно велик. Мы остановимся на наиболее популярных системах, функционирующих на платформах потребительского сегмента рынка (процессоры х86 и PowerPC).
DOS. Дисковая операционная система (Disk Operating System, DOS) была первой системой такого рода для компьютеров IBM PC и в различных формах "дожила" до сегодняшних дней. Все эти формы довольно примитивны в сравнении с современными операционными системами. Их основные достоинства — небольшой занимаемый размер (как на диске, так и в оперативной памяти) и способность выполнять приложения в режиме реального времени, что требует точной синхронизации.
Windows 9х/Ме. Это семейство Windows-систем больше не разрабатывается. В его основе лежит ядро DOS, в которое интегрированы средства графического интерфейса и вытесняющей многозадачности. Системы Windows 9х/Ме достаточно ненадежны и имеют много других недостатков. Тем не менее они все еще широко распространены, в немалой степени из-за доступности популярных пользовательских приложений, работающих только в среде Windows, таких как Microsoft Office.
Windows NT/2000/ХР. Изначально Windows NT представляла собой полностью переработанную реализацию среды Windows. В последующих версиях системы улучшались средства пользовательского интерфейса и повышалась совместимость с популярными программами. В 2002 г. компания Microsoft позиционировала Windows 2000 как серверную и корпоративную ОС, а Windows XP — как систему для домашнего применения. Обе они основаны на Windows NT и гораздо надежнее семейства Windows 9х/Ме, основанного на DOS. Считается, что FreeBSD надежнее, чем Windows NT/2000/XP, хотя у такого мнения, естественно, немало противников. Windows 2000 или XP будет хорошим выбором в том случае, если требуется запускать программы, работающие только в среде Windows.
Windows Vista. Абсолютное перерождение линейки Windows. Vista представляет собой ОС нового поколения. По принципам работы и взаимодействия с оборудованием она превосходит все остальные ОС. Единственным камнем преткновения могут быть приличные системные требования. По надёжности Vista не уступает другим современным ОС.
OS/2. Несмотря на то что компания IBM не выпускала новых версий OS/2 с 1996 г. (Warp 4), эта система остается вполне жизнеспособной. По надежности она сопоставима с Windows 2000/XP, вот только способна выполнять лишь старые 16-разрядные приложения Windows, DOS-приложения и программы, написанные специально для OS/2. В среду OS/2 было перенесено множество традиционного программного обеспечения UNIX. В 2001 г. лицензию на OS/2 приобрела компания Serenity Systems , которая выпустила обновленную версию под названием eComStation.
BeOS. Система BeOS разрабатывалась "с нуля" с учетом последних достижений в области операционных систем, но так и не стала популярной. Круг ее пользователей продолжает сокращаться, хотя у системы остаются верные поклонники. BeOS отличается стабильностью и производительностью, однако число доступных программ невелико. Как и
OS/2, BeOS имеет преимущества в той среде, где вычислительная инфраструктура давно налажена. В остальных случаях использование системы неоправданно. В 2001 г. компанию Ве, Inc., разработчика BeOS, приобрела компания Palm.
Мас OS. Mac OS долгое время являлась единственным серьезным конкурентом Windows на рынке настольных систем, но оба семейства операционных систем работают на разном оборудовании: в случае Windows это процессоры х86, а в случае Мас OS — процессоры 680х0 и (с недавнего времени) PowerPC. Mac OS славится своим пользовательским интерфейсом и имеет преданную армию поклонников. Последние версии Мас OS, называемые Мас OS Х, основаны на ядре UNIX с немалыми заимствованиями из FreeBSD, так что в определенном смысле МАС OS Х можно считать разновидностью UNIX. Отличия, впрочем, остаются довольно существенными, особенно в плане пользовательского интерфейса, поэтому система и была отнесена к рассматриваемой категории. Мас OS Х может оказаться хорошей альтернативой в том случае, если требуется система с надежным ядром UNIX и возможностью выполнять популярные пользовательские приложения (при условии, что они перенесены в Мас OS Х). FreeBSD ориентирована в основном на платформу х86, поэтому недоступна для оборудования, на котором традиционно работает Мас OS Х (в настоящее время ведутся разработки по переносу FreeBSD на платформу PowerPC).
Сравнивать FreeBSD с перечисленными операционными системами сложно, так как они довольно неоднородны. Остановимся на наиболее серьезных соперниках — Windows (преимущественно Windows 2000 и XP, хотя Windows 9х/Ме тоже нужно учитывать из-за огромного количества инсталлированных систем) и Мас OS.
В сравнении с Windows достоинства FreeBSD проявляются в основном в серверной части. Некоторые из наиболее популярных серверов, в частности почтовый сервер sendmail и Web-сервер Apache, ориентированы на платформу UNIX и отлично работают во FreeBSD. В последние годы эти программы привлекали меньше внимания со стороны хакеров, чем их Windows-аналоги. Например, в 2001 г. Web-серверы Windows подверглись массированному нападению вирусов-червей типа Code Red и Nimda. Впрочем, нельзя поручиться, что ситуация не изменится в будущем.
Популярность Microsoft Office делает FreeBSD менее предпочтительным выбором, чем Windows и Мас OS, когда речь заходит об офисных применениях, например о редактировании текста (по крайней мере, если необходимо обмениваться файлами с другими пользователями Microsoft Office). Альтернативные пакеты наподобие OpenOffice.org позволяют читать и записывать файлы в формате Microsoft Office, но могут возникать проблемы с форматированием. Если же совместимость с Microsoft Office не требуется, то шансы уравниваются. Как правило, предпочтение отдается той операционной системе, которая лучше поддерживает применяемое программное обеспечение.
Очевидными плюсами FreeBSD являются гибкость и сетевые возможности Х-среды. Но если пользователи имеют опыт работы с Windows или Мас OS, интерфейс FreeBSD покажется им непривычным и не всегда удобным.
FreeBSD и другие разновидности UNIX
Если вы окончательно решили отдать предпочтение UNIX, а не Windows, Мас OS или другой системе, то встает следующий вопрос какую разновидность UNIX выбрать? FreeBSD — один из нескольких доступных вариантов, и нужно понимать, чем эта система отличается от других аналогичных систем. Во многих случаях любая UNIX-система вполне подходит для решения поставленных задач, но бывают ситуации, когда FreeBSD лучше (или хуже) справляется с конкретной задачей.
Как правило, в различных UNIX-системах используется одно и то же программное обеспечение. Например, во всех системах работают популярные серверы sendmail и Apache, а также Х Window System. Ниже перечислено то, что действительно отличает UNIX-системы друг от друга.
Ядро. Ядро — это программный компонент, составляющий основу операционной системы. Оно служит интерфейсом между пользовательскими программами и аппаратными устройствами компьютера, управляет файлами и процессами и выполняет ряд других низкоуровневых задач. Таким образом, ядро обеспечивает стабильность операционной системы и определяет ее характеристики, например перечень поддерживаемых аппаратных устройств (некоторые устройства обслуживаются внешними драйверами).
Аппаратная поддержка. UNIX-системы работают не только на платформе х86. Производительность процессоров х86 ставит их на нижнюю ступень, по крайней мере в семействе процессоров универсального назначения. Некоторые UNIX-системы ориентированы на суперкомпьютеры, и обычные операционные системы, такие как FreeBSD, не могут с ними конкурировать. Поддержка конкретных аппаратных устройств (модемов, сетевых и звуковых плат и т.д.) зависит от ядра и вспомогательных программ.
Стратегия распространения. Некоторые разновидности UNIX распространяются как коммерческие продукты, но в основном они представляют собой системы с открытым исходным кодом. Это означает, что любой желающий может получить исходный код системы, модифицировать его и распространить дальше. Системы с открытым исходным кодом значительно дешевле в эксплуатации, чем их коммерческие аналоги. Впрочем, в 1990-е годы коммерческие разновидности UNIX упали в цене, а некоторые из них даже стали бесплатными для определенного круга применений.
Стандартный набор и конфигурация программного обеспечения. UNIX существует уже около трех десятилетий, и за это время появилось множество версий популярных утилит, конфигурируемых самыми разными способами. В каждой UNIX-системе свой набор стандартных программ. В одних системах используются конфигурационные сценарии BSD-типа, в других — сценарии System V. Наиболее распространенным почтовым сервером является программа sendmail, но в некоторых системах работают другие серверы. Подобные различия определяют уникальность каждой операционной системы семейства UNIX. Если сравнивать UNIX и, скажем, Windows, то эти различия несущественны, но в то же время их более чем достаточно для того, чтобы при переходе из одной UNIX-системы в другую приходилось покупать справочное руководство.
Ядро FreeBSD является производным от открытой реализации исходного ядра AT&T UNIX. Изначально система предназначалась для процессоров семейства Intel х86, но впоследствии стала поддерживать родственные семейства процессоров компаний AMD, VIA (Cyrix), Transmeta и других (большей частью не существующих сегодня). Ведутся работы по переносу системы на другие процессоры, например Alpha, но они еще далеки от завершения.
Ядро FreeBSD отличается монолитностью, т.е. имеет единую логическую структуру. Вспомогательные компоненты, например драйверы файловой системы, помещаются в так называемое пространство ядра и потому могут контролировать аппаратные компоненты и структуры данных ядра. В некоторых разновидностях UNIX применяется иная модель, называемая микроядром. В такой схеме ядро имеет меньший размер и взаимодействует с внешними компонентами, реализующими традиционные функции ядра, в частности доступ к файловой системе. У каждого подхода есть свои сторонники.
FreeBSD — это операционная система с открытым исходным кодом. Большинство ее компонентов распространяется на условиях лицензии BSD . Эта лицензия разрешает модификацию и последующее распространение исходного кода на тех условиях, которые выберет разработчик. Теоретически это означает, что кто угодно может модифицировать код системы и продать его как коммерческий продукт. Другой популярной лицензией для систем с открытым исходным кодом является GPL (GNU General Public License). Она требует, чтобы любые модификации распространялись с соблюдением исходных требований GPL. Такую лицензию имеет ядро Linux, и отсюда проистекают многие различия между FreeBSD и Linux. Во FreeBSD используются программные компоненты, имеющие лицензию BSD, а в Linux больше GPL-компонентов. Это не влияет напрямую на работу операционной системы, но многие утилиты существуют в разных вариантах в зависимости от типа лицензии.
Некоторые разновидности UNIX патентованы. Например, системы Solaris компании Sun и AIX компании IBM являются коммерческими системами. Иногда их можно использовать бесплатно, как в случае Solaris для платформы х86, но чаще всего за лицензию коммерческой версии UNIX приходится платить. Различия между открытыми и коммерческими системами лежат в основном в концептуальной и экономической плоскостях. С функциональной точки зрения FreeBSD во многом эквивалентна своим коммерческим аналогам.
Коммерческие и открытые системы часто совместимы. Программы, имеющие открытый исходный код, можно запускать в коммерческой операционной системе, и наоборот: коммерческие программы можно запускать в открытой ОС. Тем не менее большинство программ FreeBSD имеет открытую лицензию.
Помимо FreeBSD широко распространены следующие разновидности UNIX.
NetBSD. Это одна из трех операционных систем, производных от 386/BSD. Две другие — FreeBSD и OpenBSD. NetBSD отличается от FreeBSD тем, что перенесена на большее число процессоров. Принципы их лицензирования и общая структура весьма схожи, но FreeBSD остается более популярной, так как активнее рекламируется и чуть проще в инсталляции и применении.
ОрепBSD. Эта система славится своей безопасностью. Ее разработчики потратили немало усилий на то, чтобы создать систему, которую не так просто взломать. Как и NetBSD, OpenBSD схожа с FreeBSD по конфигурации, принципам лицензирования и доступному программному обеспечению.
Linux. Linux можно считать отдельным семейством операционных систем с открытым исходным кодом. С технической точки зрения Linux — это лишь ядро; в дистрибутив Linux входят ядро и пакеты программ, составляющие операционную систему. По общим принципам конфигурирования и составу программных средств FreeBSD больше отличается от Linux, чем от NetBSD и OpenBSD. Стоит обратить внимание на то, что пользователи, не знакомые с UNIX, иногда считают FreeBSD дистрибутивом Linux. Это не так. FreeBSD не использует ядро Linux и отличается множеством конфигурационных нюансов. FreeBSD следует считать производной от дистрибутива BSD (Berkeley Software Distribution), тогда как Linux является свободно распространяемой, полностью переработанной реализацией UNIX, гораздо слабее связанной с ранними версиями BSD и AT&T UNIX.
Solaris. Это коммерческая разновидность UNIX, выпущенная компанией Sun и используемая в основном на ее серверных платформах. Серверы Sun, работающие на процессорах SPARC, являются конкурентами высокопроизводительных систем на базе процессоров х86 старших моделей. Операционная система Solaris может работать и на платформе х86, однако набор ее драйверов меньше, чем у FreeBSD. Система Solaris удобна для разработчиков, которые пишут программы для компьютеров Sun. В остальных случаях более предпочтительным выбором для персональных компьютеров являются FreeBSD и Linux.
AIX. Это коммерческая разновидность UNIX, выпущенная компанией IBM для своего специализированного оборудования. Подобно системам компании Sun, AIX нацелена на верхний сегмент рынка серверов, поэтому мало конкурирует с FreeBSD.
IRIX. Большинство рабочих станций Silicon Graphics работает под управлением IRIX — коммерческой разновидности UNIX. Ранее основным достоинством этих систем была оптимизированная обработка высококачественной графики, с их помощью создавались спецэффекты для кинофильмов. Сегодня в этот сегмент рынка активно вторгаются недорогие компьютеры на базе процессоров х86, но позиции Silicon Graphics и IRIX все еще сильны.
В целом основными конкурентами FreeBSD являются другие BSD-системы и Linux. FreeBSD популярнее своих "родственников" на платформе х86, поэтому активнее поддерживается сторонними разработчиками. Эта система разрабатывалась с акцентом на простоту инсталляции и администрирования; здесь она опережает NetBSD и OpenBSD. Достоинством OpenBSD является улучшенная безопасность, а NetBSD поддерживает не только процессоры х86. Что касается Linux, то у нее больше отличий в плане аппаратной и программной поддержки и ее лицензирование основывается на несколько иных принципах. Для новичков, которым требуется UNIX-система универсального назначения с открытым исходным кодом, FreeBSD и Linux подойдут в одинаковой степени. Но Linux развивается гораздо хаотичнее, и различия между ее многочисленными дистрибутивами часто сбивают с толку неопытных пользователей.
FreeBSD вряд ли можно считать конкурентом коммерческих разновидностей UNIX, ориентированных на компьютеры, которые превосходят по производительности системы на базе процессоров х86. Если в организации используются высокопроизводительные серверы Sun, IBM или SGI в сочетании с недорогими персональными компьютерами, то на последних можно установить FreeBSD, поскольку процедуры администрирования FreeBSD и коммерческих разновидностей UNIX во многом схожи. Иногда системы х86 старших моделей напрямую конкурируют с системами Sun, IBM и SGI младших моделей. Достоинством первых является низкая цена, но для них сложнее заключать контракты на сервисное обслуживание.
Программная среда
До этого мы рассматривали, какое место занимает FreeBSD в ряду других операционных систем. Теперь нужно выяснить, как она взаимодействует с другими операционными системами. Такое взаимодействие может происходить как между компьютерами сети, так и в пределах одного компьютера. Полезно также узнать кое-что об истории FreeBSD, чтобы понять главные принципы ее разработки, ее слабости и недостатки.
История разработки FreeBSD
История FreeBSD, как и UNIX вообще, довольно запутанна. Она начинается в 1969 г. с появления первой (довольно примитивной) версии UNIX, разработанной компанией AT&T. Далее свой вклад в систему вносили энтузиасты Калифорнийского университета в Беркли и многочисленные добровольцы, существующий код неоднократно менялся, пополнялся набор системных утилит. Исходная версия AT&T UNIX породила несколько вариантов (или ветвей, как их еще называют). Хорошие идеи, появлявшиеся в одной ветви, часто воплощались в других ветвях. В истории UNIX были периоды, когда поставщики систем работали над устранением различий между ветвями. Тем не менее сегодня UNIX — это не одна операционная система, а целое семейство.
Стоит заметить, что с технической точки зрения название UNIX относится к официальным версиям именно этой системы. Иногда официальные версии обозначают словом UNIX (все прописные), а другие однотипные системы называют Unix (с заглавной буквы). Но такое различие почти незаметно, поэтому в данной книге словом UNIX обозначаются официальные версии либо все семейство в целом, а когда нужно подчеркнуть, что речь идет также о других подобных операционных системах, например Linux, употребляется выражение "UNIX-подобные системы".
Итак, в 1969 г. Кен Томпсон (Ken Thompson) и Деннис Ритчи (Dennis Ritchie) написали первую версию UNIX. Очередной крупной вехой на пути к появлению FreeBSD стала установка четвертой версии UNIX в Калифорнийском университете в Беркли в 1974 году. В течение следующих нескольких лет преподаватели, научные сотрудники и студенты университета знакомились с операционной системой, писали программы для нее и даже модифицировали саму систему. В 1977 г. все наработки были включены в единый пакет программ, названный BSD (Berkeley Software Distribution).
В 1978 г. был выпущен пакет 2BSD), содержащий улучшенный и расширенный набор утилит исходного дистрибутива. Последующие разработки привели к появлению пакетов 2.11BSD, 3BSD, 4BSD. На очереди было название 5BSD, однако компания AT&T возражала против этого, т.к. боялась потенциальной путаницы с System V — своим вариантом UNIX. В результате следующие версии стали называться 4.1BSD, 4.2BSD и т.д. В это время и появился ТСР/IР — базовый стек сетевых протоколов, лежащих в основе современной сети Internet.
Упомянутые BSD-пакеты представляли собой дополнения к ОС UNIX компании AT&T. Это не были полноценные операционные системы. Кроме того, лицензионные требования постоянно ужесточались. Один из вариантов пакета 4.3BSD, известный как 4.3BSD-Tahoe, был доступен только при условии приобретения исходной лицензии AT&T, которая определяла правила распространения ОС UNIX в семидесятые и восьмидесятые годы. Но в 1989 г. ситуация изменилась: разработчики из Беркли выпустили пакет Networking Release 1, который допускал свободное распространение кода независимо от того, имел ли получатель лицензию на исходный код AT&T. Это был первый и очень важный шаг на пути к современным системам с открытым исходным кодом. Без изменений в правилах лицензирования, впервые воплощенных в Networking Release 1, не было бы современной FreeBSD.
В 1991 г. появился пакет Networking Release 2. Несмотря на сходство названий, изменения оказались разительными. Это была практически полноценная операционная система; не хватало лишь шести файлов с исходными кодами ядра AT&T UNIX. В течение шести месяцев программист Билл Джолиц (Bill Jolitz) переписал их, назвав полученный пакет 386/BSD. Эта система является непосредственной предшественницей NetBSD и FreeBSD (OpenBSD отделилась от ветви NetBSD в середине 90-х). Она предназначалась для работы на процессорах Intel x86, точнее, 80386 — самой последней на то время модели. Как уже отмечалось выше, FreeBSD по-прежнему тесно связана с платформой х86, хотя и предпринимаются попытки ее переноса на другие процессоры.
С 1993 г. (дата рождения системы как отдельного проекта) FreeBSD целенаправленно развивается независимо от других систем. Она, конечно же, заимствует что-то из других проектов с открытым исходным кодом; иногда заимствуют ее код. Старший номер версии увеличивается в среднем каждые несколько лет. В начале 2002 г. Была выпущена версия 4.5, а версия 5.0 появилась в конце того же года. Именно эти две версии и рассматриваются в курсовой работе.
Взаимодействие с другими компьютерами по сети
Одной из вех в истории (или, если хотите, предыстории) FreeBSD было появление стека протоколов ТСР/IP в 4.2BSD. Он послужил основой для аналогичных стеков других операционных систем. Даже некоторые сетевые утилиты компании Microsoft до сих пор отображают сообщения об авторских правах, свидетельствующие о том, что эти утилиты заимствованы из BSD. С учетом этих обстоятельств, казалось бы, у FreeBSD не должно быть никаких проблем при взаимодействии с другими системами по сети. В некоторых случаях это действительно так, но есть нюансы и ограничения, которые обязательно следует учитывать.
Альтернативные стеки сетевых протоколов. ТСР/IP — не единственный существующий стек сетевых протоколов. В некоторых локальных сетях используются другие семейства протоколов, например AppleTalk компании Apple, NetBEUI в Windows и IPX компании Novell. Поддержка этих стеков во FreeBSD ограничена в сравнении с ТСР/IP. К счастью, немногие сетевые утилиты сегодня работают исключительно с альтернативными протоколами. К примеру, в Windows утилиты совместного доступа к файлам и принтерам поддерживают как NetBIOS, так и ТСР/IP. Этот факт учитывает программа Samba , предоставляющая Windows-клиентам доступ к файлам.
Непостоянство стандартов. Редко какой поставщик использует сторонний код в том виде, в каком он был получен. Даже авторы время от времени переделывают свои творения. По этой причине исходный стек ТСР/IP, появившийся в 4.2BSD, за годы эксплуатации "мутировал", и в каждой следующей операционной системе использовалась несколько иная его реализация, иногда даже совершенно новая. Но при всем многообразии изменений нельзя не отметить тот факт, что большинство операционных систем может взаимодействовать друг с другом по протоколам ТСР/IP. С практической точки зрения важно то, что FreeBSD как одна из основных серверных систем крайне редко бывает несовместима с другими системами, с которыми ведется работа по сети. Проблемы чаще возникают с конкретными протоколами, применяемыми клиентом или сервером. Например, Web-страницы, разработанные для браузера Internet Explorer компании Microsoft, не всегда корректно отображаются в браузерах, доступных во FreeBSD, таких как Mozilla или Konqueror.
Проблемы с безопасностью. Протоколы семейства ТСР/IP разрабатывались во времена взаимного доверия, поэтому в них заложено очень мало средств защиты. В результате с наступлением эры Internet в сетевом программном обеспечении стали постоянно обнаруживаться "дыры", позволяющие злоумышленникам получать несанкционированный доступ к компьютерам. В плане безопасности у FreeBSD хорошая репутация, но это не значит, что вопросы безопасности можно игнорировать. Неправильная конфигурация системы почти наверняка приводит к появлению "дыр".
В целом FreeBSD прекрасно подходит для выполнения многих сетевых функций. В ней реализован стабильный и эффективный стек ТСР/IP, что особенно важно для серверов. Написано множество серверных программ, позволяющих пользователям FreeBSD взаимодействовать с другими системами. Что касается безопасности, то FreeBSD обладает хорошими средствами защиты.
Безопасность — весьма относительное понятие. Заявления "FreeBSD—защищенная система" нельзя воспринимать как стопроцентную гарантию защиты. В лучшем случае можно надеяться на то, что система капитулирует лишь перед наиболее опытными и настойчивыми хакерами. Кроме того, стандарты безопасности постоянно меняются по мере выявления все новых ошибок в программах наряду с изобретением новых способов взлома. Система, которая сегодня кажется разумно защищенной, завтра может оказаться абсолютно беззащитной перед лицом очередной угрозы.
Сосуществование с другими операционными системами на одном компьютере
С самого начала разработки BSD-систем возникла потребность в сосуществовании UNIX с другими операционными системами на одном компьютере. Например, на PDP 11/45, первом UNIX-компьютере в Беркли, ОС UNIX выполнялась лишь треть рабочего времени. Остальное время отводилось другой операционной системе (RSTS). Но для компьютера, работающего в режиме разделения времени, это чрезвычайно неуклюжий подход, поэтому на большинстве UNIX-компьютеров в 1970 — 1980 гг. выполнялась одна операционная система. С появлением 386/BSD вопрос сосуществования различных операционных систем стал гораздо острее. Многие программисты-любители имели всего один компьютер и часто сталкивались с необходимостью писать программы для более популярной DOS (позднее — Windows). Такое положение дел сохранилось и сегодня. Если FreeBSD устанавливается на выделенный компьютер (сервер или специализированную рабочую станцию), то задача упрощается, так как использовать другие операционные системы не предполагается. Если же планируется время от времени запускать программы в другой ОС, то нужно разобраться, как FreeBSD работает с жесткими дисками и как на персональных компьютерах загружается операционная система.
Одна из ключевых концепций мультисистемных компьютеров — разделы. Если представить жесткий диск как шкаф для бумаг, то раздел — это один из его ящиков, часть большого документохранилища, содержащая взаимосвязанные файлы. Разделы создаются при подготовке диска к использованию. Это называется разбивкой на разделы. После того как раздел создан, его не так-то легко модифицировать. Следовательно, важно продумать такую структуру жесткого диска, которая в обозримом будущем отвечала бы потребностям пользователя.
Есть утилиты, позволяющие менять размеры существующих разделов. Это, в частности, коммерческие программы PartitionMagic и Partition Commander. Среди программ с открытым исходным кодом назовем FIPS и GNU Parted. Это более простые программы с ограниченными возможностями, но свою работу они выполняют. Особенно полезны они в том случае, когда FreeBSD устанавливается в системе, где уже инсталлирована DOS, Windows, OS/2, Linux или другая операционная система.
За много лет были придуманы различные схемы разбивки на разделы. В основном они разрабатывались независимо друг от друга для конкретных аппаратных платформ. На персональных компьютерах поддерживается три типа разделов. Их существование не так уж необходимо, просто предыдущая схема была расширена, когда стало очевидно, что ее возможности исчерпаны.
Первичный раздел. Исходный тип раздела персональных компьютеров теперь называется первичным разделом. Всего таких разделов может быть четыре. Не которые операционные системы, такие как DOS и Windows, должны загружаться с первичного раздела, расположенного на первом физическом диске. FreeBSD тоже должна находиться в первичном разделе, но он может быть не первым. Есть операционные системы, например Linux и OS/2, которые могут загружаться с расширенного раздела. Все эти нюансы нужно учитывать, планируя инсталляцию системы.
Расширенный раздел. В определенном смысле расширенный раздел представляет собой всего лишь особый тип первичного раздела. Он занимает одну из четырех доступных областей первичных разделов и служит для последующей разбивки на логические разделы.
Логический раздел. Логические разделы создаются внутри расширенных. Запись для расширенного раздела в таблице разделов необходима для того, чтобы зарезервировать место под один или несколько логических разделов. Их число ограничивается емкостью жесткого диска и способом адресации разделов, применяемым в операционной системе. Например, в DOS и Windows разделы помечаются буквами (именами дисков), поэтому теоретически их может быть 26 (число букв английского алфавита). В UNIX-подобных системах число логических разделов зависит от ядра и содержимого каталога /dev. В любом случае редко какая система даже приближается к теоретическому пределу. Поскольку логические разделы находятся в расширенном разделе, они должны последовательно занимать смежные области жесткого диска.
В DOS и Windows жесткий диск часто представляет собой один большой первичный раздел. Но если на одном компьютере требуется установить FreeBSD и какую-то другую операционную систему, то придется создавать дополнительные разделы. В частности, под FreeBSD должен быть отведен один из первичных разделов. Одна из возможных конфигураций изображена на рис. 1.1. В данном случае FreeBSD и Windows занимают по одному первичному разделу, а в расширенном разделе Windows созданы два логических диска.
Рис. 1.1. Разбивка на разделы позволяет отделять операционные системы друг от друга и создавать области хранения для различных типов данных
Компьютеры на базе новых 64-разрядных процессоров Intel IА64 поддерживают дополнительную, более гибкую схему разбивки на разделы.
В самой FreeBSD ситуация намного сложнее. Прежде всего нужно понять, что в UNIX-системах разделы часто используются для обособленного хранения различных типов данных. Это позволяет монтировать каталоги с различными параметрами и защищать данные в случае переполнения или повреждения других разделов. Например, каталог /home, хранящий файлы пользователей, часто отделяют от корневого каталога (/). Во FreeBSD, как и в других разновидностях UNIX, каждый раздел монтируется к определенному каталогу. Нет логических дисков, как в DOS или Windows. По этой причине FreeBSD-системы часто требуют нескольких разделов, даже если на компьютере установлена только FreeBSD.
Традиционно во FreeBSD применяется схема разбивки на разделы, отличающаяся от стандартной схемы для персональных компьютеров. Обычно разбивка осуществляется в пределах одного первичного раздела. Его подразделы аналогичны логическим дискам расширенного раздела. Работать с подразделами может только BSD-система.
Если нужно обмениваться данными с другими операционными системами, лучше выделить для этого отдельный раздел. К сожалению, в разных операционных системах для хранения данных применяются разные файловые системы. Файловая система, занимающая целый раздел, ведет учет файлов, следит за их расположением и управляет служебной информацией, такой как дата создания файла.
Как правило, для перекрестного обмена данными подходит файловая система FAT(File Allocation Table) из DOS, поскольку ее поддерживают все распространенные операционные системы персональных компьютеров.
Лишь немногие системы, не относящиеся к семейству UNIX, поддерживают FFS (Fast File System), собственную файловую систему FreeBSD.
Вообще говоря, в разных версиях UNIX применяется несколько иная реализация FFS, так что, даже если планируется установить на одном компьютере вместе с FreeBSD еще одну разновидность UNIX, может потребоваться использовать FAT в качестве общей среды обмена файлами.
Аппаратная среда
Прежде чем инсталлировать FreeBSD, нужно узнать аппаратные требования этой системы. Платформа х86 чрезвычайно разнообразна, поэтому в компьютерах часто присутствуют компоненты, не поддерживаемые во FreeBSD. Как правило, это не мешает инсталлировать систему, но ее возможности будут ограничены. Если в процессе инсталляции системы будет обнаружено неподдерживаемое устройство, то следует заменить его, прежде чем продолжать инсталляцию. Это позволит избежать последующего переконфигурирования системы.
Типы и производительность процессоров
"Сердцем" компьютера является центральный процессор. Как уже говорилось выше, FreeBSD изначально предназначалась для работы на процессорах Intel х86, по крайней мере на 32-разрядных процессорах, начиная с 80386. В 2002 г. FreeBSD поддерживала процессоры Intel 80386, 80486, Pentium, Pentium Pro, Pentium II, Pentium III, Pentium 4 и серию Celeron со всеми разновидностями. Помимо этого FreeBSD работает на аналогичных процессорах других компаний, таких как AMD, VIA, Transmeta, Cyrix, IDT и NexGen (последние три обанкротились, но их разработки внедрены в процессоры AMD и VIA). Некоторые компании, например Evergreen, продают комбинированные системы и позволяют "разгонять" старые материнские платы до ранее недоступных скоростей. FreeBSD работает с такими процессорами, но могут возникать трудности с выбором материнских плат.
Существуют проекты по переносу FreeBSD на другие платформы, в том числе Intel IА64, AMD х86-64 (ответ компании AMD на архитектуру IA64), Alpha компании Compaq, PowerPC (РРС) компании Motorola и UltraSparc компании Sun. В настоящее время архитектура х86 остается наиболее популярной, но появились признаки того, что со временем она будет вытеснена 64-разрядными платформами. Компания Intel продвигает процессоры платформы IA64 под названием Itanium. Компания AMD готовит конкурирующую платформу х86-64 (K8, или Hammer). Эти процессоры, без сомнения, будут играть очень большую роль в недалеком будущем. К счастью, функционирование FreeBSD не зависит от используемой платформы, хотя тип процессора нужно учитывать при выборе скомпилированных программ. При инсталляции FreeBSD на альтернативных платформах может меняться порядок разбивки на разделы и установки системы. Впрочем, в этой курсовой работе мы сосредоточимся на платформе х86 как наиболее популярной.
Что касается скорости работы процессора, то для FreeBSD здесь нет ограничений. Система работает даже на самых низкоскоростных процессорах 80386, хотя такое применение в наши дни мало кого заинтересует. Систему на базе процессора 80386 можно использовать разве что в качестве выделенного брандмауэра для домашней сети или DHCP-сервера небольшой сети. Для обработки графики и выполнения современных ресурсоемких программ производительности такого процессора недостаточно. Подбирая комплектацию нового компьютера, старайтесь устанавливать самые новые процессоры компаний Intel, AMD, VIA или Transmeta. Если планируется запускать программы, предъявляющие повышенные требования к производительности, выбирайте более новые модели процессоров.
Цена на процессоры резко снижается при переходе от самой последней модели к предыдущей и гораздо меньше — при последующем снижении скорости процессора. Таким образом, оптимальным выбором с точки зрения соотношения цена/производительность часто являются процессоры промежуточного звена. Планка "промежуточного" уровня повышается чуть ли не ежемесячно, так что конкретные рекомендации по поводу выбора оптимального процессора давать сложно.
Требования к оперативной памяти
Как и в отношении центрального процессора, требования к оперативной памяти, предъявляемые во FreeBSD, умеренны по современным меркам. В официальной документации говорится, что для инсталляции системы требуется минимум 5 Мбайт ОЗУ, а для работы самой системы требуется минимум 4 Мбайт. Сегодня это кажется смехотворным. Такие объемы памяти достаточны лишь для самых тривиальных приложений. Современные компьютеры оснащаются минимум 128 Мбайт ОЗУ. Этого более чем достаточно для инсталляции FreeBSD, загрузки графической среды и запуска большинства серверов (хватит даже 64 Мбайт). Но в определенных ситуациях требуется дополнительная память.
Многопользовательская среда. Если в системе одновременно работает множество пользователей (например, по сети), то для обслуживания пользовательских приложений и графических оболочек нужна дополнительная память.
Крупные серверы. Для большинства серверов достаточно 64 Мбайт ОЗУ, но требования к памяти повышаются по мере роста вычислительной нагрузки. Если на одном компьютере функционируют файловый сервер, Web-сервер, почтовый сервер и все они обслуживают сотни или тысячи пользователей, то минимально допустимый объем оперативной памяти будет гораздо больше, чем 128 Мбайт. Конкретный показатель зависит от предполагаемого уровня загруженности.
Ресурсоемкие программы. Некоторые программы, например анимационные или моделирующие пакеты, требуют больших объемов памяти, даже если с ними работает один пользователь. Конкретные значения указаны в документации к программе. Как правило, с повышением требований к памяти возрастают и требования к скорости центрального процессора, но так бывает не всегда.
Жёсткие диски
При инсталляции операционной системы нужно учитывать объем дискового пространства. Выше уже описывались принципы разбивки на разделы, применяемые во FreeBSD. Но прежде чем приступать к инсталляции, следует выбрать тип жесткого диска и оценить общий объем дискового пространства, отводимый под операционную систему.
Диски SCSI и EIDE
На многих современных персональных компьютерах установлены жесткие диски EIDE (Enhanced Integrated Drive Electronics). Материнские платы обязательно содержат контроллеры EIDE, поэтому подключение дисков не представляет проблемы. Но существует и альтернативный тип жестких дисков: SCSI (Small Computer System Interface). Очень немногие материнские платы оснащены соответствующими разъемными соединениями, поэтому для работы со SCSI дисками нужно установить SCSI-адаптер (обычно это PCI-плата). FreeBSD поддерживает оба интерфейса — SCSI и EIDE. У каждого из них свои достоинства и недостатки.
Основное преимущество стандарта EIDE — стоимость. Поскольку соответствующие контроллеры встроены в материнские платы, их не приходится покупать, как в случае SCSI (контроллер можно добавить для повышения производительности или при наличии в системе более четырех жестких дисков). Жесткие диски EIDE тоже недороги в сравнении с аналогичными SCSI-дисками. Общая экономия составляет от 10 до 50 долларов, иногда даже больше. Все контроллеры EIDE поддерживают единый минимальный стандарт низкоуровневого форматирования жестких дисков, по этому диски работают на любых контроллерах, по крайней мере в минимальной низкоуровневой конфигурации. Но чтобы обеспечить наилучшую производительность, следует использовать жесткий диск, рассчитанный на имеющийся контроллер.
Основным недостатком EIDE является то, что к одному шлейфу (кабель, подключающийся с другой стороны к материнской плате или контроллеру EIDE) можно подключить лишь два EIDE-устройства. В большинстве материнских плат всего два шлейфа, что обеспечивает подключение четырех EIDE-устройств. Это вызывает очень большие неудобства, если в системе есть дисководы CD-ROM, съемные диски, ленточные накопители и т.д. Обойти ограничение можно, добавив еще один контроллер, но ему требуются отдельный PCI-слот и линия запроса прерывания, а это тоже ограниченные ресурсы. Кроме того, стандарт EIDE разрешает одновременный доступ лишь к одному устройству на шлейфе, поэтому в системах с большим числом пользователей EIDE-устройства становятся узким местом.
Раньше контроллеры EIDE поддерживали лишь режимы доступа PIO (Programmed Input/Output), которые требуют участия процессора в операциях обмена данными. Это делало стандарт EIDE малопригодным в случае многозадачной операционной системы, такой как FreeBSD. Современные контроллеры поддерживают более оптимальные режимы DМА (Direct Memory Access), при которых контроллер может записывать данные непосредственно в память. Эта поддержка должна также обеспечиваться драйвером EIDE.
SCSI — гораздо более гибкий интерфейс в сравнении с EIDE. Он допускает подключение от 7 до 15 устройств к одному шлейфу, в зависимости от разновидности интерфейса, что делает его гораздо более приемлемым вариантом для компьютера с большим числом физических дисков. SCSI поддерживает одновременный доступ к нескольким устройствам одного шлейфа, а жесткие диски SCSI обычно работают быстрее, чем диски EIDE аналогичной емкости. Для SCSI предлагается более широкий диапазон устройств. Например, существуют сканеры SCSI, а ленточные накопители моделей верхнего уровня почти всегда имеют интерфейс SCSI. Большинство SCSI-адаптеров всегда работает в режиме DMA.
Недостатком SCSI является стоимость. SCSI-адаптер дорог сам по себе (от 50 до 100 долларов), к тому же SCSI-устройства обычно дороже своих EIDE-аналогов. В интерфейсе SCSI не предусмотрен минимальный стандарт низкоуровневого форматирования, поэтому FreeBSD должна поддерживать тот SCSI-адаптер, который установлен в системе.
В целом стоимость EIDE-дисков позволяет применять их в системах нижнего и среднего уровня. Если в компьютере установлен EIDE-контроллер, для которого FreeBSD поддерживает режим DMA, то однодисковая система обеспечит хорошую производительность. В случае крупного сервера, когда требуется улучшенная производительность работы с диском, повышенная стоимость SCSI может оказаться оправданной.
На одном компьютере разрешается использовать оба интерфейса. Например, к SCSI-контроллеру могут быть подключены высокопроизводительные жесткие диски и ленточный накопитель, а к EIDE-контроллеру — недорогие дисководы CD-ROM и Zip.
В будущем важную роль начнут играть другие дисковые интерфейсы. В частности, интерфейс IEEE-1394 (FireWire) может заменить SCSI, по крайней мере в некоторых случаях. Жесткие диски FireWire доступны уже сегодня, однако поддержка этого интерфейса во FreeBSD 5.0 весьма ограничена.
Чтобы выяснить, какие EIDE-контроллеры и SCSI-адаптеры поддерживаются, просмотрите файл HARDWARE.TXT, входящий в комплект поставки FreeBSD. Учтите, что в нем указываются микропроцессорные наборы, а информация о конкретных моделях устройств может быть не приведена. Посмотрите названия микросхем на PCI-плате, чтобы узнать, с чем вы имеете дело. Если на компьютере уже инсталлирована Windows, выберите элемент Система (System) в панели управления. Затем щелкните на вкладке Устройства (Device Manager) и раскройте список Контроллеры жестких дисков (Hard disk controllers). Как видно из рис. 1.2, в компьютере установлен EIDE-контроллер VIA (IDE — это старый стандарт, трансформировавшийся в EIDE, но в некоторых утилитах используется старая терминология). Причём, нет необходимости искать драйверы для конкретных устройств EIDE или SCSI. К примеру, если поменять один EIDE-дисковод CD-ROM на другой, тоже EIDE, то обновлять драйверы FreeBSD не понадобится, поскольку оба дисковода используют стандартизированный набор команд.
Рис.1.2 В Windows можно быстро узнать тип имеющегося оборудования
Драйверы нужны для конкретных типов устройств, таких как жесткий диск или дисковод CD-ROM. Эти драйверы включены в стандартное ядро FreeBSD, поэтому применяются практически незаметно для пользователя.
Общие требования к объему дискового пространства
Важно выяснить возможности EIDE-контроллера или SCSI-адаптера системы, чтобы избежать неприятных проблем с дисками. Но независимо от типа интерфейса остается вопрос, связанный с общим объемом дискового пространства. Официально для FreeBSD требуется 100 Мбайт дисковой памяти. Но это минимально необходимый объем. Возможности такой системы крайне ограничены. Обычно требуется не менее 1 Мбайт. Если же инсталлируется много программного обеспечения, то даже 2 или 3 Гбайт не будут излишними. Дополнительное пространство может понадобиться для хранения пользовательских или серверных данных. Потребности в дисковой памяти определяются функциями, которые выполняет система.
Современные жесткие диски имеют емкость не менее 20 Гбайт, поэтому при инсталляции FreeBSD никаких трудностей не возникает. Если же FreeBSD инсталлируется в дополнение к уже установленной системе, то есть два варианта.
Повторная разбивка диска на разделы. Можно воспользоваться специальными утилитами, например коммерческой программой PartitionMagic или свободно распространяемой программой FIPS, для сокращения размеров существующего раздела и выделения пространства под FreeBSD. Это эффективный и экономный подход, если на диске достаточно свободного пространства, но одновременно и не лишенный риска. Утилиты динамической разбивки на разделы иногда сбоят, вследствие чего происходит потеря данных. Прежде чем запускать такую утилиту, создайте резервную копию существующих данных.
Добавление нового диска. Можно добавить новый жесткий диск, который будет использоваться либо исключительно под FreeBSD, либо совместно с текущей операционной системой. Такой подход безопаснее, чем изменение существующих разделов и добавление новых на одном диске, но на практике он может оказаться неосуществимым из-за того, что уже достигнут предел возможного числа дисковых устройств.
В любом случае при инсталляции FreeBSD нужно установить системный загрузчик. Это очень простая программа, загружающая одну или несколько операционных систем. Загрузчик FreeBSD позволяет выбрать систему, запускаемую по умолчанию при включении питания. Эту программу можно применять в сочетании со сторонними загрузчиками, такими как BootMagic компании PowerQuest , System Commander компании V-Com или LILO операционной системы Linux.
Графическое оборудование
Чтобы на экране появилось изображение, FreeBSD должна поддерживать имеющуюся плату видеоадаптера. Что касается монитора, то он очень редко вызывает проблемы и не требует наличия специальных драйверов.
Все современные видеоплаты поддерживают определенные базовые режимы, в которых может работать и FreeBSD. Это, в частности, текстовый режим и режим с низким разрешением VGA (640х480). Иногда поддерживаются стандартные графические режимы с более высоким разрешением. Текстовый режим можно применять, например, на сервере, но пользователи рабочих станций предпочитают графическую среду. VGA-режимы редко удовлетворяют современных пользователей, поэтому для серьезной системы необходима более мощная графическая плата, поддерживаемая FreeBSD (точнее, Х-средой).
Графические средства, хоть и включены в стандартный комплект FreeBSD, в действительности являются частью независимого проекта: XFree86. Пакет XFree86 используется и другими UNIX-системами с открытым исходным кодом, в частности NetBSD, OpenBSD и Linux. Он также доступен в коммерческих разновидностях UNIX (в них обычно имеются еще и собственные Х-серверы) и даже в системах других типов, включая Windows, Мас OS и OS/2.
Во FreeBSD подсистема XFree86 взаимодействует большей частью непосредственно с аппаратными устройствами, поэтому она должна поддерживать имеющуюся видеоплату. Если средства поддержки реализованы не в полном объеме, производительность графической подсистемы существенно снизится. Это может привести к тому, что FreeBSD обеспечит меньшее разрешение, чем в Windows, или меньшую частоту обновления экрана. Все современные графические микропроцессорные наборы располагают средствами ускорения основных графических операций, таких как перемещение объектов по экрану. Если же их драйверы несовершенны, эти средства могут не поддерживаться, вследствие чего пострадает производительность графической подсистемы.
В зависимости от версии FreeBSD в систему может быть включен старый набор драйверов XFree86, поэтому в этом случае нужно обновить пакет XFree86 или хотя бы драйвер видеоплаты.
Как и в случае устройств EIDE и SCSI, список поддерживаемых видеоплат формируется на основе микропроцессорных наборов, хотя изготовители видеоплат не всегда публикуют эту информацию. Следовательно, чтобы собрать необходимую информацию, нужно посмотреть надписи на микросхемах видеоплаты или, если на компьютере установлена Windows, просмотреть информацию о видеоадаптере в панели управления. Некоторые изготовители популярных видеоплат выпускают собственные наборы микросхем, поэтому найти драйверы для них несложно.
Если вы собираетесь приобрести видеоплату для установки в компьютер с ОС FreeBSD, остерегайтесь самых последних моделей. Разработчики XFree86 часто отстают на несколько месяцев, поэтому последние модели могут поддерживаться плохо или вообще не поддерживаться.
В процессе инсталляции система пытается обнаружить и сконфигурировать видеоплату. Если эта процедура выполняется с ошибками или возникает необходимость изменить конфигурацию платы, то нужно отредактировать файлы конфигурации XFree86.
Сетевое оборудование
Многие компьютеры, работающие под управлением FreeBSD, играют роль серверов или по крайней мере сетевых рабочих станций. В настоящее время наиболее распространенным сетевым стандартом является Ethernet. Существует много версий этого стандарта, отличающихся двумя ключевыми особенностями.
Скорость передачи данных. Самая низкая скорость в сетях Ethernet— 10 Мбит/с. Самая высокая из доступных на сегодняшний день — 1000 Мбит/с (1 Гбит/с). Сейчас наиболее распространены стомегабитные сети, хотя гигабитное технологии завоевывают все большую популярность.
Среда передачи данных. В сетях Ethernet данные передаются по кабелям различных видов. Раньше использовались две разновидности коаксиального кабеля: толстый и тонкий. Оба напоминают провода, используемые в кабельном телевидении, но отличаются по толщине. Такие сети имеют шинную топологию, в которой сетевой кабель последовательно соединяет устройства друг с другом. Коаксиальные кабеля сейчас используются редко. Их вытеснила витая пара, напоминающая телефонный провод, но с более широкими разъемными соединениями. В таких сетях имеется центральное устройство, называемое концентратором или коммутатором, которое соединяет все остальные устройства по топологии "звезда" (рис. 1.3). В последнее время все активнее используются оптоволоконные кабели в качестве альтернативы витой паре в гигабитных сетях Ethernet. Такие сети, как правило, тоже имеют звездообразную топологию.
Рис. 1.3. Топология ”звезда” упрощает выявление проблем с сетевым кабелем, поскольку сбой локализуется в одном звене
Большинство современных сетей создается на основе стомегабитной витой пары, хотя иногда применяются старые десятимегабитные кабели (витая пара или коаксиал). Если нужна более высокая скорость работы, следует перейти на гигабитные технологии.
К счастью, для FreeBSD не важны ни тип кабелей, ни топология. Нужно лишь убедиться в том, что сетевая плата Ethernet поддерживается системой (в некоторых материнских платах верхнего уровня имеется встроенная поддержка Ethernet). В уже упоминавшемся выше файле HARDWARE.TXT указано, какие Ethernet-платы поддерживаются во FreeBSD. Как и в случае жестких дисков и видеоадаптеров, в файле описывается поддержка микропроцессорных наборов, установленных на плате, поэтому придется изучать надписи на микросхемах или, если есть возможность, просмотреть информацию в панели управления Windows.
FreeBSD должна поддерживать лишь сетевую плату, тогда как поддержка коммутатора или концентратора не требуется. Что касается серверного сетевого оборудования, то FreeBSD должна поддерживать конкретный тип сервера, например файловый сервер или сервер печати.
В последнее время широкую популярность приобретают беспроводные устройства, особенно в домашних и небольших офисных системах. Многие из этих устройств поддерживаются во FreeBSD, и с логической точки зрения они функционируют примерно так же, как и обычные платы Ethernet. Информация о доступных беспроводных устройствах содержится в том же файле HARDWARE.TXT. Многие сетевые установки можно задать на этапе инсталляции системы.
Еще один тип сетевых устройств заслуживает особого внимания: модемы. Модемы служат средством подключения компьютеров к сети Internet через маршрутизаторы провайдеров. FreeBSD поддерживает все внешние модемы RS-232 и некоторые внутренние модемы. Впрочем, многие внутренние модемы часто являются программными. Для этих устройств нужен специальный драйвер, который выполняет функции, в обычных модемах реализованные на аппаратном уровне. Такие драйверы — редкость для FreeBSD. Сколько бы ни стоили такие модемы, их лучше избегать.
Модемы, предназначенные для широкополосного доступа в Internet (кабельные и DSL-модемы), часто имеют Ethernet-интерфейсы. Для FreeBSD эти устройства выглядят как часть обычной сети Ethernet и потому не требуют специальных драйверов. Но у этого правила есть два исключения. Первое: если модем является внутренним или имеет интерфейс USB, для него нужен отдельный драйвер, которых практически нет для FreeBSD. Второе: некоторые провайдеры широкополосного доступа применяют протокол PPPoE (PPP over Ethernet) для назначения IP-адресов. Сам по себе такой протокол не нужен широкополосному модему, но он поддерживается во FreeBSD.
Принтеры
До сих пор мы рассматривали внутренние устройства, т.е. устанавливаемые внутри компьютера. Существуют, естественно, и внешние устройства. Среди них наиболее широко распространены принтеры. Аппаратная реализация принтеров сильно различается, поэтому во FreeBSD существует большая библиотека драйверов для имеющихся моделей принтеров.
Драйверы принтеров функционируют независимо от технологии печати (лазерная, струйная и т.д.) и интерфейса устройства (параллельный порт, последовательный порт RS-232, USB, сетевой принтер). Для драйверов FreeBSD не имеет значения, как именно формируется образ на бумаге. Интерфейс принтера более важен, поэтому он должен поддерживаться во FreeBSD. Параллельные и последовательные порты, а так же протоколы сетевой печати хорошо поддерживаются, чего не скажешь о стандарте USB. Впрочем, если аппаратный интерфейс работает, то для драйвера принтера детали не имеют значения.
Во FreeBSD драйверы принтеров имеют кое-что общее с видеодрайверами XFree86: они являются частью отдельного программного пакета. Этот пакет называется Ghostscript и отвечает за преобразование PostScript-файлов в формат, поддерживаемый принтером. UNIX-программы, направляющие данные на печать, подготавливают их либо в обычном текстовом формате, либо в формате PostScript и помещают в очередь. Обработчик очереди передает PostScript-файлы программе Ghostscript, которая формирует двоичный файл, понятный принтеру. Это значит, что для FreeBSD лучше всего подходят принтеры, имеющие встроенную поддержку языка PostScript, так как отпадает необходимость в программе Ghostscript. PostScript-принтеры обычно стоят дороже, чем обычные принтеры. Если у вас уже есть старый принтер, проверьте, поддерживается ли он программой Ghostscript. Соответствующую информацию можно найти в базе данных Linux Printing Support Database. Несмотря на название, информация в этой базе данных относится как к Linux, так и к FreeBSD.
Некоторые принтеры рекламируются как PostScript-совместимые, хотя в действительности это не так: они контролируются программным обеспечением Windows, которое выполняет функции, схожие с Ghostscript. Такие принтеры бесполезны во FreeBSD. Иногда принтеры снабжаются интерпретатором языка PostScript, написанным не компанией Adobe (создателем языка), а кем-то другим. Обычно эти принтеры работают вполне нормально. Если принтер не является PostScript-совместимым и не поддерживается программой Ghostscript, польза от него будет невелика. Иногда можно запустить программу Ghostscript (или другой интерпретатор PostScript) в Windows, подключить принтер к Windows-системе и использовать его как ресурс совместного доступа. Если же нужен непосредственный доступ, то лучше купить новый принтер. Программа Ghostscript поддерживает большинство современных принтеров. Проблемы возникают лишь с самыми дешевыми принтерами старых моделей.
Вспомогательные устройства
В настоящее время доступно множество других устройств помимо описанных выше. Многие из них требуют наличия специального драйвера. Всю необходимую информацию о них можно найти в файле HARDWARE.TXT. Перечислим наиболее важные устройства.
• Звуковые платы. Рынок звуковых плат очень разнообразен. Во FreeBSD поддерживаются многие популярные платы, но иногда не хватает поддержки менее популярных или новейших моделей. Если плата не поддерживается системой, лучше не оставлять ее в компьютере, чтобы не возникало проблем.
• USB-устройства. Все современные компьютеры оснащаются USB-портами. Поддержка этого стандарта во FreeBSD пока ограничена, хотя уже поддерживаются два основных микропроцессорных набора (известных как UHCI и OHCI), а также ряд USB-устройств. В отличие от некоторых внешних устройств, необходимо, чтобы ядро FreeBSD имело средства поддержки конкретного USB-устройства или по крайней мере класса устройств (скажем, принтеры или модемы). Чтобы использовать новейшие драйверы USB, ядро системы придется переконфигурировать.
• Устройства со съемными носителями. FreeBSD очень хорошо поддерживает дисководы гибких дисков и CD-ROM. Со съемными дисковыми накопителями, такими как Zip, LS-120 или Jaz, можно работать примерно так же, как и с дискетами (некоторые из носителей разбиты на разделы подобно жесткому диску, что обычно не вызывает проблем). Съемные устройства с интерфейсом USB поддерживаются слабо. Устройства записи на компакт-диски и DVD-диски интерпретируются несколько необычно. Для них нужна специальная программа, которая будет подготавливать образ диска и "прожигать" его на носителе.
• Сканеры. Сканеры подключаются через параллельные порты, SCSI-интерфейс или порты USB. SCSI-сканеры поддерживаются лучше всего, сканеры с параллельным или USB-интерфейсом — хуже. Для каждой модели сканера нужен свой драйвер, являющийся частью пакета SANE. Подобно пакетам XFree86 и Ghostscript, этот пакет реализован отдельно от ядра FreeBSD.
• Устройства ввода. Пользователи взаимодействуют с компьютером, вводя информацию посредством клавиатуры, мыши, иногда других устройств. Уже много лет клавиатуры персональных компьютеров стандартизированы, благодаря чему клавиатурные драйверы FreeBSD работают стабильно и практически незаметно для пользователя. Пакет XFree86 поддерживает различные типы мышей, включая все популярные программные протоколы. В настоящее время наиболее распространен протокол PS/2. В конце 90-х появился стандарт USB, поэтому начали набирать популярность клавиатуры и мыши с интерфейсом USB. Во FreeBSD они поддерживаются, но не так хорошо, как традиционные устройства.
Заключение
В заключении хочется сказать, что прежде чем приступать к инсталляции FreeBSD, следует изучить возможности и специфические требования системы. Компьютер, работающий под управлением FreeBSD, может функционировать как рабочая станция или сервер. Вообще FreeBSD — популярная платформа для серверов Internet. FreeBSD способна взаимодействовать с другими операционными системами как по сети, так и в пределах одного компьютера. Мультисистемная среда может быть очень удобна, но для этого нужно определенным образом настроить каждую систему. FreeBSD выдвигает не столь жесткие требования к аппаратной части компьютера, как современные версии Windows, более экономно расходуя ресурсы центрального процессора и оперативной памяти. Однако необходимо тщательно выбирать аппаратные компоненты, поскольку FreeBSD не так хорошо, как Windows, поддерживает некоторые вспомогательные устройства, в частности звуковые платы и даже принтеры.
Список литературы
1. www.freebsd.org – официальный сайт проекта FreeBSD