• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Computer Architecture and Operating Systems 1

2025/2026
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Course type:
Compulsory course
When:
2 year, 1, 2 module

Instructors


Линский Евгений Михайлович


Мамаев Алексей Александрович


Оникова Дарья Тимуровна


Сафронов Евгений Владимирович


Стёпкин Степан Максимович


Филиппова Надежда Владимировна


Филитов Михаил Егорович


Шатов Олег Викторович


Шитов Александр Андреевич

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

Аннотация

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

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

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

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

Авторы

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