Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС 2 модуль все части ПЕЧАТАТЬ.docx
Скачиваний:
77
Добавлен:
18.12.2018
Размер:
328.96 Кб
Скачать
  1. Ч4_Приведите примеры сигнальных состояний для следующих синхронизирующих объектов: поток, процесс, файл.

Сигнальное состояние объекта (т.е. состояние "установлен") соответствует моменту времени, когда объект не принадлежит ни одному потоку и его можно "захватить". И наоборот, состояние "сброшен" (не сигнальное) соответствует моменту, когда какой-нибудь поток уже владеет этим объектом. Доступ к объекту разрешается, когда поток, владеющий объектом, освободит его.

Поток переходит в сигнальное состояние тогда, когда он завершается. Процесс переходит в сигнальное состояние тогда, когда завершаются все его потоки. Файл переходит в сигнальное состояние в том случае, когда завершается операция ввода-вывода для этого файла. Для остальных объектов сигнальное состояние устанавливается в результате выполнения специальных системных вызовов.

  1. Ч4_Что такое мьютекс и объект-событие?

Мьютекс (от английского mutually exclusive access – взаимно исключающий доступ, когда одновременный доступ к общему ресурсу исключается) или взаимоисключение, как и семафор, обычно используется для управления доступом к данным. Мьютекс устанавливается в особое сигнальное состояние, когда он не занят каким-либо потоком. Только один поток может владеть мьютексом. Объект-событие обычно используется для того, чтобы оповестить другие потоки о том, что некоторые действия завершены.

  1. Ч4_Поясните роль сигналов как синхронизирующих объектов.

Сигнал дает возможность задаче реагировать на событие, источником которого может быть ОС или другая задача. Сигналы вызывают прерывание задачи и выполнение заранее предусмотренных действий. Сигналы могут вырабатываться синхронно (в результате работы самого процесса) или асинхронно (направляться процессу от другого процесса). Синхронные сигналы чаще всего приходят от системы прерываний процессора и свидетельствуют о действиях процесса, блокируемых аппаратурой, например, деление на 0, ошибка адресации, нарушение защиты памяти. В системе может быть определен целый набор сигналов. Сигналы обеспечивают логическую связь между процессами, а также между процессами и пользователями (терминалами). В распределенных системах, состоящих из нескольких процессоров, каждый из которых имеет собственную ОП, блокирующие переменные, семафоры, сигналы и другие аналогичные средства, основанные на разделяемой памяти, оказываются непригодными. В таких системах синхронизация может быть реализована только посредством обмена сообщениями.