Алгоритмы дипетчеризации ОС реального времени
Заказать уникальную курсовую работу- 18 18 страниц
- 10 + 10 источников
- Добавлена 14.01.2016
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Аннотация 3
Введение 4
1. Теоретические основы диспетчеризации операционных систем реального времени 5
1.1 Процессы, потоки, задачи, ресурсы. Основные понятия 5
1.2 Взаимодействие процессов 8
2. Практические аспекты решения задач диспетчеризации операционных систем реального времени на примере задачи «О спящем парикмахере» 11
2.1 Постановка задачи 11
2.2 Алгоритм решения задачи 12
2.2.1 Символьное описание алгоритма 12
2.2.2 Графическое описание алгоритма 13
2.2.3 Основные процедурные решения 14
Заключение 17
Список использованной литературы 18
Для реализации описанного алгоритма целесообразно использовать три семафора:Подсчет ожидающих посетителей.Количество свободных парикмахеров (в нашем случае или 1, или 0).Реализация взаимного исключения.2.2.2 Графическое описание алгоритмаБлок-схема алгоритма решения представлена на рисунке 4.Рисунок 4 – Блок-схема алгоритма решения задачи «О спящем парикмахере»Так как в задачи исследования входит решение задачи через межпроцессное взаимодействие, то целесообразно построить конечный автомат состояний (см. рис. 5).Рисунок 5 – Конечный автомат состоянийПостроенный автомат имеет следующие особенности:выделены заключительные состояния;машина считывает символы с входной ленты ничего на неё не записывая;на каждом шаге автомат, считав символ с ленты и перейдя в новое состояние, обязательно передвигается на один символ вправо;автомат останавливается в случае достижения конца слова.2.2.3 Основные процедурные решенияКак уже отмечалось, для реализации решения задачи создаются три семафора – для подсчета ожидающих посетителей; для определения числа свободных парикмахеров; для реализации взаимного исключения.Создание семафора выполняется следующей командой:CreateSemaphore(NULL, 0, 1, "sem");Дополнительным инструментом программной реализации алгоритма является ввод переменнойwaiting, предназначение которой – подсчет ожидающих посетителей. Инициализация переменной происходит следующим образом:intwaiting;Ниже приведена часть программного кода, отвечающая за определение свободных мест в зале ожидания и, при их наличии, увеличение ожидающих:while (TRUE){WaitForSingleObject("sem",INFINITE);/file = fopen("H:\\lab1\\stulja.txt","r");fscanf( file, "%d", &waiting);fclose(file);ReleaseSemaphore("sem",1,NULL);if(waiting
1. Вдовикина Н.В., Машечкин И.В. Операционные системы: Взаимодействие процессов: Учебно-методическое пособие. – М.: Изд. отдел фак. ВМиК МГУ, 2008. – 215с.
2. Гордеев А.В. Операционные системы: Учебник для вузов. – СПб.:Питер, 2012. – 416с.
3. Гриценко Ю.Б. Системы реального времени: учебное пособие. - Спб.: Питер, 2010. – 147с.
4. Зиборов В.В. Visual C# 2012 на примерах. СПб: БХВ-Петербург, 2013. – 480с.
5. Одинцов И. Профессиональное программирование. Системный подход. – СПб.: БХВ-Петербург, 2010. – 605с.
6. Пугачев С., Шериев А. Разработка приложений для Windows 8 на языке C. СПб.: БХВ-Петербург, 2010. – 350с.
7. Таненбаум Э. Современные операционные системы. – Спб.: Питер, 2014. – 1120с.
8. Хейлсберг А. Язык программирования C++. СПб.:Питер, 2009.- 420с.
9. Хьюз К. Параллельное и распределенное программирование с использованием С++: Пер. с англ. – М.: Издательский дом «Вильямс», 2014. – 672с.
10. Анатольев А.Г. Системы реального времени: Конспект лекций [Электронный ресурс] Режим доступа - http://www.4stud.info/rtos/
Вопрос-ответ:
Какие основные понятия связаны с диспетчеризацией операционных систем реального времени?
Основные понятия, связанные с диспетчеризацией операционных систем реального времени, включают в себя процессы, потоки, задачи и ресурсы.
Как осуществляется взаимодействие между процессами в операционных системах реального времени?
В операционных системах реального времени взаимодействие между процессами осуществляется посредством различных механизмов, таких как разделяемая память, семафоры, сообщения и т.д.
Какую задачу решает алгоритм диспетчеризации операционных систем реального времени на примере задачи "О спящем парикмахере"?
Алгоритм диспетчеризации в реальном времени на примере задачи "О спящем парикмахере" решает задачу эффективного распределения ресурсов (парикмахерских кресел) между процессами (клиентами) с учетом требований реального времени.
Каким образом осуществляется взаимодействие между алгоритмами диспетчеризации и процессами в операционных системах реального времени?
Взаимодействие между алгоритмами диспетчеризации и процессами в операционных системах реального времени осуществляется посредством выделения процессорного времени, приоритетов выполнения задач и управления очередями на основе заданных алгоритмов.
Как можно описать алгоритм решения задачи диспетчеризации операционных систем реального времени графически?
Алгоритм решения задачи диспетчеризации операционных систем реального времени можно описать графически с помощью блок-схемы или диаграммы потоков данных, показывающих последовательность операций и взаимодействие между ними.
Какие основные понятия связаны с диспетчеризацией операционных систем реального времени?
Основные понятия, связанные с диспетчеризацией операционных систем реального времени, включают процессы, потоки, задачи и ресурсы. Процессы представляют собой исполняемые программы, которые выполняются в операционной системе. Потоки являются частями процессов и могут выполняться параллельно. Задачи представляют собой наборы процессов и потоков, которые выполняются в определенной последовательности. Ресурсы - это объекты, которые используются процессами для взаимодействия друг с другом или с операционной системой.
Как осуществляется взаимодействие между процессами в операционных системах реального времени?
Взаимодействие между процессами в операционных системах реального времени может осуществляться различными способами, включая синхронизацию и передачу данных. Процессы могут использовать мьютексы, семафоры и другие средства для синхронизации своей работы и предотвращения конфликтов доступа к общим ресурсам. Также процессы могут обмениваться данными через очереди сообщений или разделяемую память, что позволяет им взаимодействовать и передавать информацию друг другу.
Какая задача решается в примере о спящем парикмахере?
В примере о спящем парикмахере решается задача диспетчеризации в операционной системе реального времени. В этом примере процессы представляют клиентов, а ресурс - парикмахерскую стул. Парикмахер может обслуживать только одного клиента за раз, поэтому он должен выбрать, какой клиент будет следующим. Если в очереди нет клиентов, парикмахер засыпает и ожидает нового клиента. Когда появляется новый клиент, парикмахер его обслуживает, а остальные клиенты ожидают своей очереди.
Какой алгоритм решает задачу о спящем парикмахере? Как он описывается символьно и графически?
Алгоритм решения задачи о спящем парикмахере называется "алгоритм спящего парикмахера". В символьном описании алгоритм представляется последовательностью шагов и инструкций, которые выполняются для обслуживания клиентов. В графическом описании алгоритм может быть представлен в виде блок-схемы, где каждый блок представляет отдельный шаг или действие в алгоритме, а стрелки указывают направление выполнения.