永发信息网

什么是虚拟地址?

答案:4  悬赏:0  手机版
解决时间 2021-03-09 19:11
什么是虚拟地址?
最佳答案
虚拟地址 (virtual address): 4G虚拟地址空间中的地址,程序中使用的都是虚拟地址。

如果CPU寄存器中的分页标志位被设置,那么执行内存操作的机器指令时,CPU会自动根据页目录和页表中的信息,把虚拟地址转换成物理地址,完成该指令。

比如 mov eax,004227b8h ,这是把地址004227b8h处的值赋给寄存器的汇编代码,004227b8这个地址就是虚拟址。CPU在执行这行代码时,发现寄存器中的分页标志位已经被设定,就自动完成虚拟地址到物理地址的转换,使用物理地址取出值,完成指令。对于Intel CPU 来说,分页标志位是寄存器CR0的第31位,为1表示使用分页,为0表示不使用分页。对于初始化之后的 Win2k 我们观察 CR0 ,发现第31位为1。表明Win2k是使用分页的。

使用了分页机制之后,4G的地址空间被分成了固定大小的页,每一页或者被映射到物理内存,或者被映射到硬盘上的交换文件中,或者没有映射任何东西。对于一般程序来说,4G的地址空间,只有一小部分映射了物理内存,大片大片的部分是没有映射任何东西。物理内存也被分页,来映射地址空间。对于32bit的Win2k,页的大小是4K字节。CPU用来把虚拟地址转换成物理地址的信息存放在叫做页目录和页表的结构里。
全部回答
假的地址。
举个例子:你家门牌是309室,但是你自己弄了个302室的牌子贴在上面,这个302室的牌子就是虚拟地址
虚拟地址 (virtual address): CPU启动保护模式后,程序运行在虚拟地址空间中。注意,并不是所有的“程序”都是运行在虚拟地址中。CPU在启动的时候是运行在实模式的,Bootloader以及内核在初始化页表之前并不使用虚拟地址,而是直接使用物理地址的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小明参加数学竞赛共10道题规定答对一道题得5
从农光里到中国科技馆怎么做公交
如何下载雅酷视频
因老人年岁大了银行卡挂失子女可代办吗
瑞虎5和瑞虎3哪个好
晨光文具凤凰西街店在什么地方啊,我要过去处
《料理鼠王》的台词
当X小于2时,2减X的绝对值是多少?
如果我是在微信上做护肤品的,我需要写一段什
世界上最骂人且不会让人觉得是在骂自己的话
谁知道云免怎么开热点的,求教
黑客要会几个国家的语言?
求个陌陌财富高级号
一根竹竿插入水中3厘米,露出水面7厘米,插入水
Think about () you are going on a diet.D
推荐资讯
9个方框填数字将-10、-8、-6、-4、-2、0、2、
中国五谷中的菽是指什么?
金感觉内衣专卖地址在什么地方,想过去办事
那里可以做焊接工艺评定报告
夏天衣服透,白色短袖里面应该穿什么呢 (女生
剑侠3要求配置是怎样的?
钟山盛明五金店机电商行地址有知道的么?有点
新手求助,bundle install返回could not loca
银魂赤い人是什么
东方猎人总代理地址在哪,我要去那里办事
多人一套的头像女生,不是一个人,是分开来的
今缘旅馆我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?