160 likes | 364 Views
José Manuel García Casal Xavier Folch Ramón. JavaOS para el negocio. Introducción. JavaOS es una iniciativa de Sun Microsystems y IBM Concebido como un sistema operativo orientado a aplicaciones Java Elimina la necesidad de un sistema operativo central Basado en el modelo cliente-servidor
E N D
José Manuel García Casal Xavier Folch Ramón JavaOS para el negocio
Introducción • JavaOS es una iniciativa de Sun Microsystems y IBM • Concebido como un sistema operativo orientado a aplicaciones Java • Elimina la necesidad de un sistema operativo central • Basado en el modelo cliente-servidor • Utilizado para dispositivos electrónicos portátiles • Requiere poco hardware
Definición • JavaOS es un sistema operativo optimizado para ejecutar aplicaciones Java en entornos gestionados de forma centralizada. • Este sistema operativo está siendo desarrollado para que sea una plataforma abierta que permita que las máquinas clientes puedan trabajar con cualquier sistema de hardware y de software, y ser gestionadas desde diferentes servidores
Arquitectura • JavaOS ha sido construido usando una arquitectura por capas • Cada capa se diseña para ser desprendible y actualizable independientemente • Se divide en: • Código específico de la plataforma • Microkernel • Java Virtual Machine (JVM) • Código independiente de la plataforma • JavaOS Device Driver • JavaOS Network classes • JavaOS Window and Graphics systems
Arquitectura • La arquitectura por capas está formada por: • Entorno independiente de Java Development Kit (JDK) • JDK Runtime: • Java Virtual Machine • Hosting Classes • JavaOS Device Interface • JavaOS Platform Interface • Microkernel • Boot • JavaOS Boot Interface • JavaOS Booter
Modelo Cliente-Servidor • El Objetivo es dividir tareas • El sistema es flexible para ser exportado a diferentes plataformas hardware • Características del modelo: • No hay sistema de ficheros local • Sólo un lenguaje de programación • No hay llamadas a sistema • Los recursos se concentran en el servidor • Aumenta la productividad y disminuye el coste de mantenimiento
Java Development Kit (JDK) • Ofrece un conjunto de recursos de desarrollo para programas Java • Incluye las siguientes clases: • Lenguaje • Seguridad • Abstract Windowing Toolkit (AWT) • E/S • Red
JDK Runtime • Parte independiente de la plataforma • Incluye: • Java Virtual Machine (JVM) • Hosting Classes • JavaOS Device Interface (JDI) • Combinación de código nativo y byte-code de Java • Diseñado para plataforma con hardware muy limitado
JDK Runtime • JVM computa un conjunto de instrucciones usando varias áreas de memoria • Hosting Classes incluyen: • Código de soporte para AWT • Clases de red • Clases de E/S • JDI proporciona software para acceder localmente a los dispositivos de E/S conectados • JDI incluye: • Eventos del sistema • Gestor de la plataforma • JavaOS System Database (JSD) • Componentes del dispositivo • Gestor del Bus
JavaOS Platform Interface (JPI) • Proporciona a la JVM y al JDI interficies independientes de la plataforma hardware para memoria, interrupciones y E/S. • Componentes: • JPI esta formado por clientes: • Clientes: de acceso a memoria, interrupciones, DMA, librería de sistema de JVM • Se comunican con el Microkernel que debe ofrecer los servicios pedidos por los JPI - clients
Microkernel • Dependiente de la plataforma hardware. • Ofrece los servicios requeridos por los JDI – clients: • Gestion de memoria. • Gestion de procesos • Gestion de threads • Soporte a E/S.
Microkernel • Gestión de memoria: • La unidad de asignación de memoria mínima es una página. • JVM usa páginas de memoria para construir la pila de los objetos Java • Los Device Drivers usan paginas de memoria como Buffer. • Área de memoria → Conjunto de páginas • El espacio virtual de direcciones se divide en áreas de memoria. • En el esquema vemos un ejemplo de espacio virtual de direcciones:
Microkernel • Gestión de procesos: • Al crear un proceso este no tiene recursos asignados. • Los recursos (áreas de memoria y threads) se asignan dinamicamente. • El microkernel libera los recursos consumidos por el proceso cuando, éste, finaliza • Gestión de threads: • El Microkernel ofrece threads de sistema. • Cada Java-thread esta mapeado sobre un Microkernel-thread. • El modelo de Microkernel-threads soporta multiples threads en un solo proceso. • Soporte a E/S: • Servicios de gestión de memoria que permiten alocatar espacio de memoria virtual.
JavaOS Boot Interface (JBI) • Estandariza las operaciones de boot para todas las plataformas hardware. • Tienen acceso a la JBI el Microkernel y las capas de JDK Runtime. • Ejemplo x86:
Bibliografia • Inside the JavaOS Operating System • Tom Saulpaugh and Charles Mirho • Página oficial de Sun Microsystems: • http://developer.java.sun.com/developer/products/JavaOS/OverView/index.html • Java Operating System: • http://taurus.ubishops.ca/jlaine/jos.html#Overview • Otros enlaces de interés: • http://java.sun.com/docs/glossaries/glossary.es.html