Архитектура и дистрибутивы Linux
Архитектура всех операционных систем UNIX – многоуровневая. На нижнем уровне, непосредственно над оборудованием, работает ядро операционной системы. Функции ядра доступны через интерфейс системных вызовов, образующих второй уровень. На следующем уровне работают командные интерпретаторы, команды и утилиты системного администрирования, коммуникационные драйверы и протоколы, – все то, что обычно относят к системному программному обеспечению. Наконец, внешний уровень образуют прикладные программы пользователя, сетевые и другие коммуникационные службы, СУБД и утилиты.
Linux – это UNIX операционная система, которая была создана Линусом Торвальдсом (Linus Torvalds). В начале для него создание данной ОС являлось исключительно хобби. Над созданием Linux он начал работать будучи студентом Университета Хельсинки (Финляндия). Он написал "с нуля" ядро операционной систему семейства UNIX. Причиной тому послужило впечатление, которое на него произвела ОС Minix, распространявшаяся вместе с книгой Энди Таненбаума. Проблема Minix заключалась в том, что пользоваться ей могли только люди, купившие эту книгу. Линус же решил написать свободную версию Minix. При этом под словом "свободную" подразумевается не только бесплатное распространение этой ОС, но и доступность исходных текстов, а так же возможность их изменять и распространять. Правила обращения со свободным программным обеспечением описаны в Общедоступой Лицензии GPL (General Public License).
Такая модель лицензирования оказалась крайне выигрышной для Linux. В результате все желающие могли принять участие в разработке этой операционной системы. На сегодняшний день несколько тысяч разработчиков трудятся над Linux. А объединяет их усилия Сеть.
Первая версия Linux (за номером 0.02) была выпущена Линусом Торвальдсом в 1991 году. Версию 1.0 он создавал еще 3-и года и в 1994 году вышел Linux 1.0.
Надо сказать, что версии Linux считаются по версиям "сердца" данной операционной системы – его ядра. В ядро встроено все самое необходимое для функционирования данной операционной системы. Ядра Linux имеют трехступенчатую систему нумерации версий – N, X, Y.
Число N бозначает версию ядра. Оно изменяется редко и только тогда, когда вносятся значительные изменения в код и концепцию ядра. Оно изменялось три раза в истории ядра: в 1994 (версия 1.0), в 1996 (версия 2.0) и 31 мая 2011 (3.0.0).
Если X четное, то значит, данное ядро представляет собой стабильную версию (стабильные версии 2.0, 2.2, 2.4, 2.6). В этом случае при увеличении числа Y просто устраняются ошибки. Новые возможности не добавляются. Если X нечетное – это означает что данное ядро из линейки разрабатываемых ядер, экспериментальных. С увеличением числа Y в ядрах появляются новые возможности. Когда разрабатываемое ядро доходит по стабильности до уровня готового продукта оно "замораживается" и превращается в стабильное N. X+1. 0.
C 30 мая 2011 года внесено изменение в систему нумераций версий ядра. Последняя версия по старой нумерации 2.6.39 обозначена в новой системе нумерации как 3.0. Отменено использование чётных/нечётных номеров для обозначения стабильности ядра. Теперь третье число означает стабилизацию ядра. Таким образом, стабильные версии ядра 3.0 именуются как 3.0.X, а следующий после этого релиз имеет номер 3.1.
Официальным символом операционной системы Linux является пингвин (рис .1).
Рис. 1. Логотип Linix
ОС Linux обладает множеством замечательных свойств UNIX, среди которых многозадачность, многопоточность, эффективная работа с виртуальной памятью, обширные сетевые возможности.
ОС Linux привлекает своей "всеядностью". Она работает на большом числе различных аппаратных платформ и может использоваться как операционная система сервера, настольного компьютера или даже ноутбука. И в любой ситуации она сохраняет все родовые признаки UNIX.
Для Linux сушествует огромное количество разнообразного программного обеспечения. Из-за специфики операционной системы Linux большая часть этого программного обеспечения распространяется под свободной лицензией, но существуют и коммерческие продукты. Характерной особенностью всех ОС семейства UNIX является достаточно легкая переносимость приложений с платформы на платформу на уровне исходных текстов.
В настоящий момент по различным оценкам Linux используют более 20 млн. человек. Произвести более точный учет невозможно, так как Linux является свободной ОС и для его использования не надо нигде регистрироваться.
Система Linux, как и все UNIX-системы, состоит из ядра операционной системы, разработку которого курирует сам Линус Торвальдс (www.kernel.org) и прочих программ, которые обеспечивают решение пользовательских задач.
Комплекты, объединяющие в себе ядро, набор программ и утилит, а также программу-инсталлятор, называются дистрибутивами.
Самые распространённые в мире дистрибутивы:
· Debian GNU/Linux — не имеющий национальной принадлежности международный дистрибутив (а также его ответвления, включая сверх-популярные Ubuntu, Kubuntu, Xubuntu).
· американский Red Hat и его бесплатный (опытный) вариант Fedora и следующие ответвления: французско-бразильский Mandriva, (бывшие Mandrake и Conectiva)и немецкий openSuSE.
· Slackware — один из самых старых дистрибутивов.
· Gentoo.
Лидирующее место занимают дистрибутивы RedHat, от которых произошли некоторые известные родственные дистрибутивы, такие как Mandrake, Suse и другие.
Помимо перечисленных, существует множество других дистрибутивов, как базирующихся на перечисленных, так и созданных с нуля и зачастую предназначенных для выполнения ограниченного количества задач. Каждый из них имеет свою концепцию, свой набор пакетов, свои достоинства и недостатки. Ни один не может удовлетворить всех пользователей, а потому рядом с лидерами благополучно существуют другие фирмы и объединения программистов, предлагающие свои решения, свои дистрибутивы, свои услуги. Существует множество LiveCD, построенных на основе GNU/Linux. LiveCD позволяет запускать GNU/Linux непосредственно с компакт-диска, без установки на жёсткий диск.
Обычно дистрибутивы содержат все необходимое программное обеспечение для организации, как сервера, так и рабочей станции.
Русскоязычные пользователи предпочитают русские дистрибутивы, среди которых можно выделить два основных Red Hat совместимых дистрибутива – Russian Fedora ( http://russianfedora.ru) и ALT Linux (ранее Linux Mandrake Russian Edition,ныне не зависитотMandrake)(www.altlinux.ru), имеющие русифицированную инсталляционную программу и русификацию "из коробки". Использование русского дистрибутива дает возможность избежать довольно утомительной для новичка процедуры русификации консоли и системы XWindow.
В последнее время в России широкое распространение получили дистрибутивы ubuntu (с рабочим столом GNOME) и kubuntu (c рабочим столом KDE). Этот проект в настоящее время финансируется Марком Шаттлвортом и его компанией Canonical. Дистрибутивы разрабатываются на платформе Debian GNU/Linux и выходят два раза в год (в апреле и в октябре), начиная с 2004 года.
Ubuntu ориентирована на удобство и простоту использования. Она включает широко распространённое использование утилиты sudo, которая позволяет пользователям выполнять администраторские задачи, не запуская потенциально опасную сессию суперпользователя root, который после установки ОС заблокирован.
Ubuntu, кроме того, имеет развитую интернационализацию, обеспечивающую максимальную доступность для представителей разных языковых групп, в том числе и русской. В Российском интернете есть много сайтов поддержки этой ОС, например, http://ubuntu.ru.
Версия 6.06 и более поздние объединяют LiveCD и установочный CD (или DVD) в один компакт-диск. Этот диск загружает рабочий стол со всеми возможностями, давая пользователям возможность видеть, поддерживаются ли их аппаратные средства, и экспериментировать с доступными приложениями, и уже затем устанавливать Ubuntu на жёсткий диск, используя графический инсталлятор. Также в дистрибутив входит программа создания загрузочного USB Flash-диска, обладающего всеми возможностями LiveCD и установочного CD. Это удобно для использования, например, на нетбуках.
В каждом выпуске дистрибутива имеется как версия для рабочих станций, так и версия для серверов. C версии 11.04 стандартный образ Ubuntu стал мультиплатформенным и может устанавливаться как на нетбуках, так и на ноутбуках и десктопных компьютерах. Последняя стабильная версия Ubuntu 12.04 LTS.
Под Linux реализован графический оконный интерфейс – система XWindow. Очень популярным бесплатным X-сервером является система XFree86 (www.xfree86.org). Этот сервер поддерживает большое количество различных видеокарт. Есть несколько оконных менеджеров, среди которых в последнее время особой популярностью пользуются GNOME (www.gnome.org) и KDE (www.kde.org).
В качестве стандартной системы верстки текста в Linux принята система TeX, являющаяся стандартом de facto для издательской деятельности, особенно в области научных публикаций.
Так же под Linux работают такие офисные пакеты как коммерческий Applixware (linux.applixware.com) и StarOffice(www.sun.com/staroffice), который имеет свободный вариант под называнием OpenOffice. Эти офисные пакеты поддерживают формат файлов MS Office. Возлагаются большие надежды на бурно развивающийся офисный пакет KOffice (koffice.kde.org).
Сетевые средства Linux с трудом поддаются краткому описанию. В двух словах можно сказать просто, что там есть все. И при этом на любой вкус. Это вполне естественно, что операционная система, рожденная в Сети, отлично приспособлена для работы с ней.
Настолько же богат и мир серверного программного обеспечения для Linux. Под OC Linux работает популярный Web-server Apache (www.apache.org), на базе которого работает около половины всех Web-узлов. Этот сервер оказывается эффективным решением для узлов различной степени сложности. Существуют системы для организации FTP-серверов, почтовых серверов, DNS, шлюзов, firewall и т.д.
Существует большое количество СУБД, работающих под Linux. Среди них такие бесплатные SQL-серверы, как MySQL(www.mysql.org), PostgreSQL (www.postgresql.org), mSQL (www.hughes.com.au) и другие. В рамках ОС Linux легко решаются задачи интеграции баз данных с web.
Игровой мир Linux так же достаточно разнообразен. Передовые производители игр стали всерьез рассматривать Linux как игровую платформу. Многие игры либо сразу выходят с версиями под Linux и Windows либо быстро переносятся на Linux. Linux поддерживает довольно большой список популярных мультимедиа устройств: звуковых плат, TV/FM - тюнеров, 3D ускорителей.
При выборе аппаратного обеспечения для Linux необходимо убедиться в том, что оно поддерживается операционной системой. Список поддерживаемого «железа» довольно обширен, но не безграничен. В нем вряд ли можно найти какие-то малопопулярные или нестандартные изделия, а также устройства, которые изначально предназначены для работы исключительно в среде OС Windows, таких как некоторые модели софт-модемов (3COM, Motorola), принтеров и сканеров. Поэтому перед покупкой какого-либо устройства, рекомендуется посетить соответствующие сайты (www.linmodems.org – софт-модемы, www.linuxprinting.org – поддержка печати в Linux, www.sane-project.org – поддержка сканеров) и убедиться, что это устройство будет поддерживаться. К сожалению не так много производителей аппаратного обеспечения поставляют драйверы для Linux. А энтузиасты пишут драйверы в основном для популярных систем.
Следует отметить, что Linux является довольно "отзывчивой" на установку дополнительной оперативной памяти. То есть при установке дополнительной памяти производительность системы меняется более существенно, чем в других операционных системах. На тему места на жестком диске Linux опять-таки предъявляет требования в диапазоне от 60Mb до бесконечности. Иными словами, эти требования очень различные в зависимости от потребностей.
Linux неплохо уживается с другими операционными системами. Стандартный загрузчик Linux – LiLo (Linux Loader) позволяет иметь на одном компьютере несколько операционных систем. Кроме того, поддерживаются работа с такими файловыми системами как FAT16 (с длинными именами), HPFS, NTFS, FAT32, HFS. Поддерживается файловая система CD-ROM. ОС Linux может быть установлена на уже существующий раздел DOS. Для этого предназначена специальная файловая система UMSDOS.
Для Linux существуют эмуляторы, позволяющие запускать приложения других операционных систем. Наиболее популярными являются dosemu (www.dosemu.org) для эмуляции DOS и wine (www.winehq.com) для эмуляции Windows. Кроме того, последнее время пользуется заслуженной популярностью коммерческое программное обеспечение vmware (www.vmware.com). Этот продукт позволяет инсталлировать и использовать разнообразные операционные системы в рамках виртуальной машины (vm), основанной, например, на Linux. Другими словами операционную систему Windows можно запустить просто в окошке Linux.
В Сети можно найти обширную информацию по различным разделам ОС Linux. Среди зарубежных серверов выделяются такие как www.linux.org, www.linux.com, www.li.org, www.freshmeat.net, www.slashdot.org, www.linuxtoday.com, www.linuxdoc.org и прочие. Среди русскоязычных информационных серверов основное место занимают www.linux.org.ru, www.linux.ru.net а так же молодой, но интенсивно развивающийся сервер www.linux.ru. Так же различным аспектам работы с ОС Linux посвящено множество листов рассылки и групп новостей.