русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Средства синхронизации при взаимодействии процессов


Дата добавления: 2013-12-23; просмотров: 779; Нарушение авторских прав


Алгоритмы планирования процессов

Лекция №4

 

Задачи:

1. Определение момента времени для смены процесса (решается программным способом)

2. Выбор процесса на выполнение из очереди готовых процессов (решается программным способом).

3. Переключение контекстов для старого и нового процессов (решается операторным способом).

Алгоритмы, основанные на:

Ø Квантовании: смена активного процесса происходит в случае, если:

Процесс завершился

Произошла ошибка

Процесс перешел в состояние ожидания

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

Ø Приоритете: число, характеризующее степень привилегированности процессов при использовании ресурсов – приоритетное число. Может быть положительным, отрицательным и т.д. Приоритет может быть и постоянным, и изменяющимся.

Алгоритмы, использующие:

§ Абсолютный приоритет (ОС может прервать выполнение процесса, выбрав другой)

§ Относительный приоритет (процесс будет выполняться до конца)

На выполнение будет выбираться процесс с наивысшим приоритетом.

Планирование:

1. невытесняющая многозадачность – процесс выполняется до тех пор, пока не отдаст свое управление.

2. вытесняющее многозадачность – способ, когда решение о переключении процессора с одного процесса на другой выполняется разработчиком, а не системой; механизм выполнения задач целиком зависит от системы, в то время, как при невытесняющей многозадачности решение принимает программист.

 

 

Ситуации, когда 2 и более процессов обрабатывают разделяемые данные и конечный результат зависит от скорости соотношения процессов, называется гонкой (+пример).

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



1 способ:

Чтобы исключить эффект гонок по отношению к некоторым ресурсам, необходимо обеспечить, чтобы в каждый момент критической секции, связанной с этими ресурсами, находился один процесс. Данный прием называется взаимным исключением.

2 способ:

С каждым разделяемым ресурсом связана двоичная переменная, с 1 и 0, которая определяет 1 – свободен ресурс, 0 – нет. Блокированные переменные – глобальные.

Недостаток: если процесс находится в критической секции, то второй процесс, которому требуется данный ресурс, тратит время на проверку.

Обобщающие средства синхронизации предложил Дейкстра, который ввел второй новый примитива - симофом. На симофоме определены 2 операции:

1) операция V(S) означает, что S увеличивается на 1 одним неделимым действием. Выбор ……… и запоминание …………. К S нет доступа при выполнении этой операции.

2) Операции P(S) означает уменьшение S на 1, если это возможно. Если переменная принимает значение 0, то уменьшить нет возможности, и переменная остается в области отрицательных чисел. Р – операция ждет, пока уменьшение станет возможным. Проверка ………………………. Операция Р заключает в себе потенциальную возможность перехода процесса, который её вызывает в состояние ожидания. V может активизировать процесс, приостановленного операцией Р.

Если симофом может принимать значение либо 0, либо 1, он превращается в блокирующую переменную.

Тупиковая ситуация:

2 процесса:

1 процессу нужен принтер и вытесняется ………..2 процесс захватывает диск. Каждый в своей критической секции. Нельзя выйти, т. к. 1 процессу нужен диск, а 2 процессу – принтер.

Проблемы тупиков:

Предотвращение (программистом)

Распознавание

Восстановление работы системы.

Процессы имеют виртуальное адресное пространство, содержимое регистров и т.д. В рамках одного процесса существует понятие «нить». Нить уже не настолько ограничена и обособлена, если на привязана к процессу. Нить выполняется также последовательно, имеет свой собственный программный счетчик и стек, может переходить из одного состояния в другой. Мы можем запустить несколько нитей в рамках одного процесса, который выполняются параллельно. Это нити-потомки, регистры. Для всех нитей общее адресное пространство, глобальные переменные, открытые файлы, симофомы, статистика.

 



<== предыдущая лекция | следующая лекция ==>
Понятие процесса. Управление процессами. Синхронизация процессов. Тупики и способы борьбы с ними. | Файловые системы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.699 сек.