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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Luxur 0.0.6 alpha . El kernel Avanza!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Luxur 0.0.6 alpha . El kernel Avanza!  (Leído 5,718 veces)
taul

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Luxur 0.0.6 alpha . El kernel Avanza!
« en: 8 Agosto 2011, 19:59 pm »

Luxur el kernel que comenze a desarrollar hace bastante tiempo...ya esta avanzando de a poco....ahora se pueden crear aplicaciones tal como se harian para windows o linux..pero muy basicas...por ejemplo...

printf,scanf,sleep,fopen,fread,fwrite....todo igual que en windows....y para adaptar la aplicacion a luxur...simplemente deben agregar el nombre de la funcion (en ves de main) el nombre de su funcion en el archivo handle.sys hubicado en la carpeta programas...y listo...compilamos y tenemos el kernel con nuestro programa.

todo esto esta explicado en el pdf

http://luxur.com.ar/sources/luxur.0.0.6

Mejorias:

se mejoro el file system de tal manera que se permitio a las aplicaciones que corren a nivel usuario...interferir con el file system mediante la apertura con fopen y modificacion con fwrite ...asi como la lectura con fread.

se mejoro el bucle de la shell() para una mejor velocidad...y se separo los comandos de la shell para ser tratados como aplicacion a nivel usuario.

Luxur avanza de a poco.

Saludos.


En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Luxur 0.0.6 alpha . El kernel Avanza!
« Respuesta #1 en: 8 Agosto 2011, 22:07 pm »

Hace tiempo, vi el código de tu "kernel". Te comento unas cosas:

- Un kernel, tiene una GDT, IDT y LDT para tratar las interrupciones. Se empieza por aquí, no pases a otra cosa si no tienes una GDT e IDT decentes.
- Necesitas controlar los IRQ´s Interrupt Requests. Hay una IRQ específica para el teclado, de esta manera detectas cuando se pulsa una tecla.
- Paging, Heap, etc..

Y eso de que tus aplicaciones corren en modo nivel de usuario, no te lo crees ni tu xD. Para cargar un ejecutable en memoria necesitas: GDT, IDT, LDT, IRQ´s, Paging, Heap, un schedule (sistema para ejecutar threads), etc..

Aquí tienes información para dar y tomar:

http://www.jamesmolloy.co.uk/tutorial_html/1.-Environment%20setup.html
http://wiki.osdev.org/Main_Page

Saludos.


En línea

taul

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Re: Luxur 0.0.6 alpha . El kernel Avanza!
« Respuesta #2 en: 9 Agosto 2011, 00:15 am »

no sigo las leyes de los demas s.o...mi sistema no es una copia o clon de otros s.o...el que no alla implementado una gdt y idt es solamente porque no quise...fijate en mi primera version del kernel...yo cargue la GDT pero ya en la segunda version..se lo quite.

el manejo de las interrupciones solo te lleva 2 archivos...con respecto a la irq es solo un handle de interrupciones y no necesariamente tiene q manejarse de esa forma el teclado.
en mi kernel en el cual manejo perfectamente el teclado..solo capturo la interrupcion que se realiza al soltar la tecla.

con respecto a la paginacion...yo en mi kernel no pagino la memoria ya que toda la memoria se la lleva la aplicacion que se esta ejecutando...por lo tanto cualquier aplicacion puede acceder a cualquier direccion de memoria...incluso la de video 0xB8000...el teclado 0x60, etc..

porque entonces? el hecho es simple....los programas hechos para Luxur se ejecutan sin limites..por lo tanto en Luxur cualquiera puede usar su Programa como si fuera el kernel...siempre como root.

Para cargar un ejecutable en memoria necesitas: GDT, IDT, LDT, IRQ´s, Paging, Heap, un schedule (sistema para ejecutar threads)

Saludos.

error...las aplicaciones son simplemente codigos.que no necesariamente tienen que cargarse asi..desarrolla una aplicacion para mi kernel en la cual uses fopen y luego intenta ejecutarla sin ser root...Fail.

cualquiera puede cargar lo que quiera en memoria...sin una gdt, idt, irq...sino el bootloader no podria cargar tu kernel sin una gdt, idt y irq.

te recomiendo el libro...Diseño e implementacion de un SO...del famoso andres.

Yo mismo pense el Desarrollo de mi sistema y como debe funcionar...No sigo tutoriales para su creacion.

aca un video de Luxur...0.0.6



y aca esta cuando tenia un entorno manejable desde el teclado...es la version 0.0.4 pero se lo quite por la cantidad de errores q me tiraba al ejecutarlo en la pc real.

http://www.youtube.com/watch?v=YYYJrDI8Kt4
« Última modificación: 9 Agosto 2011, 00:40 am por taul » En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Luxur 0.0.6 alpha . El kernel Avanza!
« Respuesta #3 en: 9 Agosto 2011, 01:02 am »

Y ahora es cuando te digo.. ¿quien querría desarrollar aplicaciones en un sistema monotarea? Porque digo yo, que en alguna de tus aplicaciones tendrás la necesidad de hacer dos cosas a la vez y para eso te hará falta un sistema de threads.

Esta bien que hagas algo fuera de lo común pero hay que ser realistas. Un kernel básico para la plataforma x86 debe tener todo lo que te mencioné, y no se trata de que la gdt o idt sean sólo un archivo, se trata de comprender como funcionan y para que sirven.

Y otra cosa, ¿que harías si un programa necesita memoria dinámica utilizando malloc() o new(), por ejemplo?

Saludos.

« Última modificación: 9 Agosto 2011, 01:04 am por Khronos14 » En línea

taul

Desconectado Desconectado

Mensajes: 90


Ver Perfil
Re: Luxur 0.0.6 alpha . El kernel Avanza!
« Respuesta #4 en: 10 Agosto 2011, 03:11 am »

Y ahora es cuando te digo.. ¿quien querría desarrollar aplicaciones en un sistema monotarea? Porque digo yo, que en alguna de tus aplicaciones tendrás la necesidad de hacer dos cosas a la vez y para eso te hará falta un sistema de threads.

Esta bien que hagas algo fuera de lo común pero hay que ser realistas. Un kernel básico para la plataforma x86 debe tener todo lo que te mencioné, y no se trata de que la gdt o idt sean sólo un archivo, se trata de comprender como funcionan y para que sirven.

Y otra cosa, ¿que harías si un programa necesita memoria dinámica utilizando malloc() o new(), por ejemplo?

Saludos.



Exacto...pero yo no deseo que Luxur sea "EL kernel" o que llegue a mayores..de hecho esta pensado para ser bien basico y poder comprender su Funcionamiento en tan solo unas Horas.

mas que para utilidad esta pensado para el estudio..del desarrollo de un kernel bien de 0.

De todas formas se pueden hacer lindos programas para Luxur...ya que tienen completo acceso al hardware. sin limitaciones...Luxur se encarga de que tu programa arranque bien y finalize bien..nada mas.

Igual gracias por tu opinion...Todas las opiniones son bien recibidas
« Última modificación: 10 Agosto 2011, 03:18 am por taul » En línea

prometheus48

Desconectado Desconectado

Mensajes: 176


Making a Distro...


Ver Perfil
Re: Luxur 0.0.6 alpha . El kernel Avanza!
« Respuesta #5 en: 1 Enero 2012, 13:09 pm »

Hola.

Me gusta tu idea. He corrido tu kernel en virtual box, he leido tus PDF's y he mirado tu codigo, bueno mi preguntas es si se podria hacer en c++ igual de fácil.

Salu2 y Feliz año nuevo!
En línea

"Si tú tienes una manzana, y yo otra, y las intercambiamos, tu sigues teniendo una manzana, y yo sigo teniendo una manzana.
Pero, si tu tienes una idea, y yo otra, y nos las intercambiamos, tu tienes dos ideas, y yo tengo dos ideas"
The knowledge is free
skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Luxur 0.0.6 alpha . El kernel Avanza!
« Respuesta #6 en: 1 Enero 2012, 14:35 pm »

Pues yo te felicito y lo mas importante, esque aprendas mientras lo desarrollas. De todas formas creo que el tema de las IRQ's es fundamental.

Otra cosa, se que no es de vital importancia pero arregla un poquito la web de éste, Haz unas secciónes basicas, algún screen mas y el redactado con las mayusculas donde toque.

No le veo malo a la senzillez de la web, pero intenta añadir información.
En línea

Killtrojan Syslog v1.44: ENTRAR
armizh

Desconectado Desconectado

Mensajes: 187

His brain caught in a hole...


Ver Perfil WWW
Re: Luxur 0.0.6 alpha . El kernel Avanza!
« Respuesta #7 en: 3 Enero 2012, 22:06 pm »

Hey taul, luxur me ha inspirado para poder empezar a crear mi propio sistema operativo, de hecho he tenido que 'tomar prestado' la funcion scanf() de luxur 0.0.2 pero la adapte para mis funciones printf() (tengo alrededor de tres printf para distintos propositos) y todas las funciones de mi sslib (que esta pensada para ser utilizada por cualquier programa que desee ejecutarse bajo la arquitectura x86 y ademas sin depender de ningun so) ;D
Leyendo el codigo de distintas versiones te luxur y del kernel de linux 0.0.1 estoy aprendiendo como funciona un so de verdad.
En estos momentos estoy programando la v0.02 de NuOS (mi so ;D) que ya posee una shell (inspirada en el cmd de luxur) Aca dejo los enlaces a mi proyecto, que poseen recursos para los que deseen aprender a crear sistemas operativos y una wiki del proyecto en sourceforge, que resume como funciona mi kernel.
https://sourceforge.net/projects/nuos/
http://nuosdeveloper.blogspot.com/
Me parece excelente tu SO. Adios.
En línea

Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código
  1. git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código
  1. git clone https://github.com/armizh/Hamster
GeorgArming


Desconectado Desconectado

Mensajes: 350


Ver Perfil
Re: Luxur 0.0.6 alpha . El kernel Avanza!
« Respuesta #8 en: 3 Enero 2012, 22:55 pm »

Hey taul, luxur me ha inspirado para poder empezar a crear mi propio sistema operativo, de hecho he tenido que 'tomar prestado' la funcion scanf() de luxur 0.0.2 pero la adapte para mis funciones printf() (tengo alrededor de tres printf para distintos propositos) y todas las funciones de mi sslib (que esta pensada para ser utilizada por cualquier programa que desee ejecutarse bajo la arquitectura x86 y ademas sin depender de ningun so) ;D
Leyendo el codigo de distintas versiones te luxur y del kernel de linux 0.0.1 estoy aprendiendo como funciona un so de verdad.
En estos momentos estoy programando la v0.02 de NuOS (mi so ;D) que ya posee una shell (inspirada en el cmd de luxur) Aca dejo los enlaces a mi proyecto, que poseen recursos para los que deseen aprender a crear sistemas operativos y una wiki del proyecto en sourceforge, que resume como funciona mi kernel.
https://sourceforge.net/projects/nuos/
http://nuosdeveloper.blogspot.com/
Me parece excelente tu SO. Adios.

HOSTIAS! tú por aquí! que pequeño es el mundo hacker  :laugh:

PD: taul, yo le recomendé Luxur, cobro alguna comisión?  ;D
En línea

armizh

Desconectado Desconectado

Mensajes: 187

His brain caught in a hole...


Ver Perfil WWW
Re: Luxur 0.0.6 alpha . El kernel Avanza!
« Respuesta #9 en: 3 Enero 2012, 23:33 pm »

HOSTIAS! tú por aquí! que pequeño es el mundo hacker  :laugh:

PD: taul, yo le recomendé Luxur, cobro alguna comisión?  ;D

hehe gracias a tu recomendacion he podido entender este mundillo de los so ;D por cierto, has visto ya el screenshot de mi blog? muestra lo poco que se puede hacer con mi kernel en desarrollo :o
saludos a todos
En línea

Visita mi blog:
http://armizh.10h.us/
Fnx, fork de FreeNOS:
Código
  1. git clone https://github.com/armizh/Fnx
Hamster, Entorno Integrado de Desarrollo C/C++:
Código
  1. git clone https://github.com/armizh/Hamster
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Luxur kernel en C
Programación C/C++
taul 8 8,419 Último mensaje 3 Junio 2010, 09:26 am
por SERBice
Creando Programas para Luxur 0.0.5 (sistema operativo) « 1 2 »
Programación General
taul 12 8,105 Último mensaje 5 Diciembre 2010, 19:06 pm
por taul
wifiway -2.0.3-alpha 1 ALPHA Testeo y reporte de bugs « 1 2 3 »
Wireless en Linux
ChimoC 21 25,284 Último mensaje 23 Noviembre 2011, 18:52 pm
por scorpio66
Luxur 0.0.7 Video Explicativo de softwares y archivos en Luxur
Programación General
taul 0 1,995 Último mensaje 29 Septiembre 2012, 22:04 pm
por taul
Luxur 7.1 El kernel sigue avanzando!
Programación General
taul 7 3,999 Último mensaje 12 Septiembre 2013, 11:26 am
por WarZ0n3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines