3 实模式进入保护模式

来源:互联网 发布:linux远程桌面vnc 编辑:程序博客网 时间:2024/05/22 02:29

1 实模式


实模式,是指寻址采用和8086相同的16位段和偏移量,最大寻址空间1MB,最大分段64KB


实模式是CPU启动时候的模式,这时候就相当于一个速度超快的8086。实模式不能使用多线程,不能实现权限分级,还不能访问20位以上地址线,也就是说只能访问1M内存。


2 保护模式


保护模式,又叫内存保护模式,寻址采用32位段和偏移量,最大寻址空间4GB,在这种模式下,系统运行于多任务,设计这种模式的原因和好处是:保护模式增加了寻址空间,增加了对多任务的支持,增加了段页式寻址机制的内存管理(分段机制使得段具有访问权限和特权级,各应用程序和操作系统的代码和核心是被保护的,这也是多任务支持的实现关键和保护这个名字的由来)。


保护模式的寻址过程为:

物理地址=由段地址查询全局描述符表(GDT)中给出的段基址+偏移地址


在实模式中加载引导程序,引导程序读取操作系统,操作系统接管CPU后,会使CPU进入保护模式。这时候可以发挥80x86的所有威力,包括权限分级、内存分页等等等等各种功能。


3 两种模式相互配合控制计算机


总的来说,现在的计算机启动时,先进入实模式,然后再进入保护模式。


在代码清单1中,bochs虚拟机(虚拟计算机)启动后,BIOS首先寻找启动盘floppy(保存a.img),然后检查软盘的00磁道1扇区是否以0xAA55结束,如果是,则认为是一个引导扇区。


BIOS一旦发现引导扇区,就会加载引导扇区512字节到内存0x7c00处,然后跳转到0000:0x7c00将控制权交给引导扇区。至此,计算机不在由BIOS控制,而是变为操作系统来控制(实模式)。


在实模式下通过加载GDT,跳转进入保护模式。尽情的享受32位地址线、多任务管理、段页式寻址机制的好处。