mobile linux
TRANSCRIPT
-
7/27/2019 Mobile Linux
1/8
T o w a r d M o b i l e P h o n e L i n u x
Y u k i k a z u N a k a m o t o
N E C N e t w o r k D e v e l o p m e n t L a b o r a t o r i e s
4 0 3 5 , I k e b e - c h o , T s u z u k i - k u , Y o k o h a m a 2 2 4 - 8 5 5 5 , J a p a n
T E L : + 8 1 - 4 5 - 9 3 9 - 2 6 9 4 , F A X : + 8 1 - 4 5 - 9 3 9 - 2 6 6 9
e - m a i l : n a k a m o t o @ c t . j p . n e c . c o m
A b s t r a c t | R e c e n t l y m o b i l e p h o n e s p r o v i d e n o t o n l y v o i c e
s e r v i c e b u t i n t e r n e t a c c e s s , m u l t i - m e d i a m e s s a g e s e r v i c e s ,
g a m e s , l o c a l c o m m u n i c a t i o n c o n t r o l l e r s a n d s o o n . T h e r e f o r e ,
m o r e p r o d u c t i v e s o f t w a r e p l a t f o r m s a r e r e q u i r e d . W e h a v e d e -
v e l o p e d t h e n e x t g e n e r a t i o n s o f t w a r e p l a t f o r m b a s e d o n L i n u x
f o r m o b i l e p h o n e s . I n t h i s p a p e r , w e d e s c r i b e r e q u i r e m e n t s
f o r m o b i l e p h o n e L i n u x a n d s o l u t i o n c a n d i d a t e t e c h n o l o g i e s
t o s a t i s f y t h e r e q u i r e m e n t s b a s e d o n t h e d e v e l o p m e n t e x p e r i -
e n c e .
I . I n t r o d u c t i o n
M o b i l e p h o n e s h a v e p r o v i d e d i n c r e a s i n g l y s o p h i s t i c a t e d
f u n c t i o n s i n r e c e n t y e a r s . F i r s t , m o b i l e p h o n e s h a v e r i c h
p e r i p h e r a l s t o g i v e u s e r s n o v e l s e r v i c e s . T h e p e r i p h e r a l s
a r e d i s p l a y d e v i c e s , c a m e r a s , G P S a n d l o c a l c o m m u n i c a -
t i o n t o e x t e r n a l d e v i c e s . B l u e t o o t h , U S B , w i r e l e s s L A N ,
m e m o r y c a r d s a n d I C c a r d s a r e i n c l u d e d i n t h e l o c a l c o m -
m u n i c a t i o n .
I n a d d i t i o n t o t h e r i c h p e r i p h e r a l s , s o f t w a r e f u n c t i o n s
i n t h e m o b i l e p h o n e s i n c r e a s e r a p i d l y . T h e f o l l o w i n g a r e
e x a m p l e s o f t h e c u r r e n t a n d f u t u r e s o f t w a r e s e r v i c e f u n c -
t i o n a l i t i e s o f m o b i l e p h o n e s .
I n t e r n e t A c c e s s : b r o w s e r s f o r C o m p a c t o r F u l l H T M L ,
W A P ( W M L 1 . x a n d X H T M L )
M e s s a g i n g : e - m a i l , s h o r t m e s s a g e s e r v i c e , e n h a n c e d m e s -
s a g e s e r v i c e , m u l t i m e d i a m e s s a g e s e r v i c e
M u l t i m e d i a : d i s p l a y o f s t i l l i m a g e l e s , p l a y b a c k o f a n i -
m a t i o n ( i n c l u d i n g 2 D a n d 3 D ) , m o v i e a n d a u d i o l e s
A p p l i c a t i o n s : p e r s o n a l i n f o r m a t i o n m a n a g e m e n t , g a m e s ,
e l e c t r o n i c c o m m e r c e , n o v e l a p p l i c a t i o n s t o u t i l i z e t h e
r i c h p e r i p h e r a l s
P r o g r a m E x e c u t i o n E n g i n e s : J a v a r u n t i m e e n v i r o n m e n t ,
W M L S c r i p t , E C M A S c r i p t
T h e a b o v e f u n c t i o n a l i t i e s h a v e b e c o m e s i m i l a r t o t h o s e
o f t h e P C . A s a r e s u l t , a m o r e s o p h i s t i c a t e d O S i s r e -
q u i r e d a n d o n e o f t h o s e i s L i n u x . H o w e v e r , L i n u x h a s
s h o r t c o m i n g s i n a p p l i c a t i o n t o m o b i l e p h o n e s .
I n t h i s p a p e r , w e p r e s e n t r e q u i r e m e n t s a n d s o l u t i o n c a n -
d i d a t e s i n a p p l y i n g L i n u x t o m o b i l e p h o n e s . S e c . I I m e n -
t i o n s t h e b a c k g r o u n d o f r e q u i r e m e n t s . W e d e s c r i b e t h e
r e q u i r e m e n t s f o r L i n u x k e r n e l a n d s o l u t i o n c a n d i d a t e s i n
1
2
3
4
5
6
voice
phone
browser
phone
Java
-enabled
phone
W-CDMA
phone
relative
software size
time
1996/9 1999/2 2001/1 2001/5
CPU Speed 4MHz 8MHz 16MHz 60~120MHz
Memory Size 0.5MB 8~16MB 24MB~
F i g . 1 . E v o l u t i o n o f h a r d w a r e / s o f t w a r e i n m o b i l e p h o n e s
S e c . I I I a s w e l l a s t h o s e f o r m i d d l e w a r e f o r m o b i l e p h o n e s
i n S e c . I V . T h e f u t u r e t r e n d s i n m o b i l e p h o n e s o f t w a r e
a r e b r i e f e d i n S e c . V a n d c o n c l u s i o n i s m e n t i o n e d i n S e c .
V I .
I I . B a c k g r o u n d s
F i g . 1 s h o w s a n i n c r e a s i n g r a t i o o f s o f t w a r e d e v e l o p -
m e n t s i z e i n m o b i l e p h o n e s . T h e s i z e o f m o b i l e p h o n e
s o f t w a r e h a s b e e n e x p a n d i n g a c c o r d i n g l y , c u r r e n t l y e x -
c e e d i n g 1 m i l l i o n s t e p s . S o f t w a r e a r c h i t e c t u r e i n c u r r e n t
m o b i l e p h o n e s i s s h o w n i n F i g . 2 t o i m p l e m e n t f u n c -
t i o n s d e s c r i b e d i n S e c . I . R e q u i r e m e n t s o f t h e m u l t i -
f u n c t i o n a l i t i e s a n d t h e q u a l i t y o f m o b i l e p h o n e s l e a d t o
c o m p l e x i t y o f s o f t w a r e s t r u c t u r e i n m o b i l e p h o n e s .
C u r r e n t m o b i l e p h o n e s u t i l i z e a r e a l - t i m e O S f o r e m -
b e d d e d s y s t e m s . D r i v e r s f o r p e r i p h e r a l d e v i c e s i n t h e
p h o n e s , c o m m u n i c a t i o n s o f t w a r e , l i b r a r i e s s h a r e d b e t w e e n
a p p l i c a t i o n s , a n d a p p l i c a t i o n s o f t w a r e a r e p l a c e d o n t o p o f
t h a t r e a l - t i m e O S . I n r e c e n t y e a r s , v a r i o u s i n n o v a t i o n s f o r
m o r e e c i e n t s o f t w a r e d e v e l o p m e n t h a v e b e e n a c h i e v e d
i n t h e m o b i l e p h o n e s , s u c h a s t h e i n t r o d u c t i o n o f w i n d o w
s y s t e m s s i m i l a r t o t h o s e o f P C s 1 ] . H o w e v e r , t h e r e a r e
s e v e r a l s h o r t c o m i n g s i n t h e r e a l - t i m e O S f o r d e v e l o p i n g
l a r g e - s c a l e s o f t w a r e i n m o b i l e p h o n e s a s f o l l o w s .
P r o c e s s o r s a n d O S t h a t d o n o t s u p p o r t v i r t u a l m e m -
2004 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for
advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to
reuse any copyrighted component of this work in other works must be obtained from the IEEE.117
-
7/27/2019 Mobile Linux
2/8
Linux Kernel
Telephony
Device Driver
Multimedia
Device Driver
System
Device Driver
IPL
3G Tele
Interface
2.5G Tele
Interface
Telephony
Apps
Internet
Apps
Multimedia
Apps
Data
Processing
Apps
System
AppsDevelopment
Tools
Mobile Phone
Simulator
GUI Build
Tool
C Debugger
Telephony API Mult-
imedia
API
Data
Processing
API
Common
API
(X Window
GTK+, glibc)
Application
Programs
Middle
-ware
Kernel
Device
Drivers
F i g . 2 . S o f t w a r e a r c h i t e c t u r e i n m o b i l e p h o n e s
o r y a n d m e m o r y p r o t e c t i o n m e c h a n i s m a r e f r e q u e n t l y
u s e d f o r m o b i l e p h o n e s . I t c a u s e s v a r i o u s d i c u l t i e s
i n t h e d e v e l o p m e n t s t a g e , s u c h a s d e t e c t i o n o f i l l e -
g a l a c c e s s t o m e m o r y a r e a s , f o r w h i c h a c c e s s i s n o t
p e r m i t t e d .
T h e a v a i l a b l e s o f t w a r e d e v e l o p m e n t e n v i r o n m e n t s a r e
l i m i t e d . A p p l i c a t i o n s o f t w a r e t o b e d i s t r i b u t e d i n t h e
m a r k e t i s a l s o m o r e l i m i t e d t h a n i n t h e P C s o f t w a r e
e l d . A s t h e s i z e a n d t h e n u m b e r o f m o b i l e p h o n e
s o f t w a r e k e e p s o n e x p a n d i n g , i t h a s b e c o m e n e c e s -
s a r y t o i n t r o d u c e a n e w s o f t w a r e p l a t f o r m t h a t a l l o w s
e c i e n t d e v e l o p m e n t a n d f o r w h i c h i t i s e a s y t o e m -
p l o y e n g i n e e r s a n d a c q u i r e t h e s o f t w a r e d e v e l o p m e n t
e n v i r o n m e n t s a n d a p p l i c a t i o n s o f t w a r e .
I n r e c e n t y e a r s , s o p h i s t i c a t e d O S s s u c h a s L i n u x f o r P C s
a n d S y m b i a n O S
1
f o r m o b i l e e q u i p m e n t s u c h a s P D A s
c a n b e u t i l i z e d . A l a r g e n u m b e r o f s o f t w a r e d e v e l o p -
m e n t e n v i r o n m e n t s a r e a l s o a v a i l a b l e f o r t h e s e s o p h i s t i -
c a t e d O S , a n d n u m e r o u s t y p e s o f a p p l i c a t i o n s o f t w a r e a r e
d i s t r i b u t e d i n t h e m a r k e t . A l a r g e n u m b e r o f s o f t w a r e d e -
v e l o p m e n t e n g i n e e r s a l s o e x i s t . T h e s e s o p h i s t i c a t e d O S s
a r e a l s o a t t r a c t i v e f o r m o b i l e p h o n e s i n m a n y r e s p e c t s a n d
t h e y a r e p r o m i s i n g c a n d i d a t e s a s f u t u r e O S s f o r m o b i l e
p h o n e s . I n a s o p h i s t i c a t e d O S s t h a t p r o v i d e s t h e v i r t u a l
m e m o r y s p a c e s a n d t h e m e m o r y p r o t e c t i o n m e c h a n i s m ,
a p p l i c a t i o n p r o g r a m s a r e p r o t e c t e d . T h i s w i l l i m p r o v e
d e v e l o p m e n t e c i e n c y , f o r e x a m p l e s b y f a c i l i t a t i n g d e t e c -
t i o n o f i l l e g a l m e m o r y a c c e s s d u r i n g t h e s o f t w a r e d e v e l -
o p m e n t .
T h e m o b i l e p h o n e s h a v e , h o w e v e r , t h e f o l l o w i n g m i n i -
m u m r e q u i r e m e n t s f o r t h e q u a l i t y a n d t h e r e l i a b i l i t y a s a
p h o n e w h i c h d i s t i n g u i s h t h e m f r o m t h e P C .
1 . C P U p o w e r i n m o b i l e p h o n e s i s m u c h l o w e r t h a n i n
P C s ( F i g . 1 ) . C P U f r e q u e n c y o f t h e c u r r e n t m o b i l e
p h o n e s i s b e t w e e n 5 0 M H z a n d 1 0 0 M H z w h i l e a P C
f r e q u e n c y i s 2 3 G H z . M e m o r y s i z e i n m o b i l e
p h o n e s i s a l s o s m a l l e r t h a n i n P C s . M e m o r y s i z e
o f t h e c u r r e n t m o b i l e p h o n e s i s b e t w e e n 1 6 M B a n d
3 2 M B w h i l e t h a t o f P C s i s 2 5 6 5 1 2 G B . M o b i l e
p h o n e s d o n o t h a v e h a r d d i s k s r i g h t n o w .
2 . M o b i l e p h o n e s a r e d r i v e n b y s e c o n d a r y b a t t e r i e s , n o t
w i r e d p o w e r s u p p l y . T h u s p o w e r c o n s u m p t i o n i n m o -
b i l e p h o n e s i s o f m u c h c o n c e r n .
1
h t t p : / / w w w . s y m b i a n . c o m /
DC/DC 25%
Video Display
40%
Wireless
15%
LCD 6%
Misc I/O 5%
Processor 4%
Custom I/O
Peripherals 1%
Misc Support 1%
(a) with color video diplay
DC/DC 42%
Wireless
30%
LCD 10%
Misc I/O 9%
Processor
6%
Custom I/O
Peripherals 2%
Misc Support 1%
(b) without color video diplay
F i g . 3 . P o w e r c o n s u m p t i o n i n a w i r e l e s s c o m m u n i c a t i o n P D A 7 ]
3 . I n t e r m s o f r e l i a b i l i t y , a m o b i l e p h o n e s h o u l d b e a b l e
t o c a t c h a c a l l a n y t i m e . T h e r e f o r e t h e p h o n e s h o u l d
n o t i f y a u s e r t o r e c e i v e a c a l l e v e n w h e n t h e u s e r p l a y s
a g a m e o r u s e s a b r o w s e r t o a c c e s s t h e I n t e r n e t . A
v o i c e c o m m u n i c a t i o n i n a p h o n e s h o u l d n o t b r e a k .
T h e s e r e q u i r e m e n t s c o m e f r o m m o b i l e p h o n e s b e i n g
a n e x t e n s i o n o f w i r e d - p h o n e .
4 . U s e r s o f a m o b i l e p h o n e a r e g e n e r a l l y i n e x p e r t i n
c o m p u t e r t e c h n o l o g i e s . O n t h e o t h e r h a n d , m o s t P C
u s e r s a r e c o n s i d e r e d t o b e m o r e s k i l l f u l i n u s a g e o f
c o m p u t e r s .
I I I . R e q u i r e m e n t s f o r L i n u x K e r n e l a n d S o l u t i o n s
O n e o f t h e s o p h i s t i c a t e d O S s i s c o n s i d e r e d t o b e L i n u x .
H o w e v e r , t h e r e a r e w e a k n e s s e s i n t h e L i n u x k e r n e l w h e n
t h e k e r n e l i s u t i l i z e d f o r t h e m o b i l e p h o n e s a s f o l l o w s .
A . P o w e r C o n s u m p t i o n
I n P C s , s t a t i c p o w e r m a n a g e m e n t h a s b e e n r e a l i z e d
s u c h a s s u s p e n d / r e s u m e m e c h a n i s m , w h i c h i s i m p l e -
m e n t e d b y A C P I ( A d v a n c e d C o n g u r a t i o n a n d P o w e r
I n t e r f a c e ) 2 ] . O n l y t h e s t a t i c p o w e r m a n a g e m e n t i s n o t
e e c t i v e f o r m o b i l e p h o n e u s a g e f o r t w o r e a s o n s . F i r s t ,
m o b i l e p h o n e s a r e d r i v e n b y s e c o n d a r y b a t t e r i e s , n o t a
w i r e d p o w e r s u p p l y . M o r e e c i e n t p o w e r u s a g e i s r e q u i r e d
t o i n c r e a s e u t i l i z a t i o n t i m e o f t h e m o b i l e p h o n e s . S e c o n d ,
o v e r h e a d o f t h e s t a t i c p o w e r m a n a g e m e n t i s v e r y l a r g e a n d
t h e l a t e n c y i n t h e a c t i v a t i o n a n d d e - a c t i v a t i o n o f t h e s y s -
t e m i s s i g n i c a n t . M o r e o v e r , m o b i l e p h o n e s h a v e n o s p a c e
t o s t o r e s u s p e n d e d m e m o r y i m a g e b e c a u s e o f h a v i n g n o
d i s k i n t h e p h o n e s . T h e d y n a m i c p o w e r m a n a g e m e n t i n
w h i c h t h e s y s t e m p o w e r i s m a n a g e d w h i l e p r o g r a m s i n
t h e s y s t e m a r e r u n n i n g i s a s o l u t i o n c a n d i d a t e t o o v e r -
c o m e t h e d r a w b a c k s 3 ] .
M o s t p o w e r m a n a g e m e n t r e s e a r c h e o r t s h a v e b e e n
m a i n l y d o n e o n t h e C P U ( e . g . 4 , 5 , 6 ] ) . H o w e v e r , t h e
o t h e r c o m p o n e n t s b e s i d e C P U a l s o c o n s u m e p o w e r i n m o -
b i l e p h o n e s a n d p o r t a b l e d e v i c e s . F i g . 3 s h o w s t h e p o w e r
c o n s u m p t i o n r a t i o o f c o m p o n e n t s i n w i r e l e s s c o m m u n i -
c a t i o n p o r t a b l e d e v i c e s , a s a n e x a m p l e 7 ] . T h i s g u r e
i n d i c a t e s t h a t t h e s y s t e m - l e v e l p o w e r m a n a g e m e n t i s r e -
q u i r e d , i n w h i c h t h e C P U a n d t h e o t h e r c o m p o n e n t s a r e
c o n t r o l l e d .
118
-
7/27/2019 Mobile Linux
3/8
I n d y n a m i c p o w e r m a n a g e m e n t , n o t o n l y t h e p o w e r
c o n s u m p t i o n o f t h e C P U , b u t t h a t o f t h e o t h e r c o m p o -
n e n t s i n t h e s y s t e m i s c o n t r o l l e d . T o s h o w e e c t i v e n e s s
o f t h e d y n a m i c p o w e r m a n a g e m e n t , w e s u m m a r i z e t h e
p o w e r c o n s u m p t i o n m o d e l o f C P U a n d p e r i p h e r a l s b a s e d
o n 8 ] .
C P U : W h e n t h e C P U o p e r a t e s a t a c l o c k f r e q u e n c y f , t h e
p o w e r c o n s u m p t i o n P
d
o f t h e C P U i s g i v e n b y P
d
=
c
s w
V
2
d
f , w h e r e c
s w
i s t h e s w i t c h c a p a c i t a n c e a n d
V
d
i s t h e v o l t a g e s u p p l y . T h e r e l a t i o n s h i p b e t w e e n
t h e c l o c k f r e q u e n c y a n d t h e s u p p l y v o l t a g e i s g i v e n :
f = k
( V
d
; V
t
)
2
V
d
, w h e r e k i s a c o n s t a n t a n d V
t
i s t h e
t h r e s h o l d v o l t a g e . A s a r e s u l t , w e c a n a p p r o x i m a t e
t h e r e l a t i o n s h i p : f = a V
d d
, w h e r e a i s a c o n s t a n t .
T h u s w e o b t a i n t h e r e l a t i o n s h i p b e t w e e n t h e p o w e r
c o n s u m p t i o n a n d t h e f r e q u e n c y :
P
d
= C
1
f
3
w h e r e C
1
=
c
s w
a
.
M a i n M e m o r y : M a i n m e m o r y i s o p e r a t e d o n a t a x e d
v o l t a g e a n d i t s p o w e r c o n s u m p t i o n i s p r o p o r t i o n a l t o
t h e f r e q u e n c y . T h e p o w e r c o n s u m p t i o n m o d e l o f t h e
m a i n m e m o r y i s g i v e n :
P
d
= C
3
f
w h e r e C
2
i s a c o n s t a n t .
D i s p l a y d e v i c e s a n d s p e a k e r s : T h e s e c o m p o n e n t s c o n -
s u m e a c o n s t a n t p o w e r f r o m t h e v i e w p o i n t o f t h e f r e -
q u e n c y . W e c a n s h o w t h e p o w e r c o n s u m p t i o n m o d e l :
P
d
= C
4
w h e r e C
3
i s a c o n s t a n t .
O t h e r s : T o r e p r e s e n t t h e v a r i a t i o n s o f D C - D C r e g u l a t o r
e c i e n c y a c r o s s t h e r a n g e o f o u t p u t p o w e r , C M O S
l e a k a g e c u r r e n t s , o t h e r s e c o n d o r d e r e e c t , w e n e e d
a t e r m :
P
d
= C
2
f
2
w h e r e C
4
i s a c o n s t a n t .
W e c a n r e p r e s e n t s y s t e m - w i d e p o w e r c o n s u m p t i o n a s
f o l l o w s .
P
d
= C
1
f
3
+ C
2
f
2
+ C
3
f + C
4
T h i s e q u a t i o n i n d i c a t e s t h a t s c a l i n g f r e q u e n c i e s w i t h v o l t -
a g e c h a n g e s i s v e r y e e c t i v e f o r s y s t e m - l e v e l p o w e r s a v i n g .
R e c e n t C P U s h a v e t h e v o l t a g e a n d f r e q u e n c y s c a l i n g
c a p a b i l i t y f o r l o w p o w e r c o n s u m p t i o n w h i c h i s c o n t r o l l e d
b y p r o g r a m s . O t h e r p e r i p h e r a l s c a n b e a l s o c o n t r o l l e d b y
t h e s i m i l a r c a p a b i l i t y . F o r e x a m p l e , f r e q u e n c i e s p r o v i d e d
t o S C I , t i m e r , M M U e t c a r e s e t t o o n / o a n d c o n t r o l l e d
b y p r o g r a m s i n S H 3 9 ] .
D y n a m i c p o w e r m a n a g e m e n t i s p e r f o r m e d b y a p p l i c a -
t i o n p r o g r a m s w h i l e t h e s t a t i c p o w e r m a n a g e m e n t i s d o n e
b y B I O S . A n e x a m p l e o f a p p l i c a t i o n p r o g r a m c o n t r o l i s a
idle video decoder
processingoperating
states
CPU:active
bus:low
voltage:low
LCD:off
CPU:active
bus:high
voltage:high
LCD:on
CPU:active
bus:high
voltage:high
LCD:on
operating
points
CPU:halt
bus:0
voltage:0
LCD:off
CPU:active
bus:medium
voltage:medium
LCD:on
CPU:active
bus:low
voltage:low
LCD:off
full battery
policy
low battery
policy
interrupt waiting
F i g . 4 . A n e x a m p l e o f o p e r a t i n g s t a t e s , o p e r a t i n g p o i n t s , a n d a
p o l i c y
v i d e o d e c o d e r p r o g r a m . T h e p r o g r a m e x e c u t e s t h e h i g h -
e s t f r e q u e n c y a t s o m e p e r i o d a t w h i c h v i d e o f r a m e a r r i v e s
a n d m u s t b e d e c o d e d . T h e p r o g r a m i s i n i d l e s t a t e e x c e p t
a t t h e e x e c u t i o n t i m e s .
S e t t i n g f r e q u e n c i e s o f t h e C P U a n d p e r i p h e r a l c o m p o -
n e n t s t o s o m e v a l u e s m e a n s t h a t t h e C P U a n d t h e p e r i p h -
e r a l c o m p o n e n t s a r e i n t h e c o r r e s p o n d i n g s t a t e s . W h e n
t h e f r e q u e n c i e s o f t h e C P U a n d t h e c o m p o n e n t s d y n a m -
i c a l l y c h a n g e , t h e s t a t e s a l s o c h a n g e . F o r t h e d y n a m i c
p o w e r m a n a g e m e n t , p r o g r a m s , w h i c h a r e O S o r d e v i c e
d r i v e r s , c o n t r o l t h e s t a t e s o f t h e C P U a n d t h e p e r i p h e r a l
c o m p o n e n t s , T o i m p l e m e n t t h e d y n a m i c p o w e r m a n a g e -
m e n t e e c t i v e l y , w e n e e d a f r a m e w o r k i n w h i c h t h e p r o -
g r a m c h a n g e s t h e s t a t e s , t h a t i s , t h e f r e q u e n c i e s o f t h e
C P U a n d t h e p e r i p h e r a l c o m p o n e n t s .
S o l u t i o n c a n d i d a t e s : T h e d y n a m i c p o w e r m a n a g e m e n t
( D P M ) a r c h i t e c t u r e p r o p o s e d b y I B M a n d M o n t a v i s t a i s
o n e s o l u t i o n f o r t h e a b o v e r e q u i r e m e n t 1 0 ] . T h e D P M
a r c h i t e c t u r e c o n s i s t s o f p o l i c i e s i n t h e k e r n e l a n d a p o l -
i c y m a n a g e r i n t h e u s e r o r k e r n e l s p a c e . I n t h e D P M ,
a s y s t e m i s m o d e l e d a s o p e r a t i n g p o i n t s a n d o p e r a t i n g
s t a t e s . A s y s t e m c a n b e r e g a r d e d a s b e i n g e x e c u t e d a t
m u l t i p l e o p e r a t i n g p o i n t r e p r e s e n t e d b y p a r a m e t e r s s u c h
a s v o l t a g e s , b u s f r e q u e n c i e s , t h e s t a t e s o f p e r i p h e r a l d e -
v i c e s . A n o p e r a t i n g s t a t e i s a p r o g r a m e x e c u t i o n s t a t e i n
t h e s y s t e m s u c h a s a n i n t e r r u p t o c c u r r e n c e , a p p l i c a t i o n
p r o g r a m e x e c u t i o n , w a i t i n g f o r e v e n t o c c u r r e n c e a n d s o
o n . A p o l i c y m a p s e a c h s t a t e t o t h e c o r r e s p o n d i n g s e t o f
o p e r a t i n g p o i n t s . A p o l i c y m a n a g e r c o o r d i n a t e s t h e d i f -
f e r e n t t y p e o f p o l i c i e s , d e p e n d i n g o n a p p l i c a t i o n p r o g r a m
s t a t u s , u s e r p r e f e r e n c e s , p e r i p h e r a l d e v i c e s t a t u s , a n d s o
o n . F i g . 4 s h o w a n e x a m p l e o f o p e r a t i n g s t a t e s , o p e r a t i n g
p o i n t s , a n d p o l i c i e s . I n t h e g u r e , t w o p o l i c i e s , w h i c h a r e
a p p l i c a b l e d e p e n d i n g b a t t e r y c o n d i t i o n a n d m a n a g e d b y
t h e p o l i c y m a n a g e r , c o n t a i n s t h r e e o p e r a t i n g p o i n t s e a c h .
T h e o p e r a t i n g p o i n t s s h o w s t a t e s o f C P U a n d p e r i p h e r -
a l s i n a p r o g r a m e x e c u t i o n . F o r e x a m p l e , t h e r i g h t m o s t
o p e r a t i n g p o i n t i n t h e f u l l b a t t e r y p o l i c y s h o w s t h e p r o -
g r a m i s e x e c u t e d i n a s t a t e , w h i c h i s c o n t r o l l e d w i t h h i g h
C P U a n d B U S f r e q u e n c y , a n d L C D o n . T h u s , t h e D P M
p r o v i d e s a e x i b l e f r a m e w o r k f o r s y s t e m - w i d e p o w e r m a n -
a g e m e n t .
119
-
7/27/2019 Mobile Linux
4/8
I n a d d i t i o n t o d y n a m i c p o w e r m a n a g e m e n t , t h e f o l l o w -
i n g a r e r e q u i r e d .
( 1 ) D i e r e n t t y p e o f m e m o r y , f o r e x a m p l e S R A M a n d
D R A M , r e q u i r e d i e r e n t p o w e r c o n s u m p t i o n . I f t h e
c u r r e n t i s n o t p r o v i d e d t o u n u s e d m e m o r i e s , l e s s
p o w e r c o n s u m p t i o n i s a c h i e v e d . S o c o d e a n d d a t a
b l o c k s i n a p p l i c a t i o n s a n d t h e k e r n e l s h o u l d b e a l l o -
c a t e d t o s p e c i e d m e m o r y .
( 2 ) C l o c k r a t e s h o u l d b e m i n i m a l a t i d l e t i m e .
( 3 ) K e r n e l t h r e a d s a r e s u s p e n d e d i n p o w e r s a v e m o d e .
B . M e m o r y F o o t p r i n t
U s u a l l y t h e L i n u x k e r n e l i s s t o r e d i n a c o m p r e s s e d f o r m
t h e R O M a r e a o r l e s y s t e m s i n d i s k s ( i f a n y ) , b o o t e d
f r o m t h e a r e a , a n d i t s m e m o r y i m a g e s a r e e x p a n d e d i n
t h e R A M a r e a o f s y s t e m a n d e x e c u t e d i n s t r u c t i o n s i n i t .
R A M i s o n e o f t h e c o s t f a c t o r s i n m o b i l e p h o n e a n d r e -
d u c i n g t h e s i z e o f R A M i s a l w a y s r e q u i r e d .
A s w e h a v e s h o w n i n F i g . 1 , t h e m e m o r y s i z e o f c u r r e n t
m o b i l e p h o n e s i s u p t o 6 4 M B .
S o l u t i o n c a n d i d a t e s : A n e x e c u t e - i n - p l a c e m e c h a n i s m i s
a c a n d i d a t e t o s o l v e t h e p r o b l e m 1 1 ] . T o a v o i d l a r g e
R A M u s a g e , c o d e s i n L i n u x k e r n e l , a p p l i c a t i o n s a n d l i -
b r a r i e s s h o u l d b e d i r e c t l y e x e c u t e d i n i t s R O M a r e a w i t h -
o u t c o p y i n g a n d d e c o m p r e s s i n g t h e k e r n e l i n t o t h e R A M
a r e a . A p p l i c a t i o n p r o g r a m s a n d l i b r a r i e s i n L i n u x a l s o
a r e e x e c u t e d i n t h e i r R O M a r e a . H o w e v e r , t h e e x e c u t e - i n -
p l a c e m e c h a n i s m i n c r e a s e s R O M a r e a w h i l e s a v i n g R A M
a r e a . M o r e o v e r a c c e s s s p e e d i n R O M a r e a i s s l o w e r t h a n
t h e s p e e d i n R A M a r e a . N o t e t h a t t h e s e t r a d e o s e x i s t
i n t h e e x e c u t e - i n - p l a c e m e c h a n i s m .
T o r e d u c e t h e m e m o r y s i z e , w e n e e d t h e r e d u c t i o n i n
s y s t e m - w i d e a p p r o a c h e s . T h i s m e a n s t h a t m e m o r y r e d u c -
t i o n e o r t s a r e a p p l i e d t o n o t o n l y t h e k e r n e l , b u t m i d d l e -
w a r e , a n d a p p l i c a t i o n s . T h e m i d d l e w a r e i s s u e s , e s p e c i a l l y
w i n d o w s y s t e m , a r e d e s c r i b e d l a t e r .
I n a d d i t i o n t o t h e a b o v e s o l u t i o n s , t h e f o l l o w i n g h e u r i s -
t i c s t e c h n i q u e s c a n b e a p p l i e d .
( 1 ) T h e L i n u x k e r n e l a n d l i b r a r i e s s h o u l d b e c u s t o m i z e d
c o n g u r e d .
( 2 ) M e m o r y a l i g n m e n t u s e d i n v a r i o u s k e r n e l c o n g u r a -
t i o n c o u l d b e c h a n g e d .
u C L i n u x , w h i c h i s s u i t a b l e f o r e m b e d d e d s y s t e m s a n d
m e r g e d i n t o L i n u x 2 . 6 , i s n o t a p p r o p r i a t e f o r m o b i l e
p h o n e s b e c a u s e u C L i n u x d o e s n o t h a v e M M U f e a t u r e s
w h i c h a r e n e e d e d f o r i n c r e a s i n g m o b i l e a p p l i c a t i o n p r o -
d u c t i v i t y .
C . S h o r t e n i n g B o o t - u p T i m e
B o o t - u p t i m e i n a L u n i x s y s t e m o f a P C i n c l u d e s c o p y -
i n g o f t h e c o m p r e s s e d k e r n e l l e o n a d i s k , a n d u n c o m -
p r e s s i n g t h e c o p y , s t a r t i n g u p d a e m o n s ( b a c k g r o u n d p r o -
c e s s e s ) , s t a r t i n g u p m i d d l e w a r e ( i n c l u d i n g w i n d o w s y s t e m ,
interrupt
kernel
proc1
interrupt handler(1)
scheduler
proc2(3)
interrupt inhibited
time
interrupt response
time
system call begins
interrupt execution part(2)
system call finishesuser
F i g . 5 . I n t e r r u p t p r o c e s s i n g i n t r a d i t i o n a l U N I X
interrupt
kernel
proc1
interrupt handler
(top half)
scheduler
proc2
interrupt inhibited
time
interrupt responsetime
system call begins
interrupt execution part
(bottom half)
preemption pointuser
F i g . 6 . I n t e r r u p t p r o c e s s i n g i n r e a l - t i m e - e n h a n c e d L I N U X
n e t w o r k s y s t e m a n d s o o n ) , s t a r t i n g u p a p p l i c a t i o n p r o -
g r a m s . D u r i n g t h e b o o t - u p t i m e , L i n u x i n a P C t a k e s
s e v e r a l m i n u t e s t o s e t u p d e v i c e d r i v e r s a n d c h e c k c o n s i s -
t e n c y o f l e s y s t e m s .
C u r r e n t l y , m o b i l e p h o n e s s h o u l d b e b o o t e d u p w i t h i n
t e n s o f s e c o n d s .
S o l u t i o n c a n d i d a t e : T h e s a m e s o l u t i o n s f o r s h o r t e n i n g
t h e b o o t - u p t i m e s a s i n t h e m e m o r y f o o t p r i n t a r e a l s o
a p p l i c a b l e . D e f e r r e d i n i t i a l i z a t i o n o f d e v i c e d r i v e r s i s a l s o
e e c t i v e i f i t i s p o s s i b l e .
D . R e a l - t i m e P e r f o r m a n c e
A l o n g p r e e m p t i v e i n h a b i t a t i o n i n o r d i n a l L i n u x d e -
g r a d e s r e a l - t i m e r e s p o n s e t i m e . A n i n t e r r u p t l a t e n c y i s
a l l o w e d t o b e b e t w e e n s e v e r a l t e n s o f m s e c s i n P C s a n d
s e r v e r s . O n t h e o t h e r h a n d s , i n m o b i l e p h o n e s , a n i n t e r -
r u p t l a t e n c y i s r e q u i r e d t o b e b e t w e e n s e v e r a l s e c s a n d
s e v e r a l h u n d r e d s o f s e c s .
S o l u t i o n c a n d i d a t e : A n e x t e r n a l i n t e r r u p t a r r i v e s a t
C P U a n d t h e c o r r e s p o n d i n g d e v i c e d r i v e r s a n d p r o c e s s
p r e e m p t i o n o c c u r s .
U n t i l t h e p r o c e s s p r e e m p t i o n , t h e f o l l o w i n g s t e p s a r e
r e q u i r e d 1 2 ] .
( 1 ) A n i n t e r r u p t h a n d l e r i s e x e c u t e d i n r e s p o n s e a n e x -
t e r n a l i n t e r r u p t i n t h e k e r n e l .
120
-
7/27/2019 Mobile Linux
5/8
( 2 ) A n i n t e r r u p t e x e c u t i o n p a r t i n t h e c o r r e s p o n d i n g d e -
v i c e d r i v e r i s e x e c u t e d i n t h e k e r n e l . T h e p a r t s e n d s
d a t a , w h i c h a r r i v e s w h e n t h e i n t e r r u p t o c c u r s , t o t h e
c o r r e s p o n d i n g u s e r p r o c e s s .
( 3 ) T h e p r o c e s s i s p r e e m p t e d a n d p r o c e s s e s t h e r e c e i v i n g
d a t a .
I n L i n u x , ( 1 ) i s c a l l e d a t o p h a l f a n d ( 2 ) i s c a l l a b o t t o m
h a l f . T h e b o t t o m h a l f i s e x e c u t e d i n a i n t e r r u p t c o n t e x t
a n d a l l i n t e r r u p t s a r e e n a b l e i n t h e e x e c u t i o n .
T o s h o r t e n a n i n t e r r u p t r e s p o n s e t i m e , w e h a v e t w o
d e l a y s . T h e r s t d e l a y i s o n e f r o m t h e i n t e r r u p t a r r i v a l
t o c a l l i n g a n i n t e r r u p t e x e c u t i o n p a r t b e t w e e n ( 1 ) a n d
( 2 ) . T h e s e c o n d o n e i s d e l a y f r o m t h e i n t e r r u p t a r r i v a l
t o a c t i v a t i n g t h e c o r r e s p o n d i n g p r o c e s s b e t w e e n ( 1 ) a n d
( 3 ) . I n t r a d i t i o n a l U N I X , a n e x e c u t i o n o f t h e i n t e r r u p t
e x e c u t i o n p a r t i s s e r i a l i z e d i n t h e r s t d e l a y . A s a r e s u l t ,
t h e i n t e r r u p t i n h i b i t t i m e a l s o b e c o m e s l o n g e r b e c a u s e
e n a b l i n g t h e i n h i b i t i n t e r r u p t i s d e l a y e d u n t i l a n e n d o f t h e
i n t e r r u p t e x e c u t i o n p a r t . I n t h e s e c o n d d e l a y p r e e m p t i o n
i n t h e k e r n e l i s d e l a y e d u n t i l t h e e n d o f t h e s y s t e m c a l l
e x e c u t i o n .
T o i m p r o v e t h e r s t d e l a y , L i n u x h a s p r o v i d e d t h e f o l -
l o w i n g s o l u t i o n b y i m p l e m e n t i n g t h e i n t e r r u p t e x e c u t i o n
p a r t c o n c u r r e n t l y 1 3 ] .
A t a s k l e t , w h i c h i s i n t r o d u c e d i n L i n u x 2 . 4 , i s a f u n c -
t i o n o f w h i c h t h e d i e r e n t t y p e c a n r u n c o n c u r r e n t l y ,
b u t o f w h i c h t h e s a m e t y p e c a n n o t r u n c o n c u r r e n t l y .
A f u n c t i o n d e c l a r e d a s a t a s k l e t i s e x e c u t e d .
A b o t t o m h a l f , w h i c h h a s b e e n i n t r o d u c e d i n t h e
e a r l y t i m e o f L i n u x , i s a f u n c t i o n o f w h i c h t h e s a m e
t y p e c a n n o t r u n c o n c u r r e n t l y . A b o t t o m h a l f c o r r e -
s p o n d i n g t o a g s s e t b y a t o p h a l f i s e x e c u t e d .
T h e s e m e c h a n i s m c a n l o c a l i z e s o f t w a r e c o n t r o l o f i n t e r -
r u p t c o n t r o l l e r s i n t h e i n t e r r u p t h a n d l e r , o r t h e t o p h a l f ,
a n d s h o r t e n t h e i n t e r r u p t i n h i b i t t i m e i n t h e c o n t r o l l e r .
F u r t h e r m o r e , t h e s e m e c h a n i s m s c a n m a k e e x e c u t i o n o f a
b o t t o m h a l f m o r e e x i b l y . A h i g h e r p r i o r i t y b o t t o m h a l f
i s e x e c u t e d e a r l i e r w h i l e a n e x e c u t i o n o f a l o w e r p r i o r i t y
b o t t o m h a l f i s d e f e r r a b l e .
T o m a k e t h e k e r n e l p r e e m p t i v e i n t h e r e a l - t i m e e n -
h a n c e d L i n u x , t h e r e a r e t w o a p p r o a c h e s . T h e L i n u x k e r -
n e l i t s e l f i s m o d i e d t o b e p r e e m p t i v e . T h e r s t i s t o i n -
s e r t p r e e m p t i o n p o i n t s i n t o t h e k e r n e l . I n t h e t r a d i t i o n a l
L i n u x , c r i t i c a l r e g i o n s a r e g u a r d e d f r o m o t h e r p r o c e s s a c -
c e s s b y p r o h i b i t i n g p r o c e s s p r e e m p t i o n s d u r i n g a s y s t e m
c a l l e x e c u t i o n . T o i n s e r t p r e e m p t i o n p o i n t s i n t o t h e k e r -
n e l , w e n e e d t o d i v i d e t h e c r i t i c a l r e g i o n s a n d p r e p a r e t h e
p r e e m p t e d p r o c e s s r e s t a r t i n g m e c h a n i s m .
A m o r e s y s t e m a t i c a p p r o a c h i s t h e s e c o n d o n e : u t i l i z -
i n g S y m m e t r i c M u l t i - P r o c e s s o r ( S M P ) k e r n e l , w h i c h w a s
i n v e n t e d b y M o n t a v i s t a 1 4 ] . I n t h e S M P k e r n e l , c r i t i -
c a l r e g i o n s a r e a l r e a d y c o d e d a n d t h e k e r n e l p a r t s e x -
c e p t t h e c r i t i c a l r e g i o n s a r e f u l l y p r e e m p t a b l e f o r S M P .
M o n t a v i s t a m o d i e s s p i n l o c k s i n t h e S M P k e r n e l i n t o p r e -
e m t a b l e l o c k s , a p p l y i n g t h e S M P t e c h n o l o g y t o p r e e m p -
t i o n i m p r o v e m e n t i n r e a l - t i m e p r o c e s s i n g .
Real-time OS
Linux
processreal-time
task
F i g . 7 . I m p l e m e n t i n g L i n u x o n r e a l - t i m e O S
Communication
CPU
Application
CPU
process
Linux Real-time OS
real-time task
mobile phone
F i g . 8 . 2 C P U a r c h i t e c t u r e a n d t h e i r o p e r a t i n g s y s t e m s
I n t h e r e a l - t i m e e n h a n c e d L i n u x k e r n e l , a s c h e d u l e r
s h o u l d b e i m p r o v e d t o s h o r t e n a n o v e r h e a d o f p r o c e s s
p r e e m p t i o n . T h e O ( 1 ) s c h e d u l e r i s i m p l e m e n t e d i n L i n u x
2 . 6 .
B e s i d e s m o d i f y i n g t h e k e r n e l , w e h a v e a n o t h e r a p -
p r o a c h : I n t e g r a t i n g L i n u x w i t h r e a l - t i m e O S . T h e L i n u x
k e r n e l i s i m p l e m e n t e d o n t h e t o p o f r e a l - t i m e O S s h o w n
i n F i g . 7 . I n t h e a p p r o a c h , r e a l - t i m e p r o c e s s i n g a r e d o n e
i n r e a l - t i m e t a s k s , n o t e x e c u t i o n u n i t s i n L i n u x 1 5 , 1 6 ] .
N E C a d o p t s t h e r e a l - t i m e e n h a n c e d L i n u x a n d t h e i n -
t e g r a t i o n o f L i n u x a n d r e a l - t i m e O S b a s e d o n \ 2 - C P U
s o l u t i o n " f o r t h e n e x t g e n e r a t i o n m o b i l e p h o n e s . I n t h e
2 - C P U s o l u t i o n , m o b i l e p h o n e s e r v i c e s a r e d o n e i n a n
a p p l i c a t i o n C P U ( A - C P U ) a n d a c o m m u n i c a t i o n C P U
( C - C P U ) . T h e A - C P U i s d e d i c a t e d t o m o b i l e a p p l i c a t i o n
s e r v i c e s a n d i t s O S i s L i n u x f o r i n c r e a s i n g s o f t w a r e p r o -
d u c t i v i t y . T h e a b o v e r e a l - t i m e e n h a n c e d L i n u x i s u t i l i z e d
i n A - C P U . T h e c o m m u n i c a t i o n C P U i s f o r c o m m u n i c a -
t i o n p r o c e s s i n g a n d O S o f t h e C - C P U i s a r e a l - t i m e O S
f o r t h e p r o c e s s i n g .
raw data
data length
file offset
0xf100
raw data
data length
0x500
raw data
data length
0x0
raw data
data length
0xf100
overriding
F i g . 9 . S t r u c t u r e o f j o u r n a l l i n g l e s y s t e m
121
-
7/27/2019 Mobile Linux
6/8
SE-Linux
process
ordinal error check
system call
hook for
security check
access to resources
Linux
kenrel
F i g . 1 0 . S t r u c t u r e o f L S M a n d S E - L i n u x
E . P o w e r D o w n a n d R e s e t T o l e r a n c e
B a t t e r y p o w e r s u p p l y m a y s t o p s u d d e n l y i n a v e r y s h o r t
t i m e o r a u s e r m a y r e m o v e t h e b a t t e r y f r o m a p h o n e .
M o r e o v e r t h e b a t t e r y p o w e r m a y s t o p s u d d e n l y b e c a u s e
t h e b a t t e r y i s d e a d . U s u a l l y t h e l e s y s t e m i n c o n s i s t e n -
c i e s m a y o c c u r a n d t h e l e s y s t e m a r e c h e c k e d a n d x e d
i n L i n u x w h e n t h e s y s t e m r e s t a r t s a f t e r t h e p o w e r s t o p s
s u d d e n l y . E v e n i f t h e s e c a s e s h a p p e n , h o w e v e r , t h e m o b i l e
p h o n e s s h o u l d b e n o r m a l l y r e a c t i v a t e d . M o r e o v e r , t h i s r e -
q u i r e m e n t a p p l i e s t o a s h l e s y s t e m w h i c h a r e u t i l i z e d
i n m o b i l e p h o n e .
S o l u t i o n c a n d i d a t e : A s a s o l u t i o n c a n d i d a t e t o s a t i s f y
t h e s e r e q u i r e m e n t s , w e h a v e t h e j o u r n a l l i n g a s h l e s y s -
t e m ( J F F S ) 1 7 ] , w h i c h i s a n i m p l e m e n t a t i o n o f t h e j o u r -
n a l l i n g l e s y s t e m f o r t h e a s h l e s y s t e m .
T h e r e a r e t w o r e q u i r e m e n t s f o r t h e a s h l e s y s t e m .
T h e r s t i s t o p r o v i d e ` w e a r l e v e l l i n g . ' I n a s h c h i p s ,
e r a s i n g a w h o l e o f b l o c k i s r e q u i r e d i n c h a n g i n g b l o c k d a t a .
A t y p i c a l l i f e t i m e o f a s h c h i p i s 1 0 0 , 0 0 0 e r a s e s p e r b l o c k
s o e r a s e o p e r a t i o n s m u s t n o t c o n c e n t r a t e o n o n e b l o c k a n d
m u s t d i s t r i b u t e o v e r t h e a s h c h i p . T h i s i s c a l l e d \ w e a r
l e v e l l i n g . " T h e s e c o n d i s t o i n c r e a s e r e l i a b i l i t y w h e n p o w e r
d o w n a n d r e s e t h a p p e n s . T h e J F F S i s a l o g - s t r u c t u r e l e
s y s t e m a n d c a n s a t i s f y t h e t w o r e q u i r e m e n t s 1 8 , 1 9 ] . T h e
s t r u c t u r e o f t h e J F F S i s s h o w n i n F i g . 9 . I n t h e J F F S ,
w r i t i n g a d a t a b l o c k i n t o a l e i s a p p e n d i n g t h e b l o c k t o
a n e n d o f t h e l e s e q u e n t i a l l y , e v e n i n r e w r i t i n g d a t a b l o c k
i n t h e l e . T h e n u m b e r o f e r a s i n g e a c h b l o c k i s t h e s a m e
a n d t h u s t h e J F F S i m p l e m e n t i n g a f u n c t i o n a l i t y o f \ w e a r
l e v e l l i n g . "
T h e r s t r e q u i r e m e n t i s s o l v e d b y d i s t r i b u t i n g d a t a
b l o c k s o v e r t h e a s h . T h e J F F S h a s n o m e t a d a t a ( l e
m a n a g e m e n t d a t a ) s o t h a t i n c o n s i s t e n c y i f m e t a d a t a a n d
d a t a w r i t t e n t o t h e a s h d o e s n o t o c c u r . H o w e v e r , t h e
J F F S h a s t h e s h o r t c o m i n g s t h a t g a r b a g e c o l l e c t i o n i n t h e
j o u r n a l l i n g l e s y s t e m i s n e e d e d a n d t h a t a r e a d s p e e d
b e c o m e s e x t r e m e l y s l o w w h e n t h e s i z e o f a l e b e c o m e s
v e r y l a r g e . T h e p e r f o r m a n c e d a t a o f t h e l o g - s t r u c t u r e l e
s y s t e m , w h i c h i s a b a s e o f t h e J F F S , i s d e s c r i b e d i n 1 9 ] .
F . S e c u r i t y
I n t h e P C w o r l d , b u g s o f k e r n e l o r a p p l i c a t i o n p r o g r a m s
a n d D O S ( D e n i a l o f S e r v i c e ) a t t a c k s d e s t r o y t h e s y s t e m o r
g i v e f u n c t i o n a l a n d p e r f o r m a n c e d a m a g e t o t h e s y s t e m .
S u c h a s i t u a t i o n s w i l l a r r i v e i n t h e m o b i l e p h o n e w o r l d i n
thread
stack
guard
page
process space
thread1
thread2
thread2
F i g . 1 1 . T h r e a d g u a r d p a g e s
t h e n e a r f u t u r e i f 3 r d v e n d o r p r o g r a m s c a n b e i n s t a l l e d t o
t h e p h o n e .
S o l u t i o n c a n d i d a t e : T o a v o i d t h e a t t a c k s a n d p r o t e c t
m o b i l e p h o n e s o f t w a r e f r o m t h e a t t a c k s , s e c u r i t y f u n c -
t i o n a l i t i e s i n t h e k e r n e l m u s t b e e n h a n c e d . L S M ( L i n u x
S e c u r i t y M o d u l e )
2
i s a c a n d i d a t e o f s e c u r i t y e n h a n c e -
m e n t . L S M p r o v i d e s o n l y a f r a m e w o r k a n d s e c u r i t y c h e c k
m e c h a n i s m s a r e s e p a r a t e d f r o m t h e f r a m e w o r k b e c a u s e a
v a r i e t y o f s e c u r i t y p o l i c y c a n b e a p p l i e d . A s s h o w n i n F i g .
1 0 , L S M p r o v i d e s a h o o k i n t h e s y s t e m c a l l e x e c u t i o n s i n
w h i c h a p p r o p r i a t e s e c u r i t y c h e c k s w h i c h a r e p r o v i d e d i n a
s e p a r a t e s e c u r i t y m o d u l e a r e p e r f o r m e d 2 0 ] . S E - L i n u x
3
i s a c a n d i d a t e o f s e c u r i t y e n h a n c e d m o d u l e o n t h e f r a m e -
w o r k . S E - L i n u x g i v e s M a n d a t o r y A c c e s s C o n t r o l ( M A C )
a n d R o l e B a s e d A c c e s s C o n t r o l ( R B A C ) 2 1 , 2 2 ] . I n M A C ,
a c c e s s c o n t r o l l i s t s w h e r e w h i c h p r o g r a m c a n a c c e s s t o
w h i c h r e s o u r c e s a r e d e n e d a n d a l l p r o c e s s e s a r e c h e c k e d
i n a c c e s s i n g r e s o u r c e s b a s e d o n t h e a c c e s s c o n t r o l l i s t . A
c o n c e p t o f ` r o l e ' i s i n t r o d u c e d a n d a c c e s s c o n t r o l s a r e d e -
n e d i n t h e r o l e i n R B A C . F o r e x a m p l e , t h e r o o t r i g h t s
a r e d i v i d e d t o m u l t i p l e r o l e s . T h u s e v e n a p r o g r a m w h i c h
h a s t h e r o o t a c c e s s r i g h t s h a s t h e l i m i t e d a c c e s s r i g h t s t o
s y s t e m r e s o u r c e s .
I n a d d i t i o n t o t h e a b o v e s e c u r i t y e n h a n c e m e n t , t h e f o l -
l o w i n g s a r e e x p e c t e d .
( 1 ) T h r e a d s t a c k a r e a s a r e a l l o c a t e d i n a p r o c e s s . A
m a l i c i o u s p r o g r a m o r a b u g g y p r o g r a m e x p a n d s t h e
t h r e a d s t a c k , d e s t r o y i n g o t h e r t h r e a d s t a c k a r e a . T o
p r o t e c t t h e t h r e a d v i o l a t i o n , a t h r e a d i s i m p l e m e n t e d
i n t h e k e r n e l , s u c h a s L i n u x 2 . 6 , a n d a t h r e a d g u a r d e d
p a g e o n t h e t o p o f t h e s t a c k i s a l l o c a t e d ( F i g . 1 1 ) .
I n a t h r e a d g u a r d e d p a g e r e a d / w r i t e o p e r a t i o n s a r e
n o t p e r m i t t e d a n d s o t h e t h r e a d s t a c k v i o l a t i o n c a n
b e d e t e c t e d .
( 2 ) T h e r e a r e v e r y i m p o r t a n t d a t a s u c h a s s u b s c r i b e r
d a t a a n d a d d r e s s i n f o r m a t i o n i n a m o b i l e p h o n e . T h e
k e r n e l o r o t h e r p r o g r a m b u g p o s s i b l y d e s t r o y s s u c h
d a t a a r e a . T o a v o i d t h e d e s t r u c t i o n , t h e p r o t e c t e d
2
h t t p : / / l s m . i m m u n i x . o r g /
3
h t t p : / / w w w . n s a . g o v / s e l i n u x /
122
-
7/27/2019 Mobile Linux
7/8
R A M l e s y s t e m
4
i s c o n s i d e r e d t o b e s o l v e d .
G . A p p l i c a t i o n P r o g r a m D e v e l o p m e n t E n v i r o n m e n t
I d e a l l y , p r o g r a m s d e v e l o p e d i n a P C a r e p o r t e d i n t o m o -
b i l e p h o n e s o n l y w i t h a r e c o m p i l e . H o w e v e r , i t i s n o t e a s y
b e c a u s e h e a d e r l e s , l i b r a r y l e s , a n d s y s t e m c a l l A P I s
a r e d i e r e n t f r o m t h o s e i n a P C e v e n i f t h e O S i n m o b i l e
p h o n e s i s L i n u x . P r o v i d i n g p r o g r a m d e v e l o p m e n t e n v i -
r o n m e n t s i n w h i c h a p p l i c a t i o n p r o g r a m m e r s c a n d e v e l o p
e a s y - t o - p o r t a p p l i c a t i o n p r o g r a m s o n t h e P C i s r e q u i r e d .
S o l u t i o n c a n d i d a t e : T o p r o v i d e t h e s p e c i c L i n u x , m i d -
d l e w a r e , l i b r a r i e s , a n d h e a d e r l e s , t h e g u e s t L i n u x i s
i m p l e m e n t e d i n d e p e n d e n t o f t h e h o s t L i n u x . U M L ( U s e r
M o d e L i n u x
5
, n o t U n i e d M o d e l i n g L a n g u a g e ) i s a c a n -
d i d a t e t o i m p l e m e n t e d t h e g u e s t L i n u x 2 3 ] . U M L i s a
L i n u x k e r n e l i m p l e m e n t a t i o n i n a u s e r s p a c e a n d c a n p r o -
v i d e a p p l i c a t i o n p r o g r a m e n v i r o n m e n t s , i n d e p e n d e n t o f
t h e h o s t L i n u x .
H . K e r n e l D e v e l o p m e n t E n v i r o n m e n t
T o d e v e l o p L i n u x k e r n e l o p t i m i z e d f o r a t a r g e t p r o d -
u c t e c i e n t l y , d e v e l o p m e n t s u p p o r t e n v i r o n m e n t s a r e r e -
q u i r e d .
R e q u i r e m e n t s f o r t h e k e r n e l d e v e l o p m e n t t o o l s a r e s u m -
m a r i z e d : r e a l - t i m e p e r f o r m a n c e , m o n i t o r i n g p r o c e s s c o n -
s u m p t i o n o f m e m o r y a n d e v e n t l o g g i n g .
I V . R e q u i r e m e n t s f o r M i d d l e w a r e
I n t h i s s e c t i o n , t h e t e r m ` m i d d l e w a r e ' i s u s e d f o r a l o g -
i c a l s o f t w a r e l a y e r l o c a t e d b e t w e e n t h e k e r n e l a n d a p p l i -
c a t i o n s o f t w a r e . T h e m i d d l e w a r e c a n b e i m p l e m e n t e d i n
t h e p r o t e c t e d m e m o r y s p a c e l i k e t h e k e r n e l o r a s e r v e r i n
t h e u s e r m e m o r y s p a c e .
W i d e v a r i e t i e s o f m i d d l e w a r e s h o u l d b e r e q u i r e d . T h e
m i d d l e w a r e w i l l b e s u p p l i e d f r o m t h i r d p a r t y v e n d o r s o r
o p e n s o u r c e s o f t w a r e d e v e l o p m e n t c o m m u n i t i e s .
G r a p h i c a l u s e r i n t e r f a c e , i n c l u d i n g w i n d o w s y s t e m s
M u l t i m e d i a f u n c t i o n s
N e t w o r k c o m m u n i c a t i o n p r o t o c o l s t a c k s
W e n e e d t o i m p l e m e n t s o m e p r o g r a m m a n a g e m e n t
m e c h a n i s m t o g u a r a n t e e t o c a t c h a v o i c e c a l l a s d e s c r i b e d
i n S e c . I I . W h e n a c a l l c o m e s t o t h e p h o n e , t h e m a n a g e -
m e n t m e c h a n i s m i n t e r r u p t s t h e c u r r e n t a p p l i c a t i o n s e r -
v i c e s a n d n o t i e s t h e u s e r o f i n c o m i n g c a l l b y a r i n g t o n e ,
v i b r a t i n g t h e p h o n e , o r a g r a p h i c a l i c o n .
A . X w i n d o w s y s t e m a n d t o o l k i t
X w i n d o w s y s t e m a n d t o o l k i t o c c u p y l a r g e a m o u n t
o f R A M a r e a . R e q u i r e m e n t s f o r X w i n d o w s y s t e m a n d
t o o l k i t a r e s u m m a r i z e d a s f o l l o w s .
4
h t t p : / / p r a m f s . s o u r c e f o r g e . n e t
5
h t t p : / / u s e r - m o d e - l i n u x . s o u r c e f o r g e . n e t /
( 1 ) S m a l l s i z e R A M c o n s u m p t i o n
( 2 ) D o u b l e b u e r e x t e n s i o n t o d r a w i m a g e d a t a q u i c k l y
( 3 ) F o n t s e t s w i t h s m a l l s i z e a n d q u i c k e r l o a d e d t i m e
S o l u t i o n c a n d i d a t e :
( 1 ) A s s m a l l s i z e X w i n d o w s y s t e m , k d r i v e
6
i s a c a n d i d a t e
2 4 ] .
( 2 ) A s a t o o l k i t , G T K
7
i s t h e m o s t p o p u l a r t o o l k i t . T h e
s i z e o f G T K , h o w e v e r , i s v e r y l a r g e . S o c u s t o m i z i n g
f u n c t i o n a l i t i e s o f G T K i s r e q u i r e d .
N o t e t h a t s t a n d a r d i z a t i o n f o r c u s t o m i z e d t o o l k i t
A P I s w i l l b e r e q u i r e d b e c a u s e t o r e c r u i t t h i r d p a r t y
a p p l i c a t i o n s o f t w a r e e a s i l y .
V . F u t u r e T r e n d s i n M o b i l e P h o n e S o f t w a r e
V a r i o u s t y p e s o f s o f t w a r e a r e i n c o r p o r a t e d i n m o b i l e
p h o n e s i n o r d e r t o e n a b l e t h e p r o v i s i o n o f f u t u r e n e w s e r -
v i c e s . M o b i l e p h o n e s i n t h e f u t u r e w i l l o e r n o t o n l y b a s i c
f u n c t i o n s , b u t m a y a l s o a l l o w u s e r s t o a d d a p p l i c a t i o n s o f
t h e i r c h o i c e . I n o t h e r w o r d s , t h e f u t u r e t r e n d i s t h e \ p e r -
s o n a l c o m p u t e r i z a t i o n " o f m o b i l e p h o n e s . B y i n c o r p o r a t -
i n g t h e J a v a e x e c u t i o n e n v i r o n m e n t , m o b i l e p h o n e s n o w
a l l o w t o d o w n l o a d a p p l i c a t i o n s a f t e r r e l e a s i n g t h e p h o n e s .
A n o t h e r a s p e c t o f m o b i l e p h o n e e v o l u t i o n i s t h e i n c o r p o -
r a t i o n o f t e c h n o l o g i e s f o r c o n t e n t s s u c h a s i m a g e s , s o u n d ,
a n d m o v i n g p i c t u r e s t h a t a r e n o w b r o a d l y u s e d i n P C s .
F r o m t h e v i e w p o i n t o f c o n t e n t p r o v i d e r s , t h i s t r e n d h a s
t h e m e r i t s t o a l l o w r e u s e o f e x i s t i n g c o n t e n t s e c i e n t l y
a n d u s e o f c o n t e n t s d e v e l o p m e n t e n v i r o n m e n t i n P C s .
H o w e v e r , e v e n i f t h e p r o c e s s i n g p e r f o r m a n c e o f m o -
b i l e p h o n e s c o n t i n u e s t o i n c r e a s e , t h e e v o l u t i o n o f m o b i l e
p h o n e s i s l i k e l y t o f o l l o w a c o u r s e t h a t d i e r s f r o m t h a t
o f P C s . D i e r e n c e s i n h a r d w a r e b e t w e e n m o b i l e p h o n e s ,
w h i c h h a v e a s m a l l e r s c r e e n a n d v e r y f e w k e y s , a n d P C s ,
w i l l a l w a y s r e m a i n , n o m a t t e r h o w m u c h a m o b i l e p h o n e
e v o l v e s i n t e r m s o f h a r d w a r e . M o b i l e p h o n e a p p l i c a t i o n s
m u s t m e e t r e a l - t i m e a n d s o f t w a r e r e l i a b i l i t y r e q u i r e m e n t s
t h a t a r e m o r e s e v e r e t h a n f o r p e r s o n a l P C s . A s o n e o f
t h e s e , m o b i l e p h o n e s r e q u i r e t h e p r o c e s s i n g f o r t h e v o i c e
c o m m u n i c a t i o n w i t h i n a l i m i t e d t i m e . T o i m p l e m e n t i t ,
C P U , m e m o r y a n d O S r e s o u r c e m u s t b e g u a r a n t e e d t o
b e a l l o c a t e d i n t h e s p e c i c d u r a t i o n . F u r t h e r m o r e , p e r -
s o n a l i n f o r m a t i o n s u c h a s p h o n e d i r e c t o r i e s i n a m o b i l e
p h o n e i s h a n d l e d m o r e s e c u r e l y . I n P C s , a n y a p p l i c a t i o n
c a n a c c e s s a p h o n e d i r e c t o r y l e , f o r e x a m p l e . E v e n i f
a m a l i c i o u s a p p l i c a t i o n w a s e x e c u t e d i n a m o b i l e p h o n e ,
s e n d i n g t h e d a t a t o t h e o u t s i d e a n d a l t e r a t i o n o f t h e d a t a
s h o u l d n o t b e a l l o w e d . R e s t r i c t i o n s o n a c c e s s t o i n f o r m a -
t i o n f r o m a p p l i c a t i o n s i n m o b i l e p h o n e s a r e m o s t l i k e l y t o
b e m a i n t a i n e d i n t h e f u t u r e .
6
h t t p : / / w w w . x f r e e . o r g / c u r r e n t / X k d r i v e . 1 . h t m l
7
h t t p : / / w w w . g t k . o r g /
123
-
7/27/2019 Mobile Linux
8/8
V I . C o n c l u s i o n
W e d e s c r i b e r e q u i r e m e n t s f o r m o b i l e p h o n e L i n u x a n d
s o l u t i o n c a n d i d a t e t e c h n o l o g i e s t o s a t i s f y t h e r e q u i r e -
m e n t s b a s e d o n t h e d e v e l o p m e n t e x p e r i e n c e .
N o t e t h a t t h e t e c h n o l o g i e s d e s c r i b e d i n t h e p a p e r a r e
n o t u t i l i z e d i n a n a t i v e w a y . W e n e e d e n g i n e e r i n g e o r t s
t o c u s t o m i z e t h e t e c h n o l o g i e s a n d t u n e u p m o b i l e p h o n e
s o f t w a r e b a s e d o n t h e t e c h n o l o g i e s t o r e a l i z e t h e a c t u a l
p r o d u c t s .
C o n s u m e r E l e c t r o n i c s L i n u x F o r u m
8
i s e s t a b l i s h e d t o
g a t h e r r e q u i r e m e n t s o f c o n s u m e r e l e c t r o n i c s f o r L i n u x a n d
e v o l v e i m p l e m e n t a t i o n f o r t h e r e q u i r e m e n t s . W e w i l l c o n -
t r i b u t e o u r e o r t i n m o b i l e p h o n e L i n u x t o t h e F o r u m .
R e f e r e n c e s
1 ] K . U s u i , H . T o m i m o r i , J . T a k a g i , T . T a n a k a , a n d
Y . N a k a m o t o , \ D e s i g n a n d i m p l e m e n t a t i o n o f J a v a
a p p l i c a t i o n e n v i r o n m e n t a n d s o f t w a r e p l a t f o r m f o r
m o b i l e p h o n e s , " N E C R E S E A R C H & D E V E L O P -
M E N T , V o l . 4 2 , N o . 4 . , p p . 3 7 9 { 3 8 3 , N o v . 2 0 0 1 .
2 ] C o m p a q , I n t e l , M i c r o s o f t , P h o e n i x T e c h n o l o g i e s , a n d
T o s h i b a , \ A d v a n c e d c o n g u r a t i o n a n d p o w e r i n t e r -
f a c e s p e c i c a t i o n , " 2 0 0 3 , h t t p : / / w w w . a c p i i n f o / .
3 ] L . B e n i n i , A . B o g l i o l o , a n d G . D e M i c h e l i , \ A s u r -
v e y o f d e s i g n t e c h n i q u e s f o r s y s t e m - l e v e l d y n a m i c
p o w e r m a n a g e m e n t , " I E E E T r a n s . o n V e r y L a r g e
S c a l e I n t e g r a t i o n S y s t e m , V o l . 8 , N o . 3 , p p . 2 9 9 { 3 1 6 ,
J u n . 2 0 0 0 .
4 ] M . W e i s e r , B . W e l c h , A . D e m e r , a n d S . S h e n k e r ,
\ S c h e d u l i n g f o r r e d u c e d C P U e n e r g y " , P r o c . o f F i r s t
S y m p o s i u m o n O p e r a t i n g S y s t e m s D e s i g n a n d I m -
p l e m e n t a t i o n , p p . 1 3 { 2 3 , I E E E , N o v . 1 9 9 5 .
5 ] T . I s h i h a r a a n d H . Y a s u u r a , \ O p t i m i z a t i o n o f s u p p l y
v o l t a g e a s s i g n m e n t f o r p o w e r r e d u c t i o n o n p r o c e s s o r -
b a s e d s y s t e m , " P r o c . o f S y n t h e s i s a n d S y s t e m I n t e -
g r a t i o n o f M i x e d T e c h n o l o g i e s , p p . 5 1 { 5 8 , D e c . 1 9 9 7 .
6 ] P . P i l l a i a n d K . S h i n , \ R e a l - t i m e d y n a m i c v o l t a g e
s c a l i n g f o r l o w - p o w e r e m b e d d e d o p e r a t i n g s y s t e m s , "
P r o c . o f 1 8 t h A C M S y m p o i s u m o n O p e r a t i n g S y s t e m
P r i n c i p l e s , p p . 8 9 { 1 0 2 , A C M , O c t . 2 0 0 1 .
7 ] T . T r u m a n , T . P e r i n g , R . D o e r i n g , a n d R . B r o d e r s o n ,
\ T h e I n f o P a d m u l t i m e d i a t e r m i n a l : a p o r t a b l e d e -
v i c e f o r w i r e l e s s i n f o r m a t i o n a c c e s s , " I E E E T r a n s . o n
C o m p u t e r s , V o l . 4 7 , N o . 1 8 , p p . 1 0 7 3 { 1 0 8 7 , O c t . 1 9 9 8 .
8 ] J . W a n g , B . R a v i n d r a n , a n d T . M a r t i n , \ A p o w e r -
a w a r e , b e s t e o r t r e a l - t i m e t a s k s c h e d u l i n g a l g o -
r i t h m , " P r o c . o f I E E E W o r k s h o p o n S o f t w a r e T e c h -
n o l o g i e s f o r F u t u r e E m b e d d e d S y s t e m s , p p . 2 1 { 2 8 ,
M a y 2 0 0 3 .
8
h t t p : / / w w w . c e l i n u x f o r u m . o r g
9 ] A . H a s e g a w a , I . K a w a s a k i , K . Y a m a d a , S . Y o s h i k a w a ,
S . K a w a s a k i , a n d P . B i s w a s , \ S H 3 : h i g h c o d e d e n s i t y ,
l o w p o w e r , " I E E E M i c r o , p p . 1 1 { 1 9 , D e c . 1 9 9 5 .
1 0 ] I B M a n d M o n s t a v i s t a S o f t w a r e , \ D y n a m i c p o w e r
m a n a g e m e n t f o r e m b e d d e d s y s t e m s , " N o v . 2 0 0 2 ,
h t t p : / / w w w . r e s e a r c h . i b m . c o m / a r l / p r o j e c t s / p a p e r s /
D P M V 1 . 1 . p d f
1 1 ] M o n t a v i s t a , \ S a v i n g R A M a n d s p e e d i n g p r o -
g r a m l a u n c h w i t h e x e c u t e i n p l a c e ( X I P ) , "
h t t p : / / w w w . m v i s t a . c o m / .
1 2 ] A . R u b i n i a n d J . C o r b e t , \ L i n u x d e v i c e d r i v e r s ( 2 n d
e d . ) , " O ' R e i l l y , 2 0 0 3 .
1 3 ] D . B o v e t a n d M . C e s a t i , \ U n d e r s t a n d i n g t h e L i n u x
k e r n e l ( 2 n d e d . ) , " O ' R e i l l y , 2 0 0 3 .
1 4 ] M o n t a v i s t a , \ M o n t a V i s t a L i n u x - r e a l - t i m e p e r f o r -
m a n c e , " 2 0 0 2 h t t p : / / w w w . m v i s t a . c o m / d s w p / r e -
a l t i m e . p d f .
1 5 ] E . B i a n c h i , L . D o z i o , a n d P . M a n t e g a z z a , \ A
h a r d r e a l - t i m e s u p p o r t f o r L i n u x , D I A P M R T A I , "
h t t p : / / w w w . a e r o . p o l i m i t . i t / r t a i / .
1 6 ] H . T a k a d a , S . I i y a m a , T . K i n d a i c h i , a n d S . H a c h i y a ,
\ L i n u x o n I T R O N : a h y b r i d o p e r a t i n g s y s t e m a r c h i -
t e c t u r e f o r e m b e d d e d s y s t e m s , " P r o c . o f 2 0 0 2 S y m p o -
s i u m o n A p p l i c a t i o n a n d t h e I n t e r n e t , p p . 4 { 7 , 2 0 0 2 .
1 7 ] D . W o o d h o u s e , \ J F F S : t h e j o u r n a l l i n g a s h
l e s y s t e m , " h t t p : / / s o u r c e s . r e d h a t . c o m / j s 2 / j s 2 -
h t m l / j s 2 - h t m l . h t m l .
1 8 ] U . V a h a l i a , \ U N I X I n t e r n a l s , " P r e n t i c e H a l l , 1 9 9 6 .
1 9 ] M . R o s e n b l u m a n d J . O u s t h o u t , \ T h e d e s i g n a n d i m -
p l e m e n t a t i o n o f a l o g - s t r u c t u r e d l e s y s t e m , " A C M
T r a n s . o n C o m p u t e r S y s t e m s , V o l . 1 0 , N o . 1 , p p . 2 6 - 5 2 ,
1 9 9 2 .
2 0 ] C . W r i g h t , C . C o w a n , J . M o r r i s , S . S m a l l e y , a n d G .
K r o a h - H a r t m a n , \ L i n u x s e c u r i t y m o d u l e s : g e n e r a l
s e c u r i t y s u p p o r t f o r t h e L i n u x k e r n e l , " P r o c . o f 1 1 t h
U S E N I X S e c u r i t y S y m p o s i u m , A u g . 2 0 0 2 .
2 1 ] P . L o s c o c c o a n d S . S m a l l e y , \ I n t e g r a t i n g e x i b l e s u p -
p o r t f o r s e c u r i t y p o l i c i e s i n t o t h e L i n u x o p e r a t i n g s y s -
t e m " , P r o c . o f t h e F R E E N I X T r a c k : 2 0 0 1 U S E N I X
A n n u a l T e c h n i c a l C o n f e r e n c e , J u n . 2 0 0 1 .
2 2 ] S . S m a l l e y , C . V a n c e , a n d W . S a l a m o n , \ I m p l e m e n t -
i n g S E L i n u x a s a L i n u x S e c u r i t y M o d u l e , " N a t i o n a l
S e c u r i t y A g e n c y , M a y 2 0 0 2 .
2 3 ] J . D i k e , \ A u s e r - m o d e p o r t o f t h e L i n u x k e r n e l , "
P r o c . o f t h e 4 A n n u a l L i n u x S h o w c a s e & C o n f e r e n c e ,
U s e n i x , O c t . 2 0 0 0 .
2 4 ] J . G e t t y s a n d K . P a c k a r d , \ T h e X R e s i z e a n d R o t a t e
E x t e n s i o n - R a n d R , " P r o c . o f 2 0 0 1 U S E N I X A n n u a l
T e c h n i c a l C o n f e r e n c e , J u n . 2 0 0 1 .
124