Que yo sepa el
exclusive OS también está basado en Windows 8.1, así que por
A o por B te topas con el problema. Como ya has visto en ese mismo diagrama, SIEMPRE te vas
a topar con
un DRIVER. En
un sistema que no sea mono-proceso, en el cual tu binario se cargarí
a directamente justo encima del hardware (la última así creo que fue la PS2), NUNCA vas
a tener acceso directo al bus maestro, siempre lo vas
a hacer
a través de
un driver, ya esté en la capa del SO o en la capa del hypervisor (con lo que el driver del SO
serí
a un mero puente al del hypervisor).
Un simple MOV
a un registro de la CPU,
y ya no digamos
un IN/OUT de los puertos (para controlar los periféricos, como la GPU), si resulta que está siendo usado por otro proceso (99,99% probable), sin que éste estuviera controlado por algún mecanismo (el SO, el hypervisor), conllevarí
a a un petazo en cascada. Para una simple tarea de empezar
a dibujar se pueden hacer decenas de IN/OUT como poco, es imposible que la propia aplicación haga la gestión por su cuenta de si se está usando por otro proceso, realizar la espera...es imposible.
Así que en
un sistema multi-proceso, es decir, donde no sea tu binario el que lo CONTROLE TODO lo que ocurre con el hardware, nunca vas
a tener acceso directo
a éste.
En la XOne los drivers creo que están montados en el hypervisor, al
ser un hardware cerrado,
y los otros SSOO acceden
a éstos, así te ahorras repetirlos.
Edit: ya que mencionas
a RTAI sobre ADEOS, si te fijas dice claro que "las tareas deben usar mecanismos diferentes
a las estándar de kernel Linux", porque ahora son éstas las que tienen que gestionar las interrupciones
y demás.
A mí me suena más que esa tecnologí
a es más bien para usarse como base para realizar
un nuevo SO especializado, con tareas muy específicas (monitor de red, etc.), algo que cuando programes las tareas sea factible que hagas eso. Pero si quieres controlar todo el tema de interrupciones
y demás en algo como
un juego 3D, con sonido, con controles de usuario, en
un sistema multi-proceso, con
un hardware
a estas alturas tan
complejo (multi-CPU multi-CORE para empezar)....igual después de 20
años terminas el juego
y todo
Yo creo que
a estas alturas, con la última actualización del SDK, DX11.3 está ya al nivel de la API exclusiva,
y M$ dejará de incluir o dar soporte
a dicha API, que se acabará extinguiendo. Le han reducido el overhead, le han metido algunas funcionalidades DX12, han liberado el acceso
a la eSRAM...yo creo que ya es equivalente,
y a la espera de que actualicen el propio SO para tener acceso al resto, que ya
será directamente con DX12
y es cuando la API exclusiva terminará de desaparecer.