yo alguna vez tuve esa inquietud y tengo bases de programacion de un os , por lo que veo no tienes experiencia ni idea de lo que implica pero no te desanimes , existen varios libros sobre el tema , no recuerdo el nombre exacto solo al autor Andrew S. Tanenbaum en el cual podras darte una idea , a partir de tu inquietud y lo que yo pude aprender el lenguaje C Y EL C++ son los padres de muchos de los OS de hoy en dia windows , unix , minix y linux tienen su kernel escrito en su gran mayoria en estos lenguajes , Android fue creado a partir de codigo de Linux y java en si es un pseudolenguaje el cual no correra si no es en su propia maquina virtual asi que antes de programar algo en java necesitarias programar el kernel haciendo que soporte esta maquina virtual o basado en la misma , java en si tiene mucho de las sintaxis de c y c++ , otro planteamiento seria el plantear en que arquitectura correria tu OS , si manejaras particiones de disco y formateos , si correra en procesadores x86 , x64 , arm , manejando multiples nucleos , yo diria que un buen inicio seria que leyeras el libro de tanenbaum y entendieras de lo que se trata , como referencia te recomiendo que compres el libro original ya que este contiene un cd con ejemplos y codigo fuente del SO que el mismo tanenbaum creo llamado minix y en el cual se baso linus torvalds , otros temas que te pueden ayudar es ver la programacion de videojuegos en c ya que en base a librerias existentes y a travez de ejemplos mas familiarizables podras crear un micro SO , ya que de hecho muchos juegos son algo similar