Перейти к основному содержимому

Линус Торвальдс — ядро Linux и Git

Разработчику Архитектору Инженеру

Линус Бенедикт Торвальдс (род. 28 декабря 1969, Хельсинки) — финский программист, автор ядра Linux (1991) и Git (2005). Оба проекта развиваются сообществом и не принадлежат одной компании. Ядро Linux лицензировано под GPL; Git — под GPL v2.

Смежные материалы:


Где встречаются Linux и Git

Ядро Linux — центральная часть многих операционных систем. Оно управляет процессором, памятью, дисками и устройствами. Поверх ядра работают программы: браузер, сервер базы данных, мобильное приложение. Подробнее — в определении ядра.

Git — программа контроля версий на вашем компьютере. Она хранит историю изменений в папке .git. GitHub и GitLab — сайты, куда эту историю можно отправить и обсудить с командой; без установленного Git они не заменяют локальную работу с кодом. См. Git, хостинг и клиенты.

СфераРоль LinuxРоль Git
СмартфоныAndroid строится на ядре Linux (проект AOSP)Исходники AOSP и приложений ведут в репозиториях
Домашняя сетьПрошивки роутеров, NAS, умных устройствПрошивки и скрипты часто лежат в открытых репозиториях
Интернет и облакоБольшинство веб-серверов и контейнеров (Docker)CI/CD, деплой, code review
Наука и инженерияСуперкомпьютеры, моделирование погоды, бортовые системыСовместная разработка расчётных пакетов

Детство и первые компьютеры

Семья Торвальдса была творческой и далёкой от IT.

  • Родители работали журналистами.
  • Один дед был поэтом, второй — профессором статистики.
ГодСобытие
1981 (11 лет)Первый компьютер — Commodore VIC-20. Дед купил его для научных расчётов.
1981–1982Дед писал программы на BASIC от руки на бумаге. Линус вводил их в машину — первый опыт программирования.
~1982 (12 лет)Первая своя программа — игра в духе Pac-Man на финском языке.
ПозжеКомпьютер Sinclair QL с системой QDOS. Система работала медленно; Линус разбирал её по частям, чтобы понять устройство и ускорить работу.

BASIC — простой язык для начинающих, популярный на домашних компьютерах 1980-х. Операционная система (ОС) на QL управляла запуском программ и доступом к диску. Разбор тормозов учил заглядывать внутрь системы — к драйверам, планировщику, файловой подсистеме.


Университет и MINIX

Линус поступил в Хельсинкский университет на факультет компьютерных наук. Там изучали ОС и язык C — тот же язык, на котором позже писалось ядро Linux.

Почему не "настоящий" Unix

В 1980–1990-х Unix — семейство мощных многопользовательских ОС из Bell Labs — стоил дорого. Исходный код принадлежал AT&T и был закрыт для студентов. Общая линия Unix → BSD → GNU — в Истории ОС и Основах UNIX.

Учебная система MINIX

В 1987 году профессор Эндрю Таненбаум выпустил MINIX — уменьшенную Unix-подобную ОС для курса по операционным системам. К ней прилагались книга и дискета с исходниками.

Торвальдс купил комплект и установил MINIX на ПК с процессором Intel 386 и 4 МБ оперативной памяти (RAM). Компьютер он взял в студенческий кредит — по меркам начала 1990-х это была мощная машина.

Ограничения MINIX, с которыми столкнулся Линус:

  • Многозадачность работала слабо — система не давала нормально держать несколько программ одновременно для повседневной работы. См. классификацию ОС про многозадачные системы.
  • Через MINIX не получалось подключиться к серверу университета по сети.
  • Таненбаум не принимал чужие доработки и закрыл ядро для сторонних экспериментов.

Ядро в MINIX, как и в Linux, — сердце ОС. В учебной MINIX менять ядро мог только автор курса; студентам оставались эксперименты в пользовательской части.

Поняв, что MINIX не станет рабочей средой для его задач, Торвальдс решил написать своё ядро с нуля на C.


Рождение Linux (1991)

Что такое ядро и чем оно отличается от "Linux на ноутбуке"

Ядро (kernel) — программа, которая всегда в памяти и связывает железо (процессор, RAM, диск, клавиатуру) с прикладными программами. Когда вы открываете файл, ядро обращается к диску; когда запускается браузер — ядро выделяет память и время CPU.

Дистрибутив — готовая ОС для пользователя. В неё входят:

  • ядро Linux;
  • утилиты GNU (ls, cp, компилятор GCC);
  • служба загрузки (systemd или аналог);
  • графическая среда и пакетный менеджер (apt, dnf).

Ubuntu, Debian, Fedora — дистрибутивы. Слово "Linux" в быту часто означает весь дистрибутив, хотя технически Linux — только ядро. Сравнение с Windows — в Сравнении Windows и Linux.

Первые версии

Линус работал над ядром очень плотно — по воспоминаниям, до 16 часов в день. Этапы разработки:

  1. Переключение между двумя задачами — одна программа выводила букву "A", другая "B"; ядро по очереди отдавало им процессор. Это проверка многозадачности.
  2. Поддержка диска, клавиатуры и мыши.
  3. Рост до системы, с которой можно работать в терминале и компилировать код.
ДатаСобытие
25 августа 1991Сообщение в новостную группу comp.os.minix в сети Usenet: "Я делаю бесплатную операционную систему. Просто хобби, ничего большого и профессионального…"
17 сентября 1991Вышел Linux 0.01 — около 10 000 строк кода. Система запускала терминал и компилятор GCC (GNU Compiler Collection).
Имя проектаЛинус хотел назвать систему Freax (от free, freak и Unix). Администратор FTP-сервера Ари Лемке положил архив в каталог linux — от Linus + Unix. Имя закрепилось.

FTP (File Transfer Protocol) — способ скачать файлы с удалённого сервера. В 1991 году через FTP распространялись исходники open source-проектов.

Патч — файл или письмо с описанием правок в коде. До Git изменения в ядро часто присылали именно патчами по электронной почте.

Лицензия GPL и открытая разработка

Код Linux выпустили под лицензией GPL (GNU General Public License). Её сформулировал Ричард Столлман в рамках проекта GNU. Смысл для разработчика:

  • можно свободно использовать, изучать и менять код;
  • если вы распространяете изменённую версию, исходники тоже должны оставаться доступными.

Тысячи программистов со всего мира начали присылать исправления и новые функции. Так сложилась модель открытого кода (open source) — продукт развивают тысячи независимых участников вместо одного вендора.


Спор с Таненбаум о монолитном ядре

В начале 1990-х Таненбаум опубликовал статью "Linux is obsolete" ("Linux устарел"). Его тезис: у Linux монолитное ядро — архитектурная ошибка, перспектива у микроядер.

ПодходСутьПримеры
Монолитное ядроБольшинство служб (память, файлы, сеть, драйверы) работают в одном адресном пространстве ядраLinux, классический Unix
МикроядроМинимальное ядро, остальные службы — отдельные процессы, общение через IPC (inter-process communication)MINIX, QNX; у Apple в основе macOS — Mach

Торвальдс отвечал, что монолит на реальном железе быстрее и проще в отладке — меньше переключений между процессами при каждом обращении к диску или сети.

Практика подтвердила успех Linux с подключаемыми модулями ядра (LKM — loadable kernel modules). Драйвер можно загрузить в ядро без пересборки всей системы. Микроядра остались в узких нишах (автомобили, телеком). Разбор архитектур — в Ядре ОС.

К 2006 году лично Торвальдс написал лишь около 2% строк в репозитории ядра. Остальное — вклад тысяч контрибьюторов. Линус по-прежнему главный архитектор: решает, какие изменения попадают в mainline — основную официальную ветку ядра, из которой собирают релизы.


Дистрибутивы, Tux и противостояние с Microsoft

Рост экосистемы GNU/Linux

К середине 1990-х появились первые дистрибутивы — готовые сборки ядра и программ:

  • Slackware, Debian и другие;
  • крупные компании (Oracle, IBM, HP) переносили серверный софт на Linux, чтобы не платить лицензии коммерческого Unix.
ГодСобытие
1996Торвальдс устроился в Transmeta, переехал в Калифорнию (США).
1996Появился талисман — пингвин Tux (Torvalds Unix).
2000-еGoogle создал Android на базе ядра Linux; Amazon и другие облака массово перешли на Linux-серверы.

Торвальдс не продавал лицензии на ядро — Linux остался бесплатным по GPL. Доход шёл от зарплаты, консалтинга и позже от работы в Linux Foundation — некоммерческой организации, координирующей стандарты и события вокруг Linux.

Реакция Microsoft

Долгое время Microsoft воспринимала Linux как конкурента на рынке серверов и десктопов.

  • CEO Стив Балмер в 2001 году назвал Linux "раком интеллектуальной собственности".
  • Билл Гейтс в интервью иронизировал, что на Linux нельзя запустить Windows Media Player.
  • Компания запускала рекламные кампании против open source и инициировала судебные иски.

Параллельно экосистема Windows развивалась по своей линии — см. Windows и историю ОС.


Git — когда патчей по почте стало слишком много

От патчей по почте к своей VCS

С ростом числа участников Линусу стало трудно вручную собирать патчи из писем. С 2002 года ядро Linux использовало BitKeeper — коммерческую распределённую систему контроля версий. Она позволяла:

  • делать локальные коммиты (сохранения снимка кода);
  • вести ветки;
  • сливать правки разных авторов.

В 2005 году компания-разработчик BitKeeper отозвала бесплатную лицензию для сообщества Linux (после попытки обратной разработки клиента). Торвальдс за примерно две недели написал Git.

Как устроен Git простыми словами

Git — распределённая система контроля версий (DVCS). У каждого разработчика на диске лежит полная копия истории со всеми прошлыми версиями файлов.

  • Коммит — зафиксированный снимок проекта с сообщением "что изменили".
  • Ветка — линия разработки; см. Ветвление в Git.
  • Хеш — "отпечаток" содержимого; Git проверяет целостность данных по хешам.

На базе Git выросли GitHub (куплен Microsoft в 2018), GitLab и привычный workflow с pull request — запросом на слияние чужих правок в общую ветку.

Хронология SCCS → CVS → SVN → BitKeeper → Git — в истории Git. Практика команд — в Как работать с Git.


Личность и роль сегодня

Торвальдс редко даёт интервью и не любит публичный хайп. В технических дискуссиях известен прямым стилем общения. На LinuxCon 2012 он публично раскритиковал Nvidia за задержку открытых драйверов видеокарт под Linux — без закрытых драйверов 3D-ускорение на Linux часто работало хуже, чем на Windows.

Сейчас он живёт в Портленде (штат Орегон, США), работает в Linux Foundation и координирует принятие патчей в ядро. См. Администрирование Linux для практики работы с системой, которую выросло это ядро.


Microsoft и Linux сегодня

Отношение Microsoft к Linux за два десятилетия сильно изменилось.

  • WSL (Windows Subsystem for Linux) — запуск Linux-утилит и дистрибутива внутри Windows. См. Bash и WSL.
  • Покупка GitHub (2018) — крупнейшая площадка Git-репозиториев.
  • Вклад Microsoft в open source-проекты и ядро Linux.

23 июня 2025 года Билл Гейтс и Линус Торвальдс впервые встретились лично за ужином — символическое завершение многолетнего публичного противостояния двух подходов к разработке ПО.


Частые вопросы

Linux — это вся операционная система?

В строгом смысле Linux — только ядро. Полная система на рабочем столе или сервере — дистрибутив (ядро + GNU-утилиты + службы + графика). Подробнее — в Linux.

Откуда взялось имя Linux вместо Freax?

Имя зафиксировал администратор FTP-сервера, куда Линус выложил первый архив.

Кто написал весь код Linux?

Тысячи разработчиков по всему миру. Торвальдс задаёт направление и принимает ключевые изменения в mainline.

Git и GitHub — одно и то же?

Git — программа на вашем ПК. GitHub — сайт для хранения и обсуждения репозиториев. См. раздел про Git.

Куда читать дальше