Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #69, АВГУСТ 2006 г.

последняя битва

ЕВГЕНИЙ ЗОБНИН АКА J1M

Спецвыпуск: Хакер, номер #069, стр. 069-026-2


[интеграция.]

С самого начала своего возникновения Linux был всего лишь ядром. Линус Торвальдс не утруждал себя созданием так называемого «окружения ОС», всех тех утилит и библиотек, которые, работая поверх ядра, создают завершенную операционную систему. Вместо этого предлагалось использовать наработки проекта GNU, в рамках которого уже было написано все необходимое, включая стандартную библиотеку языка Си (libc). Так как и ядро Linux, и все программы проекта GNU выпускались под лицензией GPL, то никаких проблем в создании на их основе операционной системы, пригодной для использования, не возникало. Так появилось понятие дистрибутива Linux, то есть окружения ОС на основе ядра Linux. В современные дистрибутивы Linux входит софт не только проекта GNU, но и множество других программ от сторонних разработчиков, лицензии которых совместимы с GPL.

BSD-системы, будучи прямыми потомками UNIX, изначально комплектовались всем необходимым для комфортной работы в ОС. Это подтверждается наличием слова Distribution в самой аббревиатуре BSD. Все системные компоненты окружения ОС разрабатываются одной командой разработчиков, а их развитие координируется лидерами проекта. За счет этого поддерживается общая целостность и непротиворечивость всей операционной системы. Системные утилиты имеют четкие, понятные имена и единообразные флаги. Яркие примеры: vidcontrol и kbdcontrol. По названию утилит легко определить, что они предназначены для настройки консоли и клавиатуры. Никаких дополнительных программ не существует, поведение консоли настраивается только двумя утилитами, начиная от типа курсора и заканчивая цветом и шрифтами.

Взглянем теперь на ситуацию в мире Linux. Системные программы, которыми комплектуется дистрибутив, разрабатываются зачастую совершенно независимыми командами. Представления разработчиков об имени команды и способах управления ею существенно различаются. В результате возникает мешанина - огромное количество утилит с невнятными названиями и различным поведением. Ситуация усугубляется еще и тем, что независимые разработчики не могут скоординировать свою работу, и, как результат, появляется множество различных утилит, управляющих, по сути, одним и тем же устройством. Рассмотрим тот же пример с консолью. Для полной настройки и русификации консоли в Linux придется прибегнуть к помощи аж четырех утилит: loadkeys для настройки раскладки, setfont для смены шрифта, setterm для управления визуальными параметрами и fbset для настройки разрешения графической консоли. Причем, если возникнет необходимость сменить разрешение текстовое, то это можно сделать только путем передачи параметра ядру. Хотя, затрагивая вопрос графики в консоли, надо отдать пингвину должное, настоящей графической консоли в FreeBSD нет, максимум, что можно сделать, это установить VESA-режим с разрешением 800x600 и частотой смены кадров 60Гц. Но ситуация меняется: ребята из проекта DragonFlyBSD доработали консольный драйвер и научили его действовать во всех режимах, которые только позволяет использовать железо машины. Не так давно был сделан бэкпорт этого драйвера в FreeBSD.

Назад на стр. 069-026-1  Содержание  Вперед на стр. 069-026-3