2013-11-13 2 views
0

В теме операционной системы я везу в этом семестре мы задавали этот вопросметоды, которые могут быть использованы для защиты критических секций

каковы методы, которые могут быть использованы для защиты критических секций ??

я попытался найти в Интернете, но не смог найти что-нибудь

может кто-нибудь, пожалуйста, кратко объяснить, критические секции и какие методы, чтобы защитить их?

ответ

0

Прежде всего критический раздел применяется только к параллельному исполнению, и это фрагмент кода, который не может быть выполнен более чем одним потоком/процессом в заданное время. Это происходит, когда два или более потока или процессов хотят записать в одно и то же место одновременно, , что потенциально может привести к неправильному состоянию данных или deadlock.

Даже такой невинно выглядящий фрагмент кода, как i += 1, должен быть защищен в параллельном мире - вы должны помнить, что выполнение потока или процесса может быть приостановлено в любое время ОС.

Основным механизмом синхронизации являются: mutexes и monitors.

С semaphores можно ограничить доступ к ресурсам.

0

a) Процесс должен сначала объявить о своем намерении ввести критический раздел, подняв флаг.

b) Далее вводится критическая секция и по окончании флаг опускается.

с) Если процесс приостанавливается после поднятия флага , но прежде чем он сможет войти в критическую секцию, другой процесс будет видеть поднятый флаг и не войти, пока флаг не опускается.

Смежные вопросы