tempad
ReadyGo!技术成就梦想 >>ASP.NET技术 >> 请问“保护模式”什么意思?

请问“保护模式”什么意思?

ReadyGo!技术成就梦想 网络搜索 efish 2008-1-16 1:35:39

请问“保护模式”什么意思?

楼主()2001-09-02 20:55:48 在 其他开发语言 / 汇编语言 提问

问题点数:2、回复次数:4Top

1 楼nnit(青春)回复于 2001-09-03 11:03:34 得分 0

upTop

2 楼thickhead_cat(笨猫)回复于 2001-09-03 15:55:20 得分 2

摘录一段给你!  
   
  WIN32   程序运行在保护模式下的,保护模式的历史可以追溯到   80286。而今   80286   已成为了历史。所以我们将只把精力集中于   80386   及后续的X86   系列   CPU。Windows   把每一个   Win32   应用程序放到分开的虚拟地址空间中去运行,也就是说每一个应用程序都拥有其相互独立的   4GB   地址空间,当然这倒不是说它们都拥有   4GB   的物理地址空间,而只是说能够在   4GB   的范围内寻址。操作系统将会在应用程序运行时完成   4GB   的虚拟地址和物理内存地址间的转换。这就要求编写应用程序时必须格守   Windows   的规范,否则极易引起内存的保护模式错误。而过去的   Win16   内存模式下,所有的应用程序都运行于同一个   4GB   地址空间,它们可以彼此"看"到别的程序的内容,这极易导致一个应用程序破坏另一个应用程序甚至是操作系统的数据或代码。  
  和   16   位   Windows   下的把代码分成   DATA,CODE   等段的内存模式不同,WIN32   只有一种内存模式,即   FLAT   模式,意思是"平坦"的内存模式,再没有   64K   的段大小限制,所有的   WIN32   的应用程序运行在一个连续、平坦、巨大的   4GB   的空间中。这同时也意味着您无须和段寄存器打交道,您可以用任意的段寄存器寻址任意的地址空间,这对于程序员来说是非常方便的,这也使得用32位汇编语言和用C语言一样方便。   在Win32下编程,有许多重要的规则需要遵守。有一条很重要的是:Windows   在内部频繁使用   ESI,EDI,EBP,EBX   寄存器,而且并不去检测这些寄存器的值是否被更改,这样当您要使用这些寄存器时必须先保存它们的值,待用完后再恢复它们,一个最显著的应用例子就是   Windows   的   CallBack   函数中。   Top

3 楼CNer(Leemaasn)回复于 2001-09-03 17:18:58 得分 0

upTop

4 楼nnit(青春)回复于 2001-09-04 20:54:57 得分 0

upTop

责任编辑: efish 参与评论 查找更多:
相关文章
PB8死活无法安装,咋办? PB8死活无法安装,咋办?
大家好,好久不见了 大家好,好久不见了
微软技术支持工程师,没有说过话? 微软技术支持工程师,没有说过话?
jdbc连接sysbase jdbc连接sysbase
怎样决定调不调用父类的函数 怎样决定调不调用父类的函数
关于添加资源的问题 关于添加资源的问题
:关于ODBC ,SQL 以后,取值问题 :关于ODBC ,SQL 以后,取值问题
装好SDK以后还要在vc中做什么设置才能编译directX程… 装好SDK以后还要在vc中做什么设置才能编译directX程序?
中程求助,请问:算法中的插值、搜索求解是关于什么的 中程求助,请问:算法中的插值、搜索求解是关于什么的
兄弟们,大家好,好久没来了 兄弟们,大家好,好久没来了
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想