вторник, 26 мая 2020 г.

Построение и философия системы Linux

Пользователи без достаточного опыта работы в системе Linux часто неправильно понимают концепцию системы Linux и ожидают от неё того, что она не может дать. Для того, чтобы эффективно использовать систему, важно понять философию и принцип построения системы Linux. Мы начнём с описания принципа, по которому система    Linux не  построена...

Это цитата из книги "Построение и философия Linux". Принципы эти всем хорошо знакомы, поэтому на них останавливаться не будем. Схема, по которой создавалась операционная система Linux, не имеет ничего общего с моделью, описанной выше: здесь нет организованного упорядоченного развития, системы контроля исходных текстов, структурированной системы фиксации ошибок и статистической системы контроля качества. Linux является операционной системой, созданной хакерами, и возможно навсегда останется такой. Заметим, что словом хакер в данной книге обозначается страстно увлечённый своим делом программист, который испытывает радость от работы с компьютерами и с помощью этих компьютеров делает интересные вещи. Это — первоначальное определение слова хакер; оно отличается от того смысла, который в него стали вкладывать в последнее время: нарушитель компьютерного законодательства или программист, не признающий законов.

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

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

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

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

После того, как первоначальные ошибки исправлены, программе присваивается бета-версия. В бета-версии программа обычно считается стабильной, но не полной. Программа в бета-версии работает, но у неё могут быть реализованы не все функции. Программа может также перейти непосредственно в конечное состояние, в котором будет считаться готовой к использованию.
Следует иметь в виду, что сказанное выше является всего лишь соглашениями, а не правилами. 

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

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

Комментариев нет:

Отправить комментарий

Отзывы, вопросы пишите здесь.