русс | укр

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

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

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

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


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

Проектирование взаимодействующих вычислительных процессов.


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


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

Различные ОС имеют разные средства синхронизации.

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

 

Параллельными называются процессы, которые одновременно находятся в каком-либо активном состоянии.

Два параллельных процесса могут быть независимыми.

 

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

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

Взаимодействующие – это те процессы, которые совместно используют некоторые переменные и выполнение одного может влиять на выполнение другого.

 

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

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

 

Взаимодействовать могут 2 разновидности процессов: конкурирующие и совместно исполняющие некоторую работу. Конкурирующие действуют в некотором плане независимо, но имеют доступ к некоторым переменным.

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



 

Пример:

Имеются 2 процесса Р1 и Р2 с общей переменной х. Пусть эти 2 процесса независимы друг от друга, изменяют это значение при этом используется некоторая область операционной памяти.

 

№ оператора Р1 № оператора Р2
R1:=x R2:=x
R1: R1+1 R2: R2+1
X:= R1 X:= R2

 

Оба процесса могут исполняться с разной скоростью, поэтому время исполнения 1-6 не предсказуемо. Рассмотрим 2 случая:

Первый случай – когда используются операторы 1,2,3, а затем 4,5,6.

 

P1 R1:=x R1:=R1+1 x:=R1

 

P2 R2:=x R2:=R2+1 x:=R2

X

 

 

2 случай – когда в исполнение 1,2,3 вмешиваются 4,5,6

 

P1 R1:=x R1:=R1+1 x:=R1

 

P2 R2: =x R2: =R2+1 x: =R2

X

 

 



<== предыдущая лекция | следующая лекция ==>
Дисциплины диспетчеризации. | Лекция 7.


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


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

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

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


 


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

 
 

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

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