Краткая история Linux
UNIX - одна из самых популярных в мире операционных систем
благодаря тому, что ее сопровождает и распространяет большое
число компаний. Первоначально она была создана как многозадачная
система для миникомпьютеров и мэйнфреймов в середине 70-ых годов,
но с тех пор она выросла в одну из наиболее распространенных
операционных систем, несмотря на свой временами обескураживающий
интерфейс и отсутствие централизованной стандартизации.
В чем реальная причина популярности UNIX? Многие хакеры
нутром чувствуют, что UNIX - это "настоящая вещь", Единственная
Настоящая Операционная Система. Отсюда и появление Linux, как
системы, разрабатываемой все более расширяющейся группой энтузиастов
UNIX, которые хотят собственноручно в ней поковыряться.
Существуют версии UNIX для многих систем, начиная от
персонального компьютера, до суперкомпьютеров, таких как Cray
Y-MP. Большинство версий UNIX для персональных компьютеров
достаточно дороги и сложны. К моменту написания этой книги
одномашинная версия AT&T's System V для 386 стоила US$1500.
Linux - свободно распространяемая версия UNIX, первоначально
была разработана Линусом Торвальдсом (Linus Torvalds)
(torvalds@kruuna.helsinki.fi)
в
Университете Хельсинки (Финляндия). Linux был создан с помощью
многих UNIX-программистов и энтузиастов из Internet, тех, кто
имеет достаточно навыков и способностей развивать систему. Ядро
Linux не использует коды AT&T или какого-либо другого частного
источника, и большинство программ Linux разработаны в рамках
проекта GNU из Free Software Foundation в Cambridge,
Massachusetts. Но в него внесли лепту также программисты всего
мира.
Первоначально Linux создавался Линусом Торвальдсом как хобби. Его
вдохновила операционная система Minix - маленькая
UNIX-система, созданная Andy Tanenbaum, и впервые Linux
обсуждался по компьютерной сети в рамках USENET newsgroup
comp.os.minix. В этих обсуждениях прежде всего принимали участие
пользователи Minix из учебных и научных заведений, которым
хотелось чего-то большего, чем Minix.
Раннее развитие Linux прежде всего было связано с проблемой
переключения задач в защищенном режиме для 80386. Все писалось на
ассемблере. Линус вспоминает:
"После этого началось спокойное плавание: по-прежнему
беспросветное кодирование, но у меня были различные подсобные
программы и отладка была облегчена. На этом этапе я стал
использовать Си и это существенно ускорило дело. В это же время я
стал серьезно обдумывать маниакальную идею, как сделать Minix
лучше себя самого. Я надеялся в один прекрасный день
перекомпилировать gcc под Linux..."
"Два месяца ушло на написание самых базовых программ, а
затем чуть больше времени на драйвер винчестера (с большим
количеством ошибок, но все-таки работавшим на моей машине) и
простую файловую систему. В результате я подготовил версию 0.01
(примерно конец августа 1991 г.). Она была не слишком изящной, в
ней не было драйвера гибких дисков и она многое не могла делать.
Но я уже не смог остановиться, пока не создал свой Minix."
Относительно появления Linux версии 0.01 никогда не делалось
никаких официальных заявлений. Исходные тексты 0.01 не давали
даже нормального выполняемого кода: они фактически состояли лишь
из набора заготовок для ядра и молчаливо предполагали, что вы
имеете доступ к Minix-машине, чтобы иметь возможность
компилировать их и совершенствовать.
5-го октября 1991 года Линус объявил первую "официальную"
версию Linux, версия 0.02. В это время Linux уже мог выполнять
bash (the GNU Bourne Again Shell) и gcc (the GNU C compiler), но
мало еще что работало. Вновь это рассматривалось как создание
некой хакерской системы. Основное внимание - создание ядра.
Никакие вопросы поддержки работы с пользователем,
документирования, тиражирования и т. п. даже не обсуждались.
Кажется, что и сегодня сообщество Linux-истов считает эти вопросы
вторичными по сравнению с "настоящим программированием" -
развитием ядра.
Линус писал в comp.os.minix:
" Грустите ли вы по тем прекрасным временам Minix-1.1, когда
мужчины были настоящими мужчинами и писали свои собственные
драйверы на все устройства? У вас сейчас нет под рукой настоящего
проекта и вы вымираете от невозможности вонзить свои зубы в
какую-то ОС, которую бы можно было модифицировать под свои
желания? Не находите ли вы деморализующей ситуацию, когда все в
Minix работает? Нет больше бессонных ночей, которые позволяли
заставить хитрые программы работать правильно? Тогда это место для
вас."
"Как я уже говорил месяц назад, сейчас я работаю над
некоммерческой Minix-подобной ОС для 386-го компьютера. Она уже
доведена до такого состояния, когда ею даже можно пользоваться
(хотя может быть там не то, что бы вы хотели), и я хочу выложить
исходные тексты для широкого распространения. Это версия 0.02,
но в ней уже успешно работают bash, gcc, gnu-make,
gnu-sed, compress и т.д."
После версии 0.03 Линус скачком перешел в нумерации к версии
0.10, так как над проектом стало работать много народу. После
нескольких последовавших пересмотров версий, Линус присвоил
очередной версии номер 0.95, чтобы тем самым отразить свое
впечатление о том, что скоро возможна уже "официальная" версия.
(Обычно программам не дают номер версии 1.0 до того, как она
теоретически завершена и отлажена). Это было в марте 1992 г.
Примерно через полтора года - в декабре 1993 версия ядра все еще
была Linux 0.99.pl14 - асимптотически приближаясь к 1.0. Во время
написания книги текущая версия ядра 1.1 patchlevel 52, и на
подходе версия 1.2.
Сегодня Linux - это полноценная ОС семейства UNIX, способная
работать с X Windows, TCP/IP, Emacs, UUCP, mail и USENET.
Практически все важнейшие программные пакеты были поставлены и на
Linux, т.е. для Linux теперь доступны и коммерческие пакеты. Все
большее разнообразие оборудования поддерживается по сравнению с
первоначальным ядром. Многие тестировали Linux на 486-ом и
установили, что он вполне сравним с рабочими станциями Sun
Microsystems и Digital Equipment Corporation. Кто мог
предположить, что этот "маленький UNIX" вырастет настолько, что
сможет делать все в мире компьютеров.