社区
汇编语言
帖子详情
请问在保护模式下,CPU做了那些保护? 地址空间保护是什么概念?
常
2006-03-19 06:05:41
我想 不能在应用程序使用IO指令算是一个保护
...全文
246
8
打赏
收藏
请问在保护模式下,CPU做了那些保护? 地址空间保护是什么概念?
我想 不能在应用程序使用IO指令算是一个保护
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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位偏移地址小于段限值,则应在实存中寻址;反之在虚存中寻址”
迷惑?
用不到200行代码设计x86
保护
模式
下的操作系统
本课程为学习Linux 0.11内核源码,以及《设计自己的x86 Linux操作系统》课程的前置课程。课程通过不到200行代码(其中汇编不到100行),演示了如何使用80386的硬件机制来创建一个32位简单的双任务切换的超小型操作系统。课程重点讲解80386
保护
模式
下的编程,涉及的内容包括:1、计算机启动流程的介绍2、实模式和
保护
模式
区别,进入
保护
模式
下的方法3、GDT/IDT/LDT表介绍以及使用方法4、利用TSS来实现任务的切换5、利用8253定时器中断实现任务下下文切换6、利用调用门增加系统调用接口。学习本课程只需要你有8086汇编的基础(简单用过即可,不需要精通,我也不精通),熟悉C语言编程即可。在学习完本课程后,将为分析Linux 0.11源码、设计自己的操作系统打下坚实的硬件知识储备。可以点击我的课程主页,了解更多相关课程。
实模式和
保护
模式
80386开始,
CPU
有三种工作方式:实模式,
保护
模式
和虚拟8086模式。只有在刚刚启动的时候是real-mode,等到操作系统运行起来以后就切换到protected-mode。实模式只能访问地址在1M以下的内存称为常规内存,我们把地址在1M 以上的内存称为扩展内存。在
保护
模式
下,全部32条地址线有效,可寻址高达4G字节的物理
地址空间
; 扩充的存储器分段管理机制和可选的存储器分页管理机制,不仅
3.操作系统——
CPU
的实模式、
保护
模式
和长模式
有实模式、
保护
模式
、长模式 实模式(实地址模式) 真实分为两个方面: 运行真实指令。不区分指令动作,只是直接执行指令的真实功能 发往内存的地址是真实、不加限制的。 总结来说就是,这个模式下直接往物理层写,而不是我们上一章说过的硬件抽象层 实模式寄存器 X86
CPU
在实模式下的每个寄存器都是16位。 其中: AX:累加器,主要用于存放数据,算数、逻辑运算中的操作数或者结果。也可用来存放临时的地址。 BX:基地址寄存器,存放访问存储器时的地址。 CX:计数寄存器,保存计算值,如在移位、循环等指令中作为隐
CPU
的
保护
模式
与进程空间
CPU
的
保护
模式
保护
模式
Windows多任务的实现 虚拟内存 内核模式与用户模式 1、
保护
模式
80386处理器有三种工作模式:实模式、
保护
模式
和虚拟86模式。Windows系统运行在
保护
模式
下。 多道程序并发执行从而诞生
保护
模式
。 “
保护
”指进程内存的隔离。 2、虚拟内存 在
保护
模式
下,32位的Windows系统可寻址4GB的
地址空间
。各进程的
地址空间
被分成了用户空...
CPU
的实模式和
保护
模式
实模式和
保护
模式
都是
CPU
的工作模式,
CPU
的工作模式是指
CPU
的寻址方式、寄存器大小等用来反应
CPU
在该环境下如何工作的
概念
。 一、实模式工作原理 实模式出现于早起8088
CPU
时期。当时由于
CPU
的性能有限,一共只有20位地址线(所以
地址空间
只有1MB),以及8个16位的通用寄存器,以及4个16位的段寄存器。所以为了能够通过这些16位的寄存器去构成20位的主存地址,必须采用一种特殊的方式。当某个指令想要访问某个内存地址时,它通常需要用下面的这种格式来表示: (段基址:段偏移量) 其中第一个字段是段基址,
汇编语言
21,458
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章