Estoy interesado en crear un sistema operativo basado el Linux y Python:
Me baso en un kernel Linux. En él, implemento un intérprete Python (escrito en C). Entonces, el kernel administra memoria, teclado,...Pero lo que se ejecuta es el intérprete Python, y sobre él ya se pueden desarrollar Apps escritas en Python.
Resumiendo, sería como Android pero en vez de correr sobre una máquina virtual Java correría sobre un intérprete Python.
¿Cómo podría hacer esto? Si tengo el código fuente de un intérprete Python (no lo tengo... sabéis de alguno?) y el código fuente de Linux, cómo implemento el intérprete Python?
Para encontrar el código fuente del interprete solamente googlea. :¬¬
Veo que empezaste a recabar información!!!
Hablamos a la noche.
Cita de: [Case] en 30 Diciembre 2011, 17:48 PM
Para encontrar el código fuente del interprete solamente googlea. :¬¬
vale. hecho. pero para implementarlo en el kernel linux?
Tienes varias opciones, una interesante es que incluyas Bash u otra shell y después desde Bash tienes que hacer que el intérprete de Python se inicie. Avisa de tus progresos :D ¡Un saludo!
gracias. iré avisando, pero dudo que progrese mucho XD.
Cita de: RakNae en 30 Diciembre 2011, 22:08 PM
Tienes varias opciones, una interesante es que incluyas Bash u otra shell y después desde Bash tienes que hacer que el intérprete de Python se inicie. Avisa de tus progresos :D ¡Un saludo!
por cierto... te parecerá estúpido pero... cómo incluir Bash?
Perdón por los 3 posts seguidos...
Me he descargado el kernel de Linux y he ido a la web de GNU y desde allí me he descargado bash. Cómo lo incluyo?
Cita de: GeorgArming en 30 Diciembre 2011, 23:12 PM
por cierto... te parecerá estúpido pero... cómo incluir Bash?
Aquí tienes un manual, y el Google Translator va de maravilla :xD para estos casos... :silbar:
http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html
Suerte! :D
Cita de: GeorgArming en 30 Diciembre 2011, 17:39 PM
Estoy interesado en crear un sistema operativo basado el Linux y Python:
Me baso en un kernel Linux. En él, implemento un intérprete Python (escrito en C). Entonces, el kernel administra memoria, teclado,...Pero lo que se ejecuta es el intérprete Python, y sobre él ya se pueden desarrollar Apps escritas en Python.
Resumiendo, sería como Android pero en vez de correr sobre una máquina virtual Java correría sobre un intérprete Python.
¿Cómo podría hacer esto? Si tengo el código fuente de un intérprete Python (no lo tengo... sabéis de alguno?) y el código fuente de Linux, cómo implemento el intérprete Python?
A mí se me ocurre otra idea, ¿por qué no haces un compilador que traduzca el código de un script Python a ByteCode para la máquina virtual Dalvik de Android?. Te ahorras hacer muchísimas más cosas, y quien sabe, incluso puede llegar a tener éxito. Además el código ByteCode, se ejecuta mucho más rápido que un script.
Saludos.
Cita de: Khronos14 en 31 Diciembre 2011, 00:20 AM
A mí se me ocurre otra idea, ¿por qué no haces un compilador que traduzca el código de un script Python a ByteCode para la máquina virtual Dalvik de Android?. Te ahorras hacer muchísimas más cosas, y quien sabe, incluso puede llegar a tener éxito. Además el código ByteCode, se ejecuta mucho más rápido que un script.
Saludos.
Khronos14, yo creo que quiere hacer un sistema operativo Linux con un intérprete de Python, no ejecutar sobre la máquina virtual Dalvik de Android el convertido script de Phyton a ByteCode, quiere algo más simple, quiere Linux+Bash (para lo más básico y que inicie el intérprete)+intérprete Phyton (lógico, ¿no? :xD)
Un saludo :rolleyes:
más básico pero tampoco es tan fácil, eh? al menos para mentes como la mía :rolleyes:.
por cierto, estuve googleando para encontrar un intérprete Python como sugirió alguien de por aquí y nada....
Cita de: RakNae en 31 Diciembre 2011, 00:11 AM
Aquí tienes un manual, y el Google Translator va de maravilla :xD para estos casos... :silbar:
http://www.tldp.org/HOWTO/From-PowerUp-To-Bash-Prompt-HOWTO.html
Suerte! :D
OTRA VEZ: perdón por los posts seguidos.
lo leí en inglés y no vi nada que dijera como poner bash en el kernel.
Resumiendo: tengo el código fuente del kernel Linux
tengo el código fuente de bash
necesito el código fuente de un intérprete de Python (lo he buscado pero nada)
Ahora cómo lo coordino todo?
Hola,
¿No sería mejor que te descargaras una distribucion como por ejemplo INX, y eliminaras todo menos el bash?¿
Salu2!
Cita de: prometheus48 en 1 Enero 2012, 13:13 PM
Hola,
¿No sería mejor que te descargaras una distribucion como por ejemplo INX, y eliminaras todo menos el bash?¿
Salu2!
pues vamos a probar
Cita de: GeorgArming en 1 Enero 2012, 13:56 PM
pues vamos a probar
Yo no veo la mejor opción :rolleyes:
Cita de: RakNae en 1 Enero 2012, 14:09 PM
Yo no veo la mejor opción :rolleyes:
pues como digas
Cita de: GeorgArming en 30 Diciembre 2011, 17:39 PM
Estoy interesado en crear un sistema operativo basado el Linux y Python:
Hola, supongo que quieres crear un sistema como los que habian en los 80s. Por aquellos dias algunas computadoras (Commodore 64 por ejemplo) venian con el BASIC integrado. Era como su sistema operativo. Uno encendia la máguina e inmediatamente aparecía el "Ready" del basic y uno podia introducir código en BASIC...
Es un proyecto interesante.. :-\
El código fuente de Python se puede encontrar en la web oficial de Python (python.org) :silbar: :
Por ejemplo la versión 2.7.2 se descarga desde: http://python.org/download/releases/2.7.2/ (http://python.org/download/releases/2.7.2/)
Saludos
Cita de: GarbageCollector en 1 Enero 2012, 18:05 PM
Hola, supongo que quieres crear un sistema como los que habian en los 80s. Por aquellos dias algunas computadoras (Commodore 64 por ejemplo) venian con el BASIC integrado. Era como su sistema operativo. Uno encendia la máguina e inmediatamente aparecía el "Ready" del basic y uno podia introducir código en BASIC...
Es un proyecto interesante.. :-\
El código fuente de Python se puede encontrar en la web oficial de Python (python.org) :silbar: :
Por ejemplo la versión 2.7.2 se descarga desde: http://python.org/download/releases/2.7.2/ (http://python.org/download/releases/2.7.2/)
Saludos
sí, más o menos el objetivo primero es eso. pero no nos detendremos aquí, estaría bien hacer una especie de Android pero en Python en vez de en Java (sé que es difícil pero se va a intentar).
ahora miro el código fuente.
Porque no te descargas Ubuntu Server?
O ubuntu Minimal CD?¿
Con el minimal cd, puedes elegir lo que quieres y lo que no, inluso si instalar un modo gráfico.
Salu2!
Al final no lo vamos a hacer con bash. Queremos que el intérprete se ejecute directamente sobre el kernel. Alguna idea al respecto?
MIra,
Te recomiendo que uses busybox o algo,
Tambien podriasusar bash, osea, el proceso sería.
-1.-Arranca el ordenador
-2.-EL bootloader se ejecuta ( lilo o grub ( personalmente prefiero lilo ) )
-3.-EL kernel hace su trabajo
-4.-Y el bash aparece en pantalla PERO lo que tu puedes hacer es:
..hacer que nada mas se ejecute el bash, se ejecute un bash script tipo:
#!/bin/bash/
python #Ejecuta python
Y ya esta, se ejecuta python,
ahi podras construirlo, cuando lo contruyas, podrias hacer algo chungo para que bash se vaya a /dev/null/ ( vamos a la ***** ) y tu SO se ejecute.
ESpero haberte ayudado
Un saludo
y feliz año
Cita de: prometheus48 en 2 Enero 2012, 22:23 PM
MIra,
Te recomiendo que uses busybox o algo,
Tambien podriasusar bash, osea, el proceso sería.
-1.-Arranca el ordenador
-2.-EL bootloader se ejecuta ( lilo o grub ( personalmente prefiero lilo ) )
-3.-EL kernel hace su trabajo
-4.-Y el bash aparece en pantalla PERO lo que tu puedes hacer es:
..hacer que nada mas se ejecute el bash, se ejecute un bash script tipo:
#!/bin/bash/
python #Ejecuta python
Y ya esta, se ejecuta python,
ahi podras construirlo, cuando lo contruyas, podrias hacer algo chungo para que bash se vaya a /dev/null/ ( vamos a la ***** ) y tu SO se ejecute.
ESpero haberte ayudado
Un saludo
y feliz año
En el paso 4 al ejecutarse el bash, es por que ya hay un S.O. arrancado y funcionando.
No creo que esta sea la opción.
Bueno en ese caso
1.-Kernel
2.-INiciar el interprete de Python mediante una modificacion el el kernel de linux o
Hacer algun code en assembler para iniciar el interperete
Salu2!
(Solo quiero ayudar)
Cita de: prometheus48 en 2 Enero 2012, 23:06 PM
Bueno en ese caso
1.-Kernel
2.-INiciar el interprete de Python mediante una modificacion el el kernel de linux o
Hacer algun code en assembler para iniciar el interperete
Salu2!
(Solo quiero ayudar)
En todo caso seria una subrutina que se puede programar en C que arranque el interprete.
Okay,
Si sabes mas que yo dicelo tu!
Salu2!
Na, no es que sepa mas que alguien o menos, estaba leyendo el post y simplemente respondía a lo que veía.
Pregunto vos queres:
a) Tener parte del kernel escrito en python ?
b) Tener un interprete corriendo en el ring 0 ?
c) Tener un kernel y q todo programa (de nivel de usuario) q ejecute ese kernel sea en bytecode de python ?
Creo que lo qu quire es:
1)Tener el kernel de Linux corriendo
2)Nada mas se encienda el Ordenador y se inicie el OS ,
se ejecute el interprete de python.
Salu2!
Cita de: pucheto en 3 Enero 2012, 01:49 AM
Pregunto vos queres:
a) Tener parte del kernel escrito en python ?
b) Tener un interprete corriendo en el ring 0 ?
c) Tener un kernel y q todo programa (de nivel de usuario) q ejecute ese kernel sea en bytecode de python ?
a)no, en princioio el kernel será en C (Linux modificado).
b)soy un poco novato, así que no entiendo lo que quieres decir con ring 0.
c)sí.
Cita de: prometheus48 en 3 Enero 2012, 11:37 AM
Creo que lo qu quire es:
1)Tener el kernel de Linux corriendo
2)Nada mas se encienda el Ordenador y se inicie el OS ,
se ejecute el interprete de python.
Salu2!
exacto.
El Ring 0 es el "anillo" donde se ejecutan las aplicaciones, el 0 tiene más privilegios y el 3 el que menos, es una explicación rápida :xD
Cita de: RakNae en 3 Enero 2012, 14:13 PM
El Ring 0 es el "anillo" donde se ejecutan las aplicaciones, el 0 tiene más privilegios y el 3 el que menos, es una explicación rápida :xD
El Ring 0 es el "anillo" donde se ejecutan los drivers, el 3 es el anillo en el que se ejecutan las aplicaciones.
En Windows si un driver falla provoca un pantallazo azul, si peta una aplicación el sistema se recupera.
Cita de: Khronos14 en 3 Enero 2012, 16:51 PM
El Ring 0 es el "anillo" donde se ejecutan los drivers, el 3 es el anillo en el que se ejecutan las aplicaciones.
En Windows si un driver falla provoca un pantallazo azul, si peta una aplicación el sistema se recupera.
Tienes razón, lo he escrito mal :xD
Seria posible hacer lo mismo pero en C++?
En C?
O incluso en Java!!!!!
Salu2!
bueno, os informo por encima de los avances:
1-Prácticamente hemos acabado de depurar el intérprete.
2-Prácticamente hemos acabado de depurar el kernel.
3-El próximo paso será programar un módulo en C para el kernel que inicie el intérprete.
Amigo lamento decirte que tu idea no es posible de llevarse a cabo. Por que?. Bueno python es un lenguaje de alto nivel, necesitas programar con un lenguaje de nivel medio-bajo como C o C++, y aunque trates no vas a poder hacerlo.
Pero si tu idea es solo la de hacer la UI (interface de usuario) tal vez si, pero sera como tratar de entender el origen del universo sin tener conocimientos de fisica (o sea imposible o casi), esto lo digo por que un buen programador, sabe C y C++, que son la base para escribir todas las aplicaciones y sistemas modernos, ya que es un lenguaje medio-bajo, que te ofrece la facilidad de interactuar directamente con la memoria del ordenador, y tiene un sintaxys muy comprendible por las personas (que hablan ingles o que lo entienden), entonces ya no tienes la necesidad de programar en ensamblador (que es el lenguaje en que estan hechos todos los sistemas operativos).
Pero si tienes alguna otra informacion avisame, ya que yo estoy muy interesado en la programacion en python.
Avisame que yo te ayudo.