• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Book
ECPPM 2021 – eWork and eBusiness in Architecture, Engineering and Construction

Edited by: Vitaly Semenov, R. J. Scherer.

CRC Press, 2021.

Article
Equivalence checking and intersection of deterministic timed finite state machines

Bresolin D., El-Fakih K., Villa T. et al.

Formal Methods in System Design. 2022.

Book chapter
City and building information modelling using IFC standard

Shutkin V., Morozkin N., Zolotov V. et al.

In bk.: ECPPM 2021 – eWork and eBusiness in Architecture, Engineering and Construction. CRC Press, 2021. P. 406-413.

Working paper
Preventive Model-based Verification and Repairing for SDN Requests

Burdonov I., Kossachev A., Nina Yevtushenko et al.

arxiv.org. Computer Science. Cornell University, 2020

Operating System Kernel Construction

2019/2020
Academic Year
RUS
Instruction in Russian
5
ECTS credits
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-минутное отсутствие связи. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи аналогична процедуре сдачи.
Промежуточная аттестация

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

  • Промежуточная аттестация (4 модуль)
    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