$ od -c -N 50000 [_CDCSL_93-16_]<1>ThreadsStudyPaper>ThreadsStudy.interpress 0000000 I n t e r p r e s s / X e r o x 0000020 / 3 . 0 240 f 240 j 305 005 X e r o x 0000040 305 \a X C 1 - 3 - 3 305 \a C l a s s 0000060 i c 017 243 241 033 240 223 304 004 003 # \0 P 240 244 0000100 240 224 017 240 225 305 005 X e r o x 305 \a X C 0000120 1 - 3 - 3 305 \f C l a s s i c - b 0000140 o l d 017 243 241 033 240 223 304 004 003 # \0 P 240 0000160 244 240 224 017 241 225 305 005 X e r o x 305 \a X 0000200 C 1 - 3 - 3 305 \v M o d e r n - b 0000220 o l d 017 243 241 033 240 223 304 004 003 # \0 2 240 0000240 244 240 224 017 242 225 305 005 X e r o x 305 \a X 0000260 C 1 - 3 - 3 305 006 M o d e r n 017 243 0000300 241 033 240 223 304 004 \t i \0 310 240 244 240 224 017 243 0000320 225 240 k 240 j 017 241 017 245 223 304 004 \0 177 023 210 0000340 240 244 240 250 017 240 017 240 240 242 240 250 304 004 \0 d 0000360 034 ; 240 244 240 250 017 241 240 244 240 250 017 240 240 243 0000400 240 250 017 240 240 227 304 004 C 317 \0 7 304 004 = 020 0000420 001 5 212 301 001 1 226 304 006 \0 345 \r \0 001 \n 304 0000440 004 ) 324 \0 017 212 017 241 240 227 301 \b W e i s 0000460 e r , 226 017 240 240 227 301 032 A u g u s 0000500 t 4 , 1 9 9 3 2 : 3 9 p 0000520 m P D T 226 304 004 f 345 \0 v 304 006 003 302 0000540 ) \0 001 b 212 017 240 240 227 301 # C h a u s 0000560 e r , A u g u s t 4 , 1 9 0000600 9 3 2 : 5 0 p m P D T 226 304 0000620 004 034 ; \0 d 304 004 t 260 \0 / 212 017 242 240 227 0000640 301 4 U s i n g T h r e a d s 0000660 i n I n t e r a c t i v e S 0000700 y s t e m s : A C a s e S 0000720 t u d y 226 304 004 034 ; \0 d 304 006 \0 0000740 232 213 \0 \0 B 212 017 243 240 227 301 J C a r l 0000760 H a u s e r , C h r i s t i 0001000 a n J a c o b i , M a r v i 0001020 n T h e i m e r , B r e n t 0001040 W e l c h a n d M a r k 0001060 W e i s e r 226 304 004 034 ; \0 d 304 006 \0 0001100 242 351 \0 \0 G 212 304 004 034 ; \0 d 304 006 \0 272 0001120 212 \0 \0 S 212 017 243 240 227 301 \n X e r o x 0001140 P A R C 226 304 004 034 ; \0 d 304 004 2 234 0001160 \0 027 212 017 243 240 227 301 025 3 3 3 3 C o 0001200 y o t e H i l l R o a d 226 304 0001220 004 034 ; \0 d 304 006 001 032 027 \0 \0 203 212 017 243 0001240 240 227 301 034 P a l o A l t o , C 0001260 a l i f o r n i a 9 4 3 0 4 0001300 226 304 004 034 ; \0 d 304 006 001 365 \n \0 \0 371 212 0001320 017 243 240 227 301 & C o r r e s p o n d 0001340 e n c e s h o u l d b e a 0001360 d d r e s s e d t o : 226 304 004 034 0001400 ; \0 d 304 006 \0 261 300 \0 \0 _ 212 017 243 240 227 0001420 301 \v M a r k W e i s e r 226 304 004 0001440 034 ; \0 d 304 004 325 \0 022 212 017 243 240 227 301 0001460 \n X e r o x P A R C 226 304 004 034 ; 0001500 \0 d 304 006 001 O 330 \0 \0 275 212 017 243 240 227 301 0001520 025 3 3 3 3 C o y o t e H i l 0001540 l R o a d 226 304 004 034 ; \0 d 304 004 _ 0001560 % \0 7 212 017 243 240 227 301 034 P a l o A 0001600 l t o , C a l i f o r n i a 0001620 9 4 3 0 4 226 304 004 034 ; \0 d 304 004 # 0001640 W \0 025 212 304 004 034 ; \0 d 304 006 001 T ? \0 0001660 \0 320 212 017 243 240 227 301 020 w e i s e r @ 0001700 x e r o x . c o m 226 304 004 034 ; \0 d 0001720 304 004 h W 001 4 212 240 k 240 j 017 241 017 245 223 0001740 304 004 \0 177 023 210 240 244 240 250 017 240 017 240 240 242 0001760 240 250 304 004 \0 d 034 ; 240 244 240 250 017 241 240 244 0002000 240 250 017 240 240 243 240 250 017 240 240 227 304 004 [ 243 0002020 \0 * 304 006 001 # 267 \0 \0 d 212 301 001 2 226 304 0002040 004 034 ; \0 d 304 004 ) 324 \0 017 212 017 242 240 227 0002060 301 4 U s i n g T h r e a d s 0002100 i n I n t e r a c t i v e S 0002120 y s t e m s : A C a s e S 0002140 t u d y 226 304 004 034 ; \0 d 304 004 a 0002160 225 \0 % 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0002200 f ' \0 8 017 240 240 232 240 n 240 j 305 005 X e 0002220 r o x 305 \a X C 1 - 3 - 3 305 \v M o 0002240 d e r n - b o l d 017 243 241 033 240 223 304 0002260 004 003 # \0 P 240 244 240 224 017 244 225 017 244 240 227 0002300 304 004 003 5 002 024 017 262 223 301 \n A b s t r 0002320 a c t . 226 305 005 X e r o x 305 \a X 0002340 C 1 - 3 - 3 305 006 M o d e r n 017 243 0002360 241 033 240 223 304 004 003 # \0 P 240 244 240 224 017 245 0002400 225 017 245 240 227 301 V W e d e s c r i 0002420 b e t h e r e s u l t s o 0002440 f e x a m i n i n g t w o 0002460 l a r g e r e s e a r c h a 0002500 n d c o m m e r c i a l s y 0002520 s t e m s f o r t h e 226 017 241 0002540 017 262 223 240 k 304 004 034 ; \0 d 304 006 001 373 263 0002560 \0 \0 304 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0002600 d T \0 7 017 240 240 232 240 n 240 j 305 005 X e 0002620 r o x 305 \a X C 1 - 3 - 3 305 006 M o 0002640 d e r n 017 243 241 033 240 223 304 004 003 # \0 P 0002660 240 244 240 224 017 244 225 017 244 240 227 304 004 006 i 005 0002700 341 017 262 223 301 ` w a y s t h a t 0002720 t h e y u s e t h r e a d s 0002740 . W e u s e d t w o m e 0002760 t h o d s : r e a d i n g t 0003000 h e c o d e a n d d o i n 0003020 g m i c r o s e c o n d a n 0003040 a l y s i s 226 017 241 017 262 223 240 k 304 004 0003060 034 ; \0 d 304 006 \0 257 | \0 \0 E 212 304 002 001 0003100 \n 304 002 001 \n 240 233 304 004 f ' \0 8 017 240 240 0003120 232 240 n 240 j 305 005 X e r o x 305 \a X C 0003140 1 - 3 - 3 305 006 M o d e r n 017 243 241 0003160 033 240 223 304 004 003 # \0 P 240 244 240 224 017 244 225 0003200 017 244 240 227 304 004 002 302 001 211 017 262 223 301 L o 0003220 f i n t e r t h r e a d e v 0003240 e n t s . W e i d e n t i f 0003260 y t e n d i f f e r e n t 0003300 p a r a d i g m s o f t h r 0003320 e a d u s a g e : 226 305 005 X e 0003340 r o x 305 \a X C 1 - 3 - 3 305 \r M o 0003360 d e r n - i t a l i c 017 243 241 033 240 0003400 223 304 004 003 # \0 P 240 244 240 224 017 245 225 017 245 0003420 240 227 301 023 d e f e r w o r k , 0003440 g e n e r a l 226 017 241 017 262 223 240 k 304 0003460 004 034 ; \0 d 304 006 \0 266 9 \0 \0 I 212 304 002 0003500 001 \n 304 002 001 \n 240 233 304 004 f ' \0 8 017 240 0003520 240 232 240 n 240 j 305 005 X e r o x 305 \a X 0003540 C 1 - 3 - 3 305 \r M o d e r n - i 0003560 t a l i c 017 243 241 033 240 223 304 004 003 # \0 0003600 P 240 244 240 224 017 244 225 017 244 240 227 304 004 002 O 0003620 \0 230 017 262 223 301 [ p u m p s , s l 0003640 a c k p r o c e s s e s , s 0003660 l e e p e r s , o n e - s h o 0003700 t s , d e a d l o c k a v o 0003720 i d a n c e , r e j u v e n a 0003740 t i o n , s e r i a l i z e r 0003760 s , 226 017 241 017 262 223 240 k 304 004 034 ; \0 d 0004000 304 006 \0 211 ' \0 \0 8 212 304 002 001 \n 304 002 001 0004020 \n 240 233 304 004 f ' \0 8 017 240 240 232 240 n 240 0004040 j 305 005 X e r o x 305 \a X C 1 - 3 - 0004060 3 305 \r M o d e r n - i t a l i c 0004100 017 243 241 033 240 223 304 004 003 # \0 P 240 244 240 224 0004120 017 244 225 017 244 240 227 304 004 003 367 003 7 017 262 223 0004140 301 021 e n c a p s u l a t e d f 0004160 o r k 226 305 005 X e r o x 305 \a X C 1 0004200 - 1 - 1 305 \b T e r m i n a l 017 243 0004220 241 033 240 223 304 004 003 # \0 P 240 244 240 224 017 245 0004240 225 017 245 240 227 301 004 a n d 226 305 005 X e 0004260 r o x 305 \a X C 1 - 3 - 3 305 006 M o 0004300 d e r n 017 243 241 033 240 223 304 004 003 # \0 P 0004320 240 244 240 224 017 246 225 017 246 240 227 301 001 226 017 0004340 244 240 227 301 026 e x p l o i t i n g 0004360 p a r a l l e l i s m 226 017 246 240 227 0004400 301 024 . W h i l e s o m e , 0004420 l i k e 226 017 244 240 227 301 \n d e f 0004440 e r w o r k 226 017 246 240 227 301 030 , 0004460 a r e w e l l k n o w n , 0004500 o t h e r s 226 017 241 017 262 223 240 k 304 004 0004520 034 ; \0 d 304 004 & o \0 020 212 304 002 001 \n 304 0004540 002 001 \n 240 233 304 004 d T \0 7 017 240 240 232 240 0004560 n 240 j 305 005 X e r o x 305 \a X C 1 - 0004600 3 - 3 305 006 M o d e r n 017 243 241 033 240 0004620 223 304 004 003 # \0 P 240 244 240 224 017 244 225 017 244 0004640 240 227 304 004 024 u \f O 017 262 223 301 \ h a v 0004660 e n o t b e e n p r e v i 0004700 o u s l y d e s c r i b e d . 0004720 M o s t o f t h e p a r 0004740 a d i g m s c a u s e f e w 0004760 p r o b l e m s f o r p r 0005000 o g r a m m e r s 226 017 241 017 262 223 240 0005020 k 304 004 034 ; \0 d 304 006 \0 231 024 \0 \0 A 212 0005040 304 002 001 \n 304 002 001 \n 240 233 304 004 d T \0 7 0005060 017 240 240 232 240 n 240 j 305 005 X e r o x 305 0005100 \a X C 1 - 3 - 3 305 006 M o d e r n 0005120 017 243 241 033 240 223 304 004 003 # \0 P 240 244 240 224 0005140 017 244 225 017 244 240 227 304 004 006 w 004 I 017 262 223 0005160 301 F a n d h e l p k e e p 0005200 t h e r e s u l t i n g s y 0005220 s t e m i m p l e m e n t a t 0005240 i o n u n d e r s t a n d a b 0005260 l e . T h e 226 305 005 X e r o x 0005300 305 \a X C 1 - 3 - 3 305 \r M o d e r 0005320 n - i t a l i c 017 243 241 033 240 223 304 004 0005340 003 # \0 P 240 244 240 224 017 245 225 017 245 240 227 301 0005360 \r s l a c k p r o c e s s 226 017 0005400 244 240 227 301 \f p a r a d i g m i 0005420 s 226 017 241 017 262 223 240 k 304 004 034 ; \0 d 304 0005440 006 \0 210 , \0 \0 ; 212 304 002 001 \n 304 002 001 \n 0005460 240 233 304 004 f ' \0 8 017 240 240 232 240 n 240 j 0005500 305 005 X e r o x 305 \a X C 1 - 3 - 3 0005520 305 006 M o d e r n 017 243 241 033 240 223 304 004 0005540 003 # \0 P 240 244 240 224 017 244 225 017 244 240 227 304 0005560 004 \r 321 \n u 017 262 223 301 c b o t h p 0005600 a r t i c u l a r l y e f f e 0005620 c t i v e i n i m p r o v i 0005640 n g s y s t e m p e r f o r 0005660 m a n c e a n d p a r t i c 0005700 u l a r l y d i f f i c u l t 0005720 t o m a k e w o r k 226 017 241 0005740 017 262 223 240 k 304 004 034 ; \0 d 304 006 \0 253 325 0005760 \0 \0 L 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0006000 f ' \0 8 017 240 240 232 240 n 240 j 305 005 X e 0006020 r o x 305 \a X C 1 - 3 - 3 305 006 M o 0006040 d e r n 017 243 241 033 240 223 304 004 003 # \0 P 0006060 240 244 240 224 017 244 225 017 244 240 227 304 004 001 p 001 0006100 027 017 262 223 301 e w e l l . W e 0006120 o b s e r v e t h a t t h r 0006140 e a d p r i o r i t i e s a 0006160 r e d i f f i c u l t t o 0006200 u s e a n d m a y i n t e 0006220 r f e r e i n u n a n t i c 0006240 i p a t e d w a y s 226 017 241 017 262 0006260 223 240 k 304 004 034 ; \0 d 304 004 I 017 \0 ! 212 0006300 304 002 001 \n 304 002 001 \n 240 233 304 004 f ' \0 8 0006320 017 240 240 232 240 n 240 j 305 005 X e r o x 305 0006340 \a X C 1 - 3 - 3 305 006 M o d e r n 0006360 017 243 241 033 240 223 304 004 003 # \0 P 240 244 240 224 0006400 017 244 225 017 244 240 227 304 004 \b 305 \a 245 017 262 223 0006420 301 f w i t h o t h e r t h r 0006440 e a d p r i m i t i v e s a 0006460 n d p a r a d i g m s . F 0006500 i n a l l y , w e g l e a n 0006520 f r o m t h e p r a c t i 0006540 c e s i n t h i s c o d e 0006560 s e v e r a l 226 017 241 017 262 223 240 k 0006600 304 004 034 ; \0 d 304 006 \0 255 Y \0 \0 P 212 305 0006620 005 X e r o x 305 \a X C 1 - 3 - 3 305 0006640 006 M o d e r n 017 243 241 033 240 223 304 004 003 0006660 # \0 P 240 244 240 224 017 244 225 017 244 240 227 301 C 0006700 p o s s i b l e f u t u r e 0006720 r e s e a r c h t o p i c s 0006740 i n t h e a r e a o f t 0006760 h r e a d a b s t r a c t i o 0007000 n s . 226 304 006 \0 200 233 \0 001 220 304 006 001 200 0007020 233 \0 \0 270 212 304 004 034 ; \0 d 304 006 \0 200 313 0007040 \0 \0 D 212 305 005 X e r o x 305 \a X C 1 0007060 - 3 - 3 305 \f C l a s s i c - b o 0007100 l d 017 243 241 033 240 223 304 004 \t i \0 310 240 244 0007120 240 224 017 245 225 017 245 240 227 301 022 1 . I 0007140 n t r o d u c t i o n 226 304 006 0007160 \0 200 233 \0 001 220 304 004 A \0 022 212 304 002 001 0007200 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 0007220 232 240 n 240 j 017 240 240 227 304 004 \b i 003 p 017 0007240 262 223 301 X T h r e a d s s h a r 0007260 i n g a n a d d r e s s s 0007300 p a c e a r e b e c o m i n 0007320 g m o r e w i d e l y a v 0007340 a i l a b l e i n p o p u l 0007360 a r o p e r a t i n g 226 017 241 017 0007400 262 223 240 k 304 006 \0 200 233 \0 001 220 304 004 q j 0007420 \0 A 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0007440 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 0007460 004 004 U 001 302 017 262 223 301 W s y s t e m 0007500 s s u c h a s S o l a r i 0007520 s 2 . x , O S 2 / 2 . x , 0007540 W i n d o w s N T a n d S 0007560 y s V R 4 [ P o w e l l 9 1 ] 0007600 [ C u s t e r 9 3 ] . X e r o 0007620 x 226 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 0007640 220 304 006 \0 324 9 \0 \0 } 212 304 002 001 \n 304 002 0007660 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 n 0007700 240 j 017 240 240 227 304 004 \n 252 003 357 017 262 223 301 0007720 \a P A R C ' s 226 305 005 X e r o x 0007740 305 \a X C 1 - 3 - 3 305 016 C l a s s 0007760 i c - i t a l i c 017 243 241 033 240 223 304 0010000 004 003 # \0 P 240 244 240 224 017 246 225 017 246 240 227 0010020 301 005 C e d a r 226 017 240 240 227 301 % p 0010040 r o g r a m m i n g e n v i r 0010060 o n m e n t a n d X e r o x 0010100 ' s 226 017 246 240 227 301 004 S T A R 226 017 0010120 240 240 227 301 002 , 226 017 246 240 227 301 \t V i 0010140 e w P o i n t 226 017 240 240 227 301 002 , 0010160 226 017 246 240 227 301 020 G l o b a l V i e 0010200 w f o r X 226 017 241 017 262 223 240 k 304 0010220 006 \0 200 233 \0 001 220 304 004 K 357 \0 . 212 304 002 0010240 001 \n 304 002 001 \n 240 233 304 004 = 021 \0 # 017 240 0010260 240 232 240 n 240 j 305 005 X e r o x 305 \a X 0010300 C 1 - 3 - 3 305 016 C l a s s i c - 0010320 i t a l i c 017 243 241 033 240 223 304 004 003 # 0010340 \0 P 240 244 240 224 017 246 225 017 246 240 227 017 244 017 0010360 262 223 301 \a W i n d o w s 226 017 240 240 227 0010400 301 005 a n d 226 017 246 240 227 301 \t D o 0010420 c u P r i n t 226 017 240 240 227 301 9 p 0010440 r o d u c t s h a v e u s e 0010460 d l i g h t w e i g h t t h 0010500 r e a d s f o r o v e r 1 0010520 0 y e a r s 226 017 241 017 262 223 240 k 304 0010540 006 \0 200 233 \0 001 220 304 006 \0 322 025 \0 \0 203 212 0010560 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 0010600 017 240 240 232 240 n 240 j 017 240 240 227 304 004 006 276 0010620 005 G 017 262 223 301 a [ S m i t h 8 2 ] 0010640 [ S w i n e h a r t 8 6 ] . T 0010660 h i s p a p e r r e p o r t 0010700 s o n a n i n s p e c t i 0010720 o n a n d a n a l y s i s 0010740 o f t h e c o d e d e v e 0010760 l o p e d a t 226 017 241 017 262 223 240 k 0011000 304 006 \0 200 233 \0 001 220 304 006 \0 375 273 \0 \0 243 0011020 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 0011040 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 \b 0011060 $ 004 7 017 262 223 301 V X e r o x i n 0011100 a n a t t e m p t t o d 0011120 e t e c t c o m m o n p a r 0011140 a d i g m s a n d c o m m o 0011160 n m i s t a k e s o f p r 0011200 o g r a m m i n g w i t h 226 017 0011220 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 004 0011240 n 3 \0 I 212 304 002 001 \n 304 002 001 \n 240 233 304 0011260 004 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 0011300 227 304 004 002 \ 001 275 017 262 223 301 \a t h r e 0011320 a d s 226 305 005 X e r o x 305 \a X C 1 0011340 - 3 - 3 305 016 C l a s s i c - i t 0011360 a l i c 017 243 241 033 240 223 304 004 003 # \0 P 0011400 240 244 240 224 017 246 225 017 246 240 227 301 002 . 226 0011420 017 240 240 227 301 W O u r a n a l y s 0011440 i s i s b o t h s t a t i 0011460 c , f r o m r e a d i n g 0011500 m a n y l i n e s o f a n 0011520 c i e n t a n d m o d e r n 0011540 m o d u l e s , a n d 226 017 241 0011560 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 004 V 0011600 J \0 ; 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0011620 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 227 0011640 304 004 001 254 \0 327 017 262 223 301 ] d y n a m 0011660 i c , u s i n g a n u m b 0011700 e r o f t o o l s w e b 0011720 u i l t f o r d e t a i l e 0011740 d t h r e a d i n s p e c t 0011760 i o n . W e d i s t i n g 0012000 u i s h t w o 226 017 241 017 262 223 240 k 0012020 304 006 \0 200 233 \0 001 220 304 006 \0 224 240 \0 \0 i 0012040 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 0012060 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 037 0012100 255 033 210 017 262 223 301 a s y s t e m s 0012120 t h a t d e v e l o p e d i 0012140 n d e p e n d e n t l y a l t 0012160 h o u g h m o s t o f o u 0012200 r r e m a r k s a p p l y 0012220 t o b o t h . O n e , o 0012240 r i g i n a l l y 226 017 241 017 262 223 240 0012260 k 304 006 \0 200 233 \0 001 220 304 006 \0 212 6 \0 \0 0012300 e 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! 0012320 \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0012340 005 m 003 g 017 262 223 301 ^ a r e s e a 0012360 r c h s y s t e m b u t n 0012400 o w u n d e r l y i n g a 0012420 n u m b e r o f p r o d u c 0012440 t s a s w e l l , w e c 0012460 a l l C e d a r . T h e o 0012500 t h e r , a 226 017 241 017 262 223 240 k 304 0012520 006 \0 200 233 \0 001 220 304 006 \0 210 032 \0 \0 g 212 0012540 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 0012560 017 240 240 232 240 n 240 j 017 240 240 227 304 004 005 6 0012600 004 % 017 262 223 301 b p r o d u c t s 0012620 y s t e m o r i g i n a l l y 0012640 d e r i v e d f r o m t h 0012660 e s a m e b a s e a s C 0012700 e d a r b u t r e l a t i v 0012720 e l y u n c o n n e c t e d 0012740 t o i t f o r 226 017 241 017 262 223 240 0012760 k 304 006 \0 200 233 \0 001 220 304 004 { 234 \0 a 212 0013000 017 240 240 227 301 034 o v e r t e n y 0013020 e a r s , w e c a l l G V 0013040 X . 226 304 006 \0 200 233 \0 001 220 304 004 ( 271 \0 0013060 " 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! 0013100 \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0013120 \f v 004 s 017 262 223 301 U W e b e l i 0013140 e v e t h a t t h e s y s 0013160 t e m s w e e x a m i n e d 0013200 a r e t h e l a r g e s t 0013220 a n d l o n g e s t - u s e 0013240 d t h r e a d - b a s e d 226 017 0013260 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 006 0013300 \0 206 241 \0 \0 u 212 304 002 001 \n 304 002 001 \n 240 0013320 233 304 004 ! \0 022 017 240 240 232 240 n 240 j 017 0013340 240 240 227 304 004 \a @ 003 m 017 262 223 301 [ i n 0013360 t e r a c t i v e s y s t e m 0013400 s i n e v e r y d a y u s 0013420 e i n t h e w o r l d . 0013440 T h e y a r e b o t h i 0013460 n u s e a n d u n d e r 0013500 c o n t i n u a l 226 017 241 017 262 223 240 0013520 k 304 006 \0 200 233 \0 001 220 304 006 \0 214 ) \0 \0 0013540 177 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! 0013560 \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0013600 004 004 002 241 017 262 223 301 _ d e v e l o p 0013620 m e n t . T h e y c o n t a 0013640 i n a p p r o x i m a t e l y 0013660 2 . 5 m i l l i o n l i n 0013700 e s o f c o d e , i n 1 0013720 0 , 0 0 0 m o d u l e s w r 0013740 i t t e n b y 226 017 241 017 262 223 240 k 0013760 304 006 \0 200 233 \0 001 220 304 006 \0 265 273 \0 \0 254 0014000 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 0014020 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 005 0014040 # 003 T 017 262 223 301 ] h u n d r e d s 0014060 o f p e o p l e , d e c l 0014100 a r i n g m o r e t h a n 0014120 1 0 0 0 m o n i t o r s a n 0014140 d m o n i t o r e d r e c o 0014160 r d t y p e s a n d o v e 0014200 r 3 0 0 226 017 241 017 262 223 240 k 304 006 \0 0014220 200 233 \0 001 220 304 004 020 ' \0 020 212 304 002 001 \n 0014240 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 0014260 240 n 240 j 017 240 240 227 304 004 ^ 254 3 301 017 262 0014300 223 301 ^ c o n d i t i o n v a r 0014320 i a b l e s . T h e y m o s 0014340 t l y r u n a s v e r y 0014360 l a r g e ( w o r k i n g s 0014400 e t s o f 1 0 ' s o f m 0014420 e g a b y t e s ) s h a r e d 0014440 - 226 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 0014460 220 304 004 f 374 \0 k 212 304 002 001 \n 304 002 001 \n 0014500 240 233 304 004 ! \0 022 017 240 240 232 240 n 240 j 0014520 017 240 240 227 304 004 006 022 002 / 017 262 223 301 W m 0014540 e m o r y , m u l t i - a p p 0014560 l i c a t i o n s y s t e m s 0014600 . T h e y h a v e b e e n 0014620 p o r t e d t o a v a r 0014640 i e t y o f p r o c e s s o 0014660 r s a n d 226 017 241 017 262 223 240 k 304 006 0014700 \0 200 233 \0 001 220 304 006 \0 226 ! \0 \0 244 212 304 0014720 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 0014740 240 240 232 240 n 240 j 017 240 240 227 304 004 026 337 017 0014760 200 017 262 223 301 ] m u l t i p r o c e 0015000 s s o r s , i n c l u d i n g 0015020 t h e . 2 5 t o 5 M I 0015040 P S X e r o x D - m a c h i 0015060 n e s i n t h e 1 9 8 0 ' 0015100 s a n d 5 t o 1 0 0 M 0015120 I P S 226 017 241 017 262 223 240 k 304 006 \0 200 233 0015140 \0 001 220 304 004 A 377 \0 L 212 304 002 001 \n 304 002 0015160 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 n 0015200 240 j 017 240 240 227 304 004 \b a 005 217 017 262 223 301 0015220 b p r o c e s s o r s o f t 0015240 h e e a r l y 1 9 9 0 ' s . 0015260 O u r e x a m i n a t i o n 0015300 o f t h e m r e v e a l s 0015320 t h e k i n d s o f t h 0015340 r e a d f a c i l i t i e s 0015360 a n d 226 017 241 017 262 223 240 k 304 006 \0 200 233 0015400 \0 001 220 304 004 6 5 \0 B 212 304 002 001 \n 304 002 0015420 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 n 0015440 240 j 017 240 240 227 304 004 \a 016 002 313 017 262 223 301 0015460 Y p r a c t i c e s t h a t 0015500 t h e p r o g r a m m e r s 0015520 o f t h e s e s y s t e m s 0015540 f o u n d u s e f u l a n 0015560 d a l s o t h e k i n d s 0015600 o f t h r e a d 226 017 241 017 262 223 0015620 240 k 304 006 \0 200 233 \0 001 220 304 004 b U \0 177 0015640 212 017 240 240 227 301 F p r o g r a m m i 0015660 n g m i s t a k e s t h a t 0015700 e v e n t h i s e x p e r 0015720 i e n c e d c o m m u n i t y 0015740 s t i l l m a k e s . 226 304 006 0015760 \0 200 233 \0 001 220 304 004 T k \0 y 212 304 002 001 0016000 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 0016020 232 240 n 240 j 017 240 240 227 304 004 031 Y 026 9 017 0016040 262 223 301 b O u r a n a l y s i s 0016060 i s s u b j e c t t o t 0016100 w o u n a v o i d a b l e b 0016120 i a s e s . F i r s t , t h 0016140 e p r o g r a m m e r s o f 0016160 t h e s e s y s t e m s m 0016200 a y n o t 226 017 241 017 262 223 240 k 304 006 0016220 \0 200 233 \0 001 220 304 004 N 023 \0 x 212 304 002 001 0016240 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 0016260 232 240 n 240 j 017 240 240 227 304 004 006 327 005 B 017 0016300 262 223 301 ` b e r e p r e s e n t 0016320 a t i v e - - f o r i n s 0016340 t a n c e , o n e c o m m u 0016360 n i t y c o n s i s t e d p 0016400 r i m a r i l y o f P h D 0016420 r e s e a r c h e r s . S e c 0016440 o n d , 226 017 241 017 262 223 240 k 304 006 \0 200 0016460 233 \0 001 220 304 004 Z 211 \0 226 212 304 002 001 \n 304 0016500 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 0016520 n 240 j 017 240 240 227 304 004 \a W 005 O 017 262 223 0016540 301 _ a n y g r o u p o f p 0016560 e o p l e d e v e l o p h a 0016600 b i t s o f w o r k - - i d 0016620 i o m s - - t h a t m a y b 0016640 e u n r e l a t e d t o b 0016660 e s t p r a c t i c e , b u 0016700 t 226 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 0016720 220 304 004 + 367 \0 O 212 304 002 001 \n 304 002 001 \n 0016740 240 233 304 004 ! \0 022 017 240 240 232 240 n 240 j 0016760 017 240 240 227 304 004 \b \t 003 342 017 262 223 301 [ a 0017000 r e s i m p l y " h o w w 0017020 e d o i t h e r e " . A 0017040 l t h o u g h o u r r e p o 0017060 r t d r a w s o n c o d e 0017100 w r i t t e n b y t w o 0017120 r e l a t i v e l y 226 017 241 017 262 223 0017140 240 k 304 006 \0 200 233 \0 001 220 304 004 E 314 \0 211 0017160 212 017 240 240 227 301 ] i n d e p e n d e 0017200 n t c o m m u n i t i e s , 0017220 c o m p a r i n g a n d c o 0017240 n t r a s t i n g t h e t w 0017260 o i s b e y o n d t h e 0017300 s c o p e o f t h i s p a 0017320 p e r . 226 304 006 \0 200 233 \0 001 220 304 004 C 0017340 207 \0 234 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0017360 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 227 0017400 304 004 \b 277 005 232 017 262 223 301 Y W e e x 0017420 a m i n e d t h e s y s t e 0017440 m s r u n n i n g o n t h 0017460 e P o r t a b l e C o m m o 0017500 n R u n t i m e o n t o p 0017520 o f U n i x [ W e i s e r 0017540 8 9 ] . 226 017 241 017 262 223 240 k 304 006 \0 200 0017560 233 \0 001 220 304 006 \0 367 O \0 002 201 212 304 002 001 0017600 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 0017620 232 240 n 240 j 017 240 240 227 304 002 _ V 017 262 223 0017640 301 c P C R p r o v i d e s t 0017660 h e u s u a l p r i m i t i 0017700 v e s : t h r e a d s s h a 0017720 r i n g a s i n g l e a d 0017740 d r e s s s p a c e , m o n 0017760 i t o r l o c k s , c o n d 0020000 i t i o n 226 017 241 017 262 223 240 k 304 006 \0 0020020 200 233 \0 001 220 304 004 \t 323 \0 035 212 017 240 240 227 0020040 301 N v a r i a b l e s , f o r 0020060 k a n d j o i n . S e c t 0020100 i o n 2 d e s c r i b e s 0020120 t h e p r i m i t i v e s i 0020140 n m o r e d e t a i l . 0020160 226 240 k 240 j 017 241 017 245 223 304 004 \0 177 023 210 0020200 240 244 240 250 017 240 017 240 240 242 240 250 304 004 \0 d 0020220 034 ; 240 244 240 250 017 241 240 244 240 250 017 240 240 243 0020240 240 250 017 240 240 227 304 004 [ 243 \0 * 304 006 001 # 0020260 267 \0 \0 d 212 301 001 3 226 304 006 \0 200 233 \0 001 0020300 220 304 004 ) 324 \0 017 212 304 002 001 \n 304 002 001 \n 0020320 240 233 304 004 ! \0 022 017 240 240 232 240 n 240 j 0020340 017 240 240 227 304 004 023 204 \v 7 017 262 223 301 ^ A 0020360 l t h o u g h t h e s e s y 0020400 s t e m s d o r u n o n 0020420 m u l t i p r o c e s s o r s , 0020440 t h i s p a p e r e m p h 0020460 a s i z e s t h e r o l e 0020500 o f t h r e a d s i n 226 017 241 0020520 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 006 \0 0020540 310 ! \0 \0 I 212 017 240 240 227 301 X p r o g 0020560 r a m s t r u c t u r i n g 0020600 r a t h e r t h a n h o w 0020620 t h e y a r e u s e d t o 0020640 e x p l o i t m u l t i p r 0020660 o c e s s o r s [ O w i c k i 0020700 8 9 ] . 226 304 006 \0 200 233 \0 001 220 304 006 \0 0020720 232 [ \0 \0 : 212 304 002 001 \n 304 002 001 \n 240 233 0020740 304 004 ! \0 022 017 240 240 232 240 n 240 j 017 240 0020760 240 227 304 004 004 333 003 R 017 262 223 301 e T h i 0021000 s p a p e r i s n o t , 0021020 f o r t h e m o s t p a r 0021040 t , a s t a t i s t i c a l 0021060 a n a l y s i s o f t h r 0021100 e a d b e h a v i o r . I n 0021120 s t e a d o f u s i n g t 0021140 h e 226 017 241 017 262 223 240 k 304 006 \0 200 233 \0 0021160 001 220 304 006 001 Q = \0 \0 201 212 304 002 001 \n 304 0021200 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 0021220 n 240 j 017 240 240 227 304 004 005 267 004 ) 017 262 223 0021240 301 ` a g g r e g a t e v i e w 0021260 p r o v i d e d b y s t a 0021300 t i s t i c s w e c h o o s 0021320 e t h e m i c r o s c o p i 0021340 c v i e w o f i n d i v i 0021360 d u a l p a r a d i g m s a 0021400 n d 226 017 241 017 262 223 240 k 304 006 \0 200 233 \0 0021420 001 220 304 006 \0 244 M \0 \0 @ 212 304 002 001 \n 304 0021440 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 0021460 n 240 j 017 240 240 227 304 004 \n 362 003 353 017 262 223 0021500 301 V c r i t i c a l p a t h 0021520 p e r f o r m a n c e . F o r 0021540 e x a m p l e , t h e t i 0021560 m e b e t w e e n w h e n 0021600 a k e y i s p r e s s e d 0021620 a n d t h e 226 017 241 017 262 223 240 k 0021640 304 006 \0 200 233 \0 001 220 304 006 001 355 363 \0 \0 304 0021660 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 0021700 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 021 0021720 264 \t ] 017 262 223 301 ^ c o r r e s p o 0021740 n d i n g g l y p h i s e 0021760 c h o e d t o a w i n d o 0022000 w i s v e r y i m p o r t 0022020 a n t t o t h e u s a b i 0022040 l i t y o f t h e s e s y 0022060 s t e m s . 226 017 241 017 262 223 240 k 304 006 0022100 \0 200 233 \0 001 220 304 006 \0 203 023 \0 \0 5 212 304 0022120 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 0022140 240 240 232 240 n 240 j 017 240 240 227 304 004 005 373 003 0022160 231 017 262 223 301 ^ D e v e l o p i n g 0022200 a n u n d e r s t a n d i n 0022220 g o f h o w t h r e a d s 0022240 a r e i n t e r a c t i n g 0022260 i n a c c o m p l i s h i n 0022300 g t h i s t a s k h e l p 0022320 s t o 226 017 241 017 262 223 240 k 304 006 \0 200 0022340 233 \0 001 220 304 004 j 277 \0 , 212 017 240 240 227 301 0022360 $ u n d e r s t a n d t h e 0022400 o b s e r v e d p e r f o r m 0022420 a n c e . 226 304 006 \0 200 233 \0 001 220 304 006 0022440 \0 320 310 \0 \0 Y 212 304 002 001 \n 304 002 001 \n 240 0022460 233 304 004 ! \0 022 017 240 240 232 240 n 240 j 017 0022500 240 240 227 304 004 004 037 001 231 017 262 223 301 W I n 0022520 f o r m a t i o n f o r t h 0022540 i s p a p e r c a m e f r 0022560 o m t w o s o u r c e s . 0022600 W h i l e t h e s y s t e m 0022620 i s r u n n i n g w e g 0022640 a t h e r 226 017 241 017 262 223 240 k 304 006 \0 0022660 200 233 \0 001 220 304 006 \0 307 377 \0 \0 W 212 304 002 0022700 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 0022720 240 232 240 n 240 j 017 240 240 227 304 004 5 234 036 y 0022740 017 262 223 301 ] m i c r o s e c o n d 0022760 - r e s o l u t i o n i n f o 0023000 r m a t i o n a b o u t e v 0023020 e n t s i n t h e t h r e 0023040 a d s a n d t h e U n i x 0023060 k e r n e l . S e c t i o n 0023100 3 226 017 241 017 262 223 240 k 304 006 \0 200 233 \0 0023120 001 220 304 006 \0 233 _ \0 \0 E 212 304 002 001 \n 304 0023140 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 0023160 n 240 j 017 240 240 227 304 004 \b 260 005 205 017 262 223 0023200 301 ^ p r o v i d e s s u m m a 0023220 r i e s o f t h e d a t a 0023240 a n d a m i c r o - b e h 0023260 a v i o r e x a m p l e . 0023300 S e c t i o n 7 d e s c r i 0023320 b e s t h e t o o l s w e 0023340 226 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 0023360 304 004 g 237 \0 / 212 304 002 001 \n 304 002 001 \n 240 0023400 233 304 004 ! \0 022 017 240 240 232 240 n 240 j 017 0023420 240 240 227 304 004 002 _ 001 336 017 262 223 301 _ u s 0023440 e d t o g a t h e r a n d 0023460 p r e s e n t t h e d a t 0023500 a . T o d e v e l o p t h 0023520 e d a t a b a s e o f s t 0023540 a t i c u s e s o f t h r 0023560 e a d s w e u s e d 226 305 005 0023600 X e r o x 305 \a X C 1 - 3 - 3 305 016 0023620 C l a s s i c - i t a l i c 017 243 0023640 241 033 240 223 304 004 003 # \0 P 240 244 240 224 017 244 0023660 225 017 244 240 227 301 004 g r e p 226 017 241 017 262 0023700 223 240 k 304 006 \0 200 233 \0 001 220 304 006 \0 212 027 0023720 \0 \0 @ 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0023740 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 227 0023760 304 004 027 241 017 200 017 262 223 301 ' t o l o 0024000 c a t e a l l u s e s o f 0024020 t h r e a d p r i m i t i v 0024040 e s 226 305 005 X e r o x 305 \a X C 1 - 0024060 3 - 3 305 \a C l a s s i c 017 243 241 033 0024100 240 223 304 004 003 # \0 d 240 244 240 224 017 244 225 017 0024120 244 240 227 301 001 226 017 240 240 227 301 : a n d 0024140 t h e n r e a d t h e s 0024160 u r r o u n d i n g c o d e . 0024200 T h i s r e a d i n g l e 0024220 d u s t o 226 017 241 017 262 223 240 k 304 0024240 006 \0 200 233 \0 001 220 304 004 I 337 \0 # 212 304 002 0024260 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 0024300 240 232 240 n 240 j 017 240 240 227 304 004 004 333 003 034 0024320 017 262 223 301 b f u r t h e r s e a 0024340 r c h i n g f o r u s e s 0024360 o f m o d u l e s t h a t 0024400 p r o v i d e s p e c i a l i 0024420 z e d a c c e s s t o t h 0024440 r e a d s ( f o r e x a m p 0024460 l e , t h e 226 017 241 017 262 223 240 k 304 0024500 006 \0 200 233 \0 001 220 304 006 001 216 D \0 \0 301 212 0024520 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 0024540 017 240 240 232 240 n 240 j 017 240 240 227 304 004 \a 227 0024560 002 & 017 262 223 301 T C e d a r p a c 0024600 k a g e P e r i o d i c a l F 0024620 o r k ) . T h i s r e a d 0024640 i n g a n d u n d e r s t a 0024660 n d i n g e v e n t u a l l y 0024700 l e d t o t h e 226 017 241 017 262 0024720 223 240 k 304 006 \0 200 233 \0 001 220 304 004 b 317 \0 0024740 1 212 017 240 240 227 301 ; c l a s s i f i 0024760 c a t i o n s o f t h r e a 0025000 d p a r a d i g m s d e s c 0025020 r i b e d i n S e c t i o n 0025040 4 . 226 304 006 \0 200 233 \0 001 220 304 004 , 211 0025060 \0 027 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0025100 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 0025120 004 006 C 005 \f 017 262 223 301 ` S e c t i o 0025140 n s 5 a n d 6 p r e s e 0025160 n t s o m e e n g i n e e r 0025200 i n g l e s s o n s - - b 0025220 o t h f o r i m p l e m e n 0025240 t o r s u s i n g t h r e a 0025260 d s a n d f o r 226 017 241 017 262 223 0025300 240 k 304 006 \0 200 233 \0 001 220 304 006 \0 234 317 \0 0025320 \0 S 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0025340 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 0025360 004 002 024 001 241 017 262 223 301 _ i m p l e m 0025400 e n t o r s o f t h r e a d 0025420 s y s t e m s - - f r o m 0025440 t h i s s t u d y . W e 0025460 c o n c l u d e w i t h s o 0025500 m e s u g g e s t i o n s f 0025520 o r f u t u r e 226 017 241 017 262 223 240 0025540 k 304 006 \0 200 233 \0 001 220 304 006 \0 202 314 \0 \0 0025560 G 212 017 240 240 227 301 C w o r k a n d 0025600 a r e q u e s t f o r m 0025620 o r e d e t a i l e d d e s 0025640 c r i p t i o n s o f l a r 0025660 g e s y s t e m s . 226 304 004 034 ; 0025700 \0 d 304 006 001 006 227 \0 \0 240 212 305 005 X e r 0025720 o x 305 \a X C 1 - 3 - 3 305 \f C l a 0025740 s s i c - b o l d 017 243 241 033 240 223 304 0025760 004 \t i \0 310 240 244 240 224 017 244 225 017 244 240 227 0026000 301 020 2 . T h r e a d m o d 0026020 e l 226 304 006 \0 200 233 \0 001 220 304 004 W t \0 0026040 9 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! 0026060 \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0026100 \a 304 006 001 017 262 223 301 ^ L a m p s o n 0026120 a n d R e d e l l d e s c 0026140 r i b e t h e M e s a l a 0026160 n g u a g e ' s t h r e a d 0026200 m o d e l a n d p r o v i d 0026220 e r a t i o n a l e f o r 0026240 m a n y o f 226 017 241 017 262 223 240 k 304 0026260 006 \0 200 233 \0 001 220 304 006 001 202 255 \0 001 004 212 0026300 017 240 240 227 301 ` t h e d e s i g n 0026320 c h o i c e s [ L a m p s o 0026340 n 8 0 ] . H e r e , w e 0026360 s u m m a r i z e t h e s a 0026400 l i e n t f e a t u r e s a 0026420 s u s e d i n o u r s y 0026440 s t e m s . 226 304 006 \0 200 233 \0 001 220 304 0026460 006 \0 216 034 \0 \0 e 212 304 002 001 \n 304 002 001 \n 0026500 240 233 304 004 ! \0 022 017 240 240 232 240 n 240 j 0026520 017 240 240 227 304 004 005 337 003 035 017 262 223 301 [ T 0026540 h e M e s a t h r e a d m 0026560 o d e l s u p p o r t s m u 0026600 l t i p l e , l i g h t - w e 0026620 i g h t , p r e - e m p t i v 0026640 e l y s c h e d u l e d t h 0026660 r e a d s t h a t 226 017 241 017 262 223 0026700 240 k 304 006 \0 200 233 \0 001 220 304 006 \0 205 G \0 0026720 \0 b 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0026740 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 0026760 004 006 y 002 237 017 262 223 301 035 s h a r e 0027000 a n a d d r e s s s p a c e 0027020 . T h e 226 305 005 X e r o x 305 0027040 \a X C 1 - 3 - 3 305 \a C l a s s i 0027060 c 017 243 241 033 240 223 304 004 003 # \0 d 240 244 240 0027100 224 017 245 225 017 245 240 227 301 004 F O R K 226 017 0027120 240 240 227 301 1 o p e r a t i o n 0027140 c r e a t e s a n e w t h 0027160 r e a d t o c a r r y o u 0027200 t t h e 226 017 245 240 227 301 004 F O R 0027220 K 226 017 240 240 227 301 002 ' s 226 017 241 017 262 223 0027240 240 k 304 006 \0 200 233 \0 001 220 304 004 0 224 \0 % 0027260 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 0027300 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 001 0027320 204 \0 337 017 262 223 301 p r o c e d u r 0027340 e - i n v o c a t i o n a r g 0027360 u m e n t . 226 305 005 X e r o x 0027400 305 \a X C 1 - 3 - 3 305 \a C l a s s 0027420 i c 017 243 241 033 240 223 304 004 003 # \0 d 240 244 0027440 240 224 017 245 225 017 245 240 227 301 004 F O R K 226 0027460 017 240 240 227 301 036 r e t u r n s a 0027500 t h r e a d v a l u e . 0027520 T h e 226 017 245 240 227 301 004 J O I N 226 0027540 017 240 240 227 301 026 o p e r a t i o n 0027560 o n a t h r e a d 226 017 241 017 0027600 262 223 240 k 304 006 \0 200 233 \0 001 220 304 006 \0 214 0027620 203 \0 \0 o 212 304 002 001 \n 304 002 001 \n 240 233 304 0027640 004 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 0027660 227 304 004 002 340 002 e 017 262 223 301 6 v a l u 0027700 e r e t u r n s t h e v a 0027720 l u e r e t u r n e d b y 0027740 t h e c o r r e s p o n d i n 0027760 g 226 305 005 X e r o x 305 \a X C 1 - 0030000 3 - 3 305 \a C l a s s i c 017 243 241 033 0030020 240 223 304 004 003 # \0 d 240 244 240 224 017 245 225 017 0030040 245 240 227 301 004 F O R K 226 017 240 240 227 301 & 0030060 ' s p r o c e d u r e i n v 0030100 o c a t i o n . A t h r e 0030120 a d m a y 226 017 241 017 262 223 240 k 304 006 0030140 \0 200 233 \0 001 220 304 004 D A \0 8 212 304 002 001 0030160 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 0030200 232 240 n 240 j 017 240 240 227 304 004 001 C 001 037 017 0030220 262 223 301 003 b e 226 305 005 X e r o x 305 0030240 \a X C 1 - 3 - 3 305 \a C l a s s i 0030260 c 017 243 241 033 240 223 304 004 003 # \0 d 240 244 240 0030300 224 017 245 225 017 245 240 227 301 004 J O I N 226 017 0030320 240 240 227 301 * e d a t m o s t 0030340 o n c e . I f a t h r e 0030360 a d w i l l n o t b e 226 0030400 017 245 240 227 301 004 J O I N 226 017 240 240 227 301 0030420 020 e d i t s h o u l d b e 0030440 226 017 245 240 227 301 006 D E T A C H 226 017 0030460 240 240 227 301 032 e d , w h i c h t 0030500 e l l s t h e t h r e a d 226 0030520 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 0030540 004 + [ \0 % 212 017 240 240 227 301 T i m p l 0030560 e m e n t a t i o n t h a t 0030600 i t c a n r e c o v e r t 0030620 h e r e s o u r c e s o f 0030640 t h e t h r e a d w h e n 0030660 i t t e r m i n a t e s . 0030700 226 304 006 \0 200 233 \0 001 220 304 006 001 s # \0 001 0030720 T 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! 0030740 \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0030760 033 335 016 P 017 262 223 301 026 T h e l a n 0031000 g u a g e p r o v i d e s 226 0031020 305 005 X e r o x 305 \a X C 1 - 3 - 3 0031040 305 016 C l a s s i c - i t a l i c 0031060 017 243 241 033 240 223 304 004 003 # \0 P 240 244 240 224 0031100 017 245 225 017 245 240 227 301 \b m o n i t o r 0031120 s 226 017 240 240 227 301 005 a n d 226 017 245 0031140 240 227 301 023 c o n d i t i o n v a 0031160 r i a b l e s 226 017 240 240 227 301 ( f 0031200 o r s y n c h r o n i z i n g 0031220 t h r e a d a c t i v i t i 0031240 e s . A 226 017 241 017 262 223 240 k 304 006 0031260 \0 200 233 \0 001 220 304 006 \0 350 356 \0 \0 337 212 304 0031300 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 0031320 240 240 232 240 n 240 j 017 240 240 227 304 004 004 _ 003 0031340 244 017 262 223 301 # m o n i t o r i s 0031360 a s e t o f p r o c e d 0031400 u r e s , o r 226 305 005 X e r o 0031420 x 305 \a X C 1 - 3 - 3 305 016 C l a s 0031440 s i c - i t a l i c 017 243 241 033 240 223 0031460 304 004 003 # \0 P 240 244 240 224 017 245 225 017 245 240 0031500 227 301 006 m o d u l e 226 017 240 240 227 301 ) 0031520 , t h a t s h a r e a m 0031540 u t u a l e x c l u s i o n 0031560 l o c k , o r 226 017 245 240 227 301 005 0031600 m u t e x 226 017 240 240 227 301 \f . T 0031620 h e m u t e x 226 017 241 017 262 223 240 k 0031640 304 006 \0 200 233 \0 001 220 304 004 / 341 \0 0 212 304 0031660 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 0031700 240 240 232 240 n 240 j 017 240 240 227 304 004 004 030 003 0031720 253 017 262 223 301 a p r o t e c t s a 0031740 n y d a t a m a n a g e d 0031760 b y t h e m o d u l e b y 0032000 e n s u r i n g t h a t o 0032020 n l y a s i n g l e t h r 0032040 e a d i s e x e c u t i n g 0032060 w i t h i n 226 017 241 017 262 223 240 k 304 0032100 006 \0 200 233 \0 001 220 304 004 4 F \0 7 212 304 002 0032120 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 0032140 240 232 240 n 240 j 017 240 240 227 304 004 004 G 004 004 0032160 017 262 223 301 a t h e m o d u l e 0032200 a t a n y i n s t a n t . 0032220 O t h e r t h r e a d s w 0032240 a n t i n g t o e n t e r 0032260 t h e m o n i t o r a r e 0032300 e n q u e u e d o n t h e 0032320 m u t e x . 226 017 241 017 262 223 240 k 304 006 0032340 \0 200 233 \0 001 220 304 004 / 341 \0 5 212 304 002 001 0032360 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 0032400 232 240 n 240 j 017 240 240 227 304 004 002 I 002 036 017 0032420 262 223 301 b T h e M e s a c o m 0032440 p i l e r a u t o m a t i c a 0032460 l l y i n s e r t s l o c k 0032500 i n g c o d e i n t o m o 0032520 n i t o r e d p r o c e d u r 0032540 e s . A v a r i a n t o 0032560 n t h i s 226 017 241 017 262 223 240 k 304 006 0032600 \0 200 233 \0 001 220 304 006 \0 230 m \0 \0 262 212 304 0032620 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 0032640 240 240 232 240 n 240 j 017 240 240 227 304 004 \b f \b 0032660 U 017 262 223 301 e s c h e m e , a s 0032700 s o c i a t i n g l o c k s 0032720 w i t h d a t a s t r u c t 0032740 u r e s i n s t e a d o f 0032760 w i t h m o d u l e s , i s 0033000 o c c a s i o n a l l y u s 0033020 e d i n o r d e r 226 017 241 017 262 0033040 223 240 k 304 006 \0 200 233 \0 001 220 304 006 \0 242 252 0033060 \0 \0 311 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0033100 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 227 0033120 304 004 004 257 002 023 017 262 223 301 ^ t o o b 0033140 t a i n f i n e r g r a i n 0033160 l o c k i n g . C o n d i 0033200 t i o n v a r i a b l e s ( 0033220 C V s ) g i v e m o r e e 0033240 x p l i c i t c o n t r o l 0033260 o f t h r e a d 226 017 241 017 262 223 240 0033300 k 304 006 \0 200 233 \0 001 220 304 006 001 025 s \0 001 0033320 l 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! 0033340 \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0033360 005 D 004 277 017 262 223 301 K s c h e d u l 0033400 i n g . E a c h C V r e 0033420 p r e s e n t s a s t a t e 0033440 o f t h e m o d u l e ' s 0033460 d a t a s t r u c t u r e s 0033500 ( a 226 305 005 X e r o x 305 \a X C 0033520 1 - 3 - 3 305 016 C l a s s i c - i 0033540 t a l i c 017 243 241 033 240 223 304 004 003 # \0 0033560 P 240 244 240 224 017 245 225 017 245 240 227 301 \t c o 0033600 n d i t i o n 226 017 240 240 227 301 020 ) 0033620 a n d a q u e u e o f 226 017 0033640 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 004 0033660 C 361 \0 _ 212 304 002 001 \n 304 002 001 \n 240 233 304 0033700 004 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 0033720 227 304 004 005 001 003 301 017 262 223 301 G t h r e 0033740 a d s w a i t i n g f o r 0033760 t h a t c o n d i t i o n t 0034000 o b e c o m e t r u e . 0034020 A t h r e a d u s e s t 0034040 h e 226 305 005 X e r o x 305 \a X C 1 0034060 - 3 - 3 305 \a C l a s s i c 017 243 241 0034100 033 240 223 304 004 003 # \0 d 240 244 240 224 017 245 225 0034120 017 245 240 227 301 004 W A I T 226 017 240 240 227 301 0034140 030 o p e r a t i o n o n a 0034160 C V i f i t 226 017 241 017 262 223 240 0034200 k 304 006 \0 200 233 \0 001 220 304 004 w 230 \0 263 212 0034220 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 0034240 017 240 240 232 240 n 240 j 017 240 240 227 304 004 \f 337 0034260 \a 020 017 262 223 301 ( h a s t o w a 0034300 i t u n t i l t h e c o n 0034320 d i t i o n h o l d s . 226 0034340 305 005 X e r o x 305 \a X C 1 - 3 - 3 0034360 305 \a C l a s s i c 017 243 241 033 240 223 304 0034400 004 003 # \0 d 240 244 240 224 017 245 225 017 245 240 227 0034420 301 004 W A I T 226 017 240 240 227 301 1 o p 0034440 e r a t i o n s m a y t i m 0034460 e o u t d e p e n d i n g 0034500 o n t h e t i m e o u t 226 017 0034520 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 004 0034540 i 225 \0 252 212 304 002 001 \n 304 002 001 \n 240 233 304 0034560 004 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 0034600 227 304 004 004 } 004 ] 017 262 223 301 0 i n t e 0034620 r v a l a s s o c i a t e d 0034640 w i t h t h e C V . A 0034660 t h r e a d u s e s 226 305 005 X 0034700 e r o x 305 \a X C 1 - 3 - 3 305 \a C 0034720 l a s s i c 017 243 241 033 240 223 304 004 003 # 0034740 \0 d 240 244 240 224 017 245 225 017 245 240 227 301 006 N 0034760 O T I F Y 226 017 240 240 227 301 004 o r 0035000 226 017 245 240 227 301 \t B R O A D C A S T 0035020 226 017 240 240 227 301 037 t o s i g n a 0035040 l w a i t i n g t h r e a d 0035060 s t h a t 226 017 241 017 262 223 240 k 304 006 0035100 \0 200 233 \0 001 220 304 004 ! 336 \0 ; 212 304 002 001 0035120 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 0035140 232 240 n 240 j 017 240 240 227 304 004 \t K 004 { 017 0035160 262 223 301 \ t h e c o n d i t i o 0035200 n h a s b e e n a c h i e 0035220 v e d . T h e c o m p i l 0035240 e r e n f o r c e s t h e 0035260 r u l e t h a t C V o p e 0035300 r a t i o n s a r e o n l y 0035320 226 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 0035340 304 004 & x \0 I 212 304 002 001 \n 304 002 001 \n 240 0035360 233 304 004 ! \0 022 017 240 240 232 240 n 240 j 017 0035400 240 240 227 304 004 004 357 003 225 017 262 223 301 ) i n 0035420 v o k e d w i t h t h e m 0035440 o n i t o r l o c k h e l d 0035460 . T h e 226 305 005 X e r o x 305 0035500 \a X C 1 - 3 - 3 305 \a C l a s s i 0035520 c 017 243 241 033 240 223 304 004 003 # \0 d 240 244 240 0035540 224 017 245 225 017 245 240 227 301 004 W A I T 226 017 0035560 240 240 227 301 3 o p e r a t i o n 0035600 a t o m i c a l l y r e l e a 0035620 s e s t h e m o n i t o r 0035640 l o c k a n d 226 017 241 017 262 223 240 k 0035660 304 006 \0 200 233 \0 001 220 304 004 " 023 \0 G 212 304 0035700 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 0035720 240 240 232 240 n 240 j 017 240 240 227 304 004 003 } 003 0035740 023 017 262 223 301 1 a d d s i t s c 0035760 a l l i n g t h r e a d t o 0036000 t h e C V ' s w a i t q 0036020 u e u e . 226 305 005 X e r o x 305 0036040 \a X C 1 - 3 - 3 305 \a C l a s s i 0036060 c 017 243 241 033 240 223 304 004 003 # \0 d 240 244 240 0036100 224 017 245 225 017 245 240 227 301 006 N O T I F Y 0036120 226 017 240 240 227 301 . c a u s e s a 0036140 s i n g l e t h r e a d t 0036160 h a t i s w a i t i n g o 0036200 n t h e 226 017 241 017 262 223 240 k 304 006 \0 0036220 200 233 \0 001 220 304 004 0 352 \0 q 212 304 002 001 \n 0036240 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 0036260 240 n 240 j 017 240 240 227 304 004 003 325 003 b 017 262 0036300 223 301 $ C V ' s w a i t q u e 0036320 u e t o b e c o m e r u n 0036340 n a b l e - - 226 305 005 X e r o x 305 0036360 \a X C 1 - 3 - 3 305 016 C l a s s i 0036400 c - i t a l i c 017 243 241 033 240 223 304 004 0036420 003 # \0 P 240 244 240 224 017 245 225 017 245 240 227 301 0036440 031 e x a c t l y o n e w a i 0036460 t e r w a k e n s 226 017 240 240 227 301 0036500 " b e h a v i o r . ( N o 0036520 t e t h a t s o m e t h r 0036540 e a d 226 017 241 017 262 223 240 k 304 006 \0 200 233 0036560 \0 001 220 304 006 001 3 177 \0 003 035 212 304 002 001 \n 0036600 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 0036620 240 n 240 j 017 240 240 227 304 004 003 222 002 \t 017 262 0036640 223 301 p a c k a g e s d e f i 0036660 n e t h e i r a n a l o g 0036700 o f 226 305 005 X e r o x 305 \a X C 1 0036720 - 3 - 3 305 \a C l a s s i c 017 243 241 0036740 033 240 223 304 004 003 # \0 d 240 244 240 224 017 245 225 0036760 017 245 240 227 301 006 N O T I F Y 226 017 240 240 0037000 227 301 \t t o h a v e 226 305 005 X 0037020 e r o x 305 \a X C 1 - 3 - 3 305 016 C 0037040 l a s s i c - i t a l i c 017 243 241 0037060 033 240 223 304 004 003 # \0 P 240 244 240 224 017 246 225 0037100 017 246 240 227 301 032 a t l e a s t o 0037120 n e w a i t e r w a k e n s 0037140 226 017 240 240 227 301 027 b e h a v i o r 0037160 [ B i r r e l l 9 1 ] . ) 226 017 0037200 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 004 0037220 \t 323 \0 035 212 304 002 001 \n 304 002 001 \n 240 233 304 0037240 004 ! \0 022 017 240 240 232 240 n 240 j 305 005 X 0037260 e r o x 305 \a X C 1 - 3 - 3 305 \a C 0037300 l a s s i c 017 243 241 033 240 223 304 004 003 # 0037320 \0 d 240 244 240 224 017 245 225 017 245 240 227 304 004 \v 0037340 E 005 242 017 262 223 301 \t B R O A D C A S 0037360 T 226 017 240 240 227 301 R c a u s e s 0037400 a l l t h r e a d s t h a t 0037420 a r e w a i t i n g o n 0037440 t h e C V t o b e c o m e 0037460 r u n n a b l e . I n e i 0037500 t h e r c a s e , 226 017 241 017 262 223 0037520 240 k 240 k 240 j 017 241 017 245 223 304 004 \0 177 023 0037540 210 240 244 240 250 017 240 017 240 240 242 240 250 304 004 \0 0037560 d 034 ; 240 244 240 250 017 241 240 244 240 250 017 240 240 0037600 243 240 250 017 240 240 227 304 006 001 020 240 \0 \0 } 304 0037620 006 001 # 267 \0 \0 d 212 301 001 4 226 304 006 \0 200 0037640 233 \0 001 220 304 004 ) 324 \0 017 212 017 240 240 227 301 0037660 K t h r e a d s m u s t c o 0037700 m p e t e f o r t h e m o 0037720 n i t o r ' s m u t e x b e 0037740 f o r e r e e n t e r i n g 0037760 t h e m o n i t o r . 226 304 006 \0 0040000 200 233 \0 001 220 304 004 F 207 \0 032 212 304 002 001 \n 0040020 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 0040040 240 n 240 j 017 240 240 227 304 004 \b { 004 N 017 262 0040060 223 301 [ U n l i k e t h e m o 0040100 n i t o r s o r i g i n a l l 0040120 y d e s c r i b e d b y H 0040140 o a r e [ H o a r e 7 4 ] , 0040160 t h e M e s a t h r e a d 0040200 m o d e l d o e s n o t 226 017 0040220 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 004 0040240 w 363 \0 - 212 304 002 001 \n 304 002 001 \n 240 233 304 0040260 004 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 0040300 227 304 004 036 001 \v 221 017 262 223 301 F g u a r 0040320 a n t e e t h a t t h e c 0040340 o n d i t i o n a s s o c i a 0040360 t e d w i t h a C V i s 0040400 s a t i s f i e d w h e n 0040420 a 226 305 005 X e r o x 305 \a X C 1 - 0040440 3 - 3 305 \a C l a s s i c 017 243 241 033 0040460 240 223 304 004 003 # \0 d 240 244 240 224 017 244 225 017 0040500 244 240 227 301 004 W A I T 226 017 240 240 227 301 017 0040520 c o m p l e t e s . I f 226 0040540 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 0040560 006 \a 226 353 \0 002 346 212 304 002 001 \n 304 002 001 \n 0040600 240 233 304 004 ! \0 022 017 240 240 232 240 n 240 j 0040620 305 005 X e r o x 305 \a X C 1 - 3 - 3 0040640 305 \a C l a s s i c 017 243 241 033 240 223 304 0040660 004 003 # \0 d 240 244 240 224 017 244 225 017 244 240 227 0040700 304 004 017 347 \r 322 017 262 223 301 \t B R O A D 0040720 C A S T 226 017 240 240 227 301 Y i s u 0040740 s e d , f o r e x a m p l e 0040760 , a d i f f e r e n t t h 0041000 r e a d m i g h t a c q u i 0041020 r e t h e m o n i t o r l 0041040 o c k f i r s t a n d c h 0041060 a n g e 226 017 241 017 262 223 240 k 304 006 \0 200 0041100 233 \0 001 220 304 006 \0 227 267 \0 \0 ; 212 304 002 001 0041120 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 0041140 232 240 n 240 j 017 240 240 227 304 004 g 030 332 017 0041160 262 223 301 d t h e s t a t e o f 0041200 t h e p r o g r a m . T 0041220 h e r e f o r e a t h r e a 0041240 d i s r e s p o n s i b l e 0041260 f o r r e c h e c k i n g 0041300 t h e c o n d i t i o n a f 0041320 t e r e a c h 226 017 241 017 262 223 240 k 0041340 304 006 \0 200 233 \0 001 220 304 006 \0 260 265 \0 \0 F 0041360 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 0041400 022 017 240 240 232 240 n 240 j 305 005 X e r o x 0041420 305 \a X C 1 - 3 - 3 305 \a C l a s s 0041440 i c 017 243 241 033 240 223 304 004 003 # \0 d 240 244 0041460 240 224 017 244 225 017 244 240 227 304 004 006 S 005 242 017 0041500 262 223 301 004 W A I T 226 017 240 240 227 301 ! . 0041520 T h u s , t h e p r o t 0041540 o t y p i c a l u s e o f 0041560 226 017 244 240 227 301 004 W A I T 226 017 240 240 227 0041600 301 \r i s i n s i d e a 226 0041620 017 244 240 227 301 005 W H I L E 226 017 240 240 227 0041640 301 ! l o o p t h a t c h e 0041660 c k s t h e c o n d i t i o 0041700 n , 226 305 005 X e r o x 305 \a X C 1 0041720 - 3 - 3 305 016 C l a s s i c - i t 0041740 a l i c 017 243 241 033 240 223 304 004 003 # \0 P 0041760 240 244 240 224 017 245 225 017 245 240 227 301 003 n o t 0042000 226 017 240 240 227 301 \a i n s i d e 226 017 0042020 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 006 0042040 \0 355 323 \0 \0 ` 212 304 002 001 \n 304 002 001 \n 240 0042060 233 304 004 ! \0 022 017 240 240 232 240 n 240 j 017 0042100 240 240 227 304 004 003 001 002 W 017 262 223 301 003 a n 0042120 226 305 005 X e r o x 305 \a X C 1 - 3 0042140 - 3 305 \a C l a s s i c 017 243 241 033 240 0042160 223 304 004 003 # \0 d 240 244 240 224 017 244 225 017 244 0042200 240 227 301 002 I F 226 017 240 240 227 301 N s t 0042220 a t e m e n t t h a t w o u 0042240 l d o n l y c h e c k t h 0042260 e c o n d i t i o n o n c e 0042300 . P r o g r a m s t h a t 0042320 o b e y t h e " 226 017 244 240 227 0042340 301 004 W A I T 226 017 240 240 227 301 \n o n 0042360 l y i n a 226 017 241 017 262 223 240 k 304 0042400 006 \0 200 233 \0 001 220 304 006 \0 316 223 \0 \0 U 212 0042420 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 0042440 017 240 240 232 240 n 240 j 017 240 240 227 304 004 \t 315 0042460 005 017 017 262 223 301 + l o o p " c o n 0042500 v e n t i o n a r e i n s e 0042520 n s i t v e t o w h e t h e 0042540 r 226 305 005 X e r o x 305 \a X C 1 - 0042560 3 - 3 305 \a C l a s s i c 017 243 241 033 0042600 240 223 304 004 003 # \0 d 240 244 240 224 017 244 225 017 0042620 244 240 227 301 006 N O T I F Y 226 017 240 240 227 0042640 301 005 h a s 226 305 005 X e r o x 305 0042660 \a X C 1 - 3 - 3 305 016 C l a s s i 0042700 c - i t a l i c 017 243 241 033 240 223 304 004 0042720 003 # \0 P 240 244 240 224 017 245 225 017 245 240 227 301 0042740 033 a t l e a s t o n e w 0042760 a i t e r w a k e n s 226 017 240 240 0043000 227 301 \f b e h a v i o r o r 226 0043020 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 0043040 004 X . \0 % 212 304 002 001 \n 304 002 001 \n 240 233 0043060 304 004 ! \0 022 017 240 240 232 240 n 240 j 305 005 0043100 X e r o x 305 \a X C 1 - 3 - 3 305 016 0043120 C l a s s i c - i t a l i c 017 243 0043140 241 033 240 223 304 004 003 # \0 P 240 244 240 224 017 244 0043160 225 017 244 240 227 304 004 006 177 004 240 017 262 223 301 032 0043200 e x a c t l y o n e w a i t 0043220 e r w a k e n s 226 017 240 240 227 301 0043240 < b e h a v i o r a s d e s 0043260 c r i b e d a b o v e . I 0043300 n d e e d , u n d e r t h i 0043320 s c o n v e n t i o n 226 305 005 0043340 X e r o x 305 \a X C 1 - 3 - 3 305 \a 0043360 C l a s s i c 017 243 241 033 240 223 304 004 003 0043400 # \0 d 240 244 240 224 017 245 225 017 245 240 227 301 \t 0043420 B R O A D C A S T 226 017 241 017 262 223 240 0043440 k 304 006 \0 200 233 \0 001 220 304 006 001 ( 262 \0 \0 0043460 177 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ! 0043500 \0 022 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0043520 017 5 005 \t 017 262 223 301 027 c a n b e 0043540 s u b s t i t u t e d f o r 0043560 226 305 005 X e r o x 305 \a X C 1 - 3 - 0043600 3 305 \a C l a s s i c 017 243 241 033 240 223 0043620 304 004 003 # \0 d 240 244 240 224 017 244 225 017 244 240 0043640 227 301 006 N O T I F Y 226 017 240 240 227 301 + 0043660 w i t h o u t a f f e c t i 0043700 n g p r o g r a m c o r r e 0043720 c t n e s s , s o 226 017 244 240 227 0043740 301 006 N O T I F Y 226 017 240 240 227 301 \n 0043760 i s j u s t a 226 017 241 017 262 223 240 0044000 k 304 006 \0 200 233 \0 001 220 304 006 \0 200 1 \0 \0 0044020 8 212 017 240 240 227 301 022 p e r f o r m a 0044040 n c e h i n t . 226 304 006 \0 200 233 0044060 \0 001 220 304 004 w 203 \0 6 212 304 002 001 \n 304 002 0044100 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 n 0044120 240 j 017 240 240 227 304 004 002 - 001 344 017 262 223 301 0044140 \r T h r e a d s h a v e 226 305 0044160 005 X e r o x 305 \a X C 1 - 3 - 3 305 0044200 016 C l a s s i c - i t a l i c 017 0044220 243 241 033 240 223 304 004 003 # \0 P 240 244 240 224 017 0044240 244 225 017 244 240 227 301 \n p r i o r i t i 0044260 e s 226 017 240 240 227 301 M t h a t a 0044300 f f e c t t h e s c h e d u 0044320 l e r . T h e s c h e d u 0044340 l e r r u n s t h e h i g 0044360 h e s t p r i o r i t y r u 0044400 n n a b l e 226 017 241 017 262 223 240 k 304 006 0044420 \0 200 233 \0 001 220 304 006 001 006 032 \0 \0 y 212 304 0044440 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 0044460 240 240 232 240 n 240 j 017 240 240 227 304 004 273 026 0044500 270 017 262 223 301 a t h r e a d a n d 0044520 i f t h e r e a r e s e 0044540 v e r a l r u n n a b l e t 0044560 h r e a d s a t t h e h i 0044600 g h e s t p r i o r i t y t 0044620 h e n r o u n d - r o b i n 0044640 i s u s e d 226 017 241 017 262 223 240 k 304 0044660 006 \0 200 233 \0 001 220 304 004 A 261 \0 037 212 304 002 0044700 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 0044720 240 232 240 n 240 j 017 240 240 227 304 004 \a m 005 220 0044740 017 262 223 301 ` a m o n g t h e m . 0044760 I f a s y s t e m e v 0045000 e n t c a u s e s a h i g 0045020 h e r p r i o r i t y t h r 0045040 e a d t o b e c o m e r u 0045060 n n a b l e , t h e s c h e 0045100 d u l e r 226 017 241 017 262 223 240 k 304 006 \0 0045120 200 233 \0 001 220 304 004 T 364 \0 ) 212 304 002 001 \n 0045140 304 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 0045160 240 n 240 j 017 240 240 227 304 004 017 U \v 354 017 262 0045200 223 301 005 w i l l 226 305 005 X e r o x 0045220 305 \a X C 1 - 3 - 3 305 016 C l a s s 0045240 i c - i t a l i c 017 243 241 033 240 223 304 0045260 004 003 # \0 P 240 244 240 224 017 244 225 017 244 240 227 0045300 301 \a p r e e m p t 226 017 240 240 227 301 Y 0045320 t h e c u r r e n t l y r 0045340 u n n i n g t h r e a d , e 0045360 v e n i f i t h o l d s 0045400 m o n i t o r l o c k s . 0045420 T h e r e a r e 7 p r i o 0045440 r i t i e s i n 226 017 241 017 262 223 240 0045460 k 304 006 \0 200 233 \0 001 220 304 004 B 323 \0 ! 212 0045500 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 0045520 017 240 240 232 240 n 240 j 017 240 240 227 304 004 \r 347 0045540 \f 210 017 262 223 301 h a l l , w i t h 0045560 t h e d e f a u l t b e i 0045600 n g t h e m i d d l e p r 0045620 i o r i t y ( 4 ) . T y p 0045640 i c a l l y l o w e r p r i 0045660 o r i t y i s u s e d f o 0045700 r l o n g r u n n i n g , 226 0045720 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 0045740 004 U \r \0 + 212 304 002 001 \n 304 002 001 \n 240 233 0045760 304 004 ! \0 022 017 240 240 232 240 n 240 j 017 240 0046000 240 227 304 004 002 330 002 u 017 262 223 301 d b a c 0046020 k g r o u n d w o r k , w h 0046040 i l e h i g h e r p r i o r 0046060 i t y i s u s e d f o r 0046100 t h r e a d s a s s o c i a t 0046120 e d w i t h d e v i c e s 0046140 o r a s p e c t s o f t h 0046160 e 226 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 0046200 220 304 006 \0 304 363 \0 \0 f 212 304 002 001 \n 304 002 0046220 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 n 0046240 240 j 017 240 240 227 304 004 002 263 002 U 017 262 223 301 0046260 g u s e r i n t e r f a c e , 0046300 k e e p i n g t h e s y s 0046320 t e m r e s p o n s i v e f 0046340 o r i n t e r a c t i v e w 0046360 o r k . A t h r e a d ' s 0046400 i n i t i a l p r i o r i t 0046420 y i s s e t 226 017 241 017 262 223 240 k 0046440 304 006 \0 200 233 \0 001 220 304 006 \0 322 375 \0 \0 p 0046460 212 017 240 240 227 301 4 w h e n i t i 0046500 s c r e a t e d . I t c 0046520 a n c h a n g e i t s o w 0046540 n p r i o r i t y . 226 304 006 \0 200 0046560 233 \0 001 220 304 004 0 320 \0 033 212 304 002 001 \n 304 0046600 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 0046620 n 240 j 017 240 240 227 304 004 033 D 024 203 017 262 223 0046640 301 _ T h e t i m e s l i c e 0046660 i n t e r v a l a n d t h e 0046700 C V t i m e o u t g r a n 0046720 u l a r i t y i n t h e c 0046740 u r r e n t i m p l e m e n t 0046760 a t i o n a r e e a c h 5 0047000 0 226 017 241 017 262 223 240 k 304 006 \0 200 233 \0 001 0047020 220 304 006 \0 335 335 \0 \0 ~ 212 304 002 001 \n 304 002 0047040 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 n 0047060 240 j 017 240 240 227 304 004 005 S 003 321 017 262 223 301 0047100 c m i l l i s e c o n d s . 0047120 T h e s c h e d u l e r r u 0047140 n s a t l e a s t t h a t 0047160 o f t e n , b u t a l s o 0047200 r u n s e a c h t i m e 0047220 a t h r e a d b l o c k s 0047240 o n a 226 017 241 017 262 223 240 k 304 006 \0 200 0047260 233 \0 001 220 304 004 D 215 \0 ( 212 304 002 001 \n 304 0047300 002 001 \n 240 233 304 004 ! \0 022 017 240 240 232 240 0047320 n 240 j 017 240 240 227 304 004 \b 017 005 2 017 262 223 0047340 301 # m u t e x , w a i t s o 0047360 n a C V , o r c a l l s 0047400 t h e 226 305 005 X e r o x 305 \a X 0047420 C 1 - 3 - 3 305 \a C l a s s i c 017 0047440 243 241 033 240 223 304 004 003 # \0 d 240 244 240 224 017 0047460 244 225 017 244 240 227 301 006 Y I E L D 226 017 0047500 240 240 227 301 # p r i m i t i v e . 0047520 T h e o n l y p u r p o s e 0047540 o f t h e 226 017 244 240 227 301 005 Y 0047560 I E L D 226 017 240 240 227 301 020 p r i m 0047600 i t i v e i s t o 226 017 241 017 262 0047620 223 240 k 304 006 \0 200 233 \0 001 220 304 006 001 R X 0047640 \0 \0 313 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0047660 ! \0 022 017 240 240 232 240 n 240 j 017 240 240 227 0047700 304 004 020 027 016 P 017 262 223 301 c c a u s e 0047720 t h e s c h e d u l e r t 0047740 o r u n ( b u t s e e d 0047760 i s c u s s i o n l a t e r 0050000 o f Y i e l d B u t N o t T o 0050020 M e ) . T h e s c h e d u 0050040 l e r t a k e s l e s s 226 017 0050060 241 017 262 223 240 k 304 006 \0 200 233 \0 001 220 304 004 0050100 f \n \0 ? 212 017 240 240 227 301 C t h a n 0050120 5 0 m i c r o s e c o n d s 0050140 t o s w i t c h b e t w e e 0050160 n t h r e a d s o n a S 0050200 p a r c s t a t i o n - 2 . 226 304 0050220 004 034 ; \0 d 304 006 \0 276 333 \0 \0 206 212 305 005 0050240 X e r o x 305 \a X C 1 - 3 - 3 305 \f 0050260 C l a s s i c - b o l d 017 243 241 033 0050300 240 223 304 004 \t i \0 310 240 244 240 224 017 244 225 017 0050320 244 240 227 301 033 3 . D y n a m i c 0050340 t h r e a d b e h a v i o r 0050360 226 304 006 \0 200 233 \0 001 220 304 004 @ 324 \0 1 212 0050400 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 0050420 017 240 240 232 240 n 240 j 017 240 240 227 304 004 002 022 0050440 001 267 017 262 223 301 b S e c t i o n 3 0050460 . 1 d e s c r i b e s t h e 0050500 l a r g e - s c a l e b e h 0050520 a v i o r o f o u r t h r 0050540 e a d s y s t e m s : h o 0050560 w m a n y t h r e a d s a 0050600 r e t h e r e , 226 017 241 017 262 223 240 0050620 k 304 006 \0 200 233 \0 001 220 304 004 w 361 \0 ^ 212 0050640 304 002 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 0050660 017 240 240 232 240 n 240 j 017 240 240 227 304 004 005 364 0050700 004 % 017 262 223 301 ` h o w o f t e n 0050720 a r e t h r e a d s c r e 0050740 a t e d a n d d e s t r o y 0050760 e d , h o w o f t e n a r 0051000 e m o n i t o r l o c k s 0051020 a n d c o n d i t i o n v a 0051040 r i a b l e s 226 017 241 017 262 223 240 k 304 0051060 006 \0 200 233 \0 001 220 304 004 | 037 \0 e 212 304 002 0051100 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 0051120 240 232 240 n 240 j 017 240 240 227 304 004 004 256 003 1 0051140 017 262 223 301 e u s e d . I t i 0051160 s i n t e n d e d t o g i 0051200 v e t h e r e a d e r a n 0051220 i n t u i t i v e f e e l 0051240 f o r t h e p h y s i c a l 0051260 a n d t e m p o r a l s c 0051300 a l e o f t h e 226 017 241 017 262 223 0051320 240 k 304 006 \0 200 233 \0 001 220 304 004 ( / \0 " 0051340 212 017 240 240 227 301 \a s y s t e m . 226 304 0051360 006 \0 200 233 \0 001 220 304 004 C v \0 = 212 304 002 0051400 001 \n 304 002 001 \n 240 233 304 004 ! \0 022 017 240 0051420 240 232 240 n 240 j 017 240 240 227 304 004 \t 1 005 ` 0051440 017 262 223 301 a S e c t i o n 3 . 2 0051460 p r o v i d e s a m i c r 0051500 o s c o p i c l o o k a t 0051520 a t h r e a d m i s b e h a 0051540 v i o r . I t i s i n t 0051560 e n d e d t o i n t r o d u 0051600 c e t h e 226 017 241 017 262 223 240 k 304 006 0051620 \0 200 233 \0 001 220 304 004 - 210 \0 + 212 017 240 240 0051640 227 301 i n o t i o n o f m i c 0051660 r o s c o p i c e x a m i n a 0051700 t i o n a n d t o p r o v 0051720 i d e a n e x a m p l e f 0051740 o r d i s c u s s i o n l 0051760 a t e r i n t h e p a p e 0052000 r . 226 304 006 \0 0052020 200 233 \0 001 220 304 004 V / \0 Z 212 017 241 240 227 0052040 301 022 3 . 1 M a c r o - b e h a 0052060 v i o r 226 304 004 H % \0 310 304 004 u Q \0 0052100 211 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 0052120 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0052140 022 5 016 333 017 262 223 301 _ O n e o f 0052160 t h e o r i g i n a l m o t 0052200 i v a t i o n s f o r o u r 0052220 w o r k w a s a d e s i 0052240 r e t o u n d e r s t a n d 0052260 t h e d y n a m i c b e h 0052300 a v i o r o f 226 017 241 017 262 223 240 k 0052320 304 004 H % \0 310 304 004 022 235 \0 027 212 304 002 001 0052340 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 0052360 232 240 n 240 j 017 240 240 227 304 004 005 373 002 304 017 0052400 262 223 301 Y u s e r - l e v e l t 0052420 h r e a d s . F o r t h i 0052440 s p u r p o s e , w e c o 0052460 n s t r u c t e d a n i n s 0052500 t r u m e n t e d v e r s i o 0052520 n o f P C R t h a t 226 017 241 0052540 017 262 223 240 k 304 004 H % \0 310 304 004 027 241 \0 0052560 037 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 0052600 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0052620 \t 361 006 204 017 262 223 301 ^ m e a s u r e 0052640 d t h e n u m b e r o f 0052660 t h r e a d s i n t h e s 0052700 y s t e m , t h r e a d l i 0052720 f e t i m e s , t h e r u n 0052740 l e n g t h d i s t r i b u 0052760 t i o n o f 226 017 241 017 262 223 240 k 304 0053000 004 H % \0 310 304 004 ] 260 \0 203 212 304 002 001 \n 0053020 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0053040 240 n 240 j 017 240 240 227 304 004 006 263 004 : 017 262 0053060 223 301 ^ t h r e a d s a n d t 0053100 h e r a t e a t w h i c h 0053120 m o n i t o r l o c k s a 0053140 n d c o n d i t i o n v a r 0053160 i a b l e s a r e u s e d . 0053200 A n a l y s i s o f t h 0053220 e 226 017 241 017 262 223 240 k 304 004 H % \0 310 304 0053240 004 3 r \0 M 212 304 002 001 \n 304 002 001 \n 240 233 0053260 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 0053300 240 227 304 004 \a 024 005 027 017 262 223 301 ^ d a t 0053320 a o b t a i n e d f r o m 0053340 t h i s i n s t r u m e n t e 0053360 d s y s t e m l e d t o 0053400 t h e r e a l i z a t i o n 0053420 t h a t t h e r e w e r e 0053440 a n u m b e r o f 226 017 241 017 262 0053460 223 240 k 304 004 H % \0 310 304 004 f z \0 245 212 0053500 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 0053520 017 240 240 232 240 n 240 j 017 240 240 227 304 004 005 : 0053540 002 q 017 262 223 301 \ c o n s i s t e n 0053560 t p a t t e r n s o f t h 0053600 r e a d u s a g e , w h i c 0053620 h l e d t o t h e s t a 0053640 t i c a n a l y s i s o n 0053660 w h i c h t h i s p a p e r 0053700 i s 226 017 241 017 262 223 240 k 304 004 H % \0 0053720 310 304 004 8 A \0 b 212 304 002 001 \n 304 002 001 \n 0053740 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 0053760 017 240 240 227 304 004 005 \f 003 217 017 262 223 301 ` f 0054000 o c u s e d . T o g i v e 0054020 t h e r e a d e r s o m e 0054040 b a c k g r o u n d a n d 0054060 c o n t e x t f o r t h i 0054100 s s t a t i c a n a l y s i 0054120 s , w e p r e s e n t a 226 0054140 017 241 017 262 223 240 k 304 004 H % \0 310 304 004 A 0054160 337 \0 } 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0054200 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 0054220 304 004 016 207 \n 004 017 262 223 301 \ s u m m a 0054240 r y o f o u r d y n a m i 0054260 c d a t a b e l o w . T 0054300 h i s d a t a i s b a s e 0054320 d o n a s e t o f b e 0054340 n c h m a r k s i n t e n d e 0054360 d t o b e 226 017 241 017 262 223 240 k 304 0054400 004 H % \0 310 304 004 % o \0 N 212 304 002 001 \n 0054420 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0054440 240 n 240 j 017 240 240 227 304 004 \b 321 004 327 017 262 0054460 223 301 ^ t y p i c a l o f u s 0054500 e r a c t i v i t y , i n c 0054520 l u d i n g c o m p i l a t i 0054540 o n , f o r m a t t i n g a 0054560 d o c u m e n t i n t o a 0054600 p a g e d e s c r i p t i o 0054620 n 226 017 241 017 262 223 240 k 304 004 H % \0 310 304 0054640 004 022 235 \0 + 212 304 002 001 \n 304 002 001 \n 240 233 0054660 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 0054700 240 227 304 004 004 003 002 306 017 262 223 301 ^ l a n 0054720 g u a g e ( l i k e P o s t 0054740 s c r i p t ) , p r e v i e w 0054760 i n g p a g e s d e s c r i 0055000 b e d b y a p a g e d e 0055020 s c r i p t i o n l a n g u a 0055040 g e a n d u s e r 226 017 241 017 262 0055060 223 240 k 304 004 H % \0 310 304 004 t 347 001 / 212 0055100 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 0055120 017 240 240 232 240 n 240 j 017 240 240 227 304 004 006 p 0055140 002 k 017 262 223 301 V i n t e r f a c e 0055160 t a s k s ( k e y b o a r d 0055200 i n g , m o u s i n g a n d 0055220 s c r o l l i n g w i n d o 0055240 w s ) . A l l d a t a w 0055260 a s t a k e n o n a 226 017 241 0055300 017 262 223 240 k 304 004 H % \0 310 304 004 J 336 \0 0055320 335 212 017 240 240 227 301 # S p a r c s t a 0055340 t i o n - 2 r u n n i n g S 0055360 u n O S - 4 . 1 . 3 . 226 240 k 240 j 0055400 017 241 017 245 223 304 004 \0 177 023 210 240 244 240 250 017 0055420 240 017 240 240 242 240 250 304 004 \0 d 034 ; 240 244 240 0055440 250 017 241 240 244 240 250 017 240 240 243 240 250 017 240 240 0055460 227 304 004 [ 243 \0 * 304 006 001 # 267 \0 \0 d 212 0055500 301 001 5 226 304 004 H % \0 310 304 004 ) 324 \0 017 0055520 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 0055540 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 \b 0055560 267 \a 244 017 262 223 301 a L o o k i n g 0055600 a t t h e d y n a m i c t 0055620 h r e a d b e h a v i o r , 0055640 w e o b s e r v e d s e v e 0055660 r a l d i f f e r e n t c l 0055700 a s s e s o f t h r e a d 0055720 s . T h e r e 226 017 241 017 262 223 240 0055740 k 304 004 H % \0 310 304 006 \0 310 ! \0 \0 I 212 0055760 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 0056000 017 240 240 232 240 n 240 j 017 240 240 227 304 004 \b \a 0056020 005 t 017 262 223 301 005 w e r e 226 305 005 X 0056040 e r o x 305 \a X C 1 - 3 - 3 305 016 C 0056060 l a s s i c - i t a l i c 017 243 241 0056100 033 240 223 304 004 003 # \0 P 240 244 240 224 017 244 225 0056120 017 244 240 227 301 \a e t e r n a l 226 017 240 0056140 240 227 301 S t h r e a d s t h a 0056160 t r e p e a t e d l y w a i 0056200 t e d o n a c o n d i t i 0056220 o n v a r i a b l e a n d 0056240 t h e n r a n b r i e f l y 0056260 b e f o r e 226 017 241 017 262 223 240 k 304 0056300 004 H % \0 310 304 006 001 ^ G \0 \0 202 212 304 002 0056320 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 0056340 240 232 240 n 240 j 017 240 240 227 304 004 004 333 002 356 0056360 017 262 223 301 033 w a i t i n g a g a 0056400 i n . T h e r e w e r e 0056420 226 305 005 X e r o x 305 \a X C 1 - 3 - 0056440 3 305 016 C l a s s i c - i t a l i 0056460 c 017 243 241 033 240 223 304 004 003 # \0 P 240 244 240 0056500 224 017 244 225 017 244 240 227 301 006 w o r k e r 0056520 226 017 240 240 227 301 ; t h r e a d s 0056540 t h a t w e r e f o r k e d 0056560 t o p e r f o r m s o m e 0056600 a c t i v i t y , s u c h 0056620 a s 226 017 241 017 262 223 240 k 304 004 H % \0 310 0056640 304 006 \0 224 A \0 \0 8 212 304 002 001 \n 304 002 001 0056660 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 0056700 j 017 240 240 227 304 004 \a t 004 227 017 262 223 301 8 0056720 f o r m a t t i n g a d o c 0056740 u m e n t . F i n a l l y , 0056760 t h e r e w e r e s h o r 0057000 t - l i v e d 226 305 005 X e r o x 0057020 305 \a X C 1 - 3 - 3 305 016 C l a s s 0057040 i c - i t a l i c 017 243 241 033 240 223 304 0057060 004 003 # \0 P 240 244 240 224 017 244 225 017 244 240 227 0057100 301 \t t r a n s i e n t 226 017 240 240 227 0057120 301 034 t h r e a d s t h a t 0057140 w e r e f o r k e d b y 226 017 0057160 241 017 262 223 240 k 304 004 H % \0 310 304 006 001 + 0057200 \n \0 \0 s 212 017 240 240 227 301 M s o m e 0057220 l o n g - l i v e d t h r e a 0057240 d , w o u l d r u n f o r 0057260 a r e l a t i v e l y s h 0057300 o r t w h i l e a n d t h 0057320 e n e x i t . 226 304 004 H % \0 310 304 0057340 006 001 \b 205 \0 \0 i 212 304 002 001 \n 304 002 001 \n 0057360 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 0057400 017 240 240 227 304 004 002 H 001 251 017 262 223 301 \ A 0057420 C e d a r o r G V X w o 0057440 r l d u s e s a m o d e r 0057460 a t e n u m b e r o f t h 0057500 r e a d s . C o n s i d e r 0057520 C e d a r f i r s t : a n 0057540 i d l e C e d a r 226 017 241 017 262 0057560 223 240 k 304 004 H % \0 310 304 004 Q 225 \0 ! 212 0057600 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 0057620 017 240 240 232 240 n 240 j 017 240 240 227 304 004 005 373 0057640 004 214 017 262 223 301 _ s y s t e m h a 0057660 s a b o u t 3 5 e t e r n 0057700 a l t h r e a d s r u n n i 0057720 n g i n i t a n d f o r 0057740 k s a t r a n s i e n t t 0057760 h r e a d o n c e a s e c 0060000 o n d o n 226 017 241 017 262 223 240 k 304 004 0060020 H % \0 310 304 006 003 \ 354 \0 001 c 212 304 002 001 0060040 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 0060060 232 240 n 240 j 017 240 240 227 304 004 005 256 005 U 017 0060100 262 223 301 a a v e r a g e . K e 0060120 y b o a r d a c t i v i t y 0060140 c a n c a u s e u p t o 0060160 5 t h r e a d f o r k s p 0060200 e r s e c o n d , a l t h o 0060220 u g h m o s t o t h e r 0060240 u s e r - 226 017 241 017 262 223 240 k 304 004 H 0060260 % \0 310 304 006 \0 250 330 \0 \0 G 212 304 002 001 \n 0060300 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0060320 240 n 240 j 017 240 240 227 304 004 \v 302 005 317 017 262 0060340 223 301 \ i n t e r f a c e a c 0060360 t i v i t y c a u s e s m u 0060400 c h s m a l l e r i n c r e 0060420 a s e s i n t h r e a d f 0060440 o r k i n g r a t e s . W 0060460 h i l e o n e o f o u r 226 0060500 017 241 017 262 223 240 k 304 004 H % \0 310 304 006 \0 0060520 277 % \0 \0 R 212 304 002 001 \n 304 002 001 \n 240 233 0060540 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 0060560 240 227 304 004 006 b 003 ! 017 262 223 301 X b e n 0060600 c h m a r k a p p l i c a t i 0060620 o n s ( d o c u m e n t f o 0060640 r m a t t i n g ) e m p l o y 0060660 e d l a r g e n u m b e r s 0060700 o f t r a n s i e n t t h 0060720 r e a d s 226 017 241 017 262 223 240 k 304 004 H 0060740 % \0 310 304 006 \0 275 222 \0 \0 S 212 304 002 001 \n 0060760 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0061000 240 n 240 j 017 240 240 227 304 004 036 I 017 @ 017 262 0061020 223 301 [ ( f o r k i n g 3 . 6 0061040 t h r e a d s / s e c . ) , t 0061060 h e o t h e r t w o c o m 0061100 p u t e - i n t e n s i v e a 0061120 p p l i c a t i o n s w e e 0061140 x a m i n e d c a u s e d 226 017 0061160 241 017 262 223 240 k 304 004 H % \0 310 304 004 : ) 0061200 \0 032 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 0061220 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 0061240 004 \a _ 003 211 017 262 223 301 033 t h r e a d 0061260 - f o r k i n g a c t i v i t 0061300 y t o 226 305 005 X e r o x 305 \a X 0061320 C 1 - 3 - 3 305 016 C l a s s i c - 0061340 i t a l i c 017 243 241 033 240 223 304 004 003 # 0061360 \0 P 240 244 240 224 017 244 225 017 244 240 227 301 \b d 0061400 e c r e a s e 226 017 240 240 227 301 8 b 0061420 y m o r e t h a n a f a 0061440 c t o r o f 3 . I n a 0061460 l l o u r b e n c h m a r k 0061500 s , t h e 226 017 241 017 262 223 240 k 304 004 0061520 H % \0 310 304 004 2 ^ \0 027 212 304 002 001 \n 304 0061540 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 0061560 n 240 j 017 240 240 227 304 004 233 024 6 017 262 223 0061600 301 Y m a x i m u m n u m b e r 0061620 o f t h r e a d s c o n c 0061640 u r r e n t l y e x i s t i n 0061660 g i n t h e s y s t e m 0061700 n e v e r e x c e e d e d 4 0061720 1 , a l t h o u g h 226 017 241 017 262 0061740 223 240 k 304 004 H % \0 310 304 004 S 222 \0 ' 212 0061760 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 0062000 017 240 240 232 240 n 240 j 017 240 240 227 304 004 \a 317 0062020 005 W 017 262 223 301 ] u s e r s e m p 0062040 l o y t w o t o t h r e e 0062060 t i m e s t h i s m a n y 0062100 i n e v e r y d a y w o r 0062120 k . T r a n s i e n t t h 0062140 r e a d s a r e b y f a r 0062160 t h e 226 017 241 017 262 223 240 k 304 004 H % 0062200 \0 310 304 006 \0 245 221 \0 \0 O 212 304 002 001 \n 304 0062220 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 0062240 n 240 j 017 240 240 227 304 004 005 345 003 A 017 262 223 0062260 301 [ m o s t n u m e r o u s 0062300 r e s u l t i n g i n a n 0062320 a v e r a g e l i f e t i m e 0062340 f o r n o n - e t e r n a l 0062360 t h r e a d s t h a t i s 0062400 w e l l u n d e r 1 226 017 241 0062420 017 262 223 240 k 304 004 H % \0 310 304 006 001 211 [ 0062440 \0 \0 300 212 017 240 240 227 301 \a s e c o n d 0062460 . 226 304 004 H % \0 310 304 004 J 305 \0 & 212 304 0062500 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 0062520 240 240 232 240 n 240 j 017 240 240 227 304 004 003 305 002 0062540 O 017 262 223 301 ] A n i d l e G V 0062560 X w o r l d e x h i b i t s 0062600 n o t i c e a b l y d i f f 0062620 e r e n t b e h a v i o r t 0062640 h a n j u s t d e s c r i b 0062660 e d . A n i d l e s y s 0062700 t e m 226 017 241 017 262 223 240 k 304 004 H % \0 0062720 310 304 006 002 r 033 \0 001 F 212 304 002 001 \n 304 002 0062740 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 0062760 240 j 017 240 240 227 304 004 006 261 004 L 017 262 223 301 0063000 ` c o n t a i n s 2 2 e t e 0063020 r n a l t h r e a d s a n d 0063040 f o r k s n o a d d i t i 0063060 o n a l t h r e a d s . I 0063100 n f a c t , n o a d d i t 0063120 i o n a l t h r e a d s a r 0063140 e 226 017 241 017 262 223 240 k 304 004 H % \0 310 304 0063160 004 6 U \0 035 212 017 240 240 227 301 U f o r k 0063200 e d f o r a n y u s e r 0063220 i n t e r f a c e a c t i v i 0063240 t y , b e i t k e y b o a 0063260 r d , m o u s e , o r w i 0063300 n d o w i n g a c t i v i t y 0063320 . 226 304 004 H % \0 310 304 006 004 220 247 \0 002 214 0063340 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 0063360 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 004 0063400 C 002 g 017 262 223 301 Z T h e A p p e 0063420 n d i x c o n t a i n s a 0063440 b r i e f d e s c r i p t i o 0063460 n o f e a c h e t e r n a 0063500 l t h r e a d s e e n i n 0063520 t h e C e d a r a n d G 0063540 V X 226 017 241 017 262 223 240 k 304 004 H % \0 310 0063560 304 006 002 302 337 \0 001 225 212 017 240 240 227 301 \v b 0063600 e n c h m a r k s . 226 304 004 v > \0 0063620 225 304 004 e 205 \0 = 212 017 241 240 227 301 + T a 0063640 b l e 1 : F o r k i n g a 0063660 n d t h r e a d - s w i t c h 0063700 i n g r a t e s 226 304 004 H % \0 310 0063720 304 004 \v 025 \0 \a 212 305 005 X e r o x 305 \a 0063740 X C 1 - 3 - 3 305 \f C l a s s i c 0063760 - b o l d 017 243 241 033 240 223 304 004 003 # \0 0064000 d 240 244 240 224 017 244 225 017 244 240 227 304 004 003 # 0064020 \0 310 215 301 005 C e d a r 226 304 004 374 335 \0 0064040 310 215 305 005 X e r o x 305 \a X C 1 - 3 0064060 - 3 305 \a C l a s s i c 017 243 241 033 240 0064100 223 304 004 003 # \0 d 240 244 240 224 017 245 225 017 245 0064120 240 227 304 004 003 # \0 310 215 301 \0 226 304 004 033 J 0064140 \0 343 214 304 004 374 335 \0 310 215 304 004 003 # \0 310 0064160 215 301 \0 226 304 004 023 322 \0 [ 214 304 004 374 335 \0 0064200 310 215 304 004 003 # \0 310 215 301 \0 226 304 004 023 322 0064220 \0 [ 214 304 004 374 335 \0 310 215 017 244 240 227 304 004 0064240 003 # \0 310 215 301 \t F o r k s / s e c 0064260 226 304 004 374 335 \0 310 215 017 245 240 227 304 004 003 # 0064300 \0 310 215 301 \0 226 304 004 T ^ 005 035 214 304 004 374 0064320 335 \0 310 215 017 244 240 227 304 004 003 # \0 310 215 301 0064340 023 T h r e a d S w i t c h e s 0064360 / s e c 226 304 004 374 335 \0 310 215 017 240 240 227 0064400 301 \0 226 304 004 026 323 \0 320 214 304 004 H % \0 310 0064420 304 004 R 363 \0 6 212 017 241 240 227 301 \n I d l 0064440 e C e d a r 226 017 240 240 227 301 \0 226 304 0064460 004 3 336 \0 345 214 301 \0 226 304 004 023 322 \0 [ 214 0064500 301 \a 0 . 9 226 304 004 C 4 002 \v 0064520 214 301 \v 1 3 2 226 304 0064540 004 H % \0 310 304 004 D 177 \0 . 212 017 241 240 227 0064560 301 016 K e y b o a r d i n p u t 0064600 226 017 240 240 227 301 \0 226 304 004 032 225 \0 332 214 301 0064620 \0 226 304 004 023 322 \0 [ 214 301 \a 5 0064640 . 0 226 304 004 C 4 002 \v 214 301 \v 0064660 2 6 9 226 304 004 H % \0 310 304 004 0064700 i D \0 I 212 017 241 240 227 301 016 M o u s e 0064720 m o v e m e n t 226 017 240 240 227 301 \0 0064740 226 304 004 ? 245 002 311 214 301 \0 226 304 004 023 322 \0 0064760 [ 214 301 \a 1 . 0 226 304 004 C 4 0065000 002 \v 214 301 \v 1 9 1 0065020 226 304 004 H % \0 310 304 006 \0 221 023 \0 \0 h 212 0065040 017 241 240 227 301 020 W i n d o w s c r 0065060 o l l i n g 226 017 240 240 227 301 \0 226 304 004 0065100 022 277 \0 322 214 301 \0 226 304 004 023 322 \0 [ 214 301 0065120 \a 0 . 7 226 304 004 C 4 002 \v 214 0065140 301 \v 1 7 2 226 304 004 0065160 H % \0 310 304 004 , { \0 ! 212 017 241 240 227 301 0065200 023 D o c u m e n t f o r m a t 0065220 t i n g 226 017 240 240 227 301 \0 226 304 004 024 ( 0065240 \0 Y 214 301 \a 3 . 6 226 304 004 C 0065260 4 002 \v 214 301 \v 1 7 0065300 1 226 304 004 H % \0 310 304 004 S A \0 @ 212 017 0065320 241 240 227 301 023 D o c u m e n t p r 0065340 e v i e w i n g 226 017 240 240 227 301 \0 226 0065360 304 004 025 306 \0 e 214 301 \a 1 . 6 0065400 226 304 004 C 4 002 \v 214 301 \v 0065420 2 2 2 226 304 004 H % \0 310 304 004 * 241 0065440 \0 " 212 017 241 240 227 301 \f M a k e p r 0065460 o g r a m 226 017 240 240 227 301 \0 226 304 006 001 0065500 4 221 \0 \b 204 214 301 001 226 304 004 0 270 \0 351 0065520 214 301 \a 0 . 3 226 304 004 C 4 002 0065540 \v 214 301 \v 1 7 0 226 0065560 304 004 H % \0 310 304 006 \0 262 231 \0 \0 224 212 017 0065600 241 240 227 301 \a C o m p i l e 226 017 240 240 0065620 227 301 \0 226 304 004 2 276 003 313 214 301 \0 226 304 004 0065640 023 322 \0 [ 214 301 \0 226 304 004 023 322 \0 [ 214 301 0065660 \a 0 . 3 226 304 004 C 4 002 \v 214 0065700 301 \v 1 3 5 226 304 004 0065720 H % \0 310 304 004 M 263 \0 C 212 304 004 H % \0 0065740 310 304 004 Q 9 \0 I 212 017 244 240 227 304 004 003 # 0065760 \0 310 215 301 003 G V X 226 304 004 374 335 \0 310 215 0066000 304 004 H % \0 310 304 004 - 322 \0 + 212 017 241 240 0066020 227 301 \b I d l e G V X 226 017 240 240 227 0066040 301 \0 226 304 004 \r { 001 203 214 301 \0 226 304 004 023 0066060 322 \0 [ 214 301 \0 226 304 004 023 322 \0 [ 214 301 005 0066100 0 226 304 004 , \0 001 021 214 301 \v 0066120 3 3 226 304 004 H % \0 0066140 310 304 004 t 035 \0 r 212 017 241 240 227 301 016 K e 0066160 y b o a r d i n p u t 226 017 240 240 0066200 227 301 \0 226 304 004 032 225 \0 332 214 301 \0 226 304 004 0066220 023 322 \0 [ 214 301 005 0 226 304 004 , 0066240 \0 001 021 214 301 \v 6 0066260 0 226 304 004 H % \0 310 304 006 \0 216 317 \0 \0 223 0066300 212 017 241 240 227 301 016 M o u s e m o v 0066320 e m e n t 226 017 240 240 227 301 \0 226 304 004 ? 0066340 245 002 311 214 301 \0 226 304 004 023 322 \0 [ 214 301 005 0066360 0 226 304 004 , \0 001 021 214 301 \v 0066400 3 4 226 304 004 H % \0 0066420 310 304 006 \0 213 227 \0 \0 227 212 017 241 240 227 301 020 0066440 W i n d o w s c r o l l i n g 0066460 226 017 240 240 227 301 \0 226 304 004 022 277 \0 322 214 301 0066500 \0 226 304 004 023 322 \0 [ 214 301 005 0 0066520 226 304 004 , \0 001 021 214 301 \v 0066540 4 3 226 304 004 H % \0 310 304 004 6 321 0066560 \0 A 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 0066600 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 0066620 004 017 231 \n 004 017 262 223 301 [ T h e r a 0066640 t e a t w h i c h a C e 0066660 d a r s y s t e m s w i t c 0066700 h e s a m o n g r u n n i n 0066720 g t h r e a d s v a r i e s 0066740 f r o m 1 3 0 / s e c . f 0066760 o r a n 226 017 241 017 262 223 240 k 304 004 H 0067000 % \0 310 304 004 h P \0 203 212 304 002 001 \n 304 002 0067020 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 0067040 240 j 017 240 240 227 304 004 021 7 \n F 017 262 223 301 0067060 \ i d l e s y s t e m t o 0067100 a r o u n d 2 7 0 / s e c f 0067120 o r a s y s t e m e x p e 0067140 r i e n c i n g h e a v y k 0067160 e y b o a r d / m o u s e i n 0067200 p u t a c t i v i t y . 226 017 241 0067220 017 262 223 240 k 304 004 H % \0 310 304 004 @ o \0 0067240 V 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 0067260 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0067300 \0 277 \0 246 017 262 223 301 ` T h r e a d 0067320 e x e c u t i o n i n t e r v 0067340 a l s ( t h e l e n g t h s 0067360 o f t i m e b e t w e e n 0067400 t h r e a d s w i t c h e s 0067420 ) e x h i b i t a p e a k 0067440 a t a b o u t 226 017 241 017 262 223 240 0067460 k 304 004 H % \0 310 304 004 _ 177 \0 210 212 304 002 0067500 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 0067520 240 232 240 n 240 j 017 240 240 227 304 004 027 323 020 273 0067540 017 262 223 301 _ 3 m i l l i s e c o 0067560 n d s , w i t h a b o u t 0067600 7 5 % o f a l l e x e c u 0067620 t i o n i n t e r v a l s b 0067640 e i n g b e t w e e n 0 a 0067660 n d 5 m i l l i s e c o n d 0067700 s i n 226 017 241 017 262 223 240 k 304 004 H % 0067720 \0 310 304 004 / 323 \0 I 212 304 002 001 \n 304 002 001 0067740 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 0067760 j 017 240 240 227 304 004 001 U 001 9 017 262 223 301 d 0070000 l e n g t h . T h i s i s 0070020 d u e t o t h e v e r y 0070040 s h o r t e x e c u t i o n 0070060 i n t e r v a l s o f m o 0070100 s t e t e r n a l a n d t 0070120 r a n s i e n t t h r e a d s 0070140 . A 226 017 241 017 262 223 240 k 304 004 H % 0070160 \0 310 304 006 001 035 0 \0 001 325 212 304 002 001 \n 304 0070200 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 0070220 n 240 j 017 240 240 227 304 004 004 177 003 353 017 262 223 0070240 301 a s e c o n d p e a k i s 0070260 a r o u n d 4 5 m i l l i 0070300 s e c o n d s , w h i c h i 0070320 s r e l a t e d t o t h e 0070340 P C R t i m e - s l i c e 0070360 p e r i o d , w h i c h i s 0070400 5 0 226 017 241 017 262 223 240 k 304 004 H % \0 0070420 310 304 004 P : \0 217 212 304 002 001 \n 304 002 001 \n 0070440 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 0070460 017 240 240 227 304 004 006 016 003 371 017 262 223 301 b m 0070500 i l l i s e c o n d s . T r 0070520 a n s i e n t a n d e t e r 0070540 n a l t h r e a d a c t i v 0070560 i t y s t e a l s t h e f 0070600 i r s t p a r t o f a t 0070620 i m e s l i c e w i t h t h 0070640 e 226 017 241 017 262 223 240 k 304 004 H % \0 310 304 0070660 004 V Y \0 250 212 017 240 240 227 301 " r e m a 0070700 i n d e r g o i n g t o w 0070720 o r k e r t h r e a d s . 226 304 0070740 004 H % \0 310 304 004 C 207 \0 234 212 304 002 001 \n 0070760 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0071000 240 n 240 j 017 240 240 227 304 004 \a V 006 G 017 262 0071020 223 301 b W h i l e m o s t e x 0071040 e c u t i o n i n t e r v a l 0071060 s a r e s h o r t , l o n 0071100 g e r e x e c u t i o n i n 0071120 t e r v a l s a c c o u n t 0071140 f o r m o s t o f t h e 0071160 t o t a l 226 017 241 017 262 223 240 k 304 004 H 0071200 % \0 310 304 006 001 006 [ \0 002 250 212 304 002 001 \n 0071220 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0071240 240 n 240 j 017 240 240 227 304 004 002 ; 001 Q 017 262 0071260 223 301 Z e x e c u t i o n t i m 0071300 e i n o u r s y s t e m s 0071320 . B e t w e e n 2 0 % a 0071340 n d 5 0 % o f t h e t o 0071360 t a l e x e c u t i o n t i 0071400 m e d u r i n g a n y 226 017 241 0071420 017 262 223 240 k 304 004 H % \0 310 304 004 \t 323 \0 0071440 035 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 0071460 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0071500 \r 327 \v 002 017 262 223 301 _ p e r i o d 0071520 i s a c c u m u l a t e d b 0071540 y t h r e a d s r u n n i n 0071560 g f o r p e r i o d s o f 0071600 4 5 t o 5 0 m i l l i s 0071620 e c o n d s . W e a l s o 0071640 e x a m i n e d 226 017 241 017 262 223 240 k 0071660 240 k 240 j 017 241 017 245 223 304 004 \0 177 023 210 240 0071700 244 240 250 017 240 017 240 240 242 240 250 304 004 \0 d 034 0071720 ; 240 244 240 250 017 241 240 244 240 250 017 240 240 243 240 0071740 250 017 240 240 227 304 004 [ 243 \0 * 304 006 001 # 267 0071760 \0 \0 d 212 301 001 6 226 304 004 H % \0 310 304 004 0072000 ) 324 \0 017 212 304 002 001 \n 304 002 001 \n 240 233 304 0072020 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 0072040 227 304 004 027 265 016 231 017 262 223 301 _ t h e 0072060 t o t a l e x e c u t i o n 0072100 t i m e c o n t r i b u t i o 0072120 n a s a f u n c t i o n 0072140 o f t h r e a d p r i o r i 0072160 t y . O n l y t w o p a 0072200 t t e r n s w e r e 226 017 241 017 262 0072220 223 240 k 304 004 H % \0 310 304 006 \0 310 ! \0 \0 0072240 I 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 0072260 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0072300 006 \a 003 017 262 223 301 ` e v i d e n t 0072320 : o f t h e 7 a v a i l 0072340 a b l e p r i o r i t y l e 0072360 v e l s o n e w a s n ' t 0072400 u s e d a t a l l , a n 0072420 d u s e r i n t e r f a c e 0072440 a c t i v i t y 226 017 241 017 262 223 240 0072460 k 304 004 H % \0 310 304 006 001 ^ G \0 \0 202 212 0072500 017 240 240 227 301 ` t e n d e d t o 0072520 u s e h i g h e r p r i o r 0072540 i t i e s f o r i t s t h 0072560 r e a d s t h a n d i d u 0072600 s e r - i n i t i a t e d t a 0072620 s k s s u c h a s c o m p 0072640 i l i n g . 226 304 004 H % \0 310 304 004 Q 0072660 W \0 037 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0072700 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 0072720 304 004 \b 037 006 213 017 262 223 301 ^ G V X s 0072740 w i t c h e s a m o n g t h 0072760 r e a d s a t a d e c i d 0073000 e l y l o w e r r a t e : 0073020 a n i d l e s y s t e m s 0073040 w i t c h e s o n l y 3 3 0073060 t i m e s p e r 226 017 241 017 262 223 240 0073100 k 304 004 H % \0 310 304 006 001 207 255 \0 \0 230 212 0073120 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 0073140 017 240 240 232 240 n 240 j 017 240 240 227 304 004 005 336 0073160 002 257 017 262 223 301 Y s e c o n d , w 0073200 h i l e h e a v y k e y b o 0073220 a r d a c t i v i t y w i l 0073240 l d r i v e t h e r a t e 0073260 u p t o 6 0 / s e c . T 0073300 h e s a m e b i - m o d a l 0073320 226 017 241 017 262 223 240 k 304 004 H % \0 310 304 006 0073340 \0 350 275 \0 \0 \ 212 304 002 001 \n 304 002 001 \n 240 0073360 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 0073400 240 240 227 304 004 002 253 002 206 017 262 223 301 b d i 0073420 s t r i b u t i o n o f e x 0073440 e c u t i o n i n t e r v a l 0073460 s i s e x h i b i t e d a 0073500 s i n C e d a r : b e t w 0073520 e e n 5 0 % a n d 7 0 % 0073540 o f a l l e x e c u t i o n 0073560 226 017 241 017 262 223 240 k 304 004 H % \0 310 304 004 0073600 t 260 \0 / 212 304 002 001 \n 304 002 001 \n 240 233 304 0073620 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 0073640 227 304 004 004 _ 003 z 017 262 223 301 _ i n t e 0073660 r v a l s a r e b e t w e e 0073700 n 0 a n d 5 m i l l i s 0073720 e c o n d s i n l e n g t h 0073740 w i t h a s e c o n d p 0073760 e a k a r o u n d 4 5 m i 0074000 l l i s e c o n d s . 226 017 241 017 262 0074020 223 240 k 304 004 H % \0 310 304 004 ) h \0 021 212 0074040 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 0074060 017 240 240 232 240 n 240 j 017 240 240 227 304 004 \t 035 0074100 006 A 017 262 223 301 [ B e t w e e n 3 0074120 0 % a n d 8 0 % o f t h 0074140 e t o t a l e x e c u t i o 0074160 n t i m e d u r i n g a n 0074200 y p e r i o d i s a c c u 0074220 m u l a t e d b y t h r e a 0074240 d s 226 017 241 017 262 223 240 k 304 004 H % \0 310 0074260 304 006 \0 347 262 \0 \0 a 212 017 240 240 227 301 / r 0074300 u n n i n g f o r p e r i o 0074320 d s o f 4 5 t o 5 0 m 0074340 i l l i s e c o n d s . 226 304 0074360 004 H % \0 310 304 006 001 351 033 \0 \0 323 212 304 002 0074400 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 0074420 240 232 240 n 240 j 017 240 240 227 304 004 002 325 002 260 0074440 017 262 223 301 c G V X ' s u s e o 0074460 f t h r e a d p r i o r i t 0074500 i e s w a s n o t i c e a 0074520 b l y d i f f e r e n t t h 0074540 a n C e d a r ' s . W h i 0074560 l e C e d a r ' s c o r e 0074600 o f l o n g - 226 017 241 017 262 223 240 k 0074620 304 004 H % \0 310 304 004 a 247 \0 + 212 304 002 001 0074640 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 0074660 232 240 n 240 j 017 240 240 227 304 004 002 341 002 037 017 0074700 262 223 301 c l i v e d t h r e a d 0074720 s a r e r e l a t i v e l y 0074740 e v e n l y d i s t r i b u 0074760 t e d o v e r t h e f o u 0075000 r " s t a n d a r d " p r i 0075020 o r i t y v a l u e s o f 0075040 1 t o 4 , 226 017 241 017 262 223 240 k 304 0075060 004 H % \0 310 304 004 s 245 \0 4 212 304 002 001 \n 0075100 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0075120 240 n 240 j 017 240 240 227 304 004 024 277 022 t 017 262 0075140 223 301 f G V X s e t s a l m o 0075160 s t a l l o f i t s t h 0075200 r e a d s t o p r i o r i t 0075220 y l e v e l 3 ; u s i n g 0075240 t h e l o w e r t w o p 0075260 r i o r i t y l e v e l s o 0075300 n l y f o r a 226 017 241 017 262 223 240 0075320 k 304 004 H % \0 310 304 004 T 346 \0 ' 212 304 002 0075340 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 0075360 240 232 240 n 240 j 017 240 240 227 304 004 004 2 002 i 0075400 017 262 223 301 ] f e w b a c k g r o 0075420 u n d h e l p e r t a s k s 0075440 . T w o o f t h e f i 0075460 v e l o w - p r i o r i t y 0075500 t h r e a d s i n f a c t 0075520 n e v e r a c t u a l l y r 0075540 a n 226 017 241 017 262 223 240 k 304 004 H % \0 310 0075560 304 006 \0 316 230 \0 \0 a 212 304 002 001 \n 304 002 001 0075600 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 0075620 j 017 240 240 227 304 004 002 221 002 215 017 262 223 301 c 0075640 d u r i n g o u r e x p e r 0075660 i m e n t s . A s w i t h 0075700 C e d a r , o n e o f t 0075720 h e 7 p r i o r i t y l e 0075740 v e l s i s n e v e r u s 0075760 e d . H o w e v e r , w h 0076000 i l e 226 017 241 017 262 223 240 k 304 004 H % \0 0076020 310 304 004 6 ' \0 032 212 304 002 001 \n 304 002 001 \n 0076040 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 0076060 017 240 240 227 304 004 006 < 005 A 017 262 223 301 b C 0076100 e d a r u s e s l e v e l 0076120 7 f o r i n t e r r u p t 0076140 h a n d l i n g a n d d o e 0076160 s n ' t u s e l e v e l 5 0076200 , G V X d o e s t h e o 0076220 p p o s i t e . I n b o t 0076240 h 226 017 241 017 262 223 240 k 304 004 H % \0 310 304 0076260 004 E 7 \0 " 212 304 002 001 \n 304 002 001 \n 240 233 0076300 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 0076320 240 227 304 004 \t * 004 205 017 262 223 301 [ s y s 0076340 t e m s , p r i o r i t y l 0076360 e v e l 6 g e t s u s e d 0076400 b y t h e s y s t e m d 0076420 a e m o n t h a t d o e s 0076440 p r o p o r t i o n a l s c h 0076460 e d u l i n g . 226 017 241 017 262 223 240 k 0076500 304 004 H % \0 310 304 004 a r \0 1 212 017 240 240 0076520 227 301 : C e d a r a l s o u s 0076540 e s l e v e l 6 f o r i 0076560 t s g a r b a g e c o l l e 0076600 c t i o n d a e m o n . 226 304 004 0076620 H % \0 310 304 006 001 203 u \0 \0 312 212 304 002 001 0076640 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 0076660 232 240 n 240 j 017 240 240 227 304 004 004 213 003 252 017 0076700 262 223 301 ` O n e i n t e r e s t 0076720 i n g b e h a v i o r t h a 0076740 t o u r C e d a r t h r e 0076760 a d d a t a e x h i b i t e 0077000 d w a s a v a r i e t y 0077020 o f d i f f e r e n t f o r 0077040 k i n g 226 017 241 017 262 223 240 k 304 004 H % 0077060 \0 310 304 006 \0 263 237 \0 \0 ` 212 304 002 001 \n 304 0077100 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 0077120 n 240 j 017 240 240 227 304 004 006 262 006 \t 017 262 223 0077140 301 a p a t t e r n s . A n 0077160 i d l e C e d a r s y s t e 0077200 m f o r k s a t r a n s i 0077220 e n t t h r e a d a b o u t 0077240 o n c e e v e r y 2 s e 0077260 c o n d s . E a c h f o r 0077300 k e d 226 017 241 017 262 223 240 k 304 004 H % \0 0077320 310 304 004 325 \0 022 212 304 002 001 \n 304 002 001 \n 0077340 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 0077360 017 240 240 227 304 004 031 \t 030 017 017 262 223 301 c t 0077400 h r e a d , i n t u r n , 0077420 f o r k s a n o t h e r t r 0077440 a n s i e n t t h r e a d . 0077460 K e y b o a r d a c t i v i 0077500 t y c a u s e s a t r a n 0077520 s i e n t t h r e a d t o 0077540 b e 226 017 241 017 262 223 240 k 304 004 H % \0 310 0077560 304 006 001 250 261 \0 \0 357 212 304 002 001 \n 304 002 001 0077600 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 0077620 j 017 240 240 227 304 004 \v 274 \t 377 017 262 223 301 ] 0077640 f o r k e d b y t h e c o 0077660 m m a n d - s h e l l t h r e 0077700 a d f o r e v e r y k e y 0077720 s t r o k e . O n t h e 0077740 o t h e r h a n d , s i m p 0077760 l y m o v i n g t h e 226 017 241 0100000 017 262 223 240 k 304 004 H % \0 310 304 004 _ % \0 0100020 7 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 0100040 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0100060 \0 341 \0 y 017 262 223 301 \ m o u s e a 0100100 r o u n d c a u s e s n o 0100120 t h r e a d s t o b e f o 0100140 r k e d . E v e n c l i c 0100160 k i n g a m o u s e b u t 0100200 t o n ( e . g . t o s c r 0100220 o l l a 226 017 241 017 262 223 240 k 304 004 H 0100240 % \0 310 304 004 # W \0 025 212 304 002 001 \n 304 002 0100260 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 0100300 240 j 017 240 240 227 304 004 006 230 003 Q 017 262 223 301 0100320 Z w i n d o w ) c a u s e s 0100340 n o a d d i t i o n a l f o 0100360 r k i n g a c t i v i t y . 0100400 ( H o w e v e r , b o t h 0100420 k e y b o a r d a c t i v i t 0100440 y a n d m o u s e 226 017 241 017 262 0100460 223 240 k 304 004 H % \0 310 304 006 002 j U \0 001 0100500 z 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 0100520 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0100540 \n 335 006 q 017 262 223 301 _ m o t i o n 0100560 c a u s e s i g n i f i c a n 0100600 t i n c r e a s e s i n a 0100620 c t i v i t y b y e t e r n 0100640 a l t h r e a d s . ) S c 0100660 r o l l i n g a t e x t w 0100700 i n d o w 1 0 226 017 241 017 262 223 240 k 0100720 304 004 H % \0 310 304 006 \0 202 G \0 \0 R 212 304 0100740 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 0100760 240 240 232 240 n 240 j 017 240 240 227 304 004 002 \v \0 0101000 367 017 262 223 301 \ t i m e s c a u s 0101020 e s 3 t r a n s i e n t t 0101040 h r e a d s t o b e f o r 0101060 k e d , o n e o f w h i c 0101100 h i s t h e c h i l d o 0101120 f o n e o f t h e o t h 0101140 e r 226 017 241 017 262 223 240 k 304 004 H % \0 310 0101160 304 004 B K \0 + 212 017 240 240 227 301 \v t r a 0101200 n s i e n t s . 226 304 004 H % \0 310 304 0101220 004 ) 1 \0 034 212 304 002 001 \n 304 002 001 \n 240 233 0101240 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 0101260 240 227 304 004 005 / 002 i 017 262 223 301 W D o c 0101300 u m e n t f o r m a t t i n g 0101320 c a u s e s a g r e a t 0101340 n u m b e r o f t r a n s i 0101360 e n t t h r e a d s t o b 0101400 e f o r k e d b y t h e 0101420 m a i n 226 017 241 017 262 223 240 k 304 004 H % 0101440 \0 310 304 006 \0 254 P \0 \0 y 212 304 002 001 \n 304 0101460 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 0101500 n 240 j 017 240 240 227 304 004 006 026 002 321 017 262 223 0101520 301 V f o r m a t t i n g w o r 0101540 k e r t h r e a d , w h e r 0101560 e a s c o m p i l a t i o n 0101600 a n d d o c u m e n t p r e 0101620 v i e w i n g c a u s e a 0101640 m o d e r a t e 226 017 241 017 262 223 240 k 0101660 304 004 H % \0 310 304 006 \0 242 } \0 \0 v 212 304 0101700 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 0101720 240 240 232 240 n 240 j 017 240 240 227 304 006 001 364 233 0101740 001 231 226 017 262 223 301 ` n u m b e r o 0101760 f t r a n s i e n t f o r k 0102000 s . W h i l e t h e c o 0102020 m p i l e r ' s a n d p r e 0102040 v i e w e r ' s t r a n s i e 0102060 n t t h r e a d s s i m p l 0102100 y r u n t o 226 017 241 017 262 223 240 k 0102120 304 004 H % \0 310 304 004 v ^ \0 Y 212 304 002 001 0102140 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 0102160 232 240 n 240 j 017 240 240 227 304 004 004 314 002 / 017 0102200 262 223 301 Z c o m p l e t i o n , 0102220 e a c h o f t h e d o c u 0102240 m e n t f o r m a t t e r ' s 0102260 t r a n s i e n t t h r e a 0102300 d s f o r k o n e o r m 0102320 o r e a d d i t i o n a l 226 017 0102340 241 017 262 223 240 k 304 004 H % \0 310 304 004 r . 0102360 \0 Y 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 0102400 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 0102420 004 030 7 017 202 017 262 223 301 _ t r a n s i 0102440 e n t t h r e a d s t h e m 0102460 s e l v e s . H o w e v e r 0102500 , t h i r d g e n e r a t i 0102520 o n f o r k e d t h r e a d 0102540 s d o n o t o c c u r . 0102560 I n f a c t , 226 017 241 017 262 223 240 0102600 k 304 004 H % \0 310 304 004 C 371 \0 7 212 304 002 0102620 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 0102640 240 232 240 n 240 j 017 240 240 227 304 004 005 016 003 o 0102660 017 262 223 301 ^ n o n e o f o u r 0102700 b e n c h m a r k s e x h i 0102720 b i t e d f o r k i n g g e 0102740 n e r a t i o n s g r e a t e 0102760 r t h a n 2 . T h a t 0103000 i s , e v e r y t r a n s i 0103020 e n t 226 017 241 017 262 223 240 k 304 004 H % \0 0103040 310 304 004 m _ \0 \ 212 017 240 240 227 301 N t h 0103060 r e a d w a s e i t h e r 0103100 t h e c h i l d o r g r a 0103120 n d c h i l d o f s o m e 0103140 w o r k e r o r l o n g - l 0103160 i v e d t h r e a d . 226 304 004 H 0103200 % \0 310 304 006 \0 272 277 \0 \0 247 212 304 002 001 \n 0103220 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0103240 240 n 240 j 017 240 240 227 304 004 \n 021 \a 341 017 262 0103260 223 301 Z C h e c k i n g w h e t 0103300 h e r a p r o g r a m n e 0103320 e d s r e c o m p i l i n g 0103340 ( t h e M a k e p r o g r a 0103360 m ) d o e s n o t c a u s 0103400 e a n y t h r e a d s 226 017 241 0103420 017 262 223 240 k 304 004 H % \0 310 304 004 4 } \0 0103440 1 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 0103460 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 0103500 004 H 003 355 017 262 223 301 _ t o b e f 0103520 o r k e d ( t h e c o m m a 0103540 n d - s h e l l t h r e a d 0103560 g e t s u s e d a s t h e 0103600 m a i n w o r k e r t h r 0103620 e a d ) , e x c e p t f o r 0103640 g a r b a g e 226 017 241 017 262 223 240 k 0103660 304 004 H % \0 310 304 004 ' 361 \0 ' 212 304 002 001 0103700 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 0103720 232 240 n 240 j 017 240 240 227 304 004 \b \b 004 371 017 0103740 262 223 301 b c o l l e c t i o n a 0103760 n d f i n a l i z a t i o n 0104000 o f c o l l e c t e d d a t 0104020 a o b j e c t s . E a c h 0104040 o f t h e s e a c t i v i 0104060 t i e s c a u s e s a m o 0104100 d e r a t e 226 017 241 017 262 223 240 k 304 004 0104120 H % \0 310 304 004 A w \0 C 212 017 240 240 227 301 0104140 : n u m b e r o f f i r s t 0104160 - g e n e r a t i o n t r a n 0104200 s i e n t t h r e a d s t o 0104220 b e f o r k e d . 226 304 006 \0 200 0104240 233 \0 001 220 304 006 001 003 ( \0 002 375 212 240 k 240 0104260 j 017 241 017 245 223 304 004 \0 177 023 210 240 244 240 250 0104300 017 240 017 240 240 242 240 250 304 004 \0 d 034 ; 240 244 0104320 240 250 017 241 240 244 240 250 017 240 240 243 240 250 017 240 0104340 240 227 304 004 [ 243 \0 * 304 006 001 # 267 \0 \0 d 0104360 212 301 001 7 226 304 004 r e \0 213 304 004 ) 324 \0 0104400 017 212 017 241 240 227 301 ( T a b l e 2 : 0104420 W a i t - C V a n d m o n 0104440 i t o r e n t r y r a t e s 0104460 226 304 004 H % \0 310 304 006 \0 326 017 \0 \0 O 212 0104500 305 005 X e r o x 305 \a X C 1 - 3 - 3 0104520 305 \f C l a s s i c - b o l d 017 243 0104540 241 033 240 223 304 004 003 # \0 d 240 244 240 224 017 244 0104560 225 017 244 240 227 304 004 003 # \0 310 215 301 005 C e 0104600 d a r 226 304 004 374 335 \0 310 215 305 005 X e r 0104620 o x 305 \a X C 1 - 3 - 3 305 \a C l a 0104640 s s i c 017 243 241 033 240 223 304 004 003 # \0 d 0104660 240 244 240 224 017 245 225 017 245 240 227 304 004 003 # \0 0104700 310 215 301 \0 226 304 004 033 J \0 343 214 304 004 374 335 0104720 \0 310 215 304 004 003 # \0 310 215 301 \0 226 304 004 023 0104740 322 \0 [ 214 304 004 374 335 \0 310 215 017 244 240 227 304 0104760 004 003 # \0 310 215 301 \f W a i t - C V s 0105000 / s e c 226 304 004 374 335 \0 310 215 017 245 240 227 0105020 304 004 003 # \0 310 215 301 \0 226 304 004 ! 353 \0 235 0105040 214 304 004 374 335 \0 310 215 017 244 240 227 304 004 003 # 0105060 \0 310 215 301 ) % o f C V t h a 0105100 t t i m e o u t 0105120 M L - e n t e r s / s e c 226 304 0105140 004 374 335 \0 310 215 017 240 240 227 301 \0 226 304 004 023 0105160 253 001 327 214 304 004 H % \0 310 304 004 R 212 \0 037 0105200 212 017 241 240 227 301 \n I d l e C e d a 0105220 r 226 017 240 240 227 301 \0 226 304 004 3 336 \0 345 214 0105240 301 \v 1 2 1 226 304 004 0105260 1 001 205 214 301 \0 226 304 004 023 322 \0 [ 214 301 0105300 \0 226 304 004 023 322 \0 [ 214 301 003 8 2 % 226 304 0105320 004 374 \0 351 214 301 005 4 1 4 226 304 004 0105340 H % \0 310 304 004 s 025 \0 , 212 017 241 240 227 301 0105360 016 K e y b o a r d i n p u t 226 0105400 017 240 240 227 301 \0 226 304 004 032 225 \0 332 214 301 \v 0105420 1 8 5 226 304 004 1 0105440 001 205 214 301 \0 226 304 004 023 322 \0 [ 214 301 \0 226 0105460 304 004 023 322 \0 [ 214 301 003 4 8 % 226 304 004 0105500 374 \0 351 214 301 004 2 5 5 7 226 304 004 H % \0 0105520 310 304 006 \0 246 363 \0 \0 A 212 017 241 240 227 301 016 0105540 M o u s e m o v e m e n t 226 017 0105560 240 240 227 301 \0 226 304 004 ? 245 002 311 214 301 \v 0105600 1 6 3 226 304 004 1 001 0105620 205 214 301 001 226 304 004 0 270 \0 351 214 301 \0 226 0105640 304 004 023 322 \0 [ 214 301 003 5 8 % 226 304 004 0105660 374 \0 351 214 301 004 1 0 2 5 226 304 004 H % \0 0105700 310 304 004 9 376 \0 027 212 017 241 240 227 301 020 W i 0105720 n d o w s c r o l l i n g 226 017 0105740 240 240 227 301 \0 226 304 004 022 277 \0 322 214 301 \v 0105760 1 1 5 226 304 004 1 001 0106000 205 214 301 001 226 304 004 0 270 \0 351 214 301 \0 226 0106020 304 004 023 322 \0 [ 214 301 003 6 9 % 226 304 004 0106040 374 \0 351 214 301 004 2 0 3 2 226 304 004 H % \0 0106060 310 304 004 J ; \0 036 212 017 241 240 227 301 023 D o 0106100 c u m e n t f o r m a t t i n 0106120 g 226 017 240 240 227 301 \f 0106140 1 3 0 226 304 004 034 \n 001 S 214 301 001 226 0106160 304 004 0 270 \0 351 214 301 \0 226 304 004 023 322 \0 [ 0106200 214 301 003 7 2 % 226 304 004 374 \0 351 214 301 004 0106220 2 7 3 9 226 304 004 H % \0 310 304 006 \0 316 R 0106240 \0 \0 U 212 017 241 240 227 301 023 D o c u m e 0106260 n t p r e v i e w i n g 226 017 240 0106300 240 227 301 \v 1 5 7 226 0106320 304 004 017 017 \0 273 214 301 002 226 304 004 ) 024 0106340 \0 315 214 301 \0 226 304 004 023 322 \0 [ 214 301 003 5 0106360 6 % 226 304 004 374 \0 351 214 301 004 1 3 3 5 0106400 226 304 004 H % \0 310 304 006 \0 237 z \0 \0 C 212 0106420 017 241 240 227 301 \f M a k e p r o g r 0106440 a m 226 017 240 240 227 301 \0 226 304 006 001 4 221 \0 0106460 \b 204 214 301 \v 1 5 8 0106500 226 304 004 1 001 205 214 301 003 226 304 004 0106520 026 317 \0 w 214 301 \0 226 304 004 023 322 \0 [ 214 301 0106540 003 6 1 % 226 304 004 374 \0 351 214 301 004 2 2 0106560 1 8 226 304 004 H % \0 310 304 006 \0 204 376 \0 \0 0106600 9 212 017 241 240 227 301 \a C o m p i l e 226 0106620 017 240 240 227 301 \0 226 304 004 2 276 003 313 214 301 \0 0106640 226 304 004 023 322 \0 [ 214 301 \v 0106660 1 1 9 226 304 004 1 001 205 214 301 003 0106700 226 304 004 026 317 \0 w 214 301 \0 226 304 004 023 0106720 322 \0 [ 214 301 003 8 2 % 226 304 004 374 \0 351 0106740 214 301 004 1 3 6 5 226 304 004 H % \0 310 304 006 0106760 \0 253 v \0 \0 K 212 304 004 H % \0 310 304 004 5 0107000 275 \0 030 212 017 244 240 227 304 004 003 # \0 310 215 301 0107020 003 G V X 226 304 004 374 335 \0 310 215 304 004 H % 0107040 \0 310 304 004 k i \0 1 212 017 241 240 227 301 \b I 0107060 d l e G V X 226 017 240 240 227 301 \0 226 304 0107100 004 \r { 001 203 214 301 \0 226 304 004 023 322 \0 [ 214 0107120 301 \v 3 2 226 304 004 0107140 022 5 \0 276 214 301 003 226 304 004 026 317 \0 0107160 w 214 301 \0 226 304 004 023 322 \0 [ 214 301 003 9 9 0107200 % 226 304 004 374 \0 351 214 301 005 3 6 6 0107220 226 304 004 H % \0 310 304 006 \0 243 005 \0 \0 L 212 0107240 017 241 240 227 301 016 K e y b o a r d i 0107260 n p u t 226 017 240 240 227 301 \0 226 304 004 032 225 0107300 \0 332 214 301 \v 3 8 0107320 226 304 004 022 5 \0 276 214 301 004 226 304 0107340 004 * 241 \0 351 214 301 \0 226 304 004 023 322 \0 [ 214 0107360 301 003 4 2 % 226 304 004 374 \0 351 214 301 004 1 0107400 4 3 6 226 304 004 H % \0 310 304 004 V 004 \0 ) 0107420 212 017 241 240 227 301 016 M o u s e m o v 0107440 e m e n t 226 017 240 240 227 301 \0 226 304 004 ? 0107460 245 002 311 214 301 \v 3 0107500 3 226 304 004 022 5 \0 276 214 301 004 226 0107520 304 004 * 241 \0 351 214 301 \0 226 304 004 023 322 \0 [ 0107540 214 301 003 9 6 % 226 304 004 374 \0 351 214 301 005 0107560 4 1 0 226 304 004 H % \0 310 304 004 G 310 0107600 \0 # 212 017 241 240 227 301 020 W i n d o w 0107620 s c r o l l i n g 226 017 240 240 227 301 \0 0107640 226 304 004 022 277 \0 322 214 301 \v 0107660 2 5 226 304 004 022 5 \0 276 214 301 004 0107700 226 304 004 * 241 \0 351 214 301 \0 226 304 004 0107720 023 322 \0 [ 214 301 003 6 1 % 226 304 004 374 \0 0107740 351 214 301 005 6 9 1 226 304 004 H % \0 310 0107760 304 004 x J \0 = 212 304 002 001 \n 304 002 001 \n 240 0110000 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 0110020 240 240 227 304 004 002 003 \0 374 017 262 223 301 Z T h 0110040 e r a t e a t w h i c h 0110060 l o c k i n g a n d c o n d 0110100 i t i o n v a r i a b l e p 0110120 r i m i t i v e s a r e u s 0110140 e d i s a n o t h e r m e 0110160 a s u r e o f 226 017 241 017 262 223 240 k 0110200 304 004 H % \0 310 304 006 \0 210 253 \0 \0 G 212 304 0110220 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 0110240 240 240 232 240 n 240 j 017 240 240 227 304 004 001 351 001 0110260 331 017 262 223 301 a t h r e a d a c t 0110300 i v i t y . T a b l e 2 s 0110320 h o w s t h e r a t e s f 0110340 o r e a c h b e n c h m a r 0110360 k . T h e r a t e o f 0110400 w a i t i n g o n C V s i 0110420 n C e d a r 226 017 241 017 262 223 240 k 304 0110440 004 H % \0 310 304 004 E { \0 % 212 304 002 001 \n 0110460 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0110500 240 n 240 j 017 240 240 227 304 004 \a 327 004 257 017 262 0110520 223 301 [ r a n g e d f r o m 1 0110540 1 5 / s e c o n d t o 1 8 5 0110560 / s e c o n d , w i t h 5 0 0110600 % t o 8 0 % o f t h e s 0110620 e w a i t s t i m i n g o 0110640 u t r a t h e r t h a n 226 017 0110660 241 017 262 223 240 k 304 004 H % \0 310 304 006 001 020 0110700 312 \0 \0 225 212 304 002 001 \n 304 002 001 \n 240 233 304 0110720 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 0110740 227 304 004 006 \n 005 S 017 262 223 301 ` r e c e 0110760 i v i n g a w a k e u p n 0111000 o t i f i c a t i o n . M o n 0111020 i t o r s a r e e n t e r e 0111040 d m u c h m o r e f r e q 0111060 u e n t l y , r e f l e c t i 0111100 n g t h e i r u s e 226 017 241 017 0111120 262 223 240 k 304 004 H % \0 310 304 006 \0 231 g \0 0111140 \0 V 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 0111160 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 0111200 004 017 224 \a _ 017 262 223 301 ] t o p r o 0111220 t e c t d a t a s t r u c t 0111240 u r e s ( e s p e c i a l l y 0111260 i n r e u s a b l e l i b 0111300 r a r y p a c k a g e s ) . 0111320 E n t r y r a t e s v a r i 0111340 e d f r o m 226 017 241 017 262 223 240 k 304 0111360 004 H % \0 310 304 004 @ B \0 % 212 304 002 001 \n 0111400 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0111420 240 n 240 j 017 240 240 227 304 004 \a 036 004 217 017 262 0111440 223 301 ^ 4 0 0 / s e c o n d f o 0111460 r a n i d l e s y s t e m 0111500 t o 2 5 0 0 / s e c f o r 0111520 a s y s t e m e x p e r i 0111540 e n c i n g h e a v y k e y 0111560 b o a r d a c t i v i t y t 0111600 o 226 017 241 017 262 223 240 k 304 004 H % \0 310 304 0111620 006 \0 231 302 \0 \0 [ 212 304 002 001 \n 304 002 001 \n 0111640 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 0111660 017 240 240 227 304 004 005 006 004 241 017 262 223 301 ^ 2 0111700 7 0 0 / s e c o n d f o r d 0111720 o c u m e n t f o r m a t t i 0111740 n g . C o n t e n t i o n w 0111760 a s l o w , h o w e v e r , 0112000 o c c u r i n g o n 0 . 0 0112020 1 % t o 0 . 1 % o f 226 017 241 0112040 017 262 223 240 k 304 004 H % \0 310 304 006 \0 266 T 0112060 \0 \0 o 212 017 240 240 227 301 030 a l l e n 0112100 t r i e s t o m o n i t o r 0112120 s . 226 304 004 H % \0 310 304 004 o 005 \0 G 212 0112140 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 0112160 017 240 240 232 240 n 240 j 017 240 240 227 304 004 005 325 0112200 003 177 017 262 223 301 Z F o r G V X , 0112220 t h e r a t e o f w a i t 0112240 i n g o n C V s r a n g e 0112260 d f r o m 3 2 / s e c o n d 0112300 t o 3 8 / s e c o n d , w 0112320 i t h 4 2 % t o 9 9 % o 0112340 f 226 017 241 017 262 223 240 k 304 004 H % \0 310 304 0112360 006 002 2 251 \0 001 s 212 304 002 001 \n 304 002 001 \n 0112400 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 0112420 017 240 240 227 304 004 005 352 005 337 017 262 223 301 b t 0112440 h e s e w a i t s t i m i n 0112460 g o u t r a t h e r t h a 0112500 n r e c e i v i n g a w a 0112520 k e u p n o t i f i c a t i o 0112540 n . M o n i t o r s a r e 0112560 e n t e r e d a t r a t e 0112600 s 226 017 241 017 262 223 240 k 304 004 H % \0 310 304 0112620 006 \0 235 > \0 \0 k 212 304 002 001 \n 304 002 001 \n 0112640 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 0112660 017 240 240 227 304 004 \b \f 003 037 017 262 223 301 X b 0112700 e t w e e n 3 6 6 / s e c a 0112720 n d 1 4 3 6 / s e c . I n 0112740 t e r e s t i n g l y , c o n 0112760 t e n t i o n f o r m o n i 0113000 t o r l o c k s w a s s o 0113020 m e t i m e s 226 017 241 017 262 223 240 k 304 0113040 004 H % \0 310 304 004 O 251 \0 8 212 304 002 001 \n 0113060 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0113100 240 n 240 j 017 240 240 227 304 004 004 025 002 275 017 262 0113120 223 301 \ s i g n i f i c a n t l y 0113140 h i g h e r i n G V X t 0113160 h a n i n C e d a r , o c 0113200 c u r i n g 0 . 4 % o f t 0113220 h e t i m e w h e n s c r 0113240 o l l i n g a w i n d o w 226 0113260 017 241 017 262 223 240 k 304 004 H % \0 310 304 006 \0 0113300 312 1 \0 \0 223 212 017 240 240 227 301 = a n d 0113320 0 . 2 % o f t h e t i m e 0113340 w h e n h e a v y k e y b 0113360 o a r d t r a f f i c w a s 0113400 p r e s e n t . 226 304 004 X h \0 203 0113420 304 006 \0 230 375 \0 \0 v 212 017 241 240 227 301 7 T 0113440 a b l e 3 : N u m b e r o 0113460 f d i f f e r e n t C V s 0113500 a n d m o n i t o r l o c k 0113520 s u s e d 226 304 004 H % \0 310 304 004 @ 0113540 210 \0 5 212 017 244 240 227 304 004 003 # \0 310 215 301 0113560 005 C e d a r 226 304 004 374 335 \0 310 215 017 245 0113600 240 227 304 004 003 # \0 310 215 301 \0 226 304 004 033 J 0113620 \0 343 214 304 004 374 335 \0 310 215 304 004 003 # \0 310 0113640 215 301 \0 226 304 004 023 322 \0 [ 214 304 004 374 335 \0 0113660 310 215 017 244 240 227 304 004 003 # \0 310 215 301 005 # 0113700 C V s 226 304 004 374 335 \0 310 215 017 245 240 227 0113720 304 004 003 # \0 310 215 301 \0 226 304 004 \b 016 \0 C 0113740 214 304 004 374 335 \0 310 215 017 244 240 227 304 004 003 # 0113760 \0 310 215 301 005 # M L s 226 304 004 374 335 \0 0114000 310 215 017 240 240 227 301 \0 226 304 004 035 / \0 372 214 0114020 304 004 H % \0 310 304 004 9 [ \0 1 212 017 241 240 0114040 227 301 \n I d l e C e d a r 226 017 240 0114060 240 227 301 \0 226 304 004 3 336 \0 345 214 301 004 0114100 2 2 226 304 004 * 177 001 017 214 301 005 5 5 0114120 4 226 304 004 H % \0 310 304 004 S # \0 J 212 017 0114140 241 240 227 301 016 K e y b o a r d i n 0114160 p u t 226 017 240 240 227 301 \0 226 304 004 032 225 \0 0114200 332 214 301 004 3 2 226 304 004 * 177 001 017 214 0114220 301 005 9 1 8 226 304 004 H % \0 310 304 006 0114240 \0 200 030 \0 \0 w 212 017 241 240 227 301 016 M o u 0114260 s e m o v e m e n t 226 017 240 240 227 0114300 301 \0 226 304 004 ? 245 002 311 214 301 004 2 6 0114320 226 304 004 * 177 001 017 214 301 005 7 3 4 226 0114340 304 004 H % \0 310 304 006 \0 217 025 \0 \0 213 212 017 0114360 241 240 227 301 020 W i n d o w s c r o 0114400 l l i n g 226 017 240 240 227 301 \0 226 304 004 022 0114420 277 \0 322 214 301 004 3 0 226 304 004 * 177 001 0114440 017 214 301 005 7 9 7 226 304 004 H % \0 310 0114460 304 004 H 261 \0 J 212 017 241 240 227 301 023 D o c 0114500 u m e n t f o r m a t t i n g 0114520 226 017 240 240 227 301 005 4 6 226 304 004 026 0114540 k \0 217 214 301 004 1 0 6 0 226 304 004 H % \0 0114560 310 304 006 \0 334 271 \0 \0 354 212 017 241 240 227 301 023 0114600 D o c u m e n t p r e v i e w 0114620 i n g 226 017 240 240 227 301 004 3 2 226 304 0114640 004 p 023 002 325 214 301 005 9 3 8 226 304 004 0114660 H % \0 310 304 004 ) 277 \0 / 212 017 241 240 227 301 0114700 \f M a k e p r o g r a m 226 017 240 0114720 240 227 301 \0 226 304 006 001 4 221 \0 \b 204 214 301 004 0114740 2 4 226 304 004 * 177 001 017 214 301 004 1 2 0114760 9 6 226 304 004 H % \0 310 304 004 ; 271 \0 G 212 0115000 017 241 240 227 301 \a C o m p i l e 226 017 240 0115020 240 227 301 \0 226 304 004 2 276 003 313 214 301 \0 226 304 0115040 004 023 322 \0 [ 214 301 004 3 6 226 304 004 * 0115060 177 001 017 214 301 004 2 9 0 0 226 304 004 H % \0 0115100 310 304 004 N 236 \0 c 212 304 004 H % \0 310 304 004 0115120 Z e \0 y 212 017 244 240 227 304 004 003 # \0 310 215 0115140 301 003 G V X 226 304 004 374 335 \0 310 215 304 004 H 0115160 % \0 310 304 004 ] 032 \0 205 212 017 241 240 227 301 \b 0115200 I d l e G V X 226 017 240 240 227 301 \0 226 0115220 304 004 \r { 001 203 214 301 \0 226 304 004 023 322 \0 [ 0115240 214 301 004 5 226 304 004 021 253 \0 h 214 301 0115260 005 4 8 226 304 004 H % \0 310 304 006 001 0115300 _ K \0 002 032 212 017 241 240 227 301 016 K e y b 0115320 o a r d i n p u t 226 017 240 240 227 301 0115340 \0 226 304 004 032 225 \0 332 214 301 004 7 226 0115360 304 004 021 253 \0 h 214 301 005 2 0 4 226 304 0115400 004 H % \0 310 304 004 k ? \0 261 212 017 241 240 227 0115420 301 016 M o u s e m o v e m e n t 0115440 226 017 240 240 227 301 \0 226 304 004 ? 245 002 311 214 301 0115460 004 5 226 304 004 021 253 \0 h 214 301 005 0115500 5 2 226 304 004 H % \0 310 304 004 9 220 \0 0115520 g 212 017 241 240 227 301 020 W i n d o w s 0115540 c r o l l i n g 226 017 240 240 227 301 \0 226 0115560 304 004 022 277 \0 322 214 301 004 6 226 304 004 0115600 021 253 \0 h 214 301 005 2 0 9 226 304 004 H 0115620 % \0 310 304 004 " 023 \0 G 212 304 002 001 \n 304 002 0115640 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 0115660 240 j 017 240 240 227 304 004 004 301 002 372 017 262 223 301 0115700 a T y p i c a l l y , m o s t 0115720 o f t h e m o n i t o r / 0115740 c o n d i t i o n v a r i a b 0115760 l e t r a f f i c i s o b 0116000 s e r v e d i n a b o u t 0116020 1 0 t o 1 5 d i f f e r e 0116040 n t 226 017 241 017 262 223 240 k 304 004 H % \0 310 0116060 304 004 0 352 \0 q 212 304 002 001 \n 304 002 001 \n 240 0116100 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 0116120 240 240 227 304 004 003 255 002 . 017 262 223 301 Z t h 0116140 r e a d s , w i t h t h e 0116160 w o r k e r t h r e a d o f 0116200 a b e n c h m a r k a c t 0116220 i v i t y d o m i n a t i n g 0116240 t h e n u m b e r s . T 0116260 h e o t h e r 226 017 241 017 262 223 240 k 0116300 304 004 H % \0 310 304 004 005 004 \0 \r 212 304 002 001 0116320 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 0116340 232 240 n 240 j 017 240 240 227 304 004 \0 353 \0 201 017 0116360 262 223 301 C a c t i v e t h r e a 0116400 d s e x h i b i t a p p r o 0116420 x i m a t e l y e q u a l t 0116440 r a f f i c . T h e n u m 0116460 b e r o f 226 305 005 X e r o x 305 0116500 \a X C 1 - 3 - 3 305 016 C l a s s i 0116520 c - i t a l i c 017 243 241 033 240 223 304 004 0116540 003 # \0 P 240 244 240 224 017 246 225 017 246 240 227 301 0116560 \t d i f f e r e n t 226 017 240 240 227 301 0116600 021 m o n i t o r s e n t e r 0116620 e d 226 017 241 017 262 223 240 k 304 004 H % \0 310 0116640 304 006 \0 276 c \0 002 2 212 304 002 001 \n 304 002 001 0116660 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 0116700 j 017 240 240 227 304 004 003 1 003 004 017 262 223 301 a 0116720 d u r i n g t h e b e n c h 0116740 m a r k s v a r i e s f r o 0116760 m 5 0 0 t o 3 0 0 0 a s 0117000 s h o w n i n T a b l e 0117020 3 . I n c o n t r a s t , 0117040 o n l y a b o u t 2 0 t 0117060 o 226 017 241 017 262 223 240 k 240 k 240 j 017 241 017 0117100 245 223 304 004 \0 177 023 210 240 244 240 250 017 240 017 240 0117120 240 242 240 250 304 004 \0 d 034 ; 240 244 240 250 017 241 0117140 240 244 240 250 017 240 240 243 240 250 017 240 240 227 304 004 0117160 [ 243 \0 * 304 006 001 # 267 \0 \0 d 212 301 001 8 0117200 226 304 004 H % \0 310 304 004 ) 324 \0 017 212 304 002 0117220 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 0117240 240 232 240 n 240 j 017 240 240 227 304 004 004 232 003 265 0117260 017 262 223 301 ` 5 0 d i f f e r e n 0117300 t c o n d i t i o n v a r i 0117320 a b l e s a r e w a i t e d 0117340 f o r i n t h e c o u r 0117360 s e o f t h e b e n c h m 0117400 a r k s . G V X u s e s 0117420 f e w e r 226 017 241 017 262 223 240 k 304 004 H 0117440 % \0 310 304 006 \0 310 ! \0 \0 I 212 017 240 240 227 0117460 301 022 m o n i t o r s a n d C 0117500 V s . 226 304 006 \0 200 233 \0 001 220 304 006 \0 0117520 227 / \0 \0 : 212 017 241 240 227 301 022 3 . 2 0117540 M i c r o - b e h a v i o r 226 304 0117560 004 H % \0 310 304 006 \0 261 367 \0 \0 H 212 304 002 0117600 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 0117620 240 232 240 n 240 j 017 240 240 227 304 004 \a 361 006 230 0117640 017 262 223 301 c T h e d y n a m i c 0117660 i n f o r m a t i o n d e s 0117700 c r i b e d i n t h e p r 0117720 e v i o u s s e c t i o n i 0117740 s n o t f u l l y s a t i 0117760 s f y i n g , b e c a u s e 0120000 i t f a i l s 226 017 241 017 262 223 240 k 0120020 304 004 H % \0 310 304 004 M 227 \0 212 304 002 001 0120040 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 0120060 232 240 n 240 j 017 240 240 227 304 004 002 9 \0 374 017 0120100 262 223 301 [ t o s h o w d e t a 0120120 i l s o f i n d i v i d u a 0120140 l t h r e a d s , a n d i 0120160 s n o t s u f f i c i e n t 0120200 t o u n d e r s t a n d t 0120220 h e b e h a v i o r s w e 226 0120240 017 241 017 262 223 240 k 304 004 H % \0 310 304 004 m 0120260 _ \0 . 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0120300 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 0120320 304 004 002 265 002 8 017 262 223 301 _ e x p e r 0120340 i e n c e d i n o u r l a 0120360 r g e s y s t e m s . F o r 0120400 i n s t a n c e , o u r s 0120420 y s t e m s h a d s u b t l 0120440 e p r o b l e m s : s o m e 0120460 t i m e s l e s s 226 017 241 017 262 223 0120500 240 k 304 004 H % \0 310 304 006 \0 220 177 \0 \0 > 0120520 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 0120540 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 017 0120560 321 \r 336 017 262 223 301 ] p e r f o r m a 0120600 n c e t h a n w e e x p e 0120620 c t e d , s o m e t i m e s 0120640 l a r g e a m o u n t s o f 0120660 i d l e t i m e i n w h 0120700 a t s h o u l d h a v e b 0120720 e e n a 226 017 241 017 262 223 240 k 304 004 H 0120740 % \0 310 304 006 001 002 \n \0 \0 q 212 304 002 001 \n 0120760 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0121000 240 n 240 j 017 240 240 227 304 004 002 Z 001 S 017 262 0121020 223 301 Z c o m p u t e - b o u n d 0121040 p r o c e s s , s o m e t i 0121060 m e s r a r e l o c k u p s 0121100 o f t h e s y s t e m . 0121120 F o r y e a r s n o n e 0121140 o f t h e s e w e r e 226 017 241 0121160 017 262 223 240 k 304 004 H % \0 310 304 006 001 036 E 0121200 \0 \0 200 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0121220 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 0121240 304 004 002 H 001 237 017 262 223 301 ] f r e q u 0121260 e n t o r a n n o y i n g 0121300 e n o u g h t o w a r r a n 0121320 t u r g e n t a t t e n t i 0121340 o n . B u t e v e n t u a 0121360 l l y w e f e l t w e n 0121400 e e d e d t o 226 017 241 017 262 223 240 k 0121420 304 004 H % \0 310 304 006 \0 265 271 \0 \0 S 212 304 0121440 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 0121460 240 240 232 240 n 240 j 017 240 240 227 304 004 m 315 ) 0121500 257 017 262 223 301 U u n d e r s t a n d 0121520 t h e m . T h e p r o b 0121540 l e m s w e r e n o t e a 0121560 s i l y a m e n a b l e t o 0121600 d i s c o v e r y v i a c 0121620 o n v e n t i o n a l 226 017 241 017 262 0121640 223 240 k 304 004 H % \0 310 304 004 h 372 \0 1 212 0121660 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 0121700 017 240 240 232 240 n 240 j 017 240 240 227 304 004 \b 323 0121720 \a 240 017 262 223 301 ` d e b u g g i n g 0121740 o r p r o f i l i n g m e 0121760 t h o d s ( w h i c h w e 0122000 t r i e d ) o r d y n a m i 0122020 c s t a t i s t i c s . W 0122040 e n e e d e d n e w t o o 0122060 l s t h a t 226 017 241 017 262 223 240 k 304 0122100 004 H % \0 310 304 004 b { \0 / 212 017 240 240 227 0122120 301 : c o u l d s h o w u s 0122140 d e t a i l e d s c h e d u l 0122160 i n g a n d p r o c e s s 0122200 i n t e r a c t i o n . 226 304 004 H 0122220 % \0 310 304 006 \0 205 234 \0 \0 C 212 304 002 001 \n 0122240 304 002 001 \n 240 233 304 004 K 021 \0 + 017 240 240 232 0122260 240 n 240 j 017 240 240 227 304 004 002 W 001 - 017 262 0122300 223 301 Z W h e n w e b u i l t 0122320 t h e s e t o o l s , w e 0122340 f o u n d a f a s c i n a 0122360 t i n g w o r l d o f m i 0122400 c r o s c o p i c t h r e a d 0122420 b e h a v i o r h a d 226 017 241 0122440 017 262 223 240 k 304 004 H % \0 310 304 006 \0 233 305 0122460 \0 \0 P 212 304 002 001 \n 304 002 001 \n 240 233 304 004 0122500 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 0122520 304 004 006 273 004 205 017 262 223 301 ] o p e n e 0122540 d u p t o u s . W e 0122560 t h i n k t h a t m i c r o 0122600 - v i s u a l i z a t i o n t 0122620 o o l s f o r u n d e r s t 0122640 a n d i n g o p e r a t i n g 0122660 s y s t e m s 226 017 241 017 262 223 240 k 0122700 304 004 H % \0 310 304 006 \0 332 202 \0 \0 s 212 304 0122720 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 0122740 240 240 232 240 n 240 j 017 240 240 227 304 004 032 222 027 0122760 315 017 262 223 301 d a r e u n d e r u 0123000 t i l i z e d a n d c o u l 0123020 d b e a s o u r c e o f 0123040 c o n s i d e r a b l e i n 0123060 s i g h t . I n t h i s 0123100 s e c t i o n w e i l l u s 0123120 t r a t e s o m e 226 017 241 017 262 223 0123140 240 k 304 004 H % \0 310 304 006 \0 256 / \0 \0 ^ 0123160 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 0123200 + 017 240 240 232 240 n 240 j 017 240 240 227 304 004 004 0123220 $ 003 035 017 262 223 301 ` o f t h i s 0123240 w o r l d t h r o u g h o n 0123260 e o f t h e e x a m p l e 0123300 s t h a t l e d u s t o 0123320 l o o k f o r t h e t h 0123340 r e a d p a r a d i g m s d 0123360 e s c r i b e d 226 017 241 017 262 223 240 k 0123400 304 004 H % \0 310 304 004 c T \0 7 212 017 240 240 0123420 227 301 024 l a t e r i n t h i s 0123440 p a p e r . 226 304 004 H % \0 310 304 004 0123460 z 277 \0 H 212 304 002 001 \n 304 002 001 \n 240 233 304 0123500 004 K 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 0123520 227 304 004 004 _ 002 310 017 262 223 301 X G o o d 0123540 X w i n d o w s y s t e m 0123560 p e r f o r m a n c e w h e 0123600 n p a i n t i n g l a r g e 0123620 r e g i o n s w i t h m a 0123640 n y r e q u e s t s r e q u 0123660 i r e s 226 017 241 017 262 223 240 k 304 004 H % 0123700 \0 310 304 004 t \v \0 F 212 304 002 001 \n 304 002 001 0123720 \n 240 233 304 004 K 021 \0 + 017 240 240 232 240 n 240 0123740 j 017 240 240 227 304 004 \b Z 005 001 017 262 223 301 [ 0123760 b a t c h i n g a n d m e r 0124000 g i n g o v e r l a p p i n g 0124020 r e q u e s t s . G o o d 0124040 i n t e r a c t i v e p e r 0124060 f o r m a n c e , s u c h a 0124100 s k e y s t r o k e 226 017 241 017 262 0124120 223 240 k 304 004 H % \0 310 304 004 K 264 \0 / 212 0124140 304 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 0124160 017 240 240 232 240 n 240 j 017 240 240 227 304 004 032 + 0124200 020 350 017 262 223 301 c e c h o i n g , 0124220 r e q u i r e s t h a t p a 0124240 i n t r e q u e s t s b e 0124260 s e n t t o t h e s e r v 0124300 e r w i t h v e r y l i t 0124320 t l e d e l a y . I n t 0124340 h e f a l l o f 226 017 241 017 262 223 0124360 240 k 304 004 H % \0 310 304 004 D 315 \0 , 212 304 0124400 002 001 \n 304 002 001 \n 240 233 304 004 K 021 \0 + 017 0124420 240 240 232 240 n 240 j 017 240 240 227 304 004 \b S 004 0124440 > 017 262 223 301 V 1 9 9 2 C e d a r 0124460 w a s p a i n t i n g l a 0124500 r g e r e g i o n s t o o 0124520 s l o w l y a n d w e d i 0124540 d n o t k n o w w h y . 0124560 W e s a w m o r e 226 017 241 017 0124600 262 223 240 k 304 004 H % \0 310 304 006 002 262 016 \0 0124620 001 307 212 304 002 001 \n 304 002 001 \n 240 233 304 004 K 0124640 021 \0 + 017 240 240 232 240 n 240 j 017 240 240 227 304 0124660 004 \t 270 004 357 017 262 223 301 U f r e q u e 0124700 n t X c o m m u n i c a t i 0124720 o n t h a n w e e x p e c 0124740 t e d , e v e n t h o u g h 0124760 w e h a d a b a t c h i 0125000 n g m e c h a n i s m i n 226 0125020 017 241 017 262 223 240 k 304 004 H % \0 310 304 004 k 0125040 G \0 I 212 017 240 240 227 301 Z p l a c e . 0125060 W h a t w a s g o i n g 0125100 w r o n g ? T h e a n s w 0125120 e r i s e a s y t o s e 0125140 e a n d e x p l a i n w i 0125160 t h t h e p r o p e r t o 0125200 o l s . 226 304 004 H % \0 310 304 004 - a \0 0125220 " 212 305 005 X e r o x 305 \a X C 1 - 3 0125240 - 3 305 016 C l a s s i c - i t a l 0125260 i c 017 243 241 033 240 223 304 004 003 # \0 P 240 244 0125300 240 224 017 244 225 017 244 240 227 301 - 3 . 2 . 1 0125320 E x a m p l e o f m i c r 0125340 o - b e h a v i o r v i s u a 0125360 l i z a t i o n 226 304 004 I 0 \0 267 304 0125400 004 I 0 \0 = 212 304 002 001 \n 304 002 001 \n 240 233 0125420 304 004 ' @ \0 027 017 240 240 232 240 n 240 j 017 240 0125440 240 227 304 004 004 K 002 241 017 262 223 301 [ F i g 0125460 u r e 1 s h o w s 1 0 0 0125500 m i l l i s e c o n d s o f 0125520 m i c r o - b e h a v i o r . 0125540 I t f o c u s e s o n t w 0125560 o U n i x p r o c e s s e s 0125600 , o n e o f 226 017 241 017 262 223 240 k 0125620 304 004 I 0 \0 267 304 004 , 365 \0 ' 212 304 002 001 0125640 \n 304 002 001 \n 240 233 304 004 ' @ \0 027 017 240 240 0125660 232 240 n 240 j 017 240 240 227 304 004 \a 026 005 333 017 0125700 262 223 301 ` w h i c h i s r u n 0125720 n i n g t w o i n d e p e n 0125740 d e n t t h r e a d s i n s 0125760 i d e i t s e l f . T h e 0126000 f i r s t U n i x p r o c 0126020 e s s i s t h e X s e r 0126040 v e r . 226 017 241 017 262 223 240 k 304 004 I 0 0126060 \0 267 304 006 \0 231 261 \0 \0 213 212 304 002 001 \n 304 0126100 002 001 \n 240 233 304 004 ' @ \0 027 017 240 240 232 240 0126120 n 240 j 017 240 240 227 304 004 \b 261 005 q 017 262 223 0126140 301 031 T h e o t h e r o n e 0126160 i s a C e d a r 226 017 244 240 227 0126200 301 021 V i r t u a l P r o c e s 0126220 s o r 226 017 240 240 227 301 - ( V P ) , 0126240 w h i c h r u n s t h e 0126260 P o r t a b l e C o m m o n 0126300 R u n t i m e 226 017 241 017 262 223 240 k 304 0126320 004 I 0 \0 267 304 004 S 242 \0 O 212 304 002 001 \n 0126340 304 002 001 \n 240 233 304 004 ' @ \0 027 017 240 240 232 0126360 240 n 240 j 017 240 240 227 304 004 001 ~ 001 7 017 262 0126400 223 301 \ ( P C R ) , a n d s o 0126420 c a n b e a s s i g n e d 0126440 t o r u n a n y n u m b 0126460 e r o f t h r e a d s . F 0126500 o r o u r e x a m p l e , 0126520 w e f o c u s o n t w o 226 0126540 017 241 017 262 223 240 k 304 004 I 0 \0 267 304 006 \0 0126560 233 311 \0 \0 232 212 304 002 001 \n 304 002 001 \n 240 233 0126600 304 004 ' @ \0 027 017 240 240 232 240 n 240 j 017 240 0126620 240 227 304 004 \b 221 005 377 017 262 223 301 \ o f 0126640 t h o s e t h r e a d s : a 0126660 w o r k e r t h r e a d p 0126700 r o d u c i n g a n i m a g 0126720 e a n d a n I / O t h r 0126740 e a d t h a t i s b u f f 0126760 e r i n g t h e 226 017 241 017 262 223 240 0127000 k 304 004 I 0 \0 267 304 006 \0 210 367 \0 \0 216 212 0127020 304 002 001 \n 304 002 001 \n 240 233 304 004 ' @ \0 027 0127040 017 240 240 232 240 n 240 j 017 240 240 227 304 004 032 7 0127060 027 341 017 262 223 301 ^ i m a g e c o m 0127100 m a n d s t o t h e X s 0127120 e r v e r . ( T h e I / O 0127140 t h r e a d i s a n e x a 0127160 m p l e o f w h a t w e 0127200 w i l l c a l l i n t h e 0127220 n e x t 226 017 241 017 262 223 240 k 304 004 I 0127240 0 \0 267 304 004 , 365 \0 1 212 017 240 240 227 301 033 0127260 s e c t i o n a " s l a c k 0127300 p r o c e s s " ) . 226 304 004 I 0 0127320 \0 267 304 004 * s \0 4 212 304 002 001 \n 304 002 001 0127340 \n 240 233 304 004 ' @ \0 027 017 240 240 232 240 n 240 0127360 j 017 240 240 227 304 004 005 237 003 203 017 262 223 301 \ 0127400 I n F i g u r e 1 t h e 0127420 t o p t w o h o r i z o n t 0127440 a l l i n e s r e p r e s e 0127460 n t t h e U n i x p r o c 0127500 e s s e s , t h e t w o a 0127520 t t h e b o t t o m 226 017 241 017 0127540 262 223 240 k 304 004 I 0 \0 267 304 006 \0 217 333 \0 0127560 \0 273 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ' 0127600 @ \0 027 017 240 240 232 240 n 240 j 017 240 240 227 304 0127620 004 \0 210 \0 u 017 262 223 301 [ r e p r e s 0127640 e n t t h e t h r e a d s 0127660 r u n n i n g w i t h i n t 0127700 h e s e c o n d U n i x p 0127720 r o c e s s . M a n y o t h 0127740 e r U n i x p r o c e s s e 0127760 s a n d 226 017 241 017 262 223 240 k 304 004 I 0130000 0 \0 267 304 004 ' 271 \0 7 212 017 240 240 227 301 5 0130020 C e d a r t h r e a d s r u 0130040 n n i n g a t t h e s a m 0130060 e t i m e a r e n o t s 0130100 h o w n . 226 304 004 I 0 \0 267 304 004 h 366 0130120 \0 251 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ' 0130140 @ \0 027 017 240 240 232 240 n 240 j 017 240 240 227 304 0130160 004 005 035 005 025 017 262 223 301 b L e t ' s 0130200 l o o k f i r s t a t t h 0130220 e t w o U n i x p r o c e 0130240 s s e s . W h e r e t h e 0130260 y s h o w a s l i m h o 0130300 r i z o n t a l g r e y l i 0130320 n e , t h e y a r e 226 017 241 017 0130340 262 223 240 k 304 004 I 0 \0 267 304 004 ! 336 \0 ; 0130360 212 304 002 001 \n 304 002 001 \n 240 233 304 004 ' @ \0 0130400 027 017 240 240 232 240 n 240 j 017 240 240 227 304 004 005 0130420 212 004 205 017 262 223 301 ] i d l e , u n 0130440 s c h e d u l e d b y t h e 0130460 U n i x k e r n e l . W 0130500 h e r e t h e y s h o w a 0130520 w i d e r r e d h o r i z 0130540 o n t a l l i n e , t h e y 0130560 h a v e 226 017 241 017 262 223 240 k 304 004 I 0130600 0 \0 267 304 004 & x \0 I 212 304 002 001 \n 304 002 0130620 001 \n 240 233 304 004 ' @ \0 027 017 240 240 232 240 n 0130640 240 j 017 240 240 227 304 004 \r 341 \t h 017 262 223 301 0130660 X a c t u a l l y a c q u i r 0130700 e d a C P U . W h e n 0130720 t h e y h a v e a C P U , 0130740 t h e y m a y c a u s e 0130760 k e r n e l a c t i v i t y , 0131000 s h o w n a s 226 017 241 017 262 223 240 0131020 k 304 004 I 0 \0 267 304 004 " 023 \0 G 212 304 002 0131040 001 \n 304 002 001 \n 240 233 304 004 ' @ \0 027 017 240 0131060 240 232 240 n 240 j 017 240 240 227 304 004 004 N 003 375 0131100 017 262 223 301 ` s h o r t v e r t i 0131120 c a l s t r o k e s . F o r 0131140 t h i s f i g u r e w e 0131160 w e r e i n t e r e s t e d 0131200 i n p o s s i b l e o v e r 0131220 h e a d c a u s e d b y s 0131240 y s t e m 226 017 241 017 262 223 240 k 304 004 I 0131260 0 \0 267 304 004 C 207 \0 234 212 304 002 001 \n 304 002 0131300 001 \n 240 233 304 004 ' @ \0 027 017 240 240 232 240 n 0131320 240 j 017 240 240 227 304 004 005 316 004 273 017 262 223 301 0131340 a c a l l s a n d p a g e 0131360 f a u l t s , s o o n l y 0131400 t h o s e k e r n e l e v e 0131420 n t s a r e s h o w n , p 0131440 a g e f a u l t s i n r e 0131460 d , s y s t e m c a l l s 0131500 i n 226 017 241 017 262 223 240 k 304 004 I 0 \0 267 0131520 304 006 001 006 [ \0 002 250 212 304 002 001 \n 304 002 001 0131540 \n 240 233 304 004 ' @ \0 027 017 240 240 232 240 n 240 0131560 j 017 240 240 227 304 004 004 $ 003 035 017 262 223 301 [ 0131600 b l u e . F i g u r e 1 s 0131620 h o w s t h a t t h e X 0131640 w i n d o w s e r v e r a c 0131660 q u i r e d a n d l o s t 0131700 t h e C P U e l e v e n t 0131720 i m e s i n t h e 226 017 241 017 262 0131740 223 240 k 304 004 I 0 \0 267 304 004 \t 323 \0 035 212 0131760 017 240 240 227 301 # 1 0 0 m i l l i s 0132000 e c o n d s ; t h e V P t 0132020 e n t i m e s . 226 017 241 240 227 301 001 0132040 226 240 k 240 j 017 241 017 245 223 304 004 \0 177 023 0132060 210 240 244 240 250 017 240 017 240 240 242 240 250 304 004 \0 0132100 d 034 ; 240 244 240 250 017 241 240 244 240 250 017 240 240 0132120 243 240 250 017 240 240 227 304 004 [ 243 \0 * 304 006 001 0132140 # 267 \0 \0 d 212 301 001 9 226 304 004 : m \0 227 0132160 304 004 < 035 001 231 212 240 x 240 j 240 252 304 006 001 0132200 W B \0 \0 037 240 244 240 250 240 r 240 j 017 241 017 0132220 245 223 304 006 \0 \0 021 \0 274 = 240 244 240 250 240 x 0132240 240 j 304 004 356 273 \0 ^ 304 004 016 225 \0 G 240 242 0132260 240 250 017 241 017 257 223 017 241 017 260 223 017 242 017 267 0132300 223 021 0 021 0 021 0 017 243 241 033 023 210 017 240 017 0132320 240 017 240 017 244 241 033 305 005 X e r o x 305 \t 0132340 R G B L i n e a r 017 242 241 033 241 246 240 0132360 347 017 244 225 017 244 224 240 347 017 255 223 304 006 \0 262 0132400 332 \0 \0 247 304 006 \0 234 027 \0 \0 323 304 006 \0 262 0132420 332 \0 \0 247 304 004 1 251 \0 = 241 271 017 241 017 257 0132440 223 017 241 017 260 223 017 242 017 267 223 021 0 021 0 021 0132460 0 017 243 241 033 017 244 224 240 347 017 255 223 304 006 \0 0132500 262 332 \0 \0 247 304 004 y ! \0 I 304 006 \0 262 332 0132520 \0 \0 247 304 004 \ T \0 7 241 271 017 241 017 257 223 0132540 017 241 017 260 223 017 242 017 267 223 021 0 021 0 021 0 0132560 017 243 241 033 017 244 224 240 347 017 255 223 304 006 \0 262 0132600 332 \0 \0 247 304 006 \0 274 e \0 \0 212 304 006 \0 262 0132620 332 \0 \0 247 304 006 005 F v \0 003 303 241 271 017 241 0132640 017 257 223 017 241 017 260 223 017 242 017 267 223 021 0 021 0132660 0 021 0 017 243 241 033 017 244 224 240 347 017 255 223 304 0132700 006 \0 262 332 \0 \0 247 304 004 ` 323 \0 l 304 006 \0 0132720 262 332 \0 \0 247 304 006 \0 244 ! \0 \0 240 241 271 017 0132740 241 017 257 223 017 241 017 260 223 017 242 017 267 223 021 0 0132760 021 0 021 0 017 243 241 033 017 244 224 240 347 017 255 223 0133000 304 006 \0 262 332 \0 \0 247 304 006 001 022 357 \0 \0 266 0133020 304 006 \0 262 332 \0 \0 247 304 004 + K \0 034 241 271 0133040 017 241 017 257 223 017 241 017 260 223 017 242 017 267 223 021 0133060 0 021 0 021 0 017 243 241 033 017 244 224 240 347 017 255 0133100 223 304 006 \0 262 332 \0 \0 247 304 006 \0 230 246 \0 \0 0133120 177 304 006 \0 262 332 \0 \0 247 304 004 025 W \0 021 241 0133140 271 017 241 017 257 223 017 241 017 260 223 017 242 017 267 223 0133160 021 0 021 0 021 0 017 243 241 033 017 244 224 240 347 017 0133200 255 223 304 006 \0 262 332 \0 \0 247 304 004 U c \0 0 0133220 304 006 \0 262 332 \0 \0 247 304 004 y 221 \0 B 241 271 0133240 017 241 017 257 223 017 241 017 260 223 017 242 017 267 223 021 0133260 0 021 0 021 0 017 243 241 033 017 244 224 240 347 017 255 0133300 223 304 006 \0 262 332 \0 \0 247 304 006 \0 242 \0 \0 \0 0133320 S 304 006 \0 262 332 \0 \0 247 304 004 ! 311 \0 021 241 0133340 271 017 241 017 257 223 017 241 017 260 223 017 242 017 267 223 0133360 021 0 021 0 021 0 017 243 241 033 017 244 224 240 347 017 0133400 255 223 304 006 \0 262 332 \0 \0 247 304 004 = 2 \0 035 0133420 304 006 \0 262 332 \0 \0 247 304 006 001 214 366 \0 \0 271 0133440 241 271 017 241 017 257 223 017 241 017 260 223 017 242 017 267 0133460 223 021 0 021 0 021 0 017 243 241 033 017 244 224 240 347 0133500 017 255 223 304 006 \0 262 332 \0 \0 247 304 006 001 302 ( 0133520 \0 \0 307 304 006 \0 262 332 \0 \0 247 304 006 \0 256 237 0133540 \0 \0 L 241 271 017 246 017 257 223 017 241 017 260 223 017 0133560 242 017 267 223 022 020 @ 020 @ 017 243 241 033 017 244 0133600 224 240 347 017 255 223 304 004 M 177 \0 k 304 004 R 313 0133620 \0 p 304 004 M 177 \0 k 304 004 < 246 \0 I 241 271 0133640 017 246 017 257 223 017 241 017 260 223 017 242 017 267 223 023 0133660 020 021 250 021 250 017 243 241 033 017 244 224 240 347 017 255 0133700 223 304 006 \0 262 332 \0 \0 247 304 006 \0 256 237 \0 \0 0133720 L 304 006 \0 262 332 \0 \0 247 304 006 \0 305 k \0 \0 0133740 R 241 271 017 246 017 257 223 017 241 017 260 223 017 242 017 0133760 267 223 023 020 021 250 021 250 017 243 241 033 017 244 224 240 0134000 347 017 255 223 304 006 \0 262 332 \0 \0 247 304 006 \0 256 0134020 237 \0 \0 L 304 006 \0 262 332 \0 \0 247 304 006 \0 256 0134040 237 \0 \0 L 241 271 017 246 017 257 223 017 241 017 260 223 0134060 017 242 017 267 223 023 020 021 250 021 250 017 243 241 033 017 0134100 244 224 240 347 017 255 223 304 006 \0 262 332 \0 \0 247 304 0134120 006 001 214 366 \0 \0 271 304 006 \0 262 332 \0 \0 247 304 0134140 006 001 302 ( \0 \0 307 241 271 017 246 017 257 223 017 241 0134160 017 260 223 017 242 017 267 223 023 020 021 250 021 250 017 243 0134200 241 033 017 244 224 240 347 017 255 223 304 006 \0 262 332 \0 0134220 \0 247 304 006 001 214 366 \0 \0 271 304 006 \0 262 332 \0 0134240 \0 247 304 006 001 214 366 \0 \0 271 241 271 017 246 017 257 0134260 223 017 241 017 260 223 017 242 017 267 223 023 020 021 250 021 0134300 250 017 243 241 033 017 244 224 240 347 017 255 223 304 006 \0 0134320 262 332 \0 \0 247 304 004 ! 311 \0 021 304 006 \0 262 332 0134340 \0 \0 247 304 004 = 2 \0 035 241 271 017 246 017 257 223 0134360 017 241 017 260 223 017 242 017 267 223 023 020 021 250 021 250 0134400 017 243 241 033 017 244 224 240 347 017 255 223 304 006 \0 262 0134420 332 \0 \0 247 304 004 ! 311 \0 021 304 006 \0 262 332 \0 0134440 \0 247 304 004 ! 311 \0 021 241 271 017 246 017 257 223 017 0134460 241 017 260 223 017 242 017 267 223 023 020 021 250 021 250 017 0134500 243 241 033 017 244 224 240 347 017 255 223 304 006 \0 262 332 0134520 \0 \0 247 304 004 y 221 \0 B 304 006 \0 262 332 \0 \0 0134540 247 304 006 \0 242 \0 \0 \0 S 241 271 017 246 017 257 223 0134560 017 241 017 260 223 017 242 017 267 223 023 020 021 250 021 250 0134600 017 243 241 033 017 244 224 240 347 017 255 223 304 006 \0 262 0134620 332 \0 \0 247 304 004 y 221 \0 B 304 006 \0 262 332 \0 0134640 \0 247 304 004 y 221 \0 B 241 271 017 246 017 257 223 017 0134660 241 017 260 223 017 242 017 267 223 023 020 021 250 021 250 017 0134700 243 241 033 017 244 224 240 347 017 255 223 304 006 \0 262 332 0134720 \0 \0 247 304 004 \ T \0 7 304 006 \0 262 332 \0 \0 0134740 247 304 004 U c \0 0 241 271 017 246 017 257 223 017 241 0134760 017 260 223 017 242 017 267 223 023 020 021 250 021 250 017 243 0135000 241 033 017 244 224 240 347 017 255 223 304 006 \0 262 332 \0 0135020 \0 247 304 004 \ T \0 7 304 006 \0 262 332 \0 \0 247 0135040 304 004 \ T \0 7 241 271 017 246 017 257 223 017 241 017 0135060 260 223 017 242 017 267 223 023 020 021 250 021 250 017 243 241 0135100 033 017 244 224 240 347 017 255 223 304 006 \0 262 332 \0 \0 0135120 247 304 004 + K \0 034 304 006 \0 262 332 \0 \0 247 304 0135140 004 y ! \0 I 241 271 017 246 017 257 223 017 241 017 260 0135160 223 017 242 017 267 223 023 020 021 250 021 250 017 243 241 033 0135200 017 244 224 240 347 017 255 223 304 006 \0 262 332 \0 \0 247 0135220 304 004 + K \0 034 304 006 \0 262 332 \0 \0 247 304 004 0135240 + K \0 034 241 271 017 246 017 257 223 017 241 017 260 223 0135260 017 242 017 267 223 023 020 021 250 021 250 017 243 241 033 017 0135300 244 224 240 347 017 255 223 304 006 \0 262 332 \0 \0 247 304 0135320 006 005 F v \0 003 303 304 006 \0 262 332 \0 \0 247 304 0135340 006 001 022 357 \0 \0 266 241 271 017 246 017 257 223 017 241 0135360 017 260 223 017 242 017 267 223 023 020 021 250 021 250 017 243 0135400 241 033 017 244 224 240 347 017 255 223 304 006 \0 262 332 \0 0135420 \0 247 304 006 005 F v \0 003 303 304 006 \0 262 332 \0 0135440 \0 247 304 006 005 F v \0 003 303 241 271 017 246 017 257 0135460 223 017 241 017 260 223 017 242 017 267 223 023 020 021 250 021 0135500 250 017 243 241 033 017 244 224 240 347 017 255 223 304 006 \0 0135520 262 332 \0 \0 247 304 004 025 W \0 021 304 006 \0 262 332 0135540 \0 \0 247 304 006 \0 274 e \0 \0 212 241 271 017 246 017 0135560 257 223 017 241 017 260 223 017 242 017 267 223 023 020 021 250 0135600 021 250 017 243 241 033 017 244 224 240 347 017 255 223 304 006 0135620 \0 262 332 \0 \0 247 304 004 025 W \0 021 304 006 \0 262 0135640 332 \0 \0 247 304 004 025 W \0 021 241 271 017 246 017 257 0135660 223 017 241 017 260 223 017 242 017 267 223 023 020 021 250 021 0135700 250 017 243 241 033 017 244 224 240 347 017 255 223 304 006 \0 0135720 262 332 \0 \0 247 304 006 \0 244 ! \0 \0 240 304 006 \0 0135740 262 332 \0 \0 247 304 006 \0 230 246 \0 \0 177 241 271 017 0135760 246 017 257 223 017 241 017 260 223 017 242 017 267 223 023 020 0136000 021 250 021 250 017 243 241 033 017 244 224 240 347 017 255 223 0136020 304 006 \0 262 332 \0 \0 247 304 006 \0 244 ! \0 \0 240 * 0136060 241 271 017 246 017 257 223 017 241 017 260 223 017 242 017 267 0136100 223 023 020 021 250 021 250 017 243 241 033 017 244 224 240 347 0136120 017 255 223 304 006 \0 262 332 \0 \0 247 304 004 P 035 \0 0136140 d 304 006 \0 262 332 \0 \0 247 304 004 E g \0 M 241 0136160 271 304 002 001 \n 017 257 223 017 241 017 260 223 017 242 017 0136200 267 223 017 241 241 250 304 006 \a m 245 \0 006 c 304 004 0136220 C Z \0 [ 304 004 R 025 \0 J 304 004 C Z \0 [ 0136240 241 271 017 246 017 257 223 017 241 017 260 223 017 242 017 267 0136260 223 022 020 @ 020 @ 017 243 241 033 017 244 224 240 347 0136300 017 255 223 304 004 030 / \0 & 304 004 J 371 \0 304 0136320 004 030 / \0 & 304 004 ` \v \0 ( 241 271 017 246 017 0136340 257 223 017 241 017 260 223 017 242 017 267 223 022 020 @ 0136360 020 @ 017 243 241 033 017 244 224 240 347 017 255 223 304 004 0136400 030 / \0 & 304 004 J 371 \0 304 004 030 / \0 & 0136420 304 004 J 371 \0 241 271 017 246 017 257 223 017 241 017 0136440 260 223 017 242 017 267 223 022 020 @ 020 @ 017 243 241 0136460 033 017 244 224 240 347 017 255 223 304 004 030 / \0 & 304 0136500 006 001 \t 034 \0 \0 y 304 004 030 / \0 & 304 006 \0 0136520 205 025 \0 \0 ; 241 271 017 246 017 257 223 017 241 017 260 0136540 223 017 242 017 267 223 022 020 @ 020 @ 017 243 241 033 0136560 017 244 224 240 347 017 255 223 304 004 030 / \0 & 304 006 0136600 001 \t 034 \0 \0 y 304 004 030 / \0 & 304 006 001 \t 0136620 034 \0 \0 y 241 271 017 246 017 257 223 017 241 017 260 223 0136640 017 242 017 267 223 022 020 @ 020 @ 017 243 241 033 017 0136660 244 224 240 347 017 255 223 304 004 030 / \0 & 304 006 \0 0136700 215 A \0 \0 E 304 004 030 / \0 & 304 006 \0 214 363 0136720 \0 \0 C 241 271 017 246 017 257 223 017 241 017 260 223 017 0136740 242 017 267 223 022 020 @ 020 @ 017 243 241 033 017 244 0136760 224 240 347 017 255 223 304 004 030 / \0 & 304 006 \0 215 0137000 A \0 \0 E 304 004 030 / \0 & 304 006 \0 215 A \0 0137020 \0 E 241 271 017 246 017 257 223 017 241 017 260 223 017 242 0137040 017 267 223 022 020 @ 020 @ 017 243 241 033 017 244 224 0137060 240 347 017 255 223 304 004 030 / \0 & 304 004 B \r \0 0137100 # 304 004 030 / \0 & 304 006 \0 351 q \0 \0 x 241 0137120 271 017 246 017 257 223 017 241 017 260 223 017 242 017 267 223 0137140 022 020 @ 020 @ 017 243 241 033 017 244 224 240 347 017 0137160 255 223 304 004 030 / \0 & 304 004 B \r \0 # 304 004 0137200 030 / \0 & 304 004 B \r \0 # 241 271 017 246 017 257 0137220 223 017 241 017 260 223 017 242 017 267 223 022 020 @ 020 0137240 @ 017 243 241 033 017 244 224 240 347 017 255 223 304 004 030 0137260 / \0 & 304 006 \0 242 \r \0 \0 ^ 304 004 030 / \0 0137300 & 304 006 \0 366 ^ \0 \0 213 241 271 017 246 017 257 223 0137320 017 241 017 260 223 017 242 017 267 223 022 020 @ 020 @ 0137340 017 243 241 033 017 244 224 240 347 017 255 223 304 004 030 / 0137360 \0 & 304 006 \0 242 \r \0 \0 ^ 304 004 030 / \0 & 0137400 304 006 \0 242 \r \0 \0 ^ 241 271 017 246 017 257 223 017 0137420 241 017 260 223 017 242 017 267 223 022 020 @ 020 @ 017 0137440 243 241 033 017 244 224 240 347 017 255 223 304 004 030 / \0 0137460 & 304 006 \0 202 345 \0 \0 R 304 004 030 / \0 & 304 0137500 006 \0 217 314 \0 \0 W 241 271 017 246 017 257 223 017 241 0137520 017 260 223 017 242 017 267 223 022 020 @ 020 @ 017 243 0137540 241 033 017 244 224 240 347 017 255 223 304 004 030 / \0 & 0137560 304 006 \0 202 345 \0 \0 R 304 004 030 / \0 & 304 006 0137600 \0 202 345 \0 \0 R 241 271 017 246 017 257 223 017 241 017 0137620 260 223 017 242 017 267 223 022 020 @ 020 @ 017 243 241 0137640 033 017 244 224 240 347 017 255 223 304 004 030 / \0 & 304 0137660 004 L 271 \0 5 304 004 030 / \0 & 304 004 . 241 \0 0137700 037 241 271 017 246 017 257 223 017 241 017 260 223 017 242 017 0137720 267 223 022 020 @ 020 @ 017 243 241 033 017 244 224 240 0137740 347 017 255 223 304 004 030 / \0 & 304 004 L 271 \0 5 0137760 304 004 030 / \0 & 304 004 L 271 \0 5 241 271 017 246 0140000 017 257 223 017 241 017 260 223 017 242 017 267 223 022 020 0140020 @ 020 @ 017 243 241 033 017 244 224 240 347 017 255 223 304 0140040 004 030 / \0 & 304 004 J 9 \0 9 304 004 030 / \0 0140060 & 304 004 P * \0 ; 241 271 017 246 017 257 223 017 241 0140100 017 260 223 017 242 017 267 223 022 020 @ 020 @ 017 243 0140120 241 033 017 244 224 240 347 017 255 223 304 004 030 / \0 & 0140140 304 004 J 9 \0 9 304 004 030 / \0 & 304 004 J 9 0140160 \0 9 241 271 017 246 017 257 223 017 241 017 260 223 017 242 0140200 017 267 223 022 020 @ 020 @ 017 243 241 033 017 244 224 0140220 240 347 017 255 223 304 004 030 / \0 & 304 006 \0 353 241 0140240 \0 \0 324 304 004 030 / \0 & 304 006 001 005 320 \0 \0 0140260 333 241 271 017 246 017 257 223 017 241 017 260 223 017 242 017 0140300 267 223 022 020 @ 020 @ 017 243 241 033 017 244 224 240 0140320 347 017 255 223 304 004 030 / \0 & 304 006 \0 353 241 \0 0140340 \0 324 304 004 030 / \0 & 304 006 \0 353 241 \0 \0 324 0140360 241 271 017 246 017 257 223 017 241 017 260 223 017 242 017 267 0140400 223 022 020 @ 020 @ 017 243 241 033 017 244 224 240 347 0140420 017 255 223 304 004 030 / \0 & 304 006 \0 333 221 \0 \0 0140440 315 304 004 030 / \0 & 304 004 ; 314 \0 7 241 271 017 0140460 246 017 257 223 017 241 017 260 223 017 242 017 267 223 022 0140500 020 @ 020 @ 017 243 241 033 017 244 224 240 347 017 255 223 0140520 304 004 030 / \0 & 304 006 \0 333 221 \0 \0 315 304 004 0140540 030 / \0 & 304 006 \0 333 221 \0 \0 315 241 271 017 246 0140560 017 257 223 017 241 017 260 223 017 242 017 267 223 022 020 0140600 @ 020 @ 017 243 241 033 017 244 224 240 347 017 255 223 304 0140620 004 030 / \0 & 304 004 B | \0 O 304 004 030 / \0 0140640 & 304 004 * 271 \0 0 241 271 017 246 017 257 223 017 241 0140660 017 260 223 017 242 017 267 223 022 020 @ 020 @ 017 243 0140700 241 033 017 244 224 240 347 017 255 223 304 004 030 / \0 & 0140720 304 004 B | \0 O 304 004 030 / \0 & 304 004 B | 0140740 \0 O 241 271 017 246 017 257 223 017 241 017 260 223 017 242 0140760 017 267 223 022 020 @ 020 @ 017 243 241 033 017 244 224 0141000 240 347 017 255 223 304 004 M 177 \0 k 304 004 | & \0 0141020 7 304 004 M 177 \0 k 304 006 \0 237 5 \0 \0 D 241 0141040 271 017 246 017 257 223 017 241 017 260 223 017 242 017 267 223 0141060 022 020 @ 020 @ 017 243 241 033 017 244 224 240 347 017 0141100 255 223 304 004 M 177 \0 k 304 004 | & \0 7 304 004 0141120 M 177 \0 k 304 004 | & \0 7 241 271 017 246 017 257 0141140 223 017 241 017 260 223 017 242 017 267 223 022 020 @ 020 0141160 @ 017 243 241 033 017 244 224 240 347 017 255 223 304 004 M 0141200 177 \0 k 304 006 \0 271 E \0 \0 X 304 004 M 177 \0 0141220 k 304 006 \0 233 r \0 \0 G 241 271 017 246 017 257 223 0141240 017 241 017 260 223 017 242 017 267 223 022 020 @ 020 @ 0141260 017 243 241 033 017 244 224 240 347 017 255 223 304 004 M 177 0141300 \0 k 304 006 \0 271 E \0 \0 X 304 004 M 177 \0 k 0141320 304 006 \0 271 E \0 \0 X 241 271 017 246 017 257 223 017 0141340 241 017 260 223 017 242 017 267 223 022 020 @ 020 @ 017 0141360 243 241 033 017 244 224 240 347 017 255 223 304 004 M 177 \0 0141400 k 304 004 W 235 \0 - 304 004 M 177 \0 k 304 004 [ 0141420 372 \0 - 241 271 017 246 017 257 223 017 241 017 260 223 017 0141440 242 017 267 223 022 020 @ 020 @ 017 243 241 033 017 244 0141460 224 240 347 017 255 223 304 004 M 177 \0 k 304 004 W 235 0141500 \0 - 304 004 M 177 \0 k 304 004 W 235 \0 - 241 271 0141520