Перейти к основному содержимому

Курс Операционные системы кафедры ИУ5 МГТУ им. Баумана.

Добро пожаловать на курс «Операционные системы». Курс посвящён фундаментальным концепциям проектирования, архитектуры и функционирования современных операционных систем.

Состав курса

Курс состоит из 2 частей:

  • Основы операционных систем
  • Углубленное изучение операционных систем

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

Первая часть "Основы операционных систем" состоит из 8 разделов, охватывающих все ключевые подсистемы операционной системы:

Раздел 1 — Введение в операционные системы

Основы: определение ОС как менеджера ресурсов и виртуальной машины, логическая и физическая модели процессов, графы состояний, классификация процессов.

Раздел 2 — Управление ресурсами

Формальное описание ресурсов, их классификация, дескрипторы процессов (PCB), процессы и cgroups — механизмы контроля вычислительных ресурсов.

Раздел 3 — Прерывания

Механизм прерываний как основа асинхронного взаимодействия: аппаратная и программная обработка, классификация, векторизация, маскирование.

Раздел 4 — Взаимодействие процессов

Типы взаимодействия параллельных процессов, middleware, отношения между процессами (precedence, mutual exclusion, producer-consumer, readers-writers).

Раздел 5 — Синхронизация процессов

Аппаратные и программные механизмы синхронизации: семафоры Дейкстры, мьютексы, каналы, алгоритмы для распределённых систем.

Раздел 6 — Взаимоблокировки и многопоточные ОС

Условия возникновения deadlock, стратегии предотвращения, алгоритм банкира, процессы и потоки, многоуровневое планирование.

Раздел 7 — Управление памятью

Виртуальное адресное пространство, непрерывное и не непрерывное распределение, страничная и сегментная организация, алгоритмы вытеснения страниц.

Раздел 8 — Планирование и ввод/вывод

Диспетчеризация процессов (FCFS, RR, priority), аппаратная поддержка I/O, программная архитектура подсистемы ввода/вывода, буферизация.

Структура каждого раздела

Каждый раздел содержит:

  • Лекционный материал — теоретические основы с подробными объяснениями и примерами
  • Практические задания — лабораторные работы, выполняемые в операционной системе Альт Линукс (версия 11), охватывающие работу с процессами, памятью, прерываниями, синхронизацией и устройствами ввода/вывода

Цели курса

По окончании курса студент будет знать:

  • Архитектуру и основные функции операционных систем
  • Механизмы управления процессами, памятью и устройствами
  • Принципы синхронизации и предотвращения взаимоблокировок

И сможет:

  • Анализировать состояние процессов и ресурсов в Linux
  • Программировать межпроцессное взаимодействие и синхронизацию
  • Настраивать и оптимизировать работу подсистем ОС