您的位置:首页 > 其它

第16章

2013-10-29 09:07 309 查看
段错误的解释:

用户访问一个虚拟内存,经过MMU<虚拟内存>检查之后发现没有权限;

MMU产生一个异常,使CPU从用户模式到特权模式,然后执行内核中相应的内核处理;

内核把这个异常解释为段错误,终止引发进程。

操作系统配合MMU去访问内存:

虚拟内存映射到哪个物理内存其实是通过页表来描述的,而页表是存放在物理内存中的;

操作系统在初始化数据的时候,会执行一些指令在物理内存中填写页表,然后用指令设置MMU,告诉MMU页表在内存中的什么位置;

然后CPU每次去访问内存的指令都会自动引发MMU去做相应的查表和地址转换,而这些转换是由硬件自动完成。

内存保护:

CPU去访问一个VA时,MMU会检查CPU当前处于用户模式还是特权模式,如果和页面的权限相符合,则允许,否则产生异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: