Все отлично, спасибо за скорость
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
Введение 3
1. Синхронизация процессов 4
2. Синхронизация процессов по критическим секциям 6
3. Критические области 17
Заключение 19
Список литературы 20
1. Синхронизация процессов
Методы синхронизации процессов рассматривались еще в 1960-х гг. в пионерской работе Э. Дейкстры [17]. Было отмечено, что совместный доступ параллельных процессов к общим данным может привести к нарушению их целостности. Поддержание целостности общих данных требует реализации и использования механизмов упорядочения работы взаимодействующих процессов (или потоков).
Вернемся к уже рассмотренной нами проблеме (парадигме) взаимодействия процессов производитель – потребитель. Имеется общий буфер ограниченной длины. Процесс-производитель добавляет в него сгенерированные элементы, процесс-потребитель использует и удаляет использованные элементы. Добавим в представление ограниченного буфера переменную counter, которую увеличивает процесс-проиводитель, добавляя очередной элемент к буферу, и уменьшает процесс-потребитель, используя и удаляя элемент из буфера.
...
2. Синхронизация процессов по критическим секциям
Рассмотрим проанализированную проблему в общем виде. Пусть имеются n параллельных процессов, каждый из которых может обратиться к общим для них данным. Назовем критической секцией фрагмент кода каждого процесса, в котором происходит обращение к общим данным. Проблема синхронизации процессов по критическим секциям заключается в том, чтобы обеспечить следующий режим выполнения: если один процесс вошел в свою критическую секцию, то до ее завершения никакой другой процесс не смог бы одновременно войти в свою критическую секцию. Можно показать, что для решения проблемы критической секции необходимо и достаточно выполнение следующих трех условий:
1. Взаимное исключение. Если некоторый процесс исполняет свою критическую секцию, то никакой другой процесс не должен в этот момент исполнять свою.
2. Прогресс.
...
3. Критические области
Критические области (critical regions) – более высокоуровневая и надежная конструкция для синхронизации, чем семафоры. Общий ресурс описывается в виде особого описания переменной:
v: shared T
Доступ к переменной v возможен только с помощью специальной конструкции: region v when B do S
где v – общий ресурс; B – булевское условие, S – оператор (содержащий действия над v).
Семантика данной конструкции следующая. Пока B ложно, процесс, ее исполняющий, должен ждать. Когда B становится истинным, процесс получает доступ к ресурсу v и выполняет над ним операции S. Пока исполняется оператор S, больше ни один процесс не имеет доступа к переменной v.
...
Заключение
Совместный доступ процессов к общим данным (race condition) может привести к нарушению их целостности, поэтому необходима их синхронизация.
При решении задачи ограниченного буфера, переменная counter (счетчик числа элементов в буфере) играет роль общего ресурса для производителя и потребителя, по которому необходима их синхронизация. Если ее не использовать, переменная может принять некорректное значение из-за совместного исполнения операций над ней в двух процессах (interleaving). Операции над ней должны быть атомарны, и должно быть обеспечено их взаимное исключение.
Критические области – высокоуровневая конструкция для синхронизации, основанная на описаниях разделяемых ресурсов (shared) и конструкции region, обеспечивающей взаимное исключение критических секций более удобным и надежным способом, чем семафоры. Рассмотрено решение задачи "ограниченный буфер" с помощью критических областей. Рассмотрена схема реализации критических областей с использованием семафоров.
...
1 Л.А. Коршикова. Операционные системы как системы управления вычислительными ресурсами: Учебное пособие. - Новосибирск: НГТУ, 2001. - 63 с.
2 Коршикова Л.А. Основы операционных систем. Учебное пособие.- Новосибирск.: НГТУ, 2008. - 356 с.
3 Коршикова Л.А. Лабораторный практикум по дисциплине "Операционные системы": Методическое пособие. - Новосибирск.
4 Таненбаум Э. Современные операционные системы. 4-ое изд. - СПб.:Питер, 2006, - 1040с.
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
Введение 3
1. Синхронизация процессов 4
2. Синхронизация процессов по критическим секциям 6
3. Критические области 17
Заключение 19
Список литературы 20
1. Синхронизация процессов
Методы синхронизации процессов рассматривались еще в 1960-х гг. в пионерской работе Э. Дейкстры [17]. Было отмечено, что совместный доступ параллельных процессов к общим данным может привести к нарушению их целостности. Поддержание целостности общих данных требует реализации и использования механизмов упорядочения работы взаимодействующих процессов (или потоков).
Вернемся к уже рассмотренной нами проблеме (парадигме) взаимодействия процессов производитель – потребитель. Имеется общий буфер ограниченной длины. Процесс-производитель добавляет в него сгенерированные элементы, процесс-потребитель использует и удаляет использованные элементы. Добавим в представление ограниченного буфера переменную counter, которую увеличивает процесс-проиводитель, добавляя очередной элемент к буферу, и уменьшает процесс-потребитель, используя и удаляя элемент из буфера.
...
2. Синхронизация процессов по критическим секциям
Рассмотрим проанализированную проблему в общем виде. Пусть имеются n параллельных процессов, каждый из которых может обратиться к общим для них данным. Назовем критической секцией фрагмент кода каждого процесса, в котором происходит обращение к общим данным. Проблема синхронизации процессов по критическим секциям заключается в том, чтобы обеспечить следующий режим выполнения: если один процесс вошел в свою критическую секцию, то до ее завершения никакой другой процесс не смог бы одновременно войти в свою критическую секцию. Можно показать, что для решения проблемы критической секции необходимо и достаточно выполнение следующих трех условий:
1. Взаимное исключение. Если некоторый процесс исполняет свою критическую секцию, то никакой другой процесс не должен в этот момент исполнять свою.
2. Прогресс.
...
3. Критические области
Критические области (critical regions) – более высокоуровневая и надежная конструкция для синхронизации, чем семафоры. Общий ресурс описывается в виде особого описания переменной:
v: shared T
Доступ к переменной v возможен только с помощью специальной конструкции: region v when B do S
где v – общий ресурс; B – булевское условие, S – оператор (содержащий действия над v).
Семантика данной конструкции следующая. Пока B ложно, процесс, ее исполняющий, должен ждать. Когда B становится истинным, процесс получает доступ к ресурсу v и выполняет над ним операции S. Пока исполняется оператор S, больше ни один процесс не имеет доступа к переменной v.
...
Заключение
Совместный доступ процессов к общим данным (race condition) может привести к нарушению их целостности, поэтому необходима их синхронизация.
При решении задачи ограниченного буфера, переменная counter (счетчик числа элементов в буфере) играет роль общего ресурса для производителя и потребителя, по которому необходима их синхронизация. Если ее не использовать, переменная может принять некорректное значение из-за совместного исполнения операций над ней в двух процессах (interleaving). Операции над ней должны быть атомарны, и должно быть обеспечено их взаимное исключение.
Критические области – высокоуровневая конструкция для синхронизации, основанная на описаниях разделяемых ресурсов (shared) и конструкции region, обеспечивающей взаимное исключение критических секций более удобным и надежным способом, чем семафоры. Рассмотрено решение задачи "ограниченный буфер" с помощью критических областей. Рассмотрена схема реализации критических областей с использованием семафоров.
...
1 Л.А. Коршикова. Операционные системы как системы управления вычислительными ресурсами: Учебное пособие. - Новосибирск: НГТУ, 2001. - 63 с.
2 Коршикова Л.А. Основы операционных систем. Учебное пособие.- Новосибирск.: НГТУ, 2008. - 356 с.
3 Коршикова Л.А. Лабораторный практикум по дисциплине "Операционные системы": Методическое пособие. - Новосибирск.
4 Таненбаум Э. Современные операционные системы. 4-ое изд. - СПб.:Питер, 2006, - 1040с.
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—4 дня |
100 ₽ | Цена | от 200 ₽ |
Не подошла эта работа?
В нашей базе 85108 Рефератов — поможем найти подходящую