2026/2027





Архитектура компьютера и операционные системы
ID 1134798
Статус:
Маго-лего
Кто читает:
Базовая кафедра Яндекс
Где читается:
Факультет компьютерных наук
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
6
Контактные часы:
56
Программа дисциплины
Аннотация
При разработке высоконагруженных систем невозможно не обращать внимание на то, в каком окружении работает код. В компаниях типа Яндекса это как правило многочисленные сервера с несколькими многоядерными x86 процессорами под операционной системой Linux. Понимание того как работает процессор и операционная система позволяет понять некоторые особенности работы реального кода. В курсе будет разобрана работа ядра миниатюрной UNIX-подобной операционной системы — xv6. Начнём с того как работает процессор и языка ассемблера, далее разберём управление процессами, памятью, работу в мультипроцессорной среде.
Цель освоения дисциплины
- Дать понимание принципов работы компьютеров и деталей взаимодействия прикладного и системного программного обеспечения (ПО) с аппаратурой ЭВМ. Дисциплина предусматривает изучение конкретных реализаций аппаратного обеспечения, операционных систем и т.п.
Планируемые результаты обучения
- Уметь проектировать законченную программную систему.
- Уметь находить в общедоступных источниках готовые программные модули и компоненты.
- Быть способность провести интеграцию программной системы с готовыми программными модулями и компонентами.
- Объяснять устройство компьютера: роль CPU, памяти, шин и устройств ввода-вывода.
- Понимать как ОС управляет процессами, памятью и файловыми системами.
- Анализировать работу процессора на уровне команд и кэшей.
- Применять знания о многозадачности и синхронизации процессов.
- Использовать системные утилиты для мониторинга и анализа работы ОС.
Содержание учебной дисциплины
- Процессы и программы в UNIX.
- Ассемблер x86.
- Разделение памяти: сегменты, таблицы страниц.
- Прерывания, исключения, сигналы.
- Поддержка многоядерности в x86.
- Выполнение процессов в многозадачных ОС.
- Постоянная память и файловые системы.
- Виртуализация.
- Архитектура компьютера и операционные системы 1
- Вводная лекция, указатели
- Базовый ввод-вывод в Linux
- Управление файловой системой
- Подсистема памяти в Linux, часть 1
- Подсистема памяти в Linux, часть 2
- Процессы
- Ассемблер x86_64 – часть 1
- Ассемблер x86_64 – часть 2
- Ассемблер x86_64 – часть 3
- Введение в многопоточное программирование
- Многопоточное программирование, сетевое взаимодействие
- Event loop, epoll
- Сигналы в Linux – часть 1
- Сигналы в Linux – часть 2
Элементы контроля
- Домашнее заданиеЗадания будут выдаваться после лекций в системе GitLab. Домашнее задание является текущей формой контроля самостоятельной работы.студентов.
- Контрольная работаКонтрольная работа проводится в письменной форме во время контактной работы в соответствии с расписанием в присутствии преподавателя (синхронный элемент контроля). Продолжительность – 60 минут. Содержание контрольной будет обговорено на семинаре.
- Активность на семинарахСтуденты участвуют в проведении занятий, выполняя интерактивные задания, работа студента на занятиях оценивается индивидуально в зависимости от полноты и точности ответов, содержательности суждений.
- ЭкзаменЭкзамен проводится в письменной форме во время контактной работы в соответствии с расписанием в присутствии преподавателя (синхронный элемент контроля). Продолжительность – 60 минут. Экзаменационный билет содержит два вопроса из перечня вопросов к экзамену.
Промежуточная аттестация
- 2026/2027 2nd module0.1 * Домашнее задание + 0.1 * Контрольная работа + 0.1 * Активность на семинарах + 0.4 * Экзамен
Список литературы
Рекомендуемая основная литература
- Архитектура компьютера 6-е изд. - 978-5-4461-1103-9 - Таненбаум Э., Остин Т. - 2020 - Санкт-Петербург: Питер - https://ibooks.ru/products/361850 - 361850 - iBOOKS
- Архитектура компьютера, Таненбаум, Э., 2011
- Архитектура компьютера, Таненбаум, Э., 2014
- Программирование на языке Rust : быстрое и безопасное системное программирование, Блэнди, Дж., 2018
- Язык программирования Си, Керниган, Б., 2001
Рекомендуемая дополнительная литература
- Garg, R., & Verma, G. (2017). Operating Systems : An Introduction. [Place of publication not identified]: Mercury Learning & Information. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1809145
- Гостев, И. М. Операционные системы : учебник и практикум для среднего профессионального образования / И. М. Гостев. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2021. — 164 с. — (Профессиональное образование). — ISBN 978-5-534-04951-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/472333 (дата обращения: 04.07.2025).
- Операционные системы : практикум: учеб. пособие для вузов, Назаров, С. В., 2012
- Харрис, Д. М. Цифровая схемотехника и архитектура компьютера RISC-V / Д. М. Харрис, С. Л. Харрис , под редакцией А. Ю. Романова , перевод с английского В. С. Яценкова. — Москва : ДМК Пресс, 2022. — 810 с. — ISBN 978-5-97060-961-3. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/241166 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.