Книга: Разработка ядра Linux
Блокировки в вашем коде
Блокировки в вашем коде
Обеспечение безопасности кода при SMP-обработке — это не то, что можно откладывать на потом. Правильная синхронизация, блокировки без тупиковых ситуаций, масштабируемость и ясность кода- все это следует учитывать при разработке с самого начала и до самого конца. При написании кода ядра, будь то новый системный вызов или переписывание драйвера устройства, необходимо, прежде всего, позаботиться об обеспечении защиты данных от конкурентного доступа.
Обеспечение достаточной защиты для любого случая — SMP, вытеснение кода ядра и так далее — в результате приведет к гарантии того, что все данные будут защищены на любой машине и в любой конфигурации. В следующей главе будет рассказано о том, как это осуществить.
Теперь, когда мы хорошо подкованы в теории параллелизма, синхронизации и блокировок, давайте углубимся в то, какие существуют конкретные инструменты, предоставляемые ядром Linux, для того чтобы гарантировать отсутствие состояний конкуренции и тупиковых ситуаций в коде.
- Знание стандартов обслуживания покупателей, принятых в вашем магазине
- 2. Пример создания базового отношения в записи на псевдокоде
- ГЛАВА 8 Блокировки чтения-записи
- Нет изображения при воспроизведении видео или появляется сообщение об ошибке загрузки кодека
- 11.1. А кодеков-то нет!
- Теперь посмотрим, как выглядит TITLE в исходном коде
- Есть ли в коде волшебные числа[141]?
- Секвентные блокировки
- 14.2.1. Концепции блокировки файлов
- 14.2.2.1. Описание блокировки
- Блокировки чтения
- Блокировки между обработчиками нижних половин