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

Операционные системы 2

Когда читается: 4-й курс, 1, 2 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 5
Контактные часы: 56

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

Аннотация

При разработке высоконагруженных систем приходится обращать повышенное внимание на то, в каком окружении работает код. В компаниях типа Яндекса это как правило многочисленные сервера с несколькими многоядерными x86 процессорами под операционной системой Linux. Понимание того как работает процессор и операционная система позволяет понять некоторые особенности работы реального кода. Основу курса составляет изложение теоретических и практических вопросов построения современных операционных систем, их концепций и алгоритмов. Изучаются аспекты взаимодействия с аппаратурой компьютера, организация виртуальной памяти, аллокаторы, многозадачность и многопоточность, средства синхронизации, блочные устройства, файловые системы и т.п.
Цель освоения дисциплины

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

  • Понимать как устроена шина PCI Express.
  • Знать устройство кэшей процессора и уметь писать код, который эффективно ими пользуется.
  • Понимать устройство виртуальной памяти.
  • Разбираться в архитектуре аллокаторов памяти общего назначения и уметь выбирать среди них подходящий для конкретной задачи.
  • Понимать назначение и механизмы работы прерываний и исключений.
  • Знать алгоритмы работы планировщиков процессов.
Планируемые результаты обучения

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

  • Знание ключевых особенностей современного аппаратного обеспечения.
  • Понимание устройства ядра операционной системы.
  • Навыки разработки высокоэффективных и надёжных приложений.
  • Качественное и аккуратное написание сложного инфраструктурного кода.
  • Умение погружаться в незнакомый программный проект среднего размера.
Содержание учебной дисциплины

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

  • Вводная лекция.
  • Аппаратное обеспечение компьютера.
  • Физическое устройство шины PCI Express.
  • Работа с PCI Express шиной и устройствами.
  • Виртуальная память.
  • Страничная организация виртуальной памяти.
  • Кэши процессора.
  • Влияние кэшей на программы.
  • Динамическое выделение памяти.
  • Аллокаторы памяти общего назначения.
  • Исполняемые файлы.
  • Прерывания и исключения процессора.
  • Планирование процессов.
  • Обработка прерываний.
  • Планировщики.
  • Линковка и запуск исполняемых программ.
Элементы контроля

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

  • неблокирующий Домашнее задание 1
    Выдается после лекции №2 и содержит 4 задачи, посвященные работе с аппаратурой компьютера.
  • неблокирующий Домашнее задание 2
    Выдается после лекции №4 и содержит 5 задач, посвященных работе с шиной PCI Express.
  • неблокирующий Домашнее задание 3
    Выдается после лекции №5 и содержит 2 задачи, посвященные работе с физической памятью.
  • неблокирующий Домашнее задание 4
    Выдается после лекции №6 и содержит 3 задачи, посвященные работе с виртуальной памятью.
  • неблокирующий Домашнее задание 5
    Выдается после лекции №7 и содержит 3 задачи, посвященные работе с виртуальной памятью.
  • неблокирующий Домашнее задание 6
    Выдается после лекции №8 и содержит 4 задачи, посвященные реализации динамической аллокации страниц памяти.
  • неблокирующий Домашнее задание 7
    Выдается после лекции №9 и содержит 2 задачи, посвященные реализации динамической аллокации памяти.
  • неблокирующий Домашнее задание 8
    Выдается после лекции №10 и содержит 3 задачи, посвященные реализации динамической аллокации памяти.
  • неблокирующий Домашнее задание 9
    Выдается после лекции №11 и содержит 3 задачи, посвященные реализации создания пользовательских процессов.
  • неблокирующий Домашнее задание 10
    Выдается после лекции №12 и содержит 3 задачи, посвященные реализации работы пользовательских процессов.
  • неблокирующий Домашнее задание 11
    Выдается после лекции №13 и содержит 3 задачи, посвященные реализации системных вызовов и планировщика.
Промежуточная аттестация

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

  • 2026/2027 2nd module
    Итог = Округление вниз(ДЗ / 320), где ДЗ — суммарная оценка за все домашние задания. Внимание, округление происходит вниз. То есть, 10 баллов можно получить только сдав все задачи на полный балл каждую, либо добрав бонусными баллами за дополнительные активности.
Список литературы

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

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

  • Garg, R., & Verma, G. (2017). Operating Systems : An Introduction. [Place of publication not identified]: Mercury Learning & Information. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1809145
  • Кудин, А. В. Архитектура и операционные системы параллельных вычислительных систем : учебно-методическое пособие / А. В. Кудин, А. В. Линёв. — Нижний Новгород : ННГУ им. Н. И. Лобачевского, 2007. — 73 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/153263 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.

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

  • Research and Markets. (3 C.E. 2011). Research and Markets: Operating Systems In Depth: Design and Programming. Business Wire (English).