¿Qué aprender sobre los aspectos internos del kernel de Linux? La versión 6.5-rc5 tiene aproximadamente 36 millones de líneas de código, ¡así que buena suerte! [Seiya] tiene un enfoque diferente. Vuelve al principio y examina versión del núcleo 0.01. Ahora estás hablando de 10.000 líneas y quitando comentarios y espacios en blanco, mucho menos.
Por supuesto, algunas cosas han cambiado, pero las ideas principales son las mismas. [Seiya] informa: “Leer V0.01 fue realmente para mí. Era como visitar el Museo de Historia de la Computación en Mountainview…”
Solo había 66 llamadas al sistema en ese núcleo antiguo. Algunas funciones importantes, como el ensamblaje, aún no funcionaban. O sys_mount
simplemente devuelve -ENOSYS, por ejemplo. Algunas funciones como la incorporada strcpy
fueron codificados para CPUs i386 – obviamente eso ha cambiado hoy.
El kernel admite una pequeña cantidad de dispositivos, incluidos un controlador de disco ATA, un teclado PS/2, un monitor VGA en modo texto y algunos relojes y temporizadores del sistema. ¡No hay necesidad de preocuparse por ejecutar una GUI como X o Wayland en este kernel!
Algunos de los comentarios son divertidos en retrospectiva. Por ejemplo: “planificación() es… ¡BUEN CÓDIGO! Probablemente no haya ninguna razón para cambiar esto,…” Por supuesto, hubo muchas razones para cambiar esto, y ahora hay muchas opciones para diferentes casos de uso.
Esto resultó ser un esfuerzo de solo lectura porque, sorpresa, el código del núcleo no es capaz de compilar con compiladores modernos. No me pareció que valiera la pena cambiar la fuente, pero leerlo es sin duda un ejercicio interesante.
Somos grandes creyentes en aprender cosas volviendo a los primeros principios. Funciona para radar Doppler. Drones multirrotor también.
«Introvertido. Solucionador de problemas. Aficionado total a la cultura pop. Estudiante independiente. Creador».