Перейти к основному содержимому

Операционная система — чек-лист

Разработчику Архитектору Инженеру
Загрузка вопросов…

Чек-лист самопроверки

  1. Что такое операционная система и какова её основная функция?
  2. Какие пять ключевых задач выполняет операционная система?
  3. Чем отличается режим ядра от пользовательского режима выполнения?
  4. Что такое системный вызов и как он работает?
  5. Какую роль играет загрузчик (bootloader) в процессе старта системы?
  6. Что происходит на этапе инициализации ядра после передачи управления от загрузчика?
  7. Какие основные компоненты входят в состав любой операционной системы?
  8. Что такое драйвер устройства и как он взаимодействует с ядром?
  9. Какую функцию выполняет диспетчер объектов в архитектуре ОС?
  10. Что такое аппаратная абстракция (HAL) и зачем она нужна?
  11. Какие три основные модели архитектуры ядра существуют?
  12. Какие преимущества имеет монолитное ядро перед микроядром?
  13. Какие преимущества имеет микроядро перед монолитным ядром?
  14. Почему ядро Linux считается монолитным, несмотря на поддержку модулей?
  15. Какие компоненты входят в гибридное ядро Windows NT?
  16. Из каких частей состоит ядро XNU в операционных системах Apple?
  17. Что такое микроядро и какие функции в нём выполняются в привилегированном режиме?
  18. Как работает механизм динамической загрузки модулей в ядре Linux?
  19. Что такое гипервизор и как он связан с архитектурой ядра?
  20. Какие современные технологии защиты реализованы на уровне ядра (приведите три примера)?
  21. Какие ограничения имеет файловая система FAT32?
  22. Чем отличается NTFS от FAT32 по функциональным возможностям?
  23. Что такое журналирование в файловых системах и зачем оно нужно?
  24. Какие преимущества предоставляет файловая система APFS для твердотельных накопителей?
  25. Что такое жёсткая ссылка и чем она отличается от символической ссылки?
  26. Как работает механизм монтирования файловых систем в Unix-подобных системах?
  27. Что такое виртуальная файловая система (VFS) и какую роль она играет в ядре Linux?
  28. Какие файловые системы поддерживают шифрование на уровне файловой системы?
  29. Что такое квоты дискового пространства и как они реализуются в ОС?
  30. Какие файловые системы оптимизированы для работы с большими объёмами мелких файлов?
  31. Что такое процесс и чем он отличается от потока выполнения?
  32. Как работает планировщик задач в современных операционных системах?
  33. Что такое контекст переключения и какие ресурсы при этом сохраняются?
  34. Как реализована виртуальная память в современных операционных системах?
  35. Что такое страничная адресация и как она работает?
  36. Что такое фрагментация памяти и как операционные системы с ней борются?
  37. Как работает механизм подкачки (paging/swapping) в управлении памятью?
  38. Что такое кэширование страниц и как оно повышает производительность?
  39. Какие виды блокировок памяти существуют (приведите три примера)?
  40. Что такое утечка памяти и как операционная система помогает её обнаружить?
  41. Какие уровни безопасности реализованы в операционных системах?
  42. Что такое песочница (sandbox) и как она изолирует приложения?
  43. Как работает механизм контроля доступа на основе списков (ACL)?
  44. Что такое мандатный контроль доступа (MAC) и чем он отличается от дискреционного (DAC)?
  45. Какие технологии защиты от эксплойтов реализованы в современных ОС (приведите три примера)?
  46. Что такое безопасная загрузка (Secure Boot) и как она работает?
  47. Как операционные системы защищают данные при хранении на диске?
  48. Что такое целостность системы и как она проверяется?
  49. Как работают механизмы аудита безопасности в операционных системах?
  50. Что такое руткит и как операционные системы защищаются от него?
  51. Какие уровни сетевого стека реализованы в операционных системах?
  52. Что такое сокет и как он используется для сетевого взаимодействия?
  53. Как операционная система управляет сетевыми интерфейсами и маршрутами?
  54. Что такое брандмауэр на уровне операционной системы и как он работает?
  55. Как реализована поддержка виртуальных сетевых интерфейсов в ОС?
  56. Что такое сетевая изоляция и как она достигается в контейнерах?
  57. Как операционные системы поддерживают работу с беспроводными сетями?
  58. Что такое проброс портов (port forwarding) и как он настраивается в ОС?
  59. Как работают механизмы качества обслуживания (QoS) на уровне ОС?
  60. Что такое сетевая файловая система и какие протоколы для неё используются?
  61. Как открыть диспетчер задач в Windows и какие сведения он предоставляет?
  62. Какие команды используются для мониторинга процессов в Linux (приведите три примера)?
  63. Как проверить использование дискового пространства в разных операционных системах?
  64. Как настроить автоматический запуск программы при старте системы в Windows и Linux?
  65. Какие инструменты используются для анализа сетевого трафика в ОС?
  66. Как выполнить резервное копирование системных файлов в разных ОС?
  67. Какие утилиты применяются для восстановления повреждённой файловой системы?
  68. Как настроить права доступа к файлу в Unix-подобных системах?
  69. Какие команды используются для работы с сетевыми настройками в терминале?
  70. Как проверить целостность системных файлов в Windows и Linux?
  71. Какие операционные системы используются в игровых консолях и чем они отличаются от десктопных?
  72. Что такое реального времени операционная система (RTOS) и где она применяется?
  73. Какие особенности имеют операционные системы для встраиваемых устройств?
  74. Что такое уникернел (unikernel) и для каких задач он предназначен?
  75. Какие российские операционные системы существуют и для каких сценариев они предназначены?
  76. Что такое джейлбрейк (jailbreak) и какие последствия он имеет для безопасности устройства?
  77. Какие операционные системы применяются в критически важных инфраструктурах?
  78. Что такое контейнерная операционная система и чем она отличается от традиционной?
  79. Какие операционные системы оптимизированы для работы с большими данными?
  80. Что такое гиперконвергентная инфраструктура и какую роль играет ОС в ней?

Блок "Определение, история, классификация"

  1. Какие две функции выполняет ОС — "виртуальная машина" и управление ресурсами? Приведите по одному примеру абстракции и ресурса. (см. Операционные системы)
  2. Что такое планирование и мониторинг ресурса в ОС? Чем отличаются критерии "пропускная способность" и "реактивность"?
  3. Сопоставьте четыре поколения ЭВМ (лампы → СБИС) с появлением пакетных систем, мультипрограммирования и персональных ОС. (см. История операционных систем)
  4. Чем вытесняющая многозадачность отличается от кооперативной? Где это проявилось в линейке Windows?
  5. Чем жёсткое RT отличается от мягкого? Назовите пример RTOS. (см. Классификация операционных систем)

Блок "Курс по операционным системам" (статьи 9–10, 5117–5121)

  1. Назовите три вехи в эволюции ОС — пакетная обработка, мультипрограммирование, time-sharing. (см. История операционных систем)
  2. Чем отличаются функциональные и нефункциональные требования к ОС? (см. Требования к ОС и подходы к реализации)
  3. В чём разница между монолитным, микро- и гибридным ядром?
  4. Чем отличаются алгоритмы FCFS, SJF и Round Robin по времени ожидания и отклику? (см. Планирование процессора — классические алгоритмы)
  5. Что такое квант времени в RR и к чему приводит слишком маленький квант?
  6. Как работает CFS в Linux в одном предложении (vruntime)?
  7. Что такое гонка данных и критическая секция? (см. Гонки, критические секции и разделяемая память)
  8. Чем мьютекс отличается от семафора-счётчика?
  9. Перечислите четыре условия Кофмана для deadlock. (см. Тупики (deadlock) и защита от них)
  10. Как упорядочивание захвата блокировок предотвращает тупик?
  11. Что такое DMA и зачем оно нужно? (см. Подсистема ввода-вывода в ОС)
  12. Чем блочное устройство отличается от символьного?
  13. Чем OPT лучше FIFO и почему OPT не реализуют в ОС? (см. Алгоритмы замещения страниц)
  14. Что такое thrashing и как его распознать по поведению системы?
  15. Что делает бит referenced (R) в записи таблицы страниц при алгоритме Clock?
  16. Чем дескриптор процесса (task_struct) отличается от файлового дескриптора? (см. Дескрипторы процессов в Linux)
  17. Какие файлы в /proc/PID/ чаще всего смотрят при диагностике процесса?
  18. Назовите основные этапы загрузки Linux от firmware до systemd. (см. Загрузка операционной системы Linux)

Блок "Требования и архитектуры ядра"

  1. Перечислите нефункциональные требования к ОС — расширяемость, переносимость, совместимость, надёжность, безопасность, производительность. (см. Требования к ОС и подходы к реализации)
  2. Что такое скрытый канал памяти и времени? Почему ACL их не отменяет?
  3. Назовите основные архитектуры ядра — монолитное, многоуровневое, микроядро, гибридное, виртуальная машина, экзоядро. (см. Ядро операционной системы)
  4. Чем модульное монолитное ядро отличается от микроядра по размещению драйверов?

Блок "Процессы, синхронизация, тупики"

  1. Чем программа отличается от процесса? Назовите три состояния процесса и две очереди (готовых и ожидающих). (см. Управление процессами в Linux)
  2. Чем контекст процесса отличается от дескриптора (PCB)?
  3. Чем вытесняющая многозадачность отличается от кооперативной? Что такое файбер в Windows?
  4. Опишите планировщик Windows — 32 базовых приоритета, очереди, Round Robin, классы процессов. (см. Планирование процессора — классические алгоритмы, Windows)
  5. Для чего нужны функции Interlocked, алгоритм Peterson и объекты mutex/семафор/event в Win32? (см. Гонки, критические секции и разделяемая память)
  6. Как устроен ограниченный буфер на трёх семафорах (empty, full, mutex)?
  7. Сформулируйте определение тупика и четыре условия Кофмана. Что такое граф Холта? (см. Тупики (deadlock) и защита от них)
  8. Назовите стратегии борьбы с тупиками — страус, предотвращение, банкир, обнаружение. Как WaitForMultipleObjects связан с hold-and-wait?

Блок "Управление памятью"

  1. Назовите три типа адресов в программе и два способа преобразования виртуального адреса в физический. (см. Механизмы распределения памяти в ОС)
  2. Чем фиксированные, динамические и перемещаемые разделы отличаются по фрагментации и использованию диска?
  3. Чем свопинг отличается от страничной подкачки?
  4. Опишите преобразование адреса при страничной организации (VPN → таблица → PFN + offset). (см. Механизмы распределения памяти в ОС)
  5. Как устроена двухуровневая таблица на x86_32 (CR3, 10+10+12 бит, биты P, R, D)? (см. Механизмы распределения памяти в ОС)
  6. Перечислите алгоритмы замещения — OPT, FIFO, NRU, Clock, LRU, aging, WSClock. (см. Алгоритмы замещения страниц)
  7. Что такое рабочий набор и thrashing?
  8. Какие три состояния страницы у VirtualAlloc (free, reserved, committed)? Как устроено VA 2 GiB / 3 GiB в 32-bit Windows? (см. Работа памяти в Windows)

Блок "Ввод-вывод и файловые системы"

  1. Опишите стек ПО ввода-вывода — прерывания, драйверы, буферизация, API, RTL. Чем опрос, прерывания и DMA отличаются по загрузке CPU? (см. Подсистема ввода-вывода в ОС)
  2. Назовите логические модели файла и физические способы размещения — непрерывно, связный список, FAT, i-node. Что такое MFT в NTFS? (см. Устройство файловой системы Windows, Подсистема ввода-вывода в ОС)

Блок "Windows 11 — практика"

  1. Чем Windows 11 отличается от Windows 10 в интерфейсе (Пуск, панель задач, Snap Layouts)? (см. Windows 11 — настройка и работа)
  2. Какие аппаратные требования добавила Windows 11 (TPM, Secure Boot, GPT)? (см. Windows 11 — настройка и работа, Системные требования и как их читать)
  3. Как вызвать среду восстановления WinRE и для чего нужны Startup Repair и System Restore? (см. Windows 11 — настройка и работа)
  4. Что делает Storage Sense и чем оптимизация SSD отличается от дефрагментации HDD? (см. Windows 11 — настройка и работа)
  5. Где в Edge включить блокировку трекеров и SmartScreen? (см. Windows 11 — настройка и работа, Движки браузеров и линейки продуктов)