linux内核,中断上下文,中断下半部的处理2种方法: tasklet_schedule,工作队列workqueue

avatar
作者
筋斗云
阅读量:0

1:中断上下文半部

进程上下文,进程可能被分成多断去执行,根据调度系统的分配时间段,上下文就是运行在cpu的多段进程

1)中断上下文,不能和用户空间进行数据交互,不能被打断,不能做其他事,否则可能交出cpu,

2)不能交出cpu,(不能进入睡眠,)不能进行任务调度schdule

  1. ISR(中断处理)运行时间尽可能短,越长则系统响应特性就差

2:中断下半部的处理2种方法

1)中断上下文分为上半部,下半部,因为系统同时兼顾系统的响应。如果中断要处理的事情比较多,比如,有一包数据要读取
需要时间比较长,中断期间不能打断,则会影响其他进程的响应,把中断分为上下半部,上半部执行紧急的响应中断,时间比较短,
下半部不是很紧急,可以被打断调度,执行时间比较长,处理真正的事情。

处理策略1:tasklet(小任务) tasklet_schedule函数来处理
处理策略2:工作队列workqueue

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!