에서 start_kernel()
커널이 가장 먼저 하는 일은 실행이다 setup_arch()
. setup_arch()
지원되는 각 아키텍처에 대해 정의되므로 적절한 명령줄에 대한 포인터가 전달됩니다.
이 포인터는 어떻게 초기화되며, 커널은 언제 어떻게 컴퓨터 아키텍처를 얻습니까?
답변1
특정 커널은 단일 아키텍처용으로 구축되었으므로 단일 setup_arch
.일반적인start_kernel
이를 호출하지만 초기화된 포인터를 명령줄에 전달하는 대신 명령줄 포인터에 대한 포인터를 전달하고 setup_arch
해당 포인터를 초기화하는 것이 작업의 일부입니다.
예를 들어,x86에는 전역 command_line
변수 가 있습니다,그리고setup_arch
에서 제공하는 포인터에 주소를 저장합니다.start_kernel
.
따라서 커널은 컴퓨터가 구축될 때 컴퓨터의 아키텍처를 효과적으로 캡처합니다.