BASH Programming - Введение

       

Введение в Linux


Linux является полностью свободной реализацией спецификации POSIX, с расширениями SYSV и BSD (что означает, что Linux выглядит как Unix, не основан не на том же исходном коде), Linux доступен и в двоичной форме и в форме исходных текстов. Авторскими правами на него владеет Linus Torvalds <torvalds@transmeta.com> и другие люди, работавшие над ним, и он свободно может распространятся действием терминов, определенных в GNU General Public License (GPL). Копия GPL включена в исходные тексты Linux; вы можете также получить ее с

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

Linux не является ни public domain, ни `shareware'. Это 'свободноное' программное обеспечение, часто называемое freeware или Open Source Software[tm] (смотрите ), и вы можете раздавать или продавать копии, но вы должны включать исходный код или сделать его доступным тем же самым способом, что и двоичные файлы, которые вы раздаете или продаете. Если вы распространяете любые изменения, то вы обязаны распространять исходный код для этих изменений. Смотрите GNU General Public License (Общую публичную лицензию GNU) для более детальной информации.

Linux остается свободным с выходом версии 2.0, и будет оставаться свободным. Потому-что из-за GPL, предметом которой является Linux, будет незаконным сделать его несвободным. Замечание: `свободная' часть предоставляет доступ к исходному коду вместо денег; полностью законно брать плату за распространение Linux, поскольку вы также распространяете исходный код. Это в общем; если вы хотите дополнительную информацию, то прочитайте GPL.

Linux работает на машинах с процессорами 386/486/Pentium с шинами ISA, EISA, PCI и VLB. MCA (патентованная шина IBM) не так хорошо поддерживается в ядрах серии 2.0.x и более ранних, но ее поддержка была добавлена в разрабатываемую в настоящее время версию, 2.1.x. Если вас интересует это, то смотрите информацию на

Существует порт на множество платформ Motorola 680x0 (в настоящее время работает на некоторых компьютерах Amiga, Atari и VME), который работает достаточно хорошо. Он требует процессора 68020 с MMU, 68030, 68040 или 68060, и также требует FPU. В настоящее время работают сетевые программы и X Window. Смотрите

Linux хорошо работает на машинах с процессорами DEC Alpha, поддерживая "Jensen", "NoName", "Cabriolet", "Universal Desktop Box" (более известный как Multia), и много других платформ. Для детальной информации смотрите

Linux также работает на машинах Sun SPARC; большинство машин sun4c, sun4m, и sun4u в настоящее время могут работать с Linux, поддержка sun4 находится в стадии разработки. Red Hat Linux (во время написания) являлся единственным дистрибутивом Linux доступным для SPARC; смотрите

Linux активно переносится на машины с архитектурой PowerPC, включая машины PowerMac (Nubus и PCI), Motorola, IBM, и Be. Смотрите и

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

Linux больше не считается находящимся в стадии бета-тестирования с момента выпуска первой версии 14 Марта 1994. Но все равно еще есть ошибки в системе и новые ошибки будут подкрадываться и будут исправляться в течении времени. Linux следует ``модели открытой разработки (open development model)'', все новые версии будут доступны всем, независимо от того считаются они или нет ``качественными''. Однако, для того, чтобы помочь людям разобраться берут они стабильную версию или нет, была реализована следующая схема: версии n.x.y, где x это четное число, являются стабильными версиями, и только исправления ошибок добавляются к ним при увеличении y. Так что при переходе от версии 1.2.2 к 1.2.3, будут только исправления ошибок и никаких новых возможностей. Версии n.x.y, где x это нечетное число, являются выпусками только для разработчиков и могут быть нестабильны и новые возможности добавляются к ним все время.

Время от времени, когда текущее разрабатываемое ядро стабилизируется, оно замораживается как новое ``стабильное'' ядро, и будет продолжаться разработка новой версии ядра. Заметим, что большинство версий ядра Linux, вне зависимости от того, являются ли они бета-версией или нет, является достаточно устойчивыми; в этом контексте ``стабильный'' означает ``медленно изменяющийся'' в добавление к ``устойчивый''.

Текущей стабильной версией является версия 2.0.35 (она будет изменяться по мере того, как драйвера устройств и исправления ошибок будут добавляться), и разработка ведется над экспериментальными ядрами 2.1.x. Исходные тексты ядра Linux содержат файл Documentation/Changes, который объясняет изменения, о которых вы должны беспокоится при обновлении на новое ядро. Однако, подавляющее большинство пользователей Linux просто обновляют время от времени свой дистрибутив для получения новой версии ядра.

Большинство версий Linux, бета или нет, достаточно стабильно, и вы можете продолжать использовать их, если они содержат все что вам нужно, и вы не хотите быть на острие ножа (bleeding edge). Один сервер имел компьютер работавший под управлением ядра версии 0.97p1 (датированной летом 1992) в течении 136 дней без ошибок или падений. (Он работал бы дольше, если бы не backhoe оператор не сделал ошибку при работе с главным трансформатором для dumpster...) Другие люди прислали данные о работе свыше года. Один сервер все еще имеет компьютер, работающий под управлением Linux 0.99p15s более чем 600 дней по последним сообщениям.

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

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

Для обсуждения этих двух моделей читайте статью Eric Raymond ``The Cathedral and the Bazaar'' по адресу . (Есть русский перевод статьи ``Собор и базар'' в библиотеке М. Мошкова ).

На 1-е сентября 1998, текущим стабильным ядром Linux было 2.0.35, а последней разрабатываемой версией было ядро 2.1.119.



Содержание раздела