Click here to load reader
Upload
zack
View
34
Download
3
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors
(Seminaris de CASO)
Autors
El sistema operatiu JavaOS
Daniel Bautista Batllori (e6962120)Alberto de Grado Andres (e3454919)
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
4
Components principals
- Entorn d’execució (runtime environment)
- JavaOS Platform Interface (JPI)
- Micronucli- JavaOS Boot Interface (JBI)- Cargador (Booter)
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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)
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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
Seminaris de CONCEPTES AVANÇATS DE SISTEMES OPERATIUS
Departament. d’Arquitectura de Computadors - UPC
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