ИВТ. Архитектура вычислительных систем и языки ассемблера весна 2026
Содержание
О курсе
Дисциплина «Архитектура вычислительных систем и языки ассемблера» направлена на формирование у обучающихся компетенций в области низкоуровневого программирования, архитектуры вычислительных систем и разработки программ с использованием особенностей аппаратного обеспечения и операционных систем UNIX (Linux) и Windows. В рамках курса изучаются основы машинного кода, языков ассемблера и машинно-ориентированной оптимизации программ. Обучающиеся осваивают разработку программ на языках Си и Ассемблер, включая создание программ без использования высокоуровневых библиотек, а также методы профилирования, оптимизации и отладки программного кода с применением специализированных отладчиков.• (опционально) промо-видео
Пререквизиты: введение в программирование, моделирование вычислительных систем
Программа курса
| Неделя | Семинары | Лабораторные | Домашние задания |
|---|---|---|---|
| 1-5 | Архитектура 32 и 64-разрядных систем x86, x86_64. | Темы уточняются | Темы уточняются |
| 6-10 | Системные вызовы и низкоуровневые функции операционных систем. | Темы уточняются | Темы уточняются |
| 11-15 | Профилирование высокоуровневого кода и ассемблерная оптимизация. | Темы уточняются | Темы уточняются |
Коммуникация
Информация уточняется
Чат курса (Telegram)
Прогресс студентов
Таблица с оценками, доступная студентам
Критерии оценивания и формы контроля успеваемости
Успешное освоение курса требует напряжённой самостоятельной работы студента. Самостоятельная работа включает в себя:
–проработку учебного материала, подготовку ответов на вопросы, предназначенных для самостоятельного изучения. –выполнение лабораторных работ и заданий.
Промежуточный контроль знаний проводится в виде письменных опросов.
Зачет выставляется на основе работы на семинаре и выполнения домашних работ. Оценка за зачет выставляется из соотношения: 40% за теоретическую часть, и 60% - за практическую. Оценка за практическую часть - это оценка за выполнение семинарских и домашних заданий, с учетом сроков сдачи.
Внимание: неудовлетворительная оценка за каждую из частей является блокирующей, то есть, в случае неудовлетворительной оценки за теоретическую либо практическую часть, итоговая оценка - неудовлетворительно.
Внимание: выполнение и сдача задач, разбираемых на семинарских занятиях, и задач домашнего задания, помеченных как “обязательные” (как правило, по одной задаче в неделю) является обязательным условием получения положительной оценки.
Все промежуточные расчеты оценки выполняются с точностью до второго знака после точки, итоговая оценка выставляется по 10-балльной шкале, с округлением по стандартным арифметическим правилам.
Команда курса
Преподаватель курса: Дединский Илья Рудольфович
Материалы курса
Перечень типовых контрольных вопросов:
1.Система Linux, виртуальная машина. Инструменты для написания, компиляции и отладки программ. 2.Командный интерпретатор bash, написание shell- скриптов. 3.Представление целых чисел. Обратный дополнительный код, битовые операции. Знаковые и беззнаковые числа. Undefined Behaviour. 4.Язык ассемблера x86_64, базовые конструкции; работа с регистрами и с памятью 5.Архитектура CISC v.s. RISC. gdb и objdump. Стек вызовов, соглашения о вызовах x86_64. 6.Битовые операции на языке Си и ассемблере; кодирование команд. 7.Представление целых чисел, знаковые и беззнаковые числа, флаги переноса, длинная арифметика. 8.Представление вещественных чисел IEEE754 9.Программные прерывания и системные вызовы 10.Выравнивание данных и векторные инструкции 11.Системные вызовы через int 0x80 и vdso (sysenter/syscall) 12.Файловые дескрипторы, open, read и write. 13.Отображение ELF файла на память; системный вызов mmap 14.Позиционно-независимый код и dlopen/dlsym 15.Бинарная трансляция машинного кода
Основная литература
- Современные операционные системы: [учеб. пособие для вузов] / Э. Таненбаум ; [пер. с англ. Н. Вильчинский, А. Лашкевич] .— 3-е изд. — СПб.: Питер, 2015 .— 1120 с
- Основы операционных систем: курс лекций : учеб. пособие для вузов / В. Е. Карпов, К. А. Коньков ;под ред. В. П. Иванникова .— М.: ИНТУИТ. РУ: Интернет-Университет Информационных
Технологий, 2004 .— 628 с.
- Assembler. Учебник для вузов / В. И. Юров. - СПб, Питер, 2010
- Операционная система Linux: курс лекций : учеб. пособие для вузов / Г. В. Курячий, К. А. Маслинский .— М.: Интернет-Ун-т Информ. Технологий, 2005 .— 392 с.
- Операционная система UNIX и программирование на языке Си / М. Дансмур, Г. Дейвис; пер. с англ. А. С. Богданова; под ред. И. Г. Шестакова .— М.: Радио и связь, 1989 .— 192 с.
- Архитектура компьютера:[учеб. пособие для вузов] / Э. Таненбаум, Т. Остин ; [пер. с англ. Е. Матвеев] .— 6-е изд. — СПб.: Питер, 2014 .— 816 с
Дополнительная литература
- Операционная система UNIX [Текст] : учеб. пособие для вузов / А. М. Робачевский .— СПб.: БХВ-Петербург, 2002, 2003 .— 528 с.
- Брайант Р.Э., О’Халларон Д.Р. Компьютерные системы: архитектура и программирование. СПб.: БХВ, 2005. 1186 с.