Pull to refresh

Comments 2

Обратите внимание, что биты с 54 по 0 являются номером фрейма физической страницы только в том случае, если страница в данный момент находится в памяти. При других обстоятельствах это может указывать на такие вещи, как тип подкачки и смещение. 

Топорный перевод. Обычно топорный перевод палится по огромному количеству местоимений «это». Что-то вроде «это хорошо, потому что это делает вас счастливее».

А что «это» в данном месте? Переводчик не удосужился вернуться на предложение назад и увидеть, что местоимение «it» у автора ссылается на «биты с 54 по 0». И, соответственно, писать надо:

При других обстоятельствах они (биты) могут обозначать ...

В чем смысл всего этого текста ? Даже добравшись до физических адресов из userspace всё равно запрограммировать DMA не выйдет, так как это нарушает целостность системы. Если даже каким-то образом удатся запрограммировать DMA, то смысла в этом тоже не много - операционная система может в любой момент перераспределить память без ведома процесса, в итоге DMA будет писать (или читать) в чужую область памяти. Ну и вишенка - физические адреса уже давно не физические. Автор скорее всего не слышал про IOMMU.

Работа с DMA должна происходить только из ядра ОС, используя специальный API для выделения непрерывного куска памяти и преобразования адресов.

Sign up to leave a comment.

Articles