1 / 13

El sistema operatiu JavaOS

Daniel Bautista Batllori (e6962120) Alberto de Grado Andres (e3454919). El sistema operatiu JavaOS. Motivació. Crear un SO centrat exclusivament en Java Capaç d’executar aplicacions Java directament sobre el hardware

zack
Télécharger la présentation

El sistema operatiu JavaOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Daniel Bautista Batllori (e6962120) Alberto de Grado Andres (e3454919) El sistema operatiu JavaOS

  2. Motivació • Crear un SO centrat exclusivament en Java • Capaç d’executar aplicacions Java directament sobre el hardware • Crear una plataforma oberta per tal que les màquines clients puguin treballar amb qualsevol sistema hardware i software • Posibilitat de ser gestionat desde diferents servidors

  3. Característiques • Desenvolupat per Sun i IBM • Basat en microkernel • Altament portable i estandaritzat • Orientat a objectes • Segur i robust • Sistema de fitxers distribuït • Petit i comptacte • Sense crides a sistema (nomes API’s) • Disponible per Sun Sparc, Intel x86, i Strong Arm CPU’s

  4. Components principals • Entorn d’execució (runtime environment) • JavaOS Platform Interface (JPI) • Micronucli • JavaOS Boot Interface (JBI) • Cargador (Booter)

  5. Cargador • Escrit totalment en codi natiu ( C i ensamblador) • Interactua amb el nucli a traves del JBI (JavaOS Booting Interface) • Es l’encarregat de carregar el JavaOS a memoria i d’activar el micronucli • En acabar, es treu ell mateix de memoria • En cas de sistemes multiprocessador, el cargador arranca una sola CPU i després el micronucli s’encarrega d’arrancar les altres CPU’s

  6. Micronucli • Situat entre el cargador y l’entorn d’execució • Petita part de codi natiu que dóna servei a l’entorn d’execució a través del JavaOS Platform Interface • Part bàsica més primitiva del sistema implementada totalment en C i ensamblador per qüestions d’eficiència • S’encarrega del tractament de: • Paginació, Memoria i DMA • Threads i llibreries natives • Interrupcións, excepcions i rellotge

  7. Característiques del micronucli • Executa tot el codi en mode privilegiat: • Aixó es posible ja que el codi escrit en Java es totalment segur i no provocarà cap fallada del sistema. D’aquesta manera s’aconsegueix un nucli més ràpid, ja que no hem de passar mai de mode sistema a mode privilegiat • Executa tot el codi amb un únic espai virtual d’adreçes: • Novament, degut a la filosofia Java, no cal crear un espai d’adreçes per a cadascun del processos. Aixó redueix el tamany del codi i n’augmenta l’eficiència • No hi ha comunicació entre processos (IPC): • En un sistema sense més d’un espai d’adreçes no es necessita. Així augmentem l’eficiencia del sistema

  8. JavaOS Platform Interface • Conjunt de classes i interfaces que aïllen el microkernel de la resta de l’entorn d’execució • Permet que l’entorn d’execucio (runtime environment) pugui ser portat a diversos micronuclis

  9. Runtime Environment • Es la part del SO on s’executen les aplicacions Java • Compost principalment per: • System database: guarda informació sobre la configuració de components software Java. Esta organitzat com un arbre, on cada node descriu la configuració d’una component del client • Event system: mecanisme mitjançant el qual els objectes poden intercanviar els events (objecte que conte informació que s’envia d’un objecte a un altre). Al JDK els events s’envien punt-a-punt, però al JavaOS s’envien a través d’un “agent”, un controlador d’events que envia els events del emissor als receptors

  10. Runtime Environment (II) • Service loader: Encarregat de carregar i descarregar els serveis del JavaOS, com per exemple els protocols de xarxa i el sistema de fitxer. Son serveis tot alló que no ha d’estar present necessariament, com el system database i el service loader mateix. Els serveis es carreguen i descarreguen sota demanda • Device drivers: s’encarreguen de donar suport a diferents dispositius (ratolí, teclat, tarjeta de red, etc...). Poden ser estatics (nomes es poden carregar rearrancant la màquina) o dinàmics (carregats o modificats en qualsevol moment)

  11. Runtime Environment (III) JVM • La JVM (Java Virtual Machine) es l’entorn en que s’executen els programes Java • Els archius class contenen les instruccions JVM (bytecodes) i una taula de símbols • La JVM no es només un intérpret (tradueix bytecode en codi natiu) sino que es tracta d’un emulador ja que permet una arquitectura de màquina intermitja. • Les funcions principals de la JVM son: • Reservar espai per els objectes creats • Alliberar la memoria no usada (garbage collector) • Asignar variables a registres i piles • Comprobació de la seguretat en les aplicacions Java • Interpretació i verificació del bytecode • control de threads

  12. Runtime Environment (IV) JVM(II) • Els components de la JVM son el següents: • Garbage Collector • Native Method Interface • JIT (Just-in-time compiler) • Interpretador • JVM System Function Library • La JVM especifica un conjunt d’instruccions propies per al sistema i utilitza diferents arees de memoria. • Pot estar implementada en microcodi o en hardware (degut a la seva estructura) • Les classes base que requereixen els programes resideixen al Runtime Environment i son carregades a la JVM cuan es necessiten

  13. Bibliografia • T. Saulpaugh , C. Mirho: Inside the JavaOS operating system. Addison-Wesley, 1999 • Sun Microsystems • www.java.sun.com • IBM • www-5.ibm.com/es

More Related