When 1st Java card inside informations were issued, the card french friess where 8 spots with a few hundred of bytes of RAM and a few kg bytes of EEPROM. These sever restraints led the Java card forum and Sun to publish a had tonss of restrictions compared to standard Java.
This specification does non stipulate and runing system but an executing environment that most participant in the smart card industry is able to implement on top of his ain proprietorship operating system. The Si market development seems to bespeak that following coevals merchandises will be based on much more powerful machines ( 32bits, 64bits, RISC, cache are going common in bit class ) the smart card industry, through the Java card forum, has clearly indentified this development and has started enterprises like the Java card 3.0 inside informations procedure that aim to specify approaching version of java card adapted nest epoch of hardware with this hardware development, Java has besides evolved a batch. It is more limited to the desktop environment and is now present in both the waiter market with J2EE and in the embedded system market with J2ME.
This development brought interesting characteristic to the Java platform procedure for running long lived application are popular on the server side and less java subset applicable to classs of devices has been defined with J2ME constellation.
The intent of this assignment is to hold overview of what can be considered now as the less java characteristic that can be integrated to modern smart card hardware and how these characteristics that can be integrated to modern smart card hardware and how these characteristics can be turned into a card runing system that header with the smart card industry peculiar restraint like large production, personalization station issue. The ground for aiming an operating system alternatively of an extra package bed like it ‘s done in the computing machine universe with standard JDK is to utilize Java as the alone hardware abstraction for applications without intermediate degrees to cut down the work load and increase the efficiency.
Features of Java Operating System:
The Java platform defined in different techniques the Java VM ( Virtual Machine ) specification and the Java linguistic communication specification. In the context of operating system these techniques are merely relevant at the running environment degree. The choice of the Java Operating System characteristics is guided by the classical demands of OS. The cryptography, associating, running engine and memory direction for the public presentation.
Class file of Java:
The category file is Java define in the JVM ( Java Virtual Machine ) specification as bringing format for the codification of classed to lade into a Java VM. This format is considered to be long-winded and non compact, but it has some other belongingss that provide a maximal flexibleness both for the development and for the codification application update. Other formats such as the Java card 2.x Cap file or the JEFF file format are concentrating on cut downing file size utilizing the bid and techniques like associating information remotion or file construction reorganisation. These techniques have good consequence in size decrease but bring on deployment restraints depending on the grade of size decrease for illustration a Cap file can be ten percent size of the tantamount set of category files, but it requires an off card transition measure for the developer and to keep off card a database of associating information to execute card pre associating which is painful work for deployment and card direction.
We argue that on card category file processing that provides the same decrease ration as the JEFF transition 50 per centum decrease. The procedure explicating more item in figure below.
Since the burden nexus operation occurs merely one time in the life times on the category, we think that the development benefits brought by lading standard category files are worth the attempt of lading the category file in its entireness and using an on board transition procedure that enable to hive away in card memory a construction equivalent to fifty per centum of the original category file size.
One of the chief industrial net incomes of taking the category file and specifying you ain transition procedure is that it gives freedom for distinction most of the card industry can take an internal format adapted to his ain peculiar restraints.
Engine Multithreaded Execution:
the Java platform has native support for multithreaded and synchronism and even in the lowest constellation defined for the embedded system market like CLDC, this aid to keep the one may believe that for embedded and resource constrained devices the
Support for the multithreading may be excessively heavy to be sensible, good there are tonss of ground to hold multithreading support in the nucleus of really little Java runing system. The nucleus ground is that it enables to compose power application model on top of the Operating System, in Java without necessitating complex native alterations of the Operating System and it ‘s happen when the SIM Toolkit application theoretical account has been explained in java card. There are besides tonss of classical grounds to utilize togss that are briefly described in the literature.
In limited devices like smart cards, memory such as the Virtual Machine implements must be carefully take an efficient and resource assisting execution of the multithreading support. The being of Java application merely on the top of Java runing system join forcesing with native codification and non with native application like in a desktop computing machine seems to back up a green yarn like execution instead than a native yarn execution.
Java Memory Management:
One of the interesting characteristic of Java Virtual Machine ( JVM ) is the automatically refuse collected pile that is used to apportion Java objects when they are created, allowing the load of traveling, packing, liberating the memory to the system alternatively of the developer.
This interesting characteristic was missing in the Java card specification and give the developer of complex applications to developer their ain memory direction modus operandis within the application codification, which is written in Java, this disadvantage of java card to act as an Operating System. The plans should n’t manage such sensitive undertaking. There are several types of refuse aggregators but the 1s that seem the more appropriate to ache card like environments are generational aggregator. This type of aggregator are good adapted to server like long lived application which is typically the instance of smart card plan.
Actually the memory manage for the object cases is separate from the memory direction of system informations like description, togss, codification, categories, objects. This usually taking toward the complexness, bigger footmark of the memory direction and inactive cleavage of the memory. We are experimenting an alternate to such a split organisation that is to utilize incorporate object oriented memory direction and inactive cleavage of the memory. We are experimenting an alternate to such a split organisation that is to utilize a incorporate object oriented memory director that both types of plans and system objects, in this instance most of the things in the system is an object including java objects cases, loaded, codification, categories and every object in the system is capable to garbage aggregation.
This memory direction leads to easy direction codification which is so hopefully smaller and more robust.
Different Application Models:
Most of the earlier characteristic of the Java Virtual Machine ( JVM ) describe above have common nonsubjective put in the Operating System the functionality that will do smaller and more efficient application. One great strength of Java that was lost in Java card and that we think must be reconsidered for following coevals smart card Operating System is to be application theoretical account independent. The Java Virtual Machine ( JVM ) does n’t clear up a peculiar application theoretical account, but gives all the nucleus characteristics that are necessary to construct assorted successful models such as applets, serves or RMI Objects.
The smart card plan and system interior decorators and developers have considerations that are really similar to the people working in the mass production embedded system devices market. How to debugging fast/safely the Operating System and the plans, how to construct rapidly a merchandise constellation, and how to worsen and Operating System in merchandise scope to leverage the investing. There is more, the smart card industry has his ain specialnesss like for case the demand for personalization of every issued card with the holder information.
The usage of Java is in itself the beginning of a solution for some of these jobs, because of the broad scope of merchandises freely or commercially available to assist interior decorators and developers. But the high safety exigency on smart card merchandises implies that maximal attempt must be made on any tools that would let the developers to run in an environment every bit near as possible to the existent device. Debuging the codification while it runs.
Product issue and other tools are aid in the production and personalise stage of the cards. The ROM intervenes at the production measure, to bring forth the codification to dissemble into the bit ‘s ROM. It is complemented by the memory serialize which is used to construct memory images saves in files. It will be sent to the card at low-level formatting and personalise clip to construct the right memory construction that will set the card in the right province. Such tools are normally hard to compose and to keep, but these undertakings can be greatly simplified utilizing the self-contemplation capablenesss provided by the incorporate object oriented memory direction introduce above.
Integrated Operating System:
A solution to minimise the cost of these tools is to construct an operating system that includes them from the beginning, in a configurable mode, and that can be declined from the same set of beginnings in different editions adapted to the targeted device. Such a configurable Operating System is illustrated in the undermentioned figure.
Developer edition of the Operating System would include any developer characteristics like an embedded debugging interface based on the JPDA criterion, a shell based console to administrate the Operating System load take categories, create togss. Such a complete edition would of class run on computing machine and on copycat merely non on existent cards. Another decline would be the station issue enabled edition that would be the high terminal embeddable version of the Operating System, targeted for high terminal cards with station issue installations with a stevedore linker. On the other infinity would be the minimum edition, targeted for low terminal cards, without any station issue capablenesss, that would hold a much smaller footmark.
In this assignment we have highlighted some characteristics of an embedded Java Operating System suited for following coevals smart cards considered as Java micro waiter platforms. Three of import Java Operating System characteristic have been explained category file format acquisition, multithreaded support and incorporate memory direction. Their execution has been shown executable and their use and advantages has been explained in the context of configurable card platform architecture. Thankss to tools such shell console, debugger, ROMizer and Serialzier, the migration way from a rich platform constellation up to a customized platform constellation has been explained.
The overall advantages of this embedded Java Operating System architecture is its adaptability for being used, on one manus as full fledge Java environment to rapidly develop and prove plans and on the another manus as an technology environment for mass production of optimized embedded codification hosted by limited devices. Though originally developed in the context smart cards, such architecture could be suited in any embedded system device in which the Java development platform can different from the concluding Java deployment platform.
[ 1 ] The Java Card Virtual Machine specification 2.1.1. Sun Microsystems
hypertext transfer protocol: //java.sun.com/products/javacard/
[ 2 ] Java 2 Micro Edition, Sun Microsystems
hypertext transfer protocol: //java.sun.com/j2me/
[ 3 ] Java Virtual Machine Specification,
Tim Lindholm, Frank Yellin. Sun Microsystems.
hypertext transfer protocol: //java.sun.com/docs/books/vmspec/index.html
[ 4 ] Java Language Specification,
James Gosling, Bill Joy, Guy Steele, Gilad Bracha. Sun Microsystems.
hypertext transfer protocol: //java.sun.com/docs/books/jls/index.html
[ 5 ] The JEFF File Format, J-Consortium
hypertext transfer protocol: //www.j-consortium.org/jeffwg/index.shtml
[ 5 ] J2ME Connected Limited Device Configuration
hypertext transfer protocol: //java.sun.com/products/cldc/
[ 6 ] Sim API for Java Card, ETSI TS 143 019 V5.2.0 ( 2002-03 )
hypertext transfer protocol: //www.etsi.org
[ 7 ] Concurrent Programming in Java. D. Lea. Sun Microsystems, 1999.
ISBN 0-201-31009-0, Addison-Wesley
[ 8 ] Java Platform Debugger Architecture, Sun Microsystems,
hypertext transfer protocol: //java.sun.com/j2se/1.3/docs/guide/jpda/index.html
Maestro of Science BITE
Innovative Technology 1