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

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

Операционная система: обзор

средний

Граница между приложением и ОС, системные вызовы, драйверы, популярные семейства операционных систем и их архитектурные ограничения.

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

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

В интервью и архитектурных обсуждениях она даёт понятный язык для объяснения сбоев и деградации через реальные механизмы ОС, а не через расплывчатое «что-то тормозит на хосте».

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

Граница ядра

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

Стоимость системных вызовов

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

Изоляция ресурсов

Учит проектировать сервисы с учётом ограничений по процессору и памяти и поведения процессов при перегрузке.

Ясность на интервью

Даёт сильный язык для объяснения, почему архитектурная проблема на самом деле системная.

Источник

Operating system

Роль операционных систем, ключевые функции и основные семейства ОС.

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

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

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

Полезно также различать, что даёт , как повлияло на Darwin, почему , и формируют модель безопасности, и чем отличается от обычной серверной ОС, когда важны жёсткие требования ко времени реакции.

Что делает операционная система

  • Распределяет процессорное время между процессами и потоками.
  • Управляет памятью, адресными пространствами и доступом к страницам.
  • Организует файловые системы, ввод-вывод и буферизацию.
  • Координирует работу устройств через драйверы и прерывания.
  • Поддерживает сетевой стек, изоляцию и базовую модель безопасности.

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

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

Как работа пересекает границу системного вызова

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

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

ПриложенияБиблиотекиСреды выполнения
Граница системного вызова

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

ПланировщикУправление памятьюФайловые системыСетевой стек

Драйверы устройств

Драйверы переводят запросы операционной системы в команды железа.

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

CPU, RAM, диски, сеть и периферия.

Текущий шаг

Нажмите «Старт», чтобы пройти путь программы от пользовательского кода до устройства и обратно.

Как программа проходит путь от запуска до устройства

Путь выполнения программы

  • Загрузка исполняемого файла и создание процесса.
  • Подготовка адресного пространства и выделение страниц памяти.
  • Передача процессу кванта CPU и выполнение пользовательского кода.
  • Переход в ядро через системный вызов, когда нужен доступ к памяти, устройству или сети.
  • Возврат результата в приложение после работы драйвера или обработки прерывания.

Что делает драйвер

  • Драйвер принимает запрос от ядра: например, запись блока на диск или отправку сетевого пакета.
  • Преобразует универсальный запрос ОС в команды контроллера конкретного устройства.
  • Получает сигнал о завершении через прерывание и сообщает ядру, что операция завершилась.

Распространённые операционные системы и их архитектурные акценты

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

Android: мобильная ОС

Архитектура Android, ограничения мобильной среды и практические паттерны клиентских приложений.

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

Android

Смартфоны, планшеты, Android TV и часть встраиваемых устройств.

Архитектурный акцент: Ядро Linux, Binder как основной механизм межпроцессного взаимодействия, ART как среда выполнения и изоляция приложений по UID.

  • Жёстко регулирует фоновую активность и энергопотребление.
  • Качество клиентского опыта сильно зависит от сетевых API, кэша и локального хранения.
  • Фрагментация устройств и версий ОС влияет на тестирование и совместимость.

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

Связанная книга

Modern Operating Systems (short summary)

Фундаментальные механизмы ОС: процессы, память, ввод-вывод, виртуализация и безопасность.

Читать обзор

Windows

Настольные ПК, корпоративные рабочие станции, игры и офисные среды.

Архитектурный акцент: Линейка Windows NT: гибридное ядро, развитая драйверная модель и глубокая корпоративная интеграция.

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

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

iOS / iPadOS

Мобильные устройства Apple и планшеты.

Архитектурный акцент: XNU (Darwin): ядро Apple со строгой изоляцией приложений, подписью кода и разрешительной моделью доступа.

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

Для системного дизайна: При проектировании клиент-серверных функций важны ограниченные фоновые окна, экономия батареи и аккуратная работа с синхронизацией.

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

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

История UNIX-линейки и её влияние на Linux, BSD, Darwin и современную инфраструктуру.

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

macOS

Компьютеры Apple, разработка, творческие и инженерные рабочие станции.

Архитектурный акцент: Darwin/XNU, UNIX-совместимая среда и тесная связка с экосистемой Apple.

  • UNIX-подобная модель хорошо подходит для инженерных инструментов и автоматизации.
  • Глубоко связывает настольные приложения, безопасность и аппаратные возможности.
  • Часто выступает основной рабочей платформой для серверной, фронтенд- и мобильной разработки.

Для системного дизайна: Для команд разработки это важная среда, где ценятся воспроизводимые локальные окружения и надёжная автоматизация.

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

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

Почему Linux стал стандартом для серверов и как его архитектура влияет на системный дизайн.

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

Linux

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

Архитектурный акцент: Монолитное ядро с модулями, пространства имён, группы управления ресурсами и богатый стек сетевых и системных инструментов.

  • Доминирует в серверной, облачной и контейнерной инфраструктуре.
  • Гибко настраивается под разные профили нагрузки и аппаратные платформы.
  • Предлагает широкий выбор дистрибутивов и моделей сопровождения.

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

Embedded / Real-time OS

Встроенные системы, промышленность, автомобилестроение и критичные устройства.

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

  • Приоритетом становится не максимальная пропускная способность, а гарантированное время реакции.
  • Часто работают на ограниченных CPU и памяти, а также на специальных контроллерах.
  • Примеры: QNX, VxWorks, RIOT, TinyOS и Zephyr.

Для системного дизайна: Критичны для edge- и IoT-сценариев, где архитектура строится вокруг жёстких требований ко времени реакции и отказобезопасности.

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

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

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

  • Почему фундаментальные знания важны - даёт общий контекст, почему ограничения операционной системы влияют на архитектуру сервисов.
  • Modern Operating Systems (short summary) - углубляет тему механизмами планирования, памяти, файловых систем и безопасности операционной системы.
  • Linux: серверная платформа - показывает, как базовые принципы операционной системы проявляются в реальной серверной инфраструктуре.
  • Виртуализация: гипервизоры и VM - расширяет тему изоляции и управления ресурсами на уровне гипервизора.
  • Контейнеризация - связывает пространства имён и контроль ресурсов с современной платформенной инженерией.
  • RAM и хранилище - дополняет тему операционной системы иерархией памяти, страничным кэшем и реальной ценой доступа к хранилищу.
  • Structured Computer Organization (short summary) - даёт аппаратную базу, без которой трудно объяснять границы и возможности операционной системы.

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