Chapter 2: Operating-System Structures ● Wh a t a r e t h e s e r v i c e s p r o v i d e d b y a n O S ? ● Wh a t a r e s y s t e m c a l l s ? ● Wh a t a r e s o m e c o m m o n c a t e g o r i e s o f s y s t e m c a l l s ? ● Wh a t a r e t h e p r i n c i p l e s b e h i n d O S d e s i g n a n d i m p l e m e n t a t i o n ? ● Wh a t a r e c o m m o n w a y s o f s t r u c t u r i n g a n O S ? ● H o w a r e V M s a n d O S r e l a t e d ? ● H o w i s a n O S i n s t a l l e d ? ● H o w d o e s a n O S b o o t ? 1
Operating System Services ● O p e r a t i n g - s y s t e m s e r v i c e s t h a t a r e h e l p f u l t o t h e u s e r ● u s e r i n t e r f a c e – a l m o s t a l l o p e r a t i n g s y s t e m s h a v e a u s e r i n t e r f a c e ( U I ) ● C o m m a n d - L i n e ( C L I ) ● G r a p h i c s U s e r I n t e r f a c e ( G U I ) ● T o u c h - S c r e e n I n t e r f a c e ● p r o g r a m e x e c u t i o n – l o a d i n m e m o r y a n d r u n a p r o g r a m ● e n d e x e c u t i o n , e i t h e r n o r m a l l y o r a b n o r m a l l y ( i n d i c a t i n g e r r o r ) ● I / O o p e r a t i o n s – a l l o w i n t e r a c t i o n w i t h I / O d e v i c e s ● p r o v i d e e ffj c i e n c y a n d p r o t e c t i o n ● fj l e - s y s t e m m a n i p u l a t i o n – p r o v i d e u n i f o r m a c c e s s t o m a s s s t o r a g e ● c r e a t e , d e l e t e , r e a d , w r i t e fj l e s a n d d i r e c t o r i e s ● s e a r c h , l i s t fj l e I n f o r m a t i o n ● p 2 e r m i s s i o n m a n a g e m e n t .
Operating System Services (2) ● O p e r a t i n g - s y s t e m s e r v i c e s t h a t a r e h e l p f u l t o t h e u s e r ( c o n t . . . ) ● i n t e r - p r o c e s s c o m m u n i c a t i o n – e x c h a n g e i n f o r m a t i o n a m o n g p r o c e s s e s ● s h a r e d m e m o r y , P O S I X s h m _ o p e n ( ) ● m e s s a g e p a s s i n g , m i c r o k e r n e l O S , R P C , C O R B A , e t c . ● e r r o r d e t e c t i o n – a w a r e n e s s o f p o s s i b l e e r r o r s ● C P U a n d m e m o r y h a r d w a r e ( p w e r f a i l u r e , m e m o r y f a u l t ) ● I / O d e v i c e e r r o r s ( p r i n t e r o u t - o f - p a p e r , n e t w o r k c o n n e c t i o n f a i l u r e ) ● u s e r p r o g r a m ( s e g m e n t a t i o n f a u l t , d i v i d e - b y - z e r o ) 3
Operating System Services (3) ● O p e r a t i n g s y s t e m s e r v i c e s f o r e ffj c i e n t s y s t e m o p e r a t i o n ● r e s o u r c e a l l o c a t i o n – p r o v i d i n g a c c e s s t o s h a r e d r e s o u r c e s i n m u l t i u s e r s y s t e m ● C P U c y c l e s , m a i n m e m o r y , fj l e s t o r a g e , I / O d e v i c e s ● A c c o u n t i n g – k e e p t r a c k o f s y s t e m r e s o u r c e u s a g e ● f o r c o s t a c c o u n t i n g ● a c c u m u l a t i n g u s a g e s t a t i s t i c s ( f o r p r o fj l i n g , e t c . ) ● P r o t e c t i o n a n d s e c u r i t y – r e s t r i c t a c c e s s t o c o m p u t e r r e s o u r c e s ● e n s u r e t h a t a l l a c c e s s t o s y s t e m r e s o u r c e s i s c o n t r o l l e d ( p r o t e c t i o n ) ● p r o t e c t s y s t e m f r o m o u t s i d e r s ( ) s e c u r i t y ● u s e r a u t h e n t i c a t i o n , fj l e a c c e s s c o n t r o l , a d d r e s s s p a c e r e s t r i c t i o n s , e t c . 4
A View of Operating System Services 5
System Calls ● P r o g r a m m i n g i n t e r f a c e t o t h e s e r v i c e s p r o v i d e d b y t h e O S ● r e q u e s t p r i v i l e g e d s e r v i c e f r o m t h e k e r n e l ● t y p i c a l l y w r i t t e n i n a h i g h - l e v e l s y s t e m l a n g u a g e ( C o r C + + ) ● M o s t l y a c c e s s e d b y p r o g r a m s v i a a h i g h - l e v e l A p p l i c a t i o n P r o g r a m I n t e r f a c e ( A P I ) r a t h e r t h a n d i r e c t s y s t e m c a l l u s e ● p r o v i d e s a s i m p l e r i n t e r f a c e t o t h e u s e r t h a n t h e s y s t e m c a l l i n t e r f a c e ● r e d u c e s c o u p l i n g b e t w e e n k e r n e l a n d a p p l i c a t i o n , i n c r e a s e s p o r t a b i l i t y ● C o m m o n A P I s ● Wi n 3 2 A P I f o r Wi n d o w s ● P O S I X A P I f o r P O S I X - b a s e d s y s t e m s ( i n c l u d i n g v i r t u a l l y a l l v e r s i o n s o f U N I X , L i n u x , a n d M a c O S X ) ● I m p l e m e n t a t i o n ● s o f t w a r e t r a p , r e g i s t e r c o n t a i n s s y s t e m c a l l n u m b e r ● s 6 y s c a l l i n s t r u c t i o n f o r f a s t c o n t r o l t r a n s f e r t o t h e k e r n e l
Example of System Calls ● S y s t e m c a l l s e q u e n c e t o c o p y t h e c o n t e n t s o f o n e fj l e t o a n o t h e r fj l e 7
API – System Call – OS Relationship 8
Standard C Library Example ● C p r o g r a m i n v o k i n g p r i n t f ( ) l i b r a r y c a l l , w h i c h c a l l s w r i t e ( ) s y s t e m c a l l 9
System Call Parameter Passing ● P a s s a d d i t i o n a l i n f o r m a t i o n t o t h e s y s t e m c a l l . ● T h r e e g e n e r a l m e t h o d s u s e d t o p a s s p a r a m e t e r s t o t h e O S ● p a s s t h e p a r a m e t e r s i n r e g i s t e r s ● s i m p l e s t , f a s t e s t ● w h a t i f m o r e p a r a m e t e r s t h a n r e g i s t e r s ? ● s t o r e a r g u m e n t s i n a b l o c k o n s t a c k ● p a s s s t a c k l o c a t i o n i n a r e g i s t e r ● p a r a m e t e r s o n t h e b y t h e p r o g r a m a n d o fg t h e s t a c k p u s h e d s t a c k p o p p e d b y t h e o p e r a t i n g s y s t e m ● P u r e r e g i s t e r m e t h o d i s h a r d l y e v e r u s e d ● b l o c k a n d s t a c k m e t h o d s d o n o t l i m i t t h e n u m b e r o r l e n g t h o f p a r a m e t e r s b e i n g p a s s e d 10
Recommend
More recommend