Pregunta

lo que es una manera de crear un mi propio sistema operativo utilizando C ++. Se me ha creado cargador de arranque (usando nasm, qemu) pero no tienen el conocimiento para añadir un kernel para este gestor de arranque.

No hay solución correcta

Otros consejos

Tenga cuidado, C ++ es bastante pesado para un núcleo del sistema operativo.

  • Hay servicios como excepciones que tendrá que soportar con una biblioteca en tiempo de ejecución.
  • No se sentirá como C ++ hasta que añada un montón.
  • Kernels son muy sensibles a donde se asignan los objetos; el modelo de un montón que generalmente se usa en C ++ no es realmente adecuado.
  • Acoplamiento API a las estructuras de datos es una mala idea. BeOS tenía problemas con esto. Es necesario para ocultar el tamaño de las estructuras internas de los usuarios, y eso significa que saltan a través de aros (Pimpl, constructor privado, funciones virtuales) cuando las API son funciones miembro.

Parece que ya es más largo que la mayoría, por lo que seguir haciendo preguntas y que probablemente va a terminar en algún lugar agradable! : VD

También añadir, Este libro de Tanenbaum, donde se explica la detalles de implementación de Minix.

Es posible considerar la búsqueda en MINIX que es un pequeño sistema operativo para sistemas x86. Fue diseñado originalmente como un proyecto de enseñanza y se ha convertido en algo que está diseñado para ser útil en el mundo real.

No estoy familiarizado con los detalles, pero por mis conocimientos BeOS fue escrito en C ++. Las fuentes deben ser Freeley disponible, así como la documentación.

Puede echar un vistazo a código fuente Minix 3. que es un sistema operativo muy simple, creada con el fin de entender cómo funciona el sistema operativo.

También se puede estudiar todo el libro de Tanenbaum sobre Os. Todos ellos son muy completos y recuerdo que un libro tiene la fuente completa de minix adjunto y comentó

En un sistema operativo C ++, es posible que desee ver en NuevoSO o UnixLite .

Un sistema operativo utilizable puede ser desarrollado en la parte superior de L4 , incluso por un solo estudiante en un semestre, junto con otros cursos (pero con todos los problemas con los controladores ya resueltos). Si se encuentra que esto sea una gran aventura, y el microkernel L4 también es una especie de avanzada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top