Application Program Development Environment
Ideally, programs developed in a PC are ported into mobile
phones only with a recompile. However, it is not easy
because header files, library files, and system call APIs
are different from those in a PC even if the OS in mobile
phones is Linux. Providing program development environments
in which application programmers can develop
easy-to-port application programs on the PC is required.
Solution candidate: To provide the specific Linux, middleware,
libraries, and header files, the guest Linux is
implemented independent of the host Linux. UML(User
Mode Linux ‘, not Unified Modeling Language) is a candidate
to implemented the guest Linux [23]. UML is a
Linux kernel implementation in a user space and can provide
application program environments, independent of
the host Linux.
H. Kernel Development Environment
To develop Linux kernel optimized for a target product
efficiently, development support environments are required.
Requirements for the kernel development tools are summarized
real-time performance, monitoring process consumption
of memory and event logging.
IV. Requirements for Middleware
In this section, the term ‘middleware’ is used for a logical
software layer located between the kernel and application
software. The middleware can be implemented in
the protected memory space like the kernel or a server in
the user memory space.
Wide varieties of middleware should be required. The
middleware will be supplied from third party vendors or
open source software development communities.
Graphical mer interface, including window systems
Multimedia functions
Network communication protocol stacks
We need to implement some program management
mechanism to guarantee to catch a voice call as described
in Sec. 11. When a call comes to the phone, the management
mechanism interrupts the current application services
and notifies the user of incoming call by a ring tone,
vibrating the phone, or a graphical icon.
A. X window system and toolkit
X window system and toolkit occupy large amount
of RAM area. Requirements for X window system and
toolkit are summarized as follows.
‘http://pramfs.sourceforge.net
5http://user-mode-linux.sourceforge.netl
~
123
(1) Small size RAM consumption
(2) Double buffer extension to draw image data quickly
(3) Font sets with small size and quicker loaded time
Solution candidate:
(1) As small size X window system, kdrive‘ is a candidate
~41.
(2) As a toolkit, GTK’ is the most popular toolkit. The
size of GTK, however, is very large. So customizing
functionalities of GTK is required.
Note that standardization for customized toolkit
APIs will be required because to recruit third party
application software easily.
V. Fbture ’Itends in Mobile Phone Software
Various types of software are incorporated in mobile
phones in order to enable the provision of future new services.
Mobile phone in the future will offer not only basic
functions, but may also allow users to add applications of
their choice. In other words, the future trend is the “personal
computerization” of mobile phones. By incorporating
the Java execution environment, mobile phones now
allow to download applications after releasing the phones.
Another aspect of mobile phone evolution is the incorporation
of technologies for contents such as images, sound,
and moving pictures that are now broadly used in PCs.
From the viewpoint of content providers, this trend has
the merits to allow reuse of existing contents efficiently
and use of contents development environment in PCs.
However, even if the processing performance of mobile
phones continues to increase, the evolution of mobile
phones is likely to follow a course that differs from that
of PCs. Differences in hardware between mobile phones,
which have a smaller screen and very few keys, and PCs,
will always remain, no matter how much a mobile phone
evolves in terms of hardware. Mobile phone applications
must meet real-time and software reliability requirements
that are more severe than for personal PCs. As one of
these, mobile phones require the processing for the voice
communication within a limited time. To implement it,
CPU, memory and OS resource must be guaranteed to
be allocated in the specific duration. Furthermore, personal
information such as phone directories in a mobile
phone is handled more securely. In PCs, any application
can access a phone directory file, for example. Even if
a malicious application was executed in a mobile phone,
sending the data to the outside and alteration of the data
should not be allowed. Restrictions on access to information
from applications in mobile phones are most likely to
be maintained in the future.
6http://www.xfree.org/current/Xkdrive.l.ht~l
’http://www.gtk.org/
2A-1
VI. Conclusion
We describe requirements for mobile phone Linux and
solution candidate technologies to satisfy the requirements
based on the development experience.
Note that the technologies described in the paper are
not utilized in a native way. We need engineering efforts
to customize the technologies and tune up mobile phone
software based on the technologies to realize the actual
products.
Consumer Electronics Linux Forum * is established to
gather requirements of consumer electronics for Linux and
evolve implementation for the requirements. We will contribute
our effort in mobile phone Linux to the Forum.