Программист торвальдс линус: биография, достижения и интересные факты

Что такое дистрибутив Linux?

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

Также дистрибутивы могут создавать и поддерживать различные компании, и такие дистрибутивы уже могут быть платными.

Дистрибутив Linux может быть основан на другом дистрибутиве, и, таким образом, рождается бесчисленное множество разновидностей дистрибутивов, которые основаны друг на друге и все они имеют одну базу, одну основу.

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

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

Существуют две популярные системы управления пакетами:

  • DEB – формат файлов пакетов, использующихся в дистрибутиве Debian и во всех основанных на нем дистрибутивах;
  • RPM – менеджер пакетов, использующийся в дистрибутиве Red Hat, а также во многих других популярных дистрибутивах.

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

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

Подробней про дистрибутивы Linux мы поговорим в следующем материале.

Происхождение и детство

Уильям Шекспир родился в 1564 году в городе Стратфорд-апон-Эйвон в графстве Йоркшир. Точная дата рождения поэта не известна, однако предание относит его появление на свет к 23 апреля. Интересно, что эта дата совпадает с днём смерти Шекспира. Более того, это день святого Георгия, покровителя Англии. Шекспир был крещён 26 апреля в приходской церкви св. Троицы.

Ричард, дед Шекспира, был фермером и обрабатывал землю, которую арендовал у некоего Роберта Ардена. Сын Ричарда, Джон Шекспир, женился на младшей из восьми дочерей Ардена, которую звали Мэри. Джон, Отец Уильяма, был состоятельным ремесленником. Мать, Мэри Арден, принадлежала к одной из старейшей саксонской семье. Уильям был третьим ребёнком в семье.

История разработки

Корни Linux уходят в два других проекта: Unix и Multics, которые ставили своей целью разработать многопользовательскую операционную систему.

Что такое Unix?

Unix – это собрание кроссплатформенных многопользовательских и многозадачных операционных систем.

Можно сразу сказать, что в данный момент Unix-системы являются одними из самых важных операционных систем. Влияние Unix распространилось и на языки программирования: язык C был разработан во время разработки Unix-систем.

Разработкой Unix занималась корпорация Bell Laboratories – в 1969 году они показали первую систему Unix. Чем дальше, тем большую популярность обретали системы Unix – в 70-х их начали устанавливать на компьютеры в учебных заведениях.

При создании Unix разработчики поставили перед собой три основные задачи:

  1. Использование минимального количества функций, сохранение простоты.
  2. Общность: одинаковые методы и механизмы в разных случаях.
  3. Комбинирование программ для решения задач, а не разработка новых программ с нуля.

Что касается отличительных особенностей Unix, то это:

  1. Практически постоянное использование командной строки.
  2. Использование конвейнеров.
  3. Настройка системы через использование простых (зачастую текстовых) файлов.

Unix имеет свою собственную философию. Программист Дуглас Макилрой, который разработал конвейнер в Linux, определил следующие правила:

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

В 1983 году было объявлено о создании GNU (GNU’s Not UNIX), Unix-подобной операционной системы. Произошло это под влиянием идеи основателя проекта Ричарда Столманна о необходимости создания свободно распространяемой операционной системы и программного обеспечения с открытым исходным кодом.

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

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

В дальнейшем именно система GNU/Linux станет той системой, которую сейчас называют просто Linux.

Что такое Multics?

Multics – Multiplexed Information and Computing Service («Мультиплексная информационная и вычислительная служба») – это одна из самых первых операционных систем, в которой была реализована плоская модель хранения данных и четко разделена концепция файлов (сегментов). Создание Multics началось в 1964 году. Над системой работали разработчики компании Bell Laboratories – через несколько лет часть разработчиков начнет работу над созданием Unix.

Multics разрабатывали для того, чтобы, во-первых, дать возможность использовать ресурсы ЭВМ большому количеству пользователей одновременно, во-вторых, дать пользователям возможность совместно использовать данные, в-третьих, обеспечить хорошую скорость работы с данными.

Однако главные вычислительные задачи не были достигнуты при выпуске первой версии системы, и компания Bell Laboratories перевела свой интерес на другой проект, в результате которого на свет появился Unix.

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Гнев «системных богов»

Живой интерес общественности к Linux вызвал гнев автора системы Minix. Эндрю Таненбаум жёстко раскритиковал своего студента Торвальдса за дизайн новой системы, назвав создание монолитного ядра (1991 год) фундаментальной ошибкой. Озаглавив своё сообщение в Сети ёмкой фразой: «Линукс устарел», — профессор Таненбаум пытался объяснить пользователям, что Linux — недолговечна, так как не может быть перенесена на другой, отличный от ныне стандартного (80×86), процессор.

Критика сильно задела Линуса Торвальдса. Спорить со знаменитым и влиятельным Таненбаумом было опасно, но Торвальдс продолжал отстаивать свою правоту.

Публичность написанного Линусом ядра сделала его доступным для использования вместе с наработками общедоступного варианта системы Unix. Вскоре о «Линуксе» и его создателе стали говорить и писать журналисты.

Операционная система Linux шифрует диск

Я не параноик, но прекрасно понимаю, как важно хранить свои документы и пароли от чужих глаз. При установке Linux (в частности Ubuntu) , вам сразу предлагают зашифровать вашу домашнюю папку

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

Да, в Windows тоже это можно сделать при помощи сторонних программ, но всё это сложнее и мало кто об этом задумывается, пока не будет уже поздно.

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

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

Какой дистрибутив вам подходит?

Выбор дистрибутива зависит от ответа на три простых вопроса:

  • Насколько вы опытный пользователь компьютера?
  • Предпочитаете ли вы современный или стандартный интерфейс рабочего стола?
  • Сервер или настольный компьютер?

Если Ваши навыки работы с компьютером достаточно просты, лучше остановиться на дистрибутиве для новичков, таком как Linux Mint, Ubuntu, Elementary OS или Deepin. Если ваш набор навыков выше среднего, вы можете выбрать дистрибутив типа Debian или Fedora. Если же вы в совершенстве овладели ремеслом компьютерного и системного администрирования, используйте дистрибутив типа Gentoo. Если вы действительно хотите испытать себя, вы можете создать свой собственный дистрибутив Linux с помощью программы Linux From Scratch.

Если вы ищете дистрибутив только для сервера, вам также нужно решить, нужен ли вам интерфейс рабочего стола, или вы хотите работать только через командную строку. Ubuntu Server не устанавливает интерфейс GUI. Это означает две вещи: ваш сервер не будет загружать графику, и вам нужно будет хорошо разбираться в командной строке Linux. Однако вы можете установить пакет GUI поверх Ubuntu Server с помощью одной команды, например,

Системные администраторы также захотят рассмотреть дистрибутив с точки зрения возможностей. Вам нужен дистрибутив для сервера, который предложит вам все, что нужно для вашего сервера? Если да, то CentOS может быть лучшим выбором. Или же вы хотите взять дистрибутив для настольных систем и добавлять к нему необходимые элементы по мере необходимости? В этом случае вам подойдет Debian или Ubuntu Linux.

2. Linux — ядро

Линус Торвальдс

В 1991 году Линус Торвальдс, финский студент, чрезвычайно увлёкся идеей написать совместимое с UNIX ядро операционной системы для своего персонального компьютера с процессором ставшей очень широко распространённой архитектуры Intel 80386. Прототипом для будущего ядра стала операционная система MINIX: совместимая с UNIX операционная система для персональных компьютеров, которая загружалась с дискет и умещалась в очень ограниченной в те времена памяти персонального компьютера. MINIX был создан Эндрю Таненбаумом в качестве учебной операционной системы, демонстрирующей архитектуру и возможности UNIX, но непригодной для полноценной работы с точки зрения программиста. Именно полноценное ядро для своего ПК и хотел сделать Линус Торвальдс. Название своему ядру он дал freax, но позже оно было изменено хозяином ftp сервера на Linux — гибрид имени создателя и слова UNIX.

Совместимость с UNIX в этот момент означала, что операционная система должна поддерживать стандарт POSIX. POSIX — это функциональная модель совместимой с UNIX операционной системы, в которой описано, как должна вести себя система в той или иной ситуации, но не приводится никаких указаний, как это следует реализовать программными средствами. POSIX описывал те свойства UNIX-совместимых систем, которые были общими для разных реализаций UNIX на момент создания этого стандарта. В частности, в POSIX описаны системные вызовы, которые должна обрабатывать операционная система, совместимая с этим стандартом.

Важнейшую роль в развитии Linux сыграли глобальные компьютерные сети Usenet и Internet. На самых ранних стадиях Линус Торвальдс обсуждал свою работу и возникающие трудности с другими разработчиками в телеконференции comp.os.minix в сети Usenet, посвящённой операционной системе MINIX. Ключевым решением Линуса стала публикация исходных текстов ещё малоработоспособной первой версии ядра под свободной лицензией GNU GPL. Благодаря этому и получавшей всё большее распространение сети Internet очень многие получили возможность самостоятельно компилировать и тестировать это ядро, участвовать в обсуждении и исправлении ошибок, а также присылать исправления и дополнения к исходным текстам Линуса. Теперь над ядром работал уже не один человек, разработка пошла быстрее и эффективнее.

В 1992 году версия ядра Linux достигла 0.95, а в 1994 году вышла версия 1.0, что свидетельствовало о том, что разработчики наконец сочли, что ядро в целом закончено и все ошибки (теоретически) исправлены. В настоящее время разработка ядра Linux — дело уже гораздо большего сообщества, чем во времена до версии 1.0. Изменилась и роль самого Линуса Торвальдса: теперь он не главный разработчик, а наиболее авторитетный член сообщества, по традиции оценивающий качество исходных текстов, которые должны быть включены в ядро, и дающий своё добро на их включение. Тем не менее, общая модель свободной разработки сообществом сохраняется.

Графическая система

Да­леко не каж­дый Linux снаб­жен гра­фичес­кой сис­темой или вооб­ще нуж­дает­ся в ней — очень мно­гие дей­ствия здесь мож­но делать и из коман­дной стро­ки. Одна­ко сов­ремен­ный рабочий стол — это все же икон­ки и окош­ки.

Что­бы работать с гра­фикой, в Linux дол­жны при­сутс­тво­вать сер­вер дис­плея X.Org (тра­дици­онный вари­ант) либо новомод­ный ком­позитор Wayland, на который сей­час перехо­дят наибо­лее передо­вые дис­три­бути­вы. Плюс тре­бует­ся окон­ный менед­жер — прог­рамма, которая отве­чает за то, как выг­лядят и работа­ют эле­мен­ты интерфей­са.

Впро­чем, это всё доволь­но низ­коуров­невые под­робнос­ти, нырять в которые с ходу не обя­затель­но. Куда ско­рее тебе при­дет­ся задумать­ся о выборе рабочей сре­ды (Desktop Environment, DE). Это совокуп­ность окон­ного менед­жера и раз­ного рода прог­рамм, мел­ких (нап­ример, рису­ющих раз­ные панели, рабочий стол, вид­жеты) и круп­ных — вро­де фай­лового менед­жера. Сюда же обыч­но вхо­дит и набор базово­го соф­та: кален­дарь, поч­товик и про­чее в таком духе.

Са­мые извес­тные окон­ные сре­ды — это GNOME и KDE. Но в реаль­нос­ти их спи­сок гораз­до длин­нее. Любите­ли минима­лиз­ма могут прис­мотреть­ся к Xfce или LXDE, а Ratpoison, dwm, i3 и xmonad пре­дос­тавля­ют сре­ду с неперек­рыва­ющи­мися окна­ми, что некото­рые находят удоб­ным.

А еще от GNOME отва­лились про­екты MATE и Cinnamon — их раз­работ­чикам не пон­равил­ся интерфейс GNOME 3, и они про­дол­жили раз­вивать вто­рую вет­ку. А в elementary OS исполь­зует­ся своя сре­да под наз­вани­ем Pantheon, которую не встре­тишь боль­ше ниг­де. В общем, раз­нооб­разие огромно!

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

Установка программного обеспечения в Linux

Как и сама операционная система проста в установке, так и приложения. Большинство современных дистрибутивов Linux включают в себя то, что многие считают магазином приложений. Это централизованное место, где можно искать и устанавливать программное обеспечение. Ubuntu Linux (и многие другие дистрибутивы) полагаются на GNOME Software, Elementary OS имеет AppCenter, Deepin имеет Deepin Software Center, openSUSE имеет свой AppStore, а некоторые дистрибутивы полагаются на Synaptic.

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

Давайте рассмотрим два разных инструмента, чтобы проиллюстрировать, насколько простой может быть даже установка из командной строки. Наши примеры относятся к дистрибутивам на базе Debian и дистрибутивам на базе Fedora. Дистрибутивы на базе Debian для установки программного обеспечения используют инструмент apt-get, а дистрибутивы на базе Fedora требуют использования инструмента yum. Оба инструмента работают очень похоже. Мы проиллюстрируем это на примере команды apt-get. Допустим, вы хотите установить инструмент wget (это удобный инструмент, используемый для загрузки файлов из командной строки). Чтобы установить его с помощью apt-get, команда будет выглядеть следующим образом:

Команда sudo добавлена потому, что для установки программного обеспечения вам нужны привилегии суперпользователя. Аналогично, чтобы установить то же самое программное обеспечение на дистрибутиве на базе Fedora, вы сначала перейдете в права суперпользователя (буквально выполните команду su и введите пароль root) и выполните эту команду:

Вот и все, что касается установки программного обеспечения на Linux-машину. Это не так сложно, как вам кажется. Все еще сомневаетесь? Посмотрите как просто можно установить Lamp Server С помощью одной команды:

Вы можете установить полноценный LAMP (Linux Apache MySQL PHP) сервер как на сервер, так и на настольный дистрибутив. Это действительно так просто.

Оцените? +1
+1
+1
+1
+1
+1
+1

1. GNU без Linux

Ричард Мэттью Столлман

К 1990 году в рамках проекта GNU, основанного Ричардом Столлманом, были разработаны и постоянно развивались свободные программы, составляющие основной инструментарий для разработки программ на языке Си: текстовый редактор Emacs, компилятор языка Си gcc, отладчик программ gdb, командная оболочка bash, библиотека важнейших функций для программ на Си libc. Все эти программы были написаны для операционных систем, похожих на UNIX. Поэтому в них использовались стандартные для UNIX системные вызовы — POSIX. При помощи системных вызовов программы получают доступ к оперативной памяти, файловой системе, устройствам ввода и вывода. Благодаря тому, что системные вызовы выглядели более-менее стандартно во всех реализациях UNIX, программы GNU могли работать (с минимальными изменениями или вообще без изменений) в любой UNIX-подобной операционной системе.

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

Этап ядра

Minix не была полноценной операционной системой, а создавалась, чтобы демонстрировать основные принципы и устройство настоящих операционных систем. Ее полный исходный код (всего 12 тысяч строк) был опубликован в книге А.Таненбаума «Операционные системы». Именно эту книгу и купил Линус Торвальдс (Linus Torvalds).

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

25 августа 1991 года ОС Linux (версия 0.01) была создана. Конечно, это была не та Linux, которая есть сейчас, но она уже тогда была лучше Minix, поскольку в ней запускались командный интерпретатор bash и компилятор gcc. Сообщение о создании новой операционной системы было помещено в группу новостей comp.os.minix, там же предлагалось всем желающим протестировать ее. Кроме информации о выходе новой ОС в новостном письме было несколько тезисов относительно новой ОС:

  1. Система бесплатная
  2. Система похожа на Minix, но ее код полностью другой
  3. Система не будет такой большой, как GNU

25 августа 1991 года считается днем рождения Linux, хотя сам Торвальдс считает таким днем 17 сентября. Именно тогда он загрузил первый релиз Linux на FTP-сервер и отправил «электронку» людям, проявившим интерес к его системе.

Каталог bin версии 0.01

С этого и началось интенсивное развитие Linux, к ее разработке в помощь Торвальдсу подключились энтузиасты со всего мира, — ничто так не сокращает расстояния, как Интернет. С момента появления версии 0.01, которой практически нельзя было пользоваться, до создания версии 1.0, пригодной для обычных пользователей, а не программистов, прошло почти три года (она появилась в марте 1994 года). Первая версия обладала поддержкой сети (поддерживался протокол TCP/IP), а также графическим интерфейсом X Window. Кстати, система X Window появилась в Linux еще в 1992 году одновременно с поддержкой TCP/IP.

Первые версии Linux распространялись на обыкновенных дискетах. Всего было две дискеты: первая содержала ядро, а вторая — корневую файловую систему и необходимые программы. Именно поэтому данный этап в развитии Linux мы назвали этапом ядра. По сути, кроме ядра и некоторых не очень сложных утилит в самом начале ничего не было.

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

Изначально Linux распространялся без лицензии GPL. Другими словами, разработчики могли использовать ядро, модифицировать его, но не могли перепродавать результаты своих трудов.

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

Популярные услуги

Debian сервер

Настройка Debian сервера занимает мало времени. Вам нужно только задать технические характеристики сервера и выбрать версию ОС. Настраивать VDS или VPS web server с нуля вам не придётся. 

Linux сервер
Высокопроизводительные VPS сервера Linux на без KVM-виртуализации идеально подходят для крупных интернет-проектов. В сочетании с этой операционной системой серверные компьютеры демонстрируют хорошую производительность, а SSD хранилища данных способствуют увеличению их быстродействия. У нас вы сможете взять в аренду VPS и VDS Linux сервера.

Ubuntu сервер

Облако на сервере Ubuntu поможет решить проблемы с масштабируемостью проектов. Под высокой нагрузкой сайту или web-приложению будет выделяться больше ресурсов. 

Защищенность

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Росспектр
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: