Система UNIX стала одной из наиболее популярных операционных систем во всем мире благодаря тому, что она поддерживает большое количество платформ и, кроме того, активно распространяется. Начало ее созданию было положено в компании AT&T в 70-е годы, где она разрабатывалась как многозадачная операционная система для миникомпьютеров и так называемых "больших машин" тех лет. С тех пор, несмотря на несколько запутанный интерфейс и отсутствие единой стандартизации, система UNIX выросла в одну из наиболее распространенных операционных систем во всем мире.
Многие фанатики компьютерных изысканий (hackers) полагают, что "UNIX -- это Вещь" и что это "действительно Настоящая Операционная Система", с большой буквы. Этим и объясняется развитие и распространение системы Linux силами все более расширяющейся группы UNIX-хакеров, которые хотят приобщиться к созданию той системы, на которой сами работают.
Модификации системы UNIX существуют для многих типов компьютеров, от персональных и до суперкомпьютеров типа Cray Y-MP. Большинство версий системы UNIX для персональных компьютеров весьма дороги и громоздки. На момент написания исходной версии этой книги (февраль 1998 г.) версия UNIX System V для компьютера с процессором 386 стоила около 1500 долларов США.
Linux является бесплатной версией системы UNIX, изначально разработанной Линусом Торвальдсом (Linus Torvalds) в университете в Хельсинки. Через Интернет ему помогали многочисленные программисты и знатоки системы UNIX. В принципе, любой сообразительный человек с навыками программирования имеет шанс модифицировать или изменить данную систему. Ядро системы Linux не использует никаких программных разработок, созданных компанией AT&T или кем-либо еще, кто может предъявить свои права на интеллектуальную собственность. Значительная часть приложений для системы Linux разработана в рамках проекта GNU, осуществляемого в компании Free Software Foundation, Cambridge, Massachusetts, U.S.A. Тем не менее, программисты всего света вносили свой вклад в постоянно растущий фонд Linux-приложений.
В начале Linux разрабатывался Линусом Торвальдсом как хобби. Линус Торвальдс был вдохновлен системой Minix, другим клоном системы UNIX, разработанным Энди Таненбаумом (Andy Tanenbaum). Первые обсуждения системы Linux проводились в телеконференции Usenet, которая называлась comp.os.minix. Предметом обсуждения была в основном идея создания на основе системы UNIX небольшой учебной операционной системы для тех пользователей системы Minix, которые хотели от нее большего.
На начальном этапе разработки системы Linux в основном создавались средства переключения задач для защищенного режима (protected-mode) процессора 80386. Этот этап работы целиком выполнялся на Ассемблере. О том времени Линус Торвальдс пишет так:
``...А дальше вела прямая дорога: хоть это было тяжелое и скрупулезнейшее программирование, но у меня уже был доступ к некоторым устройствам, и отладка стала проще. На этой стадии я стал использовать язык C, что определенно ускорило процесс. Именно тогда я стал серьезно подумывать об этой своей идее создать "создать Minix, который будет лучше, чем Minix". От этой идеи веяло гигантоманией, однако я надеялся, что в один прекрасный день я смогу перекомпилировать gcc в системе Linux...''``Два месяца потрачены на основную конфигурацию, и затем весьма скоро у меня уже был драйвер жесткого диска (он иногда давал серьезные сбои, но на моем компьютере он счастливым образом мог работать). Примерно в это же время (конец августа 1991 года) я открыл доступ к версии 0.01: она не была сколько-нибудь совершенной, в ней не было драйвера гибких дисков, и у нее было совсем немного возможностей. Я не думаю, что кто-либо хоть раз откомпилировал эту версию. Но к тому времени я уже серьезно погряз в эту историю, и я не намерен был останавливаться до тех пор, пока я не покорю Minix.''
Никакого сообщения о выходе версии 0.01 системы Linux не было сделано. Исходные тексты версии 0.01 даже не могли быть собраны в единую работающую систему. В них содержались лишь изолированные обрывки исходных текстов ядра системы; предполагалось, что у пользователя есть доступ к системе Minix, в которой эти тексты можно было компилировать, чтобы затем иметь возможность экспериментировать с системой Linux.
5 октября 1991 года Линус Торвальдс объявил о создании первой "официальной" версии системы Linux (эта система носила номер 0.02). К тому времени автор мог запускать на ней bash (GNU Bourne Again Shell) и gcc (GNU C compiler), однако почти ничего помимо этого. Это все еще была система для хакеров. Усилия всегда направлялись в первую очередь на создание ядра системы, а поддержке пользователей, документированию и распространению системы внимание почти не уделялось. И по сей день, похоже, сообщество разработчиков системы Linux считает эти вопросы вторичными, уступающими по важности "истинному программированию" (т.е. развитию ядра системы).
Линус Торвальдс в телеконференции comp.os.minix писал об этом так.
``Не тоскуете ли вы о славном времени системы Minix-1.1, времени славных людей, самостоятельно писавших себе драйверы устройств? Не нужен ли вам проект, достойный вас? Нет ли у вас смертельного желания поломать себе зубы о задачу создания операционной системы, которую вы могли бы видоизменять под свои потребности? Не разочаровывает ли вас то, что все в системе Minix нормально работает? Если да, то это сообщение -- для вас.''``Как я уже сообщал месяц назад, я работаю над свободной версией -- копией системы Minix -- для компьютеров AT-386. Работа наконец достигла той стадии, когда систему уже можно использовать (либо нельзя -- в зависимости от того, чего вы хотите). Я хотел бы открыть доступ к исходным текстам для широкого распространения. Это всего лишь версия 0.02 ... но я уже успешно запускал в ней bash, gcc, gnu-make, gnu-sed, compress и т.д.''
Благодаря тому, что над системой теперь работал уже не один человек, следующей после версии 0.03 Линус Торвальдс смог присвоить сразу номер 0.10. После нескольких последующих доработок этот номер был увеличен в марте 1992 года до 0.95, что указывало на близость (по мнению авторов) выхода в свет "официальной" версии системы (вообще говоря, номер 1.0 не присваивается до тех пор, пока система либо программа не написана полностью и не избавлена от всех ошибок, хотя бы теоретически). Почти полтора года спустя (в конце декабря 1993 года) версия ядра системы Linux все еще носила номер 0.99.pl14 (pl обозначает patchlevel -- здесь: порядковый номер исправлений, правки), "асимптотически" приближаясь к 1.0. На момент написания исходной версии этой книги (февраль 1998 г.) имеется стабильная версия 2.0.pl33 системы Linux, а ядра, имеющие номер версии 2.1, являются экспериментальными.
Большинство основных некоммерческих программ, разработанных для системы UNIX, адаптированы под Linux. Имеются и коммерческие программные продукты. В настоящее время поддерживается больше аппаратных средств, чем это было в исходной версии ядра системы Linux. Так, неожиданно для всех, "маленький" клон семейства UNIX вырос и завоевал весь мир персональных компьютеров.