Курс "Операционные системы" для студентов Казахстанского филиала МГУ

Осенний семестр 2010 г. Лектор - к.ф.-м.н. Ю.С. Корухова

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

  1. Н.В.Вдовикина, А.Казунин, И.В. Машечкин, А.Н. Терехин «Системное программное обеспечение. Взаимодействие процессов»
  2. Н.В. Вдовикина, И.В.Машечкин, А.Н.Терехин, А.Н.Томилин «Операционные системы. Взаимодействие процессов». (2008)
  3. И.В. Машечкин, М.И. Петровский, П.Д. Скулачев, А.Н. Терехин «Системное программное обеспечение: файловые системы ОС UNIX и Windows NT» (1997)
  4. А.Робачевский, С.Немнюгин, О.Стесик «Операционная система UNIX» 2-е издание, 2005 г
  5. А.В. Cтоляров «Введение в ОС. Конспект лекций»
  6. А.В. Столяров «ОС Unix для изучающих программирование» www.stolyarov.info
  7. Э. Таненбаум «Cовременные операционные системы».
  8. Д. Цикритзис, Ф. Бернстайн «Операционные системы».
  9. А.В. Чернов Материалы по программированию в UNIX unicorn.cmc.msu.ru

Содержание курса

  • Лекции 1-2. 29/10/2010

    Содержание, цели и задачи курса. Понятие операционной системы (ОС). Краткая история вычислительной техники, зарождение (ОС), многозадачность. Задачи современных ОС. Требования к аппаратуре для организации многозадачного режима. Основы работы в ОС UNIX,с использованием командной строки.
    Домашнее задание 1 (1/11/2010). Средствами языка С реализовать команды echo и cat.
  • Лекции 3-4. 30/10/2010

    Способы планирования времени центрального процессора(ЦП): пакетная обработка, режим разделения времени, системы реального времени. Алгоритмы планирования работы ЦП в многозадачных системах. Прерывания (внутренние, внешние), обработка прерываний. Системные вызовы. Интерфейс библиотечных функций языка С и системных вызовов.
    Слайды
    Домашнее задание 2 (2/11/2010). Доказать для очереди из 4 процессов, что минимальное среднее оборотное время будет при использовании алгоритма, когда первой решается кратчайшая (по времени) задача. Обобщить на случай N процессов. (Считать, что все задачи одновременно готовы к выполнению и операции ввода-вывода не используют).
  • Лекции 5-6. 1/11/2010

    Файловый дескриптор. Работа с файлами с помощью системных вызовов. Создание временных файлов. Перенаправления ввода/вывода.
    Слайды
    Домашнее задание 3 (3/11/2010). Используя низкоуровневый ввод-вывод, реализовать две функции int puts (const char *s) и int getchar (void) (Написать буферизованный вариант функции getchar, когда функция осуществляет ввод большими порциями, но при каждом обращении к ней выдает только одну литеру.)
  • Лекции 7-8. 2/11/2010

    Иерархия памяти в вычислительной системе. Расслоение оперативной памяти. Понятие виртуальной памяти. Способы организации виртуальной оперативной памяти.
    Слайды
  • Лекции 9-10. 3/11/2010

    Понятие процесса. Порождение процесса. Механизм замены тела процесса (exec) Схема запуска одной программы из другой (fork-exec-wait). Анализ успешности завершения процесса-потомка процессом-родителем. Начальная загрузка системы: формирование 0 и 1 процессов.
    Слайды
    Домашнее задание 4 (5/11/2010). Моделирование работы автосервиса (.pdf файл с описанием задания здесь)
  • Лекции 11-12. 4/11/2010

    Средства взаимодействия процессов: неименованные каналы (pipe), именованные каналы, сигналы.
    Слайды
    Домашнее задание 5 (5/11/2010). Проанализировать и исправить программу (.pdf файл здесь)
  • Лекции 13-14. 5/11/2010

    Взамодействие процессов: использование надежных сигналов. Работа с разделяемыми ресурсами. Критические секции, организация взаимного исключения.Семафоры. Мониторы.
    Слайды
  • Лекции 15-16. 6/11/2010

    Классические задачи синхронизации процессов. Реализация межпроцессного взаимодействия в UNIX. Средства IPC: разделяемая память.
    Слайды
  • Лекция 17. 8/11/2010

    Реализация межпроцессного взаимодействия в UNIX. Средства IPC: разделяемая память, массив семафоров, очередь сообщений.
    Слайды
  • КОЛЛОКВИУМ 8/11/2010

    Коллоквиум будет проводиться в письменной форме.
  • Лекции 18-19. 9/11/2010

    Ввод/вывод.
    Слайды
  • Лекции 20-21. 10/11/2010

    Файловые системы.
    Основы сетевого взаимодействия.
    Слайды
  • Лекции 22-23. 11/11/2010

    Организация сетевого взаимодействия в UNIX.
    Слайды
  • Лекция 24. 12/11/2010

    Разработка операционных систем.
  • КОНСУЛЬТАЦИЯ. 12/11/2010

  • ЭКЗАМЕН. 13/11/2010

    Список вопросов к экзамену (.pdf)