【Linux驱动编程】Linux中断上半部和下半部

本文介绍了Linux中断处理中的上半部和下半部概念,旨在提高系统的实时性和并发性。中断上半部主要处理硬件交互、时间敏感任务,而下半部则处理耗时任务。Linux中断设计原则包括将硬件操作、实时任务放在上半部,非实时、耗时任务放在下半部。下半部的实现机制包括软中断、tasklet和工作队列。
摘要由CSDN通过智能技术生成

前言
  cpu在执行程序时,如果有外部中断触发时,如定时器中断、串行总线中断等,cpu停止当前任务从而转去响应中断处理。对于中断函数的处理,原则是尽快处理完事务并退出中断,这一点也比较好理解,尽快处理中断并返回,保证正常任务的执行,并q且能否响应其他事务的中断,保证实时性和并发性。

  其实,在单片机逻辑编程中已经使用过Linux中断“上下部分”的思维,或者说,Linux中断“上下半部”设计者灵感即源自最初的裸机编程。例如,在单片机裸机编程中,需要通过串口(UART)进行数据通信,对于接收数据情况下,在采用中断方式接收时,我们一般会先将数据存放在一个缓存(buf)中,中断函数只负责将数据存入缓存,而在主函数中获取缓存数据并处理。在这个过程中,中断处理部分即将数据存入缓存的动作为“中断上半部”,当然还包括从寄存器获取数据,改变寄存器状态等。“中断下半部”则是获取缓存数据并处理。

RTOS中断处理
  从裸机编程上升到系统层面,单片机运行实时系统(RTOS)。RTOS一般以线程为调度任务,没有进程概念,但都会提供一套

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Acuity.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值