Es posible que este código no se vea tan adecuado en muchos lugares, y se refactorará tarde o temprano. Nuevo almacén Recover-Os. Espera a que vuelva para llenar el pozo. Versión refactorizada: https://github.com/yiezias/recover-os
Este proyecto se basa en la versión de arquitectura AMD64 (o arquitectura x86_64) del sistema operativo implementado por "Restauración de verdad del sistema operativo". Las ideas y el código principales son consistentes con el libro original.
El sistema operativo implementado por "Restauración de verdad del sistema operativo" se ejecuta en un procesador de arquitectura X86 de 32 bits, pero ahora ya hemos ingresado a la era de 64 bits. Entonces yo Copiar Consulte el código en "Restauración de verdad del sistema operativo" para implementar su versión de 64 bits.
$ make run puede compilar e iniciar el emulador de Bochs.
Este sistema operativo tiene 2048, serpiente y otros mini juegos incorporados.
Escribir código con recuperación:
(El terminal no implementa la redirección de entrada y salida, y el CAT a continuación es diferente del CAT en Linux)
(Solo muestre la función de escribir archivos de texto)

2048 Mini Juego:

Serpiente codiciosa (la caída del marco es grave, así que no dejaré ir las animaciones):

Los libros relacionados con más fáciles de entender que he leído, detallados e interesantes. Incluso si parece un poco largo, el autor aún necesita probar diferentes formas de dejar que los lectores entiendan (¿dónde puedo encontrar un libro tan amigable)? Entre los muchos libros relacionados con el sistema operativo, finalmente elegí este El único que puede entender Implementación de libros del sistema operativo.
Principalmente la diferencia entre las arquitecturas AMD64 y X86
Bajo la arquitectura AMD64, las funciones generalmente usan registros para pasar los parámetros, y la convención de llamadas de función en x86 no tiene valor de referencia. Pero es fácil de entenderse a sí mismo. Escriba una función C en detalle y compilela en el ensamblaje y luego la entenderá escribiéndola en GCC. Este conocimiento es necesario en muchos lugares durante el proceso de desarrollo.
El modo largo puede entenderse como 64 bits característica Modo protegido, el procesador debe cambiar del modo real al modo protegido y luego al modo largo.
La forma más conveniente de obtener información es, por supuesto, un motor de búsqueda, pero los motores de búsqueda a menudo no pueden encontrar el contenido que desean, y la información verdaderamente autorizada sigue siendo Documentos AMD o Intel.
Este sistema abandona por completo el método para interrumpir la implementación de llamadas del sistema y utiliza la instrucción de llamadas de sistema rápida SYSET SYSET para implementarlo. Para más detalles, consulte los documentos AMD o Intel, y el contenido no es complicado.
El sistema de archivos del autor no se siente muy bien escrito. Por un lado, el sistema de archivos ya es bastante complicado, pero el autor a menudo usa casi cientos de líneas de funciones, y algún código puede reutilizarse, pero debe implementarse repetidamente, lo cual es muy confuso en general. Este sistema del sistema es equivalente a un cambio importante en el autor, pero no debería ser difícil de entender en base al libro y el código del autor. El sistema de archivos de este sistema no implementa funciones a nivel de directorio, pero no afecta la implementación de otras funciones del sistema, por lo que se omite.
El shell del autor se implementa en el núcleo. Este sistema utiliza el shell como una aplicación, y el proceso de inicio utiliza la llamada del sistema EXECV para cargar el shell del directorio raíz. Muchos comandos incorporados del sistema de autor también se implementan directamente como aplicaciones en este sistema. Pero el nivel de código es similar. También hay minijuegos especiales que pueden llamar a la interfaz del sistema operativo para implementar aplicaciones de forma independiente, y este sistema se completa básicamente.