Начало
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. И это название закрепилось за новой ОС.