task_vector vs conceito task_struct

0

Estou tendo dificuldade em entender como o número de processos é limitado pelo tamanho de task_vector

Estou lendo esta página, link

each process is represented by a task_struct data structure (task and process are terms that Linux uses interchangeably). The task vector is an array of pointers to every task_struct data structure in the system.

This means that the maximum number of processes in the system is limited by the size of the task vector; by default it has 512 entries. As processes are created, a new task_struct is allocated from system memory and added into the task vector. To make it easy to find, the current, running, process is pointed to by the current pointer.

De cima, eu entendi o conceito de task_struct e que é uma estrutura de dados de processo, e esse task_vector é uma matriz de ponteiro para cada task_struct. Mas na imagem a seguir, não entendo o que é task_vector . Ele também diz it has 512 entries , isso significa que só pode haver no máximo 512 processos?

    
por MaverickD 06.11.2018 / 04:09

1 resposta

1

Esse documento parece ser datado de cerca de 1999; de fato, ele afirma em sua capa que este livro é baseado nas fontes 2.0.33 atuais e estáveis . Portanto, embora muitos de seus conceitos ainda possam ser válidos, as restrições numéricas, como um limite de 512 tarefas (processos), quase certamente não são.

O task_vector não é mostrado no seu diagrama. O ponto de partida é um task_struct , mostrado em parte no lado esquerdo.

    
por 06.11.2018 / 08:42

Tags