Adaptive Domain Environment Operating Systems

Adaptive Domain Environment Operating Systems
Para otros usos de este término, véase Advanced Earth Observation Satellite.

ADEOS (siglas de Adaptive Domain Environment Operating Systems), ADEOS proporciona un entorno flexible para compartir los recursos hardware para múltiples sistemas operativos ó múltiples instancias de un mismo sistema operativo. ADEOS activa múltiples núcleos, llamados dominios, que existen simultáneamente sobre el mismo hardware. Ninguno de éstos dominios necesariamente conoce la existencia del resto, pero todos ellos si conocen de la existencia de ADEOS. Un dominio puede ser un Sistema Operativo completo, pero no necesariamente.

Contenido

Fundamentos

Arquitectura

La arquitectura de ADEOS es la de núcleo dual y más específicamente la llamada nanonúcleo.

Dominios y Pipeline

Para permitir que las interrupciones y los eventos del sistema sean repartidos para compartir por los múltiples núcleos (normalmente sistemas operativos completos), ADEOS define lo que ha llamado abstractamente “dominio”.

Un dominio es un componente software del núcleo base al cuál ADEOS puede notificar:

  • Las interrupciones hardware.
  • Llamadas al sistema de las aplicaciones Linux.
  • Eventos del sistema lanzados por el núcleo Linux.
  • Otros eventos que personalicemos nosotros.


Un dominio puede ser accesible como un módulo dinámico del núcleo, ó como uno estático formando parte de una imagen del núcleo, no produciendo ningún tipo de incidencia en el comportamiento de ADEOS. ADEOS también puede asegurar que los eventos sean disparados en el orden correcto para los distintos dominios definidos, gracias a ello, es posible proporcionar determinismo.

Esto nos permite asignar a cada dominio una prioridad estática. El valor de esta prioridad determina el orden en que los eventos son tratados por los dominios. Todos los dominios son encolados de acuerdo a sus respectivas prioridades, formando un pipeline de forma abstracta, que es el que usa ADEOS para manejar el flujo de eventos desde el más prioritario hacia el menos prioritario. Los eventos de entrada son encauzados a la cabecera del pipeline (dominio más prioritario) y progresan hacia la cola (dominio menos prioritario).

El código del núcleo Linux es enteramente él sólo un dominio especial predefinido, que es creado por ADEOS en las primeras etapas de carga de Linux. Este dominio inicial normalmente hace referencia al “root” domain hasta que la infraestructura proporciona lo suficiente para cargar el resto de dominios dinámicamente (ej. el módulo cargador del núcleo)

Modo de Trabajo

ADEOS controla todas las interrupciones, los traps de la CPU y las excepciones del nivel hardware, ya que reprograma el software del manejador. De hecho, ADEOS actualmente reemplaza los manejadores instalados anteriormente por Linux durante el arranque por los suyos propios para las correspondientes interrupciones y eventos. En la plataforma x86, se hace simplemente cambiando el descriptor de interrupción de la tabla. En cualquier momento dada una CPU con ADEOS activado, un dominio puede estar:

  • Ejecutándose.
  • Interrumpido por un dominio más prioritario durante el procesamiento de una interrupción/evento de entrada mientras el estaba procesando un evento pendiente.
  • Voluntariamente autosuspendido, después de que todas las interrupciones/eventos hayan sido procesados.

Cuando un dominio ha finalizado de procesar una interrupción/evento que ha recibido, llama a un servicio especial de ADEOS (adeos_suspend_domain()) el cual provoca que se pase la interrupción/evento al siguiente dominio del pipeline y así sucesivamente, realizándose un ciclo del más prioritario al menos prioritario.

Hay que destacar que ADEOS reanuda un dominio sólo si tiene que procesar una interrupción/evento ó si ocurre que ha sido interrumpido por un dominio más prioritario que ha recibido alguna interrupción/evento para procesar, en otras palabras, no se produce intercambio entre dos dominios a menos que haya trabajo pendiente para alguno de ellos.

Cuando una interrupción ocurre en un sistema ocioso, ADEOS despierta al dominio más prioritario interesado en ella y el ciclo de proceso del pipeline comienza de nuevo.

Ejemplo

Dados los dominios A,B,C donde la prioridad es A>B>C, se puede decir que:

  • Si A ejecuta, entonces B y C están interrumpidos ó suspendidos.
  • Si B ejecuta, entonces A esta suspendido y C esta interrumpido ó suspendido.
  • Si C ejecuta, entonces A y B deben estar suspendidos.

¿Por qué se necesita ADEOS?

  • Porque es necesario controlar determinísticamente el flujo de interrupciones hardware usando una capa software antes de que el núcleo Linux las procese. Este control incluye la interceptación, el enmascarado o la priorización de las interrupciones.
  • Porque es necesario monitorizar las llamadas al sistema de Linux, añadiendo más información y sin tener que modificar el código de las llamadas al sistema.
  • Porque se requiere de un mecanismo para monitorizar los eventos internos que ocurren en el núcleo Linux como pueden ser la planificación de tareas, la creación de procesos ó las señales que capturan las tareas.

Implementación de un dominio

La interfaz entre un dominio y ADEOS está compuesta de:

  • Un descriptor, que es una estructura de datos que describe las propiedades del dominio en el tiempo.
  • Una rutina de entrada al dominio, a la cual ADEOS llama para iniciar un dominio. Esta rutina se encarga de registrar el conjunto de interrupciones/eventos que va a manejar y a continuación el dominio pasa a ejecutar el bucle ocioso.

Enlaces

Documentos


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Adaptive Domain Environment for Operating Systems — Adeos (Adaptive Domain Environment for Operating Systems) is a nanokernel hardware abstraction layer (HAL) that operates between computer hardware and the operating system that runs on it. It is distinct from other nanokernels, in that it is not… …   Wikipedia

  • Operating system — Operating systems …   Wikipedia

  • Automated Tissue Image Systems — (ATIS) are computer controlled automatic test equipment (ATE) systems classified as medical device and used as pathology laboratory tools (tissue based cancer diagnostics) to characterize a stained tissue sample embedded on a bar coded glass… …   Wikipedia

  • Glossary of systems theory — A glossary of terms as relating to systems theory. [ Because systems language introduces many new terms essential to understanding how a system works, a glossary of many of the significant terms is developed.] NOTOC A* Adaptive capacity: An… …   Wikipedia

  • Complex systems — A visual, organizational map of complex systems science See also: Complex system Complex systems present problems in mathematical modelling. The equations from which complex system models are developed generally derive from statistical physics,… …   Wikipedia

  • Open and closed systems in social science — Ludwig Bertalanffy describes two types of systems: open systems and closed systems. The open systems are systems that allow interactions between its internal elements and the environment. An open system is defined as a “system in exchange of… …   Wikipedia

  • Multics — Company / developer MIT, GE, Bell Labs Programmed in PL/1, Assembly language[1] Working state Mature, Historic Source model Free and …   Wikipedia

  • Adeos — (Adaptive Domain Environment for Operating Systems) est un nano noyau libre conçu pour abstraire les ressources matérielles dans le but de les partager entre divers systèmes d exploitation ou plusieurs instances d un même système d exploitation.… …   Wikipédia en Français

  • ADEOS — Advanced Earth Observing Satellite (Academic & Science » Ocean Science) * Advanced Earth Observing System (Academic & Science » Meteorology) * Adaptive Domain Environment for Operating Systems (Computing » Software) …   Abbreviations dictionary

  • Hard disk drive — Hard drive redirects here. For other uses, see Hard drive (disambiguation). Hard disk drive Mechanical interior of a modern hard disk drive Date invented 24 December 1954 [1] …   Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”