• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
2024/2025

Конструирование ядра операционных систем

Статус: Маго-лего
Когда читается: 3, 4 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 6

Программа дисциплины

Аннотация

Курс "Конструирование ядра операционных систем" посвящен изучению основных принципов внутреннего устройства ядра операционной системы, механизмов аппаратной поддержки работы ядра, а также получению навыков проектирования и программирования компонентов ядра операционной системы и отладки программ в привилегированном режиме работы процессора. Курс предназначен для будущих специалистов в области системного программирования и разработке систем параллельного и распределенного программирования.
Цель освоения дисциплины

Цель освоения дисциплины

  • Целью освоения дисциплины является изучение основных принципов внутреннего устройства ядра операционной системы, механизмов аппаратной поддержки работы ядра, а также получение навыков проектирования и программирования компонентов ядра операционной системы и отладки программ в привилегированном режиме работы процессора.
Планируемые результаты обучения

Планируемые результаты обучения

  • Иметь представление о том, что включает в себя ОС
  • Уметь реализовывать алгоритмы основных системные вызовы
  • Уметь реализовывать виртуальную память
  • Уметь реализовывать механизмы синхронизации процессов
  • Уметь реализовывать создание процессов и средства межпроцессного взаимодействия
  • Уметь реализовывать управление прерываниями
  • Уметь реализовывать управление прерываниями и планирование процессов
  • Уметь реализовывать управление процессами в ОС
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение. Карта физической памя-ти x86. Процесс загрузки и иници-ализации PC. BIOS, инициализа-ция основных устройств. Загрузчик JOS. Загрузка ядра.
  • Устройство ядра JOS. Отладка кода ядра JOS. Компиляция первой соб-ственной функции, вывод строк на консоль.
  • Описатели процессов в JOS. Создание процессов в JOS, загрузка приложений в память из бинарных секций образа ядра. Переключение контекстов. Кооперативное разделение времени. Примитивный планировщик FIFO без приоритетов.
  • Прерывания в x86. Инициализация IDT. Обработка прерываний таймера. Вытесняющее разделение времени. Примитивный планировщик Round Robin без приоритетов.
  • Обработка вложенных прерываний в x86. Средства синхронизации, состояние гонок, деадлоки. Запрет прерываний, семафоры.
  • Управление распределением физических страниц. Виртуальная память. Сегментная и страничная трансляция. Таблицы трансляции.
  • Переключение между режимами работы процессора. Прерывания и системные вызовы. Вложенные прерывания. Изменения в создании процессов, переключении между контекстами. Передача данных между программой и ядром.
  • Управление процессами. Системный вызов fork(). Механизмы межпроцессного взаимодействия.
  • Примитивная файловая система. Реализация системных вызовов open(), close(), read(), write(), exec().
Элементы контроля

Элементы контроля

  • неблокирующий Лабораторные работы (ЛР)
    В рамках курса слушателям предлагается выполнить 12 лабораторных работ. Каждая лабораторная работа сдаётся преподавателю или ассистенту посредством демонстрации результатов и устного ответа на вопросы.
  • неблокирующий Экзамен (Э)
    Экзамен проводится в устной форме. Экзамен проводится на платформе meet.jit.si. К экзамену необходимо подключиться за 5 минут до начала. Для участия в экзамене студент обязан: включить камеру и микрофон. Во время экзамена студентам разрешено пользоваться учебными материалами. Кратковременным нарушением связи во время экзамена считается 5-минутное отсутствие связи. Долговременным нарушением связи во время экзамена считается 15-минутное отсутствие связи. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи аналогична процедуре сдачи.
  • неблокирующий Домашняя работа (ДР)
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 4th module
    0.42 * Домашняя работа (ДР) + 0.33 * Лабораторные работы (ЛР) + 0.25 * Экзамен (Э)
Список литературы

Список литературы

Рекомендуемая основная литература

  • Архитектура компьютера, Таненбаум, Э., 2014
  • Операционная система UNIX : учеб. пособие для вузов, Робачевский, А. М., 2003
  • Современные операционные системы, Таненбаум, Э., 2012

Рекомендуемая дополнительная литература

  • C. A. R Hoare. (1974). Monitors: An Operating System Structuring Concept. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.55879E6F
  • Siever, E. (2009). Linux in a Nutshell : A Desktop Quick Reference (Vol. 6th ed). Beijing: Reilly - O’Reilly Media. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=415617

Авторы

  • Меликян Алиса Валерьевна
  • Буцкая Евгения Александровна
  • Хорошилов Алексей Владимирович