Sie sind auf Seite 1von 58

JavaFX Mobile OS

(SavaJe OS)
JavaFX Mobile vs J2ME

Java FX is not a replacement for Java ME


in any way.

Java ME is something thats enabled


today on 2 billion phones

Java FX Mobile is something thats just


emerging

Java FX Mobile is made for a mobile


Internet computer
JavaFX Mobile vs J2ME (2)

Java FX Mobile is a complete Java


operating system.

Java FX Mobile is made for sort of the


mid-to-high range type phones (20%
slice)
JavaFX Mobile vs J2ME (3)

We write Java applications on top of that


VM that is running on the Java ME phone
= midlet-based environment

Its not integrated but its an application


thats running on top of it.
JavaFX Mobile vs J2ME (4)

In Java FX Mobile, every API that the


developer sees when theyre writing an
application is a Java API.

All of the native services that you would


normally have on the phone are Java
enabled
JavaFX Mobile vs J2ME (4)

In Java FX Mobile, every API that the


developer sees when theyre writing an
application is a Java API.

All of the native services that you would


normally have on the phone are Java
enabled
JavaFX Mobile vs J2ME (5)

Java FX Mobile offers set of frameworks


such as a graphics framework, a
telephone framework, a messaging
framework and a browser framework
JavaFX Mobile vs JavaFX Script

Java FX Script is a platform, a language


for developing rich media and graphically
intensive application

Sits on top of standard Java

Available both on the desktop and on


embedded devices
Motivation

Adapt Java to information appliances that


have limited resources in a small footprint.

Problem:
Information appliances do not have the
resources to run J2SE with anything
approaching acceptable performance
Motivation (2)
A Solution: J2ME

A range of subsets of Java that overcomes


the performance issue by restricting
functionality
Motivation (3)
Yet Another Problem

Emerging generation of smart wireless


and mobile devices require complete
application support and client functionality
that full Java provides
Motivation (4)
Root of the Problem

Java Virtual Machine


Associated portability layers, classes and
libraries normally run on top a native
operating system with its own portability
layers, APIs and libraries.
Motivation (5)
The Solution

SavaJe OS

First mobile platform built from the kernel


up for Java

Enables mobile operators to gain full


benefits of Java: cross-platform,
graphically rich and secure.
History

2000 SavaJe Technologies has raised


nearly $80 million to date from operators,
Vodafone, T-Mobile and Orange

Mission: to deliver mobile operating


system where applications could run at
native speed
History (2)

First showcased a prototype LG handset


in 2005

Lack of stability, poor battery life and


unattractive industrial design
History (3)

First SavaJe-powered handset, the


Jasper S20, developed by Group Sense
Ltd of HongKong

Released to developers at Suns JavaOne


2006
History (4)

2007, Sun Microsystems just bought the


rights to all of SavaJes intellectual
property including the rights to SavaJes
Java-based mobile OS.

Sun debuted its Java Phone which is


powered by SavaJe

Ports SavaJe code into a Linux kernel


Strengths

Java is popular

Having more Java API's mean more


capabilities than J2ME

The SavaJe code can be ported to a


Linux kernel and is expanding the
applications programming interfaces and
set of developer tools that will ship with
it.

Easy customization, theming


Weaknesses

Porting effort will be required for most


applications

Platform requires a minimum hardware of


ARM9-class processor clocked at 150-
200MH with 32MB ROM and 32MB RAM

Manufacturers and Service Providers

As of 2007, it has no licensees yet

SavaJe impressed a lot of geeks and won


precisely zero phone contracts
Tradeoffs

More Java API's, size increases

Market of J2ME and JavaFX


Uniqueness

Inherits unique qualities of Java

Java virtual machine

Bytecodes run through an interpreter on


a local host = portability
Opportunities

An OS which can run next-gen Linux GUI


and JavaFX applications side by side

Low-end JavaFx plus high-end Linux GTK


bindings for more powerful phones

Nokia = Symbian. Competitors like


Vodafone clearly wants to differentiate
themselves
The SavaJe OS
The primary goals of the OS are:

A small, efficient kernel

Portable applications

A rich graphical experience

Strong and flexible security

Full network support

Performance
The Core Platform
The Core Platform (2)

Applications that run on SavaJe OS can


be written using any one of the full range
of Java APIs

It does not support end user applications


written in other languages, there are
provisions to allow third-party native
modules written in C, C++ or assembler to
be integrated into the SavaJe OS.
Kernel

Provides memory management services,


resource locking, thread control and
scheduling and a device driver interface.

The virtual machine is closely integrated


with the kernel.

Kernel, VM and device drivers are


statically bound.
Kernel (2)

Developers may add native modules such


as media codecs or existing C libraries.

SavaJe OS contains an extensive subset


of ANSI C and POSIX APIs.

Java VM, FreeType font engine, Beatnik


Audio Engine, ZIP compression library
Kernel (3)

If source code is not available when


creating an OS image, its standard GNU
tool chain (compiler, linker, assembler,
etc) allows for binary code modules to be
added to OS without access to source
code.
Memory Management

It uses virtual addresses in a 4GB


address space.

Physical memory is divided into 4KB


pages, managed through a two-level
hierarchy.

Malloc()
Memory Management (2)

Monitors, locks and semaphores are


allocated using memory blocks of fixed
size

No heap size setting since all memory


that is not used by system is available to
Java programs
Real Time Response

SavaJe OS is not a hard real time system.

Designed for time critical tasks to the end


user but not catastrophic

Soft real time system


Real Time Response (2)

It is capable of sustained processing of


approximately 100,000 interrupts per
second.

Allows developers to create system


threads apart from Java apps in order to
perform sensitive operations
Virtual Machine

Developed from Suns VM

Has been optimized for size, speed and


low-memory environments

Garbage collection is mark and sweep.

Interpretative and does not use JIT


techniques
Threads

Implemented to directly support the Java


threads API and semantics

The underlying thread scheduler


implements a time-sliced preemptive,
fixed-priority, round-robin scheduler.

Highest priority ready thread always


executes.
Processes

SavaJe OS launches each application in


a distince process or JProc (Java
Process)
Processes (2)

It has own class loader

Its own security manager

Private view of class fields

Own view of Java system properties

Own Graphics context

System threads for system-level functions


Floating Point Support

Floating-point emulation library is


included.

An optimized library supporting the


intrinsic math functions is also provided.
Security

Java Language

Java Byte-Code Verification

Java Security Managers

Java Runtime

Java JAR Packaging

Java Security Architecture

Process Model

User Identity
Security (2)

Java language is a type safe language


that prevents accidental or intentional
access to arbitrary memory locations
Security (3)

Byte-code verification the system will


start each process with a security
manager installed which mandates a
program be given a policy file.

Applications should be run with security


manager and given the desired set of
permissions.
Security (4)

Java application execution model allows


for JAR files to be digitally signed.

Java Cryptography Architecture, Java


Cryptography Extension, Java Secure
Socket Extension
Graphics Subsystem

Close integration with Java 2 AWT, Swing


and Java2D

Information stored in many AWT objects is


directly manipulated by the core graphics
subsystem, rather than copied and/or
translated between unrelated software
layers
Graphics Subsystem (2)

Targets IA with varying screen sizes,


levels of color support, types of graphics
hardware and distinct input methods.
Multimedia

MIDP Multimedia Extensions

Java Media Framework

JPEG, GIF, PNG

WAV, AU, MP3, MIDI

MPEG4
File Systems

All file systems accessed via the standard


Java APIs

Dynamically mountable file systems

File system implementation in Java or C

Support for removable media

Support for network file systems


File Systems (2)

Can be dynamically mounted in a single


namespace using a simple standard
convention
File Systems (3)
Contains five distinct types of file systems

Recoverable read-write RAM file system

Read-only flash based file system

Microsoft-compliant FAT file system

Two network file systems SMB (Server


Message Block) and a simple Web server
based file system
File Systems (4)

All file systems are mounted at a root (/)

File can be universally accessed via a


single namespace (/cf0/foo/bar.html)

Appearance of a UNIX-style file system


with properties similar to Microsoft UNC
Connectivity

Ethernet

802.11 Wireless LAN

Packet Switched wireless networks

Bluetooth

IrDA

USB

Serial
Network Access

An IP network may consist of a home-


network, corporate intranet, the Internet or
a Peer-to-Peer connection.

Java APIs are used to access the network


Application Protocols

Make use of raw TCP or UDP sockets to


implement its own application level
protocols.

Addition application level protocols such


as HTTP, POP, SMTP can be utilized

Java APIs for RMI, CORBA, JNDI, JDBC


and JINI.
Personal Area Networking

PAN is useful for quick short-range


information transfer between two devices.
OS Upgrade

Capabilities to patch the OS from a


connected server

Enables OTA upgrades and patches

Complete OS replacement cam be


carried out through a high speed network
or using a memory card
Data Sheet
Data Sheet (2)
Data Sheet (3)
Data Sheet (4)
Data Sheet (5)

Das könnte Ihnen auch gefallen