Note : ce document �t� construit � partir des transparents utilis�s pour la pr�sentation du 7 Mai 1998 � l�INRIA.
Veuillez �galement consulter la page officielle du projet JLite, en anglais.
Java pour syst�mes embarqu�s
Bertrand Delsart
[email protected]
Projet JLite
The Open Group Research Intitute
responsable : Vania Joloboff
[email protected]
JLite
- Portage sur des OS temps reel
- extensions ajout�es � MACH
- contraintes impos�es par VxWorks
- Adaptation � des syst�mes embarqu�s
- optimisation de la consommation de m�moire
- utilisation de la ROM
- r�duction de la taille de la ROM
Portage JDK1.02 sur MACH
- D�veloppement d'un module de threads natives
- Remplacement du m�canisme de chargement dynamique
- Am�lioration du support par le noyau
- librairies math�matiques
- impl�mentation et utilisation des threads POSIX
- portage de X / Motif
- Communication avec un d�mon UNIX
- [ Am�liorations `temps r�el' du GC ]
Portage JDK1.1 sur VxWorks
- Adaptation du package de threads
- Am�lioration du chargement dynamique
- Pas de notion de processus
- Simplification du m�canisme de lancement
- execution distante vue comme un programme Unix
- Absence de m�moire virtuelle
- tas Java physiquement pr�sent en m�moire
- controle pr�cis des piles C des threads
Optimisation de la m�moire
- Support d'un tas Java adaptable
- espace non contigu
- taille dynamiquement modifiable
- [ regroupement des objects fig�s ]
- R�duction de la m�moire consomm�e par la JVM
- gain 15 � 40 % sur le chargement des classes
- r�duction de la fragmentation de la m�moire syst�me
- [ allocation de m�moire dans le tas Java ]
Utilisation de la ROM
- Gestion souple des librairies statiques
- Conservation de donn�es en ROM
- chaines de caract�res
- [ constantes ]
- [ bytecode ]
Am�lioration des bytecodes
- Optimisation d'une application
- �limination de code inutile
- simplification des noms
- [ inlining ]
- Transformations non portables
- partage des chaines de carat�res
- [ partage des constantes ]
- [[ partage du code ]]
R��criture de code en Java
- Avantages :
- taille, portabilit�, s�curit�, GC...
- Pile TCP/IP compl�te
- gain taille : facteur 2 au minimum
- initial : 43K java + 128K natif sans DNS
- r��crit : 85K java + 10K natif avec DNS
- perte performance : facteur 3 avec checksum natif
- Optimisation
- Utiliser TurboJ pour les routines critiques
- Utiliser un JIT ou FAJITA eventuellement
Bertrand Delsart
Last modified: Wed Dec 22 09:48:40 MET