Кто является создателем операционной системы linux

Обновлено: 02.07.2024

Как Линус Торвальдс 30 лет назад создал систему, ставшую основой современного интернета.

Линус Торвальдс, создатель Linux Фото Washington Post

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

Сейчас, почти тридцать лет спустя, операционная система Linux господствует на встроенных системах, серверах и суперкомпьютерах. Сам Линус Торвальдс стал гражданином США и одним из самых влиятельных людей в области IT. Он продолжает руководить разработкой Linux и другого своего успешного продукта — системы управления версиями Git.

В преддверии тридцатилетия Linux топ-менеджер компании Tag1 Джереми Эндрюс расспросил Линуса Торвальдса о прошлом и будущем Linux, о его жизни в Финляндии и США, о дальнейших планах. TJ собрал самые интересные моменты интервью, которое доступно в двух частях на сайте компании.

Когда вы поняли, что Linux стал чем-то большим, чем «просто хобби»?

Я понял это довольно быстро, в конце 1991 года, и уж точно — к началу 1992 года. Может, это звучит странно и смешно, потому что у Linux тогда было всего несколько сотен пользователей. Но для меня переломный момент наступил, когда я увидел, что люди действительно используют мою систему и заинтересованы в ней. Они стали присылать свои патчи (изменения кода), и с той поры Linux зажил своей жизнью.

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

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

По сравнению с тем, что было в самом начале, всё остальное видится мне второстепенным. Да, потом были крупные события вроде прихода IBM, портирования Oracle DB, выхода Red Hat на биржу, взлёта популярности Android, который основан на ядре Linux. Но для меня всё это было уже не так значимо, как осознание факта, что люди, которых я даже не знаю, используют Linux.

Компания Red Hat — крупнейший производитель ПО на базе Linux, недавно была поглощена IBM Фото Red Hat У вас бывают сожаления насчёт выбранной лицензии или того, что другие люди и компании зарабатывают столько денег на том, что вы создали?

Нет, ничего подобного. Главное — у меня всё хорошо. Я не безумно богат, но мне хорошо платят, и при этом я делаю то, что мне нравится. Свой рабочий график я формирую сам. В общем, никаких страданий.

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

Но двойное лицензирование, когда программу можно использовать и свободно, и в коммерческих целях, создаёт определённые трудности. Часть сообщества, которая занимает сторону открытого кода, ощущает себя «вторым классом». Кроме того, двойная лицензия порождает много возни с документами. Всё это вызывает трения внутри проекта.

С другой стороны, я видел достаточно проектов под лицензиями вроде BSD и MIT, которые фрагментировались, как только вырастали до какой-то коммерческой значимости. Компании просто закрывали код своих частей от других участников проекта.

Так что GPL 2.0, по-моему, даёт идеальный баланс между равноправием и коммерцией. Вы получаете столько, сколько вкладываете. Да, вы можете «выжимать» проект, будучи простым пользователем, и это нормально. Но так вы не сможете его контролировать. Если у вас какие-то особые требования, единственный способ удовлетворить их — участвовать в проекте.

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

Как проходит ваш обычный день? Сколько времени вы тратите на написание кода? Как совмещаете личную жизнь с разработкой Linux?

Я пишу очень мало кода, и уже давно. Код я пишу, как правило, для того, чтобы наглядно показать решение какой-либо проблемы во время обсуждения разработки Linux. То есть, большая часть моего кода это что-то вроде «посмотрите, как насчёт того, чтобы сделать это вот так». В абстрактных технических дискуссиях очень легко увязнуть, поэтому лучший способ решить проблему — предложить конкретное решение в виде фрагмента кода.

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

Конечно, я и код проверяю, но если честно — обычно до меня он уже проверен несколькими людьми. Так что я больше смотрю не на сам код, а на его комментарии и его историю. Если же речь идёт о коде, который написан моими самыми давними коллегами, то я даже на комментарии не смотрю. Эти люди долгое время успешно поддерживают свои подсистемы, и я не собираюсь заниматься микроменеджментом.

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

Операционная система GNU/Linux появилась благодаря стечению обстоятельств. Вы узнаете о том, с чего всё начиналось и какую роль в этом сыграл неисправный принтер. Это история Ричарда Столлмана и Линуса Торвальдса.

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

История создания Linux

1983 год: создание проекта GNU и лицензии GPL

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

К сожалению, принтер поставлялся только с готовой программой, поэтому Столлман решил отыскать обладателя исходного кода. И он нашёл такого человека. Им оказался Роберт Спроулл из университета Карнеги-Меллона. Но при личной встрече был получен отказ. Это потрясло Ричарда до глубины души и заставило его пересмотреть своё отношение к авторским правам на исходный код. Для него Спроулл был предателем хакерского сообщества.

Так Столлман впервые столкнулся с соглашением о неразглашении (NDA). Программа была не менее ценной, чем сам принтер, ведь Xerox возлагал большие надежды на лазерные принтеры и не мог допустить того, чтобы код попал в руки конкурентов.

2Q==

Танцы были ещё одним увлечением Ричарда Столлмана

В один из дней Ричард получил в своё распоряжение текстовый редактора TECO, он был до ужаса неудобным. И вместе с коллегами Столлман стал писать расширения (макросы), добавляющие новые функции в редактор. В скором времени макросы стали конфликтовать между собой, а на поиск неисправности уходило слишком много времени. Таким образом началась работа над программируемым текстовым редактором Emacs.

В лаборатории ИИ активно использовали язык программирования Lisp, а в начале 80-х произошёл раскол. Часть сотрудников осталась в университетской компании LMI, а часть перешла в Symbolics. Изначально компании обменивались кодом, но позднее руководство Symbolics рассудило, что на их стороне большинство и они вытягивают за собой ту кучку хакеров, что работает в LMI.

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

С начала 80-х стали закрывать код операционных систем Unix и программ для них. У движения за свободное ПО появлялось всё больше последователей.

Перед Ричардом стояла глобальная задача – написание операционной системы с нуля, используя только описание вызовов и системных утилит. Сначала он искал готовые решения и тех программистов, которые были готовы пойти по его стопам. Но поиски не увенчались успехом. Тогда он принялся за перенос Emacs на Unix. В этом ему помог Джеймс Гослинг, предоставив раннюю версию своего порта Gosmacs.

Переписав и доработав код редактора Ричард представил публике первые результаты работы над проектом GNU. Чтобы урегулировать все вопросы была создана некоммерческая организация Free Software Foundation. Позднее у неё даже появились влиятельные спонсоры в лице IT-гигантов.

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

Со временем лицензия лишилась упоминания Emacs, таким образом она была применима к любому программному обеспечению. В 1989 году была готова финальная версия лицензии GNU GPL. А вместе с ней и целый ряд программ, вроде отладчика GDB и компилятора GCC. До появления свободной операционной системы оставалось сделать всего несколько шагов.

Ядро Hurd операционной системы GNU тоже находилось в разработке, но лишь на раннем этапе.

1991 год: ядро Linux

Студент Хельсинского университета Линус Торвальдс к 1990 году уже изучил свой текущий компьютер Sinclair QL вдоль и поперёк. Он даже написал ассемблер и редактор кода для него. Но производительности стало не хватать. Поэтому он решил приобрести новый компьютер, выбор пал на IBM PC с 386 процессором. Этот чип Intel впервые поддерживал блок управления памятью MMU, необходимый для работы Unix.

Пока Линус копил деньги на новый компьютер, он приобрёл книгу Эндрю Таненбаума о проектировании операционных систем на примере упрощённой версии Unix – Minix. В январе 1991 года Торвальдс приобретает компьютер в кредит, а спустя пару месяцев получает по почте свою версию Minix, предназначенную для образовательных целей.

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

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

hDKfUsy5qfQ03NzkTmI0hwAEIAABCHQSeLk0CcuR2rqkbRemqpVUHuEfncR7TO7vGgkQgAAEIACBzQm8X5rIpkzD7szmcHPqfdDkQz2F2hCAAAQgsJ7Ay6VJw2vAnsc14gdKPK2q6HueWUle02BylWJcDAEIQAACEDiaQOHItXD34bEzXNsIt2DCh1jVA63S5He9cZkI9+zs5NQIlYzl2MqHjqzVIQaVNCd+1Lf24d+jow3lIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABD5MQP2M8IdJYDoEIAABCEAAAqsJvHwa7Gpz6Q8CEIAABCAAgb0J6NNgkz9k4zkadW8z0Q4CEIAABCAAgTMI6FUTqULiP84wCC0hAAEIQAACEDiZABs6J3sP3SEAAQhAAALXEaA0uc6lGAQBCEAAAhA4mQDPmpzsPXSHAAQgAAEIXEeAZ02ucykGQQACEIAABE4mwIbOyd5DdwhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABD5BQD8G22Z08qC2RxTHtbUhpRUEIAABCEDgmwR41uSbfsdqCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQGA1gX8DSe3HBWhEZSIAAAAASUVORK5CYII=

Первая версия Linux

С того времени он начинает внедрять вызовы Unix один за другим, пока в его распоряжении не оказывается работающая оболочка Bash. Таким образом 17 сентября 1991 года вышла первая версия ядра Linux, также распространяемая по лицензии GNU GPL.

Несмотря на множество ошибок и недоработок хакеры начинают использовать ядро и присылают предложения, отчёты об ошибках и даже код для улучшения работы ядра. Через год для Linux уже был портирован оконный интерфейс X Window, вместе с программами проекта GNU операционная система приобретала законченный вид.

1992 год: Первые дистрибутивы

Первые версии Linux распространялись на дискетах вместе с системными утилитами GNU. Ричард Столлман настаивает на том, чтобы систему непременно называли GNU/Linux, ведь без системных утилит из его проекта ядро бесполезно.

Первым популярным дистрибутивом стал Softlanding Linux System. Он появился летом 1992 года и включал в себя ядро, компилятор, редактор Emacs и ряд других программ, а также часть исходного кода. Уже через год на его основе выходит Slackware Linux, а его создатель Патрик Фолькердинг даже основывает одноимённую фирму.

В том же 1993 году начинается разработка дистрибутивов Red Hat и Debian. Первым проектом руководили Марк Эвинг и Боб Янг, они нацелились на корпоративный сегмент, подобно тому, как это было с другими системами Unix. Иан Мёрдок со своим Debian решил воплотить идеи GNU для целого дистрибутива, состоящего из свободного программного обеспечения.

А так как Slackware, Red Hat и Debian были одними из первых, то они легли в основу большинства дистрибутивов, в том числе современных.

Почему в качестве образца выбрали Unix

Операционная система Unix появилась в Bell Labs, подразделении AT&T. В 1969 году компания отказалась от дальнейшей разработки Multics, совместного проекта с Массачусетским технологическим институтом. Система была во многом новаторской, она использовала разделение времени программ для одновременной работы нескольких пользователей, а также язык высокого уровня PL/I. Но, к сожалению, она стала слишком тяжёлой и сложной в разработке.

Тогда руководство поручило Дугласу Макилрою написать текстовый редактор для патентного отдела. Причём для работы был выделен относительно простой мейнфрейм PDP-7. В команде Макилроя работали Кен Томпсон и Деннис Ритчи.

2Q==

Деннис и Кен работают за PDP-11

Кену захотелось перенести свою игру Space Travel для Multics на PDP-7, а Дуглас был не против и всецело поддерживал его. Так в 1971 году появился текстовый редактор, а по совместительству операционная система Unics, позднее переименованная в Unix. Реактор быстро окупил себя и Bell Labs приобрела PDP-11. С этого времени Ритчи начинает разработку интерпретируемого языка Би, во многом схожего с языком BCPL. К 1973 году язык стал компилируемым и получил название Си. Системное ядро в скором времени было переписано на Си. Это в значительной мере повысило читаемость кода.

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

С этого момента началась активная разработка системы. Особо отличились в университете Беркли, к 1977 году была готова их версия Unix под названием BSD. К началу 80-х существовало несколько вариаций Unix, некоторые из них были с закрытым кодом. Тогда в Bell Labs начинают создание набора стандартов POSIX, описывающих то, как должна работать система Unix.

С его помощью можно было писать совместимые с Unix программы, чем и воспользовался Столлман для написания утилит GNU, а позднее и Торвальдс для Unix-подобного ядра Linux.

Почему Linux, а не BSD

В университете Беркли разработали лицензию, по которой бесплатно распространялась система BSD. Она требовала указывать авторов, но открывать код было не обязательно. Популяризации системы мешало то, что использовать BSD без лицензии AT&T было нельзя. Всё дело было в оригинальном коде Unix.

Лишь к 1991 году удалось заменить код Bell Labs на свой собственный. BSD Net 2 стала первой свободной операционной системой, ещё до появления Linux. Так почему Linux стал набирать популярность?

Во-первых, в начале 90-х на разработчиков BSD подали в суд за использование кода Unix. Лишь к 1993 году большая часть исков была отклонена. Но до этого времени систему старались обходить стороной и даже стали использовать сырой GNU/Linux.

Во-вторых, лицензия GNU GPL требовала того, чтобы код оставался открытым. А с BSD можно было закрыть код операционной системы, как в своё время поступили с Mac OS, основанной на BSD. GNU GPL позволила большему числу программистов принять участие в разработке Linux.

Выводы

Вот такая история развития Linux. Эта операционная система могла не появиться, если бы не стремление Ричарда Столлмана сделать код доступным. Благодаря ему настоящие хакеры трудятся и по сей день. Среди них есть и разработчик ядра операционной системы GNU/Linux, Линус Торвальдс.

Но не менее важную роль сыграли сотрудники Bell Labs, создавшие не только операционную систему Unix, но ещё и объединившие программистов со всего света. Это позволило сделать Unix примером для подражания.

Нет похожих записей

Оцените статью:

(24 оценок, среднее: 4,96 из 5)

Об авторе

Автор: David Hayward

20 комментариев

За линуксом будущее.

Опечатка:
Десисом Ритчи ----->>> Денисом

Может я слишком консервативен, но Плазма, 3й Гном и Циннамон, это шаг назад в развитии DE. Если девиз Линукса это легкость и нетребовательность к реурсам, то эти окружения монстры жрущие всё и вся. Линукс так и останется системой для энтузиастов и экпериментаторов. И кто понял и всосал его философию тот никогда на вернется к Windows и тем более к Недооси купертиновцев. Настоящими линуксоидами считаю тех кто не обращается к шаблонам, а строит систему на своей машине сам.

меня убила 10 винда еще бета версия предлагаемая бесплатно. сидел долго на вин 7 и уже вроде наловчился подстраивать ее для работы на своем слабом пк (проц 2 ядра,2гига оперативы и видюха 256мб ) конечно тупила система конкретно,но при правильном подходе кое как справлялась с минимальными задачами. потом появилось окно с загрузкой 10 винды и она без спроса установилась. в общем решил не удалять а поэкспериментировать с новой осью и тут началось и я понял что это за хрень. окна тогда еще бета версии лагали и дергались, оформление в стиле примитивизм после красивой семерки как-то не зашли как нечто красивое. вроде как говорилось,что система менее требовательна к ресурсам в сравнении с вин 7,но у меня было все наоборот. возможно это было с выносом какой-то информации с моего компа макросами,что позже было выявлено многими блогерами и было написано масса статей по этому поводу. мне это не понравилось и я уже тогда уже косился в сторону линукс и все не решался изучать установку системы на ж.д. потом запилил балванку с линём и каким-то чудом с помощью интернета через телефон на форумах все-таки установил его. первые месяца было напряжно столкнувшись с новой системой и как в ней работать. первый весомый плюс это было,что не нужен был антивирус и вроде как тогда был линукс минт 17 который я тогда установил на удивление мало потреблял ресурсов в районе 350 мб оперативы,хотя эта система является не из легких она стоит и сейчас по сей день только версией по выше. при этом с тех пор сменил не один комп. первые 2 месяца я только и занимался переустановкой систем. то линукс,то опять вин 7 и так не один раз по кругу. возвращался к линукс из-за его легкости а к виндовс из-за привычки и опыта в ней,но тормоза пк просто бесили. потом сидел на линукс как на постоянной системе и завел второй ж.диск для винды и некоторых задач,что собственно и сейчас происходит. винда мне нужна только для прошивки и обновления телефонов не более. все остальное я делаю на линукс, хотя на нем и это есть,но пока для себя я не открыл как это делать. вообще сейчас поймал себя на мысли,что мне нравится линукс его разнообразием дистрибутивов с которыми можно поэкспериментировать,легкостью,качеством графики на экране,которое явно контрастирует с подплывшей и не четкой графикой винды,политикой открытости п.о. и ее бесплатностью. когда сажусь за комп моих знакомых людей и при их мощностях железа и установленной винды у них все тормозит ,начинаю подбивать окружающих на линукс. некоторых уже перевел на него,некоторые в раздумьях,но это главное посеять в их головах мысль о существовании альтернативы и они видят с какой легкость я в ней управляюсь. своим хорошим людям я желаю только хорошего и не хочу чтоб они были обмануты если я это вижу когда это происходит по отношению к ним. майкрософт это не честная кантора и за те деньги которые они хотят за свой продукт и при этом хотят владеть управлением твоим пк оно того не стоит. нравится еще тем,что в линукс тупым вход воспрещен,так как их ограничивает их мозг.

Будущий создатель главного конкурента Windows родился в столице Финляндии, Хельсинки, в семье журналистов. И отец — Нильс, и мать — Анна, когда-то, в студенческие годы, были “радикалами” — возможно, из-за принадлежности к меньшинству шведоговорящих. Так или иначе, Линус мировоззрение родителей не особо разделял и по их пути идти не хотел, хотя в школе над ним нередко посмеивались из-за политических убеждений родителей.

Пожалуй, наибольшее влияние на становление Линуса как известного хакера и программиста оказал дедушка, Лео Тёрнквист. Лео был математиком и много работал с компьютерами, в частности, на языке Basic. В 11 лет Торвальдс уже пробовал писать Basic-программы на дедушкином компьютере Commodore VIC-20. Когда Линусу было 14 лет, дедушка умер, и компьютер окончательно отошёл в полное пользование внука.

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

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

Так Линус стал хакером. Не в том смысле, что он что-то взламывал и крал деньги по интернету (изначально слово “хакер” и не имело такого значения, собственно), а в том, что с компьютером он был на “ты”.

К слову, вся остальная жизнь тогда Линуса не особо интересовала. С девушками он не встречался, со сверстниками общался мало, спортом не увлекался, в школе лучше всего успевал по техническим предметам и так себе — по гуманитарным.

Интерес к разработке операционных систем

Это не Sinclair QL, но фотография всё равно интересная

Примерно в это время ему в руки попалась книга профессора из Амстердама по имени Эндрю Таненбаум. Книга называлась «Проектирование и реализация операционных систем» и в ней Таненбаум рассказывал о собственной ОС Minix, которая была создана для обучения студентов Unix. Minix была крайне нетребовательной и запускалась даже на очень слабых компьютерах, которые себе могли позволить студенты.

К сожалению, на свой Sinclair QL Линус поставить Minix не мог, поэтому начал возиться с ней только после покупки PC в 1991 году. Сначала он просто дорабатывал Minix — ведь, она была сильно урезанной. Причём, использовал не только свои наработки, но и австралийского хакера Брюса Эванса.

Фактически, Линус создавал свою ОС ориентируясь, в первую очередь, на собственные задачи. Например, его не устраивала реализация терминала в Minix. Но терминал был ему постоянно нужен — для связи с компьютером в университете. Он стал писать свою версию терминала, но не используя функции ОС Minix, а обращаясь непосредственно к процессору х386. В таком виде терминал практически не зависел от ОС.

Затем были драйверы дисковода и файловой системы — для скачивания и закачивания файлов. Линус делал свои программы совместимыми с Minix, но, как я уже сказал, старался работать на “нижнем” уровне — на уровне процессора. Поэтому спустя какое-то время у него в руках оказалась, по сути, собственная операционная система.

Причём. Всё время доработки Minix он регулярно консультировался с другими программистами на тематических форумах, и по вопросам, которые он там задавал, заинтересованное сообщество уже начало подозревать, что, по сути, разрабатывается новая ОС. Хотя, конечно, тогда всё это рассматривалось исключительно в учебно-познавательных целях и о мировом успехе никто не думал.

Linux выходит в свет

Днём рождения Linux можно считать 17 сентября 1991 года — именно тогда появилась первая доступная сторонним пользователям сборка Linux. Вообще, Линус не очень хотел называть ОС в честь себя. Сам он выбрал название Freax (от слова “freaks” — фрики, чудики, уроды). Но это название не понравилось Ари Лемке — преподавателю Линуса, который и разместил ОС на файловом сервере (FTP) института. Ари создал каталог с операционкой и назвал его Linux.

Теперь Linux могли опробовать все желающие. Никакой раскрутки особо не было — Торвальдс просто отправил знакомым и малознакомым хакерам по всему миру приглашение попробовать его новую операционную систему.

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

В качестве решения вопроса с операционной системой компанией AT&T была создана операционная система Unix, которая дала старт возникновению открытого программного обеспечения и созданию Linux. Но давайте по порядку.

История возникновения Unix


Первоначально Unix использовалась в основном в университетах и крупных финансовых корпорациях. К 1978 году насчитывалось около 600 машин с установленной на них системой Unix.

Появление проекта GNU

В восьмидесятые годы 20 века многие компании, в числе которых IBM и HP, начали создавать свои собственные (в том числе и коммерческие) версии системы Unix. Это привело к путанице дистрибутивов Unix. И к тому же фирмы, продающие свои дистрибутивы, прямо запрещали распространять их исходные коды. Из-за этого другие программисты не могли применять уже внедренные к тому моменту новые компоненты системы, и им приходилось писать их заново.

В 1982 году программист из Массачусетского технологического института (MIT) Ричард Столлман сталкивается с проблемой того, что существующая на тот момент коммерческая лицензия программного обеспечения, с которым он вынужден работать, ограничивает свободу своего использования и не позволяет Столлману обмениваться исходными кодами ПО даже в стенах института.


В рамках проекта GNU создаются необходимые для разработки ядра системы компоненты: текстовый редактор Emacs, набор компиляторов gcc, интерпретатор bash, архиватор gzip, утилиты sed, gawk, Autoconf и многие другие. Помимо этого, в 1988 году с целью юридически закрепить за пользователями права на копирование, модифицирование и распространение программ и исходных кодов проекта GNU, Столлманом публикуется лицензия GNU GPL (сокр. от «GNU General Public License» = «Универсальная общественная лицензия GNU»). Однако, несмотря на все его успехи, даже спустя 8 лет после старта проекта, не хватало самого важного компонента операционной системы — её ядра…

История создания Linux

В январе 1991 года, финский студент Линус Торвальдc, находясь под впечатлением от купленной им книги «Проектирование и реализация операционных систем» автора Эндрю С. Таненбаума, с целью детального изучения концепций и строения ОС Unix, решает купить новый компьютер на базе процессора Intel 80386, на который ставит разработанную Таненбаумом учебную ОС Minix.

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

И тогда в августе 1991 года Торвальдс объявляет в сети Usenet о том, что создает свою собственную (свободную) операционную систему с открытыми исходными кодами — Linux. Стоит отметить, что в тот момент речь еще не шла о полноценной системе, скорее это был её прообраз в виде ядра.

17 сентября того же 1991 года, без каких-либо особо публичных объявлений, выходит Linux версии 0.01.

А уже 16 апреля 1994, когда, по мнению Линуса, система стала полностью работоспособной, вышел первый, после более чем двух лет развития, мажорный релиз системы — Linux 1.0.

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


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

Что такое Linux?

Linux — это семейство Unix-подобных операционных систем, использующих ядро Linux, которое разработал финно-американский программист Линус Торвальдс. ОС, использующие ядро Linux, называются дистрибутивами Linux, и они являются такими же операционными системами как Microsoft Windows или Apple macOS, но с одной очень важной особенностью, а именно — их исходные коды являются открытыми, так как они распространяются под лицензией GNU GPL, которая подразумевает создание свободного и открытого программного обеспечения (open source software). Это означает, что у любого пользователя есть право изучать и изменять исходный код.

Примечание: Стоит отметить, что есть также и платные дистрибутивы Linux, например, Red Hat Enterprise Linux, Astra Linux Special Edition и др.


Пингвин Tux — талисман Linux

GNU/Linux или Linux?

В сообществе программистов существует спор об именовании операционных систем, использующих ядро Linux и программное обеспечение, разработанное под лицензией GNU GPL. Поскольку ядро Linux само по себе не является работающей операционной системой, то многие предпочитают использовать термин «GNU/Linux».

Архитектура Linux-систем

На следующем рисунке показана архитектура Linux-систем:


Ядро — является основным компонентом операционной системы, взаимодействует непосредственно с аппаратным обеспечением, играя роль посредника между низкоуровневым «железом» и компонентами верхнего уровня.

Утилиты (vi, cat, sed, date, компиляторы и др.) — служебные программы, которые предоставляют пользователю большую часть функциональных возможностей операционной системы.

Ядро Linux

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

Как правило, большинство ядер делятся на три типа:

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

Монолитное ядро — это полная противоположность микроядра, т.к. в памяти компьютера всегда находится весь (или почти весь) код ядра, вследствие чего скорость его работы выше в сравнении с микроядром.

Гибридное ядро — это ядро, сочетающее в себе элементы как монолитной, так и микроядерной архитектур.

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

Заключение

Linux поддерживает целый ряд аппаратных устройств от телефонов и до суперкомпьютеров. Каждая операционная система на базе ядра Linux имеет ядро Linux и набор ПО для управления аппаратными ресурсами компьютера.

На следующих уроках мы детально рассмотрим тему лицензии GNU GPL, сравним Linux и Windows, выполним обзор дистрибутивов Linux и продолжим наше погружение в изучение Linux.

Читайте также: