MokaByte
Numero 12 - Ottobre 1997
|
|||
|
|
||
Rocco Mondo |
Secondo ed ultimo articolo dedicato al JavaOS : caratteristiche tecniche e performance nel mirino | ||
In questa seconda ed ultima parte parleremo di alcune caratteristiche avanzate del JavaOS, focalizzando la nostra attenzione sui servizi ed i tools disponibili, nonchè sulle performance e sulle reali possibilità di portatilità del sistema.
C. A. : il
Kernel di JavaOS
Come potete
osservare dallo schema riportato sopra il kernel di un sistema operativo
è lo strato più basso del sistema, quello cioè su
cui pesa tutta la struttura.Infatti quando una applicazione o un applet
gira su JavaOS, il Java runtime e il Java kernel si occupano di gestire
sia il programma che gli strati intermedi (awt, grafica, funzioni per il
neworking e per I/O) tra il programma e il kernel.
Ancora il kernel
di Java contiene delle funzioni necessarie per il funzionamento della Virtual
Macchine, esse si possono dividere nelle seguenti categorie:
La presenza di
un supporto di thread permette alla Java Virtual Machine di gestire dozzine
di thread che tipicamente concorrono all'interno del sistema.
Per semplificare
ed ottimizzare la gestione di questi thread, il sistema di protezione della
memoria è stato sviluppato in linguaggio Java e permette di far
girare JavaOs e tutte le applicazioni all'interno di un singolo spazio.
Come accennato
in precedenza JavaOs per funzionare non richiede una MMU (Memory Management
Unit), ma se essa è presente la sfrutta per creare un range contiguo
di memoria, ottimizzandone gli accessi.
Il linguaggio
di programmazione Java non fa uso dei puntatori e della loro matematica,
quindi non accede direttamente alla memoria ma incapsula tutti gli accessi
attraverso gli oggetti e le classi semplificando cosi lo sviluppo di applicazioni
che risulteranno sicuramente più robuste ed efficienti.
C. A. : Java
Virtual Machine
In un sistema
compatibile Java come il JavaOS la VM (Virtual Machine) ha il compito di
interpretare tutti i file di tipo bytecodes e di supportare tutta
l'infrastruttura del sistema JavaOS.
Essa infatti
oltre ad eseguire i programmi esegue buona parte dei processi del JavaOS,
dalle classi di sistema a quelle dedicate per la manipolazione della memoria
RAM, finendo alla gestine dei multithread.
C. A. :
Device
Drivers
Tutti i drivers
per i dispositivi sono stati scritti in linguaggio Java, permettendone
così una facile portatilità.
Esistono comunque
alcuni drivers che non possono, per diverse ragioni, essere scritte in
puro linguaggio Java, questa parte di codice è stata sviluppata
in linguaggio C attraverso delle funzioni facilmente portatili. Le classi
che si occupano di accedere alla memoria per modificarne i byte o le words
memorizzate, cosi come la classe che si occupa di gestire gli interrupt
non sono disponibili per nessuna applicazione Java, queste sono specifiche
per il JavaOS.
Oggi esistono molti driver Java per differenti dispositivi, in generale è stata coperta tutta la fascia di drivers che riguardano le piattaforme SPARC e X86, ma molte terze parti stanno lavorando per fornire un ventaglio molto ampio di drivers per diverse piattaforme.
C. A. : Network
Protocol Suite
JavaOs include
una suite molto vasta di protocolli per il supporto del networking, essi
sono stati scritti utilizzando esclusivamente il linguaggio di programmazione
Java. In questa suite sono incluse funzionalità di base per il trasporto
dei paccheti e meccanismi per il routing, tutti orientati verso gli standard
TCP, UDP, IP e ICMP.
JavaOS usa sia
il DNS che il NIS per la gestione dei nomi sul server e per la gestione
dei nomi e delle password degli utenti durante il login.
Ancora esso
supporta il reverse ARP ed il protocollo DHCP che permette di supportare
l'allocazione dinamica di un indirizzo IP (Internet Protocol).
C. A. : Window
e Graphics
Oltre ad una
fornitissima suite di protocolli per il networking, JavaOs è fornito
di una vastissima libreria di funzionalità per la gestione dell'interfaccia
grafica e della grafica in genere.
La libreria
di cui parliamo si chiama Tiny AWT, come la Abstract Window Toolkit essa
è una libreria astratta di elementi grafiche e di interfaccia come
pulsanti, menus, bottoni e barre di scorrimento.
Ultime
considerazioni
Vorrei concludere
questo articolo sul JavaOs facendo ancora alcune considerazioni;
E' importante
sottolineare che per poter supportare il JavaOS sono necessari solo 4 MB
di ROM e 4 MB di RAM.
Nei 4 MB di
ROM è contenuto tutto il codice fondamentale relatico al S.O. cioè
: kernel, drivers, JVM, classi standard i componenti fondamentali per l'interfaccia
grafica e per il networking più tutto il codice relativo al browse
HotJava.La ROM include circa 1 MB di bitmaps rappresentanti diversi tipi
di fonts nelle varie rappresentazioni di stili e grandezze.
Il resto della
memoria RAM è resa disponibile per far girare ed interaggire applets,applicazioni
e sistema operativo.
Un particolare
molto interessante sta nell' interfaccia utente che permetterà di
gestire il sistema operativo e di farlo interaggire con le varie applicazioni
e/o applets, essa si baserà su una combinazione di HotJava e HotJava
View, che non vestiranno più i panni di semplici browse ma avranno
il compito di gestire tutto ciò che riguarda il sistema operativo.
Il concetto
di gestione di un sistema operativo tramite pagine HTML e browse lo ritroviamo
nell'ultima versione del S.O. SOLARIS di SUN, in questo caso però
la gestione è limitata, mentre nel JavaOS l'HotJava diventrà
un elemento integrato e fondamentale del S.O.
Tra le tante
caratteristiche citate nell'articolo vorrei sottolineare che JavaOs grazie
alla sua struttura altamente stratificata permette di adattarsi con facilità
a varie esigenze e a diversi dispositivi, richiedendo loro poche risorse
fisiche.
In particolare
JavaOS può essere usato dal personal all' intranet computers e a
dispositivi di più largo consumo.
Il supporto
del protocollo DHCP lo rende un sistema ideale per le reti intranet, grazie
a tale protocollo è possibile allocare dinamicamente un nuovo indirizzo
IP, senza l'intervento dell'amministratore d rete per un eventuale updating
del sistema.
La Piattaforma
Java è ideale per lo sviluppo e la vendita di applicazione MIS,
esse infatti sono compatte e veloci pronte per essere scaricate sul proprio
dispositivo di lavoro dalla rete Intranet/Internet.
Concludo ricordando
che attualmente JavaOS è disponibile per le piattaforme hardware
basate sul set di istruzioni per microprocessori SPARC e x86, l'attuale
versione si basa sul JDK 1.0 e sono in fase di sviluppo le seguenti implementazioni
:
dei fonts
riguardo
al PPP
Mondo Rocco
M., MokaByte Numero 11 -Settembre 1997.
Mondo Rocco
M., MokaByte Numero 10 -Luglio/Agosto 1997.
by Peter
Mandan contributions by Susan Keohan, Doglas Kramer and Tom Saulpaugh.
URL. -
http://www.java.sun.com
|
||
|
||
MokaByte ricerca
nuovi collaboratori
|
||
|