什么是中断顶半部和底半部 ? (部分记忆)背

 上半部:                                                                                                                                                         上半部就是 中断处理函数 ,那些处理过程比较快,不会占用很长时间的处理就可以放在上半部完成。                                                                                                                                                          
 
 下半部:                                                                                                                                                         如果中断处理过程比较耗时,那么就将这些比较耗时的代码提出来,交给下半部去执行,这样中断处理函数就会快进快出。 
 
 
 
 
 
 Linux 内核将中断分为上半部和下半部的主要目的?                                                                                      1. 就是实现中断处理函数的快进快出,那些对时间敏感、执行速度快的操作可以放到中断处理函数中,也就是上半部。                                                                                                                         2. 剩下的所有工作都可以放到下半部去执行,比如在上半部将数据拷贝到内存中,关于数据的具体处理 就可以放到下半部去执行。 
   这里有一些可以借鉴的参考点:  
  1.  如果要处理的内容  不希望被其他中断打断 ,那么可以放到上半部。  
  2.  如果要处理的任务对  时间敏感 ,可以放到上半部。  
  3.  如果要处理的任务与  硬件有关 ,可以放到上半部 。  
   4.  除了上述三点以外的其他任务,优先考虑放到 下半部 。  
  举个例子,如果我们需要通过 adc 的值计算某个物理量的,那么几个  
  计算的过程可能是比较费时的。                                                                                                         因此,从adcdat0寄存器读取数值应该放在中断上半部。                                                                   计算物理量的过程应该放在中断下半部,即read函数中