в каком году был выпущен первый выпуск операционной системы linux
История Linux. Вкратце о главном
Корни Linux прослеживаются ещё с годов века. Точкой отсчёта можно считать появление операционной системы Unix в году в США в фирме Bell Laboratories, дочернем подразделении компании AT&T. Unix стала основной для большого количества операционных систем промышленного класса. Самые основные из них отображены на этой временной шкале:
Linux же больше всего обязан своей жизнью двум проектам — GNU и Minix.
История проекта GNU началась в сентябре года. Основоположник проекта GNU, Ричард Столлман (Richard M. Stallman) работал в это время в лаборатории искусственного интеллекта Массачусетского технологического института (Massachusetts Institute of Technology, MIT, Cambridge, Massachusetts). Столлмана называют одним из самых выдающихся программистов нашего времени.
В той среде, к которой принадлежал Столлман, было принято свободно обмениваться программами и их исходными кодами. Лицензия же на Unix от AT&T, к примеру, стоила 40 000 долларов. Позволить себе купить её могли только достаточно крупные фирмы. А без обладания лицензией, программист не имел права использовать исходные коды системы в своих разработках. Это препятствовало обмену идеями в сфере программирования и сильно тормозило процесс создания программ, поскольку вместо того, чтобы позаимствовать готовый кусок кода для решения той или иной задачи, разработчик программы был вынужден писать эту часть кода заново, что сродни изобретению колеса.
Столлман решил изменить это положение вещей в программировании. В году он объявил о начале разработки проекта GNU, целью которого было создание полностью открытой операционной системы:
После Дня Благодарения я начинаю писать Unix-совместимую программную систему GNU (Gnu’s Not Unix), которую буду предоставлять свободно(!) всем, кто может её использовать. Нужна помощь в виде времени, денег, программ и оборудования.
GNU будет содержать ядро плюс все утилиты, необходимые для того, чтобы писать и запускать программы на Cи: редактор, оболочку, компилятор Cи, линкер, ассемблер и ещё несколько вещей. После этого будут добавлены программа форматирования текста, YACC, игра Empire, электронная таблица и сотни других вещей. Мы надеемся включить всё, что обычно поставляется с Unix-системами, и всё, что ещё может оказаться полезным, в том числе онлайновую и печатную документацию.
GNU будет способна запускать программы Unix, но не будет идентична Unix. Мы будем вносить в систему улучшения, основываясь на нашем опыте работы с другими операционными системами.
Аббревиатура GNU расшифровывается как «GNU — это не Unix» (GNU is Not Unix). Unix всегда была несвободным ПО, то есть она лишает своих пользователей свободы сотрудничества, а также контроля над своими компьютерами (как Windows в наши дни). Чуть позже Столлман написал свой знаменитый Манифест GNU, который стал основой для лицензии GPL (GNU General Public License). Роль этой лицензии нельзя переоценить, она изменила всю компьютерную индустрию.
К году в рамках проекта GNU было создано большинство компонент, необходимых для функционирования свободной операционной системы. Помимо текстового редактора Emacs, Столлман создал компилятор gcc (GNU C Compiler) и отладчик gdb. Будучи выдающимся программистом, Ричард Столлман в одиночку сумел создать эффективный и надёжный компилятор, который превосходит по своим качествам продукты коммерческих поставщиков, создаваемые целыми группами программистов. Поскольку изначально при его создании ставилась задача обеспечения переносимости, сегодня существуют версии этого компилятора практически для всех операционных систем. Позже были созданы компиляторы и для других языков программирования, включая C++, Pascal и Fortran. Поэтому сейчас аббревиатура GCC расшифровывается как GNU Compiler Collection.
Как пишет Ричард Столлман: «К году система GNU была практически закончена, не хватало только одного из базовых компонентов — ядра.» Ожидалось, что ядро (оно получило название Hurd) будет реализовано как набор серверных процессов, работающих на Mach — микроядре, создаваемом в Университете Карнеги-Меллона, а затем в Университете штата Юта. Начало разработки откладывалось в ожидании выпуска Mach, которое, как было обещано, будет выпущено в виде свободно распространяемого программного обеспечения. Но его появление всё откладывалось, и тут появилось ядро, разработанное финским студентом Линусом Торвальдсом, получившее название Linux. Линус создал его в попытках усовершенствовать свою домашнюю операционную систему Minix, о которой стоит упомянуть отдельно.
Minix
В течение годов персональные компьютеры на основе микропроцессора Intel, оснащённые операционными системами от Microsoft, заняли господствующее положение на рынке настольных систем и захватили также существенную долю рынка серверов — традиционной сферы применения Unix-систем. Компьютеры на основе Intel и Intel-совместимых процессоров достигли вычислительной мощности, сравнимой с мощностью рабочих станций с Unix. Но большинство коммерческих Unix-систем не имели версий, способных работать на оборудовании Intel. Производители Unix обычно тесно сотрудничали с производителями конкретных процессоров или даже имели долю собственности в компаниях, производивших эти процессоры, а поэтому были заинтересованы в использовании своих собственных разработок. Примерами могут служить линейки процессоров SGI и MIPS. Поскольку аппаратные возможности персоналок стремительно возрастали, естественно, что рано или поздно должны были появиться варианты Unix для компьютеров на основе Intel-совместимых процессоров. Один из таких вариантов Unix-подобной операционной системы, который сыграл особую роль в истории Linux, был разработан в январе года Эндрю Таненбаумом (Andrew S. Tanenbaum), профессором Университета Врие, Амстердам, Нидерланды. Таненбаум был одним из ведущих специалистов в области разработки операционных систем. Свою операционную систему Minix (Миникс) он разработал как учебное пособие, на примере которого показывал студентам внутреннее устройство реальной операционной системы.
Конечно, как операционная система, Minix не была верхом совершенства. Она была ориентирована на микропроцессор Intel 80286, который в то время господствовал на рынке. Но у неё было одно очень важное качество — открытые исходные коды. Каждый, кто имел книгу Таненбаума «Операционные системы», мог изучить и проанализировать 12 000 строк кода, написанного на языке Си и на ассемблере. Это был тот редкий случай, когда исходные коды не были заперты под семью печатями в сейфах разработчика. Великолепный автор, Таненбаум сумел вовлечь самые выдающиеся умы компьютерной науки в обсуждение искусства создания операционных систем. Minix можно было приобрести и отдельно от книги, она могла быть реально установлена на персональный компьютер. Студенты компьютерных факультетов по всему миру корпели над книгой Таненбаума, вчитываясь в коды с целью понять, как работает та самая система, которая управляет их компьютером. И одним из таких студентов был Линус Торвальдс.
Linux
В году, Линус Торвальдс, финский студент, чрезвычайно увлёкся идеей написать совместимое с Unix ядро операционной системы для своего персонального компьютера с процессором Intel. Прототипом для будущего ядра стала операционная система Minix: совместимая с Unix операционная система для персональных компьютеров, которая загружалась с дискет и умещалась в очень ограниченной в те времена памяти персонального компьютера.
августа года Линус Торвальдс направил первое сообщение о своей разработке в группу новостей comp.os.minix:
From: torvaldsSklaava.Helsinki.Fi (Linus Benedict Torvalds)
To: Newsgroups: comp.os.inix
Subject: Чего вам больше всего не хватает в minix?
Summary: небольшой опрос для моей операционной системы Message-ID:
Date: 25 августа 1991 г., 20:57:08 GMT
Organization: University of Helsinki
Привет всем пользователям minix!
Я пишу (бесплатную) операционную систему (это просто хобби, ничего большого и профессионального вроде gnu) для AT 386(486). Я вожусь с этим с апреля, и она, похоже, скоро будет готова. Напишите мне, кому что нравится/не нравится в minix, поскольку моя ОС на неё похожа (кроме всего прочего, у неё — по практическим соображениям — то же физическое размещение файловой системы).
Пока что я перенёс в неё bash (1.08) и gсс (1.40), и всё вроде работает. Значит, в ближайшие месяцы у меня получится уже что-то работающее, и мне бы хотелось знать, какие функции нужны большинству. Все заявки принимаются, но выполнение не гарантируется 🙂
PS. Она свободна от кода minix и включает мультизадачную файловую систему. Она НЕ переносима (используется переключение задач 386 и пр.) и, возможно, никогда не будет поддерживать ничего, кроме АТ-винчестеров, потому что у меня больше ничего нет 🙁
Название «Linux» новая система получила следующим образом. Самого Торвальдса несколько смущало созвучие этого названия с его именем, поэтому он пытался назвать свою разработку Freax. Это название можно обнаружить в файле kernl/Makefile версии 0.11, и в исходных кодах других программ. Но Ари Лемке, который предоставил место для выкладывания системы на FTP сайте, назвал каталог pub/OS/Linux. И это название закрепилось за новой ОС.
Тот факт, что Линус выложил код своей ОС в интернет, был решающим в дальнейшей судьбе Linux. Хотя в году интернет ещё не был так широко распространён, как в наши дни, зато пользовались им в основном люди, имеющие достаточную техническую подготовку. И уже с самого начала Торвальдс получил несколько заинтересованных откликов.
Примерно в феврале года Линус высказал просьбу ко всем, кто уже пользовался или тестировал Linux, прислать ему открытку. Таких открыток было получено несколько сотен со всех концов света — из Новой Зеландии, Японии, Нидерландов, США. Это говорило о том, что Linux начала приобретать некоторую известность.
Вначале к разработке присоединились сотни, потом тысячи, потом сотни тысяч добровольных помощников. Система уже не была просто игрушкой для хакеров. Дополненная массой программ, разработанных в рамках проекта GNU, ОС Linux стала пригодна для практического использования. А то, что ядро системы распространялось под лицензией GNU General Public License, гарантировало, что исходные коды системы останутся свободными, то есть смогут копироваться, изучаться и модифицироваться без опасения нарваться на какое-либо преследование со стороны разработчика или какой-то коммерческой фирмы. Этот факт привлекал в ряды пользователей и сторонников Linux всё новых последователей, в первую очередь из числа студентов и программистов.
К этому времени сформировалась отдельная конференция в интернете, посвящённая Linux, — comp.os.linux. Энтузиасты образовали множество групп пользователей и в начале года вышел первый номер журнала «Linux Journal». Linux привлекла внимание промышленных фирм и несколько небольших компаний начали разрабатывать и продавать собственные версии Linux.
Первоначально Линус Торвальдс не хотел продавать свою разработку. И не хотел, чтобы её продавал кто-то другой. Это было чётко прописано в уведомлении об авторских правах, помещённом в файл COPYING самой первой версии — 0.01. Причём требование Линуса налагало значительно более жёсткие ограничения на распространение Linux, чем те, которые провозглашались в лицензии GNU: не разрешалось взимать никаких денег за передачу или использование Linux. Но уже в феврале года к нему стали обращаться за разрешением брать плату за распространение дискет с Linux, чтобы покрыть временные затраты и стоимость дискет. Кроме того, необходимо было считаться и с тем, что при создании Linux использовалось множество свободно распространяемых по интернету инструментов, самым важным из которых был компилятор GCC. Авторские права на него оговорены в общественной лицензии GPL, которую изобрёл Ричард Столлман. Торвальдсу пришлось пересмотреть свое заявление об авторских правах, и, начиная с версии 0.12, он тоже перешёл на использование лицензии GPL.
С технической точки зрения, Linux представляет собой только ядро Unix-подобной операционной системы, отвечающее за взаимодействие с аппаратной частью компьютера и выполнение таких задач, как распределение памяти, выделение процессорного времени различным программам и так далее. Кроме ядра, операционная система включает в себя множество различных утилит, которые служат для организации взаимодействия пользователя с системой. Успех Linux как операционной системы во многом обусловлен тем, что к году в рамках проекта GNU уже было разработано множество утилит, свободно распространяемых в интернете. Проекту GNU не хватало ядра, а ядро, скорее всего, осталось бы невостребованным, если бы отсутствовали необходимые для работы утилиты. Линус Торвальдс оказался со своей разработкой в нужном месте в нужное время. И Ричард Столлман прав, когда настаивает на том, что операционную систему следует называть не Linux, а GNU/Linux. Но название Linux исторически закрепилось за этой ОС, поэтому мы тоже будем называть её просто Linux (не забывая о заслугах Столлмана и его сподвижников).
P.S. Я честно пролистал на Хабре все 36 страниц поисковой выдачи по запросу «история linux» и не нашёл ничего целостного по теме, что показалось мне довольно странным, учитывая популярность системы среди хабровчан. Информация по крупицам собиралась мной со всего интернета, отделены зёрна от плевел и, надеюсь, будет вам интересна.
UPD: Мне было сделано верное замечание по поводу временной шкалы. Я её переработал, заодно ещё раз проверил все даты. Думаю, что стало лучше и очевиднее.
История создания Linux
Операционная система GNU/Linux появилась благодаря стечению обстоятельств. Вы узнаете о том, с чего всё начиналось и какую роль в этом сыграл неисправный принтер. Это история Ричарда Столлмана и Линуса Торвальдса.
История создания Linux
1983 год: создание проекта GNU и лицензии GPL
В лаборатории искусственного интеллекта Массачусетского технологического института работал программист Ричард Столлман. Однажды он задался проблемой зажёвывания бумаги экспериментальным лазерным принтером, любезно предоставленным компанией Xerox. По прежнему опыту Ричард решил написать программу, которая оповещала бы всех пользователей сети, использующих принтер, о замятии бумаги.
К сожалению, принтер поставлялся только с готовой программой, поэтому Столлман решил отыскать обладателя исходного кода. И он нашёл такого человека. Им оказался Роберт Спроулл из университета Карнеги-Меллона. Но при личной встрече был получен отказ. Это потрясло Ричарда до глубины души и заставило его пересмотреть своё отношение к авторским правам на исходный код. Для него Спроулл был предателем хакерского сообщества.
Так Столлман впервые столкнулся с соглашением о неразглашении (NDA). Программа была не менее ценной, чем сам принтер, ведь Xerox возлагал большие надежды на лазерные принтеры и не мог допустить того, чтобы код попал в руки конкурентов.
Танцы были ещё одним увлечением Ричарда Столлмана
В один из дней Ричард получил в своё распоряжение текстовый редактора TECO, он был до ужаса неудобным. И вместе с коллегами Столлман стал писать расширения (макросы), добавляющие новые функции в редактор. В скором времени макросы стали конфликтовать между собой, а на поиск неисправности уходило слишком много времени. Таким образом началась работа над программируемым текстовым редактором Emacs.
Первое время всё шло гладко, но по мере роста базы макросов начали появляться сообщения об ошибках в программе. Оказалось, что пользователи редактировали код программы под себя и не уведомляли об этом других. Тогда Столлман предложил отправлять Emacs, только при том условии, если обратно станет получать те самые изменения. Это было первое использование идеи о свободном программном обеспечении.
В лаборатории ИИ активно использовали язык программирования Lisp, а в начале 80-х произошёл раскол. Часть сотрудников осталась в университетской компании LMI, а часть перешла в Symbolics. Изначально компании обменивались кодом, но позднее руководство Symbolics рассудило, что на их стороне большинство и они вытягивают за собой ту кучку хакеров, что работает в LMI.
С этого времени LMI получала только машинный код и описание изменений. Для Столлмана это был вызов, и он начал вносить изменения руководствуясь лишь описаниями. Дошло до того, что люди из Symbolics установили шпионскую программу на компьютере Столлмана, чтобы уличить его в краже исходного кода. Но всё, что они увидели, это лишь несколько схожих участков кода и не более того. По сути один человек, руководствуясь лишь списком изменений, выполнял работу целого отдела Symbolics.
В 1983 году университет стал закупать машины у Symbolics, а пользователей машин LMI становилось всё меньше, некому стало отправлять сообщения об ошибках. Столлман больше не мог терпеть это и покинул университет. Тогда и появилось объявление о создании проекта GNU (GNU is not Unix). Столлман решил сделать свободную альтернативу Unix.
С начала 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 был неудобным и не устраивал Линуса. Тогда он решил написать свой терминал с нуля.
Спустя некоторое время программа была готова, но этого показалось мало. Обмен файлами мог значительно упростить работу, и Торвальдс принялся реализовывать работу файловой системы, аналогично той, что была описана в книге Таненбаума. Однажды Линус осознал, что работает уже не просто над созданием терминала, а над операционной системой.
Первая версия 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. В команде Макилроя работали Кен Томпсон и Деннис Ритчи.
Деннис и Кен работают за 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 примером для подражания.
Нет похожих записей
Оцените статью:
Об авторе
Автор: David Hayward
20 комментариев
За линуксом будущее.
Может я слишком консервативен, но Плазма, 3й Гном и Циннамон, это шаг назад в развитии DE. Если девиз Линукса это легкость и нетребовательность к реурсам, то эти окружения монстры жрущие всё и вся. Линукс так и останется системой для энтузиастов и экпериментаторов. И кто понял и всосал его философию тот никогда на вернется к Windows и тем более к Недооси купертиновцев. Настоящими линуксоидами считаю тех кто не обращается к шаблонам, а строит систему на своей машине сам.