• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

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

2025/2026
Учебный год
RUS
Обучение ведется на русском языке
Статус:
Курс обязательный
Когда читается:
2-й курс, 1, 2 модуль

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

Аннотация

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

Авторы

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