elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Creando Programas para Luxur 0.0.5 (sistema operativo)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Creando Programas para Luxur 0.0.5 (sistema operativo)  (Leído 7,669 veces)
taul

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Creando Programas para Luxur 0.0.5 (sistema operativo)
« en: 2 Diciembre 2010, 09:04 am »

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
  1. #include <prototipo.h> //prototipo contine las funciones de la libc..como printf,scanf
  2.  
  3. int holamundo(){
  4. printf("Hola mundo en luxur\n");
  5. return 0;
  6. }

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
  1. if(strcmp(programa,"holamundo.exe")==0){
  2. holamundo();
  3. }

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 ;D

por si las dudas yo uso estos programas para programar luxur:
virtualbox,gcc,ld,scons,ultraiso(con wine),gedit


Saludos...Taul.


« Última modificación: 2 Diciembre 2010, 16:30 pm por Littlehorse » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Creando Programas para Luxur 0.0.5 (sistema operativo)
« Respuesta #1 en: 2 Diciembre 2010, 22:26 pm »

Me encanta!
Llevo tiempo siguiendo este proyecto y es muy, muy interesante!

Saludos


En línea

taul

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Re: Creando Programas para Luxur 0.0.5 (sistema operativo)
« Respuesta #2 en: 2 Diciembre 2010, 23:05 pm »

varias personas de varios foros estan empesando a crear softwares para Luxur...me han enviado muchos mail a mi correo diciendome que les de tiempo para terminar bien sus programas...Luxur va creciendo de a Poco y como dije a diferencia de windows o linux no limita al programador en nada..todo depende de su imaginacion y conocimientos!!!

espero que varias personas de este foro creen software para Luxur!!!

Saludos.
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Creando Programas para Luxur 0.0.5 (sistema operativo)
« Respuesta #3 en: 2 Diciembre 2010, 23:25 pm »

varias personas de varios foros estan empesando a crear softwares para Luxur...me han enviado muchos mail a mi correo diciendome que les de tiempo para terminar bien sus programas...Luxur va creciendo de a Poco y como dije a diferencia de windows o linux no limita al programador en nada..todo depende de su imaginacion y conocimientos!!!

espero que varias personas de este foro creen software para Luxur!!!

Saludos.
Cuenta conmigo, para mi será una perfecta forma de investigar mas los sistemas operativos.

Saludos
En línea

taul

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Re: Creando Programas para Luxur 0.0.5 (sistema operativo)
« Respuesta #4 en: 3 Diciembre 2010, 05:23 am »

para mi será una perfecta forma de investigar mas los sistemas operativos.
Esa es la idea !!!  :D


por mi parte me dedico a programar el kernel...muchos usuarios estan creando los programas para luxur entre todos el sistema avanza!!

Saludos...espero que se unan mas gente!!
En línea

Afsoon

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: Creando Programas para Luxur 0.0.5 (sistema operativo)
« Respuesta #5 en: 3 Diciembre 2010, 07:08 am »

Ojala supiera de C pero ahora estoy con el funcionamiento de SO empotrados y de escritorio y taul ¿esta sería una forma para saber el funcionamiento de SO? porque la parte teoríca de SO ya lo tengo leída y con ver un ejemplo estaría bien no?
En línea

gryphes

Desconectado Desconectado

Mensajes: 26



Ver Perfil WWW
Re: Creando Programas para Luxur 0.0.5 (sistema operativo)
« Respuesta #6 en: 3 Diciembre 2010, 18:26 pm »

¿esta sería una forma para saber el funcionamiento de SO? porque la parte teoríca de SO ya lo tengo leída y con ver un ejemplo estaría bien no?

Exactamente, es mas creo que la gran mayoria de la personas que en mayor o en menor medida nos anotamos al proyecto lo hicimos para eso, para aprender...

Saludos!
En línea


taul

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Re: Creando Programas para Luxur 0.0.5 (sistema operativo)
« Respuesta #7 en: 3 Diciembre 2010, 20:00 pm »

claro es la base de Luxur...no competir contra otros kernel porque seria inutil decir que superara a linux o windows que son sistemas que avanzan rapidisimo...si bien linux es de codigo abierto....tiene millones de lineas de codigo...tienen idea lo que les costara leer el codigo de linux para aprender como funciona un SO?

Luxur tiene poca lineas de codigo...debe tener unas 2000 o 3000 lineas mas o menos...pero tiene una shell,detecta la ram,maneja las interrupciones del teclado, crea ficheros de texto,podes editarlos,Podes crear software para luxur e implementarlo en dos patadas...todo eso con muy pocas lineas de codigo...lo que facilita rapidamente su aprendizaje...yo creo que si se sientan un par de horas en 1 semana comprenderan completamente el codigo de luxur y podran hacer con el lo que quieran..o ajustarlo a sus necesidades.

Es lindo poder hacer con nuestro hardware lo que se nos de la Gana.!!!


Saludos.
En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Creando Programas para Luxur 0.0.5 (sistema operativo)
« Respuesta #8 en: 3 Diciembre 2010, 20:43 pm »

Sin duda el siguiente paso es control del hardware de red.

Saludos
En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Creando Programas para Luxur 0.0.5 (sistema operativo)
« Respuesta #9 en: 4 Diciembre 2010, 11:04 am »

Estoy siguiendo el proyecto, y la verdad, la versión 0.0.5 debería incorporar un administrador de memoria.

http://wiki.osdev.org/Projects

En esa página puedes encontrar muchísimos "prototipos" de Kernel y podrías emplear algún módulo para administrar la memoria para poder usar funciones como malloc() y free().

Este Kernel me gustó mucho http://www.dynacube.net/

Cuenta con Administrador de Memoria, Administrador de Procesos, Sistema de Archivos FAT12 y una pequeña GUI.

Me parece una tontería lo que estas haciendo. Son "programas" en modo kernel, que con posteriores versiones seguramente tengan que ser modificados para funcionar.
Yo que tu trabajaría primero con la memoria e intentaría hacer un administrador de procesos básico.

Saludos.

« Última modificación: 4 Diciembre 2010, 13:50 pm por Khronos14 » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines