Inicio | Información | Comunidad | Desarrollo | myReactOS | Contáctanos

  1. Inicio
  2. Información
  3. Comunidad
  4. Desarrollo
  5. myReactOS

  1. Descripción
  2. Como contribuir
  3. Whitepaper
  4. Compilando ReactOS
  5. FAQ de desarrolladores
  6. Propiedad Intelectual
  7. Servidor SVN
  8. Bugzilla
  9. Doxygen
  10. RosCMS
  11. Estado de la Web
  12. Traduce la Web
  13. ReactOS CIA

 

 

Desarrollo de ReactOS > Libro Blanco

Libro Blanco

Introducción

La arquitectura de ReactOS está basada en "Microsoft Windows 2003 Server".La arquitectura de ReactOS es monolítica,como la de NT,pero capaz de cargar módulos. En la capa más baja está El Ejecutivo(The Executive). El Ejecutivo incluye todo aquello que corre en modo Kernel. Sobre el Ejecutivo están los Subsistemas Protegidos.Estos subsistemas proveen implementaciones de distintos Sistemas Operativos.

El Ejecutivo

El Ejecutivo es todo el código que corre en modo kernel.El Ejecutivo puede dividirse en los siguientes componentes:la Capa de Abstracción de Hardware(HAL),los Controladores de Dispositivos,el Kernel,los Servicios de Sistema(incluido el subsistema Win32k).Todos estos componentes corren en modo kernel.El HAL,el Kernel,los Servicios de Sistema y los Controladores de Dispositivos son denominados globalmente como El Ejecutivo.

La Capa de Abstacción de Hardware (HAL)

La HAL hace posible que el kernel de ReactOs x86 y el mismo HAL puedan ser ejecutados en diferentes placas bases x86. El HAL evita la necesidad de crear código específico para cada placa base en el kernel,así distintas placas bases no necesitan cambios en el kernel.Ejemplos de distintos tipos de hardware son los PC estándar,o las estaciones de trabajo Japanese NEC PC98 o las SGI x86.

Controladores de Dispositivos

Los Controladores de Dispositivos son extensiones específicas de hardware para el Ejecutivo de ReactOS.Los Controladores permiten al Sistema Operativo(SO) interactuar con ciertos dispositivos y viceversa.ReactOS actualmente se dirige a implementar el modo controlador de NT, del cual el "Windows Driver Model"(WDM) forma parte. WDM es un conjunto de reglas para escribir controladores portables de Windows. El Windows Driver Foundation(WDF) introducido en Windows Vista también se considerará en futuros desarrollos.

Comunicación

Los Controladores de Dispositivos usan paquetes para comunicarse con el kernel y con otros controladores.Los paquetes son enviados mediante el "I/O Manager"(que es un Servicio del Sistema) y hacen uso de los IRPs(Paquetes de Petición de I/O).

Kernel

El diseño del Kernel está basado es el "Microsoft Windows 2003 Server".En el cual están implementadas las Llamadas a Procedimientos Asíncronos(APCs),Llamadas a Procedimientos Aplazados(DPCs),procesos,hilos,algoritmos de Exclusión mutua(mutexes), semáforos, spinlocks, codigos de tiempo,entre otras.

Servicios de Sistema

Los Servicios de Sistema son: el "I/O Manager", el Administrador de Configuración,el Plug and Play,el Administrador de Energía,el Administrador de Memoria,el Soporte Ejecutivo,el Administrador de Objetos,el monitor de referencia de seguridad,la estructura de procesos,las llamadas de procedimientos locales,y el subsistema Win32.

Subsistemas Protegidos

Los Subsistemas Protegidos permiten a las diferentes características de los Sistemas Operativos funcionar sobre el Ejecutivo de ReactOS. El objetivo inicial de ReactOS era el subsistema Win32k -- sin embargo, el subsistema Win32K trabaja en modo kernel como parte del Ejecutivo y no figura aqui. Para otros subsistemas gráficos ,existe un Interfaz para Subsistemas a traves del Subsistema Win32k.Los controladores de dispositivos gráficos de Windows NT están fuertemente integrados en el diseño del subsistema Win23k.Debido a esto,es poco práctico que un subsistema modo usuario interaccione directamente con los controladores gráficos.Por esta razón, un subsistema deberia hacer uso del subsistema Win32k modo kernel para interactuar directamente con los controladores gráficos.Así un subsistema no necesita depender del "Win32k Window Manager", sino que puede usar los gráficos primitivos que aporta el subsistema Win32k.

La Arquitectura Nativa API

Las llamadas de Arquitectura Nativa API para modo usuario se encargan de codificar para llamar a los servicios de una manera estandard.Es el equivalente a la "System Call Interface" usado por la mayoria de UNIXes. Microsoft Windows NT/2000/XP no documenta la Arquitectura Nativa API para los programadores, asi pues éstos deben usar las APIs Win32 en su lugar.Debido a que ReactOS es Código Abierto,nuestra Arquitectura Nayiva API está abierta a los programadores de aplicaciones.La Arquitectura Nativa API está implementada en la NTDLL.dll.Además de contener puntos de entrada para el modo usuario del API Nativo,NTDLL.dll también contiene procesos de inicio y código para cargar módulos.Estos puntos de entrada se llaman "KiSystemService" en modo kernel, el cual busca el servicio modo kernel en una tabla del sistema - la KiSystemServiceTable.t

Objetivos de Compatibilidad

El objetivo original de ReactOS,en relacion con la compatibilidad de controladores y aplicaciones, era Microsoft Windows NT 4.0. Desde entonces Microsoft Windows 2000, XP, 2003 Server, y Vista han sido lanzados.Todos estos son descendientes de Windows NT.Por tanto se irán aumentando gradualmente nuestros objetivos de compatibilidad sin preocuparnos de que la arquitectura cambie.De hecho,internamente, Windows 2000 es conocido como Windows 5.0, XP como Windows 5.1, "2003 Server" como 5.2 y Vista como Windows 6.0. El equipo de ReactOS actualmente señala a Windows 2003 Server como el modelo y objetivo oficial de compatibilidad. De los actuales lanzamientos,el 2003 Server ha demostrado ser uno de los más robustos.Esto no significa que características presentes en versiones posteriores de los Sistemas Operativos basados en Windows NT no vayan a ser implementadas,de hecho continuamente se implementan nuevas APIs.


ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.