CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
08.12.2021

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Desktop
Internet
Internet-серверы
Безопасность
Бизнес/Офис
Игры
Мультимедиа
Наука
Операционные системы
Программирование
СУБД
Создание веб-сайтов
Утилиты

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Движение Open Source :: История

Свободная система для свободных людей

Страницы: предыдущая :: 1 :: ... :: 15 :: 16 :: 17 :: 18 :: 19 :: ... :: 39 :: следующая

Стандартизация Linux

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

Некоей гарантией того, что подобная опасность не грозит Linux, является применение лицензии GPL и публикация исходных кодов. Развитие Unix в период Unix-войн сильно замедлилось в силу того, что конкурирующие производители тратили годы на внедрение аналогичных функций - просто потому, что у них не было доступа к базе решений, найденных другими. Независимая разработка одних и тех же функций не только стоила Unix годы, но и привела к судебным тяжбам. В Linux-сообществе ситуация принципиально иная. Исходные коды всего программного обеспечения доступны всем и отбор наиболее правильных и красивых решений происходит естественным образом. Тем не менее, очевидно, что разработка общепринятых стандартов очень полезна всему сообществу, так как позволяет упорядочить процесс разработки, договориться об общепринятых основах, не тратить силы на "тупиковые ветки".

Вообще говоря, Линус Торвальдс с самого начала придерживался в своей разработке основных стандартов, существовавших для Unix, в частности стандарта POSIX. Практически вся сетевая подсистема Linux - реализация открытых интернет-стандартов, изложенных в известных документах серии RFC. Графическая подсистема основана на стандарте X Window, который, по мнению многих экспертов, давно уже устарел, и его эффективность сомнительна - но все же это стандарт, и (кроме как для карманных компьютеров и других специфических задач) мало кто позволяет себе отойти от него.

Вероятно, одним из первых проектов стандартизации в Linux стала попытка упорядочить структуру каталогов файловой системы. Работа над этим проектом была начата в августе 1993 года. Вначале стандарт назывался проектом стандартов файловой системы - Filesystem Standarts project (FSSTND), и был ориентирован только на систему Linux. Его первая версия была выпущена 14 февраля 1994 года. Последующие редакции были выпущены 9 октября 1994 и 28 марта 1995 года. В разработке стандарта принимало участие большое количество добровольцев, но главным организатором был Дэниел Квинлан (Daniel Quinlan).

В начале 1995 года с участием сообщества разработчиков системы BSD была поставлена цель создания более общей версии FSSTND, предназначенной не только для Linux, но и для других UNIX-подобных операционных систем. В результате объединенных усилий разработка стандарта сосредоточилась на вопросах, которые являются общими для всех UNIX-подобных систем, включая операционные системы типа 4.4BSD. Учитывая расширение сферы действия стандарта, он был переименован в Filesystem Hierarchy Standard или, для краткости, FHS. Естественно, что «настоящие» UNIX-системы, созданные задолго до появления этого стандарта, ему не соответствуют. Однако FHS учитывает все положительные качества, присущие BSD и другим системам в части поддержки различных архитектур и учета требований работы в гетерогенных сетях. На момент написания этой статьи последней версией стандарта FHS является версия 2.3, которая была выпущена в августе 2004 года. Полный исходный текст этого стандарта можно найти в Интернет на сайте http://www.pathname.com/fhs/ (русский перевод версии 2.2.находится по адресу http://rus-linux.net/MyLDP/file-sys/fhs-2.2-rus/index.html).

В мае 1998 года Линус Торвальдс, Брюс Перенс (Bruce Perens) и несколько других известных сторонников систем с открытыми исходными кодами подписали декларацию о начале разработки проекта Linux Standart Base (LSB), который должен был определить набор тех компонент, которые должны присутствовать в любой "Linux-системе". Инициаторы проекта ставили амбициозную цель обеспечить в результате бинарную совместимость дистрибутивов, удовлетворяющих стандарту LSB. Под бинарной совместимостью понималось следующее:

  • С точки зрения пользователя: Не должно иметь значения, какой именно дистрибутив он использует. Он должен иметь возможность установить в свою систему программное обеспечение, разработанное для любого другого дистрибутива. Пакеты, соответствующие LSB, не должны зависеть ни от каких других пакетов, кроме других пакетов, соответствующих LSB.
  • С точки зрения поставщиков программного обеспечения (ISV): Программное обеспечение, которое сертифицировано для какой-то конкретной версии Linux, удовлетворяющей требованиям LSB, должно без проблем работать на любой другой версии системы, также удовлетворяющей LSB. Поставщик не должен зависеть от поддержки конкретным дистрибутивом.
  • С точки зрения разработчика ПО: Достаточно просто писать программное обеспечение так, чтобы оно удовлетворяло требованиям LSB, и можно быть уверенным, что оно будет работать в любом дистрибутиве. Не требуется проверять его работоспособность в разных дистрибутивах.

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

Разделяемые библиотеки (glibc, pthreads, ncurses и т.д.)

Различные дистрибутивы Linux используют разные системные библиотеки, точнее разные их версии. Поэтому программа, легко инсталлируемая в системе A, может не установиться в системе B, использующей более раннюю версию библиотек, поскольку существует проблема "обратной совместимости". Решение этой проблемы состоит в том, что некая версия библиотеки объявляется стандартной и ей дается соответствующее имя, например, ld-lsb.so.1
Если эта библиотека будет затем включена во все дистрибутивы, претендующие на соответствие LSB, все приложения, которым эта библиотека необходима, будут работать без проблем. Это не означает, что все другие версии этой библиотеки запрещены: они тоже могут быть включены в дистрибутив, чтобы запускалось ПО, специфичное для данного дистрибутива.

Системные команды

Необходимо определить четкий перечень стандартных системных команд, включающий также указание на точное размещение соответствующих исполняемых файлов в файловой системе. Это необходимо для того, чтобы программисты знали, какие команды они могут вызывать из своих программ и скриптов, без риска получить сообщение об ошибке. Поэтому LSB определяет минимальный набор системных команд (man, cat, grep и т.д.), которые должны присутствовать во всех LSB-совместимых системах.

Иерархия каталогов файловой системы

Стандартизация библиотек и системных команд не будет иметь большого смысла, если не известно, где эти библиотеки найти. Поэтому LSB включает в свой состав Filesystem Hierarchy Standard (FHS), благодаря чему авторы других программ и скриптов знают, где размещены соответствующие файлы.

Системные и инициализационные скрипты и процесс начальной инициализации системы

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

Реализация стандарта POSIX.1 (+ glibc Extensions)

Для того, чтобы программисты, пишущие приложения для Linux, знали какие функции им доступны, LSB использует стандарт POSIX (Portable Operating System Interface), являющийся одним из самых важных стандартов для UNIX и UNIX-подобных систем.

Сокеты

Linux с самого своего возникновения был системой, предназначенной для работы в сети. Поэтому LSB также определяет механизмы, с помощью которых система взаимодействует с Интернет и сетями. Впрочем, в этом вопросе LSB в основном следует существующим стандартам.

X11

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

Основы процедур установки ПО

Использование унифицированого формата пакетов ПО - еще один предмет рассмотрения для LSB. Принятый LSB формат пакетов в основном соответствует широко распространенному формату RPM (определеному в Maximum RPM). LSB не определяет, как создавать пакеты. Однако, он содержит четкие указания о порядке именования пакетов и спецификации описаний взаимозависимостей пакетов.

ELF

Формат исполняемых файлов ELF ("executable linkage format") является стандартным в Linux. Он описывает структуру бинарных файлов с программами и библиотеками.

С целью поддержки процесса разработки стандартов для Linux была образована независимая некоммерческая организация Free Standards Group. В число ее основателей и участников входят такие известные фирмы и организации как Conectiva, Debian, Dell, Hewlett Packard, Hitachi, IBM, Miracle Linux, The Open Group, Oracle, Red Hat, Sun, SuSE and TurboLinux, а также отдельные независимые представители сообщества разработчиков открытого программного обеспечения.

В рамках Free Standards Group были образованы несколько рабочих групп, задачей которых является разработка отдельных стандартов. Разработка проекта Linux Standard Base стала задачей одной из таких рабочих групп. Другие рабочие группы занимаются разработкой следующих стандартов:

  • OpenI18N (ранее назывался Li18nux) - стандарт по интернационализации и локализации приложений для Linux и других платформ, включающий конкретные спецификации и наборы тестов;
  • LANANA - стандартный перечень имен и номеров устройств, используемых а Linux;
  • DWARF - формат описания программ на C и других языках программирования для облечения процессов отладки;
  • OpenPrinting - набор стандартов, определяющих процедуры организации печати в корпоративных сетях, включая управление печатью, обеспечение надежности, безопасности, расширяемости, сетевой доступности и т.д.

В октябре 2004 года организация Free Standards Group выпустила версию 2.0 стандарта Linux Standard Base (LSB). О своей поддержке нового стандарта заявили такие компании, как AMD, IBM, Dell, Hewlett Packard, Red Hat, Red Flag (основной китайский поставщик Linux) и т.д. Со временем все большее число компаний осознают, что следование стандарту LSB снижает расходы на тестирование производимых ими продуктов и предоставляет определенные преимущества в конкурентной борьбе, поскольку дает покупателям уверенность в высоких качествах продукта и отсутствии проблем с его эксплуатацией. Поэтому в 2005 году все новые компании заявляют о поддержке LSB. В их число входят, в часности, поставщик средств хранения данных Veritas, разработчик баз данных MySQL и поставщик программных средств управления Levanta.

Перечень программ и дистрибутивов, удовлетворяющих требованиям LSB, можно просмотреть здесь.

Кроме стандартов, разрабатываемых Free Standart Group, нужно упомянуть еще консорциум Embedded Linux, который разработал проект стандарта по использованию Linux во встраиваемых устройствах, таких как сетевые маршрутизаторы и заводские роботы.




Страницы: предыдущая :: 1 :: ... :: 15 :: 16 :: 17 :: 18 :: 19 :: ... :: 39 :: следующая

Комментарии

аноним, Sun Dec 13 13:09:43 2009:
Виндовс - говно, линукс - ОС будушего. Это легко понять если сравнить например Windows 3.1 и Ubuntu 9.10. Кто это не понимает просто быдло!
аноним, Sun Dec 13 03:49:50 2009:
Хмм удивительно то что MS когда-то раздавали шрифты.
Я считал что они пожизни были пропиетарны и распространялись строго в составе дистрибутивов.
Кстати как вспомню какие корявым был набор шрифтов
в майкрософтовском офисе 2.0 - это ж просто уму
не постижимо...
Виктор Коновалов, Sun Dec 13 03:46:27 2009:
Ах, по сабжу. Статья вобщем полезная и для новичков
интересная. Мне действительно жаль, что фанатизм помешает многим правильно понять её.
Виктор Коновалов, Sun Dec 13 03:44:19 2009:
О... новый повод для знатного срача. Господи,
ну когда этот идиотизм закончится?
аноним, Sun Dec 13 02:56:56 2009:
Что было, когда Linux еще не было

не было красноглазия
аноним, Sun Dec 13 01:13:34 2009:
В осле полным полно книг.
аноним, Sun Dec 13 00:31:13 2009:
а скачать книги эти где можно???

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds