Me gustaría aprender más acerca de osdev. Así que pensé en aprender de otros kernels pequeños para mejorar en osdev. ¿Hay algún kernel bueno para aprender osdev? Por supuesto, debe ser GPL para que pueda tener acceso al código fuente y tener la libertad de modificarlo.¿Hay algún kernel pequeño lo suficientemente bueno para aprender osdev?
Respuesta
FreeRTOS es tan pequeño como se puede conseguir. ¡La imagen del kernel es solo 4K-9K! Es un RTOS pero te dará una buena idea acerca de los sistemas operativos en general también.
Minix es otro que muchos prefieren! Aunque no es tan pequeño, ¡es bastante popular en los círculos educativos!
FemtoOS te puede interesar también!
TinyOS ¡también sirve para un propósito similar!
La mayor parte de lo que he enumerado proviene del mundo integrado. ¡Porque es donde importan el tamaño y la simplicidad!
http://www.stanford.edu/class/cs140/projects/pintos/pintos.html
pintos es otra adición a lo anterior. El marco y la implementación muy simples son extremadamente simples de entender. Utilizado popularmente para introducir a los estudiantes al diseño e implementación del sistema operativo.
No es un núcleo como tal, sino un tutorial para escribir su propia, por lo que tal vez usted lo encontrará útil:
- 1. Consecuencias de hacer un software "lo suficientemente bueno"
- 2. ¿Cuándo Google Analytics no es lo suficientemente bueno?
- 3. Es C# lo suficientemente rápido para juegos
- 4. ¿Usando LinkedBlockingQueue lo suficientemente bueno para el programa Java de múltiples hilos?
- 5. DevExpress para ASP.NET es lo suficientemente rápido
- 6. ¿Hay algún beneficio para mantener el tamaño de MaxPermSize pequeño?
- 7. ¿Hay algún beneficio en aprender LISP?
- 8. ¿hay algún paquete de prueba de unidad bueno para Excel
- 9. ¿Hay algún proyecto libc que no requiera kernel de Linux
- 10. ¿Haskell es lo suficientemente maduro para aplicaciones web?
- 11. php orm lo suficientemente potente?
- 12. extjs: lo que es bueno para xtype
- 13. Convertir SVG a PDF (svglib + reportlab no es lo suficientemente bueno)
- 14. ¿Es Mono lo suficientemente robusto para un serio desarrollo empresarial?
- 15. ¿Hay algún analizador EDIFACT de código abierto bueno en Java?
- 16. Sphinx autodoc no es lo suficientemente automático
- 17. Es urlencode() lo suficientemente bueno como para detener todos los ataques de inyección SQL en el año 2011
- 18. ¿El pistón django es lo suficientemente maduro?
- 19. ¿Es Request.ServerVariables ["REMOTE_ADDR"] lo suficientemente confiable?
- 20. ¿Es SQL Server Express lo suficientemente bueno para un desarrollador, o deberían obtener la edición de desarrollador?
- 21. ¿Mono es estable y lo suficientemente rápido?
- 22. Argumentos Prolog no están lo suficientemente instanciados
- 23. ¿El IDE Scala Eclipse es lo suficientemente estable?
- 24. jQuery News Ticker - no lo suficientemente suave
- 25. Pequeño proyecto para aprender los hilos de Java
- 26. ¿Hay un generador de números pseudoaleatorio lo suficientemente simple como para hacer en tu cabeza?
- 27. ¿Es D lo suficientemente potente para estas funciones?
- 28. ¿Contenedores clave, lo suficientemente seguros como para almacenar claves privadas?
- 29. ¿System.Threading.Timer es lo suficientemente eficiente para miles de temporizadores simultáneos?
- 30. ¿La especificación # es lo suficientemente estable como para usarla?