CONCEPTES AVANATS DE SISTEMES OPERATIUS Departament dArquitectura de













- Slides: 13

CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors El sistema operatiu Java. OS (Seminaris de CASO) Autors Daniel Bautista Batllori (e 6962120) o Alberto de Grado Andres (e 3454919) o

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

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

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

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

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

Característiques del micronucli o 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 o 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 o 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 7

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

Runtime Environment Es la part del SO on s’executen les aplicacions Java o Compost principalment per: o – 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 Java. OS s’envien a través d’un “agent”, un controlador d’events que envia els events del emissor als receptors 9

Runtime Environment (II) – Service loader: Encarregat de carregar i descarregar els serveis del Java. OS, 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) 10

Runtime Environment (III) JVM o o 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 11

Runtime Environment (IV) JVM(II) o o 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 12

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