Foros del Web » Programación para mayores de 30 ;) » Programación General »

Crear programa booteable

Estas en el tema de Crear programa booteable en el foro de Programación General en Foros del Web. ¡Hola a todos! Quisiera crear un programa booteable (que no necesita ningún sistema operativo para iniciarse), que tenga GUI . ¿Qué lenguaje de programación debería ...
  #1 (permalink)  
Antiguo 11/05/2011, 19:46
 
Fecha de Ingreso: septiembre-2010
Mensajes: 525
Antigüedad: 14 años, 2 meses
Puntos: 59
Pregunta Crear programa booteable

¡Hola a todos! Quisiera crear un programa booteable (que no necesita ningún sistema operativo para iniciarse), que tenga GUI. ¿Qué lenguaje de programación debería utilizar? ¿Podría hacerlo con ASM y C++?

Gracias
__________________
01011111 01000001 01100100 01110010 01101001 01100001 01101110 01011111
  #2 (permalink)  
Antiguo 12/05/2011, 07:42
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 11 meses
Puntos: 39
Respuesta: Crear programa booteable

¿Te refieres a un programa que se ejecute sin que se inicie el sistema operativo y tenga GUI? Si es así... por poder se puede pero tardarías muchísimo en poder hacer algo medio decente.

Hasta donde yo se para hacer programas que se ejecuten sin que se inicie el sistema operativo debe hacerse con ASM y C/C++.

Si podrías hacer "fácilmente" un programa en modo consola (lo de fácilmente es en comparación con uno con GUI, porque de fácil no tiene nada jejeje).

Si realmente te interesa puedo buscar unos códigos que tenía para que te hagas una idea de la complejidad de lo que pretendes hacer.
  #3 (permalink)  
Antiguo 12/05/2011, 11:01
 
Fecha de Ingreso: septiembre-2010
Mensajes: 525
Antigüedad: 14 años, 2 meses
Puntos: 59
Gracias por la respuesta.

Cita:
Iniciado por _Ruben_ Ver Mensaje
¿Te refieres a un programa que se ejecute sin que se inicie el sistema operativo y tenga GUI?
Así es.

Cita:
Iniciado por _Ruben_ Ver Mensaje
Si realmente te interesa puedo buscar unos códigos ...
Si, por favor, muéstrame unos códigos.

__________________
01011111 01000001 01100100 01110010 01101001 01100001 01101110 01011111
  #4 (permalink)  
Antiguo 12/05/2011, 11:52
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 11 meses
Puntos: 39
Respuesta: Crear programa booteable

Aquí tienes un código de un programa que abre un fichero, lo lee, lo muestra por pantalla y lo cierra:
Código C:
Ver original
  1. void main(void){
  2.         int fda;
  3.         char car;
  4.  
  5.         /* Apertura en modo lectura */
  6.         printf(" Abrir fichero.txt=%d; ",fda=open("fichero.txt",0));
  7.        
  8.         printf("\nContenido fichero.txt:\n");
  9.  
  10.                 /* Imprimirlo byte a byte:*/
  11.         while(read(fda,&car,1)==1) {
  12.             printf("%c",car);
  13.         }
  14.  
  15.         printf("\nCerrar fichero.txt %d = %d; ",fda,close(fda));
  16. }

Este es un ejemplo muy simple de un programa en modo consola en C. ¿No parece difícil verdad? Lo difícil no es eso, sino lo que voy a comentar a continuación.

¿Qué proceso sigue el código de un programa C? (Como es este caso)
Se compila y al final acaba traduciéndose a instrucciones máquina (ASM). En ellas se hacen las llamadas a printf, open, read y close. ¿Cómo es eso en código ASM? Mediante llamadas al sistema (al sistema operativo).

PROBLEMA: No hay sistema operativo por lo que las funciones printf, open, read y close ¡¡no existen!!

SOLUCIÓN: Debes implementarlas tú.

La función printf puede ser más o menos fácil de implementar aunque larga. Las funciones open y close son más cortas, pero la función read te garantizo que es un autentico infierno implementarla (y eso que solo lees 1 byte).

Si tienes alguna duda puedo explicártelo con más detalle. Yo no te aconsejo hacer un programa que no necesite del sistema operativo para ejecutarse, al final acabarías implementando tu propio sistema operativo (más o menos).
  #5 (permalink)  
Antiguo 12/05/2011, 19:31
 
Fecha de Ingreso: septiembre-2010
Mensajes: 525
Antigüedad: 14 años, 2 meses
Puntos: 59
Pues eso es lo que quisiera hacer, un programa parecido a un sistema operativo, pero no tan complejo; sólo poner música, ver imágenes, vídeos y algunas cosas más...
__________________
01011111 01000001 01100100 01110010 01101001 01100001 01101110 01011111
  #6 (permalink)  
Antiguo 13/05/2011, 02:35
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 11 meses
Puntos: 39
Respuesta: Crear programa booteable

Pues hacer un sistema operativo que maneje texto ya es bastante largo y complicado. Añadirle imágenes, música, vídeos, etc es más complicado aun.

¿Tienes conocimientos sobre como trabaja un sistema operativo? Es decir, como funciona internamente. Un sistema operativo no se hace como un programa normal.

Nunca he buscado en Internet tutoriales sobre como hacer un sistema operativo, dudo bastante que si los hay sean buenos, ya que deberían ser muy extensos.

Si realmente te interesa hacerlo, te recomiendo que leas mucho sobre sistemas operativos y como funcionan, porque cuando haces un programa normal el sistema operativo te da muchas cosas que si tuvieses que implementar tú seguro que no sabrías como.

Te pongo un ejemplo:
-Tendrías que encargarte de leer/escribir ficheros y desde teclado como mínimo (y no te sirve la función read() ni similar, tienes que acceder directamente al teclado y al fichero sin usar funciones).
-Tendrías que encargarte de mostrar cosas por pantalla (también sin usar funciones, es decir, escribiendo directamente sobre la pantalla).
-Ejecutar programas y crearles un proceso, gestionar procesos, y una larguísima lista que no te puedes ni imaginar.

Todo para usar solo texto, pantalla y teclado. En tu caso quieres mostrar imágenes, reproducir música (lo que supone acceso a los altavoces) y reproducir vídeo (acceso a pantalla continuo). Además no solo se trata de hacer un sistema operativo, sino de hacerlo bien, porque si lo haces mal habrás dedicado un esfuerzo muy grande para nada.
  #7 (permalink)  
Antiguo 13/05/2011, 19:52
 
Fecha de Ingreso: septiembre-2010
Mensajes: 525
Antigüedad: 14 años, 2 meses
Puntos: 59
Tienes razón, no tengo suficientes conocimientos para hacer algo tan complejo(aún ), de todas maneras es un proyecto a largo plazo, tengo que aprender más sobre sistemas operativos, C/C++ y ASM.

Por cierto, ¿sabes algún libro bueno sobre sistemas operativos?

Gracias otra vez.
__________________
01011111 01000001 01100100 01110010 01101001 01100001 01101110 01011111
  #8 (permalink)  
Antiguo 14/05/2011, 02:40
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 11 meses
Puntos: 39
Respuesta: Crear programa booteable

Este libro puede ser el que necesitas: "Sistemas Operativos: Diseño e Implementación, Andres Tanenbaum (Prentice-Hall)".

Explica la teoría sobre sistemas operativos y muestra con ejemplos como implementarlo. Además incluye un CD con el código fuente de un sistema operativo (supongo que básico) para practicar.
  #9 (permalink)  
Antiguo 14/05/2011, 06:44
 
Fecha de Ingreso: septiembre-2010
Mensajes: 525
Antigüedad: 14 años, 2 meses
Puntos: 59
Muchas gracias.

__________________
01011111 01000001 01100100 01110010 01101001 01100001 01101110 01011111
  #10 (permalink)  
Antiguo 01/09/2011, 00:08
Avatar de wendylarissa  
Fecha de Ingreso: septiembre-2011
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Respuesta: Crear programa booteable

Hola chicos si me interesa muchísimo crear un booteable que cargue antes del S.O pero este debe estar instalado en él, debe reproducir un sonido y una condición de iniciar el S.O o apagar la computadora. Estuve buscando información acerca y aun no encuentro como hacerlo. El sistema operativo podría ser alguna distribución de Linux o Windows preferiblemente Ubuntu les agradezco mucho de antemano
  #11 (permalink)  
Antiguo 03/09/2011, 05:59
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 11 meses
Puntos: 39
Respuesta: Crear programa booteable

Si no me equivoco ejecutar un programa instalado en un SO antes que el propio SO es imposible.
  #12 (permalink)  
Antiguo 03/09/2011, 09:26
 
Fecha de Ingreso: septiembre-2010
Mensajes: 525
Antigüedad: 14 años, 2 meses
Puntos: 59
No creo que es imposible, por ejemplo Splashtop OS se instala en Windows, pero se ejecuta antes de que Windows se inicie.

__________________
01011111 01000001 01100100 01110010 01101001 01100001 01101110 01011111

Última edición por _Adrian_; 03/09/2011 a las 09:31
  #13 (permalink)  
Antiguo 03/09/2011, 10:05
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 11 meses
Puntos: 39
Respuesta: Crear programa booteable

Splashtop OS efectivamente se ejecuta antes de que cargue Windows, pero de forma visual, cuando se ejecuta ya se ha ejecutado una parte básica de Windows que inicia Splashtop OS, al verlo antes que Windows parece que se ejecuta antes, pero en realidad Windows sigue ejecutándose antes.
  #14 (permalink)  
Antiguo 03/09/2011, 19:07
Avatar de wendylarissa  
Fecha de Ingreso: septiembre-2011
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Crear programa booteable

Bueno la idea de mi proyecto creo que debería ser como funcionan los gestores de arranque, como Grub o Lilo que efectivamente se instalan en el sistema operativo, donde el flujo de control pasa primero por ellos antes del núcleo (Kernel). No necesito que sea algo visual puede ser en linea de comandos pero no estoy segura en como colocar el sonido en ese punto :(
  #15 (permalink)  
Antiguo 04/09/2011, 17:46
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 11 meses
Puntos: 39
Respuesta: Crear programa booteable

El gestor de arranque si se inicia antes que cualquier SO. El problema que yo veo (no estoy completamente seguro) es que el lugar donde se instala el gestor de arranque solo puede instalarse 1 programa, y si instalas algo ahí que no sea el gestor de arranque entonces no se iniciará ningún SO. Excepto que crees tu propio gestor de arranque, pero eso ya no se como se hace.
  #16 (permalink)  
Antiguo 06/09/2011, 12:35
Avatar de wendylarissa  
Fecha de Ingreso: septiembre-2011
Mensajes: 3
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Crear programa booteable

Ok igual muchas gracias chicos tomare en cuenta c/u de sus opiniones :)

Etiquetas: booteable, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:05.