System Design Space

    Глава 66

    Обновлено: 9 февраля 2026 г. в 20:31

    Modern Operating Systems (short summary)

    Прогресс части0/20

    Официальная страница

    Modern Operating Systems

    Страница книги на Pearson.

    Открыть

    Modern Operating Systems

    Авторы: Andrew S. Tanenbaum, Herbert Bos
    Издательство: Pearson, 2023 (5th Edition)
    Объём: ~1136 страниц

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

    Modern Operating Systems — оригинальная обложкаОригинал

    Ключевые темы

    Процессы и планирование

    Контекст‑свитчи, CPU scheduling, приоритеты и многозадачность.

    Память и виртуализация

    Paging, сегментация, виртуальная память, адресные пространства.

    Файловые системы

    Дизайн, кеширование, метаданные, надёжность.

    Параллелизм

    Потоки, синхронизация, deadlocks и race conditions.

    Безопасность

    Модели доступа, изоляция, привилегии и атаки.

    Системные сервисы

    Драйверы, IPC, системные вызовы и управление ресурсами.

    Архитектурные столпы ОС

    Scheduling

    Как ОС распределяет CPU между потоками и процессами.

    Memory

    Виртуальная память, страницы, кеши и управление адресами.

    I/O

    Файловые системы, диски, драйверы и буферизация.

    Isolation

    Пользователи, права, sandbox и безопасность.

    Путь системного вызова

    User space

    Приложение вызывает системную функцию.

    Kernel boundary

    Переход через syscall, проверка прав и контекста.

    Kernel subsystems

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

    I/O + devices

    Доступ к диску/сети и возврат ответа.

    OS-метрики в проде

    Load AverageCPU pressure
    Context switchesscheduling
    Page faultsmemory
    I/O waitstorage
    Эти метрики напрямую объясняют, почему сервисы иногда «тормозят» при внешне нормальных ресурсах.

    Что полезно вынести в system design

    • Понимание очередей на уровне ОС и их влияния на latency.
    • Знание виртуальной памяти помогает объяснить spikes и OOM.
    • Осознание роли файловых систем важно для storage-компонентов.
    • Границы user/kernel space дают корректную модель отказов.

    Зачем это System Design инженеру

    • Понимание процессов и потоков помогает проектировать конкурентные сервисы.
    • Знание виртуальной памяти и кешей объясняет latency и spikes.
    • Понимание файловых систем полезно при проектировании storage‑компонентов.
    • Понимание границ user/kernel полезно для оценки безопасности и изоляции.

    Кому подойдёт

    Тем, кто хочет укрепить фундамент: backend инженерам, SRE, системным разработчикам и всем, кто работает с инфраструктурой и performance‑критичными системами.