Site Meter
Acceder:
Basado en Elgg

Sistema mkx86 :: Blog :: Caracteristicas del sistema mkx86

mayo 22, 2008

Estas son las caracteristicas soportadas en esta version mkx86-0.1.0 (Beta 1):

- Arquitectura microkernel.

- 100% 32 bits, usa caracteristicas avanzadas del procesador i386+ como protección de memoria, niveles de privilegio (ring 0 y 3), acceso a memoria virtual hasta 4GB, uso de estructuras GDT, LDT y TSS.

- Multitarea usando software stack switching, esto es, conmutación de contexto entre distintos niveles de privilegio guardando estado de proceso en pila.

- Planificación en base a prioridades las cuales internamente soportan round robin.

- Sistema de IPC mediante paso de mensajes (SEND, RECV, SENDRECV) entre procesos y con el mismo microkernel mkx86 (estilo rendezvous).

- Manejo de QUANTUM para expropiar CPU de procesos.

- Manejo de interrupciones (PIC8259 + IRQs + ISR + IDT) y transformadas en notificaciones a procesos.

- Manejo de excepciones para evitar la caída del sistema.

- Manejo de reloj de sistema PIT 8253 para soporte a tick y Quantums.

- Manejo de memoria básico segmentada con lista de bloques.


Con la ayuda de los procesos que corren en modo usuario se puede adicionar las siguientes características:

- API disponible, esto es, librería para interactuar parcialmente compatible con el Standard LIBC. Proximamente se publicará documentación.

- Sistema de archivos RAMFS el cual actualmente sopoerta FAT12 que corre en memoria RAM del proceso "FS".

- Driver de consola en modo usuario que maneja teclado/pantalla y se comunica con procesos por paso de mensajes.

- Soporta inicialización de procesos "on boot" mediante programa "INIT".

- Carga y ejecución de procesos desde RAMFS.

- Mini shell MKX86 de demostración.

Estas son las caracteristicas soportadas actualmente. La llamo "beta 1", pues es la primera versión sacada en publico y posiblemente se necesite hacer algunos fixes dependiendo de los bugs que los usuarios vayan reportando.

Mientras tanto no se tiene pensado adicionar otras caracteristicas al menos sea realmente necesario. El esfuerzo hasta el "beta 9" se pondrá en la documentación, difusión, fixes y porting de aplicaciones externas pequeñas.

Hay un semi plan de publicación que prentendo ir cumpliendo poco a poco.

- Presentación [OK]
- Caracteristicas[OK]
- Funcionamiento general del mkx86 [PEND]
- Compilando el mkx86 [PEND]
- API programación de aplicaciones [PEND]
- mkx86 y el bajo nivel [PEND]
- Kernel Internals mkx86 [PEND]
- Explicación del driver de consola [PEND]
- Otros ... ¿?¿??¿

Saludos,

Palabras clave: GCC, microkernel, mkx86, sistemas operativos

Enviado por Sistema mkx86 - Vesmar Boris Camara C.


Comentarios

  1. ¿soporta python? Si soporta python estoy hecho... :D

    Rolando Espinoza La fuenteRolando Espinoza La fuente on jueves, 22 mayo 2008, 05:17 UTC # |

  2. ?? Si conozco a Boris, Assembler o C a lo sumo.

    pablo azeropablo azero on domingo, 25 mayo 2008, 16:54 UTC # |

  3. Mi mkx86 tiene python :P
    http://softwarelibre.org.bo/mod/mediastream/display.php?ident=14&ow

    Rolando Espinoza La fuenteRolando Espinoza La fuente on domingo, 25 mayo 2008, 23:21 UTC # |

  4. Todo es posible señores!
    Quieren Logo, Basic, Python, PHP, Haskell, Pascal, ...? Estan invitados a hacer el primer 'port' ;)

    Por otro lado, el cross compiling solo hice en ANSI/C y NASM desde Linux, pero si tienen un compilador para su "lenguaje preferido" que genere FLAT BINARY (No ELF), enlace librerias de forma estática y ademas puedas decir que no use las librerias nativas de Linux sino puedas apuntar a libc del mkx86, entonces puedes desarrollar una aplicacion en Linux/Windows y ejecutarla en el mkx86.

    Mientras no pueda publicar un manual, por ahora solo puedo decir:

    "Use the force, read the source" :)

    Vesmar Boris Camara C.Vesmar Boris Camara C. on lunes, 26 mayo 2008, 20:27 UTC # |

Debes iniciar sesión para enviar un comentario.