Programación General > ASM (Ensamblador)
Proyecto Sistema Operativo
Eternal Idol:
Si, concuerdo con Bob, seria mejor solo usar herramientas de terceros para construir el S.O. y que sea todo el codigo hecho por nosotros.
Doy mi voto para FASM y les propongo un par de cositas para un futuro no tan lejano, esto se podria leer reemplazando FAT12 por _nuestro_file_system como decia Bob:
_El OS ya que va en diskette podria soportar FAT12
_El loader obviamente se escribiria en el primer sector pero segun el formato de FAT12 (que empieza con un jmp al codigo del loader y sigue con campos indicativos)
http://www.mega-tokyo.com/osfaq2/index.php/FAT12%20document
_El Kernel (un solo archivo de codigo finalmente) podria escribirse en el diskette con un copy paste desde Windows o un copy desde MS-DOS
Modulitos:
loader: se encargaria de leer el disquette en busca del kernel, podria usar un nombre fijo siempre, podria complementar eso con la espera de una tecla como F5 para permitir elegir el nombre, todas las ideas que se nos ocurran y podamos implementar. Seria un modulo de codigo separado. :devil:
kernel: se encargaria entre otras cosas de establecer las interrupciones que proveera el S.O. (sus servicios) que inicialmente serian init_app y exit_app. Seria un modulo de codigo separado con otro submodulos que en este caso serian archivos en realidad.
Dentro del Kernel podriamos tener (y serviria para distribuir tareas):
Keyboard: encargado de entrada y salida por teclado
Shell: encargado de la interfaz (con sus comandos como ls/dir, info del sistema y de iniciar el proceso de ejecucion de otros programas)
FileSystem: encargado de todo lo relacionado con el FileSystem, enumeracion de directorios/archivos, lectura de los mismos y eventualmente escritura
Utils: encargado de cosas como strings
Video: encargado de salida grafica (mas adelante)
Bueno, me voy unos dias de vacaciones asi que les dejo un par de cosas para que las vayan pensando y comenten lo que les parece :devil: :comp: :ph34r:
Eternal Idol:
Estuve pensando un ratito mas, lastima que no lo hago mucho :D , y me parece que el Shell no tiene porque estar en el Kernel. En realidad ni siquiera me parece logico, podriamos proveer los servicios de ejecucion y de file system mediante interrupciones y dejar al shell ser un ejecutable mas (estilo command.com).
bob esponja:
una pregunta?
vamos a usar las funciones de la BIOS donde se pueda? o vamos a programar todo?
me parece a mi que en un inicio la parte de teclado pantalla y diskette se lo dejemos a la bios que muy bien lo hace :D y cuando tengamos algo consistente empecemos a reemplazar ese codigo on el nuestro.
estoy de acuerdo con el tema de los modulos
Eternal Idol:
--- Cita de: "bob esponja" --- una pregunta?
vamos a usar las funciones de la BIOS donde se pueda? o vamos a programar todo?
me parece a mi que en un inicio la parte de teclado pantalla y diskette se lo dejemos a la bios que muy bien lo hace :D y cuando tengamos algo consistente empecemos a reemplazar ese codigo on el nuestro.
estoy de acuerdo con el tema de los modulos
--- Fin de la cita ---
BIOS sin dudas, mas rapido y mas seguro (años de desarrollo tienen sobre sus espaldas) y mas compatible :devil: :ph34r:
x.cyclop:
¿Y? ¿Al final lo hicieron? :huh:
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa