发布
社区首页 >问答首页 >task_vector与task_struct的概念

task_vector与task_struct的概念
EN

Unix & Linux用户
提问于 2018-11-06 03:09:15
回答 1查看 380关注 0票数 0

我很难理解进程的数量如何被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进程?

EN

回答 1

Unix & Linux用户

发布于 2018-11-06 07:42:43

这份文件似乎可以追溯到1999年左右;实际上,它在封面上说,这本书是基于目前的、稳定的、2.0.33个来源。因此,尽管它的许多概念可能仍然有效,但数值约束,例如512个任务(进程)的限制,几乎肯定不是。

图中没有显示task_vector。起点是一个task_struct,部分显示在左侧.

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/480024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档