Luxur0.0.4-alpha con entorno grafico+permisos de usuarios

Iniciado por taul, 29 Octubre 2010, 00:50 AM

0 Miembros y 2 Visitantes están viendo este tema.

taul

asi se ve la version q acabo de sacar:

[youtube=425,350]http://www.youtube.com/watch?v=YYYJrDI8Kt4[/youtube]

para los que no sepan...Luxur es un sistema operativo (mejor dicho un kernel) creado totalmente en C y Asm...es facil de usar y esta en desarrollo..es de codigo abierto para que todo aquel q lo quiera modificar a su manera lo pueda hacer.

como no tengo muchas ganas de hacer una documentacion les explicare aca como es su extructura y que tan facil es modificarlo a su gusto.


el codigo esta escrito para q sea facil agregar o quitar comandos,funciones,etc...


boot.s <--este archivo carga el kernel en memoria y salta a el...osea o debemos darle importancia ya que siempre sera el mismo..si lo modifican si saber lo que hacen podria ocacionar problemas al iniciar..o mejor dicho no iniciara..xD.


fs.c <--contiene todas las funciones para crear archivos...los archivos se guardan en array de extructuras en el source esta bien documentado.

kernel.c<---aca inicia el sistema...y llama a menu.c q es donde esta el entorno grafico.

menu.c<---este es solo el entorno grafico...no realiza nada mas que llamar a shell() y mostrar su resultado

lib/ <---directorio que contiene las funciones basicas de una mini libc

pero entonces cual es el motor de Luxur el que se encarga de todo????

el motor y archivo mas importante de luxur es kernel/shell.c

la funcion shell() identifica si el usuario es un user comun o si es root....y pasa esa informacion a cmd() que es el encargado de ejecutar todo...

ejemplo:

int cmd(char *buf,int uso){

...

/******************************************************************************/
   else if(strcmp(buf,"ls")==0)filelist(uso);   /*fs/file.c*/
/******************************************************************************/
   else if(strcmp(buf,"edit")==0)login(permiso,fileedit(uso)); /*fs/file.c*/
/******************************************************************************/
   else if(strcmp(buf,"open")==0)fileopen(uso); /*fs/file.c*/
/******************************************************************************/

*buf es el comando q el user introdujo....
comparamos con strcmp y llamamos a la funcion q corresponda...

pero si queremos q nuestra funcion se ejecute solo si el usuario es root?

para ello hacemos..
strcmp...si es el comando de nuestra funcion ejecutamos:

login(permiso,funcion()); <--donde funcion es la funcion de ustedes..la cual se ejecutara solamente si es root.


es solo cuestion de mirar un poco el codigo es muy facil de entender y de modificar....


esta version tiene permiso de usuario y entorno grafico....si queremos salir del shell y volver al entorno grafico ejecutamos exit


para compilarlo ejecuten:

#chmod 777 compilar
#./compilar

si lo quieren hacer a mano ejecuten

#apt-get install scons
#scons

pd: compila perfectamente...descargan el .iso...lo abren y remplazan el kernel x el q acaban de compilar y listo.

web de luxur: http://www.luxur.com.ar

cualquier duda ya saben pregunten...saludos.

dooque

Wenas wenas! que piola que esta... yo tambien estoy escribiendo mi propio sistema operativo, es bastante divertido y es un area linda para todo aquel que que le gusta saber como funcionan las cosas, no es dificil pero si hay que tener mucha paciencia y muchas noches jajaja!

por si alguien le interesa aca hay una pagina divertida como para empezar...

http://wiki.osdev.org

saludos
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.  -- Kernighan

taul


Afsoon

Cita de: dooque en 29 Octubre 2010, 01:31 AM
Wenas wenas! que piola que esta... yo tambien estoy escribiendo mi propio sistema operativo, es bastante divertido y es un area linda para todo aquel que que le gusta saber como funcionan las cosas, no es dificil pero si hay que tener mucha paciencia y muchas noches jajaja!

por si alguien le interesa aca hay una pagina divertida como para empezar...

http://wiki.osdev.org

saludos

Eso si habra que tener conocimientos especialmente de C, y una cosa usas un kernel propio o otro?

dooque

Cita de: Afsoon en  1 Noviembre 2010, 15:30 PM
Cita de: dooque en 29 Octubre 2010, 01:31 AM
Wenas wenas! que piola que esta... yo tambien estoy escribiendo mi propio sistema operativo, es bastante divertido y es un area linda para todo aquel que que le gusta saber como funcionan las cosas, no es dificil pero si hay que tener mucha paciencia y muchas noches jajaja!

por si alguien le interesa aca hay una pagina divertida como para empezar...

http://wiki.osdev.org

saludos

Eso si habra que tener conocimientos especialmente de C, y una cosa usas un kernel propio o otro?

Si, es propio. Esa es la idea, hacerlo dece cero, desde el bootloader pasando por el kernel hasta las aplicaciones en nivel de usuario, que creo es lo que hizo el amigo taul en sus sistema!
Yo estoy desarrollando el kernel en este momento, el sistema de archivos para ser mas especifico, ya tengo algunos "drivers" de algunos disposistivos (si es que se los puede llamar asi a este nivel de desarrollo, yo creo que no jajaja), tengo andando el sistema de interrupciones, multitarea (por hardware) y algunas cosillas mas un poco aislada todavia, pero de a poco va creciendo jajaja!

Asi que invito al q se anime a incursionar en este tema, como ya dije es muy divertido ver andar un sistema de estos en una pc real y como consecuencia del desarrollo uno termina aprendiendo muchas cosas!

Saludos!
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.  -- Kernighan