
на первый
заказ
Решение задач на тему: Процессы. Основные понятия о процессах. Взаимодействие процессов
Купить за 100 руб.Введение
В определенных операционных системах есть такие совместно работающие процессы, которые сообща могут использовать некоторое общее хранилище данных. У каждого из процессов есть возможность считывать что-либо из общего хранилища данных и записывать туда информацию. Хранилище - это участок в основной памяти в структуре данных ядра или же файл общего доступа. Существуют ситуации, в которых несколько процессов одновременно считывают или записывают данные и в зависимости от того, какой из них был первым, выводится конечный результат. Такие ситуации называют состояниями состязания.Для того чтобы избежать состязания существуют различные способы, одним из основных является предотвращение проблем в этой и любых других ситуациях, которые будут связаны с конкурентным использованием памяти и файлов, то есть запрет одновременной записи и чтения разделяемых данных более чем одним процессом. Другими словами, требуется взаимное исключение, а именно, в тот момент, когда один процесс использует общие данные, другому процессу это делать будет запрещено. Выбор подходящей операции, которая реализует взаимное исключение, является важным моментом разработки операционной системы.
Проблему исключения состояний состязания можно определить следующим образом. Определенный интервал времени процесс занят внутренними расчетами и другими задачами, которые не приводят к состояниям состязания. В другие интервалы времени процесс обращается к совместно используемым данным или выполняет любое другое действие, которое может привести к состязанию. Фрагмент программы, в которой происходит обращение к совместно используемым данным, называется критической областью или критической секцией. В случае, если получится избежать одновременного нахождения двух и более процессов в критических областях, удастся избежать состязаний. Поставленное требование исключает состязание, но, несмотря на это, его недостаточно для верной совместной работы параллельных процессов и успешного использования общих данных. Для этого должны выполняться следующие условия.
Два процесса не могут одновременно находиться в критических областях.
В программе недопустимы предположения о скорости или количестве процессоров.
У процесса, который находится вне критической области, нет возможности блокировки других процессов.
Недопустима ситуация, в которой процесс постоянно ждет попадания в критическую секцию.
Первый, кто разработал программное решение проблемы взаимного исключения, которое не требует строгого чередования, был датский математик Деккер. В 1981 году Петерсоном был придуман более простой алгоритм взаимного исключения и вариант Деккера стал считаться устаревшим.
Оглавление
- Введение- Процессы
- Основные понятия о процессах
- Взаимодействие процессов
- Критические интервалы
- Понятие критических интервалов
- Взаимное исключение критических интервалов
- Примитив взаимоисключения
- Алгоритм деккера
- Алгоритм петерсона
- Задача о синхронизации стрелков
- Постановка задачи
- Алгоритм решения задачи
- Программная реализация задачи ЗАКЛЮЧЕНИЕ
- Список использованной литературы
- процесс критический интервал алгоритм
Заключение
В данной работе были освещены такие темы, как процессы и их взаимодействия, критические секции и принцип их взаимоисключения, а так же рассмотрели алгоритм Деккера и алгоритм Петерсона.Алгоритм Деккера - первое известное корректное решение проблемы взаимного исключения в конкурентном программировании. Он позволяет двум потокам выполнения совместно использовать неразделяемый ресурс без возникновения конфликтов, используя только общую память для коммуникации. Но алгоритм Деккера неудобен в случае использования более 2 процессов, более удобной будет являться его модификация, известная как алгоритм Петерсона. Одним из преимуществ алгоритма является то, что он не требует специальных Теst-аnd-sеt инструкций и вследствие этого он легко переносим на разные языки программирования и архитектуры компьютеров. Таким образом, данный алгоритм оптимизирует управление работой многозадачных операционных и многопроцессорных вычислительных систем.
Список литературы
А. О. Ключев, П. В. Кустарев, Д. Р. Ковязина, Е. В. Петров. Программное обеспечение встроенных вычислительных систем. Учебное пособие. ИТМО. Санкт-Петербург, 2009. 92-95 с.А. А. Безбогов, А. В. Яковлев, Ю. Ф. Мартемьянов. Безопасность операционных систем. Учебное пособие. Издательство "Машиностроение-1". Москва, 2007
Э. Таненбаум. Современные операционные системы, 2 издание. Издательство "Питер". Санкт-Петербург, 2002
Ю. В. Кочержинская. Курс лекций по дисциплине "Теория вычислительных процессов", 2014г.
"Средства коммуникации процессов" - [Электронный ресурс]. URL: <http://txt.rushkolnik.ru/docs/index-7896.html> (дата обращения 09.12.2014)
или зарегистрироваться
в сервисе
удобным
способом
вы получите ссылку
на скачивание
к нам за прошлый год