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

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

Статус: Курс обязательный (Прикладная математика и информатика)
Когда читается: 2-й курс, 1, 2 модуль
Охват аудитории: для всех кампусов НИУ ВШЭ
Преподаватели: Коробейников Николай Андреевич, Мамаев Алексей Александрович, Минеев Игорь Евгеньевич, Ниневский Камиль Николаевич, Сальников Алексей Николаевич, Сафронов Евгений Владимирович, Соколовский Алексей Константинович, Стёпкин Степан Максимович, Филитов Михаил Егорович, Шитов Александр Андреевич
Язык: русский
Кредиты: 5
Контактные часы: 70

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

Аннотация

При разработке высоконагруженных систем невозможно не обращать внимание на то, в каком окружении работает код. В компаниях типа Яндекса это как правило многочисленные сервера с несколькими многоядерными 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
Элементы контроля

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

  • неблокирующий Домашнее задание
    Задания будут выдаваться после лекций в системе GitLab. Домашнее задание является текущей формой контроля самостоятельной работы.студентов.
  • неблокирующий Контрольная работа
    Контрольная работа проводится в письменной форме во время контактной работы в соответствии с расписанием в присутствии преподавателя (синхронный элемент контроля). Продолжительность – 60 минут. Содержание контрольной будет обговорено на семинаре.
  • неблокирующий Экзамен
    Экзамен проводится в письменной форме во время контактной работы в соответствии с расписанием в присутствии преподавателя (синхронный элемент контроля). Продолжительность – 60 минут. Экзаменационный билет содержит два вопроса из перечня вопросов к экзамену.
  • неблокирующий Активность на семинарах
    Студенты участвуют в проведении занятий, выполняя интерактивные задания, работа студента на занятиях оценивается индивидуально в зависимости от полноты и точности ответов, содержательности суждений.
Промежуточная аттестация

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

  • 2025/2026 2nd module
    0.05 * Активность на семинарах + 0.1 * Экзамен + 0.3 * Домашнее задание + 0.1 * Контрольная работа
Список литературы

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

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

  • Программирование на языке Rust : быстрое и безопасное системное программирование, Блэнди, Дж., 2018

Авторы

  • Яковлева Илона Александровна
  • Фисенко Анна Сергеевна