threaded fs. It is NOT portable (uses 386 task switching
etc), and it probably never will support anything other
than AT-harddisks, as that's all I have :-(.
Вот перевод этого сообщения:
From: [email protected] (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Что вам не хватает в minix?
Summary: небольшой опрос для новой операционной системы
Message-ID: < [email protected]>
Date: 25 Aug 91 20:57:08 GMT
Organization: Университет Хельсинки
Привет всем пользователям minix
Я разрабатываю (бесплатную) операционную систему (это
просто хобби, ничего «огромного» и профессионального вроде
GNU) для чипов 386(486) AT. Я пишу ее начиная с апреля
и похоже, что скоро она будет готова. Мне очень важно
узнать, что вам нравится/не нравится в minix, потому что
моя ОС напоминает minix (та же самая файловая система (из
практических соображений) и много еще чего).
На данный момент я перенес в нее bash(1.08) и gcc(1.40),
вроде бы они работают. Похоже, что через несколько месяцев
все будет готово и я хотел бы знать, какие функции вам
нужны. Принимаются любые заявки, но их выполнение я не
гарантирую :-)
Linus ( [email protected])
PS. Система свободна от кода minix и обладает много-
потоковой файловой системой. Она не переносима (поскольку
использует переключение задач 386 и др.) и возможно
никогда не будет поддерживать ничего, кроме АТ-
винчестеров, поскольку кроме них у меня ничего нет :-(.
Версия Linux 0.01 была выпущена 17 сентября 1991 года. В своей книге «Just for fun» Линус пишет:
«И вот я решился ее выложить. Я не делал публичных объявлений, а просто написал пятерым-десятерым хакерам на личные адреса, что она лежит на FTP-сайте. В числе прочих я написал знаменитому среди фанатов Minix Брюсу Эвансу и Ари Лемке. Я выложил исходники самой Linux и еще несколько бинарников, чтобы можно было хоть что-то делать. Я сказал, что нужно, чтобы запустить все это хозяйство. На машине должна была стоять Minix (версия 386) и нужен был компилятор GCC. Причем на самом деле нужна была моя версия GCC, поэтому ее я тоже выложил.
Не думаю, чтобы ту версию проверяло больше одного-двух человек. Для этого нужно было возиться с установкой специального компилятора, выделить пустой раздел, чтобы использовать его для загрузки, откомпилировать мое ядро и запустить оболочку. А кроме запуска оболочки, делать было особенно нечего. Можно было распечатать исходники — всего 10 000 строк.
Я стал распространять свою операционку прежде всего, чтобы доказать, что все это не пустая болтовня — я действительно что-то сделал. В Интернете много болтают. О чем бы ни шла речь — об операционке или о сексе — многие в киберпространстве просто вешают лапшу на уши. Поэтому важно после того как ты растрезвонил, что пишешь операционку, иметь возможность сказать: «Вот — я ее и правда сделал. Я не трепло — можете сами посмотреть».
При чем здесь пингвины?
Кто и когда придумал для новой операционной системы название и логотип? Линус с самого начала хотел назвать свою операционную систему FREAX. Вот и работали бы мы сейчас на FREAX'ax. Если не верите — найдите в Интернете файл kernl/Makefile ядра версии 0.11.
А название "Linux" получилось следующим образом. Ари Лемке отвел место на FTP-сервере под исходные коды новой системы. Он назвал каталог с новой операционной системой pub/OS/Linux, Впоследствии именно это название за ней и закрепилось.
А логотип Linux придумали в 1996 году. Тогда в рассылке linux-kernel mailing list прозвучала идея о выборе логотипа для Linux. Сами понимаете, желающих заняться разработкой логотипа — предостаточно, поэтому различных вариантов было много. В процессе обсуждения логотипа Линус сказал, что ему нравятся пингвины. В ответ на это было предложено множество пингвинов в разных позах. Был также вариант пингвина, держащего на руках земной шар. На это Линус ответил: «бедный пингвин не так силен, чтобы удержать земной шар, он, пожалуй, будет раздавлен… Так что если вы думаете о «пингвине», вы должны представлять себе слегка растолстевшего сидящего пингвина, хорошо поевшего и отрыгнувшего. Он сидит с довольной улыбкой — мир кажется прекрасным, если вы только что съели несколько галлонов свежей рыбы…».
Логотип Linux — полностью соответствует пожеланию Линуса. Логотип создал Ларри Ивинг (Larry Ewing), причем он нарисовал его прямо в Linux с помощью программы GIMP (The GNU Image Manipulation Program). Если вы хорошо знаете зоологию (или хотя бы видели пингвинов по телевизору), то, наверное, заметили, что у настоящих пингвинов клюв и ласты — черные, а у нашего пингвиненка — оранжевые. Это сделано специально, чтобы пингвин был узнаваем.
Рис. 6. Символ Linux
Путь к первой версии (1.0)
Нумерация версий Linux началась с 0.01, и путь к стабильной версии 1.0 занял почти три года.
Версии ядра Linux до версии 1.0 Таблица 1
Версия Дата выхода Особенности версии 0.01 17.09.1991 Только ядро, включающее драйвер диска и несколько драйверов устройств. Программ не было. Практически система использоваться не могла 0.03 26.10.1991 В системе уже запускалась командная оболочка и компилятор С. Систему уже можно было использовать и писать в ней новые программы 0.10 12,1991 Система поддерживала AT-жесткий диск. Программы login не было — после загрузки ядра сразу загружалась оболочка bash. 0.11 12.1991 Уже что-то. Эта версия поддерживала FDD, многонациональные клавиатуры, мониторы VGA, EGA, Hercules. Самое главное, что системой начали пользоваться — ее загрузили и установили несколько человек 0.12 05.01.1992 Появилась подкачка — свопинг оперативной памяти на диск. Систему скачало насколько сотен человек. Это первая версия системы, которая распространялась по лицензии GPL 0.96 04.1992 Нет, я не пропустил насколько версий. Просто нумерация была изменена в связи с приближением к стабильной версии. Данная версия позволяла запускать систему X Window — у Linux появился графический интерфейс 0.99.14 12.1993 А вот здесь я пропустил определенное количество подверсий версии 0.99 — их описывать просто нет смысла 1.0 16.04.1994 Первая версия! С момента выхода версии 0.01 прошло 2 года и 7 месяцев
В апреле 1992 года Орест Збровски перенес на Linux систему X Window. Это был настоящий прорыв — но не из-за того, что у Linux появился графический интерфейс, а потому что обмен между X-клиентом и X-сервером осуществлялся с помощью UDS — UNIX Domain Sockets. Coкеты позволили использовать сеть в Linux. Система «повзрослела», что вдохновило Торвальдса на изменение нумерации версий. Вот что он сам пишет но этому поводу: «мы с большим воодушевлением принялись разрабатывать сети для Linux поверх этих самых Domain Sockets, хотя они вовсе не были для этого предназначены. Я был настолько уверен, что все получится, что даже сделал скачок в нумерации версий. В марте 1992 года я планировал выпустить версию 0.13. А вместо этого, получив графический интерфейс пользователя, уверился, что мы на 95% достигли цели — выпуска полноценной, надежной операционной системы, пригодной к тому же для работы в сети. И поэтому выпустил версию 0.95.»
Разработка сетевой подсистемы — дело довольно сложное. Именно поэтому у версии 0.99 так много подверсий. Версия 1.0 уже могла использоваться в сети.
Они создавали Linux
Линусу помогало много энтузиастов, но на первых порах особенно важен вклад следующих добровольцев:
♦ Вернер Альмесбергер (Werner Almesberger) — разработал драйверы FDD и загрузчик Linux — LILO (Linux LOader);
♦ Теодор Тсо (Theodore Ts'o) — создал файловую систему ext2 (у меня эта файловая система использовалась до конца прошлого года!), библиотеки, распределитель памяти ядра;
♦ Дональд Беккер (Donald Becker) — занимался разработкой сетевых драйверов;
♦ Олаф Кирч (Olaf Kirch) — написал руководство по сетевому администрированию Linux;
♦ Питер Мак-Дональд (Peter McDonald) — разработал поддержку загружаемых модулей в версии 0.99. Правда, в современных версиях ядра этот механизм полностью переделан;