Рабочая программа по дисциплине «Операционные системы»




Скачать 198.69 Kb.
НазваниеРабочая программа по дисциплине «Операционные системы»
Дата публикации17.03.2013
Размер198.69 Kb.
ТипРабочая программа
odtdocs.ru > Информатика > Рабочая программа
Министерство образования и науки Российской Федерации

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

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

и информационных технологий

РАБОЧАЯ ПРОГРАММА
по дисциплине «Операционные системы»
для направления 230100 — «Информатика и
вычислительная техника»
реализуемой на факультете
компьютерных наук и информационных технологий

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

Рабочая программа составлена в соответствии с Государственным образова­тельным стандартом по направлению 230100 – «Информатика и вычисли­тельная техника» (номер государственной регистрации 35 тех/бак. от «13» марта 2000 г.)



ОДОБРЕНО:




УТВЕРЖДАЮ:




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




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







Салий В.Н.







Елина Е.Г.

«




»




2011 г.




«




»




2011 г.







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




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




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

«




»




2011 г.



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

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

очная

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

заочная

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

90







В том числе:

- лекции;

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

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


36

36

18







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

50







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

6







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

6







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

-







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












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







Тяпаев Л.Б.




Автор







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




«




»




2011 г.






^

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

^

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


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

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


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

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

Всего

в том числе

Лекции

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

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

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

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

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


^

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

1.Лекционные занятия

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.Практические занятия


  1. Создание процессов и запуск приложений

  2. Изучение механизмом межпроцессного взаимодействия (не именованные каналы, именованные каналы, локальные сокеты, общая память, очереди сообщений)

  3. Создание скриптов для командной оболочки, изучение передачи аргументов командам и приложениям

  4. Реализация событийно-ориентированных приложений с асинхронным вводом-выводом на основе цикла обработки сообщений

  5. Изучение программных интерфейсов работы с потоками соответствующих прими­тивов синхронизации

  6. Реализация модулей ядра
^

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


Курсовая работа не планируется

4.Виды самостоятельной работы


  1. Изучение основной литературы

  2. Изучение кроссплатформенных средств разработки

  3. Изучение инструментов отладки в виртуальной среде

  4. Проектирование и реализация практических заданий

  5. Оформление кода и публикация результатов проектирования и реализации

  6. Составление документации к реализованным практическим заданиям
^

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

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


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

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

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


^

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


  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/



^

V.Перечень средств обучения.


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

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

  1. ОС Linux или OC Windows;

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

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

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



^

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Добавить документ в свой блог или на сайт

Похожие:

Рабочая программа по дисциплине «Операционные системы»
Рабочая программа составлена в соответствии с Государственным образова­тельным стандартом высшего профессионального образования по...

Рабочая программа по дисциплине «Операционные системы»
Рабочая программа составлена в соответствии с Государственным образова­тельным стандартом по направлению 230100 – «Информатика и...

Рабочая программа по дисциплине «Системы реального времени»
Рабочая программа составлена в соответствии с Государственным образова­тельным стандартом высшего профессионального образования по...

Курсовая работа по дисциплине «Операционные Системы»
Написанная программа организовывает взаимодействие между ядром операционной системы, от которого поступают запросы, субд, управляющей...

Рабочая программа по дисциплине «Системы реального времени»
Рабочая программа составлена в соответствии с Государственным образова­тельным стандартом по направлению 230100 – «Информатика и...

Рабочая программа по дисциплине «Технологии программирования»
Рабочая программа составлена в соответствии с Государственным образова­тельным стандартом высшего профессионального образования по...

Рабочая программа по дисциплине «Технологии программирования»
Рабочая программа составлена в соответствии с Государственным образова­тельным стандартом по направлению 230100 – «Информатика и...

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

Рабочая учебная программа по дисциплине (предмету) разрабатывается...
Рабочая учебная программа разрабатывается на основании статьи №32 Закона РФ «Об образовании»

Рабочая программа по дисциплине «Иностранный язык (немецкий язык)»
Данная программа рассчитана для слушателей, начинающих изучать немецкий язык. Рабочая программа предусматривает подготовку слушателей,...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
odtdocs.ru
Главная страница