Результаты (
русский) 2:
[копия]Скопировано!
Взаимное исключение является одной из основных проблем в параллельном программировании и широко изучается в разных контекстах. Представьте себе , что п пользователей (п> 1) , которые требуется напечатать данные на общем принтере бесконечно часто. Так как в большинстве один пользователь может напечатать в любое время, должен быть протокол для справедливого распределения этого принтера. В качестве другого примера рассмотрим сеть процессов, где каждый процесс имеет копию общего файла F. Для того, чтобы быть последовательным, все копии F должны быть одинаковыми, независимо от того, каким образом отдельные процессы выполняют свои операции чтения или записи. Одновременные обновления локальных копий будет нарушать Консистенция F. Простой способ для достижения этой цели является предоставление каждому процессу эксклюзивный доступ на запись в свою локальную копию F во время операций записи и распространять все обновления различных локальных копий F с другой процессы, прежде чем любой другой процесс начинает доступ к его локальной копии. Это показывает важность изучения проблемы взаимного исключения. Проблема может быть обобщена на доступ к какой - либо общий ресурс на сети процессов. В многопроцессорной когерентности кэша, в лучшем случае один процесс имеет право обновлять общую переменную. Хорошо известно , реализация взаимного исключения содержится в протоколе CSMA / CD используется для разрешения шине в Ethernets.
Большинство классических решений взаимной проблемы исключения были изучены для систем с общей памятью с чтения-записи атомарностью. В этой главе мы рассмотрим как разделяемой памяти и передачи сообщений решений. Начнем с передачи сообщений решений.
переводится, пожалуйста, подождите..