Когда ЦП находится в защищенном режиме, он ожидает, что все адреса будут виртуальными. Ядро находится в физической памяти и использует физические адреса для своих внутренних целей. При разработке подпрограмм Framework драйвера драйвер должен обращаться к некоторым ячейкам памяти с определенным физическим адресом (относительно адресов сопоставления памяти для этого устройства). Итак, какой механизм позволяет использовать физический адрес в защищенном режиме?Защищенный режим и физические адреса
0
A
ответ
0
Рамка драйвера или API расскажут об этом вам. Я использовал windriver (http://www.jungo.com/), чтобы написать драйвер PCI. Когда вы распределяете память с помощью этого API, она даст вам два адреса: один виртуальный, действительный для приложения, и физический, который вы передаете устройству. Другие рамки/apis, скорее всего, сделают это аналогичным образом.
Смежные вопросы
- 1. Режим ядра - физические адреса или виртуальные адреса?
- 2. Процессоры и виртуальные/физические адреса
- 3. Защищенный режим Windows - память
- 4. Переключиться в защищенный режим
- 5. C++ - 32-разрядный защищенный режим
- 6. Защищенный режим, установка сегментных регистров
- 7. X86: защищенный режим, GDT, IDT
- 8. что защищенный режим в PHP
- 9. Перевод с логических на физические адреса
- 10. Перевод логических на физические адреса для виртуального адреса
- 11. Не могу понять x86 Защищенный режим
- 12. IE BHO в EPM (расширенный защищенный режим)
- 13. Boot loop при попытке включить защищенный режим
- 14. «звонок» после переключения в защищенный режим
- 15. Тройная ошибка при переходе в защищенный режим
- 16. переключение в защищенный режим из загруженного сегмента
- 17. Переводит ли GRUB в защищенный режим?
- 18. логические и физические компоненты
- 19. Веб-и физические единицы
- 20. Ошибка после перехода в защищенный режим и внесения большого скачка
- 21. Защищенный режим Firefox и ошибка флеш-плеера as3?
- 22. Предположим, что машина имеет 48-битные виртуальные адреса и 32-разрядные физические адреса
- 23. Защищенный и внутренний, не защищенный или внутренний
- 24. Преобразование виртуальных в физические адреса в ядре linux
- 25. Как установить флаг PE в CR0 включить защищенный режим?
- 26. get/set Усовершенствованный защищенный режим из кода C++
- 27. Как определить защищенный режим IE с помощью C#
- 28. Защищенный режим Windows 10 через реестр, добавленная стоимость при отключении?
- 29. Защищенный режим доступа к клавиатуре на сборке x86
- 30. Как ввести 32-разрядный защищенный режим в сборке NASM?
Я спросил немного не так. Я имел в виду аппаратный аспект этого вопроса, не обращая внимания на специфику некоторых драйверов. Процессор не может использовать физические адреса в защищенном режиме, поэтому он отправляет команды контроллеру DMA для передачи данных? Если DMA использует физические адреса, он оправдывает свое существование (с тем фактом, что CPU может выполнять некоторые вычисления, тогда как DMA управляет ОЗУ и доступом к порту). Есть ли какая-либо документация об использовании DMA, кроме источника ядра Linux? – igntec