Linux для пионеров и пенсионеров. Что такое Linux?

Linux для пионеров и пенсионеров. Что такое Linux?

Полная версия вводной части

В двух словах ответ на вопрос из заголовка заметки прост: Linux — это операционная система (далее — ОС), одна из существующих и развиваемых в наши дни. Правда, существует точка зрения, что Linux — это только ядро ОС, а сама она должна называться GNU/Linux. Мы с Мануалом полагаем её неправильной, однако вдаваться в дискуссию и обоснование здесь не будем, потому что целевую аудиторию наших заметок этот вопрос нимало не волнует, по крайней мере поначалу.

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

…комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.

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

Было время, когда на компьютерах не имелось никаких ОСей — каждая запускаемая на них пользовательская программа взаимодействовала с «железом» своими силами, тем более, что на одном компьютере, как правило, запускалось мало программ — а именно, меньше двух. Например, для систем наведения зенитного огня или дешифрирования кодов немецкой шифровальной машини «Энигма». И необходимости в РС просто не было.

Однако после ВМВ на компьютерах стали запускать много (больше двух) программ. И все они в обязательном порядке делали одни и те же операции — такие, как открытие и закрытие файла, его чтение и запись, а также ряд других. И потому показалось резонным вынести эти операции из состава приложений в отдельную программу, которая, вместе со средствами доступа к оборудованию (например, носителям информации) и стала называться ОС, точнее, её ядром. А для взаимодействия с пользователем в состав ОС были включены системные и пользовательские утилиты.

Одной из таких ОС и оказался Linux, который начал разрабатываться в 1991 году финским студентом шведского происхождения Линусом Торвальдсом. И разрабатывается им по сей день — при содействии бессчётного числа волонтёров со всего мира. Ибо Linux является системой открытой (то есть её исходные тексты доступны в Сети для любого человека «с улицы») и свободной (на распространие её самой и любых её производных не накладывается почти никаких ограничений).

История создания и раннего развития Linux’а описана её автором в соавторстве с Дэвидом Даймондом в книге «Just for Fun: The Story of an Accidental Revolutionary», изданной на английском в 2001 году. Русский её перевод, выполненный Натальей Шаховой (2002 год), под названием «Just for fun. Рассказ нечаянного революционера» в «бумажном» виде давно стал библиографической редкостью. Однако в электронном виде онп легко находится в Сети (например, удобно читаемом исполнении — здесь).

Книга Линуса и Дэвида написана очень простым языком, содержит минимум «умных» слов, которые к тому же объясняются более чем понятно. И потому вполне по силам целевой аудитории наших заметок, не имеющей, как уже говорилось, никакой специальной подготовки. В качестве примера процитирую то, как в ней объясняется понятие системных вызовов — тех самых общих операций, о которых только что говорилось:

Одной из фундаментальных операций Unix является «операция порождения (fork)». Выполняя «fork», процесс создает свою точную копию. Таким образом вы получаете две идентичные копии. Порождённая копия чаще всего выполняет другой процесс – заменяет себя новой программой. Это вторая базовая операция. Оставшиеся четыре вызова – open (открыть), close (закрыть), read (читать) и write (писать) – предназначены для доступа к файлам. Эти шесть системных вызовов представляют собой простые операции, из которых и состоит Unix.

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

Разумеется, ядро Linux’а не ограничивается шестью системными вызовами. Очень важная для пользователя (в том числе самого начинающего) его часть — драйверы устройств (например, накопителей) и файловых систем. А также утилиты обрамления, обеспечивающие работу с устройствами (например, разбиения HDD и SDD на разделы) и файловыми системами (то есть их создания на размеченных разделах).

Для общего образования (далее ДОО): Linux принадлежит к семейству UNIX-подобных ОС, коих довольно много — из ныне живых можно назвать FreeBSD, DragonflyBSD и ряд открытых и свободных, включая проприетарную macOS. Однако разговора о них здесь не будет. Они упомянуты здесь только для того, чтобы читатель не считал Linux чем-то уникальным — этим часто грешат начинающие его пользователи. Об истории UNIX’ов, UNIX-подобных ОС и ОС Linux можно прочитать в книжке Вопросы истории: UNIX, Linux, BSD и другие.

Назначение утилит обрамления — не только системные, ряд из них выполняет и пользовательские задачи, например, поиск файлов и поиск последовательностей символов в текстовых файлах. Именно комплекс, состоящий из ядра, системных и пользовательских утилит резонно называть ОС Linux. Талисман её (maskot) — изоборажение пингвина по имени Tакс (Tux):

Большинство утилит обрамления разрабатывалось в рамках проекта GNU, почему вся ОС часто называется GNU/Linux. Я обещал не вдаваться в дискуссию по этому вопросу, но не могу не отметить пару моментов. Во-первых, ряд очень важных утилит обрамления не имеет к проекту GNU ни малейшего отношения. А во-вторых, в принципе Linux может быть собран вообще без компонентов GNU’ого происхождения.

ДОО: GNU (рекурсивно расшифровывается как GNU’s Not UNIX, то есть «GNU — не UNIX») — проект, начатый в 1983 году Ртчардом Столлманом (в миру более известен как RMS) — с целью воспроизведения функционала софта проприетарных UNIX’сов. С тем, чтобы аналоги эти (написанные с нуля, без использования кода оригинальных программ) могли бы распространяться свободно и открыто. Для чего была разработана специальная лицензия — The GNU General Public License (или просто GPL), под которой распространяется и ядро Linux.

Талисман проекта GNU — изображение атилопы гну с очень грустными глазами:

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

Добавить комментарий