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

Системная инженерия программного обеспечения

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

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

Аннотация

Синтаксис языков программирования и знание алгоритмов позволяет писать эффективные программы, но кроме собственно исполняемого кода программы важную роль в производительности и корректности работы итогового решения играет его структура, окружение, рациональность использования сторонних компонентов, операционная система и детали устройства архитектуры вычислительной системы в целом. Данный курс предназначен для того чтобы дать слушателям представление о наиболее важных аспектах вычислительной системы, которые стоит учитывать при проектировании программного обеспечения, понимание причин их возникновения, а также недостатках этих решений и как их наиболее эффективно избегать.
Цель освоения дисциплины

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

  • Общее понимание стека системного программного обеспечения.
Планируемые результаты обучения

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

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

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

  • Вводная лекция, Операционная система, её назначение, функции и разновидности.
  • Виртуальная память. Управление физической памятью.
  • Время в аппаратуре и его представление в ОС. Часы на SMP системах.
  • Процессы и потоки. Планирование задач.
  • Межпроцессное взаимодействие. Классификация и основные механизмы.
  • Устройства. Виды устройств и их взаимодействие с ОС и программами пользователя. DMA.
  • Файловые системы. Понятие файла, его свойства, атрибуты, основные операции.
  • Загрузка и исполнение программы. Библиотеки. PIE.
  • Отладка и профилирование
  • Общее устройство процессора, его типичные составные части
  • Устройство наиболее распространенных современных архитектур процессора
  • Кеши, конвейеры и другие архитектурные компоненты влияющие на производительность
  • Разграничение прав. Учёт использования ресурсов пользователями.
  • Этапы загрузки операционной системы
  • Виртуализация
Элементы контроля

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

  • неблокирующий ДЗ_3
  • неблокирующий ДЗ_1
  • неблокирующий КР_2
  • неблокирующий КР_1
  • неблокирующий ДЗ_4
  • неблокирующий ДЗ_2
  • неблокирующий ДЗ_6
  • неблокирующий ДЗ_5
Промежуточная аттестация

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

  • 2024/2025 1st module
    (ДЗ_1 + ДЗ_2 + КР_1)/3
  • 2024/2025 3rd module
    МОДУЛЬ_3 = (ДЗ_3 + ДЗ_4 + ДЗ_4 + ДЗ_6+ КР_2)/5
Список литературы

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

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

  • Computer architecture : a quantitative approach, Hennessy, J. L., 2019

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

  • Hennessy, J. L., Asanović, K., & Patterson, D. A. (2012). Computer Architecture : A Quantitative Approach (Vol. 5th ed). Waltham, MA: Morgan Kaufmann. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=407995

Авторы

  • Буцкая Евгения Александровна