C++ 什么';s a";“控制块”;

C++ 什么';s a";“控制块”;,c++,boost,C++,Boost,在阅读文档时,我遇到了术语“控制块”: 解决方案是每个协程都有自己的堆栈和控制块 虽然堆栈的概念非常熟悉,但我以前从未遇到过“控制块”这个术语。下图可能提供了对控制块是什么的一些上下文(并非双关语)理解 既然我无法通过谷歌找到更好的解释(提供的boost链接只会让事情变得更加模糊),那么谁能提供一个可靠的定义并解释控制块的工作原理呢 多亏了这个术语可以追溯到IIRC CP/M的过程控制模块,至少40年。它是描述运行上下文的数据块。后来,线程在这里得到了线程控制块——对状态的需要意味着类似的数据

在阅读文档时,我遇到了术语“控制块”:

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

虽然堆栈的概念非常熟悉,但我以前从未遇到过“控制块”这个术语。下图可能提供了对控制块是什么的一些上下文(并非双关语)理解

既然我无法通过谷歌找到更好的解释(提供的boost链接只会让事情变得更加模糊),那么谁能提供一个可靠的定义并解释控制块的工作原理呢


多亏了

这个术语可以追溯到IIRC CP/M的过程控制模块,至少40年。它是描述运行上下文的数据块。后来,线程在这里得到了线程控制块——对状态的需要意味着类似的数据结构,因此名称控制块是有意义的。唯一奇怪的是,通常这些控制块都是操作系统结构,但boost协同路由不是操作系统管理的

它被称为控制块,因为Boost的人决定称之为控制块。请看,它是系统用来表示执行上下文的数据,即CPU寄存器的状态,以及一些其他特定于系统的信息(可能是unix上的信号掩码和处理程序?)。