Свободная система для свободных людей

(С) Костромин В.А.
март 2005 г.
Линуксцентр

2005-05-24

назад | к началу | вперед

Начало

2 января 1991 года Линус приобрел в рассрочку новый компьютер, на основе процессора Intel 80386 с 4 мегабайтами ОЗУ и тактовой частотой 33 мегагерца. Он установил на него Minix, которую пришлось заказывать отдельно. Она поставлялась на 16-ти дискетах. Примерно за месяц Торвальдс обжился в системе полностью и у него возникло множество претензий к этой ОС, несмотря на то, что установил в систему усовершенствования, сделанные австралийским хакером Брюсом Эвансом (это был царь и бог Minix 386). Хуже всего была эмуляция терминала, очень важная для Торвальдса программа, потому что именно ее он использовал для подключения к университетскому компьютеру MicroVAX, на котором стояла Ultrix - вариант Unix, созданный корпорацией Digital Equipment. Пришлось писать собственную программу эмуляции.

Когда программа эмуляции терминала заработала, возникла новая проблема. Как пишет Торвальдс "Беда была в том, что я хотел скачивать и закачивать файлы. То есть мне нужно было уметь писать на диск. Для этого моей программе эмуляции нужен был драйвер дисковода. А еще ей был нужен драйвер файловой системы, чтобы она могла вникать в организацию диска и записывать скачиваемые файлы. ... разработка драйверов для дисковода и файловой системы казалась интересным делом. И я решил им заняться. Написал драйвер дисковода. А поскольку я хотел записывать файлы в файловую систему Minix, да к тому же эта система была хорошо документирована, я сделал свою файловую систему совместимой с системой Minix. Таким образом я мог читать файлы, созданные в Minix, и писать файлы на тот же диск, так что Minix могла читать файлы, созданные моей программой эмуляции терминала."

В Minix не только была плохая эмуляция терминала, но и не было возможности перевести в фоновый режим программу, которой временно не пользуешься. И тут Торвальдс уже практически взялся за создание собственной операционной системы. Вначале он пытался просто программировать один за другим системные вызовы. Но их около двухсот и эта работа скоро наскучила. Тогда он изменил подход. Он взял оболочку bash, котоорая свободно распространялась в Интернет, и начал пытаться заставить ядро своей ОС запустить ее. Когда на этапе загрузки или запуска оболочка обращалась к какому-то системному вызову, происходил сбой. Тогда Линукс реализовывал необходимый системный вызов и повторял попытку. Наконец, в конце августа или начале сентября 1991 года, оболочка заработала. Это был очень важный момент. Как только оболочка заработала, удалось откомпилировать еще несколько программ. Оболочка была сложнее, чем, к примеру, программа копирования ср или команда выдачи листинга каталогов ls. В какой-то момент готовых компонент оказалось столько, что настал момент, когда можно было сказать, что заложены основы новой операционной системы.

25 августа 1991 года Линус Торвальдс направил первое сообщение о своей разработке в группу новостей comp.os.minix (смотри листинг 2).

В другом послании (от 26 августа 1991 г.) Линус впервые сообщает о том, что он собирается придерживаться лицензии GNU: "Даже тогда она, вероятно, не будет способна делать много больше того, что может minix, а во многих отношениях просто много меньше. Но она будет открыта (возможно, в соответствии с лицензией GNU или подобной)". Впрочем, это только небольшое попутное замечание, решение о том, на каких условиях будет распространяться Linux, будет сделано не сразу, и не сразу это будет GPL.

В своей книге "Just for fun" Л.Торвальдс пишет, что версия 0.01 была выпущена 17 сентября 1991 года. Снова приведу цитату из книги Торвальдса:

"И вот я решился ее выложить. Я не делал публичных объявлений, а просто написал пятерым-десятерым хакерам на личные адреса, что она лежит на FTP-сайте. В числе прочих я написал знаменитому среди фанатов Minix Брюсу Эвансу и Ари Лемке. Я выложил исходники самой Linux и еще несколько бинарников, чтобы можно было хоть что-то делать. Я сказал, что нужно, чтобы запустить все это хозяйство. На машине должна была стоять Minix (версия 386) и нужен был компилятор GCC. Причем на самом деле нужна была моя версия GCC, поэтому ее я тоже выложил.
Не думаю, чтобы ту версию проверяло больше одного-двух человек. Для этого нужно было возиться с установкой специального компилятора, выделить пустой раздел, чтобы использовать его для загрузки, откомпилировать мое ядро и запустить оболочку. А кроме запуска оболочки, делать было особенно нечего. Можно было распечатать исходники - всего 10 000 строк.
Я стал распространять свою операционку прежде всего, чтобы доказать, что все это не пустая болтовня - я действительно что-то сделал. В Интернете много болтают. О чем бы ни шла речь - об операционке или о сексе - многие в киберпространстве просто вешают лапшу на уши. Поэтому важно после того как ты растрезвонил, что пишешь операционку, иметь возможность сказать: "Вот - я ее и правда сделал. Я не трепло - можете сами посмотреть".

Название "Linux" новая система получила следующим образом. Самого Торвальдса несколько смущало созвучие этого названия с его именем, поэтому он пытался назвать свою разработку FREAX. Это название можно обнаружить в файле kernl/Makefile версии 0.11, и в исходных кодах других программ. Но Ари Лемке, который предоставил место для выкладывания системы на FTP сайте, назвал каталог pub/OS/Linux. И это название закрепилось за новой ОС.

назад | к началу | вперед