Курс "Операционные системы"

2016/17 уч. год, осень

Дисциплина входит в состав цикла Системное программное обеспечение

Преподается в 7-ом семестре бакалаврской подготовки по следующим профилям:

  • вычислительные машины комплексы, системы и сети
  • технологии разработки программного обеспечения
  • встраиваемые системы управления

Включает следующие виды учебной работы:

  • лекции (содержание см ниже),
  • лабораторные работы (содержание см ниже)

Лекции читает:

Лабораторные работы ведут преподаватели:

Лекции

Перечень основных тем лекционного курса дисциплины

№ раздела Разделы дисциплины и их содержание
1 Основные понятия, состав и функции операционных систем и сред
- Назначение и функции операционных систем
- Классификации ОС и критерии качества ОС
2 Концептуальные основы построения ОС и операционных сред.
- Концепции распределения ресурсов. Модульная структура построения ОС и их переносимость
- Многопроцессорный режим работы
- Многозадачность и средства ее реализации
3 Архитектуры и модели функционирования ОС
Структуры ОС. Тенденции в структурном построении ОС. Понятие ядра, ядра ОС с различными моделями функционирования
4 Управление системными и прикладными процессами и нитями
4.1 Состояния процесса, контекст и дескриптор, Структура контекста процесса/потока
4.2 Управление процессами с использованием средств ядра ОС с различными моделями функционирования. Основы организации ядра.
Объектная реализация процесса и потока или нити
Таблицы локальных и глобальных дескрипторов процессора
4.3 Методы и алгоритмы планирования и диспетчеризации
Структуры контекстов процессов и нитей. Переключение контекста и затраты ресурсов на переключение
4.4 Средства коммуникации процессов и нитей
Межпроцессные взаимодействия (IPC-InterProcess Communications), сигнальный механизм управления, способы обработки событий. Синхронизация при разделении ресурсов, средства синхронизации. IPC и объекты как средства синхронизации
5 Управление памятью
Типы памяти, метод виртуальной памяти. Способы организации. Сегментация виртуального адресного пространства процесса. Механизмы преобразования виртуального адреса в физический при различных организациях памяти. Дескриптор виртуальных адресов. Базовые сервисы диспетчера виртуальной памяти. Принцип кэширования данных. Стратегия подкачки страниц.
Свопинг. Совместное использование памяти процессами. Защита памяти.
6 Файловые системы
6.1 Организация ФС, обзор современных ФС.
6.2 Методы размещения, хранения и доступа к информации, средства высокопроизводительного доступа к диску; особенности организации ФС для различных носителей.
6.3 Понятие и организация виртуальной ФС и прикладной ФС Примеры реализации современных ФС Производительность ФС
6.4 Принципы построения и защита от сбоев и несанкционированного доступа
6.5 Многопользовательская защита, живучесть и восстановление после сбоев
7 Управление вводом/выводом
7.1 Организация систем ввода/вывода
7.2 Способы обмена с внешними устройствами. Драйверы. Иерархия драйверов. Обработка прерываний, исключений, ловушек. Обработчики аппаратных прерываний, резидентные обработчики.
7.3 Событийное программирование
События. Понятие событийного программирования. Создание обработчиков событий на разных уровнях ОС и подсистем, их взаимосвязь Профилирование и анализ функционирования
8 Управление распределенными и сетевыми ресурсами
8.1 Управление процессами и нитями в сетевых ОС
Статическое и динамическое управление нитями и процессами в распределенных системах, средства межпроцессной коммуникации в сети
Синхронизация, таймирование Элементы системного программирования в локальных и распределенных системах
8.2 Организация подсистем ОС, управляющих удаленными ресурсами
8.3 Сетевые ФС
8.4 Локальный и удаленный вызов процедур: концепция, базовые операции, этапы выполнения

Лабораторные работы

Перечень лабораторных работ

№ раздела Наименование лабораторных работ
1 Интерпретаторы КС, цикл обработки программ, базовые утилиты ОС
2 Файловые системы и ввод/вывод
3 Управление процессами
4 Управление нитями
5 Планирование
6 Межпроцессные взаимодействия
7 Синхронизация при распределении ресурсов
8 Сетевые межпроцессные взаимодействия и сетевой обмен

Методические материалы для выполнения работ:

Системное программное обеспечение. Практические вопросы разработки системных приложений: учебное пособие

Системное программное обеспечение. Межпроцессные взаимодействия в операционных системах: учебное пособие

или печатные версии учебных пособий

Отчетность:

  • зачет по итогам лабораторного практикума
  • экзамен

междисциплинарный экзамен бакалаврской подготовки включает раздел, соответствующий дисциплине «Операционные системы». Экзамен проводится в 8-ом семестре (вид экзамена - «по остаточным знаниям») и содержит более общие вопросы по сравнению с экзаменационными вопросами семестра, в котором изучалась дисциплина.

Примерный перечень экзаменационных вопросов междисциплинарного бакалаврского экзамена по дисциплине «Операционные системы»

Уровень1

1-1. Функции ФС. Низкоуровневое и высокоуровневое форматирование. Разделы. Логическое устройство, лог. диск, кластер.

1-2. Системные вызовы: назначение, способы реализации в разных ОС. Синхронные и асинхронные системные вызовы

1-3. Программные ресурсы. Реентерабельные и повторно-входимые модули, обоснование их применения при проектировании ОС и ее компонент.

1-4. Анализ архитектуры и моделей функционирования различных ОС.

1-5. Мультипроцессорная обработка: конфигурации ВС и ОС

1-6. Преимущества и недостатки клиент-серверной модели. Способы повышения производительности при ее использовании.

1-7.Организация ПО ввода-вывода. Унифицированная модель драйвера. Многослойные драйверы.

1-8. ISR, примеры реализации, передача управления стандартному обработчику

1-9. Контекст и дескриптор процесса. Структура и иерархия контекстов на примере Unix-подобных ОС. Системные структуры данных контекста и дескриптора, их состав.

1-10. Обоснование выбора архитектуры для построения ОС реального времени.

1-11. Мультипрограммирование (многозадачность), реализация в современных ОС.

1-12. Функциональные компоненты сетевых ОС, их взаимодействие, способы реализации

1-13. Процесс. Состояния, жизненный цикл процесса в многозадачных ОС (на примере Unix-подобных ОС). Утилиты статуса и информационные структуры

1-14. Критерии и показатели эффективности ОС различных классов

1-15. Задачи планирования и диспетчеризации. Типы планировщиков. Планирование в системах реального времени и разделения времени

1-16. Способы (низкоуровневые) отключения прерываний на критических участках выполнения кода ОС или приложений

Уровень2

2-1. Обращение к файлам из процесса. Этапы, системные таблицы, идентификация файлов и процессов.

2-2. Взаимосвязь обработчиков событий в ОС: при наличии аппаратных событий, внутренних прерываниях, исключениях

2-3. Резидентные программы. Транзитные программы. Их реализации. Загрузчики, типы загрузчиков.

2-4. Модели функционирования ОС. Примеры в разных ОС.

2-5. Средства синхронизации в разных ОС (Unix-подобных ОС, Windows, ОС реального времени)

2-6 Структура ядра ОС с иерархической архитектурой. Алгоритм выполнения запроса прикладного уровня

2-7. Интерфейс прикладного программирования. Функции API. Способы реализации API.

2-8. Инфраструктура процесса (на примере Unix). Системные структуры данных описания процесса, их состав. Типы процессов

2-9. Трансляция имен. Где и как применяется. (Примеры системных функций.)

2-10. Создание процесса в разных ОС: фазы, наследование при порождении, инфраструктура процесса

2-11. Реализация ISR при необходимости программного отключения отдельного устройства, при необходимости полной замены обработчика (с учетом управления контроллером прерываний при его наличии)

2-12. IPC. Пространство имен.

2-13. Идентификаторы файлов, файловые дескрипторы, индексные дескрипторы. Файловые ссылки. Укажите назначение и сферу применения, соответствующие каждому понятию.

2-14. Структура драйвера. Минимальные наборы процедур в различных драйверах (простейший, с прерываниями, многослойный)

2-15. Вызов подпрограмм и задач в ОС

2-16. Совместимость. Форматы исполняемых файлов в разных ОС. Унификация форматов. Множественные прикладные среды. Реализация множественных прикладных сред

Порядок сдачи междисциплинарного бакалаврского экзамена соответствует общим правилам сдачи на кафедре КСПТ.

Для данной дисциплины: уровни, указанные в перечне вопросов условно соответствуют сложности. В билете представлены вопросы разной сложности, оценка выставляется с учетом коэффициента сложности вопросов, на которые ответил студент.