1、 对于LDD3上所介绍的技术:休眠,唤醒,阻塞和非阻塞操作,异步通知这一系列的操作所针对的对象都是进程。所以,在讨论驱动程序时,需要将现在的思路换一换,现在写程序的思路还停留在前后台系统中,即使在有操作系统的情况下也是如此。所以,要学习Linux下多进程和多线程的编程,伴随而来的是进程之间的通信问题,同步问题,调度问题……记录一下,fork可以创建子进程,子进程与父进程共享代码段,但是数据段和堆栈段是重新申请的。申请后的数据段和堆栈段会复制父进程的数据段和堆栈段。所以,在fork后的第一时间,父子进程是代码、数据相同的两个进程。但是fork函数的返回值不同,这样可以通过返回值的不同进入不同的分支,完成不同任务,从此父子进程并发的执行,数据段和堆栈中的信息也会发生不同的变化。创建子进程付出的是内存空间的消耗。但如果程序处理的好的话,可以增加CPU的效率和系统的吞吐量。
2、 “硬件+附属于软件的数据结构+附属于软件的操作方法”三者构成了设备。
3、 关于Linux中断处理的顶半部和底半部。
顶半部是指通过request_irq注册的中断例程,在顶半部的执行时间应该尽可能短,并且需要有一定的注意事项。所谓的中断底半部是被中断顶半部调度的进程或者是任务。底半部运行时,所有的中断都是打开的,可以被新的中断打断。