Programar Software Para Luxur 0.0.5
Bueno en este paper les explicare como desarrollar aplicaciones para luxur...sus ventajas y desventajas.Ventajas:
No hay restricción en cuanto a programación a diferencia de Windows o Linux...en Luxur podes acceder a la totalidad de la memoria de vídeo,interrupciones del teclado,etc...Todo lo que decidas hacer dependerá solamente de tu imaginación y conocimientos.
Todo el hardware y memoria se dedica a ejecutar tu programa lo que aumenta notablemente la velocidad de ejecución.
Dispones de las librerias de Luxur para utilizar en tu programa con total libertad, tales como printf,kprintf,scanf,strlen,etc,etc (explicacion mas adelante)
Desventajas:
Luxur no limita al programador en cuanto a memoria,accesos a ficheros,etc lo cual es un terrible problema de seguridad...si soy conciente de ello..pero luxur fue creado con el fin de brindar un sistema operativo libre y sin restricciones a la hora de crear software necesario...si bien un software mal programado podria hacer que luxur funcione mal,sea inestable,etc. Todo lo que programes sera responsabilidad tuya ok? si el sistema falla no le heches la culpa a Luxur..el manko eres tu jajaja.
los programas deberan ser escritos en C..El software que escribas debera ser en C ya que se compila junto con el kernel.
OK Comenzamos?
Descargamos el source de la version 0.0.5 desde http://luxur.comoj.com/sources/luxur.0.0.5
para crear un programa es muy facil...dare un ejemplo a continuacion de como crear un holamundo para luxur.
1)creamos el programa..
Código
#include <prototipo.h> //prototipo contine las funciones de la libc..como printf,scanf int holamundo(){ return 0; }
guardamos ese código en un archivo en la carpeta programas quedaria:
/home/usuario/Luxursource0.0.5/programas/holamundo.c
una vez guardado abrimos el archivo declaracion.h hubicado en la carpeta programas y le agregamos el nombre de nuestra funcion ejemplo:
int holamundo();
guardamos y cerramos.
luego abrimos handle.c y le agregamos un if como este:
Código
holamundo(); }
guardamos y cerramos y listo..abris una terminal en luxursource0.0.5 y ejecutas scons:
root@ubuntu:~/Descargas/luxursource0.0.5# scons
se compila y genera el archivo Luxur..luego descargamos la .iso de luxur...abrimos el .iso con un editor de .iso como por ejemplo Ultraiso...remplazamos el kernel y guardamos..y ya tenemos nuestro luxur con el programa o los programas.
si lo ejecutamos en una maquina virtual:
usuario@luxur:su
password:luxur
root@luxur:holamundo.exe
Hola mundo en luxur
root@luxur:
Librerias disponibles:
printf es igual que en linux,windows
kprintf...podes escribir un texto en cualquier parte de la pantalla..es recomendable borrar la pantalla antes de escribir...la borras con cls();
uso:
kprintf(linea,columna,texto,color);
ejemplo:
kprintf(2,30,"Luxur..sistema Operativo en C",0x07);
scanf(variable)...espera que se ingrese una cadena y se presione enter...en la variable se guarda la cadena...ejemplo
char variable[200];
scanf(variable);
variable ahora contiene la cadena que hallamos ingresado.
strlen igual que en linux
strcpy igual que en linux
strcmp igual que en linux
strcat igual que en linux
cls() borra la pantalla
sleep(milisegundos) detiene la ejecucion segun los milisegundos ingresados.
uso:
sleep(3000); //detiene la ejecucion por 3 segundos
arquitectura(); //retorna el valor de la arquitectura donde luxur se esta ejecutando
posible valores de retornos de tipo int:
si retorna 1 significa que es intel,2 es amd,3 error
uso:
int arquitect = arquitectura();
putchar() igual que en linux
memcpy igual que en linux
si vas a crear ficheros deberas incluir aparte de <prototipo.h>...el archivo <fs/file.h>
extern struct files file[200]; //extructura FILE para acceder a los ficheros de Luxur
extern int nf; //contiene la direccion del ultimo fichero creado
para no afectar a otros archivos aumentamos una vez nf++ para que cree un archivo
file[nf].name esta el nombre de ese archivo
file[nf].contenido esta el contenido del archivo
si queremos acceder al archivo numero 2 por ejemplo hacemos
printf("El archivo numero 2 se llama %s,"file[2].name);
Ante cualquier duda preguntar
por si las dudas yo uso estos programas para programar luxur:
virtualbox,gcc,ld,scons,ultraiso(con wine),gedit
Saludos...Taul.