ГЛАВА 1. ЧТО ТАКОЕ LINUX?

1. Глава 1. Что такое Linux?

 

Глава 1. Что такое Linux?

  • История Linux
  • Linux как операционная система
  • Linux как бесплатное программное обеспечение
  • Коммерческие программы для Linux

Если вы купили эту книгу и просмотрели вступительную часть и оглавление, то у вас, вероятно, сложилось некоторое мнение о Linux как программном обеспечении и явлении. Если нет - продолжим.

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

Техническое совершенство Linux свидетельствует о том, что это серьезный соперник операционных систем, поставляемых Microsoft, Novell или IBM. Учитывая способность этой системы управлять и более сложными приложениями, можно рассматривать ее как серьезного соперника -таких популярных систем линии Unix, как Solaris, HP-UX и SCO-Unix.

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

 

2. История Linux

 

История Linux

Linux, несомненно, - продукт культуры Unix. Как операционная система (вернее, набор операционных систем с общими свойствами), Unix возник задолго до появления настольных компьютеров. Он был разработан в середине 70-х, когда нормой в корпоративном мире было использование миникомпьютеров и мэйнфреймов. В настоящее время Unix используется в корпоративной среде, а также нередко применяется в системах клиент-сервер сетей intranet.

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

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

Ричард Столман (Richard Stallman) и Фонд бесплатного программного обеспечения FSF (Free Software Foundation) начали работать над этой альтернативной операционной системой в середине 80-х. К концу десятилетия они разработали большинство составляющих ее компонентов за исключением ядра (kernel). Линус Торвальдс (Linus Torvalds) из университета г. Хельсинки в Финляндии разработал оригинальное ядро Linux в 1991 году. В результате объединения Linux получился именно таким, каким мы знаем его сегодня.

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

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

Linux продолжает развиваться как уникальный двойник операционной системы Unix, предназначенный для ПК. Теперь он обеспечивает широкую аппаратную поддержку, в том числе множества популярных и распространенных периферических устройств. Прекрасные характеристики новой системы, обеспечивают многим ПК мощность, сравнимую с мощностью рабочей станции среднего класса, наподобие систем SPARC компании Sun Microsystems. Технически Linux не идентичен Unix и не может претендовать на эту торговую марку. Однако прилагается максимум усилий для того, чтобы ввести в новую систему все нужные средства, которые позволили бы сертифицировать ее как операционную систему Unix.

 

3. Linux как операционная система

 

Linux как операционная система

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

Строго говоря, в конкретный момент времени существует лишь одна текущая версия Linux, и это -текущая версия ядра. Торвальдс считает ядро собственной вотчиной в мире binux, позволяя тысячам разработчиков во всем мире разрабатывать прикладные программы и службы для этого ядра.

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

Примечание

Дистрибутивы Linux подробно рассмотрены в гл. 2.

Отметим: двойственность термина "Linux" отражает путаницу в определении понятия операционной системы. В коммерческом смысле операционная система - это широкий набор программ, сосредоточенных вокруг ядра. Под это определение подходят Windows 95, 98 и Me, Windows NT и Windows 2000, а также Macintosh OS.

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

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

 

4. Многозадачная операционная система

 

Многозадачная операционная система

Скорее всего, термин "многозадачность" вам знаком, даже если не вполне понятен.

Когда настольные вычислительные системы переходили от Windows 3.1 к Windows 95, многозадачность новой системы поднималась на щит как главное достоинство.

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

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

Если многозадачность хорошо обеспечена, то выполнение нескольких задач в фоновом режиме не должно мешать работе пользователя в текстовом редакторе. Все процессы должны проходить гладко, с хорошим откликом компьютера.

Системы Unix всегда обеспечивали многозадачность более высокого порядка, чем Windows. Unix поддерживает одновременное выполнение нескольких задач способом, идеальным для больших корпоративных серверов и мощных рабочих станций. Сегодня лишь Windows 2000 со своим предшественником Windows NT столь же надежно обеспечивают многозадачность. Даже Windows 95/98/Ме, несмотря на все фанфары, трубившие по этому поводу, с трудом управляется с большим числом одновременно выполняемых процессов.

Система Linux, подобно Windows NT и Windows 2000, поддерживает многопроцессорные компьютеры, наподобие двухпроцессорных систем Pentium III. Эти системы реально выполняют два одновременных действия. Многопроцессорность в сочетании с многозадачностью позволяет значительно увеличить количество программ, одновременно выполняемых на одном компьютере.

 

5. Многопользовательская операционная система

 

Многопользовательская операционная система

Кроме многозадачности, Linux (подобно большинству версий Unix и всем членам ее клона) имеет еще одно важное свойство: это многопользовательская операционная система.

Все версии Windows, а также Mac OS, являются однопользовательскими системами. Другими словами, в них в каждый момент времени с системой может работать только один человек. Сравните: Linux допускает одновременную работу нескольких пользователей, что позволяет полностью использовать преимущества многозадачности. Из этого следует огромное достоинство: Linux можно развернуть как сервер приложений. С терминалов или настольных компьютеров пользователи могут входить через ЛВС на сервер Linux и запускать программы на этом сервере, а не на собственных настольных ПК.

 

6. Программы для Linux

 

Программы для Linux

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

Текстовые редакторы. Кроме коммерческих текстовых редакторов, наподобие WordPerfect StarOffice или Applixware, Linux содержит собственные мощные средства редактирования текстовых файлов, а также программы обработки текстов в автоматическом режиме. Языки программирования. Имеется множество языков программирования и подготовки сценариев, а также иных средств, предназначенных для Linux и всех операционных систем

Unix. Обилие средств программирования упрощает разработку программ, выполняемых не только в Linux, но и в большинстве операционных систем Unix.

Оболочка X Windows. Ответом Unix на графический пользовательский интерфейс (GUT) явилась оболочка X Windows. Это гибкая и конфигурируемая среда, работающая как в Linux, так и в большинстве систем Unix. Множество программ, выполняемых в X Windows, превращают Linux в простую и удобную операционную систему.

Примечание

Подробное описание X Windows дано в гл. 6—12.

Средства Internet. Linux не только поддерживает известные программы наподобие Netscape Communicator или Mosaic, но и содержит собственное программное обеспечение для Internet. Это текстовые и графические программы чтения электронной почты, полный набор программного обеспечения для создания серверов Internet (Web-серверов, серверов электронной почты и новостей). Обеспечивается, полная поддержка подключения к Internet через локальную сеть или модем.

Базы данных. Подобно всем платформам Unix, Linux предоставляет надежную основу для систем баз данных клиент-сервер. Linux всегда поддерживал СУБД наподобие mSQL и PostgreSQL. С ростом популярности системы, особенно в среде корпоративных информационных систем, увеличивалось количество серверов коммерческих реляционных баз данных для Linux. Сегодня реляционные базы данных для Linux предлагаются такими компаниями, как Oracle, Sybase и Informix.

Программное обеспечение совместимости с DOS и Windows. С высокой степенью устойчивости в Linux можно выполнять программы для DOS (см. гл. 30). Существует несколько способов выполнения программ для Windows. Текст этой книги написан в Microsoft Word для Windows на компьютере, работающем под управлением Linux. Это прекрасная иллюстрация способности Linux работать с Windows. Существуют эмуляторы других популярных операционных систем, в том числе Macintosh и Atari ST.

Конечно, все перечисленное - лишь вершина айсберга. Программ для Linux гораздо больше. Хороший источник программного обеспечения для Linux - Linux Software Map. Он находится в World Wide Web по адресу http: / /www. execpc . com/1sm/.

 

7. Linux как бесплатное программное обеспечение

 

Linux как бесплатное программное обеспечение

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

Прежде всего, ядро Linux распространяется по лицензии GNU GPL (General Public License -общественная лицензия общего вида). Это особая лицензия на распространение программного обеспечения, разработанная Фондом бесплатного программного обеспечения (Free Software Foundation). Она призвана содействовать свободному распространению и, что более важно, свободной разработке программного обеспечения. В отличие от лицензий, регулирующих распространение любого коммерческого программного обеспечения, лицензия GNU позволяет распространять программное обеспечение бесплатно или за деньги при соблюдении условий лицензии GNU. Иными словами, любой может взять какую-либо программу, распространяемую по лицензии GNU, внести в нее определенные изменения и распространять (за деньги или бесплатно). Однако этот человек не может запретить другому распространять эту же программу.

Большая часть версий Linux распространяется в соответствии с лицензией GNU GPL. Это позволяет множеству поставщиков программного обеспечения предлагать как коммерческие, так и бесплатные дистрибутивы Linux.

Учтите: бесплатное программное обеспечение - вовсе не то же самое, что public domain software (общедоступные программы, не защищенные авторским правом). По лицензии GNU разработчик сохраняет за собой права на собственный продукт и в любой момент может прекратить его распространение на условиях GNU. Характерная особенность данной лицензии - поощрение включения новых людей в процесс разработки и распространения новых версий программного обеспечения.

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

Такая модель разработки операционной системы Linux и программ для нее оказалась настолько удачной, что компания Netscape приняла ее для своего семейства программ-браузеров. Воспользовавшись базовыми принципами GNU, Netscape разрешила бесплатное распространение браузеров, разрешив всем лицензирование исходных текстов и свободное распространение.

 

8. Коммерческие программы для Linux

 

Коммерческие программы для Linux

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

Однако если дистрибутив Linux содержит коммерческие компоненты, которые нельзя свободно распространять, это не относится к применимости лицензии GNU к ядру системы и основным программам дистрибутивов Linux. Если программа уже распространялась по лицензии GNU GPL, то ее последующие версии должны распространяться по этой же лицензии.

 

9. Что дальше

 

Что дальше

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

В главе 2 рассмотрена философия дистрибутивов Linux и множество распространяемых дистрибутивов (разновидностей).

Глава 3 посвящена практическим действиям по подготовке к установке на ПК дистрибутива Linux. В гл. 4 и 5 описаны различные варианты установки, связанные с этим вопросы и возможные затруднения. Затем вы сможете заняться вариантами среды рабочего стола Linux, описанными в гл. 6—12.

В главах 4 и 5 описана установка Linux на отдельный ПК и различные специальные аспекты установки - в частности, отсутствие на ПК дисковода CD-ROM. Далее материал книги упорядочен по пяти частям: X Windows, GNOME, мастерство работы с Linux, подключение к Internet и Linux в качестве домашнего офиса- так называемая среда SOHO (SOHO - small office home office, т.е. малый или домашний офис. - Прим. ред.).