Cómo hacer un sistema operativo usando C para Kernel y Java para UI

El sistema operativo más básico es una tarea única de usuario único no protegida como DOS

Tienes que hacer el siguiente mínimo:

  • Configurar controladores de interrupciones para interrupciones de hardware
  • Configure un modelo de memoria, probablemente plano, sin protección
  • Cree un formato ejecutable y una biblioteca de tiempo de ejecución C
  • Escriba un ensamblador o compilador que se ejecute en su sistema operativo

No es una tarea fácil en absoluto, ya que a menos que lo haga en base a los estándares existentes, tendrá que reinventar todo. También escribir controladores de dispositivo adecuados para hardware moderno es una tarea muy difícil. Hacer que JVM se ejecute también es una tarea gigantesca.

Hay muchos recursos para escribir pequeños sistemas operativos en Internet; puede probar algo basado en eso.

Paso 1: crea un sector de arranque en tu disco duro.
Paso 2: escribir un programa de arranque en el ensamblaje
Paso 3: Obtén ese programa para acceder al disco e iniciar tu núcleo (escrito en C ).
Creo que esta página en bham.ac.uk ayudará.

Ahora

Para que Java se ejecute en su sistema operativo, necesitará instalar JVM (Java Virtual Machine). JVM depende de la plataforma. Por lo tanto, necesitará un jvm creado especialmente para su sistema operativo. No creo que eso esté bajo el alcance.

Entonces, mi sugerencia es ir a un sistema operativo que no sea GUI (basado en comandos), que ejecute un par de comandos como ls (list) cp (copy) (list y copy son relativamente más fáciles si conoce la programación c en la plataforma de Linux), cambie el directorio, crear, eliminar, etc.