保护模式
来源:互联网 发布:js cst时间转换 编辑:程序博客网 时间:2024/05/17 17:15
保护模式是自80286(16位)以来现代的Intel处理器的主要运行模式。在80386和以后的系列CPU上,32位保护模式(以下简称为保护模式)允许工作在几个虚拟地址空间下,其中每一个具有最大4GB的可寻址存储空间;并且使系统能够执行严格的内存和硬件I / O防护,同时也限制了可用的指令集(让您的应用程序不能直接访问硬件,而内核可以)。
一个由BIOS初始化的CPU工作在实模式。启用保护模式能充分释放出CPU的真实能力。但是,它会阻止你使用大多数BIOS中断,尽管这些中断在实模式下正常工作(除非您让代码运行在虚拟8086模式)。
在切换到保护模式前,你必须禁止中断,包括NMI(就像英特尔开发者手册所建议的那样),使能A20线,并加载包含符合代码,数据和堆栈段的描述符的全局描述符表(GDT)。
CPU处于实模式或保护模式是由CR0或MSW寄存器的最低位定义。下面这个例子加载一个描述符表到处理器的寄存器GDTR,然后获取CR0的最低位:
cli ; disable interruptslgdt [gdtr] ; load GDT register with start address of Global Descriptor Tablemov eax, cr0 or al, 1 ; set PE (Protection Enable) bit in CR0 (Control Register 0)mov cr0, eax ; Perform far jump to selector 08h (offset into GDT, pointing at a 32bit PM code segment descriptor) ; to load CS with proper PM32 descriptor)JMP 08h:PModeMain ; [...] PModeMain:; load DS, ES, FS, GS, SS, ESP.
这将会让你的操作系统进入保护模式。祝你好运!
另请参阅:
文章
- Real Mode
- Virtual 8086 Mode
- Journey To The Protected Land
外部链接
- OSRC: protected mode
- http://home.swipnet.se/smaffy/asm/info/embedded_pmode.pdf - pragmatic tutorial on pmode (Cached copy)
- http://www.osdever.net/tutorials.php?cat=4&sort=1
0 0
- 保护模式
- 保护模式
- 保护模式
- 保护模式
- 保护模式
- 保护模式
- 保护模式
- 保护模式
- 保护模式
- 保护模式
- 实模式,保护模式,虚拟保护模式
- 实模式保护模式
- 实模式&&&保护模式
- 保护模式,实模式
- 实模式,保护模式
- 3.保护模式3----保护模式进阶
- 保护模式编程<五>
- 保护模式基础
- 几种Android混淆和逆向工具介绍
- vim 透明化
- MySQL日志管理
- Qt for iOS:从Qt工程到ipa安装包
- 通过notepad++,用正则表达式,将多个手机号的中间部分用*屏蔽
- 保护模式
- MVC +EasyUI 实现简单查询功能
- NERD_commenter安装和使用
- Cocos2dx实现橡皮擦效果的实现
- caffe安装配置
- Android 传感器概述
- Sensor stack (传感器软件堆栈架构)
- 暂时
- Dinic算法用于求最大流