一 LINUX 内核信号量简介 为了同步对内核共享资源的访问,内核提供了down 函数和up 函数用于获取和释放 资源。down 和up 所保护的访问资源的内核代码区域,就构成一个临界区。在等待 获取资源进入临界区的过程中,代表进程运行的内核控制路径可以睡眠。 我们从LINUX 内核信号量最直观的设计/实现出发,通过一步步改进,揭示在x86 平台上完整的信号量设计/实现,然后探讨在不同平台上通用的信号量设计/实现。 二 LINUX 内核信号量的初步设计与实现