Linux의 프로세서에 대한 정보

Linux의 프로세서에 대한 정보

안녕하세요 여러분, 저는 책을 읽고 있었는데 Understanding the Linux Kernel다음을 발견했습니다:

각 프로세스 설명자에 포함된 필드 외에도 각 CPU가 수행하는 작업을 설명하는 추가 정보가 필요합니다. 이를 위해 스케줄러는 Schedule_data 유형의 NR_CPUS 구조의 alignment_data 배열을 사용할 수 있습니다.

NR_CPUS내 질문은 이것을 어디에서 찾고 정의할 수 있느냐는 것입니다(어떤 디렉터리와 파일을 의미합니다) schedule_data struct. 미리 감사드립니다.

PS Linux 커널에서 다양한 구조와 매크로가 정의된 위치에 대한 빠른 참조를 제공하는 일부 웹사이트를 아는 사람이 있다면 매우 도움이 될 것입니다.

답변1

나는 사용할 것이다

cd /usr/src/linux
cscope

기본 편집기와 잘 통합된 ncurses GUI에서 정의, 참조, 호출자, 피호출자, 자유 텍스트를 찾아보세요.

vim을 사용하면 반대 방향으로도 통합됩니다.

그리고 ctags가 있습니다. 이 소프트웨어는 vim과 다른 많은 편집기에서도 크게 지원됩니다.

답변2

http://lxr.linux.no/Linux 커널에 있는 모든 C 개체의 정의와 사용법을 찾을 수 있는 온라인 사이트입니다.

특정 버전의 커널을 선택하기만 하면 됩니다(예:http://lxr.linux.no/#linux+v2.6.38/)를 입력하고 오른쪽 상단의 입력 필드에 변수 또는 매크로 이름을 붙여넣습니다.

다음은 NR_CPUS 검색 결과의 예입니다.http://lxr.linux.no/#linux+v2.6.38/include/linux/threads.h#L20

답변3

NR_CPUS파일에서 매크로로 정의됨: include/linux/threads.h.

struct schedule_data정의된 위치: /usr/src/linux/kernel/sched.c.

관련 정보