一、前言 linux的中断宏观分为两种:软中断和硬中断。声明一下,这里的软和硬的意思是指和软件相关以及和硬件相关,而不是软件实现的中断或硬件实现的中断。 软中断就是"信号机制"。软中不是软件中断。linux通过信号来产生对进程的各种中断操作,我们现在知道的信号共有31个,其具体内容这里略过,感兴趣读者可参看相关参考文献[1]。一般来说,软中断是由内核机制的触发事件引起的(例如进程运行超时),但是不可忽视有大量的软...
四、中断处理程序 linux中的中断处理程序很有特色,它的一个中断处理程序分为两个部分:上半部(tophalf)和下半部(bottom half)。之所以会有上半部和下半部之分,完全是考虑到中断处理的效率。 上半部的功能是"登记中断"。当一个中断发生时,他就把设备驱动程序中中断例程的下半部挂到该设备的下半部执行队列中去,然后就没事情了--等待新的中断的到来。这样一来,上半部执行的速度就会很快,他就可以接受更多她负责的设备产生的...
六、中断处理程序的不可重入性 上一节中我们提到有时候需要屏蔽中断,可是为什么要将这个中断屏蔽掉呢?这并不是因为技术上实现不了同一中断例程的并行,而是出于管理上的考虑。之所以在中断处理的过程中要屏蔽同一IRQ来的新中断,是因为中断处理程序是不可重入的,所以不能并行执行同一个中断处理程序。在这里我们举一个例子,从这里子例中可以看出如果一个中断处理程序是可以并行的话,那么很有可能会发生驱动程序锁死的情况。当...
一,系统初启 首先很惭愧的坦白大部分是抄袭他人(XIAOMAN)的因为系统的初起一直是一个麻烦而头疼的问题,不同的体系结构会有较大的不同。X86从硬件启动,读入引导扇区,执行引导程序从实模式开始再转换到保护模式这个复杂的过程其实与操作系统本身的运行机制关系并不大,但忽略过去又无法给linux内核一个完整的 过程,所以我大动剪刀浆糊,但会把精力主要集中在linux内核本身,希望得到大家的谅解。 (以核心2.0.36为主)...
通用线程 -- 新 linux 2.4 内核中的软件RAID,第一部分 这个新内核包含许多极好的新功能和增强功能。其中之一就是包含了流行的软件 RAID 的实现。软件 RAID 使您不必购买昂贵的硬件 RAID 控制器和附件就能极大地增强 linux 磁盘的 IO 性能和可靠性。由于 linux RAID 是用软件实现的,所以它灵活、速度快 ... 而且有趣! RAID 奇迹 软件 RAID 的概念很简单 -- 使您可以将两个或多个块设备(通常是磁盘分区)组...
linux使用clone系统调用来实现创建先线程(pthread_create),clone系统调用创建子进程,这个子进程可以共享父进程一定数量的执行环境,这样说来每创建一个新线程都是运行在每个子进程的执行环境下的,这样的还能叫多线程吗?这样的多线程还有执行效率上的优势吗?