Содержание разделов дисциплины

  1. Базовая архитектура ОС
    1. Введение. Функции, состав, назначение ОС.
    2. Принципы построения ОС. Монолитная, многоуровневая, ядерная и микроядерная архитектуры ОС. Виртуальные машины. Системные вызовы и модель клиент-сервер.
    3. Файловые системы. Именование, принципы построения, виртуализация. Контроль доступа: атрибуты, простая модель доступа, мандатный доступ.
    4. Ввод/вывод. Отображение устройств в память, модели символьных и блочных устройств.
  2. Межпроцессное взаимодействие и синхронизация
    1. Процессы и потоки. Модель процесса, потока. Задачи синхронизации.
    2. Механизмы синхронизации. Семафоры, мьютексы, мониторы. Синхронизация на основе сообщений.
    3. Взаимоблокировки. Условия возникновения, основные алгоритмы их предотвращения. Принципы захвата ресурсов, двухфазное блокирование, понятие транзакций.
    4. Классические проблемы межпроцессного взаимодействия и их решения. Обедающие философы, читатели и писатели, спящий брадобрей.
    5. Алгоритмы планирования. Пакетная обработка, интерактивные системы, системы РВ. Вытесняющая и невытесняющая многозадачность.
  3. Управление памятью
    1. Управление памятью и многозадачность. Подкачка: на основе битовых карт, на основе связных списков.
    2. Виртуальная память. Страничная организация, преобразование адресов. Основные алгоритмы замещения страниц: NRU (Not recently used), FIFO (first in first out), LRU (Least recently used), алгоритм рабочего набора (On demand paging).
  4. Сети
    1. Введение. Сетевое взаимодействие; понятие распределенной системы. Задачи межпроцессного взаимодействия, синхронизации, управления ресурсами в сетевой среде. Понятие сообщения, его статусы. Виды взаимодействия.
    2. Многоуровневая организация сетевого взаимодействия. Понятие стека протоколов, канальные, транспортные высокоуровневые протоколы.
    3. Синхронизация в сетях. Алгоритмы синхронизации времени в распределенной системе.