Кафедра К3
Прикладная математика, информатика
и вычислительная техника
Операционные системы
Преподаватель: Чернышов Александр Викторович
Направление подготовки: 654600 «Информатика и вычислительная техника»
Специальность: 230101 (220100) «Вычислительные машины, комплексы, системы и сети»
Семестры: 4, 5
Вид итогового контроля:
зачет — 4 семестр
экзамен — 5 семестр
Содержание курса:
-
Введение. История развития ОС
- Назначение и функции ОС (неформальное введение).
- История зарождения и развития ОС.
- Операционные системы на современном этапе развития вычислительной техники.
- Классификация ОС.
- Универсальные ОС и ОС специального назначения.
- ОС пакетные, обработки транзакций, разделения времени, реального времени.
-
Назначение и функции ОС
- Подробное описание назначения и функций ОС.
- Зависимость возможностей и функций ОС от аппаратуры ЭВМ (система команд и архитектура процессора, часы раельного времени и системный таймер, контроллер обработки прерываний, каналы ввода-вывода и т. п.).
- Способы реализации мультипрограммирования.
- Понятие событийного программирования.
- Многопользовательский режим работы.
- Средства обработки сигналов.
- Модульная структура построения ОС и их переносимость.
-
Управление процессами в ОС
- Понятие процесса.
- Структура контекста процесса.
- Идентификатор и дескриптор процесса.
- Иерархия процессов.
- Понятия приоритета и очереди процессов.
- Понятие ядра ОС.
- Диспетчеризация и синхронизация процессов.
- Способы реализации мультипрограммирования.
- Управление процессором.
- Режимы пользователя и супервизора.
- Привелегированные команды.
- Системные вызовы.
- Средства коммуникации между процессами.
- Средства обработки сигналов.
- Взаимоисключение и критические секции.
- Алгоритмы Деккера и Петерсена.
- Семафоры.
- Мониторы.
- Тупики в ОС.
- Необходимые условия возникновения.
- Методы борьбы с тупиками.
-
Управление оперативной памятью в ОС
- История развития методов управления оперативной памятью.
- Управление памятью с фиксированными разделами.
- Управление памятью с переменными разделами.
- Начальный и устоявшийся режим работы.
- Дыры.
- Стратегии поиска подходящей дыры.
- Свопинг.
- Принципы управления процессами и оперативной памятью.
- Использование технологии оверлейного программирования.
- Механизм реализации виртуальной памяти.
- Необходимая аппаратная поддержка.
- Принцип трансляции виртуальных адресов в физические.
- Страничный метод организации виртуальной памяти.
- Особенности механизма трансляции адресов.
- Защита памяти.
- Совместное использование памяти.
- Сегментный метод организации виртуальной памяти.
- Сегментно-страничный метод организации виртуальной памяти.
- Защита памяти.
- Совместное использование памяти.
- Стратегия подкачки страниц.
- Стратегии вталкивания, размещения и выталкивания страниц.
- Влияние на производительность.
- Понятия пробуксовки и рабочего множества.
- Сегментация виртуального адресного пространства процесса.
- Организация межпроцессного взаимодействия.
- Особенности разработки программ для запуска на системах с виртуальной памятью.
- Кеширование.
-
Управление внешней памятью в ОС
- Иерархия устройстви памяти.
- Типы устройств внешней памяти.
- Ввод и вывод данных.
- Каналы ввода-вывода.
- Буферизация.
- Магнитные диски.
- Основные принципы устройства и функционирования.
- Возможность и необходимость оптимизации обработки запросов.
- Стратегии оптимизации.
- Файловые системы.
- Назначение и функции.
- Варианты организации файловых систем.
- Методы доступа к файлам в файловых системах.
- Концепция доступа к устройствам через псевдофайлы.
- Драйверы ОС.
- Многоуровневая иерархия драйверов в ОС.
- Модульная структура драйверов современных ОС.
-
Мультипроцессорные ОС
- Варианты построения мультипроцессорных структур.
- Особенности их функционирования и сопровождения.
- Особенности программирования для мультипроцессоров.
- Особенности мультипроцессорных ОС.
-
Сетевые ОС и распределённая обработка
- История возникновения и развития сетевого ПО.
- Необходимость появления поддержки сетей в составе ОС.
- Современные сетевые ОС.
- Сетевые ОС.
- Базовые службы сетевых ОС.
- Принципы организации межпроцессного взаимодействия.
- Защита от сбоев и несанкционированного доступа.
- Распределённые ОС.
- Новая парадигма организации вычислений и обработки информации.
- Необходимые базовые службы.
- Защита от сбоев и несанкционированного доступа.
- Кластеры компьютеров в локальных сетях.
- Кластерные супервычислители.
- Организация многопроцессорных вычислений на кластере с использованием свободно распространяемого ПО.
-
Производительность ОС
- Понятие производительности вычислительной системы.
- Этапы оценки производительности.
- Цели, методы и способы оценки производительности.
- Эффективность вычислительной системы.
- Методы оценки эффективности.
- Измерение и оптимизация производительности вычислительной системы.
-
Локализация в ОС
- Понятие локализации в ОС.
- Необходимость локализации.
- Исторический аспект.
- Национальные стандарты и традиции.
- Кодовые таблицы символов. Стандарт UNICODE.
-
Современные тенденции развития ОС
- Мировая тенденция к переходу на национальные ОС, базирующиеся на открытых международных стандартах и открытых кодах.
Рекомендуемая литература:
- Олифер В. Г., Олифер Н. А. Сетевые операционные системы. — СПб.: Питер, 2003. — 384 с.
- Дейтел Х. М., Дейтел П. Д., Чофнес Д. Р. Операционные системы. Основные принципы. Третье издание. — М.: ООО «Бином-Пресс», 2006. — 1024 с.
- Столлингс В. Операционные системы. Внутреннее устройство и принципы проектирования. — М.: Вильямс, 2002. — 844 с.
Дополнительная литература:
- Робачевский А. Операционная система UNIX. — СПб.: БХВ, 1999. — 528 с.
- Тейнсли Д. Linux и UNIX: программирование в shell. — Киев: БХВ, 2001. — 464 с.
- Лацис А. Как построить и использовать суперкомпьютер. — М.: Бестселлер, 2003. — 240 с.
Учебные и учебно-методические пособия:
- Чернышов А. В. Планирование процессов. Практикум к выполнению лабораторных работ для студентов специальности 220100. Часть 1. — М.: ГОУ ВПО МГУЛ, 2004. — 24 с.
- Чернышов А. В. Управление ресурсами ЭВМ. Практикум к выполнению лабораторных работ для студентов специальности 220100. Часть 2. — М.: ГОУ ВПО МГУЛ, 2004. — 32 с
- Чернышов А. В. Работа за X-терминалом. Учебное пособие для студентов специальностей 230100, 230101. — М.: ГОУ ВПО МГУЛ, 2005. — 87 с.
- Кнут Д. Е. Искусство программирования. Том 1. Основные алгоритмы. 3-е изд. — М.: Вильямс, 2000. — 720 с.
- Кнут Д. Е. Искусство программирования. Том 2. Получисленные алгоритмы. 3-е изд. — М.: Вильямс, 2000. — 830 с.
- Кнут Д. Е. Искусство программирования. Том 3. Сортировка и поиск. 2-е изд. — М.: Вильямс, 2000. — 824 с.
Нормативные документы:
- ГОСТ 19.701-90 (ИСО 5807-85) Схемы алгоритмов, программ, данных и систем.
- ГОСТ 19781-90 Обеспечение систем обработки информации программное. Термины и определения.
Интернет-ресурсы:
Учебные материалы: Вопросы к экзамену