能力值:
( LV4,RANK:50 )
|
-
-
2 楼
cmd运行dos程序时 不是实模式 cmd 是个虚拟8086模式,实质还是保护模式
开机时有一段是 实模式,加载windows后就自动切换到保护模式了
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我知道cmd运行dos程序时是在虚拟8086模式,只是不明白windows程序运行在保护模式下,dos程序运行在8086模式,可是它们都运行在windows系统里啊,怎么会有两个模式?虚拟86模式实质上就是保护模式?那么这三种模式啥区别?
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
80386有三种工作模式,实模式,保护模式和虚拟86模式
实模式和虚拟86模式是为了和8086处理器兼容而设置的
80386处理器被复位或加电的时候以实模式启动。这时的80386的寻址模式和8086一样,
由段寄存器乘以16加上偏移地址形成物理地址。这时它的32位地址线只用了低16位。
保护模式就是我们的windows操作系统的运行模式。就是我们通常的可寻址4GB。
虚拟86模式是为了能在保护模式下执行8086模式而设置的。
CMD就是用于运行虚拟8086模式的。
windows系统中有专门管理虚拟8086的管理程序,叫做86管理程序
这么说吧,虚拟就是虚拟不是真的,其实一切还完全在 windows 的掌控之中,
windows 有时会横插一腿,比如当你运行一些有害系统的特权指令时
我的理解:windows工作在保护模式下,虚拟了一个可以运行MS—DOS程序的平台,
它还是管着后者的
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
虚拟86模式只是保护模式下的一个特例而已,实质是保护模式.
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
类似于虚拟机?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
不是虚拟机,只是把段属性,粒度等设置为适合v86的模式而已,实质是保护模式的一个任务,v86任务。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
在intel cpu体系架构中,实模式的特点是:最大可以访问1MB的物理内存,物理地址由段寄存器+段偏移构成。而在实模式中,每个进程都有单独的虚拟地址空间,大小为4G。此时的虚拟8086模式应该是在一个进程地址空间中对实模式进行模拟,也就是说在CMD进程中有实模式的特点。
我的理解,错误的地方请指正
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
明白,多谢各位
|
|
|