开发板的linux中能同时执行多个程序吗?该如何处理

开发板的linux中能同时执行多个程序吗?
我一个是接收数据的程序每30秒会接收一次。我用了while程序。编译执行后,它就一直等待接收。貌似kernel里面也是阻塞式的,没有接收到数据的话,就卡在那里。
我之前看见有人写的程序,如可以打开zigbee设备接收,然后有回到命令行,可以执行按键触摸程序。同时zigbee接收也开着,只要有接收数据,控制台就是打印串口信息。

请问应用层函数如何实现,kernel是否要改写内容变成什么信号量的。高手能提供下思路吗?

在应用层方面,我想到了多线程,但是kernel中没有pthread.h头文件啊!还有kernel中我要改成什么方式呢?谢谢

------解决方案--------------------
用kernel_thread,内核驱动里有用它的,grep搜一下