Главная » Ядро Linux » Порядок выполнения операций процессором

0

Вспомните из  материала главы  9,  "Средства  синхронизации в ядре",  что  для  различных  аппаратных платформ  процессоры  в  разной степени изменяют порядок выполнения  программных инструкций. Для  некоторых процессоров порядок выполнения  операций строго  соблюдается,  запись  данных  в память  и считывание данных  из памяти выполняются в  строго  указанном в  программе порядке.  Другие  процессоры имеют  ослабленные требования  к  порядку выполнения  операций  считывания и  записи  данных  и  могут  изменять порядок выполнения  этих  операций с  целью  оптимизации.

Если  код  зависит  от порядка выполнения операций чтения-записи данных, то необходимо гарантировать,  что  даже  процессор с  самыми слабыми ограничениями  на порядок выполнения чтения-записи  будет выполнять эти  операции в правильном порядке.  Это  делается  с помощью соответствующих барьеров,  таких  как  rmb()   и  wmb(). Более  подробная информация  приведена в главе 9, "Средства  синхронизации в ядре".

Источник: Лав,  Роберт. Разработка ядра  Linux, 2-е  издание. : Пер.  с англ.  — М.  : ООО  «И.Д.  Вильяме» 2006. — 448 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии