Alloca函数,用于在栈上分配内存, gcc 的动态数组就是通过它来支持的。
中断和信号的概念是不同的,信号是发给进程的,硬中断是内核和硬件之间,都是异步的,不可预知的。
系统调用进入内核是不发生进程切换的。DIRECT_IO 不使用系统 IO 缓存,还要保证缓冲区内存不被 swap ,这个用于那些用户层进行缓存的应用程序。
可重入的一定是线程安全的,除此之外二者就没有任何必然联系了。可重入在处理信号程序时是很重要的。信号处理的流程是从内核态回到用户态,执行完再进入内核态。
《Understanding The Linux Kernal 》和《 Linux 内核情景分析》很多重合的地方,就像翻译,只是后者代码多些,前者讲的有点抽象。