进程转入中断的细节

MINIX3

进程转入中断的细节分为为三步:

1.硬件将进程的寄存器保存到其堆栈中

2.中断的硬件细节汇编代码将堆栈中的信息保存

  1>保存寄存器信息及状态,到该进程对应PCB的entry中

  2>调用中断剩余的具体实现的C代码程序

3.中断的C代码执行中断处理的实现

  1>清除保留在堆栈保存的信息(包括进程的寄存器信息)

  2>执行中断处理

  3>发送消息,通知该进程等待,直到该中断执行完

4.中断的C代码返回,中断的硬件细节汇编代码恢复进程

  1>中断处理完后,将由C代码返回

  2>中断的硬件细节汇编代码,从进程对应PCB中entry恢复,进程的状态及信息

 

  1. Hardware stacks program counter, etc.

  2. Hardware loads new program counter from interrupt vector.

  3. Assembly language procedure saves registers.

  4. Assembly language procedure sets up new stack.

  5. C interrupt service constructs and sends message.

  6. Message passing code marks waiting message recipient ready.

  7. Scheduler decides which process is to run next.

  8. C procedure returns to the assembly code.

  9. Assembly language procedure starts up new current process.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值