首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

操作系统的实施中断程序后的恢复原程序现场的过程中的栈与PCB中CPU现场保护区的关系

2013-07-08 
操作系统的执行中断程序后的恢复原程序现场的过程中的栈与PCB中CPU现场保护区的关系?中断过后现场恢复的过

操作系统的执行中断程序后的恢复原程序现场的过程中的栈与PCB中CPU现场保护区的关系?
中断过后现场恢复的过程是以下的哪一种?
1.进程控制块PCB中保存有CPU的现场信息,恢复现场时以这些信息为根据。2.堆栈弹出。好像堆栈弹出听的多一些,第一种方式中PCB中的现场信息不是用在恢复现场时吗?
操作系统的执行中断程序后的恢复原程序现场的过程对进程的控制,其中PCB中的CPU现场保护区的作用与堆所用到的堆栈的内容是否重复?如果是用堆栈保护现场,那PCB的现场保护区不是多余的了吗? 操作系统 处理器 栈 pcb
[解决办法]
Q1. 中断过后现场恢复的过程是以下的哪一种?
A1. 两种均可能,视 CPU 与硬件平台而定.
    有些 CPU 配有复杂的虚拟地址管理部件,比如 386 系列的保护模式,对中断的响应就有中断门和任务门两种,前者,寄存器就被保护在栈中,而后者,寄存器就被挂号信在任务控制块中;
    有些 CPU 比较简单,没有虚拟地址管理部件,比如 MCS51,此时,中断后,寄存器一般都保护在栈内.

Q2.好像堆栈弹出听的多一些
A2. 是的.老师在讲解中断时,为突出重点,一般都以简单 CPU 为模型,把寄存器保护在栈内.

Q3. 第一种方式中PCB中的现场信息不是用在恢复现场时吗?
A3. 如果寄存器保护在 PCB 内,CPU 的状态寄存器是有相应位的.当执行中断返回时, CPU 会自动从 PCB 中恢复各寄存器的值.

Q4.PCB中的CPU现场保护区的作用与堆所用到的堆栈的内容是否重复?
A4.视 CPU 及硬件平台而定.

Q5. 如果是用堆栈保护现场,那PCB的现场保护区不是多余的了吗? 
A4. 这仍然与操作系统的设计与实现有关.大多数操作系统,寄存器保护区只有一个,而谓的的"现场保护区"均是寄存器保护区的地址,而非保护区本身.

热点排行