Презентация Лекция 4. Взаимодействие процессов онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Лекция 4. Взаимодействие процессов абсолютно бесплатно. Урок-презентация на эту тему содержит всего 35 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Лекция 4. Взаимодействие процессов
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:35 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:590.50 kB
- Просмотров:74
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№3 слайд
![Категории средств обмена](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img2.jpg)
Содержание слайда: Категории средств обмена информацией
Сигнальные.
Используются, как правило, для извещения процесса о наступлении какого-либо события.
Канальные.
"Общение" процессов происходит через линии связи, предоставленные операционной системой
Разделяемая память.
Два или более процессов могут совместно использовать некоторую область адресного пространства .
№8 слайд
![Псевдопараллельное выполнение](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img7.jpg)
Содержание слайда: Псевдопараллельное выполнение
P: x = 2 Q: x = 3
y = x-1 y = x+1
Результаты (x, y): (3, 4), (2, 1), (2, 3) и (3, 2)
набор активностей детерминирован, если всякий раз при псевдопараллельном исполнении для одного и того же набора входных данных он дает одинаковые выходные данные.
№9 слайд
![Достаточные условия](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img8.jpg)
Содержание слайда: Достаточные условия Бернстайна
Набор входных переменных программы - R(P)
Набор выходных переменных программы - W(P)
Если для двух данных активностей P и Q:
пересечение W(P) и W(Q) пусто,
пересечение W(P) с R(Q) пусто,
пересечение R(P) и W(Q) пусто,
тогда выполнение P и Q детерминировано. Если эти условия не соблюдены, возможно, параллельное выполнение P и Q детерминировано, а может быть, и нет.
№11 слайд
![Механизмы синхронизации](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img10.jpg)
Содержание слайда: Механизмы синхронизации выполнения программ упорядочивают доступ программ к данным
Недетерминированный набор программ имеет race condition (состояние гонки , состояние состязания)
Задачу упорядоченного доступа к разделяемым данным (устранение race condition) в том случае, когда нам не важна его очередность, можно решить, если обеспечить каждому процессу эксклюзивное право доступа к этим данным.
№12 слайд
![Критическая секция](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img11.jpg)
Содержание слайда: Критическая секция
Критическая секция – это часть программы, исполнение которой может привести к возникновению race condition для определенного набора программ.
Реализация взаимоисключения для критических секций программ с практической точки зрения означает, что по отношению к другим процессам, участвующим во взаимодействии, критическая секция начинает выполняться как атомарная операция.
while (some condition) {
entry section
critical section
exit section
remainder section}
№13 слайд
![Требования, предъявляемые к](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img12.jpg)
Содержание слайда: Требования, предъявляемые к алгоритмам
Задача должна быть решена чисто программным способом на обычной машине, не имеющей специальных команд взаимоисключения.
В программе не должно быть предположений о скорости или количестве процессоров.
Два процесса не должны одновременно находиться в критич. областях. (Условие взаимоисключения)
Процесс, находящийся вне критической области, не может блокировать другие процессы. (Условие прогресса)
Невозможна ситуация, в которой процесс вечно ждет попадания в критическую область.(Условие ограниченного ожидания)
№18 слайд
![Алгоритм Петерсона shared int](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img17.jpg)
Содержание слайда: Алгоритм Петерсона
shared int ready[2] = {0, 0};
shared int turn;
while (some condition) {
ready[i] = 1;
turn =i;
while(ready[1-i] && turn == i);
critical section
ready[i] = 0;
remainder section }
Два процесса не должны одновременно находиться в критич. областях. (Условие взаимоисключения)
Процесс, находящийся вне критической области, не может блокировать другие процессы. (Условие прогресса)
Невозможна ситуация, в которой процесс вечно ждет попадания в критическую область.(Условие ограниченного ожидания)
№19 слайд
![Обозначения a,b lt c,d , если](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img18.jpg)
Содержание слайда: Обозначения: (a,b) < (c,d), если a < c или если a == c и b < d
shared enum {false, true}
choosing[n];
shared int number[n];
while (some condition) {
choosing[i] = true;
number[i] = max(number[0], ...,number[n-1]) + 1;
choosing[i] = false;
for(j = 0; j < n; j++){
while(choosing[j]);
while(number[j] != 0 && (number[j],j) < (number[i],i)); }
critical section
number[i] = 0;
remainder section }
№21 слайд
![Семафоры Семафор представляет](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img20.jpg)
Содержание слайда: Семафоры
Семафор представляет собой целую переменную, принимающую неотрицательные значения, доступ любого процесса к которой, за исключением момента ее инициализации, может осуществляться только через две атомарные операции:
P (от датского слова proberen – проверять)
V (от verhogen – увеличивать).
P(S): пока S == 0 процесс блокируется; иначе S = S – 1;
V(S): S = S + 1;
№22 слайд
![Решение проблемы](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img21.jpg)
Содержание слайда: Решение проблемы producer-consumer с помощью семафоров
Semaphore mutex = 1;
Semaphore empty = N; /* где N – емкость буфера*/
Semaphore full = 0;
Producer: Consumer:
while(1) { while(1) {
produce_item; P(full);
P(empty); P(mutex);
P(mutex); get_item;
put_item; V(mutex);
V(mutex); V(empty);
V(full); } consume_item; }
№25 слайд
![Решение проблемы](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img24.jpg)
Содержание слайда: Решение проблемы producer-consumer с помощью мониторов 1
monitor ProducerConsumer {
condition full, empty;
int count;
void put() {
if(count == N) full.wait;
put_item;
count += 1;
if(count == 1) empty.signal;
}
P(S): пока S == 0 процесс блокируется; иначе S = S – 1;
V(S): S = S + 1;
№28 слайд
![Решение проблемы](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img27.jpg)
Содержание слайда: Решение проблемы производителя и потребителя с передачей сообщений 1
#define N 100 /* количество сегментов в буфере */
void producer(void)
{
int item;
message m: /* буфер для сообщений */
while (TRUE) {
produce_item(); /* сформировать нечто, чтобы заполнить буфер*/
/* ожидание прибытия пустого сообщения */
receive(consumer. &m);
/* сформировать сообщение для отправки */
build_message(&m, item);
send(consumer. &m): /* отослать элемент потребителю */
}
}
№29 слайд
![Решение проблемы](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img28.jpg)
Содержание слайда: Решение проблемы производителя и потребителя с передачей сообщений 2
void consumer(void)
{
int item, i;
message m;
for (i - 0; i < N; i++)
send(producer, &m) ; /* отослать N пустых сообщений */
while (TRUE) {
receive(producer. &m); /* получить сообщение с элементом */
item = extract_item(&m); /* извлечь элемент из сообщения */
send(producer, &m): /* отослать пустое сообщение */ consume_item(item): /* обработка элемента */
}
}
№32 слайд
![Неверное решение проблемы](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img31.jpg)
Содержание слайда: Неверное решение проблемы обедающих философов
#define N 5 /* Количество философов */
void philosospher (int i)/* i - номер философа, от 0 до 4 */
{
while(TRUE) {
think(); /* Философ размышляет */
takefork(i); /* Берет левую вилку */
takefork((i+l)% N);/* Берет правую вилку */
eat(); /* Спагетти, ням-ням */
putfork(i): /* Кладет на стол левую вилку */
putfork((i+l) % N): /* Кладет на стол правую вилку */ }
}
№35 слайд
![С праздником марта quot](/documents_6/644f030e98c3f18a2e6f3aff6f3e95d7/img34.jpg)
Содержание слайда: С праздником 14 марта
"Математику только зачем учить надо, что она ум в порядок приводит" (Ломоносов)
"Математика - гимнастика ума" (Суворов)
"Наука только тогда достигает совершенства, когда она начинает пользоваться математикой" (Маркс)
"Высшая математика убивает креативность" (Фурсенко, министр образования и науки РФ)
Скачать все slide презентации Лекция 4. Взаимодействие процессов одним архивом:
Похожие презентации
-
Препроцессор языка Си. Лекция 25
-
Взаимодействие с СУБД. Лекция 5
-
Библиотека MPI: Виртуальные топологии процессов. Лекция 6
-
Межпроцессное взаимодействие
-
Реализация взаимодействия процессов
-
Синхронизация процессов и потоков. Межпроцессное взаимодействие
-
Взаимодействие процессов: синхронизация, тупики
-
Межпроцессорное взаимодействие
-
Моделирование взаимодействия процессов
-
Система межпроцессного взаимодействия IPC