最近在写一个linux下面与中断处理相关的程序。
由于是从单片机,arm转过来的,很多思维还是逃不出以前的想法。
比如单片机时的中断处理:
void irq interrupt(void)
{
data_flag = 1;
rxbuf[data_len++] = data;
}
在主循环中
while(1)
{
if(1 == data_flag)
{
data_flag = 0;
data_process();
}
}
如果是在linux下面的驱动呢?
linux中断方面的驱动我写过一些,基本上都是采用socket/poll的方式或者send_sig_info之类的传递信号给应用层的方式,除了这2种方式之外,其他的方式还有哪些?
这些方式中哪种的实时性比较好?占用内核时间短?效率比较高?
请高人赐教。 |