Бакалавриат
2024/2025
Проектирование архитектуры программных систем
Статус:
Курс по выбору (Программная инженерия (очно-заочное обучение))
Направление:
09.03.04. Программная инженерия
Когда читается:
2-й курс, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Демкин Валерий Матвеевич
Язык:
русский
Кредиты:
3
Программа дисциплины
Аннотация
В курсе описаны принципы построения операционных систем для встраиваемых систем. Встраиваемая система предназначена для решения одной или нескольких заранее определенных задач в конкретной предметной области. Например, интернет вещей (IoT), робототехники, умный дом, автомобильных систем, машиностроении, станки с ЧПУ, 3D печать и т.п.Курс затрагивает проблематику в области построения современных операционных систем и возможные пути её разрешения, используя технологический стандарт АОМК (ACOM), на котором построена запатентованная отечественная архитектура ОС не имеющая аналогов в мире.Курс учит работе с техническими спецификациями (datasheet) к микроконтроллерам (MCU), микропроцессорам (CPU), систем на кристалле (SoC) и программированию «голого железа» (bare metal). Теоретическая и практическая части состоят из двух разделов: Технология АОМК и Архитектура ОС. Лекции содержат базовые понятия, фундаментальные принципы построения операционных систем и применяемых технологий. Практические занятия помогают применить теоретические знания, приобретенные в рамках курса, при решении конкретных задач и получить оценку(баллы) за выполненные работы. Лабораторные работы выполняются на одноплатном компьютере Eco SB V1 (отечественная разработка компании ПИРФ) c SoM модулем на RISС-V архитектуре.
Цель освоения дисциплины
- Дать специалисту основные знания об архитектуре ОС.
- Формирование практических навыков построения ОС используя компонентный подход
Планируемые результаты обучения
- Создавать решения используя основные подходы проектирования ОС
- Создавать компоненты для решения как системных так и прикладных задач
- Применять алгоритмы для решения определенных задач
- Применять навыки работы с технической документацией при разработке новых решений
- Применять технологический стандарт АОМК для разработки ПО
Содержание учебной дисциплины
- Введение
- Компоненты и интерфейсы.
- Интерфейс IEcoUnknown, UGUID
- Повторная применяемость, Обратный вызов, Фабрика
- Маршалинг
- Микроядро
- Загрузчик
- Интерфейсная шина
- Планировщик
- Объекты синхронизации
- Менеджер памяти
- Файловый менеджер
- Прерывания
- Драйвер
Элементы контроля
- Устный ответ на вопросы из билетов
- Лабораторная работа 1Необходимо согласно из приведенного списка заданий, создать новый компонент для калькулятора, который реализует методы интерфейса.
- Лабораторная работа 2Необходимо в ранее созданный компонент для калькулятора, включить компонент реализующий функции сложения и вычитания.
Промежуточная аттестация
- 2024/2025 2nd module0.2 * Лабораторная работа 1 + 0.6 * Лабораторная работа 2 + 0.2 * Устный ответ на вопросы из билетов
Список литературы
Рекомендуемая основная литература
- Архитектура компьютера 6-е изд. - 978-5-4461-1103-9 - Таненбаум Э., Остин Т. - 2020 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/361850 - 361850 - iBOOKS
- Современные операционные системы, 2-е изд., 1038 с., Таненбаум, Э., 2005
- Современные операционные системы. 3-е изд. - 978-5-496-00301-8 - Таненбаум Э. - 2013 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/344100 - 344100 - iBOOKS
Рекомендуемая дополнительная литература
- Операционные системы. Разработка и реализация. Классика CS. 3-е изд. - 978-5-469-01403-4 - Таненбаум Эндрю С, Вудхалл Альберт С. - 2007 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/339939 - 339939 - iBOOKS