Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Эквивалентность семафоров, мониторов и сообщений

Содержание

Эквивалентность семафоров, мониторов и сообщений Реализация мониторов через семафорыSemaphore mut_ex = 1; /* Для организации взаимоисключения */При входе в мониторПри нормальном выходе из монитораvoid mon_enter (void){ P(mut_ex);}void mon_exit (void){ V(mut_ex);}Semaphore ci = 0; int
Архитектура операционных систем  Лекция 1.7 Эквивалентность семафоров, мониторов и сообщений Реализация мониторов через семафорыSemaphore mut_ex = 1; Эквивалентность семафоров, мониторов и сообщений Реализация сообщений через семафорыбуферДля каждого процесса: Semaphore Эквивалентность семафоров, мониторов и сообщений Реализация сообщений через семафорыбуферДля каждого процесса: Semaphore Эквивалентность семафоров, мониторов и сообщений Реализация семафоров через мониторыMonitor sem { Эквивалентность семафоров, мониторов и сообщений Реализация семафоров через сообщения Тупики Условия возникновения тупиков1 Взаимоисключения2 Ожидания ресурсов3 Неперераспределяемости4 Кругового ожидания Основные направления борьбы с тупиками1 Игнорирование проблемы в целом2 Предотвращение тупиков3 Обнаружение тупиков4 Восстановление после тупиков Управление памятью Иерархия памятиВторичная памятьОперативная памятьКэшРегистрыСтоимость  одного битаВремя доступаОбъемУправляется ОСУправляется менеджером памяти Принцип локальностиБольшинство реальных программ в течение некоторого отрезка времени работает с небольшим Проблема разрешения адресовЧеловеку свойственно символическое мышление. Адреса (имена) переменных описываются идентификаторами, формируя Связывание адресовДругие объектные модулиЗагрузчикДвоичный  образ  в памятиСистемные  библиотекиДинамические Логическое адресное пространствоСимвольное адресное пространство – совокупность всех допустимых идентификаторов переменныхЛогическое адресное Функции ОС и hardware  для управления памятьюОтображение логического адресного пространства процесса Однопрограммная вычислительная системаОСОС0Процесс пользователяПроцесс пользователя Схема  с фиксированными разделамиОС0Раздел 1Раздел 2Раздел 3Задание 1Задание 2Задание 3Задание 4Очередь Внутренняя фрагментацияОС0Раздел 1Раздел 2Раздел 3Процесс 1Процесс 2Процесс 3Внутренняя фрагментация – «потеря» части Способы  организации больших программОверлейная структура	Программа разбивается на несколько частей. Постоянно в
Слайды презентации

Слайд 2



Эквивалентность семафоров, мониторов и сообщений
Реализация мониторов через

Эквивалентность семафоров, мониторов и сообщений Реализация мониторов через семафорыSemaphore mut_ex =

семафоры
Semaphore mut_ex = 1; /* Для организации взаимоисключения */
При

входе в монитор

При нормальном выходе из монитора

void mon_enter (void){
P(mut_ex);
}

void mon_exit (void){
V(mut_ex);
}

Semaphore ci = 0; int fi = 0; /* Для каждой условной переменной */

Для операции wait

void wait (i){
fi += 1;
V(mut_ex); P(ci);
fi -= 1;
}

Для операции signal

void signal_exit (i){
if (fi) V(ci);
else V(mut_ex);
}


Слайд 3 Эквивалентность семафоров, мониторов и сообщений
Реализация сообщений через

Эквивалентность семафоров, мониторов и сообщений Реализация сообщений через семафорыбуферДля каждого процесса:

семафоры
буфер
Для каждого процесса: Semaphore ci = 0;
Очередь на чтение
Очередь

на запись

Один на всех: Semaphore mut_ex = 1;

Чтение

P(mut_ex)

Есть msg?

– встать в очередь

– V(mut_ex)

– P(ci)

– прочитать

– есть кто на запись?

– V(mut_ex)

– удалить

– V(cj)

Semaphore cj = 0;

Один на всех: Semaphore mut_ex = 0;

-нет

Pi

-да

M1

-нет

Pj

-да

Semaphore cj = 1;


Слайд 4 Эквивалентность семафоров, мониторов и сообщений
Реализация сообщений через

Эквивалентность семафоров, мониторов и сообщений Реализация сообщений через семафорыбуферДля каждого процесса:

семафоры
буфер
Для каждого процесса: Semaphore ci = 0;
Очередь на чтение
Очередь

на запись

Один на всех: Semaphore mut_ex = 1;

Запись

P(mut_ex)

Есть место?

– встать в очередь

– V(mut_ex)

– P(ci)

– записать

– есть кто на чтение?

– V(mut_ex)

– удалить

– V(cj)

Semaphore cj = 0;

Один на всех: Semaphore mut_ex = 0;

-нет

Pj

-да

M1

-нет

Pi

-да

Semaphore cj = 1;

M2

M3

M4


Слайд 5 Эквивалентность семафоров, мониторов и сообщений
Реализация семафоров через

Эквивалентность семафоров, мониторов и сообщений Реализация семафоров через мониторыMonitor sem {

мониторы
Monitor sem {
int count;

Condition ci; /* для каждого процесса */
очередь для ожидающих процессов;
void P(void){
if (count == 0) { добавить себя в очередь;
ci.wait;
}
count = count -1;
}
void V(void){
count = count+1;
if(очередь не пуста) { удалить процесс Pj из очереди;
cj.signal;
}
}
{ count = N; }
}

Слайд 6 Эквивалентность семафоров, мониторов и сообщений
Реализация семафоров через

Эквивалентность семафоров, мониторов и сообщений Реализация семафоров через сообщения  send

сообщения
send (A, “P, P1”);

receive (P1, msg);

P1

Pm

A

int count = 1;

P0

Для
ожидания

while(1) {
receive (A, msg);
if(это “P” сообщение){
if(count > 0) {count = count -1;
send (Pi, msg); }
else добавить в очередь;
}
else if(это “V” сообщение) {

P1

send (A, “V,Pm”);
receive (Pm, msg);

Pm


send(Pi, msg);
if(есть ждущие){
удалить из очереди;
send (Pk, msg); }
else count = count+1;
}
}

P:

V:

“P, P1”

int count = 0;

P1

msg


Слайд 7 Тупики

Тупики

Слайд 9 Условия возникновения тупиков

1 Взаимоисключения

2 Ожидания ресурсов

3 Неперераспределяемости

4 Кругового

Условия возникновения тупиков1 Взаимоисключения2 Ожидания ресурсов3 Неперераспределяемости4 Кругового ожидания

ожидания


Слайд 10 Основные направления борьбы с тупиками

1 Игнорирование проблемы в

Основные направления борьбы с тупиками1 Игнорирование проблемы в целом2 Предотвращение тупиков3 Обнаружение тупиков4 Восстановление после тупиков

целом

2 Предотвращение тупиков

3 Обнаружение тупиков

4 Восстановление после тупиков


Слайд 13 Управление памятью

Управление памятью

Слайд 14 Иерархия памяти
Вторичная память
Оперативная память
Кэш
Регистры
Стоимость одного бита
Время доступа
Объем

Управляется ОС

Управляется

Иерархия памятиВторичная памятьОперативная памятьКэшРегистрыСтоимость одного битаВремя доступаОбъемУправляется ОСУправляется менеджером памяти

менеджером памяти


Слайд 15 Принцип локальности
Большинство реальных программ в течение некоторого отрезка

Принцип локальностиБольшинство реальных программ в течение некоторого отрезка времени работает с

времени работает с небольшим набором адресов памяти – это

принцип локальности

Принцип локальности связан с особенностями человеческого мышления


Слайд 16 Проблема разрешения адресов
Человеку свойственно символическое мышление. Адреса (имена)

Проблема разрешения адресовЧеловеку свойственно символическое мышление. Адреса (имена) переменных описываются идентификаторами,

переменных описываются идентификаторами, формируя символьное адресное пространство
Оперативная физическая память

может быть представлена в виде массива ячеек с линейными адресами.
Совокупность всех доступных физических адресов в вычислительной системе – это ее физическое адресное пространство

Как ?

Когда ?


Слайд 17


Связывание адресов


Другие объектные
модули
Загрузчик
Двоичный образ в памяти


Системные библиотеки


Динамические библиотеки
Процессор

Связывание адресовДругие объектные модулиЗагрузчикДвоичный образ в памятиСистемные библиотекиДинамические библиотекиПроцессор иБУПИсходная программаКомпиляторОбъектный


и
БУП
Исходная программа
Компилятор
Объектный
модуль
Редактор связей
Загрузочный модуль
Этап компиляции
Этап загрузки
Этап выполнения


Слайд 18 Логическое адресное пространство
Символьное адресное пространство – совокупность всех

Логическое адресное пространствоСимвольное адресное пространство – совокупность всех допустимых идентификаторов переменныхЛогическое

допустимых идентификаторов переменных
Логическое адресное пространство – совокупность всех допустимых

адресов, с которыми работает процессор
Физическое адресное пространство – совокупность всех доступных физических адресов в вычислительной системе

Слайд 19 Функции ОС и hardware для управления памятью
Отображение логического

Функции ОС и hardware для управления памятьюОтображение логического адресного пространства процесса

адресного пространства процесса на физическое адресное пространство
Распределение памяти между

конкурирующими процессами
Контроль доступа к адресным пространствам процессов
Выгрузка процессов (целиком или частично) во внешнюю память
Учет свободной и занятой памяти

Слайд 20 Однопрограммная вычислительная система


ОС
ОС
0
Процесс пользователя
Процесс пользователя

Однопрограммная вычислительная системаОСОС0Процесс пользователяПроцесс пользователя

Слайд 21 Схема с фиксированными разделами

ОС
0
Раздел 1
Раздел 2
Раздел 3
Задание 1
Задание

Схема с фиксированными разделамиОС0Раздел 1Раздел 2Раздел 3Задание 1Задание 2Задание 3Задание 4Очередь

2
Задание 3
Задание 4
Очередь заданий









Процесс 1
Процесс 2
Процесс

3

Слайд 22 Внутренняя фрагментация

ОС
0
Раздел 1
Раздел 2
Раздел 3
Процесс 1
Процесс 2
Процесс 3
Внутренняя

Внутренняя фрагментацияОС0Раздел 1Раздел 2Раздел 3Процесс 1Процесс 2Процесс 3Внутренняя фрагментация – «потеря»

фрагментация – «потеря» части памяти, выделенной процессу, но не

используемой им

  • Имя файла: ekvivalentnost-semaforov-monitorov-i-soobshcheniy.pptx
  • Количество просмотров: 91
  • Количество скачиваний: 0