Ядро Linux отмечает юбилей. О создании новой ОС 21-летний Линус Торвальдс объявил 25 августа 1991 года.
Как все начиналось
В начале 90-х Торвальдс был студентом Хельсинкского университета – здесь он получил степень магистра кибернетики. На младших курсах разработчику в руки попала книга Эндрю Таненбаума, посвященная операционной системе Minix. Он настолько вдохновился описанной в книге концепцией, что всего за пять месяцев создал рабочий прототип ядра новой операционной системы.
О разработке Торвальдс рассказал на телеконференции comp.os.minix. Тогда он располагал портированым bash 1.08 и компилятором gcc 1.40. Официальная публичная версия была представлена позже – 17 сентября.
Ядро Linux версии 0.0.1 получилось достаточно компактным: 10 тыс. строк программного кода и 62 кБ в сжатом виде. Для сравнения: современные версии ядра Linux включают 29,2 млн строк кода.
К слову, изначально ОС должна была называться Freax – это комбинация названия Unix и слов «free» (свободная) и «freak» (странная, необычная). Но приятель Торвальдса Ари Лемке, который загрузил ядро ОС на университетский FTP-сервер, назвал папку не «freax», а «linux».
А пингвин Tux, официальный маскот ОС, был выбран в 1996 году в рамках конкурса. Его имя расшифровывается как Torvalds UniX.
Сравнение с Minix
Торвальдса не устраивало, что Minix имела ограниченную лицензию BSD. Он грезил о свободной ОС, которая будет доступна всем и каждому – и которую мог улучшить каждый разработчик на планете.
Критики не раз обвиняли разработчика в том, что он так быстро создал Linux, потому что скопировал многие подсистемы Minix. Но на сторону Торвальдса встал лично автор этой ОС Эндрю Танненбаум. Он поручил своим студентом детально сравнить две системы – и в результате было установлено, что исходные коды ОС достаточно сильно отличаются: совпали всего четыре блока кода, и это было обусловлено требованиями POSIX и ANSI C.
В 2010 году Евросоюз заказал исследование, чтобы оценить потенциальную стоимость разработки системы, аналогичной свежей версии Linux. По оценкам экспертов, программный продукт, включавший 13 млн. строк кода, обошелся бы в 1-3 млрд долларов США. За 11 лет ОС еще сильнее разрослась, поэтому сейчас цифру можно смело умножить на два.
Рост и развитие
Самый первый Linux 0.0.1 поддерживал только процессоры i386. Загрузить ОС можно было с дискеты. С января 1992 года код стали распространяться под лицензией GPLv2, а спустя два месяца появилась возможность запускать X Window System, использовать раздел подкачки и виртуальную память.
Примерно тогда же стали появляться первые дистрибутивы на основе одного ядра: сначала вышли SLS и Yggdrasil, спустя год – Slackware и Debian. В 1993 году в ядро добавили основу сетевого стека, драйверы SCSI-контроллеров и звуковых карт. И лишь в марте 1994 года вышел первый стабильный релиз, Linux 1.0.
Linux 2.0 в июне 1996 года удивил поддержкой многопроцессорных систем. В феврале 2001 года, Linux 2.4, добавили поддержку USB, ACPI, файловой системы Ext3, до 64 ГБ оперативной памяти и 8-процессорных решений – это обеспечило серьезный прогресс в создании высоконагруженных серверов.
В 2005 году разработчики выпустили гипервизор Xen. Он фактически открыл эру виртуализации, позволяя запускать из-под Linux другие операционные системы.
Первая версия Android, также основанная на ядре Linux, вышла в сентябре 2008 года. У нее даже не было «сладкого» имени: оно появилось только у Android 1.5 Cupcake.
Система Linux росла и развивалась. Ядро 5.8, представленное в августе 2020 года, считается наиболее крупным обновлением – в него вошло больше всего изменений с момента запуска проекта.
Будущее проекта
Сейчас Linux активно движется от С++ к Rust. Пока код для разработки драйверов на этом языке добавляется в ветку Linux-next, но постепенно изменения мигрируют и в основной состав ядра.
Разработкой Linux занимаются крупнейшие IT-гиганты. При создании версии 5.13, представленной 28 июня, 10% изменений подготовили специалисты Intel, 6.5% – Huawei, 4.9% – Google, 4.8% – AMD, 3.1% – NVIDIA, 2.8% – Facebook, 2.1% – IBM.
Сам Торвальдс до сих пор управляет многими процессами, касающимися совершенствования ядра, а также владеет товарным знаком «Linux» и следит за его использованием во всем мире. Он работает из дома и заменяет живые встречи и онлайн-митинги общением по e-mail – утверждает, что такая асинхронная коммуникация эффективнее и приносит меньше стресса.