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

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

Статус: Курс по выбору (Программная инженерия)
Направление: 09.03.04. Программная инженерия
Когда читается: 4-й курс, 1-3 модуль
Формат изучения: без онлайн-курса
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 10
Контактные часы: 60

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Домашняя работа
  • неблокирующий Экзамен
  • неблокирующий Лабораторные
    В первом модуле в сумме макс. 10 баллов за все лабораторные работы.
Промежуточная аттестация

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

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

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

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

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

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

  • 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.