操作系统之中断

中断的作用

中断机制允许操作系统从用户态切换到内核态,从而重新获得对CPU的控制权。这个过程对于系统的并发和多任务处理至关重要。没有中断机制的话,CPU在运行应用程序时将无法被打断,这将导致无法实现任务的切换和调度。

中断机制的基本原理

  • 时钟中断:时钟中断是由时钟部件发出的信号。时钟部件会定期向CPU发送中断信号,例如每隔50毫秒发送一次。这些中断信号用于操作系统的任务调度,帮助操作系统决定是否需要切换任务或调整时间片分配。
  • I/O中断:I/O中断是由输入输出设备发出的信号。当I/O操作完成时,设备会向CPU发送中断信号。操作系统会处理这些信号,完成数据的处理或启动下一步操作。例如,当硬盘完成数据读取或写入时,硬盘控制器会发出中断信号。

中断类型

中断可以分为内中断和外中断两类,每类中断的来源和处理方式都不同。

内中断(异常)

内中断是由CPU内部引发的,与当前执行的指令有关。内中断包括以下几种情况:

陷阱:陷阱是应用程序主动发起的中断,用于请求操作系统内核的服务。通常,应用程序通过执行特殊的陷入指令来实现陷阱。这些指令将CPU的控制权交给操作系统,以便执行如文件操作或进程控制等系统服务。系统调用就是通过陷阱指令实现的。

故障:故障是由于程序错误或异常条件引发的中断,这些错误通常可以被操作系统内核修复。操作系统会尝试修复故障,并在修复后将CPU控制权还给应用程序,允许程序继续执行。一个典型的例子是缺页故障,当页面不在内存中时需要通过页面调度来解决。

终止:终止是由致命错误引发的中断,这种错误通常无法被修复。内核无法解决致命错误时,应用程序会被直接终止,相关资源也会被释放。常见的致命错误包括执行非法指令或除数为零等。

外中断

外中断是由CPU外部引发的,与当前执行的指令无关。外中断的信号来自外部设备或系统硬件。外中断包括以下几种情况:

中断向量表:中断向量表是一个存储中断处理程序地址的数据结构。当中断发生时,CPU会使用中断向量表找到对应的中断处理程序,并执行相应的处理。

检查中断信号:在每个指令周期的末尾,CPU会检查是否有外中断信号。如果有,中断机制会被触发。对于内中断,CPU会在执行指令时检查是否发生了异常或错误。

  • 具体情况

    • 时钟中断——由时钟部件发来的中断信号

      • 时钟部件每隔一个时间 片(如 50ms)会给CPU 发送一个时钟中断信号

      • 操作系统内核决定 接下来让另一个应 用程序上CPU运行

    • I/O中断——由输入/输出设备发来的中断信号

      • 当输入输出任务完成时, 向CPU发送中断信号

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值