Линус Торвальдс — ядро Linux и Git
★ Линус Бенедикт Торвальдс (род. 28 декабря 1969, Хельсинки) — финский программист, автор ядра Linux (1991) и Git (2005). Оба проекта развиваются сообществом и не принадлежат одной компании. Ядро Linux лицензировано под GPL; Git — под GPL v2.
Смежные материалы:
- История операционных систем — Unix, GNU, MINIX, Android;
- Linux — дистрибутивы, systemd, FHS;
- Ядро операционной системы — монолит, микроядро, модули;
- Система контроля версий Git — история VCS и устройство Git;
- Великие люди — карточка в галерее IT-фигур.
Где встречаются 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 часов в день. Этапы разработки:
- Переключение между двумя задачами — одна программа выводила букву "A", другая "B"; ядро по очереди отдавало им процессор. Это проверка многозадачности.
- Поддержка диска, клавиатуры и мыши.
- Рост до системы, с которой можно работать в терминале и компилировать код.
| Дата | Событие |
|---|---|
| 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.
Куда читать дальше
- Linux — устройство платформы сегодня;
- История операционных систем — полная хронология;
- Основы UNIX — философия "всё — файл", shell, права;
- Основы работы с Git — установка и ежедневные команды;
- Сравнение Windows и Linux — если приходите с Windows;
- Великие люди — Столлман, Таненбаум, Томпсон и другие фигуры той же эпохи.