Устройство ядра Linux (НОВ) 2024 — различия между версиями
Irinaiv (обсуждение | вклад) (→Задачи курса) |
Irinaiv (обсуждение | вклад) (→Команда курса) |
||
Строка 2: | Строка 2: | ||
= Команда курса = | = Команда курса = | ||
− | * | + | * Алексей Хорошилов, руководитель курса |
− | |||
= Цель курса = | = Цель курса = |
Версия 11:45, 4 декабря 2024
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ас-систентов и студентов образовательной программы «Системное программирование»,«Программная инженерия», изучающих дисциплину «Конструирование ядра операционной системы».
Содержание
Команда курса
- Алексей Хорошилов, руководитель курса
Цель курса
Целью освоения дисциплины является изучение основных принципов внутреннего устройства яд-ра операционной системы и вспомогательного ПО для его запуска, механизмов аппаратной под-держки работы ядра, начальной инициализации платформы и периферийных устройств, интерфей-сов базового программного обеспечения (BIOS) на основе современных спецификаций ACPI, SMBIOS, UEFI и пр., а также получение навыков проектирования и программирования компо-нентов ядра операционной системы и отладки программ в различных режимах работы процессо-ра.
Задачи курса
- Освоение студентами базовых современных достижений в области проектирования опера-ционных систем и базового программного обеспечения;
- Формирование практических навыков проектирования и программирования компонентов ядра и загрузчика операционной системы и отладки программ в различных режимах рабо-ты процессора.
План курса
- Курс рассчитан на 64 часа аудиторной нагрузки, из них 24 часов лекций и 40 часов практи-ческих занятий, общим объемом 5 зачетных единиц (190 часов).
- План курса
Задачи курса
- Освоение студентами базовых современных достижений в области проектирования опера-ционных систем и базового программного обеспечения;
- Формирование практических навыков проектирования и программирования компонентов ядра и загрузчика операционной системы и отладки программ в различных режимах рабо-ты процессора.
Критерии получения оценки
- В рамках курса слушателям предлагается выполнить 12 лабораторных работ. Каждая ла-бораторная работа сдаётся преподавателю или ассистенту посредством демонстрации результатов и устного ответа на вопросы. За сдачу лабораторных работ в срок начисляются баллы (максимум 33 балла). Максимальное количество начисленных баллов за лабораторную работу составляет от 1 до 4 в зависимости от сложности лабораторной работы.
Домашняя работа заключается в выполнении индивидуального задания, которое можно получить после сдачи 9-й лабораторной работы. Задание состоит из нескольких частей (не ме-нее 2), за выполнение каждой из которых начисляются баллы (максимум 42 балла). Задание мо-жет предназначаться как для индивидуального выполнения, так и для выполнения в группе. В случае выполнения задания в группе некоторые части задания засчитываются всем участникам группы, а остальные индивидуальны для одного из участников.
Итоговый контроль по дисциплине
Проверка качества освоения дисциплины производится в форме письменного экзамена. Письменный экзамен проводится в форме ответов на вопросы экзаменационного билета. Экзаме-национный билет содержит два вопроса из перечня вопросов к экзамену. За ответ на вопросы на экзамене начисляются баллы (максим 25 баллов). На подготовку ответа выделяется 4 часа.
Важные ссылки
* 1.1 Базовый учебник 1.Д.В. Ефремов, Н.Ю. Комаров, А.В. Хорошилов. "Конструирование ядра операционной системы", Издательский отдел факультета ВМК МГУ имени М.В. Ломоносова, Москва, 2015. ISBN: 978-5-89407-549-5 * 1.2О Oсновная литература
- 1.Э. Таненбаум “Архитектура компьютера”, Питер, 2012 г.
- 2.Э. Таненбаум “Современные операционные системы”, Питер, 2011 г.
- 3.Э. Таненбаум “Операционные системы. Разработка и реализация”, Питер, 2006 г.
- 4.А. Робачевский, С. Немнюгин, О. Стесик «Операционная система UNIX», БХВ Санкт-Петербург, 2010 г.
Дополнительная литература
- 1.C. A. R. Hoare, Monitors: An Operating System Structuring Concept. Communications of the ACM, 17(10):549--557, 1974.
- 2.Thomas W. Doeppner “Operating Systems In Depth: Design and Programming” Wiley, 2010
- 3.Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman. “Linux Device Drivers”.
- 4.Ellen Siever, Stephen Figgins, Robert Love, Arnold Robbins. “Linux in a Nutshell”. O'Relly Media, 2009.
- 5.Скотт Шакон. «Про Git». Apress. Перевод на русский. (http://git-scm.com/book/ru).
- 6.Веб-страница дисциплины: http://forge.ispras.ru/projects/oscourse-hse-YEAR/wiki
- 7.Unified Extensible Firmware Interface (UEFI) Specification (2.8A).
- 8.Advanced Configuration and Power Interface (ACPI) Specification (6.3).
- 9.ISO/IEC 9899:2018 Information technology — Programming languages — C.
- 10.IA-32 Intel Architecture Software Developer's Manual Volume 1: Basic Architecture. Basic 80x86 architecture and programming environment. http://developer.intel.com.
- 11.IA-32 Intel Architecture Software Developer's Manual Volume 3A: System Programming Guide. Operating system support, including segmentation, paging, tasks, interrupt and exception handling. http://developer.intel.com.
- 12.DWARF Debugging Information Format Committee. DWARF Debugging Information Format. Version 4.
- 13.IA-PC HPET (High Precision Event Timers) Specification (1.0a).
- 14.Tool Interface Standard Executable and Linking Format (ELF) Specification Version 1.2.
Рекомендации для самостоятельной работы студентов
- Самостоятельная работа является важным элементом в успешном освоении курса. Вне аудиторных занятий рекомендуется изучать вспомогательные материалы, прикладываемые к ла-бораторным работам, дополнительную литературу и выполнять задание лабораторной работы, если аудиторного времени для её выполнения оказалось недостаточно или были обнаружены ошибки при прохождении тестов или сдаче лабораторной работы.