Download JavaFX Mobile OS (SavaJe OS)

Document related concepts
no text concepts found
Transcript
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 that’s enabled
today on 2 billion phones
Java FX Mobile is something that’s 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
It’s not integrated but it’s an application
that’s running on top of it.
JavaFX Mobile vs J2ME (4)


In Java FX Mobile, every API that the
developer sees when they’re 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 they’re 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 Sun’s JavaOne
2006
History (4)



2007, Sun Microsystems just bought the
rights to all of SavaJe’s intellectual
property including the rights to SavaJe’s
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 150200MH 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 Sun’s 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 homenetwork, 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)