mobile linux

Upload: navneet-singh

Post on 13-Apr-2018

223 views

Category:

Documents


0 download

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