Бакалавриат
2024/2025
Системная инженерия программного обеспечения
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Базовая кафедра фирмы 1С
Где читается:
Факультет компьютерных наук
Когда читается:
4-й курс, 1-3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
10
Программа дисциплины
Аннотация
Синтаксис языков программирования и знание алгоритмов позволяет писать эффективные программы, но кроме собственно исполняемого кода программы важную роль в производительности и корректности работы итогового решения играет его структура, окружение, рациональность использования сторонних компонентов, операционная система и детали устройства архитектуры вычислительной системы в целом. Данный курс предназначен для того чтобы дать слушателям представление о наиболее важных аспектах вычислительной системы, которые стоит учитывать при проектировании программного обеспечения, понимание причин их возникновения, а также недостатках этих решений и как их наиболее эффективно избегать.
Планируемые результаты обучения
- Знание о структуре программы и использовании стороннего кода. Символы. Статические и динамические библиотеки.
- Получение представления об эволюции программной и аппаратной части. Из каких основных логических частей состоит современный процессор и как именно он выполняет программу.
- Понимание использования системных вызовов, виртуальной памяти, файловой системы и дискового хранилища.
- Понимание общей программно-аппаратной архитектуры современных вычислительных систем.
Содержание учебной дисциплины
- Вводная лекция, Операционная система, её назначение, функции и разновидности.
- Виртуальная память. Управление физической памятью.
- Время в аппаратуре и его представление в ОС. Часы на SMP системах.
- Процессы и потоки. Планирование задач.
- Межпроцессное взаимодействие. Классификация и основные механизмы.
- Устройства. Виды устройств и их взаимодействие с ОС и программами пользователя. DMA.
- Файловые системы. Понятие файла, его свойства, атрибуты, основные операции.
- Загрузка и исполнение программы. Библиотеки. PIE.
- Отладка и профилирование
- Общее устройство процессора, его типичные составные части
- Устройство наиболее распространенных современных архитектур процессора
- Кеши, конвейеры и другие архитектурные компоненты влияющие на производительность
- Разграничение прав. Учёт использования ресурсов пользователями.
- Этапы загрузки операционной системы
- Виртуализация
Промежуточная аттестация
- 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