关于linux硬中断、软中断、软中断指令、信号的简明解释

硬中断:

1、同步中断(内部中断/异常)

  core内部触发的中断,当中断发生时。会等待流水线完成后,再去执行中断。包含软中断指令。中断的标志由软件或者硬件设置。

2、异步中断(外部中断/中断)

  core外部触发的中断,当中断发生时。不会等待流水线完成,就会立即执行。此时流水线作废。中断的标志由硬件设置。

软中断:

  linux中断机制的下半部分(下半部:软中断,普通进程处理方式)。软件上模拟硬件中断,达到异步调用下半部服务函数的功能。

软中断指令:

  由程序设置中断标志后,硬件接着执行中断的相关操作。

信号:

  软件上模拟硬件中断。中断某个用户进程运行,转而去处理相应的“中断”。这一系列动作包含:信号产生->信号响应->信号处理->信号返回。

时间: 2024-10-12 10:21:58

关于linux硬中断、软中断、软中断指令、信号的简明解释的相关文章

硬中断和软中断(转)

来自:http://blog.csdn.net/zhangskd/article/details/21992933 概述 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器. 如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚.处理器于是立即停止自己正在做的事, 跳到中断处理程序的入口点,进行中断处理. (1) 硬中断 由与系统相连的外设(比如网卡.硬盘)自动产生的.主要是用来通知操作系统系统外设状态的变化.比如当网卡收到数

Linux性能优化从入门到实战:05 CPU篇:硬中断、软中断

??软中断(softirq)会导致CPU 使用率升高 ??中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来响应设备的请求.中断其实是一种异步的事件处理机制,可以提高系统的并发处理能力.由于中断处理程序会打断其他进程的运行,所以,为了减少对正常进程运行调度的影响,中断处理程序就需要尽可能快地运行.并且当CPU执行在中断处理函数中时,不会响应同时发生的又一次中断. ??所以为了加快中断处理程序执行和解决中断丢失的问题,Linux将中断分为上半部和

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

硬中断: 1. 硬中断是由硬件产生的,比如,像磁盘,网卡,键盘,时钟等.每个设备或设备集都有它自己的IRQ(中断请求).基于IRQ,CPU可以将相应的请求分发到对应的硬件驱动上(注:硬件驱动通常是内核中的一个子程序,而不是一个独立的进程). 2. 处理中断的驱动是需要运行在CPU上的,因此,当中断产生的时候,CPU会中断当前正在运行的任务,来处理中断.在有多核心的系统上,一个中断通常只能中断一颗CPU(也有一种特殊的情况,就是在大型主机上是有硬件通道的,它可以在没有主CPU的支持下,可以同时处理

基于 Linux 2.6的 硬中断 / 软中断的原理以及实现

Author:zhangskd @ csdn blog 概述 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器. 如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚.处理器于是立即停止自己正在做的事, 跳到中断处理程序的入口点,进行中断处理. 有关概念 (1) 硬中断 由与系统相连的外设(比如网卡.硬盘)自动产生的.主要是用来通知操作系统系统外设状态的变化.比如当网卡收到数据包的时候,就会发出一个中断.我们通常所说的中断指

软中断与硬中断 & 中断抢占 中断嵌套

参考了这篇文章:http://blog.csdn.net/zhangskd/article/details/21992933 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器. 如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚.处理器于是立即停止自己正在做的事, 跳到中断处理程序的入口点,进行中断处理. (1) 硬中断 由与系统相连的外设(比如网卡.硬盘)自动产生的.主要是用来通知操作系统系统外设状态的变化.比如当网卡收

Linux内核中的软中断、tasklet和工作队列详解

[TOC] 本文基于Linux2.6.32内核版本. 引言 软中断.tasklet和工作队列并不是Linux内核中一直存在的机制,而是由更早版本的内核中的"下半部"(bottom half)演变而来.下半部的机制实际上包括五种,但2.6版本的内核中,下半部和任务队列的函数都消失了,只剩下了前三者. 介绍这三种下半部实现之前,有必要说一下上半部与下半部的区别. 上半部指的是中断处理程序,下半部则指的是一些虽然与中断有相关性但是可以延后执行的任务.举个例子:在网络传输中,网卡接收到数据包这

Linux内核中的软中断、tasklet和工作队列具体解释

[TOC] 本文基于Linux2.6.32内核版本号. 引言 软中断.tasklet和工作队列并非Linux内核中一直存在的机制,而是由更早版本号的内核中的"下半部"(bottom half)演变而来. 下半部的机制实际上包含五种,但2.6版本号的内核中.下半部和任务队列的函数都消失了,仅仅剩下了前三者. 介绍这三种下半部实现之前.有必要说一下上半部与下半部的差别. 上半部指的是中断处理程序,下半部则指的是一些尽管与中断有相关性可是能够延后运行的任务. 举个样例:在网络传输中.网卡接收

Linux的中断

参考 http://www.yesky.com/20010813/192117.shtml 结构化程序设计思想认为:程序 = 数据结构 + 算法.数据结构体现了整个系统的构架,所以数据结构通常都是代码分析的很好的着手点,对Linux内核分析尤其如此. 比如,把进程控制块结构分析清楚了,就对进程有了基本的把握: 再比如,把页目录结构和页表结构弄懂了,两级虚存映射和内存管理也就掌握得差不多了. 为了体现循序渐进的思想,在这我就以Linux对中断机制的处理来介绍这种方法. 首先,必须指出的是:在此处,

软中断和硬中断(转)

1.中断:通常被定义成一个事件,该事件改变处理器执行的指令顺序.这样的事件与cpu芯片外部电路产生 的电信号相对应.2.中断的产生:每个能够发出中断请求的硬件设备控制器都有一条称为IRQ的输出线(中断线).所有的IRQ线都 与一个中断控制器的输入引脚相连,中断控制器与cpu的intr引脚相连.3.中断向量:每个中断由0-255之间的一个8位数来标识.称为中断向量.4.中断描述符表:IDT是一个系统表,它与每一个中断或者异常向量相联系,每一个向量在表中有相应的中断处理程 序的入口地址.cpu的id