Архитектуры операционных систем

Цель курса

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

Практическое знакомство с сервисами, представляемыми современной операционной системой, на примере Unix System V Release 4. В сочетании с курсом лекций, студент может увидеть, как архитектурные решения соответствуют предоставляемым сервисам и ограничениям, возникающим при их предоставлении.

Основные темы

  • Классификация операционных систем
  • Обзор архитектуры фон-неймановского процессора (на примере x86, SPARC)
  • Загрузка программ
  • Управление памятью (открытая память)
  • Виртуальная память
  • Внешние события
  • Параллелизм с точки зрения программиста
  • Реализация параллелизма на однопроцессорном компьютере
  • Подсистема ввода-вывода
  • Файловые системы
  • Вопросы безопасности

Результат

По окончании практикума слушатель будет иметь опыт системного программирования в Unix. Слушатель научится пользоваться документацией и самостоятельно изучать крупные программные комплексы со сложными внешними интерфейсами (в том числе другие операционные системы) по документации.

Необходимые начальные знания

Знание архитектуры компьютеров, основ дискретного анализа, а также прослушивание курса Основы конструирования программ и языки программирования

Продолжительность

Объем курса составляет 130 часов. Лекционная и практическая части составляют одинаковые доли.

Предполагаемая интенсивность курсов: 8 часов в неделю (4 часа в вечернее время в рабочие дни + 4 часа в выходные), т.о. общая продолжительность курса - около 4 месяцев.