Visita la versión flash
Propuestas
Visita el perfil del autor
Hablan del blog

SOM30


"Cómo hacer un Sistema Operativo en 30 días"
13/07/2010 14:54

Gestor de Arranque Extendido (GAE)

Comunicaciones de Red
Durante estos días hemos tratado todo lo relacionado con los Sistemas Informáticos. Ahora es el momento de empezar a abstraerse un poco y comenzar a trabajar en el arranque lógico del Sistema Operativo. Como vimos días atrás, el dispositivo que incluye el código objeto relacionado con el arranque del Sistema Operativo es el Gestor de Arranque Extendido (GAE) que funciona a modo de gestor de arranque múltiple. Hoy entraremos un poco más en detalle, conociendo las diferentes funciones que irá invocando y otros aspectos relacionados con el arranque.

Lo primero que hay que indicar es que, generalmente, se trata de un dispositivo de sólo lectura, ofreciendo medidas de seguridad físicas frente a posibles reescrituras. Por otra parte, su cometido es bastante simple, por lo que tampoco necesita grandes modificaciones; las únicas diferencias dependerían de las características del propio Sistema Informático para el que esté diseñado. De todas formas, es cierto que tiene una zona de parametrización, donde se puede leer y escribir. Esa zona estará protegida por el Sistema Operativo para que no se pueda modificar libremente. Podrían existir mecanismos físicos que permitan deshabilitar la restricción de sólo lectura sobre todo el dispositivo, por si fuera necesaria su actualización.

Mientras que el Gestor de Arranque Mínimo (GAM) se conforma con arrancar el Sistema Informático y ceder el control al GAE, es el propio Gestor de Arranque Extendido el dispositivo que realizará las operaciones de ordenación, localización, verificación, comunicación y cesión con los diferentes componentes del Sistema Informático. El cometido del GAE es cargar el Sistema Operativo deseado (preferiblemente) desde un almacenamiento secundario.
Generalmente lo primero que hace el Gestor de Arranque Extendido es activar el Altavoz del Sistema, para que haga un pitido durante el arranque indicando que se llegó a este punto. A continuación veremos las siguientes operaciones que realizará antes comentadas un poco más en profundidad:
  • Ordenación: Lo primero que hace el dispositivo es ordenar en una lista, a partir de los datos binarios que tenga en la zona de parametrización, los controladores que deberá ir probando.
  • Localización: Una vez calculada la lista, se buscarán aquelloscontroladores disponibles, es decir, aquellos susceptibles de que tengan un componente donde esté almacenado un Sistema Operativo. Generalmente los busca a través del GeCo verificando el valor del bit central. En caso de que tenga el valor 1, significa que en ese controlador hay un componente; si no hay, entonces tendrá el valor 0.
  • Verificación: Por cada controlador disponible que encuentre a medida que va avanzando por la lista de controladores a buscar, el GAE pasará a solicitarle el paquete 0 a través del Sistema de Mensajes estándar. Este paso hará que el controlador ponga en sus registros L el primer paquete. En el caso de los componentes que ofrecen almacenamiento secundario (discos) corresponde con los primeros 56 bits de información contenida en el componente. El Sistema de Paquetes básico (que envía mensajes de 64 bits) permite capacidades de hasta 469.762.048 gigabytes de información.
  • Comunicación: Una vez se verifica que el primer paquete corresponde con el valor estándar de un paquete de arranque se procederá a desempaquetar el Sistema Operativo según marca el estándar, paquete a paquete. El paquete de arranque tiene el valor 0xAA.AAAA.AAAA.AAAA (56 bits alternando ceros y unos binarios) y sólo identifica la existencia de un Sistema Operativo. El número total de paquetes a desempaquetar está definido en los siguientes paquetes, y ya posteriormente se encuentran los paquetes correspondientes al lanzador del Sistema Operativo.
  • Cesión: Una vez que el lanzador del Sistema Operativo se encuentra desempaquetado correctamente en la memoria RAM, se cede el control a éste.
Por defecto, en caso de que el GAE no encuentre ningún componente que incluya un Sistema Operativo, pasará a buscar cualquier componente que lo incluya. Si aun así no encontrara ninguno, apagará el Sistema Informático tras una ráfaga de pitidos en el Altavoz del Sistema.

Como veremos más adelante, si el controlador de Red está conectado a una máquina donde se esté compartiendo ese paquete de arranque, el GAE cargará el lanzador del Sistema Operativo de forma remota. Ese lanzador no será equivalente (ya que es remoto) pero incluirá funcionalidades básicas de restauración, recuperación, o incluso un Sistema Operativo reducido, para salir de un apuro o en máquinas que no tengan discos conectados.

Para terminar, es importante fijarse que el Gestor de Arranque Extendido no tiene relación con más controladores que con componentes críticos de primer grado. Por lo tanto, el GAE no ofrece modificaciones de las prioridades en el arranque en tiempo de ejecución. Lo que se puede hacer es incluir en el primer paquete del disco principal un Sistema Operativo básico, capaz de seleccionar un lanzador del Sistema Operativo final, y que pueda controlarse por teclado, ratón y muestre gráficos por pantalla o tan avanzado como se desee. Pero también, como será nuestro caso, el propio Sistema Operativo implementará la capacidad de iniciar otro Sistema Operativo en tiempo de ejecución.

Comentarios

11/11/2014 04:13
muy buen laburo

2/04/2012 04:30
oye.... no seria + facil invertir el GAE en un escript como: ac_//AG&0003, VAMOS A VER SI PENSAMOS UN POCO BURROOOO!!!!!!!!
PN ESTE CODIGO PARA MEJORAR EK gae: <g/A/E-333948 LOS NUMEROS SIGNIFICAN LA INDEC. DEL pc que nos llevara al 948... NO SE LO QUE ACABO DE DECIR MAS ME MOLA LA INFORMATICA.

15/07/2010 13:39
Gracias. Para la próxima vez, intenta dar los "ánimos" en www.som30.es/prensa para que quede más organizado el blog.

15/07/2010 04:09
Por lo que he visto hoy fue de mucho trabajo para ti, adelante que vas muy bien, espero con muchas ganas el dia que ya este listo el SO para hacer las pruebas. Frank Davila

14/07/2010 00:51
Como indico al comienzo, el GAE permite parametrización para poder indicar el orden por el que se intentará localizar un Sistema Operativo.
Generalmente, debido a la implementación estándar y la propia arquitectura, lo de cargar "varios Sistemas Operativos" está incluido en el propio Sistema Operativo, debido a que el GAE no debe tener acceso al Control de Vídeo. Veremos más adelante cómo el SO permite el intercambio de Sistemas Operativos en tiempo de ejecución.

14/07/2010 00:13
Ese GAE esta nuy bien, excelente, El tambien se encargara de inicios duales con otros SOs? Frank Davila

Deja tu comentario


Se enviará usando la Red Social @visitante
¿Quieres responder con otra cuenta de TuEntidad.es?
Usa MonoMola o LoTienes.

Búsqueda

Calendario

- Día 1
- Día 2
- Día 3
- Día 4
- Día 5
- Día 6
- Día 7
- Día 8
- Día 9
- Día 10
- Día 11
- Día 12
- Día 13
- Día 14
- Día 15
- Día 16
- Día 17
- Día 18
- Día 19
- Día 20
- Día 21
- Día 22
- Día 23
- Día 24
- Día 25
- Día 26
- Día 27
- Día 28
- Día 29

Código

- Sistemas Informáticos
- Compilador
- GAM
- GAE
- Kérnel
- LiSi
- ViSi
- SAM
Licencia LSW

Comentan

- Día 1 (16) 8/06 02:28
- Día 29 (19) 13/03 04:10
- Día 10 (18) 23/01 22:16
- Día 3 (9) 10/12 08:55
- Día 2 (19) 10/12 08:54
- Día 7 (4) 5/11 21:29
- Día 11 (44) 25/10 01:39
- Día 4 (3) 24/09 13:45
- Día 28 (2) 6/04 04:01
- Día 26 (1) 17/07 01:21
- Día 27 (4) 29/05 14:50
- Día 8 (9) 29/05 05:35
- Día 24 (2) 18/01 05:16
- Día 17 (5) 18/01 05:10
- Día 13 (7) 6/12 18:44
- Día 15 (1) 30/08 08:53
- Día 6 (2) 25/08 02:14
- Día 5 (4) 7/04 00:50
- Día 21 (6) 26/06 21:26
- Día 18 (2) 26/06 03:09
- Día 23 (2) 22/04 13:45
- Día 25 (1) 11/03 21:34
- Día 19 (3) 19/01 17:33
- Día 14 (2) 7/01 22:06

Valid HTML 4.01 Transitional