El kernel de Linux está escrito originalmente en C (y ensamblado x86).
La parte de ensamblaje no es grande y su participación se ha ido reduciendo a lo largo de los años, y el resto se ha vuelto más grande.
[Con el apoyo posterior de otras CPU, también se necesitan otros lenguajes de ensamblaje, pero solo para esas CPU.]
El montaje no es realmente necesario para la velocidad, y es un obstáculo por razones de portabilidad, por lo que se evita.
- ¿Cuáles son algunas de las ventajas y desventajas de escribir a mano en comparación con la escritura?
- ¿Cuál es su posición con respecto a fanfiction?
- Cómo mejorar mi escrito
- Para escribir un artículo necesitas hacer una investigación. ¿Cómo puede usar los resultados sin violación de derechos de autor? ¿Y tienes que citar las fuentes!
- ¿Qué opinas sobre escribir un diario hoy en día? ¿Sigue siendo adecuado en un mundo moderno?
Cuando digo C, me refiero a C, con extensiones GCC. GCC solía ser el único compilador compatible, ahora otros están bien, que admiten las extensiones.
Linus Torvalds, el hombre detrás del núcleo, se opone a C ++ (¿y a cualquier otro lenguaje?) Para escribir el núcleo.
El cómo, es una pregunta con muchas respuestas … Solo diré por ahora, que Linus hizo la primera versión por sí mismo y rápidamente otros ayudaron, primero a personas no remuneradas, y luego por corporaciones, incluso incluyendo a Microsoft … (un gran contribuyente )
Tenga en cuenta que “Linux” (a diferencia del núcleo únicamente), como en una “distribución”, como Ubuntu, utiliza muchos otros programas que también se requieren. Por ejemplo, bash y muchos otros programas escritos en C. Y algunos en Perl, y más tarde se utilizó más Python.
Android, que se basa en el mismo kernel, usa principalmente Java, además del kernel, y su implementación de Java probablemente esté escrita en C ++ (o C), o probablemente el subconjunto de, que usa Google.
Ninguno de los idiomas aquí está respaldado por mí. C es importante históricamente, menos en los últimos años. Puedo ver por qué el núcleo está construido de esa manera, pero a partir de cero, Rust (o Nim?) Habría sido una opción. Como comenzar desde cero no es realmente una opción, C se usa para el núcleo y otro software heredado. No significa que sea la mejor opción para un nuevo software.