Устройство ядра Linux (НОВ) 2024 — различия между версиями

Материал из Public ATP Wiki
Перейти к: навигация, поиск
(Задачи курса)
Строка 11: Строка 11:
 
* Освоение студентами базовых современных достижений в области проектирования опера-ционных систем и базового программного обеспечения;
 
* Освоение студентами базовых современных достижений в области проектирования опера-ционных систем и базового программного обеспечения;
 
* Формирование практических навыков проектирования и программирования компонентов ядра и загрузчика операционной системы и отладки программ в различных режимах рабо-ты процессора.
 
* Формирование практических навыков проектирования и программирования компонентов ядра и загрузчика операционной системы и отладки программ в различных режимах рабо-ты процессора.
 
''
 
*В результате освоения дисциплины студент должен обладать следующими компе-тенциями:''
 
''Универсальные компетенции:''
 
* Способен рефлексировать (оценивать и перерабатывать) освоенные научные методы и способы деятельности (УК-1).
 
* Способен создавать новые теории, изобретать новые способы и инструменты профессио-нальной деятельности (УК-2).
 
* Способен к самостоятельному освоению новых методов исследований, изменению науч-ного и производственного профиля своей деятельности (УК-3).
 
* • Способен анализировать, верифицировать, оценивать полноту информации в ходе профес-сиональной деятельности, при необходимости восполнять и синтезировать недостающую информацию (УК-6).
 
 
''Общепрофессиональные компетенции:''
 
* Способен разрабатывать оригинальные алгоритмы и программные средства, в том числе с использованием современных интеллектуальных технологий, для решения профессио-нальных задач (ОПК-2).
 
* Способен разрабатывать и модернизировать программное систем (ОПК-5).
 
 
''Профессиональные компетенции:''
 
* Способен проводить анализ, синтез, оптимизацию решений с целью обеспечения качества объектов профессиональной деятельности (ПК-2).
 
* Способен планировать, управлять и контролировать выполнение требований заказчика к программному продукту в процессе разработки (ПК-4).
 
* Способен выполнять проекты в области программной инженерии на основе системного подхода, строить и использовать модели для описания и прогнозирования различных яв-лений, осуществлять их качественный и количественный анализ (ПК-6).
 
* Способен оценить и выбрать методологию проектирования объектов профессиональной деятельности (ПК-8).
 
* Способен применять современные технологии разработки программных комплексов с ис-пользованием автоматизированных систем планирования и управления, осуществлять контроль качества разрабатываемых программных продуктов (ПК-9).
 
 
''* Так же изучение данной дисциплины базируется на знаниях, полученных студентами при освоении учеб-ных дисциплин:''
 
* «Дискретная математика»,
 
* «Программирование»,
 
* «Построение и анализ алгоритмов»,
 
* «Архитектура вычислительных систем»,
 
* «Операционные системы».
 
  
 
= План курса =
 
= План курса =

Версия 11:41, 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.


Рекомендации для самостоятельной работы студентов

  • Самостоятельная работа является важным элементом в успешном освоении курса. Вне аудиторных занятий рекомендуется изучать вспомогательные материалы, прикладываемые к ла-бораторным работам, дополнительную литературу и выполнять задание лабораторной работы, если аудиторного времени для её выполнения оказалось недостаточно или были обнаружены ошибки при прохождении тестов или сдаче лабораторной работы.