==== Экзамен ==== Ориентировочная дата экзамена -- 13 мая (вторник). Экзамен проходит в аудитории 607. Сдача необязательного задания (модуль ядра) освобождает от сдачи экзамена. Студенты, посетившие не менее 7 лекций, имеют право получить оценку "удовлетворительно" без сдачи экзамена. ==== Вопросы к экзамену ==== - Операционная Система (ОС). Задачи ОС. Многопользовательская ОС. Требования к аппаратному обеспечению для реализации многопользовательской ОС. - Монолитные и немонолитные ядра. Микроядра. Выбор между модулем ядра и пользовательским процессом. - Связь ОС и ядра ОС. Модули ядра. Программирование в режиме ядра. - Адресное пространство (АП). АП процесса. Регионы памяти (virtual memory area). - Режим пользователя и режим ядра. Обработка запросов пользователя ядром. Исключения. Системные вызовы. - Проблема параллельного доступа к данным. Атомарные переменные. Read-Copy-Update (RCU). Выбор синхронизационного примитива. - Проблема параллельного доступа к данным. Мьютексы. Спинлоки. Seqlock. Выбор синхронизационного примитива. - Контекст исполнения. Контекст аппаратного прерывания, отложенного прерывания. - Контекст процесса, потока ядра. Состояние процесса с т.з. планировщика. - Обработка файловых системных вызовов. Основные структуры данных. - Специальные файловые системы. - Драйверы в модульном ядре. Загрузка модулей ядра. - Основные шаги загрузки ОС. Boot loader. Процесс init. Initrd.