Глава XI. Современность
Unix в эпоху облаков
Если оглянуться на состояние вычислительной техники в середине 2020-х, то картина очевидна: Unix (в форме Linux) стал доминирующей серверной платформой. Облачные провайдеры — AWS, Google Cloud, Microsoft Azure — построены на Linux. Google обрабатывает миллиарды запросов в день на Linux-кластерах. Facebook, Twitter, Netflix, Airbnb, Spotify — все они работают на Linux.
Почему именно Linux? Ответ в цене, гибкости и экосистеме. Лицензия GPL позволяет брать код, модифицировать и использовать коммерчески. Отсутствие лицензионных отчислений снижает стоимость владения до нуля. Тысячи разработчиков по всему миру создают патчи и улучшения, и облачные компании активно участвуют в разработке ядра — это не благотворительность, а прагматика: чем лучше ядро, тем меньше денег уходит на железо и инженеров.
Интересный момент: современный дата-центр — это даже не столько Unix на каждом сервере, сколько Unix как платформа для оркестрации. Kubernetes, Docker, Terraform, Ansible — все эти инструменты созданы в парадигме Unix, даже если их пользователи не открывают терминал.
Linux доминирует на серверах и мобильных устройствах
По данным 2025 года, Linux занимает около 96% в сегменте публичных облачных серверов. На суперкомпьютерах — 100% (все системы TOP500 работают на Linux). Но самый массовый фронт — это мобильные устройства.
Android, основанный на ядре Linux, является самой распространённой операционной системой в мире. Более 3 миллиардов активных устройств — это больше, чем Windows, macOS, iOS и Chrome OS вместе взятые. Инженеры Google модифицировали ядро под мобильные устройства: добавили энергоэффективные драйверы, механизмы управления памятью для мобильных чипов, изолировали драйверы через HAL (Hardware Abstraction Layer). Но фундамент остался тем же: управление процессами, виртуальная память, IPC, файловые системы — всё это классический Unix.
Контейнеры: возвращение chroot
Контейнеризация — возможно, самое значительное изменение в развёртывании приложений за последние 20 лет. Идея контейнеров — изолировать процесс и его файловую систему от остальной системы — восходит к Unix-концепции chroot, созданной в 1979 году. chroot меняет корневой каталог для процесса, изолируя его от остальной файловой системы.
FreeBSD Jail (2000) и Solaris Zones (2004) развили эту концепцию. Но настоящий прорыв случился в 2013 году с появлением Docker. Docker добавил простоту использования: образы, реестры, Dockerfile. Под капотом Docker — Linux namespaces (изоляция процессов, файловой системы, сети, пользователей) и cgroups (ограничение ресурсов — CPU, память, I/O). Всё это есть в ядре Linux начиная с версии 2.6.24 (2008).
Ирония судьбы: контейнеры, которые сегодня ассоциируются с "современной DevOps-культурой", — это на самом деле возвращение к старой доброй Unix-идее: изоляция процессов. Doug McIlroy, один из создателей Unix pipes, наверняка одобрил бы такой подход.
WSL: Linux внутри Windows
Microsoft, десятилетиями воевавшая с открытым кодом и особенно с Linux, в 2016 году выпустила Windows Subsystem for Linux (WSL). Первая версия была прослойкой, транслирующей системные вызовы Linux в Windows NT. Вторая версия (WSL2, 2019) содержит полноценное ядро Linux, работающее в урезанной виртуальной машине Hyper-V.
Фактически, это признание: Microsoft сдалась. Разработчики хотят работать в Unix-среде. Вместо того чтобы бороться с этим, Microsoft решила дать им Linux внутри Windows. WSL позволяет запускать bash, утилиты GNU, Docker и даже GUI-приложения Linux на Windows. Символический момент: Microsoft стала одним из крупнейших контрибьюторов в ядро Linux.
Философия Unix в современных инструментах
Несмотря на все изменения, фундаментальные принципы Unix остаются актуальными. Современные DevOps-инструменты — это воплощение Unix philosophy:
- Docker: один процесс на контейнер ("do one thing well").
- Kubernetes: декларативное описание желаемого состояния (KISS через YAML).
- Terraform: инфраструктура как код (текст как универсальный интерфейс).
- Prometheus: простые текстовые метрики, собираемые по HTTP.
- jq: как grep, только для JSON.
Даже новые языки программирования наследуют Unix: Go (создан в Google для системного программирования, компилируется в статический бинарник), Rust (безопасность памяти с минимальными накладными расходами), Zig (замена C с лучшей переносимостью).
Заключение
Unix живёт. Он не просто сохранился — он стал фундаментом современной цифровой инфраструктуры. Когда вы запускаете контейнер, работаете в облаке или просто пишете однострочник на bash — вы используете идеи, заложенные в 1970 году. Unix изменил масштаб, но не изменил суть.
Комментарии
Комментарии пока не подключены.