При разработке высоконагруженных систем невозможно не обращать внимание на то, в каком окружении работает код. В компаниях типа Яндекса это как правило многочисленные сервера с несколькими многоядерными x86 процессорами под операционной системой Linux. Понимание того как работает процессор и операционная система позволяет понять некоторые особенности работы реального кода. В курсе будет разобрана работа ядра миниатюрной UNIX-подобной операционной системы — xv6. Начнём с того как работает процессор и языка ассемблера, далее разберём управление процессами, памятью, работу в мультипроцессорной среде.
Цель освоения дисциплины
Дать понимание принципов работы компьютеров и деталей взаимодействия прикладного и системного программного обеспечения (ПО) с аппаратурой ЭВМ. Дисциплина предусматривает изучение конкретных реализаций аппаратного обеспечения, операционных систем и т.п.
Планируемые результаты обучения
Объяснять устройство компьютера: роль CPU, памяти, шин и устройств ввода-вывода.
Понимать как ОС управляет процессами, памятью и файловыми системами.
Анализировать работу процессора на уровне команд и кэшей.
Применять знания о многозадачности и синхронизации процессов.
Использовать системные утилиты для мониторинга и анализа работы ОС.
Задания будут выдаваться после лекций в системе GitLab. Домашнее задание является текущей формой контроля самостоятельной работы.студентов.
Контрольная работа
Контрольная работа проводится в письменной форме во время контактной работы в соответствии с расписанием в присутствии преподавателя (синхронный элемент контроля). Продолжительность – 60 минут. Содержание контрольной будет обговорено на семинаре.
Экзамен
Экзамен проводится в письменной форме во время контактной работы в соответствии с расписанием в присутствии преподавателя (синхронный элемент контроля). Продолжительность – 60 минут. Экзаменационный билет содержит два вопроса из перечня вопросов к экзамену.
Активность на семинарах
Студенты участвуют в проведении занятий, выполняя интерактивные задания, работа студента на занятиях оценивается индивидуально в зависимости от полноты и точности ответов, содержательности суждений.
Промежуточная аттестация
2025/2026 2nd module
0.05 * Активность на семинарах + 0.1 * Экзамен + 0.3 * Домашнее задание + 0.1 * Контрольная работа
Список литературы
Рекомендуемая основная литература
Программирование на языке Rust : быстрое и безопасное системное программирование, Блэнди, Дж., 2018
Преподаватель
Линский Евгений Михайлович
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Авторы