编写适用于 Oracle® Solaris 11.2 的设备驱动程序

退出打印视图

更新时间: 2014 年 9 月
 
 

锁定原语

在传统 UNIX 系统中,每一部分内核代码都采用两种方法终止:通过显式调用 sleep(1) 放弃对处理器的控制权或通过硬件中断。Oracle Solaris OS 的运行方式与此不同。系统可随时抢占内核线程以运行其他线程。由于所有内核线程共享内核地址空间,并且通常需要读取和修改相同的数据,因此内核提供了大量的锁定原语以防止线程损坏共享数据。这些机制包括互斥锁(又称为 mutex)、读取器/写入器锁以及信号量。