社区
汇编语言
帖子详情
请问在保护模式下,CPU做了那些保护? 地址空间保护是什么概念?
常
2006-03-19 06:05:41
我想 不能在应用程序使用IO指令算是一个保护
...全文
254
8
打赏
收藏
请问在保护模式下,CPU做了那些保护? 地址空间保护是什么概念?
我想 不能在应用程序使用IO指令算是一个保护
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icbm
2006-03-24
打赏
举报
回复
何谓“保护”?
对数据的保护:
一、保护数据访问不越界。在保护模式下,数据段有段界限。超过界限,会发生通用保护异常。在实模式下,数据的段界限为64k,因此会发生数据段重叠的情况。对一个数据段越界写操作,不会报错,但这会破坏相邻数据段内的数据。
二、保护数据不被误用。在保护模式下,数据段分为只读数据段、可读可写数据段。对只读数据段进行写操作,会发生通用保护异常。数据段是不可以执行的,把数据段作为代码段执行,也会发生异常。在实模式下,任何数据段都是可写的,包括代码段也是可写的。
三、保护数据不被非法使用。在保护模式下,代码分为0、1、2、和3这四个运行特权级,0级特权级最高,1、2、3特权级依次降低。数据段也分为相应的4个特权级。只有当前代码段的特权级大于、等于数据段特权级的情况下,才能访问数据。
对代码的保护:
一、保护代码段访问不越界。与保护数据访问不越界类似。
二、保护代码码不被误用。在保护模式下,代码段分为只执行代码段、可读可执行段,普通代码段、一致代码段。代码段总是不可写的,对代码段进行写操作,会发生通用保护异常。
三、保护代码不被非法使用。在保护模式下,代码分为0、1、2、和3这四个运行特权级,0级特权级最高,1、2、3特权级依次降低。不同特权级之间代码的相互转移,需要满足特定的特权等级要求。
还有其它的一些保护措施,具体内容比较多,可以参考 Intel 参考手册。这里有个镜像站,有MASM和Intel的参考资料。网址:http://web.sau.edu/LillisKevinM/csci240/masmdocs/
上面有朋友说,保护模式主要是保护操作系统的,我比较赞同。在DOS下,任何程序都可以修改中断向量表,即一个想搞破坏的程序随时都可以让Dos崩溃。运行在保护模式下的Windows 2000,想搞破坏的程序如果权限不够,Windows 2000只是简单弹出个对话框,报告有非法程序执行,然后结束掉这个非法程序,Windows 2000不受影响。
运行在保护模式下的操作系统,稳定性、可靠性大大增强。
日立奔腾浪潮微软松下联想
2006-03-21
打赏
举报
回复
286就支持保护模式了。
lyh908
2006-03-21
打赏
举报
回复
回1楼:在80386之后才出现保护模式,保护模式提供了更多的内存。事实上,保护模式的目的不是为了保护程序,而是要保护程序以外的所有程序(包括操作系统)。
常
2006-03-20
打赏
举报
回复
一楼的主要目的是问,何谓“保护”
WYlslrt
2006-03-20
打赏
举报
回复
主要是做得特权及的保护,保证低特权级的代码,不会破坏到搞特权级的空间。
日立奔腾浪潮微软松下联想
2006-03-19
打赏
举报
回复
能否使用I/O指令取决于进程空间中I/O MAP的设置。
段限制决定一个段(保护模式下通常称之为选择符)所能访问的地址空间的大小,访问一个段内的地址超出这个范围会引发INT 0Dh(通常保护性错误)。
fhb13
2006-03-19
打赏
举报
回复
段限--规定一个段用多大的空间
楼主我不晓得你一楼说的东西是什么意思
常
2006-03-19
打赏
举报
回复
段限(limit)有什么作用?
我看到有人是这么说段限的“在80286中若给出的16位偏移地址小于段限值,则应在实存中寻址;反之在虚存中寻址”
迷惑?
CPU
工作模式-
保护
模式
因为实模式下
CPU
不需要
做
权限检查,所以它可以直接中断向量表中的值装载CS:IP寄存器x86
CPU
在第一次加电和每次reset后,都会自动进入实模式,想要进入
保护
模式
,就需要程序员写代码实现从实模式切换到
保护
模式
接下来...
【操作系统】
CPU
的
保护
模式
与实模式的区别_实模式和
保护
模式
16位的
CPU
并无
保护
模式
或者实模式可言,
保护
模式
是由32位
CPU
诞生之后开始的,32位的
CPU
最大寻址范围可达4GB,且可向下兼容16位的实模式(也就是既可以运行32位的程序,也可以运行16位的程序的意思)。
实模式和
保护
模式
80386开始,
CPU
有三种工作方式:实模式,
保护
模式
和虚拟8086模式。...在
保护
模式
下,全部32条地址线有效,可寻址高达4G字节的物理
地址空间
; 扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅
CPU
模式与寄存器介绍
保护
模式
:在
保护
模式
下,内存访问是基于虚拟地址的,程序使用段选择子和偏移地址的组合来访问内存。
保护
模式
:
保护
模式
支持32位和64位的寻址空间,可以访问更大的内存容量,充分利用现代计算机的性能和资源。
【操作系统】从实模式进入
保护
模式
实模式/
保护
模式
下地址分段(基段地址+偏移地址)的原因,总的来说是旧的
CPU
(8086/8088之类的)在实模式下地址线为20位(A0~A19),最大寻址空间为0xFFFFF,超出部分会被地址回卷到0重新开始。但是进入到
保护
模式
下...
汇编语言
21,497
社区成员
41,618
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章