task_Vector 및 task_struct 개념

task_Vector 및 task_struct 개념

크기에 따라 프로세스 수가 어떻게 제한될 수 있는지 이해하는 데 어려움을 겪고 있습니다.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

여기에 이미지 설명을 입력하세요.

답변1

문서의 날짜는 1999년경인 것으로 보입니다. 사실 표지에는 이렇게 나와 있습니다.이 책은 현재 안정적인 2.0.33 소스 코드를 기반으로 작성되었습니다.. 따라서 해당 개념의 대부분은 여전히 ​​유효할 수 있지만 512 작업(프로세스) 제한과 같은 수치 제한은 거의 확실히 유효하지 않습니다.

task_vector차트에 표시되지 않습니다. 시작점은 a task_struct이고 단면은 왼쪽에 표시됩니다.

관련 정보