• Domingo 22 de Diciembre de 2024, 07:04

Autor Tema:  Sobre El Sistema Operativo  (Leído 1684 veces)

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Sobre El Sistema Operativo
« en: Sábado 5 de Noviembre de 2005, 06:07 »
0
Bueno se que este tema estuvo parado pero se debe a que estoy terminando el año en la facultad y recien dentro de dos semanas le voy a poder dedicar algo de tiempo a mis hobbies ( que utopia que estudiando ing en sistemas tenga que esperar hasta las vacaciones para programar ), pero mientra me gustaria que con la participacion de todos lo miembros del foro lleguemos a una conclusion de lo que seria la version 0.0.1 del Sistema operativo CodeName SolocodigOS :D:

Sobre el SO en si propongo:
* monousuario
* monotarea
* modo real
* NASM / FASM
* sistema de archivos no jerarquico
* prompt integrado al SO
* lo mas simple posible  :o
* funciones con nombres en ingles
* interfaz bien definida ( orden de parametros estandar, valores de retorno estandar , no se alteran los registros etc )
* esquema comun de comentarios ( explicacion de cada metodo de una forma comun )
* uso de constantes
* modularidad
* usar la BIOS lo mas que se pueda

Sobre los servicios:

algunas son mas urgentes que otras pero vale tenerlas en cuenta desde un inicio

modulo de E/S ( nombre propuesto: "IO" ):

* imprimir caracter                                 ( putChar )
* imprimir cadena                                  ( putString )
* imprimir cadena con longitud definida    ( putStringLen )
* imprimir numero decimal                     ( putDecimal )
* imprimir numero hexadecimal              ( putHexa )
* imprimir numero octal                         ( putOctal )
* obtener caracter                                  ( getChar )
* obtener cadena                                   ( getString )
* obtener cadena con longitud definida     ( getStringLen )
* obtener numero decimal                       ( getDecimal )
* obtener numero hexadecimal                ( getHexa )
* obtener numero octal                           ( getOctal )
* escribir caracter a diskette                   ( byteToFloppy )
* escribir bloque a diskette                     ( blockToFloppy )
* leer caracter de diskette                      ( byteFromFloppy )
* leer bloque de diskette                        ( blockFromFloppy )
* ir a posicion definida de la pantalla       ( gotoXY )
* limpiar la pantalla                                ( clearScreen )

modulo de cadenas ( nombre propuesto: "String" ) :

* obtener longitud de cadena ( strLen )
* comparar cadenas              ( strCmp )
* verificar si la cadena es un numero ( isNum )
* verificar si la cadena es un numero Hexa ( isHexa )
* verificar si la cadena es un numero Octal ( isOctal )

el kernel ( nombre "Kernel"  :smartass:   ):

* reiniciar ( reboot )
* apagar  ( halt )
* cargar un programa a memoria y ejecutarlo ( loadProgram )
* el metodo principal ( init )
* setear la configuracion ( setup )
* establecer una interrupcion ( setInt )
* obtener la direccion de una interrupcion ( getInt )

mi idea es que los servicios de IO y String se "presten" a traves de la interrupcion 21h.

la mayoria de estos metodos ya han sido escritos por ustedes y yo alguna ves pero lo ideal seria escribir los metodos de nuevo definiendo bien la interfaces ( no son muy largos ) comentandolo bien y discutiendolos en el foro en busca de errores y mejores alternativas.

lo que faltaria es el tema del sistema de archivos que se discutira cuando tengamos todo esto andando y testeado ( en un principio podriamos cargar los programas de direcciones fijadas en el codigo hasta que tengamos algun sistema de archivos ).

lo unico que yo no escribi de los metodos de arriba es la parte de diskette debido a que desconosco la geometria de los diskettes de 3 y 1/2 y por eso cuando lo escribi , escribia y leia del diskette pero no traia lo que yo queria por lo tanto desisti, mi idea es que al llamar a la funcion de escribir al diskette nosotros usemos el diskette como una memoria lineal y que el metodo se encargue del tema de la geometria ( pistas cilindros cabezales etc ) , esto va permitir ( algun dia ) un paso mas suave a un disco duro

ESPERO OPINIONES

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Sobre El Sistema Operativo
« Respuesta #1 en: Sábado 5 de Noviembre de 2005, 09:24 »
0
Cita de: "bob esponja"
lo unico que yo no escribi de los metodos de arriba es la parte de diskette debido a que desconosco la geometria de los diskettes de 3 y 1/2 y por eso cuando lo escribi , escribia y leia del diskette pero no traia lo que yo queria por lo tanto desisti, mi idea es que al llamar a la funcion de escribir al diskette nosotros usemos el diskette como una memoria lineal y que el metodo se encargue del tema de la geometria ( pistas cilindros cabezales etc ) , esto va permitir ( algun dia ) un paso mas suave a un disco duro

ESPERO OPINIONES
Me parece muy bien en general y en cuanto al sistema de archivos y el acceso al diskette te comento que ya lo tenia CASI listo leyendo FAT 12 pero bueno, llegaron las epocas de examenes, mucho trabajo en la empresa y lo deje colgado pero las funciones para obtener pistas, cilindros, etc ya las tenia funcionando  :devil:  :devil:

Ya, me pongo otra vez a codear un poco al respecto.  :comp:  :comp:  :ph34r:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

jaumegs

  • Miembro MUY activo
  • ***
  • Mensajes: 110
    • Ver Perfil
Re: Sobre El Sistema Operativo
« Respuesta #2 en: Lunes 21 de Noviembre de 2005, 00:11 »
0
Bueno, me estoy iniciando en asm, pero me encantaria "participar", si llego a tanto..., en este proyecto B) .

Como lo llevan?

(Ahora nose si hablaré mucho) Podrian crear una seccion en el foro, dentro del foro ASM si lo creen oportuno, un apartado para este proyecto. Digo lo anterior, lo que está entre parentesis, porque nose si realmente ya existe tal sección, asi que...

Bueno, espero que este pequeño proyecto se convierta en algo más que un simple proyecto :D .

SALUDOS

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Sobre El Sistema Operativo
« Respuesta #3 en: Lunes 21 de Noviembre de 2005, 01:24 »
0
>Como lo llevan?

yo habia empezado un SO muy simple pero lo deje porque empece las claes en la facultad, despues surgio de hacer uno aca en el foro y estuvo muy quieto pero ahora como termine las clases le puedo dedicar un poco de tiempo.

en si lo vamos a escribir todo de cero y todavia, al menos yo no empece.

pero ene stas semanas pretendo empezar a postear algo