We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Operating System Kernel Construction

2024/2025
Academic Year
RUS
Instruction in Russian
6
ECTS credits
Course type:
Compulsory course
When:
1 year, 3, 4 module

Instructor

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

Аннотация

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

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

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

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

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

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

  • Введение. Карта физической памя-ти 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

Авторы

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