WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Один из самых простых (самый дешевый) способ улучшить аппаратную
эффективность: поместить больше чем один CPU на плате. Когда такое сделано,
могут быть два варианта: либо CPU берут различные работы (асимметричная
многопроцессорная обработка) или они все работают параллельно, делая ту же
самую работу (симметрическая многопроцессорная обработка, a.k.a. SMP).
Выполнение асимметричной многопроцессорной обработки действительно требует
специализированного знания относительно задач, которые компьютер должен
делать. Такое знание является недоступным в универсальной операционной
системе типа Linux. С другой стороны, симметрическая многопроцессорная
обработка относительно проста в реализации.
В симметрической многопроцессорной среде CPU совместно используют ту же
самую память, и в результате код, работающий на одном CPU может
воздействовать на память используемую другим. Вы больше не можете быть
уверены, что переменная, которую вы установили в некоторое значение на
предыдущей строке все еще имеет то же самое значение: другой CPU может
его поменять, в то время как Вы не смотрели.
В случае программирования процесса это обычно не проблема, потому что
процесс будет обычно выполняться только на одном CPU сразу
12.1.
Ядро, с другой стороны, может быть вызвано различными процессами,
работающими на различных CPU.
В версии 2.0.x, это не проблема, потому что все ядро находится в одном
большом spinlock. Это означает что, если один CPU работает с ядром, и другой
CPU хочет обратиться к ядру, например из-за системного вызова, он должно
ждать, до тех пор пока первый CPU завершит работу с ядром. Это делает Linux
SMP безопасным 12.2
, но неэффективным.
В версии 2.2.x, несколько CPU могут работать с ядром одновременно. Это
авторы модуля должны знать. Я надеюсь, что смогу получить доступ к машине с
несколькими процессорами, и следующая версия этой книги будет включать
большее количество информации.
Симметричная многопроцессорность
1999-05-19
Найди своих коллег! |