
- •1. Определение ОС. Назначение и функции операционной системы. Место ОС в структуре вычислительной системы.
- •2. Области применения ОС: ОС мейнфреймов, серверные ОС, ОС многопроцессорных систем, персональных компьютеров, смартфонов и планшетов, встроенные ОС, ОС сенсорных узлов, смарт-карт, ОС для IoT устройств.
- •3. Понятие ресурса. Основные ресурсы вычислительной системы. Управление ресурсами.
- •4. Критерии эффективности и классы ОС.
- •5. Функциональные компоненты ОС персонального компьютера.
- •6. Понятие интерфейса прикладного программирования
- •7. Пользовательский интерфейс.
- •8. Системные вызовы.
- •9. Прерывания (понятие, классификация, обработка прерываний).
- •10. Обработка аппаратных прерываний.
- •11. Требования, предъявляемые к современным ОС.
- •12. Виртуализация. Гипервизор 1 и 2 типа. Контейнеры.
- •13. Классификации ОС
- •14. Архитектура ОС. Ядро и вспомогательные модули.
- •15. Классическая архитектура ОС. Монолитные и многослойные ОС.
- •16. Микроядерная архитектура ОС.
- •17. Процессы и потоки. Состояния потока.
- •18. Функции ОС по управлению процессами.
- •19. Планирование и диспетчеризация потоков, моменты перепланировки.
- •20. Кооперативная и вытесняющая многозадачность, достоинства и недостатки.
- •21. Алгоритм планирования, основанный на квантовании
- •22. Приоритетное планирование.
- •23. Алгоритмы планирования в ОС пакетной обработки: «первым пришел – первым обслужен», «кратчайшая задача – первая», «наименьшее оставшееся время выполнения».
- •24. Алгоритмы планирования в интерактивных ОС: циклическое, приоритетное, MLFQ.
- •25. Равномерные планировщики: гарантированное, лотерейное, справедливое планирование.
- •26. Планирование в многопроцессорных системах.
- •27. Планирование в системах реального времени.
- •28. Алгоритм планирования Windows NT.
- •29. Алгоритмы планирования Linux: О(1)
- •30. Алгоритмы планирования Linux: CFS
- •31. Планирование в ОС реального времени.
- •32. Межпроцессное взаимодействие (почему необходимы системные средства и в каких ситуациях применяются, примеры таких средств).
- •33. Синхронизация процессов и потоков: цели и средства синхронизации
- •34. Ситуация состязаний (гонки). Способы предотвращения.
- •35. Способы реализации взаимных исключений: блокирующие переменные, критические секции, семафоры.
- •36. Классические задачи синхронизации: «производители-потребители», «проблема обедающих философов», «проблема спящего брадобрея».
- •37. Взаимные блокировки. Условия, необходимые для возникновения тупика
- •38. Обнаружение взаимоблокировки при наличии одного ресурса каждого типа.
- •39. Обнаружение взаимоблокировки при наличии нескольких экземпляров ресурса каждого типа.
- •40. Предотвращение взаимоблокировки. Алгоритм банкира для одного вида ресурсов.
- •41. Предотвращение взаимоблокировки. Алгоритм банкира для нескольких видов ресурсов.
- •42. Синхронизирующие объекты ОС: системные семафоры, мьютексы, события, сигналы, барьеры, ждущие таймеры.
- •43. Организация обмена данными между процессами (каналы, разделяемая память, почтовые ящики, сокеты).
- •44. Функции ОС по управлению памятью.
- •45. Алгоритмы распределения памяти без использования внешних носителей (одиночное непрерывное распределение, фиксированные, динамические, перемещаемые разделы).
- •46. Понятие виртуальной памяти.
- •47. Страничное распределение памяти.
- •48. Таблицы страниц для больших объемов памяти.
- •49. Алгоритмы замещения страниц.
- •50. Сегментное распределение памяти.
- •51. Сегментно-страничное распределение памяти.
- •52. Кеш-память (понятие, принцип действия кеш-памяти).
- •53. Случайное отображение основной памяти на кеш.
- •54. Детерминированное отображение основной памяти на кеш.
- •55. Комбинированный способ отображения основной памяти на кеш.
- •56. Задачи ОС по управлению файлами и устройствами.
- •57. Многослойная модель подсистемы ввода-вывода.
- •58. Физическая организация диска. HDD, SSD устройства.
- •59. Файловая система. Определение, состав, типы файлов. Логическая организация файловой системы.
- •60. Физическая организация и адресация файлов.
- •61. FAT. Структура тома. Формат записи каталога. FAT12, FAT16, FAT32, exFAT.
- •62. ext2, ext3, ext4: структура тома, адресация файлов, каталоги, индексные дескрипторы.
- •63. NTFS: структура тома, типы файлов, организация каталогов.
- •64. Файловые операции. Процедура открытия файла.
- •65. Организация контроля доступа к файлам.
- •66. Отказоустойчивость файловых систем.
- •67. Процедура самовосстановления NTFS.
- •68. Избыточные дисковые подсистемы RAID.
- •69. Многоуровневые драйверы.
- •70. Дисковый кеш. Ускорение выполнения дисковых операций: традиционный дисковый кеш, кеш на основе механизма виртуальной памяти.
внешнего устройства — контроллера прерываний (например, PIC или APIC), и передаёт управление соответствующей процедуре обработки. После завершения обработки выполняется команда IRET (Interrupt Return), которая восстанавливает флаги и возвращает выполнение туда, где оно было прервано. Для маскируемых прерываний зарезервированы номера обработчиков от 32 до 255. Контроллер прерываний сопоставляет внешние сигналы от устройств (например, IRQ — Interrupt Request) с этими номерами.
Немаскируемые прерывания (NMI — Non Maskable Interrupt) поступают по отдельному сигналу NMI и не зависят от значения флага IF — то есть они всегда срабатывают, даже если маскируемые прерывания запрещены. Они предназначены для очень важных ситуаций, например, при сбоях питания или других критических ошибках. При срабатывании NMI процессор всегда передаёт управление обработчику с номером 2 в таблице прерываний. Во время обработки NMI ни маскируемые, ни другие немаскируемые прерывания не принимаются. Если во время этой обработки приходит ещё один сигнал NMI, он фиксируется и обрабатывается только после завершения текущей обработки, то есть после выполнения команды IRET.
Если одновременно поступают несколько прерываний, то процессор сначала обрабатывает немаскируемые, потому что они имеют высший приоритет. Приоритет между маскируемыми прерываниями определяет контроллер прерываний, потому что процессор получает их по одному общему сигналу INTR и сам не может различать, от какого устройства пришёл запрос.
11. Требования, предъявляемые к современным ОС.
Главное требование - выполнение основных функций эффективного управления ресурсами и обеспечение удобного интерфейса для пользователя и прикладных программ.

6 - Расширяемость, систему можно было легко наращивать и модифицировать по мере изменения потребностей рынка. Сохранение целостности кода, какие
бы изменения не вносились в операционную систему, является главной целью. Расширяемость достигается за счет модульной структуры ОС и использования объектов для представления системных ресурсов.
7 - Переносимость дает возможность перемещать всю систему на машину, базирующуюся на другом процессоре или аппаратной платформе, делая при этом по возможности минимальные изменения в коде.
8 - Совместимость - способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной операционной системы, а также для другой аппаратной платформы. Различают двоичную совместимость и сов. на уровне исходного кода. Для последней хватит лишь совместимости на уровне системных вызовов и наличия нужного компилятора. Используется эмуляция и виртуальные машины.
12. Виртуализация. Гипервизор 1 и 2 типа. Контейнеры.
Виртуализация представляет собой организацию вычислительного процесса, при которой на одном компьютере одновременно выполняются несколько копий одной или нескольких различных операционных систем. Каждая из этих ОС функционирует так, как если бы она работала на отдельном компьютере.
Виртуальная машина — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы* и исполняющая программы для нее

на host-платформе ** или виртуализирующая некоторую платформу и создающая на ней среды, изолирующие друг от друга программы и даже операционные системы.
Основная идея виртуализации заключается в том, что монитор виртуальных машин (Virtual Machine Monitor, VMM) создает иллюзию наличия нескольких виртуальных машин на одном и том же физическом оборудовании. VMM также известен как
гипервизор.
Гипервизор первого типа (автономный гипервизор) запускается на аппаратном обеспечении хоста, управляет оборудованием и виртуальными машинами. Этот гипервизор похож на ОС, поскольку это единственная программа, запущенная в самом привилегированном режиме.
К гипервизорам первого типа относятся:
•VMware ESX / ESXi
•Microsoft Hyper-V
•Xen
•Oracle VM Server для SPARC
•Oracle VM Server для архитектуры x86
Гипервизор второго типа (хостовый гипервизор) запускается как процесс в пользовательском режиме. Он разделяет ОС машины хоста и ОС гостевой машины, а гостевая ОС представлена обычным процессом хоста.
К этому типу гипервизоров относятся:
• VMware Workstation

•VMware Player
•VirtualBox
•Parallels Desktop для Mac.
Контейнеризация – это легковесная виртуализация и изоляция ресурсов на уровне операционной системы, которая позволяет запускать приложение и необходимый ему минимум системных библиотек в полностью стандартизованном контейнере при помощи определенных интерфейсов. Контейнер не зависит от ресурсов или архитектуры хоста, на котором он работает. Все компоненты,
необходимые для запуска приложения, упаковываются как один образ и могут быть
использованы повторно. Приложение в контейнере работает в изолированной среде и не использует память, процессор или диск хостовой операционной системы. Это гарантирует изолированность процессов внутри контейнера.
Преимущества контейнеризации
•Скорость создания и экономичность: Контейнер занимает меньше места в хранилище, что позволяет быстро развертывать приложения.
•Высокая производительность разработки: Отсутствие межсетевых зависимостей и конфликтов. Каждый контейнер представляет собой микросервис, который можно независимо обновлять, что ускоряет процесс разработки и тестирования.
•Управление версиями: Возможность мониторинга версионности контейнеров и
отслеживания различий между ними, что упрощает управление изменениями.
•Миграция среды вычислений: Легкость переноса контейнеров между различными средами, что позволяет быстро адаптироваться к изменениям в инфраструктуре.