Рефераты. Linux, FreeBSD и другие

Linux, FreeBSD и другие

Linux, FreeBSD и другие

Почему Linux и FreeBSD не cмогут вытеснить коммерческие ОС.

В последнее время в компьютерной отрасли наблюдается лавинообразный всплеск интереса к операционной системе Linux. По данным некоторых исследований, за прошедший год количество компьютеров с Linux увеличилось на 212% и достигло более 7,5 млн. Многие компании, включая таких грандов, как Oracle, Informix и Corel, переносят или уже перенесли свои приложения на Linux.

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

Еще пару лет назад ОС FreeBSD по популярности не уступала Linux. Хотя количество инсталляций FreeBSD с тех пор значительно выросло, но не настолько, как у Linux. Тем не менее FreeBSD имеет свои плюсы, к тому же она хорошо зарекомендовала себя за время своего существования. Менее известны другие бесплатные UNIX-подобные операционные системы: OpenBSD, NetBSD и прочие.

Надо сказать, что взлет популярности Linux произвел впечатление на разработчиков программного обеспечения и коммерческих операционных систем. Для того чтобы стимулировать интерес к своим системам, компания Santa Cruz Operation уже более двух лет поставляет для некоммерческого использования OpenServer и UnixWare за символическую цену (около 20 долларов). Помимо цены некоммерческие варианты OpenServer и UnixWare отличаются от коммерческих лишь тем, что являются однопользовательскими.

Подобным образом поступила и компания Sun Microsystems, анонсировавшая некоммерческую версию операционной системы Solaris. Однако, в отличие от SCO, компания Sun для некоммерческого использования предлагает полнофункциональную (многопользовательскую) версию Solaris, причем всего за 60 долларов. Правда, у потенциальных заказчиков могут потребовать представить доказательства того, что продукт будет применяться в некоммерческих целях.

Чтобы провести грань между системами, подобными Linux и FreeBSD, и некоммерческими версиями SCO UnixWare и Sun Solaris, первые мы будем условно называть бесплатными ОС (или свободно распространяемыми), а вторые - некоммерческими.

Поскольку ажиотаж вокруг Linux и FreeBSD не спадает, мы решили присмотреться к этим системам повнимательнее. Цель тестирования состояла в том, чтобы определить, насколько удобно пользоваться бесплатными ОС в качестве настольной системы, файлового сервера, сервера приложений, сервера Internet, сервера удаленного доступа и др. Одновременно мы попытались выявить, какие преимущества и недостатки имеют бесплатные ОС по сравнению с некоммерческими вариантами коммерческих UNIX. Еще одна задача состояла в оценке того, насколько сложно освоить конкретную ОС с нуля, т. е. когда пользователь только с Windows или, в крайнем случае, с какой-либо другой версией UNIX.

Мы понимаем, что выводы могут носить субъективный характер: как известно, на вкус и цвет товарища нет. Более того, сравнивая между собой операционные системы, мы невольно оказываемся вовлечены в своего рода религиозные войны. И поскольку сторонников, а судя по телеконференциям, и откровенных фанатиков разных систем предостаточно, то мы, тем самым, можем нажить немалое количество врагов. И все же мы попытаемся подробно описать то, что нам понравилось или, наоборот, не понравилось в каждом конкретном случае.

Для испытания были выбраны бесплатные RedHat Linux 5.0 и 5.2, Slackware Linux 3.5, FreeBSD 2.2.6 и 3.0, а из некоммерческих версий коммерческих продуктов - SCO UnixWare 7 и SunSoft Solaris 7.

Эксперименты проводились на двух машинах разного уровня. Компьютер старшего уровня был оснащен процессором Pentium II 400 МГц, оперативной памятью 64 Мбайт, видеосистемой AGP Matrox Millenium G200 с памятью SGRAM объемом 8 Мбайт и другими средствами вроде записывающего устройства CD-R на базе SCSI. Однако вскоре выяснилось, что ни одна из операционных систем (за исключением FreeBSD 3.0) не поддерживает адаптера Matrox Millenium G200, поэтому его было решено заменить на популярный видеоадаптер S3 Trio 64 V+ с 2 Мбайт памяти. Но даже с этой платой у всех бесплатных ОС, оснащенных X-сервером XFree86, возникли проблемы. По необъяснимым причинам при наличии 1 Мбайт памяти все работало нормально, тогда как при 2 Мбайт компьютер зависал. В конце концов, и эту видеоплату было решено заменить на модель ATI Mach 64 VT с 2 Мбайт памяти.

Система нижнего уровня была оснащена процессором Pentium MMX 166 МГц, оперативной памятью 32 Мбайт, безымянным винчестером IDE, 8-скоростным ATAPI CD-ROM, звуковой картой Creative AWE 16 Vibra и видеоадаптером ATI Mach 64 VT с 1 Мбайт памяти, а также сетевой платой 3Com 509 B.

Забегая вперед, скажем, что проблемы с периферией возникали в той или иной степени у всех операционных систем.

Надо сказать, что автор не имел опыта администрирования ни одной из тестируемых ОС, хотя и работал ранее с некоторыми версиями UNIX. Это обстоятельство позволило более объективно оценить возможности освоения системы новичком.

Читатель может спросить, почему мы выбрали именно эти операционные системы? Где популярные версии: Caldera OpenLinux, S.u.S.E. Linux, OpenBSD и множество других? Здесь, наверное, стоит немного отвлечься и объяснить, что представляют собой бесплатные ОС.

Стоимость бесплатных UNIX

Если быть абсолютно точными, то системы Linux и FreeBSD, во-первых, не являются бесплатными, а во-вторых, не являются UNIX. Конечно, на стоимость того или иного программного продукта можно посмотреть и по-другому. Как известно, на Митинском радиорынке за несколько долларов можно купить практически любое программное обеспечение, независимо от его настоящей цены. Но такая покупка, вообще говоря, уголовно наказуема. Исключение составляют Linux и FreeBSD, распространять которые может любой желающий.

Хотя очень часто FreeBSD и Linux называют UNIX-системами, с формальной точки зрения это неверно. Дело в том, что в настоящее время UNIX является торговой маркой организации Open Group и представляет собой лицензионный продукт. Более правильно подобные операционные системы было бы называть UNIX-подобными.

Почему-то Linux и FreeBSD (последнюю, правда, в меньшей степени) повсеместно связывают с проектом GNU, продукты, выпускаемые в рамках которого, якобы должны распространяться бесплатно. На самом деле здесь каждое утверждение неверно. Прежде всего, принадлежность к проекту GNU никоим образом не говорит о бесплатности ПО. Лицензия GNU (GNU General Public Lisense), которую называют GNU Copyleft, предлагает свободный доступ лишь к исходному коду ПО, т. е. в рамках проекта GNU программный продукт обязательно должен поставляться с исходными кодами. При этом сам продукт может быть бесплатным, а может быть и коммерческим. Еще одно обязательное условие состоит в том, что если разработчик ПО использовал лицензионный исходный код GNU, то новый продукт также должен подпадать под лицензию GNU.

Согласитесь, глупо ожидать, что Oracle будет поставлять для Linux версию СУБД в исходных кодах, да еще бесплатно. Лицензия GNU распространяется менее чем на половину программ Linux и FreeBSD. Помимо лицензии GNU ╚бесплатные╩ ОС подпадают и под действие других лицензий, причем они предоставляются на совершенно иных принципах. Прежде всего, это лицензии BSD, лицензия X-консорциума, другие некоммерческие и коммерческие лицензии. Некоторые из них предусматривают бесплатную поставку, некоторые - наличие исходного кода. Коммерческие лицензии действуют в соответствии с общепринятыми в отрасли правилами. Тем не менее дистрибутивы Linux и FreeBSD поставляются по большей части в исходных кодах, и практически все программы являются бесплатными.

Создаваемые в рамках проекта GNU или BSD бесплатные программы пишутся сразу для многих UNIX-подобных систем, а не только для Linux и FreeBSD. Поэтому заявления апологетов Linux и FreeBSD о том, что в этих системах имеются какие-то особые программы, недоступные для других систем, представляются безосновательными. Другое дело, что производители коммерческих UNIX крайне неохотно включают в комплект поставки бесплатные утилиты. Если они и делают это, то только после тестирования.

Комплект приложений всех бесплатных ОС практически идентичен, и нет оснований говорить о преимуществе той или иной операционной системы с точки зрения комплектации прикладными программами.

Как уже было сказано, ядро Linux разрабатывается централизованно, под руководством создателя ОС Линуса Торвальдса. Модифицировать ядро не запрещено никому, но официальные версии выпускаются Торвальдсом.

Каждый дистрибьютор на основе ядра создает свой комплект программ, притом некоторые из них во многом пересекаются и предназначены для решения одних и тех же задач. Искусство дистрибьютора состоит в том, чтобы составленный им комплект программ обеспечивал максимум функциональности и удобств. Поэтому часто дистрибьюторы сами пишут недостающие программы. С этим, кстати, связана самая большая потенциальная опасность для Linux. Дистрибутивы настолько сильно отличаются друг от друга, что об единой системе Linux можно говорить лишь условно. Судьба Linux может повторить судьбу UNIX, когда из общего корня выросло множество несовместимых друг с другом систем, тем самым, общий потенциал UNIX в значительной мере был подорван.

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

Все основные дистрибьюторы поставляют программное обеспечение на носителях CD-ROM. В комплект поставки обычно входят от 2 до 6 компакт-дисков, иногда сопровождаемых книгой по инсталляции системы. Цены на комплект колеблются от 30 до 60 долларов, но иногда могут достигать и отметки в 200 долларов. Дело в том, что распространители могут включать в комплект коммерческие программы, значительно увеличивающие стоимость дистрибутива.

Практически все продавцы имеют серверы FTP, с которых любой желающий может бесплатно переписать дистрибутив, но без коммерческих программ. Правда, копирование по Internet нескольких сот мегабайт никак не назовешь удовольствием, да еще бесплатным. Кроме того, многие серверы имеют ограничения по работе с клиентами, как правило, по количеству одновременно работающих пользователей (обычно пять человек) и времени связи (порядка 20-30 минут).

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

Компакт-диски со свободно распространяемыми ОС условно можно разделить на две категории. Первую категорию составляют компакт-диски официальных партнеров дистрибьюторов ПО. Цена на такие диски и их комплектация практически полностью совпадают с ценой и комплектацией ╚родных╩ CD-ROM, а диски изготавливаются заводским способом. Иногда распространители добавляют инструкцию на русском языке и средства поддержки кириллицы.

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

Именно данное обстоятельство и обусловило наш выбор операционных систем. Если с некоммерческими UnixWare и Solaris проблем не возникло - мы их получили в российских представительствах SCO и Sun, то бесплатные ОС было решено сначала приобрести на радиорынках. Здесь мы обнаружили массу всевозможных свободно распространяемых ОС: Caldera OpenLinux, Debian GNU/Linux, LinuxPPC, LinuxWare, RedHat Linux, Slackware Linux, S.u.S.E. Linux, TurboLinux, Yggdrasil Linux, FreeBSD, OpenBSD, NetBSD. Однако более детальное знакомство с некоторыми из них нас полностью разочаровало: они не годились для изучения системы. Поэтому мы решили найти официальные дистрибутивы свободно распространяемых ОС. В результате тестируемых систем оказалось немного: FreeBSD 2.2.6 и Slackware Linux 3.5 нам предоставила компания ╚КомпьюЛинк╩, а дистрибутив RedHat Linux 5.0 был получен через книжный салон компании ╚Фольком╩. Поскольку указанные версии FreeBSD и RedHat несколько устарели, мы приобрели на радиорынке и испытали и более новые их версии (на самом деле это были лишь урезанные версии полных дистрибутивов).

Но стоимость ПО составляет не только та сумма, которую потребители платят за носители. Она включает и стоимость обучения, установки, администрирования, обновления и т. д. А в совокупности эти затраты могут значительно превышать стоимость носителя.

Внимательное чтение публикаций, посвященных внедрению Linux или FreeBSD на предприятиях, позволяет выявить весьма любопытный факт. Внедрением обычно занимаются энтузиасты, причем они нередко устанавливают подобные системы втайне от руководства и изучают их в нерабочее, а порой и в рабочее время. Счастливый конец таких историй состоит в демонстрации энтузиастами перед своим начальством преимуществ бесплатных Linux. Однако компьютерная отрасль (так же, как и любая другая) не может держаться на голом энтузиазме. Сегодня энтузиаст работает на вашем предприятии, а завтра может уволиться. Внедрение ПО подразумевает значительные расходы на подготовку специалистов. Курсы подготовки специалистов по Linux и FreeBSD найти очень и очень непросто, причем стоят они немалые деньги. Например, компания RedHat Software за пятидневные курсы взимает плату 2500 долларов на человека! Вы и теперь считаете Linux бесплатным?

Не стоит забывать и о стоимости администрирования системы. К сожалению, свободно распространяемые ОС значительно уступают традиционным UNIX по возможностям администрирования, не говоря уже о том, что они исключительно плохо интегрируются в корпоративную среду. В частности, современные платформы управления сетью не поддерживают Linux, так как какие-либо агенты для этой ОС, кроме тривиальных агентов SNMP, отсутствуют.

Но у Linux и FreeBSD есть очень мощный контраргумент с точки зрения стоимости: бесплатные ОС можно ставить на устаревшую технику. Часто это исключает необходимость покупки новой и весьма дорогой современной техники.

Общие характеристики бесплатных ОС

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

Самый крупный, бросающийся в глаза недостаток свободно распространяемых операционных систем состоит в отсутствии единой концепции разработки программ, в том числе общего стиля и единого интерфейса. Программы пишут по принципу ╚кто во что горазд╩. Комплект системы представляет собой эклектическую смесь подходов и стилей.

Например, такая простая операция, как выход из программы, в одних приложениях выполняется нажатием клавиши Esc, в других - q, в третьих - Q, в четвертых - , в пятых - , в шестых - , и т. д. и т. п. Чтобы произвести самые элементарные действия, пользователю приходится постоянно обращаться к документации. В случае ╚интегрированных╩ программ ситуация еще хуже. В частности, многие менеджеры окон X11 (X Window Manager) позволяют напрямую вызывать менеджеры файлов (File Manager), но они написаны с использованием разных API. Это приводит к тому, что даже кнопки мыши работают в них по-разному.

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

Вторая серьезная проблема бесплатных операционных систем - отсутствие порядка в документации. Документации в бесплатных ОС очень много, но организована она, вообще говоря, бестолково. Документация хранится в разных местах и в нескольких форматах:

страницы man; текстовые документы, описывающие работу программ; документы HTML, описывающие работу программ; документы PDF, описывающие работу системы или отдельных программ; документы HOWTO в формате сжатых (с помощью программы gzip) текстовых файлов с объяснениями настройки и работы программ; документы mini HOWTO (текстовый формат), с краткой информацией об особенностях программ; документы FAQ (тестовый формат или формат HTML) с ответами на наиболее часто задаваемые вопросы по работе программ; документы в формате Info с описанием программ, созданных в рамках проекта GNU.

Самое печальное то, что нельзя заранее сказать, где надо искать документацию по конкретной утилите или программе: приходится перебирать все подряд.

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

Помимо этого, многие нужные и полезные приложения содержат ошибки. Но любая ОС не застрахована от ошибок, на наш взгляд, в бесплатных ОС их не больше, чем в коммерческих. Другое дело, что качество документации оставляет желать лучшего, так как она составляется не техническими писателями, а самими программистами. А, как известно, программисты пишут документацию в самую последнюю очередь, да еще активно пользуясь жаргоном. К тому же при выпуске новой версии ПО программисты редко заботятся об обновлении документации, в лучшем случае они пишут короткий файл с перечнем нововведений. Все это сильно отдает дилетантизмом.

В противовес практике бесплатных ОС, все современные коммерческие UNIX (включая их некоммерческие версии) имеют хорошо проработанную и добротно написанную документацию. В комплект поставки ОС входит не один десяток составленных техническими писателями книг в электронном виде. Средства просмотра и поиска продуманы и очень удобны. В настоящее время основной тенденцией в оформлении документации является использование технологии Web. Любой компьютер с ОС UnixWare или Solaris может выступать как сервер документации. Конечно, и в таких ОС имеются страницы man или info, но почти все они продублированы в формате HTML.

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

Несмотря на растущий интерес к Linux и FreeBSD со стороны разработчиков ПО, этим системам не хватает серьезных приложений, в том числе офисных программ, СУБД, связующего ПО (middleware), платформ управления и многого другого.

Поддержка периферийного оборудования и вообще принципы управления ядром системы в бесплатных ОС реализованы не очень удачно. Добавление какого-либо аппаратного компонента компьютера ведет к необходимости выполнения множества действий: изменения конфигурации, компиляции и установки нового ядра. Это весьма длительный процесс даже на Pentium II 400 МГц. В современных UNIX применяется совершенно иная технология, не требующая полной компиляции ядра из исходного кода. Правда, реализованный в Linux и FreeBSD подход позволяет получить исключительно компактное ядро.

Достоинств у бесплатных ОС тоже немало, и именно они обусловили популярность Linux и FreeBSD. Главным плюсом свободно распространяемых ОС является, конечно же, цена. Некоммерческие версии UnixWare и Solaris если и дороже Linux и FreeBSD, то не намного, но у последних нет никаких дополнительных ограничений в виде сферы применения (некоммерческое использование) или количества лицензий на подключение.

Бесплатные ОС работают на многих аппаратных платформах, в том числе Intel, PowerPC, Macintosh, Alpha, SPARC, и поддерживают многопроцессорные конфигурации. В настоящее время уже появились и кластерные технологии для Linux.

Важным достоинством бесплатных ОС являются их невысокие требования к вычислительным ресурсам. Даже компьютер с процессором 386, памятью объемом 8 Мбайт и винчестером емкостью 100 Мбайт вполне может работать в качестве не только клиента, но даже сервера сети. Это конечно же минимальные требования. Но как сервер Web компьютер с Pentium MMX 166 МГц с 64 Мбайт памяти и ОС Linux может поспорить с компьютером Pentium II 300 МГц с 128 Мбайт памяти на базе Windows NT. С помощью Linux можно реанимировать древние компьютеры SPARC, на которых современные Solaris уже не работают.

Многие считают большим недостатком свободно распространяемых ОС отсутствие технической поддержки. Не знаю как на Западе, но в России все обстоит как раз наоборот. Толковые советы по Linux или FreeBSD можно получить значительно проще и быстрее, чем по любой другой операционной системе, включая Windows NT или NetWare. Для этого пользователю достаточно обратиться с вопросом в соответствующую телеконференцию. С другой стороны, уровень официальной поддержки коммерческих ОС в России настолько низок, что он вряд ли может сказаться на выборе конкретной ОС.

Еще одним преимуществом Linux (к сожалению, это не относится к FreeBSD) является огромное количество печатной литературы по системе. Это обстоятельство в немалой мере способствует популяризации Linux. По количеству книг Linux уступает только Windows NT и, возможно, NetWare.

Некоторые считают важным преимуществом свободно распространяемых ОС частый выход новых версий системы. Действительно, новые версии Linux и FreeBSD выходят с периодичностью 2-4 раза в год, а комплекты поставки включают соответственно самые последние версии ПО. Но данное утверждение достаточно спорно. Калейдоскопическая скорость выхода новых версий делает освоение системы трудной и, к тому же, перманентной задачей. В результате обновленная документация, в особенности печатная, появляется с неизбежным опозданием. Например, последняя редакция самой популярной книги по RedHat Linux (╚RedHat Linux Unleashed╩) относится лишь к версии 3.0.3, тогда как текущая версия носит номер 5.2. Обучить новичка работе с системой по такой книге весьма непросто. Конечно, у быстрой обновляемости версий есть тот плюс, что пользователю доступно самое последнее ПО, с меньшим количеством ошибок и с более широкими функциональными возможностями.

Немало сторонников Linux и FreeBSD считают доступность исходного кода ядра и ПО чуть ли не решающим преимуществом системы. Однако нам оно не представляется столь уж бесспорным. Как известно, на одного разработчика приходится не менее 100 обыкновенных пользователей. Их не интересует доступность кода. Характерно, что на Митинском рынке вы не найдете дисков с исходным кодом ПО - спрос определяет предложение.

В числе недостатков бесплатных ОС специалисты называют обычно слабую поддержку периферийного оборудования и некорректность работы многих драйверов. Это связано с тем, что часто производители не желают не только писать драйверы, но и предоставлять алгоритмы работы своего оборудования. В результате независимые программисты зачастую вынуждены писать драйверы ╚на ощупь╩. Отсюда и ошибки в их работе. Но надо сказать, что, благодаря росту популярности бесплатных ОС, положение дел начинает меняться к лучшему. Во всяком случае Linux сегодня поддерживает гораздо больше устройств, чем Solaris и UnixWare вместе взятые.

Поддержка выполнения программ MS-DOS и особенно Windows во всех UNIX-подобных системах реализована на весьма слабом уровне. В UnixWare имеется неплохая среда эмуляции DOS/Windows под названием SCO Merge, но она не входит в некоммерческий комплект.

Очень большой проблемой для российских пользователей остается крайне неэффективная поддержка кириллицы. Эта особенность - ахиллесова пята любой UNIX-подобной операционной системы, как коммерческой, так и бесплатной. Даже если вы установите кириллические шрифты и переключатель клавиатуры, это не гарантирует поддержку русского алфавита многими программами. Ситуацию ухудшает и чрезмерно большое количество кодировок. Хотя самой популярной кодировкой в UNIX является KOI8, но также активно используются ISO8859-5, CP866, CP1251, а сейчас и UNICODE.

Что касается вопросов безопасности, то традиционные UNIX предлагают более высокий уровень безопасности как на локальном, так и на сетевом уровне. Бесплатным ОС недостает поддержки списков контроля доступа (ACL), которым разработчики почему-то не уделяют никакого внимания. Стандартные средства разграничения полномочий на основе парадигмы ╚пользователь-группа пользователей-остальные пользователи╩ уже давно не соответствуют предъявляемым к современным ОС требованиям. Единственный плюс бесплатных ОС с точки зрения защиты состоит в оперативности реакции разработчиков при нахождении дыр в системе безопасности.

Рассмотрев общие особенности бесплатных ОС, мы переходим к описанию особенностей конкретных систем.

Redhat Linux
 Linux, FreeBSD и другие Рисунок 1. Графическая среда RedHat Linux 5.2.


2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.