Список вопросов.
Операционная система как виртуальная машина и как система управления ресурсами. Задачи операционной системы.
Прерывания. Системные вызовы.
Архитектуры операционных систем: монолитное ядро, многоуровневые системы, микроядро.
Понятие процесса. Контекст процесса. Переключение процессов. Состояния процессов и возможные переходы между ними.
Планирование процессов. Требования к алгоритмам планирования, необходимые свойства алгоритмов планирования. Вытесняющее и невытесняющее планирование.
Понятие потока. Реализация потоков в пространстве пользователя и в ядре.
Синхронные и асинхронные функции. Методы уведомления о завершении работы асинхронной функции. Основные операции с потоками в .NET Framework: создание потоков, функции Sleep, Join, Abort.
Состояние состязания процессов. Пример: работа двух потоков с очередью в разделяемой памяти.
Критическая секция. Методы взаимного исключения: запрещение прерываний, алгоритм Петерсона. Спин-блокировка. Проблема инверсии приоритета.
Примитивы межпроцессного взаимодействия. Семафор. Мьютекс.
Выгружаемые и невыгружаемые ресурсы. Понятие взаимоблокировки. Условия взаимоблокировки.
Задача управления памятью. Классификация схем управления памятью. Управление памятью: многозадачность с фиксированными разделами без подкачки на диск.
Задача управления памятью. Управление памятью: многозадачность с подкачкой процессов целиком. Проблема фрагментации.
Проблема настройки адресов. Концепция виртуальной памяти.
Страничная модель управления памятью: механизм преобразования адресов. Структура элемента таблицы страниц.
Страничная модель управления памятью: многоуровневые таблицы страниц, буферы быстрого преобразования адресов, инвертированные таблицы страниц.
Многопроцессорные системы: классификация архитектур и типы мультипроцессорных операционных систем.
Подсистема ввода-вывода: проблемы организации параллельной работы устройств ввода-вывода и процессора. Контроллеры устройств, буферы устройств, контроллер DMA.
Подсистема ввода-вывода: задача согласования скоростей обмена данными. Буферизация и кэширование.
Подсистема ввода-вывода: драйверы устройств. Блочные и символьные устройства.
Логическая организация файловых систем.
Физическая организация файловых систем.