![¿Cómo conoce el kernel de Linux la arquitectura de la computadora?](https://rvso.com/image/192241/%C2%BFC%C3%B3mo%20conoce%20el%20kernel%20de%20Linux%20la%20arquitectura%20de%20la%20computadora%3F.png)
En start_kernel()
, una de las primeras cosas que hace el kernel es ejecutar setup_arch()
. setup_arch()
se define para cada arquitectura compatible, por lo que se le pasa un puntero a la línea de comando adecuada.
¿Cómo se inicializa este puntero y cómo y cuándo obtiene el núcleo la arquitectura de la computadora?
Respuesta1
Un kernel determinado está construido para una única arquitectura, por lo que tiene una única implementación de setup_arch
.el genericostart_kernel
llama a eso, pero no pasa un puntero inicializado a la línea de comando, pasa un puntero a un puntero a la línea de comando, y es parte del setup_arch
trabajo de inicializar ese puntero.
Por ejemplo,x86 tiene una command_line
variable global, y essetup_arch
almacena su dirección en el puntero proporcionado porstart_kernel
.
Entonces, el kernel efectivamente obtiene la arquitectura de la computadora cuando se construye.