Главная
страница 1
Министерство образования и науки

САРАТОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИМЕНИ Н. Г. ЧЕРНЫШЕВСКОГО
Кафедра дискретной математики и информационных технологий

РАБОЧАЯ ПРОГРАММА


по дисциплине «Операционные системы»
для специальности 230101 — «Вычислительные машины, комплексы, системы и

сети»


реализуемой на факультете
компьютерных наук и информационных технологий

Саратов, 2011 год



Рабочая программа составлена в соответствии с Государственным образова­тельным стандартом высшего профессионального образования по специаль­ности 230101 – «Вычислительные машины, комплексы, системы и сети» (но­мер государственной регистрации 224 тех/дс. от «27» марта 2000 г.)



ОДОБРЕНО:




УТВЕРЖДАЮ:




Председатель научно-методической комиссии факультета КНиИТ




Проректор по учебно-методической работе







Салий В.Н.







Елина Е.Г.

«




»




2011 г.




«




»




2011 г.







СОГЛАСОВАНО:




Декан факультета КНиИТ




Федорова А.Г.

«




»




2011 г.



Вид учебной работы

Бюджет времени по формам обучения, час.

очная

очно-заочная

заочная

Аудиторные занятия, всего

90




18

В том числе:

- лекции;

- лабораторные (практические)

- семинарские


36

36



18



8

10





Самостоятельная работа студентов

50




122

Зачёты (№ семестра)

6




6

Экзамены (№ семестра)

6




6

Контрольные работы (кол-во/семестр)

-




-

Курсовая работа






-




Заведующий кафедрой ДМиИТ







Тяпаев Л.Б.




Автор







Синельников Е.А.




«




»




2011 г.






Раздел 1. Организационно-методическое сопровождение


Курс «Операционные системы» для студентов факультета компьютерных наук и информационных технологий обеспечивается кафедрой дискретной математики и инфор­мационных технологий. Курс читается в шестом семестре.

Цель дисциплины – дать студентам систематизированные сведения о принципах построения, проектирования и функционирования современных операционных систем (ОС), сред и систем программирования, а также сформировать практические навыки создания и использования эффективного программного обеспечения для управления вычислительными ресурсами в многопользовательских ОС.

  1. В результате изучения курса студент должен знать:

    • принципы управления вычислительными ресурсами в микропроцессорных системах;

    • особенности управления вычислительными ресурсами в режиме разделения времени;

    • понятия процессов и потоков, модели их организации и алгоритмы планирования;

    • основные модели управления оперативной памяти, а также принципы организации виртуальной памяти;

    • принципы работы механизмов синхронизации межпроцессного взаимодействия;

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

  2. В результате изучения курса студент должен уметь:

    • использовать основы системного подхода и критерии эффективной организации вы­числительного процесса для постановки и решения задач организации оптимального функционирования вычислительных систем;

    • обоснованно выбирать оптимальные алгоритмы управления вычислительными ресур­сами;

    • применять системные средства операционных систем при разработке приложений;

    • пользоваться сервисными функциями ОС и специализированными утилитами для при оценке качества функционирования алгоритмов управления вычислительными ресур­сами.

  3. Дисциплина связана с дисциплинами:

Технологии Программирования (Принципы и методы реализации программного обеспечения основы совместной работы над программными проектам).

Организация ЭВМ и систем (Архитектура вычислительных систем. Аппаратные средства поддержки управления памятью и подсистемы прерываний).


Системное программное обеспечение (Основные программные средства управления операционными системами и программирования в консоли).

Раздел 2. Тематический план учебной дисциплины


Наименование раздела, подраздела, темы лекции

Бюджет учебного времени

Форма текущего и итогового контроля

Всего

в том числе

Лекции

Лабораторные и практические занятия

Семинарские занятия

Самостоятельная работа

Очная полная программа

1. Основные принципы построения ОС

4

2







2




2. Эволюция ОС

4

2







2




3. Структурные компоненты ОС

6

2

2




2




4. Модели процесса, потока и контекста исполнения

14

4

4

2

4




5. Управление памятью и модель виртуальной памяти

8

2

2

2

2




6. Архитектуры ОС

6

2







4




7. Проблемы синхронизации и механизмы межпроцессного взаимодействия

14

2

4

2

6




8. Управление вводом-выводом

10

2

2

2

4




9. Файловые системы

10

2

2

2

4




10. Управление и планирование процессами, потоками и контекстами исполнения

12

2

4

2

4




11. Принципы создания параллельных взаимодействующих процессов

12

2

4

2

4




12. Особенности реализаций современных ОС

18

6

4

2

6




13. Форматы исполняемых файлов и загрузка программ

6

2

2




2




14. Модель сетевых интерфейсов и поддержка сетевых служб в ОС

10

2

4

2

2




15. Защитные механизмы ОС

6

2

2




2




ИТОГО:

140

36

36

18

50

Экзамен и зачёт по практике

Заочная полная программа

1. Основные принципы построения ОС

4

2







2




2. Эволюция ОС

4










4




3. Структурные компоненты ОС

6










6




4. Модели процесса, потока и контекста исполнения

14

2

2




10




5. Управление памятью и модель виртуальной памяти

8




2




6




6. Архитектуры ОС

6










6




7. Проблемы синхронизации и механизмы межпроцессного взаимодействия

14

2

2




10




8. Управление вводом-выводом

10










10




9. Файловые системы

10










10




10. Управление и планирование процессами, потоками и контекстами исполнения

12




2




10




11. Принципы создания параллельных взаимодействующих процессов

12










12




12. Особенности реализаций современных ОС

18

2

2




14




13. Форматы исполняемых файлов и загрузка программ

6










6




14. Модель сетевых интерфейсов и поддержка сетевых служб в ОС

10










10




15. Защитные механизмы ОС

6










6




ИТОГО:

140

8

10

0

122

Экзамен и зачёт по практике


Раздел 3. Содержание учебной дисциплины

Тема 1. Основные принципы построения ОС

Назначение и функции операционных систем (ОС). ОС как виртуальная машина, ОС как система управления ресурсами. Основные принципы построения ОС. Принцип модульности. Принцип функциональной избыточности. Принцип генерируемости ОС. Принцип функциональной избирательности. Принцип виртуализации. Принцип независимости программ от внешних устройств. Принцип совместимости. Принцип открытой и наращиваемой ОС. Принцип переносимости. Принцип обеспечения безопасности вычислений. Принцип разделения политик и механизмов. Требования мультипрограммности и многозадачности, предъявляемые к многопользовательским ОС.
Тема 2. Эволюция ОС

Появление первых ОС. Мультипрограммирование и появление мультипрограммных ОС для мэйнфреймов. Серверные ОС. Многопроцессорный режим работы и многопро­цес­сорные операционные системы. Режим разделения времени и системы с разделением времени. ОС для персональных компьютеров. Многопользовательский режим работы. ОС реального времени. ОС для встраиваемых систем. Особенности современного этапа развития ОС.
Тема 3. Структурные компоненты ОС

Понятие операционной среды. Понятие вычислительного процесса и ресурса. Реализация понятия последовательного процесса в ОС. Взаимодействие процессов с операционной системой, системные вызовы. Функциональные компоненты ОС. Управление процессами. Понятие прерывания и управление прерываниями. Управление процессами. Управление памятью. Управление файлами и внешними устройствами.
Тема 4. Модели процесса, потока и контекста исполнения

Понятия процесса и ядра. Модель процесса. Понятие и модель потока. Модель контекстов исполнения, как параллельно исполняемых процессов с общим набором ресурсов. Модель потока, как контекста исполнения с заданным набором общих ресурсов. Виды общих ресурсов: оперативная память, файловые дескрипторы, переменные окружения, сигналы. Ресурсы потока и контекста исполнения: идентификатор, набор регистров, стек, код завершения. Идентификаторы и дескрипторы процессов. Идентификация процессов и потоков, как контекстов исполнения. Сигналы, как механизм прерываний на уровне процессов, средства обработки сигналов.
Тема 5. Управление памятью и модель виртуальной памяти

Функции ОС по управлению памятью. Память и отображение, виртуальное адресное пространство. Алгоритмы распределения памяти. Простое непрерывное распределение и распределение с перекрытием (оверлейные структуры). Распределение статическими и динамическими разделами. Разделы с фиксированными и подвижными границами. Сегментный, страничный, сегментно-страничный виды организации управления памяти. Виртуальная память, как модель страничной организации управления памятью. Механизмы реализации виртуальной памяти. Механизмы защиты памяти. Сегментация виртуального адресного пространства процесса. Алгоритмы замещения страниц. Механизмы и алгоритмы подкачки страниц, стратегии подкачки страниц. Алгоритмы обработки запросов на выделение памяти. Защита памяти.
Тема 6. Архитектуры ОС

Ядро и вспомогательные модули ОС. Ядро в привилегированном режиме. Классификация операционных систем. Модульная структура ОС и их переносимость. Многослойная структура ОС. Микроядерная архитектура ОС. Концепция. Преимущества и недостатки. Монолитные ОС. Распределение и использование ресурсов в ОС. Переменные оболочки ОС UNIX, ограничивающие ресурсы. Совместимость и множественные прикладные среды. Способы реализации прикладных программных сред.
Тема 7. Проблемы синхронизации и механизмы межпроцессного взаимодействия

Атомарные операции и понятие критической секции. Механизмы синхронизации и примитивы межпроцессного взаимодействия. Запрет прерываний и взаимное исключение с активным ожиданием. Семафоры Дейкстры. Мьютексы. Мониторы Хоара. Условные переменные. Передача сообщений. Аппаратные средства поддержки реализации примитивов синхронизации. Классические проблемы межпроцессного взаимодействия Понятия повторно используемых, системных и потребляемых ресурсов. Понятие тупиковой ситуации при выполнении параллельных вычислительных процессов и потоков. Предотвращение и обнаружение тупиков.
Тема 8. Управление вводом-выводом

Принципы программного обеспечения ввода-вывода. Управляемый прерываниями ввод-вывод. Ввод-вывод с использованием механизмов прямого доступа к памяти. Символьные и блочные устройства ввода-вывода. Программные уровни ввода-вывода. Организация связи ядра ОС с драйверами. Очереди запросов блочного ввода-вывода. Подсистема буферизации и планировщики ввода-вывода. Алгоритмы планирования ввода-вывода. Программные и аппаратные таймеры. Символьные устройства и терминалы. Програм­мные интерфейсы управления таймерами. Устройства графического ввода-вывода и графические интерфейсы пользователя. Сетевые интерфейсы и устройства ввода-вывода. Управление энергосбережением.
Тема 9. Файловые системы

Именование файлов. Типы файлов. Доступ к файлам и списки контроля доступа. Атрибуты файлов. Дерево файлов и каталогов ОС. Операции с файлами и каталогами. Виртуальная файловая система и дерево объектов ОС. Реализация файловой системы, как структуры данных. Виды файловых систем.
Тема 10. Управление и планирование процессами, потоками и контекстами исполнения

Создание и завершение процессов. Иерархия процессов. Создание и завершение потоков. Создание потоков, как контекстов исполнения. Планирование и диспетчеризация. Понятия диспетчеризации и синхронизации процессов. Состо­яния потока, процесса. Вытесняющая и кооперативная многозадачность. Вытесняющие и невытесняющие алгоритмы планирования. Понятия приоритета и очереди процессов. Задачи ограниченные скоростью ввода-вывода и скоростью процессора. Стратегии и алгоритмы планирования. Алгоритмы плани­рования, основанные на квантовании. Алго­ритмы планирования, основанные на приори­тетах. Дисциплины диспетчеризации. Качество диспетчеризации и гарантии обслужива­ния. Диспетчеризация задач с использованием динамических приоритетов Балансировка нагрузки в многопроцессорных системах. Моменты перепланировки.
Тема 11.Принципы создания параллельных взаимодействующих процессов

  1. Независимые и взаимодействующие вычислительные процессы и потоки. Цели и средства синхронизации. Необходимость синхронизации и «гонки». Критические секции в приложениях. Блокирующие переменные. Средства синхронизации и связи при проектировании взаимодействующих вычислительных процессов. Использование блокировки памяти при синхронизации. Использование семафоров и мьютексов при проектировании взаимодействующих вычислительных процессов и потоков. Передача событий при использовании условных переменных.
Тема 12. Особенности реализаций современных ОС

Программные интерфейсы современных операционных систем. Стандарты на программные интерфейсы. Состав базовых системных вызовов стандарта POSIX. Распределение оперативной памяти в реализациях современных ОС. Классический подход к построению операционной системы как операционной среды взаимодействующих процессов. Понятие операционной оболочки. Языки пакетной обработки, как оболочки системы. Аргументы команд, стандартные потоки ввода-вывода, перенаправление ввода-вывода. Способы реализации мультипрограммирования. Понятие событийного программирования. Семейство операционных систем UNIX. Особенности архитектуры и межпроцессного взаимодействия в OC семейства UNIX. Операционные системы GNU/Linux. Семейство операционных систем Microsoft Windows NT. Операционная система Minix 3 на основе микроядра.
Тема 13. Форматы исполняемых файлов и загрузка программ

  1. Стандарты на форматы исполняемых файлов. Форматы файлов ELF, COFF и PE, LE. Связь формата исполняемых файлов и логикой загрузки и запуска приложений. Динамические загружаемые библиотеки, как разделяемые объекты кода в памяти.
Тема 14. Модель сетевых интерфейсов и поддержка сетевых служб в ОС

  1. Принципы идентификации узлов и приложений. Механизмы передачи сообщений. Буферизация и синхронизация примитивов передачи сообщений. Механизм сокетов Беркли. Модели сетевых служб и распределённых приложений. Сетевые файловые системы.
Тема 15. Защитные механизмы ОС

Понятия аутентификации и авторизации. Принципы построения и защита от сбоев и несанкционированного доступа. Механизмы контроля доступа к ресурсам на основе идентификаторов владельцев, запущенных процессов. Модели управления доступом. Избирательное управление доступом. Управление доступом на основе ролей Мандатное управление доступом. Протоколы сетевой аутентификации.


Раздел 4. Перечень основной и дополнительной литературы

Основная литература


  1. Олифер В.Г., Олифер Н. А. Сетевые операционные системы — СПб.: Питер, 2003

  2. Синельников Е. А. Курс. Операционные системы. — 2010.

http://course.sgu.ru/course/view.php?id=206

Дополнительная литература


  1. Таненбаум, Эндрю С. Современные операционные системы. 2-е изд. — СПб. Питер, 2007.

  2. Богачёв К. Ю. Основы параллельного программирования — М.: БИНОМ. Лаб. знаний, 2010.

  3. Таненбаум, Эндрю С. Архитектура компьютера. 5-е изд. — СПб. Питер, 2010

  4. Таненбаум, Эндрю С. Операционные системы. Разработка и реализация — СПб. Питер, 2006

  5. Соловьёв В. М. Практикум по операционным системам. Подготовка системных администраторов информационной компьютерной сети Саратовского государственного университета. Linux-системы — Саратов: Изд-во Сарат. ун-та, 2009.

  6. Гласс Г., Эйблс К. UNIX для программистов и пользователей. — СПб.: БХВ-Петербург, 2004.

  7. Курячий Г. В., Маслинский К. А. Операционная система Linux. — 2005.

http://www.intuit.ru/department/os/linux/

Раздел 5. Перечень средств обучения.


Лабораторные занятия проводятся в дисплейном классе с выходом в Internet.

Необходимое программное обеспечение:



  1. ОС Linux или OC Windows;

  2. консольный файловый менеджер (Far под Windows или mc под Linux);

  3. виртуализатор VirtualBox (версии 4.0.4 или старше);

  4. система контроля версий Git (опционально средства интеграции со средами разработки).



Раздел 6. Темы вопросов к курсу в экзаменационных билетах.


  1. Понятие операционной системы и её место в программном обеспечении. Основные требования, предъявляемые к операционной системе. Операционная система, как расширенная или виртуальная машина. Операционная система, менеджер ресурсов.

  2. Определение процесса. Состояние процесса. Контекст процесса. Операции над процессами. Переключение контекста.

  3. Синхронизация процессов. Понятие критической секции. Программные решения проблемы критической секции.

  4. Определение потока исполнения. Особенности синхронизации потоков. Контекст исполнения.

  5. Семафоры. Типы семафоров (бинарный и общий или считающий). Использование семафоров для синхронизации процессов. Реализация семафоров.

  6. Виды семафоров. Семафор, как основной инструмент синхронизации. Классические задачи синхронизации: поставщик-потребитель, читатель-писатель.

  7. Условные переменные и мониторы. Реализация мониторов с помощью семафоров. Языковые средства, предоставляющие механизм мониторов.

  8. Определение тупиков. Условия появления тупиков. Основные подходы к проблеме тупиков.

  9. Планирование процессов. Основные алгоритмы планирования: «каруселька», приоритетное планирование, «кратчайшая задача первая».

  10. Управление прерываниями. Контроллеры прерываний. Отложенные прерывания и нижние половины. Контекст прерываний и особенности синхронизации нижних половин. Спин-блокировки и их разновидности.

  11. Управление памятью. Типы памяти (по скорости доступа). Стратегии распределения памяти: разделы фиксированного размера, разделы переменного размера, динамическое распределение памяти. Проблема уплотнения памяти.

  12. Виртуальная память. Страничная организация виртуальной памяти. Трансляция виртуальных адресов в реальные. Сегментная организация памяти. Аппаратные механизмы поддержки виртуальной памяти.

  13. Стратегии замещения страниц виртуальной памяти. Механизмы виртуализации памяти, как ресурса. Организация подкачки страниц.

  14. Особенности управления памятью в пространстве ядра. Разделение физической памяти на зоны. Страничная организация памяти в пространстве ядра. Механизмы кеширования памяти.

  15. Особенности управления памятью пространстве пользователя. Адресное пространство процесса. Области памяти в адресном пространстве процесса и их типы.

  16. Управление блочными устройствами ввода-вывода. Компромисс между пропускной способностью и временем доступа в операциях ввода-вывода. Планировщик и алгоритмы планирования ввода-вывода.

  17. Файловые системы. Понятие файла. Основные операции над файлами. Имена файлов. Организация файлов и доступ к ним.

  18. Модель виртуальной файловой системы. Дерево объектов, как универсальный механизм организации доступа к глобальным объектам. Специальные виды файлов.

  19. Защитные механизмы операционных систем. Идентификация и аутентификация. Авторизация. Механизмы ограничения доступа к глобальным объектам. Списки контроля доступа.


Смотрите также:
Рабочая программа по дисциплине «Операционные системы» для специальности 230101 «Вычислительные машины, комплексы, системы и сети»
220.81kb.
1 стр.
Учебный план по специальности 230101. 65 «Вычислительные машины, комплексы, системы и сети»
509.18kb.
4 стр.
Методические указания и контрольные задания Для студентов специальности 230101 «Вычислительные машины, комплексы, системы и сети»
229.33kb.
1 стр.
Учебно методический комплекс дисциплины экономическая социология
416.92kb.
3 стр.
Рабочая программа дисциплины компьютерная арифметика
192.33kb.
1 стр.
Программа дисциплины «Системное программное обеспечение»
246.8kb.
1 стр.
Учебно-методический комплекс по дисциплине численные методы специальность 230101. 65 Вычислительные машины, комплексы, системы и сети
188.42kb.
1 стр.
Программа дисциплины программирование на языке высокого уровня С++ для специальности 2201
100.63kb.
1 стр.
Шайтура Сергей Владимирович
30.19kb.
1 стр.
«Операционные системы. Командный интерфейс»
827.01kb.
5 стр.
Вопросы к экзамену: Зоопарк операционных систем
21.77kb.
1 стр.
Реферат по курсу «История Отечества»
331.96kb.
1 стр.