Linux 内核不能直接访问物理地址,必须通过虚拟地址访问。

芯片寄存器是物理地址,为什么要映射成虚拟地址

Linux 启动时开启了 MMU(内存管理单元),所有地址访问都是虚拟地址。

虽然底层是物理内存/寄存器,但内核访问时都是通过虚拟地址间接访问的。

bash 复制代码
项目				内容
谁定义寄存器地址?	硬件设计人员
软件能改吗?			不能,只能遵循手册使用
软件怎么用这些地址?	通过 ioremap 等方式映射后访问
为什么不能直接访问?	需要通过 MMU 映射进虚拟地址空间
相关推荐
郝学胜-神的一滴25 分钟前
Linux命名管道:创建与原理详解
linux·运维·服务器·开发语言·c++·程序人生·个人开发
宾有为26 分钟前
【Linux】Linux 常用指令
linux·服务器·ssh
wanhengidc33 分钟前
云手机性能如何?
运维·服务器·科技·智能手机·云计算
wdfk_prog40 分钟前
[Linux]学习笔记系列 -- [block]bio
linux·笔记·学习
ajassi20001 小时前
开源 Linux 服务器与中间件(十三)FRP服务器、客户端安装和测试
linux·服务器·开源
wan_da_ren1 小时前
Docker安装Elasticsearch9.2.1与Kibana9.2.1 保姆教程(带验证版)
运维·docker·jenkins
Hellc0071 小时前
Docker部署BaGet私有NuGet服务器:从入门到备份恢复完整指南 二
服务器·docker·eureka
XH-hui2 小时前
【打靶日记】群内靶机vm1
linux·网络安全
Eric.Lee20213 小时前
ubuntu 安装 Miniconda
linux·运维·python·ubuntu·miniconda
会飞的土拨鼠呀3 小时前
通过Linux进程id找到程序路径
linux·服务器·网络