Книга: Разработка ядра Linux
Резюмирование по синхронизации
Резюмирование по синхронизации
В этой главе было рассказано о том, как применять на практике понятия, описанные в предыдущей главе, чтобы лучше разобраться с функциями ядра, которые помогают осуществить синхронизацию и параллелизм. Вначале были рассмотрены самые простые методы, которые позволяют гарантировать сихронизацию, — атомарные операции. Далее были описаны спин-блокировки — наиболее часто используемые типы блокировок в ядре, которые построены на основе периодической проверки в цикле условия освобождения блокировки и позволяют гарантировать, что доступ к ресурсу получит только один поток выполнения. После этого были рассмотрены семафоры — блокировки, которые переводят вызывающий процесс в состояние ожидания, а также более специализированные типы элементов синхронизации — условные переменные и секвентные блокировки. Мы получили удовольствие от блокировки BKL, рассмотрели методы запрещения вытеснения кода ядра и коснулись барьеров. Диапазон большой.
Вооружённые арсеналом методов синхронизации из данной главы теперь вы сможете писать код ядра, который защищён от состояний конкуренции за ресурсы и позволяет обеспечить необходимую синжронизацию с помощью самого подходящего для этого инструментария.
- Атомарные операции
- Спин-блокировки
- Спин-блокировки чтения-записи
- Семафоры
- Семафоры чтения-записи
- Сравнение спин-блокировок и семафоров
- Условные переменные
- BKL: Большая блокировка ядра
- Секвентные блокировки
- Средства запрещения преемптивности
- Барьеры и порядок выполнения
- Резюмирование по синхронизации
- Глава 9 Средства синхронизации в ядре
- Классы синхронизации, внедренные в версии .NET Framework 4.0
- Дополнительно о синхронизации
- Необходимость в синхронизации потоков
- Объекты синхронизации потоков
- 13.9.1 Сигнал синхронизации
- Средства синхронизации идентификаторов пользователей, выполняемые на стороне сервера
- Средства синхронизации идентификаторов пользователей, выполняемые на стороне клиента
- ГЛАВА 9 Влияние синхронизации на производительность и рекомендации по ее повышению
- ГЛАВА 10 Усовершенствованные методы синхронизации потоков
- Обзор: объекты синхронизации Windows
- Влияние синхронизации на производительность