Одной из знаменательных дат в истории развития операционных систем можно считать 25 августа 1991 года. Именно тогда начинающий программист Линус Торвальдс сообщил о желании разработать свою ОС – открытую и бесплатную, ставшую известной во всём мире.

В сети Usenet есть отправленное им в тот день сообщение, которое ныне цитируется во многих книгах. “Я делаю (бесплатную) операционную систему (просто хобби, она не будет большой и профессиональной, как GNU) для 386 (486) клонов AT. Это назревало с апреля, и уже начинает получаться”.

Первое сообщение о Linux (фото: arstechnica.com).
Первое сообщение о Linux (фото: arstechnica.com).

За прошедшее время Linux стала как «большой» (в хорошем смысле), так и профессиональной (безо всяких кавычек) операционной системой. Сегодня она подобна огромному дереву, на котором благодаря труду сложившегося сообщества выросли свыше пятисот веток дистрибутивов Linux – от A/V до Zorin OS. Создание самой популярной мобильной операционки – Android, было бы невозможно без Linux.

Мы хорошо видим, к чему всё привело, но мнений о предпосылках к появлению Linux высказывается много. Вот, что пишет Глин Муди (Glyn Moody) – автор книги о Торвальдсе, неоднократно бравший у него интервью: «Осенью 1988 года, Линус поступил в университет Хельсинки и стал изучать информатику. Это произошло спустя два года после его первого знакомства с Unix».

Именно там Линус столкнулся с ограничениями лицензионных соглашений, которые повергли его в шок, а позже заставили придумать альтернативный вариант распространения софта. «У нас был один довольно короткий курс по Unix. Осенью 1990 года университет получил MicroVAX, работающий на Ultrix, и лицензию на шестнадцать пользователей. Конечно, приходилось ждать очереди, чтобы попасть в терминал».

Ключевые этапы развития Linux (инфографика: Linux Foundation).
Ключевые этапы развития Linux (инфографика: Linux Foundation).

Другим ключевым фактором зарождения Linux стал учебник Эндрю Таненбаума «Операционные системы: разработка и реализация». Помимо детального описания подходов к созданию ОС, книга включала исходный код простой операционки – Minix. Изначально она была написана для процессоров Intel 8088, а затем портирована на архитектуру 80386.

Читавшие Таненбаума наверняка помнят, с каким сарказмом автор отзывался об интеловской архитектуре, сравнивая её со SPARC. Этот тон сохраняется и в последнем переиздании книги: «Унаследованный набор CISC-команд инженеры Intel рады бы слить в ближайший водоём, но этим бы они безусловно нарушили природоохранное законодательство», – писал он.

Среди студентов Линус считался знатоком чипов и во многом разделял мнение Таненбаума. Начинал он программировать ещё на Commodore Vic-20, затем сменил его на Sinclair QL и посмеивался над архитектурой PC до тех пор, пока Intel не выпустила первый 32-битный процессор – 80386. Его Линус счёл достаточно удачным, чтобы использовать самому.

Компьютер Sinclair QL (фото: sinclair-collection.com).
Компьютер Sinclair QL (фото: sinclair-collection.com).

Благодаря студенческому праву на получение льготного кредита и рождественским распродажам, Линус купил первый IBM PC. Тогда он ещё жил с родителями, поэтому смог потратить всю сумму на приобретение компьютера. «Я добавил все деньги, что получил на Рождество, и отправился в магазин в первый же рабочий день, – вспоминает Торвальдс. – Это было пятое января 1991 года, и я хорошо помню характеристики своего первого ПК даже спустя много лет».

Ядро ОС Linux родилось в памяти компьютера с процессором Intel 386 DX33, четырьмя мегабайтами ОЗУ и жёстким диском объёмом 40 мегабайт. Спустя полгода Линус приобрёл сопроцессор для выполнения операций с плавающей запятой. Linux могла запускаться и без него в режиме эмуляции, но на других конфигурациях сопроцессор уже часто встречался, поэтому автор решил его использовать.

Несмотря на то, что сразу после Рождества у Линуса появился персональный компьютер, он не смог сразу окунуться в мир Unix. Пришлось ждать очереди, чтобы получить дискеты с Minix. Это время он провёл также, как и другие программисты той поры – играл в «Принца Персии» и ругался на MS-DOS в перерывах между чтением руководств по архитектуре Intel 80386.

Первый процессор, на котором запускалась ОС Linux.
Первый процессор, на котором запускалась ОС Linux.

«Первые два месяца я мало программировал, так как не знал особенности нового компьютера, – вспоминает Торвальдс. – Тогда я просто развлекался написанием менеджера переключения процессов. Один выводил на экране «А», затем срабатывал таймер и другой процесс писал следом «B». Я смотрел на эти строки «AAAA BBBB» и в какой-то момент понял, что функция переключения процессов значит гораздо больше – это уже уровень ядра».

Написав эмулятор терминала и драйвер, Линус стал подключаться к университетскому серверу, чтобы читать новостные группы. Именно в них он обсуждал вопросы, возникающие по ходу написания протоядра Linux.

«Осенью 1991 года я запросил в новостной группе информацию о стандарте POSIX. Так я смог сделать пакет эмуляции лучше. Затем мне захотелось загружать и скачивать в группу разные файлы. Для этого пришлось написать драйвер диска, чтобы работать с файловой системой Minix. Итого у меня был эмулятор, менеджер процессов, драйвер устройства – словом, получился свой Unix».

Линус Торвальдс (фото: mashable.com).
Линус Торвальдс (фото: mashable.com).

Откуда же взялось название Linux? Изначально Торвальдс так называл зарождающуюся свободную операционку только для себя. Опасаясь упрёков в нарциссизме, он даже просил сотрудника университета Ари Лемке (Ari Lemmke) поместить на FTP-сервер свои наработки под названием Freax – Free Unix, однако Ари оставил самоназвание проекта. Так в 1991 году на ftp.funet.fi появилась директория /pub/os/linux.

«Первая версия Linux даже никак не анонсировалась, – вспоминает Торвальдс. – Я просто отправил несколько личных писем людям, проявившим интерес к ней. Следующая версия писалась уже с их участием. Она вышла через несколько недель и была гораздо лучше. Именно её я и анонсировал впервые публично».

Эту версию скачали немногие. Сам Торвальдс оценивает их число в десять – двадцать человек. К счастью, это оказались достаточно увлечённые люди, пожелавшие стать частью проекта и развивать его. В следующие годы он стал расти с феноменальной быстротой, и сегодня разные версии Linux используется буквально везде – от мобильных устройств до суперкомпьютеров.