OS in Java Paper

download OS in Java Paper

of 9

Transcript of OS in Java Paper

  • 8/14/2019 OS in Java Paper

    1/9

    O v e r v i e w o f T O SA D i s t r i b u t e d E d u c a t i o n a l O p e r a t i n g S y s t e m i n J a v a

    T y r o n e N i c h o l a s , J e r z y A . B a r c h a n s k i

    B r o c k U n i v e r s i tyS t .Ca tha r inesO n t . C a n a d a

    A b s t r a c tThis pap er describes TOS - a d istributed educational operating systemimplemented in Java. Firs t, the cu rrent trends in comm ercial operatingsystems are shortly presented and compared with s eve ral availableeducational operating systems. Next, we give our rationals for J ava asthe TOS implem entation anguag e.. The n the architecture of the systemand its com ponents - launch ers and se rvers are described. Finally weexplain the adva ntages of this architecture and provide some informationon its implem entation and portability.

    I. IntroductionA m o n g t h e c e n t r al c o m p o n e n t s o f a n y u n d e r g r a d u a te c o m p u t e r s c i e n c e c u r ri c u l u m i s t h a t o f

    t h e o p e r a ti n g s y s t e m . N o p r o f e s s i o n a l p r o g r a m m e r , a d m i n i s tr a t o r, o r a n a l y s t c a n do t h e i r j o b se f f e c ti v e l y w i t h o u t a f u n d a m e n t a l u n d e r s t a n d i n g o f h o w o p e r a ti n g s y s t e m s a r e d e s i g n e d a n dimplemen ted .T h e r e i s n o r e a l s u b s ti tu t e , i n l e a r n i n g h o w s o f t w a r e w o r k s , t o a c t u a l l y d e a l i n g w i t h t h e s o u r c ec o d e . C o m m e r c i a l o p e r a t i n g s y s t e m s a r e m a n i f e s t l y u n s u i t a b l e f o r t h i s p u r p o s e . T h e s o u r c ecode o f mo s t i s a c lose ly guarded t r ade sec r e t ; even w he n i t is no t , t he sou rce code b ase i s f a r t oola rge fo r s tuden t s t o be ab le to g r asp qu ick ly . There a r e usua l ly op t imiza t ions l i be r a l ly sca t t e r edi n a c o m m e r c i a l s y s t e m , o p t i m i z a t i o n s t h a t d o i m p r o v e p e r f o r m a n c e c o n s i d e r a b l y b u t d e t r a c tf rom r eadab i l i ty .F o r t h i s r e a s o n , t h e r e a r e n o w i n u s e m a n y p u r e l y e d u c a t i o n a l o p e r a t i n g s y s t e m s , w i t h a m u c hs i m p l e r s e t o f f e a t u r e s a n d s m a l l e r c o d e b a s e , g e n e r a l l y d e s i g n e d a n d i m p l e m e n t e d e n t i r e l y b ya c a d e m i c s . S o m e o f t h e s e b o o t d i re c t l y f r o m t h e h a r d w a r e , b u t th e m a j o r i t y e i t h e r r u n o v e r ana t ive opera t ing sy s t em o r over a so f tware s imu la t ion o f t he ha rdware .T h e m a j o r i t y o f e d u c a t i o n a l s y s t e m s t o d a y r e l y h e a v i l y o n t h e s t a n d a l o n e u n i p r o c e s o r a p p r o a c ht o o p e r a t i n g s y s t e m c o n s t r u c t i o n , w h i c h h a s d o m i n a t e d b o t h t h e i n d u s t r y a n d a c a d e m i a f o rn e a r l y a q u a r t e r o f t h e c e n t u r y . I t m u s t b e r e a l i z e d h o w e v e r t h a t t h is t r a d i ti o n a l f r a m e w o r k d o e sno t r e f l ec t the cu r r en t t r end in opera t ing sys t em des ign .O n e o f t h e m o s t i m p o r t a n t d e v e l o p m e n t s i n c o m p u t i n g t o d a y is t h e d i s t r i b u t e d s y s t e m . I nc o m m e r c i a l s e t t i ng s , a p p l i c a ti o n s a r e a l r e a d y r o u t i n e l y c o n s t r u c te d t h a t r u n o v e r m a n y d i f f e re n tcomp ute r s o f d i f f e r en t a r ch i t ec tu res . Ca tc h ing up to th i s is the d i s t r ibu ted opera t ing sys t em , one

  • 8/14/2019 OS in Java Paper

    2/9

    t h a t r u n s o n m a n y c o m p u t e r s s i m u l t a n e o u s l y , a n d p r o v i d e s a p p l i c a t i o n s w i t h a s i n g l e s y s t e mimage r egard less o f wha t l oc a t ion the app l i ca t ion happens to be s i t ua t ed in .D i s t r i b u t e d e d u c a t i o n a l s y s t e m s i n u s e t o d a y , s u c h a s A m o e b a [ 7] s u f f e r s o m e o f t h e s a m el imi t a t ions as comm erc ia l sys t em s; t hey a re su f f i c i en t ly l a rge and com plex tha t t he i r sou rce codedoes no t l end i t se l f t o tho rough exam ina t ion in a one- seme s te r underg radua te cour se . I n add i t ion ,i t i s im p o r t a n t t h a t th e i m p a c t o f th e d i s t r i b u te d p a r a d i g m n o t t o t a l l y o v e r s h a d o w t h efundam en ta l s o f t he opera t ing sys t em concep t s . Th e fu tu r e l i ke ly ho lds fo r a mix tu r e o f s ing le -com pute r and mu l t i - compute r o pera t ing sys t em s , no t t he e l imina t ion o f t he fo rmer en t i r e ly .For these r easons , t he r e i s a de f in i t e need fo r an educa t iona l ope ra t ing sys t em s u f f i c i en t ly s implet o c o v e r t h e c o r e to p i c s o f o p e r a ti n g s y s t e m d e s i g n , a n d y e t i n c lu d e s m a n y o f t h e k e y f e a tu r e s o fd i s t r ibu ted sys t ems .M o s t u n i c o m p u t e r o p e r a t i n g s y s t e m s h a v e a m o n o l i t h i c k e r n e l , t o p r o v i d e t h e p e r f o r m a n c erequ i r ed by commerc ia l app l i ca t ions . I n a d i s t r ibu ted env i ronmen t , such an a r ch i t ec tu r e lo ses agood dea l o f i t s u se fu lness . S ince the ke rne l mu s t be access ib l e on every mach ine in the sys t em.i t w o u l d b e n e c e s s a r y t o p la c e i ts c o p y o n e v e r y m a c h i n e . T h i s l e a d s t o a p o t e n t i a l l y e n o r m o u sa m o u n t o f r e d u n d a n c y a n d s a c r i fi c e s m o s t o f t h e a d v a n t a g e s o f u s i n g a d i s t r i b u t e d o p e r a t in gs y s t e m i n t h e fi r s t p l a c e , s i n c e t h e e n d r e s u l t i s e s s e n t i a l ly a n e t w o r k e d s e t o f m a c h i n e s e a c hrunn ing the i r own k erne l .The a l t e rna t ive wou ld be to p l ace the ke rne l on one mac h ine to wh ich e very o the r mac h inem u s t m a k e c a l l s i n o rd e r to u t i li z e s y s t e m s e r v ic e s . S u c h a n a p p r o a c h i s i n h e r e n t l y u n s c a l a b le .W e r e t h e d i s t r i b u t e d s y s t e m t o g r o w v e r y l a r g e , t h e s t r a i n o n t h e m a c h i n e r u n n i n g t h e k e r n e lwou ld inev i t ab ly becom e unsus t a inab le .I n s t e a d o f t h e m o n o l i t h i c k e r n e l th e n , a d e s i g n s c h e m e t h a t h a s g a i n e d i n c r e a s i n g p o p u l a r i t y inr e c e n t y e a r s i s t h e m i c r o k e m e l a p p r o a c h . I n t h i s p a r a d i g m , e v e r y m a c h i n e h o s t s o n l y a s m a l lpa r t o f t he t r ad i t iona l ke rne l . Th e r es t o f i t i s de l ega ted o u t to mac h ines des ign a ted as se rve r s .Each se rve r o f fe r s on ly a spec ia l ized subse t o f sys t em se rv ices . One m ach ine ac t s a s a f i le se rve r ,ano the r a s a dev ice se rve r , and so on . There can be more than one se rve r ma ch ine fo r each typeof f unc t iona l i t y .T h i s i s a m o r e s c a l a b l e a p p r o a c h , s i n c e s y s t e m e x p a n s i o n c a n b e m a t c h e d b y i n c r e a s i n g t h en u m b e r o f s e r v e rs t o m a t c h . I t i s a l s o m o r e m o d u l a r a n d m o d i f i a b l e , s i n c e a n y o n e s e rv e rc o m p o n e n t c a n b e r e p l a c e d w i t h o u t h a v i n g t o r e w r i te o t h e r c o m p o n e n t s , a s l o n g a s th e d e f i n e din te r f aces be tween componen t s r emain the same .U n f o r t u n a t e l y , f e w e d u c a t i o n a l o p e r a t in g s y s t e m s , a s y e t , m a k e u s e o f t h is t e c h n i q u e i n a w a ytha t is s imple and sm al l enough fo r s tuden t s t o eas i ly obse rve . Th i s i s un fo r tuna te , a s i t can l eaves tuden t s wi th a mis t ake n impres s ion tha t t he t r ad i ti ona l mono l i th i c approach i s t he on ly e f f ec t ivew a y t o b u i ld o p e r a t i n g s y s t e m s .B e i n g e d u c a t io n a l d o e s n o t s p a re a n o p e r a t in g s y s t e m f r o m s o m e o f t h e s a m e p i t f a l ls t h a t b e d e v i lc o m m e r c i a l s y s t e m s . P e r h a p s t h e s i n g l e b i g g e s t p r o b l e m i s p o r t a b i l it y . D i f f e r e n t a c a d e m i cs e t ti n g s u s e a w i d e l y v a r i e g a t e d s e t o f h a r d w a r e a n d n a t i v e o p e r a ti n g s y s t e m s . A n e d u c a t i o n a lOS w r i t t en fo r one p l a t fo rm u sua l ly does no t po r t eas i ly to ano ther wi th ou t a good dea l o f e f fo r t.I n s tr u c t o rs o f t e n c a n n o t u s e t h e p r o d u c t t h e y w o u l d p r e f e r i n t h e i r c o u rs e s b e c a u s e t h e y d o n o thave access to the p l a t fo rm neede d to r un i t.

  • 8/14/2019 OS in Java Paper

    3/9

    This paper describes TOS - an educational operating systems develop ed as an honourscomputing project [5]. The main goal o f this project was to design and impl ement an operatingsystem with a microke rnel-based structure. It was to be run in a distributed environmen twithout obscuring the core functions of an operating system. It had to be implemented in Java tofacilitate portability, and to support user applications also written in Java. Assumptions aboutthe host operating system had to be kept to a minimum. Native code, if it were to be used,would almost certainly end up using platform-specific functions that would only confusestudents. This did impose some constraints on the system where the use of native code wou ldhave simplified matters. In the commercial world applications written in Java of ten are forced torely on short sections of native code. Even the Java class libraries themselves contain substantialamounts of native code.The system was to be extendible, so it could be used not only for some senior-level computingprojects, but to the point where it would be viable for use in commerc ial distributed Javaapplications. For this to be possible, its design had to be scalable to a large number of runninghosts and users, and had to be written with a later goal of commercial usage firmly in mind.The rest o f the paper is organized as follows. Section 2 reviews several educational operatingsystems and operating systems imp lemented in Java. Section 3 gives our reasons to select Java asthe TOS implementation language. Section 4 outlines the overall architecture of TOS, whilesection 5 provides some information on TOS implementation and portability.2 . Re l a te d w o r k

    There are two groups of work related to ours - educational operating systems andoperating systems imp lemented in Java.2 .1 . Educat iona l Operat ing SystemsThe best known (at least to us - we have used all of them in our courses on operating systems)are probably Nachos, Xinu and MINIX.Nachos [ 1 developed at Duke University in 1994, is tied very firmly to the MIPS hardware itwas originally built upon. Nachos is built upon a simulator of the MIPS processor, completewith interrupts, a clock, and paging system. The kernel, running on this machine, provides threadswitching, a simula ted virtual disk and file system, and synchronization and process handlingservices.Nachos suffers a number of disadvantages. Its use of a MIPS simulator obscures its teachingeffectiveness for students unfamiliar with MIPS hardware. The kerne l also has no bootstrapmechanism of its own; the only way a user can start the system was by cross-compiling anapplication to run over Nachos, whic h would then be linked statically with the Nachos kernel.This places limitations on how effectively students could see the inner workings of the system.There were few utilities to actually view and observe system contents or data tables.Nachos does have some innovative features. One, imitated by TOS, was in simulating a virtualdisk drive rather than merely building a file system on top of a host file system. In this way,students get to see the ins and outs o f low-level I/O to disk that cannot be as easily made clear byan approach like that of Xinu (see below).

  • 8/14/2019 OS in Java Paper

    4/9

    X i n u ( ' X i n u Is N o t U n i x ' ) d e v e lo p e d b y D . C o m e r e t a l [2 ] a t P u r d u e U n i v e r s i t y t o r u n o v e r an u m b e r o f h a r d w a r e p l a t fo r m s a n d u n d e r a n u m b e r o f n a ti v e o p e r a ti n g s y s t e m s , i s m o r e a m e n a b l et o p o r t in g t h a n N a c h o s . X i n u p r o v i d e s a n e a r l y c o m p l e t e r a n g e o f s y s t e m s e r v ic e s , b u t i n o t h e rr espec t s r e li e s heav i ly on i ts na t ive sys t e m fo r suppor t . I t s f i l e sys t em, fo r i n s t ance , is mere ly aw r a p p e r t o t h e u n d e r l y i n g n a t i v e f il e s y s te m . A s w i t h N a c h o s , u s e r s u s e a c r o s s - c o m p i l e r toc r ea t e p rograms; f u r the r , t hey even have to l i nk i t d i r ec t ly wi th the Xinu ke rne l i n o rde r t o r unthe i r app l i ca t ions! Thus the on ly e f f ec t ive way fo r t he use r t o r un more than one p rocess i s f o rone p rocess to ex p l i c i t l y c r ea t e ano ther .The Xinu code base con ta in li be r a l quan t i t i e s o f p l a t fo rm-d epend en t code . S tuden t s a re fo r cedto wade th rough do zens o f r e f e r ences to na t ive OS fun c t ions tha t a r e no t docume n ted in the Xin ut e x t. T h e y h a v e o n l y th e f u n c t i o n ' s n a m e f r o m w h i c h t o i n f e r i t s o p e r a t i o n , a n d th i s o n l yde t r imen t s t he i r unde r s t and ing o f Xin u opera t ions .D e s p i t e i t s n a m e , X i n u d o e s o f f e r m a n y s i m i l a r it i e s t o U N I X . I t a l s o o f fe r s a w e l l -o r g a n i z e d ,comp rehens ive , an d nea t sys t em a r ch i tec tu r e .M i n i x [6 ] (M i n i U n i x ) w a s d e v e l o p e d b y A . T a n e n b a u m a n d h i s s t u d en t s i n m i d -1 9 8 0 s t os u b s ti t ut e U N I X , w h e n i t b e c a m e u n a v a i l a b l e f o r s tu d y . I t is q u i t e l a rg e s y s t e m ( a r o u n d 2 7 0 0 0l i n e s o f co d e ), m u c h l a r g e r t h a n N a c h o s a n d X I N U . L i k e U N I X , M I N I X w a s w r i t te n i n t h e Cprogram ming l anguage and w as in t ended to be easy to po r t to va r ious compute r s .M I N I X w a s o r i g i n a l l y d e s i g n e d f o r c o m p a t i b i l it y w i t h V e r s i o n 7 U N I X , b u t w a s l a te r m o d i f i e dt o c o m p l y w i t h t h e P O S I X s t a n da r d . I t is a s t a n d a lo n e , s i n g l e p ro c e s s o r O S r u n n i n g o n b a r ehardware . I t s tr ong ly depends on the ha rdware com ponen t s and the i r conf igu ra t ion .I t i s i n t e r es t ing to no te , t ha t r e s i s t ance by A . Tane nbau m to fu r the r enhan ce M INI X by i t s u se r sl e d to d e v e l o p m e n t o f L i n u x .2.2. Operating Systems in JavaT h e b e s t k n o w n J a v a - i m p l e m e n t e d o p e r a t in g s y s t e m i s o f c o u rs e J a v a O S [ 4] , t h e S u n ' s p l a tf o r mf o r J a v a , i n t e n d e d f o r u s e o n l e g a c y c o m p u t e r s y s t e m s , n e t w o r k c o m p u t e r s ( N C s ) a n d a w i d ev a r i e t y o f e m b e d d e d d e v i c e s a n d a p p l ia n c e s . J a v a O S p r o v i d e s a l l t h e fu n c t i o n a l i t y o f a no p e r a ti n g s y s t e m o n w h i c h J a v a p r o g r a m s c a n b e r u n .I t m i g h t b e t h o u g h t t h a t T O S c o u l d b e b u i l t u s i n g J a v a O S a s a r e f e r e n c e m o d e l . S u c h a nassum pt ion wou ld be mis t aken . JavaO S bear s l i t t le r e sem blance to TOS , e i the r i n i t s t a rge t s o ri t s b a s i c d e s i g n p h i l o s o p h y . F o r s t a r te r s , i t i s n o t a d i s t r i b u t e d o p e r a t i n g s y s t e m , b u t au n i c o m p u t e r o p e r a t in g s y s t e m i n t e n d e d m e r e l y t o b e p o r ta b l e e v e n t o s m a l l h a n d h e l d d e v i c e s o rhouseho ld app l i ances .Second ly , desp i t e i ts name , JavaO S i s no t en t i r e ly wr i t t en in Java . A l l opera t ing sys t ems mus t ,a t some po in t o r ano the r , dea l d i r ec t ly wi th the ha rdware , and tha t mean s a l ay e r o f na t ive codei s e ssen t i a l. The co re o f JavaO S i s t hus wr i t t en in C . Us e o f C code wo u ld v io l a t e one o f t hek e y r e q u ir e m e n t s o f T O S , t h a t i t b e i m p l e m e n t e d e n t i re l y i n Ja v a .JavaSpaces , no t JavaOS , i s t he nea r es t t h ing Sun has to a d i s t r ibu ted opera t ing sys t em.Like TO S, JavaSp aces i s based on the p r inc ip l e o f p rov id ing a un i f i ed , cons i s t en t se t o f se rv i cesf o r d i s t ri b u t e d a p p l i c a t io n s a l r e a d y r u n n i n g o n t o p o f a n a t i v e o p e r a t i n g s y s t e m w i t h i t s o w ncopy o f t he Java v i r tua l mach ine . How ever , em ula t ing i ts des ign wou ld no t be ad v i sab le f o r aneduca t iona l sys t em.

  • 8/14/2019 OS in Java Paper

    5/9

    F u n d a m e n t a l l y , J a v a S p a c e s o f f e r s j u s t t h r e e o p e r a t i o n s - w r i t e , l o o k u p , a n d t a k e , w i t h w h i c happl ica t ions can pas s in fo rma t io n in to and re t r i eve i t f rom an ob jec t c a l l ed a space, wh ich ac t s a sa n o b j e c t - i n d e p e n d e n t r e p o s i t o r y f o r d a ta . D i s t r ib u t e d a p p l i c a t i o n d e v e lo p e r s m a y f i n d t h ish i g h l y u s e f u l , b u t s t u d e n t s l e a r n i n g h o w o p e r a t i n g s y s te m s w o r k w i l l n o t . J a v a S p a c e s i s , a f te ra l l, n o t a n o p e r a t i n g s y s t e m b u t a f r a m e w o r k i n w h i c h d i s t ri b u t e d a p p l i c a ti o n s c a n b e d e p l o y e d .I t i s tr u e t h a t f r a m e w o r k s d o m i n a t e th e m a r k e t p l a c e t o d a y a n d e x c l u d e t r u e d i s t ri b u t e d o p e r a t i n gs y s t em s , b u t t h a t m a y c h a n g e .3 . R a t i o n a l s f o r J a v a a s t h e T O S i m p l e m e n t a t i o n l a n g u a g e

    T h e w i d e s p r e a d a c c l a i m t h a t J a v a i s r e c e i v i n g i n b o t h a c a d e m i a a n d i n d u s t r y i s w e l lj u s t i f i e d . T h e l a n g u a g e c a n n o t t ru l y b e s ai d t o i n c o r p o r a t e t h e v e r y la t e s t a d v a n c e s i np r o g r a m m i n g l a n g u a g e t h e o r y , b u t n o n e t h e l e s s it m a n a g e s t h e r a re f e a t o f p r o v i d i n g a b a s e f o rrobus t , s tab le program s whi le g iv ing program mers m any ca sua l s imi la r it i e s to C++.A s a p r o g r a m m i n g l a n g u a g e , J a v a e l i m i n a t es m a n y o f t h e c r i ti c is m s t h a t c a n b e m a d e o f t h ep r e v i o u s i n d u s t r y la n g u a g e s t a n d a rd s , C a n d C + + . J a v a b o a s ts l a n g u a g e - l e v e l s u p p o r t fo r t h re a d sa n d r u n t i m e e x c e p t io n s . I t c o m p i l e s t o a p l a t f o r m - i n d e p e n d e n t b y t e c o d e th a t m a k e s p o r t i n g t oo t h e r h a r d w a r e s v e r y n e a r l y tr i v i al . I t is f u l l y o b j e c t - o ri e n t e d , n o t a h y b r i d l i k e C + + . I ts u s e o fa u t o m a t i c g a r b a g e c o l l e c t i o n fo r o u t - o f - s c o p e o b j e c t s a n d i ts d e l i b e r a t e l a c k o f a p o i n t e rm e c h a n i s m m a k e i m p o s s i b l e s o m e o f th e m o s t f r e q u e n t a n d e x p e n s i v e b u g s i n C + + p r o g r a m s .T h e u s e o f J a v a a s b o t h t h e s y s t e m l a n g u a g e a n d a p p l i c a t io n la n g u a g e n a t u r a l l y h a s a c o n s i d e r a b lei m p a c t o n t h e l a y e r i n g o f t h e s y s t e m . C e r t a i n f a c il i ti e s t h a t t r a d i t io n a l l y a r e p a r t o f a n o p e r a t i n gs y s t e m h a v e b e e n o m i t te d f r o m T O S c o m p l e t e l y w i t h o u t c o m p r o m i s i n g th e s y s t e m ' s q u a l it y .These a re :a) Schedul ing.T h r e a d s a r e a p a r t o f th e J a v a l a n g u a g e a n d t h e i r s c h e d u l i n g a n d c o n t e x t s w i t c h i n g i s th er e s p o n s i b i l i t y o f t h e J a v a V i r t u a l M a c h i n e . P r o v i d i n g a s e p ar a t e t h r e a d i n g m e c h a n i s m f o T O Sw o u l d h a v e b e e n r e i n v e n t i n g t h e w h e e l . I n s te a d , T O S h a s e x t e n d e d t h e J a v a t h r ea d i n g m e c h a n i s mt o a l l o w c o m m u n i c a t i o n b e t w e e n a n d c o o r d i n a t i o n o f th r e a d s l o c a t e d i n d i f f e r en t v ir t u a l m a c h i n e so n d i f f e re n t c o m p u t e r s .b ) M e m o r y m a n a g e m e n t.J a v a p ro g r a m s d o n o t h a v e t o w o r r y a b o u t m e m o r y . T h e J a v a V i rt u a l M a c h i n e ( JV M ) p r o v i d e sa p p l i ca t io n s w i t h a l l t h e m e m o r y t h e y n e ed . T h e J V M h a n d l e s th e n u a n c e s o f o b t a i n i n g m o r em e m o r y f r o m t h e u n d e r l y i n g h o s t o p e r a ti n g s y st e m . J a v a p r o g r a m m e r s d o n o t e v e n n e e d t oc o n c e r n t h e m s e l v e s w i t h r e t u r n in g m e m o r y t h e y n o l o n g e r n e e d t o t h e s y s t em , b e c a u s e o f t h eJ V M ' s a u t o m a t i c g a r b a g e c o l l e c t i o n m e c h a n i s m w h i c h a u t o m a t i c a l l y d e a l l o c a t e o b j e c t s w i t h n or e f e re n c e s t o th e m . A n y c o n c e p t o f a g l o b a l, T O S - w i d e s t a c k o r h e a p w o u l d b e b o t h r e d u n d a n ta n d u n n e c e s s a r y , a n d h a s t h e r e fo r e b e e n s a f e l y o m i tt e d .V e r s i o n 1 .1 o f t h e J a v a D e v e l o p m e n t K i t ( J D K ) i n t r o d u c e d th e R e m o t e M e t h o d I n v o c a t i o ns y s t e m ( R M I ) . T h i s is t h e c o m p o n e n t t h a t m a k e s T O S p o s s i b l e . R M I m a k e s p o s s i b le t h es e a m l e s s in v o c a t i o n o f a m e t h o d o f a re m o t e o b j e c t as i f i t w e r e l o c a l . E v e r y o n e o f t h e s er v e rp r o c e s s e s i n T O S i s s u c h a n e x p o r t e d r e m o t e o b j e c t w h o s e f u n c t i o n s a r e th u s e a s i l y a c c e s s ib l e t oa n y c l i e n t p r o ce s s .T h e J D K c o m e s w i t h a s i m p l e t o o l, rmiregistry, w h i c h c a n b e r u n f r o m t h e c o m m a n d l i n e o ri n v o k e d v i a t h e s t a t ic l i b r a r y f u n c t i o n Registry.createRegistry O. T h i s t o o l s e ts u p a n e t w o r k

  • 8/14/2019 OS in Java Paper

    6/9

    p o r t o n w h i c h to l i st e n f o r r e m o t e c a ll s . A n y c l i e n t c a n l o o k u p o b j e c t s e x p o r t e d t o th a t p o r tu s i n g t h e Naming.lookupO f u n c t io n , w h i c h t a k e s a U R L a s a n a rg u m e n t .W h e n c l ie n t s m a k e u s e o f a l o o k u p f u n c t i o n , th e R M I l i b r a ri e s r e tu r n a r e m o t e s tu b o b j e c t , w h i c ht o t h e c li e n t is a r e m o t e o b j e c t . T h e c l i e n t i s t h e n f r e e to m a k e r e m o t e c a l l s f r e e l y , w i t h o u t h a v i n gt o c o n c e r n i t s e l f a t a l l w i t h t h e d i s t i n c ti o n b e t w e e n l o c a l a n d r e m o t e .R e m o t e s t u b s a re s e r ia l i z a b l e o b j e c t s. T h i s m e a n s t h e y c a n b e p a s s e d a s p a r a m e t e r s t o o t h e rf u n c t i o n s o r e v e n to o t h e r p r o c e s s e s . T O S m a k e s c o n s i d e r a b l e u s e o f t h i s; i t i s , i n f a c t, th e m a i nm e t h o d d i f f e r e n t se r v e r s u s e t o k e e p t r a ck o f s y s t e m o b j e c t s. A n y p i p e s e r v e r c a n th u s d e a l w i t ha n y p i p e; a n y s y n c h r o n i z a t i o n s e r v e r c a n d e a l w i t h a n y s y n c h r o n i z a t i o n o b j e c t.4 . O v e r v i e w o f T O S4 . 1 . T O S A r c h i t e c t u r e a n d C o m p o n e n t s

    T O S m a y r u n o n a n y n u m b e r o f m a c h i n e s , a s l o n g a s th e y a r e c o n n e c t e d o n a s in g l ep h y s i c a l n e t w o r k , i n tr a n e t, o r t h e I n t e rn e t . T O S c o n s i s t s o f t w o k i n d s o f c o m p o n e n t s -l a u n c h e r s a n d s e r v e r s . L a u n c h e r s c o n t a i n t h e b a s i c T O S f u n c t i o n a l i t y , w h i l e m o s t o d t h e O Ss e r v ic e s a r e p r o v i d e d b y s e r ve r s .T o s t a rt T O S o n a m a c h i n e a u s e r m u s t f ir s t r u n a l a u n c h e r p r o g r a m o n t hi s m a c h i n e . T h e f i r stl a u n c h e r t o r u n w i l l s ta r t u p a f i l e n a m e s e r v er , p i p e s e rv e r , a n d s y n c s e r v e r . O t h e r l a u n c h e r sm u s t c o n n e c t t o a n a l r e a d y - r u n n i n g l a u n c h er .

    /

    L W ~ Q ~" L r n m ~ . ~ ) " c ~ m . E

    ~eL'W]"~t'l~e~gellpeec mmecwlL

    !

    I

    II

    i

    Fk~[ - - - t iI l a r i a t

    a :z [-~tls[ 1

    P

    A d . r ~

    . . . . . . . . . - - - - - - . . . . .

    . . . . . .

    . . . . . . . . . . . . . . . . . . . t ~ e

    F i g . 1 . T O S a r c h i te c t u r e a n d c o m p o n e n t s .L a u n c h e r s h a v e th r e e b a s i c re s p o n s i b i li t ie s :a ) S t a r t in g a n d s t o p p i n g s e r v e r s

  • 8/14/2019 OS in Java Paper

    7/9

    M o s t c o m p u t e r s d o n o t p e r m i t a p r o g r a m r u n n i n g o n a n o t h e r m a c h i n e t o r e m o t e l y s t a r t ap r o c e s s . T o g e t a r o u n d t h i s, a l a u n c h e r m u s t b e s ta r t e d d i r e c t l y b y a u s e r o n e v e r y h o s t t h a t w i l lb e r u n n i n g T O S s e r v e r c o m p o n e n t s . O n c e t h e l a u n c h e r i s i n p l a c e , i t c a n m a k e u s e o f t h e J a v aR u n t i m e . e x e c 0 f u n c t i o n to l a u n c h o t h e r s e r ve r s. S i m i l a r l y , l a u n c h e rs c a n b e e m p l o y e d to f o r c et h e s h u t d o w n o f a n y r u n n i n g s e rv e r .b ) P r o v i d i n g a c c e s s p o i n t sE n d u s e r s n e v e r s e e t h e s e rv e r s, o n l y t h e l a u n c h e rs . T h e l a u n c h e r s i g n i fi e s t h e p r e s e n c e o f T O So n a h o s t a n d i s t h e s i n g l e p o i n t t o w h i c h u s e r - w r i t t e n a p p l i c a t i o n s c o n n e c t t o d e a l w i t h t h eo p e r a t i n g s y s te m . R e m o t e r e f e r e n c e s t o o t h e r se r v e rs a r e n o t o b t a i n e d d i re c t l y b u t a r e p r o v i d e db y t h e l a u n c h e r s .c ) M a i n t a i n i n g s y s t e m t a b l e sL a u n c h e r s m a i n t a i n l i s ts o f e v e r y s e r v e r r u n n i n g o n t h e s y s t e m , f o r t h e p u r p o s e o f b e i n g a b l e t op r o v i d e t h i s i n f o r m a t i o n t o t h e u se r ( v i a th e A d m i n i s t r a t o r ) a n d t o b e a b l e t o a d d a n d r e m o v es e r v e r s e as i ly . A r g u a b l y , t h i s i s r e d u n d a n t , s i n c e th e s e r v e r s t h e m s e l v e s o f n e c e s s i t y a l s om a i n t a i n l i s ts o f o t h e r s e r v e r s o f t h e i r c l a s s, b u t i t i s a ls o m o r e r o b u s t. T h e r i s k o f i n c o n s i s t e n c yi s t h e r e , t o b e t r u e , b u t T O S c a r r ie s o u t u p d a t e s t o t h e t a b le s i n t h e l a u n c h e r s s i m u l t a n e o u s l yw i t h t h o s e i n t h e s e r v e r s , s o i t is n o t a w o r r i s o m e f a c to r .

    M o s t o f t h e f u n c t io n a l i t y o f T O S i s p r o v i d e d i n se r v e rs . T h e r e a r e 4 t y p e s o f s e r v er si m p l e m e n t e d a t p r e s e n t - f i l e n a m e se r v e r s , d i s k s s e rv e r s , p i p e s e r v e r s a n d s y n c s e r v e r s .F i l e n a m e s e r v e r s a r e r e s p o n s i b l e fo r h o l d i n g t h e t a b l e s m o u n t i n g d i sk s t o d i r e c t o r y n a m e s .E v e r y t i m e a u s e r p r o g r a m w i s h e s t o o p e n a f il e , i t m u s t a s k a fi l e n a m e s e r v e r f o r a r e f e r e n c et o t h e c o r r e c t d i s k s e r v e r .U n l i k e o t h e r s e r v er s o f t h e T O S s y s t e m , a s i n g l e m a c h i n e m a y h a v e m o r e t h a n o n e d i s k s e rv e r .E a c h d i s k s e r v e r m a i n t a i n s i ts d a t a in a s in g l e p h y s i c a l f i l e o n t h e h o s t s y s t e m . T h e l a u n c h e r o nt h a t h o s t k e e p s t r a c k o f t h e d i s k s .P i p e s e r v e rs a r e r e s p o n s i b l e fo r t h e r u n n i n g o f th e T O S i n t e rp r o c e s s c o m m u n i c a t i o n s y st e m .T h e y p r o v i d e a f u l l - d u p l e x m e t h o d f o r t w o t h r e a d s i n d i f f e re n t T O S p r o c e s s e s t o e x c h a n g e d a t aa s y n c h r o n o u s l y . U s e r p r o g r a m s c a n c r e a t e a p i p e b y n a m e ; o t h e r p r o g r a m s c o n n e c t t o th e s a m ep i p e b y i ts n a m e , w i t h o u t h a v i n g t o k n o w a n y o f t h e d e t a il s o f t h e p i p e 's c r e a t o r a n d i ts l o c a ti o n .B o t h e n d s o f t h e p i p e c a n e v e n b e p a s s e d a s p a r a m e t e r s t o o t h e r t h re a d s o r p r o c e s s e s w i t h o u ta f f e c ti n g th e o t h e r e n d , o r e v e n d a t a a l r e a d y w i t h in t h e p i p e . T h e a c t u a l s e n d i n g a n d r e c e i v i n g o fd a t a i s c a r r i e d o u t b y t h e p i p e s e r v e rs .S y n c s e r ve r s m a n a g e t h e o b j e c t s t h a t T O S u s e r p r o g r a m s u s e t o c o o r d i n a t e a c c e s s t o s h a r e dr e s o u r c e s o r a c t i n p a r a l l e l - m u t e x e s , s e m a p h o r e s , a n d s i g n a ls . T h e i r f u n c t i o n i n g i s v e r ys i m i l a r t o t h a t o f p i p e s e r v e r s - u s e r p r o g r a m s c a n c r e a t e a n o b j e c t a n d p a s s i t f r e e l y t o o t h e rp r o c e s s e s .

  • 8/14/2019 OS in Java Paper

    8/9

    W h e n t h e f i rs t l a u n c h e r o f t h e T O S s y s t e m i s s t ar t e d , i t c r e a t e s o n e f i l e n a m e s e r v e r, o n e p i p es e r v e r, a n d o n e s y n c s e r v e r. E a c h n e w l a u n c h e r t h a t st a rt s c o n n e c t s to t h e th r e e e x i s t i n g s e r v e rs .T h u s , e a c h l a u n c h e r h a s o n e c o n n e c t i o n to o n e s e r v e r o f e a c h t y p e , w h i c h i s r e f e r r e d t o h e r e a s i t sde fau l t s e rve r .L a u n c h e r s c h a n g e t h e i r d e f a u l t s e r v e r i f t h e A d m i n i s t r a t o r h a s t h e m s t ar t a s e r v e r o n t h e i r o w n

    h o s t l i s t e n i n g o n t h e i r p o r t. W h e n e v e r a u s e r p r o c e s s n e e d s a r e f e r e n c e t o a s e r v e r , it a s k s i tsl a u n c h e r t o p r o v i d e o n e . T h e l a u n c h e r w i l l p r o v i d e i t t h e r e f e r e n c e o f i ts d e f a u l t s e r v er . E a c hs e r v e r i s c o n n e c t e d t o e v e r y o t h e r s e r v e r , s o a r e f e r e n c e t o o n e , i s, i n e f f e c t, a r e f e r e n c e t o t h e mall.F o r e x a m p l e , t o u s e a n y p i p e i n t h e s y s t e m i t d o e s n o t m a t t e r w h i c h p i p e s e r v e r a u s e ra p p l i c a t i o n i s c o n n e c t e d t o . I f a p i p e s e r v e r d o e s n o t c o n t a i n t h e p i p e r e q u e s t e d b y t h e u s e r , i tw i l l r e f e r t h e u s e r o v e r to t h e c o r r e c t p i p e s e r v e r t r a n s p a r e n t ly . A t n o t i m e d o e s t h ea p p l i c a ti o n p r o g r a m m e r e v e n n e e d t o k n o w w h e r e t h e p i p e i s. T h e s a m e i s t r u e o f s y n c o b j e c t sa n d s y n c s e r v e r s .U s e r p r o c e s s e s a l so h a v e a d e f au l t s e rv e r , w h i c h w i l l s im p l y b e t h e s a m e o f t h e l a u n c h e r t h e yc o n n e c t to o n st a rt u p , w h i c h w i l l i n t u r n b e t h e s a m e a s t h e c o n s o l e t h a t s ta r t e d t h e m , i f t h e yw e r e s t a r te d f r o m a c o n s o l e .T o a d m i n i s t e r t h e s y st e m , th e u s e r m u s t ru n t h e G U I A d m i n i s t r a t o r p r o g r a m . T h i s c a n b e r u nf r o m a n y w h e r e o n t h e n e t w o r k , n o t n e c e s sa r i l y a m a c h i n e r u n n i n g a l a u n c h e r . O n c e i t c o n n e c t st o o n e o f t h e l a u n c h e r s , i t c a n d i s p l a y i n f o r m a t i o n a b o u t t h e h o s t s i n th e T O S s y s t e m , t h er u n n i n g p r o c e s s e s , s e rv e r s , a n d d i s k s , a n d i n d i v i d u a l p i p e a n d s y n c h r o n i z a t i o n o b j e c t s. N e ws e rv e r s a n d d i s k s c a n b e c r e a t e d o r r e m o v e d f r o m t h e s y s t e m ; d e a d l o c k s c a n b e b r o k e n b y k i l l in gp r o c e s s e s o r d i r e c t l y m a n i p u l a t i n g p i p e s o r s y n c h r o n i z a t i o n o b j e c ts .T O S a ls o h a s a C o n s o l e p r o g ra m , p r o v i d i n g a c o m m a n d - l i n e s h e ll th r o u g h w h i c h u s e rs c a nn a v i g a t e t h e f il e s y s t e m a n d c r e a t e a n d d e s t r o y f il e s . T h e y m a y a l s o e d i t , c o m p i l e , a n d r u n J a v ap r o g r a m s d i r e c t l y .U s e r a p p l i c a t i o n s t h a t m a k e u s e o f T O S a r e d e r i v e d f r o m a n a b s t ra c t c l a s s c r e a t e d f o r t h isp u r p o s e , c a l l e d T O S P r o c e s s , t h a t p r o v i d e s a c c e s s to s y s t e m s e r v i c e s w i t h o u t p e r m i t t i n g su b c l a s sd e v e l o p e r s t o s e e t h e d e t a i ls o f t h e i m p l e m e n t a t i o n .4 .2 . Advantages o f the TOS arch itecturea ) I n c r e m e n t a l E x t e n d i b i l i t yA n e w l a u n c h e r , s e r v e r, o r d i s k c a n b e a d d e d a t a n y t i m e a n d r e m o v e d a t a n y t i m e w i t h o u ta f f e c ti n g th e f u n c t i o n i n g o f t h e re s t o f th e s y s t e m . U s e r p r o g r a m s n e e d n o t h a v e t o w o r r y a b o u tt h e p h y s i c a l l o c a t i o n o f d i sk s , s e rv e r s , a n d l a u n c h e r s . T h e s i n g l e l a u n c h e r t h e y c o n n e c t e d t o w i l lp r o v i d e t h e m a c c e s s t o t h e e n t i r e s y st e m .b ) U n i v e r s a l A c c e s s P o i n tsA n a p p l i c a ti o n p ro g r a m , u p o n s t a r ti n g u p, h a s o n l y t o c o n n e c t w i t h o n e l a u n c he r . T h a t l a u n c h e rw i l l p r o v i d e t h e a p p l i c a t i o n , e i t h e r d i r e c t l y o r i n d i r e c t l y , w i t h a l l t h e r e f e r e n c e s t o s e r v e r s a n d

  • 8/14/2019 OS in Java Paper

    9/9

    d i s k s th a t i t n e e d s , r e g a rd l e s s o f t h e i r lo c a t i o n s . T h e n u a n c e s o f d e a l in g s w i t h s e r v e r s a n d d i s k sa re in h idden sec t ions of the use r app l ica t ion , l e av ing the program mer w i th l a rge ly has s le - f r eeu s e o f T O S s y s t e m s e r v ic e s .T h e s a m e p r i n c i p l e is a p p l i e d w i t h i n t h e T O S a r c h i te c t u r e i t se l f. L a u n c h e r s d o n o t h a v e t o s e a r c hfor and ma ke d i r ec t contac t w i th ind iv idu a l s e rver s ; e ach one m a in ta ins a r e fe rence to a s ing les e r v e r o f e a c h t y p e a n d u s e s t h a t r e f e re n c e t o a c c es s t h e e n t i re s u b s y s te m . T h e o n l y e x c e p t i o n t ot h i s p r i n c ip l e a r e d i s k s , w h i c h h a v e t o b e p e r s i s t e n t a n d t h e r e f o r e d e a l d i r e c t l y w i t h t h e i rlauncher .5 . C o n c l u s i o n s

    T h e s y s t e m d e s c r i b e d i n th i s p a p e r w a s d e s i g n e d , i m p l e m e n t e d a n d t e st e d o n t h r e ep l a t fo r m - M a c i n to s h u n d e r M a c O S , P C u n d e r W i n d o w s N T a n d S G I u n d e r IR I X .T O S d o e s h a v e e x p l i c i t i n s t a l la t i o n f i le s f o r W i n d o w s , U N I X , a n d t h e M a c i n t o s h , b u t p o r t i n g t oo t h e r p la t f o r m s w i l l b e a l m o s t tr i v ia l . T h e o n l y p l a t fo r m - d e p e n d e n t c o d e i s a s m a l l i f - e l s e i fs t ru c t u re t o c h o o s e t h e l o o k a n d f e e l f o r G U I c o m p o n e n t s , a s i n g l e l i n e o f c o d e i n t h e c o n s o l e i nw h i c h u s e r a p p l i c a t i o n s a r e r u n , a n d t h e n a t i v e p a c k a g i n g u s e d t o s t ar t T O S e x e c u ta b l e s.I n c o m p a r i s o n w i t h s o m e o t h e r e d u c a t i o n a l o p e r a t i n g s y st e m s , T O S i s re l a t i v e l y s m a l l - 1 1 0 0 0l i n e s o f c o d e , y e t i t r e p r e s en t s n o t o n l y th e c u r r e n t tr e n d s i n c o m m e r c i a l o p e r a t in g s y s t e m s b u tg o e s m u c h f u r t h e r ah e a d . W e c a n c o n c l u d e th e r e f o r e t h a t t h e g o a l s s e t a t t h e b e g i n n i n g o f t h ep r o j e c t h a v e b e e n r e ac h e d . W e a r e w o r k i n g n o w o n s o m e e x t e n si o n s to t h e p r e s e n t v e r s io n o fT O S a n d o n i ts i n c l u s i o n in o u r o p e r a t in g s y s t e m s c o u r s e .T h e s o u r c e c o d e a n d f u l l d o c u m e n t a t i o n o f T O S i s a v a i la b l e f o r d o w n l o a d i n g o n o u r w e b s i d e [ 5]s u b j e c t t o c o p y r i g h t a n d t o t h e c o n d i t i o n s o f t h e G N U P u b l i c L i c e n c e .R e f e r e n c e s1 . A n d e r s o n , T . , N a c h o s , h t t p : / /w w w . c s . b e r k e l e y . ed u / ~ t e a / n a c h o s2 . C o m e r , D . a n d M u n s o n , S ., O p e r a t i n g S y s t e m D e s i g n V o l . 1 : T h e X i n u A p p r o a c h , E n g l e w o o d

    Clif fs , Pren t ice Hal l , 1989.3 . D o w n i n g , T . B . , J a v a R M I : R e m o t e M e t h o d I n v o c a ti o n , N e w Y o r k : ID G B o o k s , 1 9 98 .

    M i c r o s o f t C o r p o r a t i o n , M i c r o s o f t D e v e l o p e r N e t w o r k L i b r a r y , J u l y 1 9 9 8 E d i t i o n ,R e d m o n d : M i c r o s o f t , 1 9 98 .

    4 . J a v a O S , h t t p : / / w w w . s u n . c o m / j a v a o s / , S u n M i c r o s y s t e m s I n c .5 . N i c h o l a s , T ., A M i c r o k e r n e l - B a s e d E d u c a t i o n a l O p e r a ti n g S y s t e m i n J a v a , D e c . 1 9 9 8 ,

    C O S C 4 F 9 0 P r o j e c t p r o p o s e d a n d s u p e r v i s e d b y J . A . B a r c h a n s k i ,http://ww w .cosc.brocku.ca/Offerings/4F 90 /info/nicholas/6 . T a n e n b a u m , A . S . , W o o d h u l l , A . S . , O p e r a t in 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 ,

    Secon d Edi t ion , Pren t ice Ha l l , 1997.7 . Tan enba um , A . S . , D is t r ibu ted Ope ra t ing Sys tems , Pren t ice Ha l l , 1995 .

    10