System Design Space
Граф знанийНастройки

Обновлено: 17 апреля 2026 г. в 23:17

Linux: серверная платформа

средний

Почему Linux стал серверной платформой по умолчанию, как устроены его ключевые слои и почему это важно для системного дизайна.

Глава про Linux важна не потому, что это просто популярная операционная система, а потому, что именно на ней живёт большая часть серверной и контейнерной инфраструктуры.

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

В интервью и архитектурных обсуждениях это помогает говорить не только про код, но и про то, как сервис ведёт себя на реальном Linux-хосте.

Практическая польза главы

Платформенная база

Помогает понимать Linux как стандартную серверную платформу для бэкенда и облачной инфраструктуры.

Предсказуемость эксплуатации

Учит учитывать файловую систему, сетевой стек и модель процессов при проектировании сервисов.

Диагностика инцидентов

Связывает архитектуру приложения с наблюдаемыми системными симптомами на хосте.

Практичность на интервью

На интервью помогает говорить не только про код, но и про то, как сервис ведёт себя на реальной платформе.

Источник

Linux

Описание Linux, его архитектуры, распространённости и сценариев применения.

Перейти на сайт

Linux стал стандартной серверной платформой не потому, что это просто “популярная ОС”, а потому, что он даёт предсказуемую модель процессов, памяти, сети и изоляции, на которой удобно строить сервисы.

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

Именно здесь становятся видны цена , особенности , влияние и , роль и то, как и на базе опираются на , и инженерную культуру .

Как устроен Linux

Аппаратная база

Процессор, память, диски, сеть и контроллеры устройств, с которыми работает ядро.

Ядро Linux

Планирование процессов, управление памятью, файловыми системами, сетью, драйверами и безопасностью.

Системные библиотеки и утилиты

Стандартные API, загрузчик и пользовательские инструменты, через которые программы обращаются к возможностям системы.

Пользовательское пространство

Сервисы, демоны, контейнеры, командные оболочки и прикладные процессы.

Пользовательский режим

Пользовательское пространство

Приложения и сервисы

Приложения и оболочки

  • Командные оболочки (bash)
  • Браузеры и офисные приложения
  • Мультимедиа и служебные инструменты

Системные службы

  • Инициализация (systemd/OpenRC)
  • Системные демоны (sshd/udevd)

Графическая подсистема

  • X11/Wayland/SurfaceFlinger
  • Mesa и драйверы графики

Библиотеки и среды выполнения

  • glibc/musl/bionic
  • GTK/Qt/SDL и другие UI-библиотеки
Граница системного вызова

Режим ядра

Пространство ядра

Ядро и драйверы

Интерфейс системных вызовов

  • Системные вызовы (open/read/write)
  • POSIX-совместимые API

Подсистемы ядра

  • Планирование процессов
  • Память и виртуальные адресные пространства
  • Межпроцессное взаимодействие, виртуальная файловая система и сеть

Драйверы и модули

  • Драйверы устройств
  • Подгружаемые модули ядра

Модули безопасности

  • SELinux
  • AppArmor
  • TOMOYO
Оборудование

Оборудование

Аппаратный уровень

CPURAMДиски и хранилищеСеть и периферия

Связанная глава

Модель OSI

Показывает, как запрос проходит по уровням сети и где Linux-стек обрабатывает трафик.

Открыть главу

Как сетевой запрос проходит через Linux

Запрос стартует в приложении, пересекает границу системного вызова, проходит через сетевой стек и возвращается обратно уже с ответом от удалённого узла.

Как запрос проходит через Linux

Пример: curl -> ядро -> сеть -> ядро -> curl

Пользовательское пространство

curllibcTLS/HTTP-клиент
Граница системного вызова

Режим ядра

системные вызовыTCP/IPмаршрутизациябуферы
Драйвер

Сетевой драйвер

сетевой драйверпрерывания
Сетевое оборудование

Оборудование / сеть

сетевая картабеспроводная сетькоммутатор/маршрутизатор

Активный шаг

Нажмите «Старт», чтобы пройти всю цепочку.

Ключевые возможности Linux

  • Гибко управляет процессами, памятью и доступом к устройствам.
  • Даёт зрелый сетевой стек и большую глубину настройки.
  • Поддерживает изоляцию процессов и ресурсов, на которой строятся контейнеры.
  • Работает в очень разных профилях: от встроенных устройств до крупных кластеров.
  • Имеет широкую экосистему инструментов сопровождения и автоматизации.

Связанная документалка

UNIX и Linux: эволюция платформ

Исторический контекст: как эволюция Unix-подходов привела к массовому распространению Linux.

Смотреть разбор

Почему Linux стал стандартной серверной платформой

Открытый исходный код упростил распространение, аудит и адаптацию под разные среды.

Linux предсказуемо работает под серверной нагрузкой и хорошо поддерживается дистрибутивами.

Подходит и для облака, и для выделенных серверов, и для специализированного оборудования.

Стал естественной базой для контейнеров, платформенной автоматизации и облачных сервисов.

Вокруг Linux вырос зрелый стек инженерных практик: от упаковки приложений до наблюдаемости.

Почему Linux важен для системного дизайна

  • Большинство серверных сервисов работают на Linux, поэтому поведение процессов, памяти и сети нельзя выносить за скобки архитектуры.
  • Именно Linux-слой часто определяет, где система упрётся в задержку, пропускную способность и стоимость ввода-вывода.
  • Контейнеры, оркестрация и значительная часть платформенной автоматизации опираются на механизмы ядра Linux.
  • Понимание Linux помогает быстрее разбирать инциденты и связывать симптомы приложения с реальным состоянием хоста.

Практический вывод

Linux полезно изучать не как набор команд, а как рабочую среду сервиса. Когда вы понимаете, как приложение упирается в ядро, сетевой стек, файловую систему и механизмы изоляции, архитектурные решения становятся измеримыми, а инциденты - объяснимыми.

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки