Exirion/OS

De Wikipedia, la enciclopedia libre
(Redirigido desde «Exirion OS»)
Saltar a: navegación, búsqueda
Exirion/OS
Desarrollador
Rolando Fernández Benavidez
Información general
Modelo de desarrollo Software libre y código abierto
Última versión estable 1.2600.1[1] ([www.exirion-os.esy.es info])
(18 de mayo de 2014 (3 años, 1 mes y 11 días))
Última versión en pruebas 1.7800.3 ([www.exirion-os.esy.es info])
30 agosto 2017
Escrito en C, C++, Pascal
Núcleo KERNEL.386
Tipo de núcleo Monolítico
Plataformas soportadas x86
Licencia GNU General Public License
Estado actual En desarrollo de la versión 1.7800.3
En español
[editar datos en Wikidata]

EXIRION/OS o Exirion es un sistema operativo de código abierto creado por Rolando Fernández Benavidez a partir del código fuente de OpenDOS 7.01. Comenzó a desarrollarse en 1999, aunque hasta el año 2014 no se encontraba disponible en Internet. Actualmente el proyecto se encuentra en la próxima versión 1.7800.3 que será liberada en octubre de 2017.[2] [3]

Nova32 Development Software continua el desarrollo para liberar la versión de módulo 1.7800.1, todas las versiones y documentación técnica se encuentran en www.exirion-os.esy.es

Características[editar]

EXIRION/OS puede funcionar con tan solo un procesador x86 y al menos 128 MB de memoria RAM. El sistema operativo en sí incluye algunas utilidades como la Shell (un poco diferente a la de cualquier sistema DOS, ya que los nombres de los comandos no siguen el estándar, pero las unidades de disco también son identificadas por letras), un procesador de textos, hoja de cálculo y otras utilidades de la consola.

En el sistema operativo EXIRION/OS, no existe un único modelo de interfaz gráfica de usuario (UI), EXIRION/OS desde su creación fue pensado para poder ser ejecutado en una amplia gama de computadores con diferentes prestaciones, beneficios y desventajas, todos compatibles con la familia de microprocesadores x86 de intel, por lo cual en EXIRION/OS existen 3 escritorios gráficos.

Es un sistema operativo monolítico por capas y mono tarea de forma nativa, que puede ser utilizado para controlar equipos electrónicos complejos evitando el uso de instrumentos PLC, ofreciendo una amplia gama de aplicaciones electrónicas e industriales, también se puede implementar en aplicaciones multitarea, con el módulo DPMI que incluye y la interfaz GUIMDI.

También incluye la interfaz gráfica GEX, para generar programas en ventanas para diseñar sistemas orientados a las necesidades especificas de cualquier usuario con fines de uso personal, EXIRION/OS también representa una herramienta para la educación, es un sistema operativo de código abierto para poder utilizarlo como ejemplo de construcción de sistemas operativos en universidades y colegios técnicos.

EXIRION/OS es una plataforma de código abierto que no persigue fines lucrativos, algunas partes del código tienen licencia OpenSource, como el cargador del boot, kernel, shell , y otras están liberadas bajo la licencia GNU/GPL 3.0 como el Framework GEX32 y el motor de Bases de datos de EXIRION/OS llamados DMO y DIN.

Escritorios de EXIRION/OS[editar]

GUI16: Escritorio monotarea de 16 bits para equipos no muy potentes, que utilizando una simple tarjeta VGA, puede ejecutar un entorno gráfico con menos de 1 MB en VRAM, fue creado para la plataforma Exirion y hasta el momento no hay port para otro sistema DOS.

GUI32: Escritorio monotarea de 32 bits para equipos modernos con tarjetas gráficas de fabricantes como NVidea, ATI, Intel Graphics, etc. Donde las prestaciones de hardware permiten trabajar con modos XGA y true-color, por default carga en modo de 1024x768 pixeles con una paleta de colores de 16-bits, pero puede modificarse por código para aumentar de resolución. Este escritorio también fue creado para la plataforma Exirion y hasta el momento no hay port para otro sistema DOS.

GUIMDI: Escritorio multitarea basado en el entorno gráfico SEAL, que también es compatible con otros sistemas operativos como FreeDOS.[4]

Arquitectura[editar]

EXIRION/OS es un sistema operativo monolítico escrito en ensamblador x86 de intel, teniendo como antecesor a CP/M y DRDOS 7.01.

El núcleo está alojado en el binario KERNEL.386, contiene una colección de procedimientos, los cuales se pueden invocar entre sí mismos según lo requieran, cada procedimiento tiene una interfaz bien definida de parámetros y resultados.

Para obtener el núcleo de EXIRION/OS 1.2600.1 se deben ensamblar por separado todos los procedimientos y después se enlazan en un único archivo llamado KERNEL.386, las llamadas al sistema(Hardware) proporcionadas por el núcleo de EXIRION, se solicitan por medio de parámetros bien definidos en registros o la pila, y ejecutando una interrupción de llamada al kernel.

En una llamada al sistema,EXIRION pone al CPU en modo de kernel, para permitirle todas las instrucciones, a diferencia del CPU modo usuario, donde no todas las interrupciones de I/O y otras son permitidas.

Secuencia de una llamada al kernel del sistema en EXIRION:

  1. El programa de usuario entra en el núcleo de EXIRION por medio de una interrupción
  2. EXIRION determina el número de servicio requerido
  3. EXIRION invoca el procedimiento de servicio
  4. Se devuelve el control al programa de usuario

El kernel EXIRION dispone de un API que se puede invocar mediante interrupciones, por ejemplo la INT21H con un número de sub-función en el registro AH del microprocesador y los parámetros en otros registros, todo esto para proporcionar varios servicios de sistema como salida en pantalla, entradas por teclado, acceso a disco, asignación de memoria, etc, internamente la mayoría de los servicios proporcionados por EXIRION acceden a llamadas de interrupción de la ROM-BIOS, tal y como lo maneja el kernel de OpenDOS 7.01, en el cual está basado.

http://www.exirion-os.esy.es/gallery_gen//ed35525e483131b9506e5933c15aa480_1002x648.jpg

http://www.exirion-os.esy.es/gallery_gen//88b45ae8a7df061364d140d73d2f3d4b_933x656.jpg

http://www.exirion-os.esy.es/gallery_gen//3529f40726a309ad68a92ed199e579af_1001x741.jpg

El Framework de Nova32(plataforma, entorno, marco de trabajo) es desde el punto de vista del desarrollo de software, una estructura de soporte definida, en la cual otro proyecto de software puede ser organizado y desarrollado. El Framework GEX32 (Graphics for EXirion on 32 bits) es el marco de trabajo para desarrollar aplicaciones para el escritorio de 32 bits del sistema operativo EXIRION/OS 1.2600.1. No existe versión para otros sistemas operativos, fue construido exclusivamente para extender los servicios de 16 bits, del kernel exirion, mediante la implementación interna de un DPMI a 32 bits. En computación, el DOS Protected Mode Interface (Interfaz de Modo Protegido para sistemas operativos basados en una tabla de interrupciones intel x86 a 16 bits como EXIRION/OS, abreviado DPMI) es una especificación introducida en 1989 que permite a un programa de 16 bits ejecutarse en modo protegido, permitiendo así el acceso a muchas posibilidades del procesador que no están disponibles en modo real de 16 bits. Casi todos los extensores de OS se basan en DPMI, y permiten a los programas de EXIRION/OS acceder a toda la memoria disponible en el PC y ejecutarse en modo protegido. Un servicio DPMI puede ser de 16-bit, 32-bit, o "universal". Puede ser provisto por el sistema operativo anfitrión (virtual DPMI host) o por un extensor de OS (OS extender), como OS/32A, CWSDPMI o HDPMI.

El framework GEX32 incluye:

 Soporte para programas a 32 bits

 Biblioteca estándar de controles gráficos visuales (botones, iconos, etc.)

 Lenguaje de programación Berly 2.0

 Software para desarrollar y unir diferentes componentes de un proyecto de desarrollo de programas (utilidad make y JCL de compilación).

El framework GEX32 permite:

 Facilitar el desarrollo de software en el escritorio GUI32 de EXIRION/OS.

 Evitar los detalles de bajo nivel, permitiendo concentrar más esfuerzo y tiempo en identificar los requerimientos de software.

El Framework GEX32 está compuesto por las siguientes capas:

 Berly 2.0: Especificación de Lenguaje y compilador

 Berly Standart Library: Biblioteca estándar de funciones para Berly 2.0

 Global Working Const: Biblioteca de constantes de trabajo globales

 Basic Type Library : Biblioteca básica de tipos

 Core Common Library: Biblioteca de funciones núcleo de GEX32

 Basic Class Library: Biblioteca de clases básicas de GEX32

El API GEX16 y el Framework GEX32 fueron creados en C, C++ y Object Pascal, para el sistema operativo EXIRION/OS kernel 1.2600.1.

Historia[editar]

En el verano de 1999 un joven ingeniero llamado Rolando Fernández Benavidez, trabajaba (por subcontratación) en una de las industrias más grandes de México (Nestlé Fábrica Coatepec), con el humilde cargo de apoyo administrativo, con el paso del tiempo fue siendo reconocido por sus habilidades en técnicas de programación y conocimientos de electrónica, por el ingeniero suizo Herbe Berthoud. Poco a poco fue realizando algunas actividades para lineas de mecatrónica. Los ordenadores que controlaban esas interfaces electrónicas tenían MS-DOS y Windows 95. En muchas ocasiones los sistemas se bloqueaban causando serios problemas al proceso de producción. El ingeniero Rolando intentó sustituir las aplicaciones migrandolas a plataforma Linux con gcc, cuando se encontraban listas y en producción ocurrieron fallos y los operadores de turno no podían resolverlos, ya que no eran personas con conocimientos unix-like, fue en ese momento cuando Rolando consideró la posibilidad de crear un nuevo sistema operativo, el cual debía ser libre al igual que Linux, pero debería ser fácil de operar. Investigando por Internet encontró una versión de OpenDOS 7.01, liberado por Caldera Inc., y Tomando su kernel fue cuando nació por primera vez EXIRION/OS.

EXIRION/OS 1.0 fue ensamblado y puesto en operación por primera vez en 1999, durante varias semanas logró demostrar estabilidad y eficiencia en el control de instrumentos electrónicos conectados por serial RS232. Pero debido a la naturaleza de la licencia otorgada por Caldera respecto del kernel, tuvo que ser retirado de los sistemas productivos, sin embargo sentó las bases para continuar con su desarrollo.

La interfaz de comandos de EXIRION/OS se llama SYSPROC, durante la carga es colocado en el área de memoria alta del ordenador. La actual versión 1.2600.1 aun conserva el interprete de comandos del primer EXIRION/OS. Aun cuando ya existían los dispositivos PLC, el uso de ordenadores conectados por el puerto serie RS232 era muy común en aquella época. Lamentablemente EXIRION/OS 1.0 tuvo una corta vida en operación (producción), debido a las restricciones de la licencia de Caldera para el núcleo de OpenDOS 7.01, EXIRION/OS tuvo que ser retirado de operación en esa industria en 1999, a las pocas semanas de haber entrado en operación, pero Rolando pensó en continuar con su desarrollo, tal vez no podría utilizarse para fines comerciales, pero él estaba seguro que sería de mucha ayuda en universidades y colegios, donde se enseñaba la programación de sistemas operativos.

Durante los años siguientes a 1999, el ingeniero Rolando trabajó en otras industrias, en su mayoría bancos transnacionales en áreas de programación de Mainframe y plataformas de IBM (AS/400, MVS, OS/390, z/OS). Sin importar que ya no laboraba en una empresa industrial, continuó desarrollando a EXIRION/OS como una especie de pasatiempo, con el paso de los años fue incorporándole interfaces de usuario, compiladores y muchas herramientas para convertirlo en un sistema completo. En el año 2014 decidió abandonar su trabajo para seguir su sueño, fundar “Nova32 Development Software”, con apenas 4 socios iniciales, Lic. Omar Romero León, Lic. Julio Cesar, el padre de Omar (Financiando la mayor parte del proyecto) y el ingeniero Rolando Fernández Benavidez. Durante esta aventura emprendedora, Nova32 lanzó públicamente a EXIRION/OS como una plataforma libre y abierta para todos, liberando la mítica versión 1.2600.1.

El futuro de Exirion/OS[editar]

EXIRION/OS 9.0000.7 estará basado en un kernel moderno, en comparación con su antecesor. Utilizando un núcleo Linux 3.3 para la administración de los recursos del ordenador, pero a diferencia de otras distribuciones de Linux, EXIRION/OS 9 no se interesa en las interfaces gráficas de usuario, su objetivo fundamental es servir como plataforma transaccional, semejante a la operación de un Mainframe, su interfaz de usuario basada en texto tiene por misión la operación y desarrollo de aplicativos, como en una plataforma Host se realiza.

El desarrollo de EXIRION/OS 9 aun se encuentra en face de pruebas, pero se estima su liberación para el año 2020. EXIRION/OS 9 intenta ofrecer un ambiente similar a los encontrados en Mainframe, esto permitirá crear soluciones transaccionales a bajos costos y el poder de involucrar personas del mundo de Host, sin la necesidad de que aprendan una nueva tecnología, ya que EXIRION/OS 9 es muy similar a un ambiente Host real. EXIRION/OS 9 permitirá utilizar un servidor basado en x86 ó x64 para ofrecer servicios de procesamiento de grandes volúmenes de datos, incorporando un gestor transaccional propio llamado ETM, similar al entorno CICS de IBM. Incluirá un rico repertorio de lenguajes acostumbrados en plataformas Host, como COBOL, JCL, REXX. La interfaz de usuario basada en texto es similar a las actuales emulaciones de terminales TSO 3270.

Nova32 Magazine[editar]

Existe un proyecto de edición digital llamado "Nova32 Magazine" mediante el cual se pretende difundir las últimas novedades de Exirion, así mismo integra una serie de tutoriales, para aprender a utilizar y desarrollar aplicaciones bajo esta plataforma. La revista digital se puede acceder de manera gratuita desde www.issuu.com, o bien desde el sitio web de Exirion (www.exirion-os.esy.es) en internet.

http://www.exirion-os.esy.es/Magazine/

Nova32 LifeVantage Library[editar]

Recientemente Nova32 ha puesto al alcance de todos, una biblioteca virtual llamada "Nova32 LifeVantage", mediante la cual ha publicado una colección de e-Books para el uso y desarrollo de la plataforma Exirion, pretende convertirse en el principal Knowledge Center para los desarrolladores de EXIRION/OS.

http://www.exirion-os.esy.es/eBooks/

Referencias[editar]