什么是"控制块"

时间:2014-11-30 18:10:02

标签: c++ boost

在阅读boost::coroutine文档时,我来到了控制块这个词:

  

解决方案是每个协程都有自己的堆栈和控制块

虽然堆栈的概念非常熟悉,但我以前从未遇到过术语控制块。下面的图像可能提供了一些关于控制块是什么的上下文(没有双关语)

source: boost documentation

由于我无法通过google方式获得更好的解释(提供的context链接只会使事情变得更加模糊),是否有人能提供可靠的定义并解释控制块的工作原理?

感谢

1 个答案:

答案 0 :(得分:1)

该术语可追溯至IIRC CP / M的过程控制块,至少40年。它是描述运行上下文的数据块。后来,线程获得了线程控制块这里对状态的需求意味着类似的数据结构,因此名称Control Block是有意义的。唯一的奇怪之处在于,通常这些控制块是OS结构,但是增强协同程序不是OS管理的。