Комментарии 2
Обратите внимание, что биты с 54 по 0 являются номером фрейма физической страницы только в том случае, если страница в данный момент находится в памяти. При других обстоятельствах это может указывать на такие вещи, как тип подкачки и смещение.
Топорный перевод. Обычно топорный перевод палится по огромному количеству местоимений «это». Что-то вроде «это хорошо, потому что это делает вас счастливее».
А что «это» в данном месте? Переводчик не удосужился вернуться на предложение назад и увидеть, что местоимение «it» у автора ссылается на «биты с 54 по 0». И, соответственно, писать надо:
При других обстоятельствах они (биты) могут обозначать ...
В чем смысл всего этого текста ? Даже добравшись до физических адресов из userspace всё равно запрограммировать DMA не выйдет, так как это нарушает целостность системы. Если даже каким-то образом удатся запрограммировать DMA, то смысла в этом тоже не много - операционная система может в любой момент перераспределить память без ведома процесса, в итоге DMA будет писать (или читать) в чужую область памяти. Ну и вишенка - физические адреса уже давно не физические. Автор скорее всего не слышал про IOMMU.
Работа с DMA должна происходить только из ядра ОС, используя специальный API для выделения непрерывного куска памяти и преобразования адресов.
Выделение памяти для DMA в Linux