Краткая история 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" вырастет настолько, что сможет делать все в мире компьютеров.



Содержание раздела