Advertisement

Linux网络协议栈课程学习(中断与任务调度管理)

阅读量:

中断及任务调度管理

在Linux书籍中常见的BottomHalf已不再出现,在转换为tasklets的情况下,则支持SMP;但其核心理念基本上保持一致。

中断及软中断模型

本文不对中断与异常的工作原理及其机制进行深入探讨。但必须对此做出简要说明,因为这对于理解Linux内核与其他嵌入式/实时操作系统之间的主要差异具有重要意义,并且也是掌握网络协议栈接收报文基础的前提条件。Linux系统支持两种形式的硬件中断:一种是CPU内部发生的系统调用陷入(即软件引发的CPU中断),另一种则是由外部设备发出的异常信号(即硬件触发型中断)。需要注意的是,在一般的嵌入式操作系统的框架下(例如VxWorks),并不具备所谓的"系统调用"这一概念;因此对于那些长期从事嵌入式软件开发的新手而言,在进入大型操作系统环境(如Linux或Windows)时会面临内核空间与用户空间划分上的困惑现象。实际上这并非深奥难懂的概念——它指的是软件程序按照预定计划主动地激活CPU提供的专用指令集运行功能,并由此导致CPU发生相应的内部中断事件;随后系统将通过切换内存中的特定ISR服务程序来执行相应的处理任务——而所谓"异常"则特指由于软件无意中执行了非法指令(例如除以零操作)所引起的意外性事件所带来的CPU内部状态变化行为。这些不同类型的CPU处理过程在本质上是相同的:当程序执行到某个时刻或者正在执行

全部评论 (0)

还没有任何评论哟~