Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: armizh en 21 Abril 2012, 19:58 pm



Título: Sistema Operativo Fnx
Publicado por: armizh en 21 Abril 2012, 19:58 pm
Hola a todos! Queria presentarles a todos los avances en el sistema operativo Fnx, que vengo desarrollando desde hace algun tiempo. También queria invitar a todos lo que deseen ayudar a completar este sistema operativo. pues la historia no es muy larga, hace un tiempo, buscando sistemas operativos "de juguete" me encontre con FreeNOS, un sistema operativo simple y a la vez completo. Sin embargo, el creador original ya no seguia programando en el. Decidi hacer un fork.
De a poco, cada vez que puedo, reviso el codigo, traduzco comentarios, añado algunas cosas... pero por sobre todo he entendi como funciona un verdadero sistema operativo.
Ahora... Fnx puede ejecutar binarios, posee multitarea, gestion de memoria, gestion de dispositivos (llamados servidores). Les mostrare algunas capturas.
(http://armizh.10h.us/wp-content/uploads/2012/04/instant%C3%A1nea2.png)
(http://armizh.10h.us/wp-content/uploads/2012/04/instant%C3%A1nea3.png)
(http://armizh.10h.us/wp-content/uploads/2012/04/instant%C3%A1nea4.png)
Tambien se puede redirigir la salida hacia la biblioteca curses, como se puede  ver en las siguientes capturas:
(http://armizh.10h.us/wp-content/uploads/2012/04/instant%C3%A1nea5.png)
(http://armizh.10h.us/wp-content/uploads/2012/04/instant%C3%A1nea6.png)
(http://armizh.10h.us/wp-content/uploads/2012/04/instant%C3%A1nea7.png)
En estos momentos deseo que la gente se anime a crear aplicaciones para Fnx y colaboren.
La página oficial es http://armizh.10h.us/ (http://armizh.10h.us/) y los repos se encuentran en https://github.com/armizh/Fnx (https://github.com/armizh/Fnx)
Espero se interesen y cualquier cosa solo pregunten o diganme.

Saludos


Título: Re: Sistema Operativo Fnx
Publicado por: leogtz en 22 Abril 2012, 02:17 am
Se ve bastante bien, lo he clonado para verlo.


Título: Re: Sistema Operativo Fnx
Publicado por: armizh en 22 Abril 2012, 03:19 am
Hasta el momento, gran parte del sistema operativo es de FreeNOS 0.0.4... Le he aplicado algunas mejoras de la version 0.0.5 (version que yo ignoraba su existencia cuando comence con Fnx), pero le he añadido unos pocos comandos, he ampliado otros, y he ampliado las librerias, especificamente stdlib.h (de la libreria estandar de C) y time.h (de la libreria POSIX).
Como ejemplo puedo mostrar unos ejemplos sencillos de como crear una aplicacion para Fnx.
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc, char **argv)
  5. {  
  6.    printf("Hola Mundo!\r\n");
  7.  
  8.    return EXIT_SUCCESS;
  9. }
Este primer ejemplo es el clásico Hola Mundo. Esta incluido en el comando hello.
Obtener la fecha y hora en segundos es similar que en otro Unixes.
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. int main(int argc, char **argv)
  6. {  
  7.    printf("%u",time(NULL));
  8.  
  9.    return EXIT_SUCCESS;
  10. }
En este caso, solo usamos time(NULL) porque aun no esta implementado el almacenamiento de los segundo en una variable, que es pasada como argumento a la funcion time().
En cualquier caso, tambien se puede obtener la hora desde la terminal de Fnx con el comando cat.
Código:
cat /dev/time0
De hecho, la funcion time() lo que hace es leer el dispositivo time0.
Por cierto, hay varias cosas interesantes del sistema operativo, por ejemplo, posee una carpeta /proc, que almacena informacion acerca de los procesos, al igual que Linux y Plan 9.
En estos momentos estoy pensando en como implementar los dispositivos null y zero, por lo que estoy analizando el funcionamiento de /dev/time0 para imitar el sistema.

Saludos! x3


Título: Re: Sistema Operativo Fnx
Publicado por: armizh en 22 Abril 2012, 22:46 pm
Durante este dia, he añadido los dispositivos null y zero. Se encuentra en /dev/null0 y /dev/zero0. Hasta el momento, null soporta lectura y escritura, y zero solo lectura.