2010-02-03 18 views
14

¿Podría alguien guiarme en qué camino/pasos tomar para crear un programa de inicio de hello simple? Tengo el conocimiento básico de C/C++.Primeros pasos para crear un programa de arranque C simple

Mi objetivo es crear un muy simple OS.

Me gustaría obtener tantos enlaces relevantes a las referencias y muestras como sea posible.

+3

Busque el término gestor de arranque. Toneladas de recursos disponibles en línea. Ver: http://www.codeproject.com/KB/tips/boot-loader.aspx – dirkgently

+0

Creo que la gran pregunta aquí sería "¿en qué procesador?" En la mayoría de los casos, sugiero mirar un gestor de arranque para ese procesador para tener una idea, y sí, escribirás algún ensamblador, tus rutinas de salida básicas, etc., si deseas que el programa sea verdaderamente independiente. –

+0

Algo relacionado http://stackoverflow.com/questions/2145501/writing-an-operating-system-in-c/2145556#2145556 – sud03r

Respuesta

5

Ver this. Es un tutorial para un gestor de arranque muy básico. No tiene mucho que ver con C/C++, pero tiene información realmente buena sobre los componentes básicos de un gestor de arranque.

Si tiene mucha curiosidad sobre los componentes básicos, hay más recursos en profundidad en forma de libros de texto. Este tutorial, por ejemplo, no explica por qué el gestor de arranque debe finalizar con 55 AA. Además, es relativamente estrecho.

+1

Gracias por conectar OSdever.net. Si alguien tiene alguna pregunta, intente forums.osdever.net. Somos bastante buenos para ayudarnos unos a otros;) – Brenden

+1

Esta respuesta no está realmente en el espíritu de SO. Llego tarde, lo sé. – corazza

0

Quiere construir un binario estáticamente vinculado (no ld.so implicado), y lo inicia saltando a su punto de entrada. El punto de entrada suele ser el inicio de la sección .text. Maye ejecuta objdump --section-headers image para ver su dirección.

Si está intentando ejecutar en un dispositivo incorporado, compruebe cómo se compila y arranca el núcleo de un sistema operativo incorporado. Por ejemplo, vea cómo U-Boot muestra un sistema basado en Ångström linux.

Cuestiones relacionadas