Тупики, возникающие при синхронизации процессов
РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПЕЧАТИ ИМЕНИ ИВАНА ФЕДОРОВА» УТВЕРЖДАЮ Проректор по учебной работе ______________ Т.В. Маркелова «_____» ___________2011 г. РАБОЧАЯ ПРОГРАММА
Москва - 2011 г Составитель: ____ ст.пр.Д.В. Красновский _____ Рецензенты: __ _____ _________________________ Рабочая программа обсуждена на заседании кафедры «Медиасистемы и технологии» «_ 04 _» __ мая 2011г.__, протокол №_ 4-11 __.
Зав. кафедрой _________________ /А.Е. Иванова/
Одобрена Советом факультета информационных технологий и медиасистем
«_ 17 _» ____ мая 2011г. ___________, протокол № ________ 9 ______.
Председатель ________________/А.Е.Иванова/
ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ Целью дисциплины является ознакомление учащихся с основами теории операционных систем (ОС), основами популярных современных ОС, а также получение навыков практической работы в современных ОС.
Основными задачами изучения дисциплины являются: · формирование у студентов минимально необходимых знаний об организации и принципах работы современных операционных систем; · развитие навыков практической работы и скриптового программирования в операционной системе Linux.
ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ СОДЕРЖАНИЯ ДИСЦИПЛИНЫ
В результате изучения дисциплины студент должен: Знать
Уметь: пользоваться основными командами ОС Linux, пользоваться ими поодиночке и в комбинациях из командной строки ОС; составлять и запускать на выполнение простейшие скриптовые файлы (командные файлы) для данной ОС; выполнять простейшие настройки ОС и ее сетевых параметров. Владеть: начальными навыками скриптового программирования в командной оболочке ОС и настройки ОС и ее сетевых параметров. СОДЕРЖАНИЕ РАЗДЕЛОВ ДИСЦИПЛИНЫ Структура вычислительной системы и краткая история операционных систем Структура вычислительной системы; что такое ОС, ОС как виртуальная машина. ОС как менеджер ресурсов; ОС как защитник пользователей и программ; ОС как постоянно функционирующее ядро. Краткая история эволюции вычислительных систем. Первый период (1945–1955 гг.); ламповые машины; Операционных систем нет. Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы. Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ОС. Четвертый период (с 1980 г. по настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы.
Основные понятия, концепции, основы архитектуры, классификация ОС Основные понятия, концепции ОС. Системные вызовы; прерывания; исключительные ситуации; файлы; процессы, нити. Архитектурные особенности ОС. Монолитное ядро; многоуровневые системы (Layered systems); виртуальные машины; микроядерная архитектура; смешанные системы. Классификация ОС. Реализация многозадачности; поддержка многопользовательского режима; многопроцессорная обработка; системы реального времени.
Начальные сведения о процессах и их планировании Понятие процесса. Состояния процесса. Операции над процессами и связанные с ними понятия. Набор операций. Process Control Block и контекст процесса. Одноразовые операции. Многоразовые операции. Переключение контекста. Планирование процессов. Уровни планирования. Критерии планирования и требования к алгоритмам. Параметры планирования. Вытесняющее и невытесняющее планирование.
Алгоритмы планирования процессов Алгоритмы планирования: First-Come, First-Served (FCFS), Round Robin (RR), Shortest-Job-First (SJF), Гарантированное планирование, Приоритетное планирование. Многоуровневые очереди (Multilevel Queue). Многоуровневые очереди с обратной связью (Multilevel Feedback Queue).
Кооперация процессов Взаимодействующие процессы. Категории средств обмена информацией. Логическая организация механизма передачи информации. Как устанавливается связь? Информационная валентность процессов и средств связи. Особенности передачи информации с помощью линий связи. Буферизация. Поток ввода/вывода и сообщения. Надежность средств связи. Как завершается связь. Нити исполнения.
Синхронизация процессов Алгоритмы синхронизации. Interleaving, race condition и взаимоисключения. Критическая секция. Программные алгоритмы организации взаимодействия процессов. Требования, предъявляемые к алгоритмам. Запрет прерываний. Переменная-замок. Строгое чередование. Флаги готовности. Алгоритм Петерсона. Алгоритм булочной (Bakery algorithm). Аппаратная поддержка взаимоисключений Механизмы синхронизации. Семафоры. Концепция семафоров. Решение проблемы producer - consumer с помощью семафоров. Мониторы. Сообщения. Эквивалентность семафоров, мониторов и сообщений. Реализация мониторов и передачи сообщений с помощью семафоров. Реализация семафоров и передачи сообщений с помощью мониторов. Реализация семафоров и мониторов с помощью очередей сообщений.
Тупики, возникающие при синхронизации процессов Условия возникновения тупиков. Основные направления борьбы с тупиками. Игнорирование проблемы тупиков. Способы предотвращения тупиков. Способы предотвращения тупиков путем тщательного распределения ресурсов. Алгоритм банкира. Предотвращение тупиков за счет нарушения условий возникновения тупиков. Нарушение условия взаимоисключения. Нарушение условия ожидания дополнительных ресурсов. Обнаружение тупиков. Восстановление после тупиков.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|