一、什么是中断?

在计算机科学中,中断是指由于接收到外围硬件(相对于CPU与内存而言)的异步信号或者来自软件的同步信号而进行相应的硬件/软件处理。

二、什么是硬中断?

显然,外围硬件发给CPU或者内存的异步信号就是硬中断信号。简言之:外设对CPU的中断

三、什么是软中断?

由软件本身发给操作系统内核的中断信号,称之为软中断。通常是由硬中断处理程序或进程调度程序对操作系统内核的中断,也就是我们常说的系统调用(System Call)了。

四、硬中断与软中断之区别与联系

1. 硬中断是有外设硬件发出的,需要有中断控制器之参与。其过程是外设侦测到变化,告知中断控制器,中断控制器通过CPU或内存的中断脚通知CPU,然后硬件进行程序计数器及堆栈寄存器之现场保存工作(引发上下文切换),并根据中断向量调用硬中断处理程序进行中断处理。

2. 软中断则通常是由硬中断处理程序或者进程调度程序等软件程序发出的中断信号,无需中断控制器之参与,直接以一个CPU指令之形式指示CPU进行程序计数器及堆栈寄存器之现场保存工作(亦会引发上下文切换),并调用相应的软中断处理程序进行中断处理(即我们通常所言之系统调用)。

3. 硬中断直接以硬件的方式引发,处理速度快。软中断以软件指令之方式适合于对响应速度要求不是特别严格的场景。

4. 硬中断通过设置CPU的屏蔽位可进行屏蔽,软中断则由于是指令之方式给出,不能屏蔽。

5. 硬中断发生后,通常会在硬中断处理程序中调用一个软中断来进行后续工作的处理。

6. 硬中断和软中断均会引起上下文切换(进程/线程之切换),进程切换的过程是差不多的。

(进程切换过程请参考我的另一篇文章--《计算机操作系统进程切换详解》)

计算机中断/硬中断/软中断之理解(1)相关推荐

  1. 外部中断和内部中断 硬中断 软中断 中断下半部

    重要声明: 以下代码有粘贴 截取他人劳动成果的成分 如有雷同 不胜荣幸 如您不能容忍 请不要独自忍受@weChat:iisssssssssii 联系小民 主动删除 中断含义: { 中断是CPU处理外部 ...

  2. 【OS学习笔记】十一 实模式:中断-软中断和硬中断基本原理

    上一篇文章我们模拟操作系统的加载器程序,使用汇编语言实现了一个程序加载器:点击链接查看上一篇文章:程序加载器的实现原理 本篇文章,是实模式学习的结尾.在经过了那么多坎坷,终于学完了8086的实模式!! ...

  3. linux内核网络收包过程—硬中断与软中断

    目录 硬中断处理 软中断处理 数据通过网络发送过来 硬中断处理 数据帧首先到达网卡的接收队列,分配RingBuffer DMA把数据搬运到网卡关联的内存 网卡向CPU发起硬中断,通知CPU有数据 调用 ...

  4. 内中断,外中断,软中断,硬中断,异常,陷阱

    不管是内中断,外中断,软中断还是硬中断都是按照中断源来划分的. 一.外中断 狭义上的中断(interruption)指的就是外中断. 指来自CPU执行指令以外的事件的发生,希望处理机能够向设备发下一个 ...

  5. [Linux内核]软中断与硬中断

    转自:http://blog.csdn.net/zhangskd/article/details/21992933 本文主要内容:硬中断 / 软中断的原理和实现 内核版本:2.6.37 Author: ...

  6. 硬中断与软中断的区别!

    硬中断: 1. 硬中断是由硬件产生的,比如,像磁盘,网卡,键盘,时钟等.每个设备或设备集都有它自己的IRQ(中断请求).基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上(注:硬件驱动通常是内核 ...

  7. 硬中断与软中断的区别!!!

    硬中断: 1. 硬中断是由硬件产生的,比如,像磁盘,网卡,键盘,时钟等.每个设备或设备集都有它自己的IRQ(中断请求).基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上(注:硬件驱动通常是内核 ...

  8. 硬中断 / 软中断的原理和实现

    本文主要内容:硬中断 / 软中断的原理和实现 内核版本:2.6.37 Author:zhangskd @ csdn blog 概述 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中 ...

  9. *33.硬中断和软中断是什么?区别?

    1.硬中断-硬件中断.像磁盘,网卡,键盘,时钟等 2.软中断-软件中断.进程产生. 区别:(产生机制.处理顺序.可否屏蔽.中断信号由来) 1.软中断的发生的时间是由程序控制的,硬中断的发生的时间是随机 ...

最新文章

  1. 为什么我的子线程更新了 UI 没报错?借此,纠正一些Android 程序员的一个知识误区...
  2. 06.系统编程-2.线程
  3. linux挂载wondiws目录,linux cifs自动挂载windows硬盘或文件夹
  4. Java代码优化:使用构造函数和使用一个setter的效率差别
  5. 四、华为鸿蒙HarmonyOS应用开发之Java开发下Page Ability生命周期
  6. B站发布2020年一季度财报:月活用户达1.72亿,日活用户突破5000万
  7. 42、C++ Primer 4th笔记,IO库,未格式化IO操作
  8. 微软以75亿美元收购GitHub
  9. python培训价目表-Python培训一般要多少钱?
  10. atitit.信息安全的控制总结o7
  11. 傅里叶光学MATLAB编程系列【1】基本函数
  12. Teclast/台电32G SM3267AC H27UDG8M2MTR 量产记录
  13. java lcs矩阵,LCS算法的两种JAVA实现方式
  14. html复制标签快捷键,ps复制快捷键ctrl加什么
  15. elasticsearch报错:exceeds the [index.highlight.max_analyzed_offset] limit [1000000]
  16. 有容云:梁胜-如何让Docker容器在企业中投产(上)
  17. QNX Screen---Blit
  18. 【电子学会】2022年12月图形化一级 -- 和平使者
  19. 天下文章一大抄,你抄我来我抄它
  20. 开题报告———基于Python的网络爬虫的电影网站设计与实现

热门文章

  1. 智能信用卡还款软件是什么?和传统代还平台有什么区别?
  2. JS - 实现word预览功能
  3. 在Unreal引擎中利用实现实时动作捕捉
  4. 辨识模型ARMA、ARMAX、ARIMA、ARIMAX
  5. 2021单招十类计算机试题,2021年河北省高职单招考试十类和高职单招对口电子电工类、对口计算机类联考文化素质考试(数学)考试大纲...
  6. OO第二单元电梯作业总结
  7. 门禁系统远程无线联网解决方案
  8. 简单python数据分析项目实例-入门Python数据分析最好的实战项目(一)
  9. 台式计算机风扇为什么光散热,台式机箱风扇为什么要使用静音风扇
  10. Vmware虚拟机无法联网?