Linux 커널은 컴퓨터 아키텍처를 어떻게 알 수 있습니까?

Linux 커널은 컴퓨터 아키텍처를 어떻게 알 수 있습니까?

에서 start_kernel()커널이 수행하는 첫 번째 작업 중 하나는 실행입니다 setup_arch(). setup_arch()지원되는 모든 아키텍처에 대해 정의되므로 적절한 명령줄에 대한 포인터가 전달됩니다.

이 포인터는 어떻게 초기화되며, 커널은 언제 어떻게 컴퓨터 아키텍처를 얻습니까?

답변1

특정 커널은 단일 아키텍처용으로 구축되었으므로 setup_arch.일반start_kernel이를 호출하지만 초기화된 포인터를 명령줄에 전달하지 않고 명령줄에 대한 포인터에 대한 포인터를 전달하며 setup_arch해당 포인터를 초기화하는 것이 의 작업 중 일부입니다.

예를 들어,x86에는 전역 command_line변수 가 있습니다, 그리고 그것의setup_arch 에서 제공하는 포인터에 주소를 저장합니다.start_kernel.

따라서 커널은 컴퓨터가 구축될 때 컴퓨터의 아키텍처를 효과적으로 가져옵니다.

관련 정보