Вся история Linux. Часть 1

29 Мая 2019

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


intro.jpg

Зарождение

Linux – это не просто операционная система. Это важнейшее событие в истории открытого программного обеспечения. Но обо всем по порядку.

Не нужно думать, что Linux – это первая операционная система или первый программный продукт, распространяющийся по принципу OpenSource. Как раз таки нет: в 50-ые годы прошлого века практически все программное обеспечение в США создавалось студентами и сотрудниками университетов. Распространялось такое ПО без каких-либо ограничений – любой желающий мог взять исходники и на их базе создать что-то новое. По сути, это тоже вид OpenSource, правда, тогда такое явление никак не называлось и на этом никто не акцентировал внимание – просто так было принято. Если копнуть глубже, то первым OpenSource-продуктом была никому неизвестная система A-2, написанная для UNIVAC Remington Rand – компьютера, который занимал довольно большую комнату.

1.jpg

UNIVAC

Заинтересовавшиеся могут посмотреть следующий ролик на Youtube:

https://www.youtube.com/watch?v=nFuEg6wtqzc

В 50-ые годы не было так называемого OpenSource-движения, но был его аналог – группа SHARE – первая группа разработчиков свободного ПО. Результатом работы этой группы стала одноименная ОС, которая увидела свет в конце 50-ых.

В конце тех же 50-ых компания ADR получила заказ на разработку программы для автозаполнения блок-схем. Программа была разработана, но что-то пошло не так и заказчик от нее отказался (ходят слухи, что их просто не устроила цена, но в этом случае непонятно, почему она не оговаривалась заранее). ADR не могла "выбросить"  уже готовое решение и она переделала его для платформы IBM 1401, но коммерческого успеха у проекта не было – все ждали бесплатную альтернативу продукту ADR.

Сама же компания ADR не могла допустить выход аналогичного бесплатного продукта, иначе в этом случае ее ждало настоящее фиаско. Поэтому ее разработчик пытался получить хоть что-то и продал патент на программу в 1968-ом году. Эту дату считают датой коммерциализации ПО и датой, когда ПО из полезного бонуса к "железу" превратилось в отдельный продукт.

Параллельно сотрудники компании Bell Labs (тоже в 1968-ом) пытаются возродить операционную систему Multics. Планировалось выпустить очередной апдейт для нее. Однако в результате получилось то, что никак нельзя было назвать апдейтом. Созданная операционная система для мини-компьютера PDP-7 получила название Unics. Да, именно Unics, а чуть позже название было изменено на Unix. Иллюстрация ниже показывает, как выглядел тот самый "мини-компьютер" – размером он был как два двухкамерных холодильника, но все же занимал места меньше, чем его более производительные сородичи.

2.jpg

PDP-7

Изначально Unix была написана на ассемблере, но позже была переписана на языке С, что сделало ее портативной и более простой в использовании. Изюминкой (кроме портативности) стала иерархическая файловая система с одним корневым каталогом.

Благодаря тому, что холдинг AT&T, в состав которого входила Bell Labs, подписал соглашение с правительством США, запрещающее компании продавать ПО, исходный код UNIX был доступен бесплатно. В первую очередь его получили научные организации.

В начале 80-ых AT&T отказались от концепции бесплатного распространения ПО. Из-за разделения корпорации на несколько компаний запрет на продажу ПО перестал действовать и холдинг перестал бесплатно распространять Unix, а с 1980-го компьютерные программы стали объектом авторского права.

В 70-ые годы Калифорнийский университет в Беркли получил лицензию от AT&T. Группа энтузиастов разработала свой вариант UNIX – свой дистрибутив, который получил название BSD – Berkeley Software Distribution.

Если облака для вас
не просто теория
Широкий спектр услуг
по выделенным северам
и мультиклауд-решениям
Конфигурация VPS и бесплатный тест уже через 2 минуты
Организация вашей IT-инфраструктуры на основе мультиклауд-решения

Открытая операционная система сразу стала популярной, особенно в начале 80-ых, когда Unix от AT&T перестала бесплатно распространяться. Конечно же, AT&T это не понравилось и она подала в суд на университет. В результате университету Беркли пришлось переписать существенную часть кода – весь заимствованный код Unix. Это замедлило развитие данного проекта, но все же он продолжал развиваться.

Зарождение движения OpenSource или о человеческой жадности

Сотрудники Массачусетского технологического института (тот самый MTI) разработали драйвер для принтера, это было в конце 70-ых годов. Суть была в следующем: когда в принтере застревала бумага, пользователи получали уведомление об этом.

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

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

В сентябре 1983 года он объявил о создании проекта GNU (GNU's Not Unix). В основе проекта лежал манифест, который стал фундаментом для лицензии GPL (General Public License), что и стало началом движения OpenSource.

Спустя несколько лет профессор Эндрю Таненбаум в качестве учебного пособия разработал Unix-подобную операционную систему Minix. Он хотел сделать ее максимально доступной для студентов и распространять в виде книги. Лицензия на Minix тогда стоила 69 долларов – довольно недорого, поэтому в начале 90-ых эта система завоевала популярность среди разработчиков. Вот мы и добрались к созданию Linux.

Этап ядра

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-сервер и отправил "электронку" людям, проявившим интерес к его системе.

Интересно, что Торвальдс назвал свое ядро Freaks, но администратору FTP-сервера такое название не понравилось и он переименовал его в Linux.

3.png

Каталог 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, но о них мы поговорим во второй части статьи. 


Популярные услуги
Получить консультацию специалиста
Персональный ассистент
Cloud.Xelent