책 "이해 리눅스 커널 3 판"의이 섹션 대신 PID를 찾기 위해 프로세스 목록을 검색하는 커널이 4 개 해시 테이블을 소개한다고 설명 , PID의 각 유형에 대해 하나.
제가 알기 론, 테이블의 각 요소는 PID의 해시입니다. 하지만 어떻게하면 쉽게 검색 할 수 있을까요? 예를 들어 PID가 주어지면 모든 PID가 검색되는 대신 해당 PID 유형의 해시를 검색하는 것이 빠르기 때문에 4 개의 해시 테이블이 존재합니까? 또한 해시가 도움이되는 이유는 무엇입니까? 간단한 숫자를 검색하는 것보다 해시를 찾는 것이 어렵지 않습니까?
그래서이 4 개의 테이블 중 하나에 정확히 어떤 항목이 있습니까? 프로세스 설명자입니까? 나는 그들을 그것으로 이해했다. 각 프로세스 디스크립터에는 동일한 상태, 즉 예를 들어 같은 그룹 및 동일한 상태에있는 프로세스와 같은 다른 유사한 프로세스로 연결되는 구조가 있습니다.
이 내용은 아닙니까?
해싱 순차 검색보다 빠른 (또는 일정 시간 근처) 대신에 선형 시간의 업을 찾습니다. – e0k
@ e0k 어떻게? 테이블에서 해시를 검색하는 것과 테이블에서 숫자를 검색하는 것과 같은 것은 아닌가요? – Gatonito
그건 고전적인 책이지만, 얼마나 오래된 지 명심하십시오 (커널 v2.6). – e0k