• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Бакалаврская программа «Программная инженерия»

Разработка операционных систем

2021/2022
Учебный год
RUS
Обучение ведется на русском языке
10
Кредиты

Преподаватель

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

Аннотация

В курсе рассматриваются ключевые принципы проектирования ядра операционных систем с акцентом на их освоение на практике. В рамках курса каждым студентом выполняется постепенная разработка маленькой операционной системы на языке Си с небольшими количеством вставок на ассемблере x86, которая запускается на эмуляторе ЭВМ Qemu. Каркас операционной системы постепенно выдается слушателям, наполнение каркаса осуществляется совместно в ходе занятий и в рамках самостоятельной работы.
Цель освоения дисциплины

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

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

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

  • Знание механизмов аппаратной поддержки работы ядра
  • Знание навыков программирования на языке Ассемблер
  • Знание навыков проектирования и программирования компонентов ядра операционной системы и отладки программ в привилегированном режиме работы процессора
  • Знание основных принципов внутреннего устройства ядра операционной системы
  • Знание ПО начальной инициализации платформы и периферийных устройств, интерфейсов базового программного обеспечения (BIOS) на основе современных спецификаций ACPI, SMBIOS, UEFI и пр.
Содержание учебной дисциплины

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

  • Введение.
  • Устройство ядра JOS.
  • Описатели процессов в JOS.
  • Прерывания в x86.
  • Обработка вложенных прерываний в x86.
  • Управление распределением физических страниц.
  • Переключение между режимами работы процессора.
  • Управление процессами.
  • Примитивная файловая система.
Элементы контроля

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

  • неблокирующий Лабораторные работы
    Выполнение лабораторных работ Олаб, за которые можно получить максимум 33 балла
  • неблокирующий Домашняя работа
    За выполнение домашней работы можно получить максимум 42 балла.
  • неблокирующий Экзамен
    За экзамен можно получить максимум 25 баллов.
Промежуточная аттестация

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

  • 2021/2022 учебный год 3 модуль
    0итог = Олаб*0.1 + Одз*0.1 + Оэкз*0.1
Список литературы

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

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

  • Архитектура компьютера, Таненбаум, Э., 2014
  • Операционная система UNIX, учебное пособие, 2-е изд., 635 с., Робачевский, А., Немнюгин, С., Стесик, О., 2014
  • Современные операционные системы, Таненбаум, Э., 2012
  • Таненбаум Эндрю С. Операционные системы. Разработка и реализация (+СD). Классика CS. 3-е изд. / С. Альберт. - Санкт-Петербург : Питер, 2007. - 704 с. - ISBN 978-5-469-01403-4. - URL: https://ibooks.ru/bookshelf/339939/reading (дата обращения: 12.10.2020). - Текст: электронный.

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

  • Corbet, J., Rubini, A., & Kroah-Hartman, G. (2005). Linux Device Drivers: Vol. 3rd ed. O’Reilly Media.
  • Research and Markets. (3 C.E. 2011). Research and Markets: Operating Systems In Depth: Design and Programming. Business Wire (English).
  • Siever, E. (2005). Linux in a Nutshell: Vol. 5th ed. O’Reilly Media.