Just for fun. Рассказ нечаянного революционера
Добавить в закладки К обложке
- Предисловие переводчика - Страница 1
- ВведениеПо следам одной революции - Страница 3
- Благодарности - Страница 4
- ПредисловиеСмысл жизни – 1 (секс, война, Linux) - Страница 5
- Рождение ХАКЕРА - Страница 7
- II - Страница 8
- III - Страница 9
- IV - Страница 11
- V - Страница 16
- VI - Страница 17
- VII - Страница 19
- Рождение ОПЕРАЦИОННОЙ СИСТЕМЫ - Страница 21
- II - Страница 26
- III - Страница 27
- IV - Страница 30
- VКрасота программирования - Страница 36
- VI - Страница 38
- VII - Страница 40
- VIII - Страница 42
- IX - Страница 44
- XMinix и Linux - Страница 47
- XI - Страница 52
- XII - Страница 55
- Король БАЛА - Страница 57
- II - Страница 60
- III - Страница 63
- IV - Страница 66
- VГоловокружительный успех Linux - Страница 69
- VI - Страница 72
- VII - Страница 76
- VIII - Страница 78
- IX - Страница 81
- X - Страница 83
- XI - Страница 86
- XII - Страница 88
- Интеллектуальная собственность - Страница 89
- В погоне за будущим - Страница 96
- В чем соль открытого программирования - Страница 98
- Богатство и слава - Страница 103
- Смысл жизни – 2 - Страница 106
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) и gcc (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 миллионов строк.)
- 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
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108