Jump to content

Воронка (параллельные вычисления)

В информатике воронка это примитив синхронизации , используемый при разработке ядра для защиты системных ресурсов. Впервые использовавшиеся в Digital UNIX как способ «направить» выполнение драйвера устройства на один процессор, теперь воронки используются в ядре Mac OS X для сериализации доступа к BSD- части XNU . [1]

Воронка — это механизм взаимного исключения ( мьютекс ), который предотвращает одновременный доступ нескольких потоков к определенным ресурсам ядра. Каждый поток приобретает воронку, когда входит в синхронизированную часть ядра, и освобождает ее, когда выходит. Если поток блокируется (засыпает), удерживая воронку, ядро ​​заставляет поток автоматически закрыть воронку, тем самым позволяя другим потокам войти в синхронизированную часть ядра.

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

В OS X 10.4 и выше есть только одна воронка. До версии 10.4 существовало две воронки: одна защищает сетевые ресурсы, а другая — другие ресурсы ядра BSD. Потоку разрешалось одновременно удерживать только одну воронку, а удержание обеих вызывало панику ядра . В результате этих ограничений и отсутствия детализации воронки постепенно выводятся из Mac OS X. Например, сетевая воронка была заменена более детальными механизмами блокировки.

См. также

[ редактировать ]

Примечания

[ редактировать ]

Примечания к источникам см. в библиографии ниже.

  1. ^ Сингх 07, стр. 1223-1229.
  • Сингх, Амит (2007). Внутреннее устройство Mac OS X: системный подход . Бостон, Массачусетс : Аддисон-Уэсли. ISBN  978-0-321-27854-8 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3bce9cef11b8458ecba6b3484095ad25__1679945940
URL1:https://arc.ask3.ru/arc/aa/3b/25/3bce9cef11b8458ecba6b3484095ad25.html
Заголовок, (Title) документа по адресу, URL1:
Funnel (concurrent computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)