我很难理解进程的数量如何被task_vector
的大小所限制
我在看这一页,https://www.tldp.org/LDP/tlk/kernel/processes.html
每个进程都由一个task_struct数据结构表示(任务和进程是Linux可互换使用的术语)。任务向量是指向系统中每个task_struct数据结构的指针数组。这意味着系统中进程的最大数量受到任务向量大小的限制;默认情况下,它有512个条目。在创建进程时,从系统内存中分配一个新的task_struct并将其添加到任务向量中。为了便于查找,当前指针指向当前、正在运行的进程。
从上面,我理解了task_struct的概念,它是进程的数据结构,task_vector是指向每个task_struct的指针数组。但是在下面的图片中,我不明白什么是task_vector
。它还说it has 512 entries
,这是否意味着只能有最大的512
进程?
发布于 2018-11-06 07:42:43
这份文件似乎可以追溯到1999年左右;实际上,它在封面上说,这本书是基于目前的、稳定的、2.0.33个来源。因此,尽管它的许多概念可能仍然有效,但数值约束,例如512个任务(进程)的限制,几乎肯定不是。
图中没有显示task_vector
。起点是一个task_struct
,部分显示在左侧.
https://unix.stackexchange.com/questions/480024
复制相似问题