ТВОРЧЕСТВО

ПОЗНАНИЕ

 


И я ни в малейшей степени не чувствовал себя жалким бледным яйцеголовым неудачником. Оболочка работала, а это значило, что я фактически построил основу работоспособной операционной системы. И я получал удовольствие.
Когда оболочка заработала, я стал тестировать встроенные в нее программы. Потом я накомпилировал достаточно новых программ, чтобы начать делать что-то настоящее. Я компилировал все в Minix, но перенес оболочку в специальный раздел, который создал для новой операционной системы. Про себя я называл ее Linux.
Честное слово, я никогда не собирался выпускать ее под именем Linux, потому что это казалось мне слишком нескромным. Какое имя я приготовил для окончательной версии? Freax. (Поняли? Freaks – фанаты – и на конце х от Unix.) На самом деле некоторые ранние файлы проекта – файлы, где описывается, как компилировать исходники – около полугода содержали название Freax. Но это не имело особого значения. В то время мне не нужно было название, потому что я не собирался ее никому показывать.
VIII

From: torvaldsSklaava.Helsinki.Fi (Linus Benedict Torvalds)
To: Newsgroups: comp.os.inix
Subject: Чего вам больше всего не хватает в minix?
Summary: небольшой опрос для моей операционной системы Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.Fi>
Привет всем пользователям minix! Я тут пишу (бесплатную) операционную систему (любительскую версию – она не будет такой большой и профессиональной, как gnu) для 386-х и 486-х AT. Я вожусь с этим с апреля, и она, похоже, скоро будет готова. Напишите мне, кому что нравится/не нравится в minix, поскольку моя ОС на нее похожа (кроме всего прочего, у нее – по практическим соображениям – то же физическое размещение файловой системы).
Пока что я перенес в нее bash (1.08) и gсс (1.40), и все вроде работает. Значит, в ближайшие месяцы у меня получится уже что-то работающее, и мне бы хотелось знать, какие функции нужны большинству. Все заявки принимаются, но выполнение не гарантируется: –)
Линус (Torvalds@klaava.Helsinki.fi)
PS. Она свободна от кода minix и включает мультизадачную файловую систему. Она НЕ переносима (используется переключение задач 386 и пр.) и, возможно, никогда не будет поддерживать ничего, кроме АТ-винчестеров – потому что у меня больше ничего нет: – (.
Наиболее рьяные энтузиасты Minix встрепенулись. Мне прислали не так много заявок по поводу ее функций, но зато были другие сообщения.
>Расскажи поподробней! Ей нужен MMU?
Ответ: да
>Какая часть написана на Си? Какие будут трудности
>при переносе? Кто тебе поверит про машинную
>зависимость;-), я вот хочу ее перенести к себе на
>Amiga.
Ответ: она в основном написана на Си, но многие скажут, что это не настоящий Си. В ней использованы все особенности 386-го, которые я смог обнаружить, потому что хотел попутно разобраться в его работе. Некоторые из моих файлов на Си сильно смахивают на ассемблер.
Как я уже писал, она использует MMU как для страничной подкачки (пока не на диск), так и для сегментации. Именно из-за сегментации она ПО-НАСТОЯЩЕМУ зависит от 386-го (у каждой задачи есть 64-мегабайтный сегмент для кода и данных – максимум 64 задачи на 4 Гб. Если нужно больше 64 Мб на задачу – будут проблемы).
Несколько человек даже предложили стать бета-тестерами.
В итоге разместить ее в Интернете было просто естественно. Я привык обмениваться программами именно так. Поэтому вопрос был только один – на каком этапе я решусь показать ее людям? Или точнее: когда она будет достаточно готова, чтобы мне нечего было стыдиться?
Вообще-то мне хотелось иметь компилятор и настоящую среду, чтобы можно было писать программы прямо в Linux, без помощи Minix. Но я был так горд, когда у меня заработала оболочка gnu, что был готов всем это показать. И еще мне хотелось получить отклики.
К тому моменту, как заработала оболочка, у меня было несколько элементарных бинарников, которые я скомпилировал для операционки. Делать с ними пока было особенно нечего, но уже было видно, что система похожа на Unix. На самом деле она работала, как увечная Unix.
И вот я решился ее выложить. Я не делал публичных объявлений, а просто написал пятерым-десятерым хакерам на личные адреса, что она лежит на FTP-сайте. В числе прочих я написал знаменитому среди фанатов Minix Брюсу Эвансу и Ари Лемке. Я выложил исходники самой Linux и еще несколько бинарников, чтобы можно было хоть что-то делать. Я сказал, что нужно, чтобы запустить все это хозяйство. На машине должна была стоять Minix (версия 386) и нужен был компилятор GCC. Причем на самом деле нужна была моя версия GCC, поэтому ее я тоже выложил.
Существуют правила нумерации версий. Это вопрос психологический. Когда вы считаете, что программа по-настоящему готова – это версия 1.0. А до этого вы нумеруете версии так, чтобы было видно, сколько еще предстоит потрудиться до выпуска 1.0. Из этих соображений я положил на FTP-сайт версию 0.01. Чтобы все знали, что она мало на что пока годится.
Эту дату я хорошо помню: 17 сентября 1991 года.
Не думаю, чтобы ту версию проверяло больше одного-двух человек. Для этого нужно было возиться с установкой специального компилятора, выделить пустой раздел, чтобы использовать его для загрузки, откомпилировать мое ядро и запустить оболочку. А кроме запуска оболочки, делать было особенно нечего. Можно было распечатать исходники – всего 10 000 строк, т. е. меньше ста страниц, если печатать мелким шрифтом. (Сейчас там уже порядка 10 миллионов строк.)
Я стал распространять свою операционку прежде всего, чтобы доказать, что все это не пустая болтовня – я действительно что-то сделал. В Интернете много болтают. О чем бы ни шла речь – об операционке или о сексе – многие в киберпространстве просто вешают лапшу на уши. Поэтому важно после того как ты растрезвонил, что пишешь операционку, иметь возможность сказать: «Вот – я ее и правда сделал. Я не трепло – можете сами посмотреть».
Ари Лемке, который организовал для нее РТР-сайт, невзлюбил название Fгеах. Ему больше нравилось другое рабочее название, которое я использовал – Linux. Поэтому он назвал мой каталог pub/OS/Linux. Признаюсь – я не особенно сопротивлялся. Но инициатива была его. Поэтому я могу честно – или почти честно – сказать, что не был нескромным. Я тогда подумал, а что – хорошее название, и всегда можно будет на кого-нибудь свалить. Что я и делаю.
Как я уже говорил, моя операционка была не очень полезной. Она легко рушилась, если переполнить память или еще что-то не так сделать. Даже если вы ничего плохого не делали, система рушилась после более-менее продолжительного периода работы. Она тогда и не предназначалась для работы. На нее можно было только любоваться. И восхищаться ею.
То есть просто экспонат для группы людей, которые интересуются разработкой операционных систем. Для горстки технарей с узкой специализацией.
Реакция была неизменно положительная, но при этом так же неизменно звучало:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65