术语表

优质
小牛编辑
127浏览
2023-12-01
原子

当遵循适当的访问协议时, 如果一操作的效果对其它所有 CPU 均可见, 则称其为原子操作。 狭义的原子操作是机器直接提供的。 就更高的抽象层次而言, 如果结构体的多个成员由一个锁保护, 则如果对它们的操作都是在上锁后、 解锁前进行的, 也可以称其为原子操作。

参见操作.

阻塞

线程等待锁、 资源或条件时被阻塞。 这一术语也因此被赋予了太多的意涵。

参见休眠.

临界区

不允许发生抢占的代码段。 使用 critical_enter(9) API 来表示进入和退出临界区。

MD

表示与机器/平台有关。

参见MI.

内存操作

内存操作包括读或写内存中的指定位置。

MI

表示与机器/平台无关。

参见MD.

操作

见内存操作.

主中断上下文

主中断上下文表示当发生中断时所执行的那段代码。 这些代码可以直接运行某个中断处理程序, 或调度一异步终端线程, 以便为给定的中断源执行中断处理程序。

实时内核线程

一种高优先级的内核线程。 目前, 只有中断线程属于实时优先级的内核线程。

参见线程.

休眠

当进程由条件变量或通过 msleeptsleep 阻塞并进入休眠队列时, 称其进入休眠状态。

参见阻塞.

可休眠锁

可休眠锁是一种在进程休眠时仍可持有的锁。 锁管理器 (lockmgr) 锁和 sx 锁是目前 FreeBSD 中仅有的可休眠锁。 最终, 某些 sx 锁, 例如 allproc (全部进程) 和 proctree (进程树) 锁将成为不可休眠锁。

参见休眠.

线程

由 struct thread 所表达的内核线程。 线程可以持有锁, 并拥有独立的执行上下文。

等待通道

线程可以在其上休眠的内核虚拟地址。