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

Архитектура компьютера и операционные системы

ID 1182052

Статус: Курс по выбору (Экономика и анализ данных)
Когда читается: 3-й курс, 2, 3 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 6
Контактные часы: 60

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

Аннотация

При разработке высоконагруженных систем невозможно не обращать внимание на то, в каком окружении работает код. В компаниях типа Яндекса это как правило многочисленные сервера с несколькими многоядерными x86 процессорами под операционной системой Linux. Понимание того как работает процессор и операционная система позволяет понять некоторые особенности работы реального кода. В курсе будет разобрана работа ядра миниатюрной UNIX-подобной операционной системы — xv6. Начнём с того как работает процессор и языка ассемблера, далее разберём управление процессами, памятью, работу в мультипроцессорной среде.
Цель освоения дисциплины

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

  • Дать понимание принципов работы компьютеров и деталей взаимодействия прикладного и системного программного обеспечения (ПО) с аппаратурой ЭВМ. Дисциплина предусматривает изучение конкретных реализаций аппаратного обеспечения, операционных систем и т.п.
Планируемые результаты обучения

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

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

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

  • Вводная лекция, указатели
  • Базовый ввод-вывод в Linux
  • Управление файловой системой
  • Подсистема памяти в Linux, часть 1
  • Подсистема памяти в Linux, часть 2
  • Процессы
  • Ассемблер x86_64 – часть 1
  • Ассемблер x86_64 – часть 2
  • Ассемблер x86_64 – часть 3
  • Введение в многопоточное программирование
  • Многопоточное программирование, сетевое взаимодействие
  • Event loop, epoll
  • Сигналы в Linux – часть 1
  • Сигналы в Linux – часть 2
Элементы контроля

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

  • неблокирующий Домашнее задание
  • неблокирующий Контрольная работа
  • неблокирующий Экзамен
  • неблокирующий Работа на семинарах
Промежуточная аттестация

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

  • 2026/2027 3rd module
    0.5 * Домашнее задание + 0.2 * Экзамен + 0.2 * Контрольная работа + 0.1 * Работа на семинарах
Список литературы

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

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

  • Архитектура компьютера 6-е изд. - Таненбаум Э., Остин Т. - Санкт-Петербург: Питер - 978-5-4461-1103-9 - 2020 - русский - https://ibooks.ru/product/337629 - iBOOKS - 337629
  • Архитектура компьютера, Таненбаум, Э., 2011
  • Архитектура компьютера, Таненбаум, Э., 2014
  • Операционные системы : практикум: учеб. пособие для вузов, Назаров, С. В., 2012
  • Язык программирования Си, Керниган, Б., 2001

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

  • Гостев, И. М.  Операционные системы : учебник и практикум для среднего профессионального образования / И. М. Гостев. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2024. — 164 с. — (Профессиональное образование). — ISBN 978-5-534-04951-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/539078 (дата обращения: 02.07.2026).
  • Программирование на языке Rust : быстрое и безопасное системное программирование, Блэнди, Дж., 2018
  • Цифровая схемотехника и архитектура компьютера RISC-V - Харрис Д. М., Харрис С. Л. - Издательство "ДМК Пресс" - 978-5-97060-961-3 - 2022 - русский - https://e.lanbook.com/book/241166 - ЛАНЬ - 241166

Авторы

  • Минеев Игорь Евгеньевич