🗊 Презентация Лекция 4. Взаимодействие процессов

Нажмите для полного просмотра!
Лекция 4. Взаимодействие процессов, слайд №1 Лекция 4. Взаимодействие процессов, слайд №2 Лекция 4. Взаимодействие процессов, слайд №3 Лекция 4. Взаимодействие процессов, слайд №4 Лекция 4. Взаимодействие процессов, слайд №5 Лекция 4. Взаимодействие процессов, слайд №6 Лекция 4. Взаимодействие процессов, слайд №7 Лекция 4. Взаимодействие процессов, слайд №8 Лекция 4. Взаимодействие процессов, слайд №9 Лекция 4. Взаимодействие процессов, слайд №10 Лекция 4. Взаимодействие процессов, слайд №11 Лекция 4. Взаимодействие процессов, слайд №12 Лекция 4. Взаимодействие процессов, слайд №13 Лекция 4. Взаимодействие процессов, слайд №14 Лекция 4. Взаимодействие процессов, слайд №15 Лекция 4. Взаимодействие процессов, слайд №16 Лекция 4. Взаимодействие процессов, слайд №17 Лекция 4. Взаимодействие процессов, слайд №18 Лекция 4. Взаимодействие процессов, слайд №19 Лекция 4. Взаимодействие процессов, слайд №20 Лекция 4. Взаимодействие процессов, слайд №21 Лекция 4. Взаимодействие процессов, слайд №22 Лекция 4. Взаимодействие процессов, слайд №23 Лекция 4. Взаимодействие процессов, слайд №24 Лекция 4. Взаимодействие процессов, слайд №25 Лекция 4. Взаимодействие процессов, слайд №26 Лекция 4. Взаимодействие процессов, слайд №27 Лекция 4. Взаимодействие процессов, слайд №28 Лекция 4. Взаимодействие процессов, слайд №29 Лекция 4. Взаимодействие процессов, слайд №30 Лекция 4. Взаимодействие процессов, слайд №31 Лекция 4. Взаимодействие процессов, слайд №32 Лекция 4. Взаимодействие процессов, слайд №33 Лекция 4. Взаимодействие процессов, слайд №34 Лекция 4. Взаимодействие процессов, слайд №35

Содержание

Вы можете ознакомиться и скачать презентацию на тему Лекция 4. Взаимодействие процессов. Доклад-сообщение содержит 35 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Взаимодействие процессов
Описание слайда:
Взаимодействие процессов

Слайд 2


Причины взаимодействия процессов Повышение скорости работы. Совместное использование данных. Модульная конструкция системы. Удобство работы...
Описание слайда:
Причины взаимодействия процессов Повышение скорости работы. Совместное использование данных. Модульная конструкция системы. Удобство работы пользователя

Слайд 3


Категории средств обмена информацией Сигнальные. Используются, как правило, для извещения процесса о наступлении какого-либо события. Канальные....
Описание слайда:
Категории средств обмена информацией Сигнальные. Используются, как правило, для извещения процесса о наступлении какого-либо события. Канальные. "Общение" процессов происходит через линии связи, предоставленные операционной системой Разделяемая память. Два или более процессов могут совместно использовать некоторую область адресного пространства .

Слайд 4


Логическая организация механизма передачи информации Порядок установления связи. Адресация – прямая и непрямая Количество участников сеанса связи...
Описание слайда:
Логическая организация механизма передачи информации Порядок установления связи. Адресация – прямая и непрямая Количество участников сеанса связи Направленность связи - симплексная - полудуплексная - дуплексная Способ завершения сеанса связи

Слайд 5


Особенности передачи информации с помощью линий связи Буферизация -Буфер нулевой емкости или отсутствует. -Буфер ограниченной емкости. -Буфер...
Описание слайда:
Особенности передачи информации с помощью линий связи Буферизация -Буфер нулевой емкости или отсутствует. -Буфер ограниченной емкости. -Буфер неограниченной емкости. Две модели передачи данных - Поток -Сообщения Надежность средств связи

Слайд 6


Условия надежности средств связи Не происходит потери информации. Не происходит повреждения информации. Не появляется лишней информации. Не...
Описание слайда:
Условия надежности средств связи Не происходит потери информации. Не происходит повреждения информации. Не появляется лишней информации. Не нарушается порядок данных в процессе обмена.

Слайд 7


Активности и атомарные операции Активности- последовательное выполнение ряда действий, направленных на достижение определенной цели. Атомарные,...
Описание слайда:
Активности и атомарные операции Активности- последовательное выполнение ряда действий, направленных на достижение определенной цели. Атомарные, операции- неделимые P: a b c Q: d e f PQ: a b c d e f а b c d e f a b d c e f … a d b c e f ...... d e f a b c

Слайд 8


Псевдопараллельное выполнение P: x = 2 Q: x = 3 y = x-1 y = x+1 Результаты (x, y): (3, 4), (2, 1), (2, 3) и (3, 2) набор активностей детерминирован,...
Описание слайда:
Псевдопараллельное выполнение P: x = 2 Q: x = 3 y = x-1 y = x+1 Результаты (x, y): (3, 4), (2, 1), (2, 3) и (3, 2) набор активностей детерминирован, если всякий раз при псевдопараллельном исполнении для одного и того же набора входных данных он дает одинаковые выходные данные.

Слайд 9


Достаточные условия Бернстайна Набор входных переменных программы - R(P) Набор выходных переменных программы - W(P) Если для двух данных активностей...
Описание слайда:
Достаточные условия Бернстайна Набор входных переменных программы - R(P) Набор выходных переменных программы - W(P) Если для двух данных активностей P и Q: пересечение W(P) и W(Q) пусто, пересечение W(P) с R(Q) пусто, пересечение R(P) и W(Q) пусто, тогда выполнение P и Q детерминировано. Если эти условия не соблюдены, возможно, параллельное выполнение P и Q детерминировано, а может быть, и нет.

Слайд 10


Пример условий Бернстайна P: x=u+v; y=x*w; получаем R(P) = {u, v, x, w}, W(P) = {x, y}
Описание слайда:
Пример условий Бернстайна P: x=u+v; y=x*w; получаем R(P) = {u, v, x, w}, W(P) = {x, y}

Слайд 11


Механизмы синхронизации выполнения программ упорядочивают доступ программ к данным Недетерминированный набор программ имеет race condition (состояние...
Описание слайда:
Механизмы синхронизации выполнения программ упорядочивают доступ программ к данным Недетерминированный набор программ имеет race condition (состояние гонки , состояние состязания) Задачу упорядоченного доступа к разделяемым данным (устранение race condition) в том случае, когда нам не важна его очередность, можно решить, если обеспечить каждому процессу эксклюзивное право доступа к этим данным.

Слайд 12


Критическая секция Критическая секция – это часть программы, исполнение которой может привести к возникновению race condition для определенного...
Описание слайда:
Критическая секция Критическая секция – это часть программы, исполнение которой может привести к возникновению race condition для определенного набора программ. Реализация взаимоисключения для критических секций программ с практической точки зрения означает, что по отношению к другим процессам, участвующим во взаимодействии, критическая секция начинает выполняться как атомарная операция. while (some condition) { entry section critical section exit section remainder section}

Слайд 13


Требования, предъявляемые к алгоритмам Задача должна быть решена чисто программным способом на обычной машине, не имеющей специальных команд...
Описание слайда:
Требования, предъявляемые к алгоритмам Задача должна быть решена чисто программным способом на обычной машине, не имеющей специальных команд взаимоисключения. В программе не должно быть предположений о скорости или количестве процессоров. Два процесса не должны одновременно находиться в критич. областях. (Условие взаимоисключения) Процесс, находящийся вне критической области, не может блокировать другие процессы. (Условие прогресса) Невозможна ситуация, в которой процесс вечно ждет попадания в критическую область.(Условие ограниченного ожидания)

Слайд 14


Запрет прерываний while (some condition) { запретить все прерывания critical section разрешить все прерывания remainder section }
Описание слайда:
Запрет прерываний while (some condition) { запретить все прерывания critical section разрешить все прерывания remainder section }

Слайд 15


Переменная-замок shared int lock = 0; /* shared означает, что переменная является разделяемой */ while (some condition) { while(lock); lock = 1;...
Описание слайда:
Переменная-замок shared int lock = 0; /* shared означает, что переменная является разделяемой */ while (some condition) { while(lock); lock = 1; critical section lock = 0; remainder section }

Слайд 16


Строгое чередование shared int turn = 0; while (some condition) { while(turn != i); critical section turn = 1-i; remainder section }
Описание слайда:
Строгое чередование shared int turn = 0; while (some condition) { while(turn != i); critical section turn = 1-i; remainder section }

Слайд 17


Флаги готовности shared int ready[2] = {0, 0}; while (some condition) { ready[i] = 1; while(ready[1-i]); critical section ready[i] = 0; remainder...
Описание слайда:
Флаги готовности shared int ready[2] = {0, 0}; while (some condition) { ready[i] = 1; while(ready[1-i]); critical section ready[i] = 0; remainder section }

Слайд 18


Алгоритм Петерсона shared int ready[2] = {0, 0}; shared int turn; while (some condition) { ready[i] = 1; turn =i; while(ready[1-i] && turn == i);...
Описание слайда:
Алгоритм Петерсона 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) < (c,d), если a < c или если a == c и b < d shared enum {false, true} choosing[n]; shared int number[n]; while (some condition) {...
Описание слайда:
Обозначения: (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 }

Слайд 20


Аппаратная поддержка взаимоисключений int Test_and_Set (int *target){ int tmp = *target; *target = 1; return tmp; } shared int lock = 0; while (some...
Описание слайда:
Аппаратная поддержка взаимоисключений int Test_and_Set (int *target){ int tmp = *target; *target = 1; return tmp; } shared int lock = 0; while (some condition) { while(Test_and_Set(&lock)); critical section lock = 0; remainder section }

Слайд 21


Семафоры Семафор представляет собой целую переменную, принимающую неотрицательные значения, доступ любого процесса к которой, за исключением момента...
Описание слайда:
Семафоры Семафор представляет собой целую переменную, принимающую неотрицательные значения, доступ любого процесса к которой, за исключением момента ее инициализации, может осуществляться только через две атомарные операции: P (от датского слова proberen – проверять) V (от verhogen – увеличивать). P(S): пока S == 0 процесс блокируется; иначе S = S – 1; V(S): S = S + 1;

Слайд 22


Решение проблемы producer-consumer с помощью семафоров Semaphore mutex = 1; Semaphore empty = N; /* где N – емкость буфера*/ Semaphore full = 0;...
Описание слайда:
Решение проблемы 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; }

Слайд 23


Мьютекс (mutex, сокращение от mutual exclusion — взаимное исключение) Мьютекс — переменная, которая может находиться в одном из двух состояний:...
Описание слайда:
Мьютекс (mutex, сокращение от mutual exclusion — взаимное исключение) Мьютекс — переменная, которая может находиться в одном из двух состояний: блокированном или неблокированном. Две процедуры mutex Lock mutex_unlock

Слайд 24


Мониторы monitor monitor_name { //описание внутренних переменных ; void m1(...){... } void m2(...){... } ... void mn(...){... } { блок инициализации...
Описание слайда:
Мониторы monitor monitor_name { //описание внутренних переменных ; void m1(...){... } void m2(...){... } ... void mn(...){... } { блок инициализации внутренних переменных; } }

Слайд 25


Решение проблемы producer-consumer с помощью мониторов 1 monitor ProducerConsumer { condition full, empty; int count; void put() { if(count == N)...
Описание слайда:
Решение проблемы 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;

Слайд 26


Решение проблемы producer-consumer с помощью мониторов 2 void get() { if (count == 0) empty.wait; get_item(); count -= 1; if(count == N-1)...
Описание слайда:
Решение проблемы producer-consumer с помощью мониторов 2 void get() { if (count == 0) empty.wait; get_item(); count -= 1; if(count == N-1) full.signal; } { count = 0; } }

Слайд 27


Решение проблемы producer-consumer с помощью мониторов 3 Producer: Consumer: while(1) while(1) { { produce_item; ProducerConsumer.get();...
Описание слайда:
Решение проблемы producer-consumer с помощью мониторов 3 Producer: Consumer: while(1) while(1) { { produce_item; ProducerConsumer.get(); ProducerConsumer.put(); consume_item; } }

Слайд 28


Решение проблемы производителя и потребителя с передачей сообщений 1 #define N 100 /* количество сегментов в буфере */ void producer(void) { int...
Описание слайда:
Решение проблемы производителя и потребителя с передачей сообщений 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


Решение проблемы производителя и потребителя с передачей сообщений 2 void consumer(void) { int item, i; message m; for (i - 0; i < N; i++)...
Описание слайда:
Решение проблемы производителя и потребителя с передачей сообщений 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): /* обработка элемента */ } }

Слайд 30


Барьеры
Описание слайда:
Барьеры

Слайд 31


Проблема обедающих философов
Описание слайда:
Проблема обедающих философов

Слайд 32


Неверное решение проблемы обедающих философов #define N 5 /* Количество философов */ void philosospher (int i)/* i - номер философа, от 0 до 4 */ {...
Описание слайда:
Неверное решение проблемы обедающих философов #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): /* Кладет на стол правую вилку */ } }

Слайд 33


Проблема читателей и писателей
Описание слайда:
Проблема читателей и писателей

Слайд 34


Проблема спящего брадобрея
Описание слайда:
Проблема спящего брадобрея

Слайд 35


С праздником 14 марта "Математику только зачем учить надо, что она ум в порядок приводит" (Ломоносов) "Математика - гимнастика...
Описание слайда:
С праздником 14 марта "Математику только зачем учить надо, что она ум в порядок приводит" (Ломоносов) "Математика - гимнастика ума" (Суворов) "Наука только тогда достигает совершенства, когда она начинает пользоваться математикой" (Маркс) "Высшая математика убивает креативность" (Фурсенко, министр образования и науки РФ)



Похожие презентации
Mypresentation.ru
Загрузить презентацию