$ od -c -N 50000 [phylum]<LISP>Lyric>Lispusers>PREEMPTIVE.TEDIT!1 0000000 X E R O X \t P R E E M P T I V E 0000020 \r 2 \r \r 4 \r \r 1 \r \r P R E E M P 0000040 T I V E \r 1 \r \r 4 \r \r B y : 0000060 L a r r y M a s i n t e r ( 0000100 M a s i n t e r . p a @ X e r o 0000120 x . c o m ) \r T h i s m o d u 0000140 l e t u r n s o n p r e - 0000160 e m p t i v e p r o c e s s 0000200 s c h e d u l i n g . U s i n 0000220 g I L : \ \ P E R I O D I C . 0000240 I N T E R R U P T , i t f o 0000260 r c e s a b l o c k i n 0000300 w h a t e v e r p r o c e s s 0000320 i s r u n n i n g . \r \r ( I 0000340 L : P R E E M P T I V E & O P 0000360 T I O N A L S T A T E ) \t \t \t 0000400 [ F 0000420 U N C T I O N ] \r T h e f u n 0000440 c t i o n P R E E M P T I V E 0000460 t u r n s p r e e m p t i v 0000500 e p r o c e s s s c h e d u 0000520 l i n g o n a n d o f f . 0000540 ( I L : P R E E M P T I V E 0000560 ' : O N ) t u r n s i t o 0000600 n , ( I L : P R E E M P T I V 0000620 E ' : O F F ) t u r n s i 0000640 t o f f . ( I L : P R E E M 0000660 P T I V E ) w i t h n o a 0000700 r g u m e n t r e t u r n s 0000720 t h e c u r r e n t s t a t 0000740 e w i t h n o c h a n g e 0000760 . \r W A R N I N G W A R N I N 0001000 G W A R N I N G W A R N I N 0001020 G D A N G E R D A N G E R 0001040 D A N G E R D A N G E R \r P R 0001060 E E M P T I V E i s d a n g 0001100 e r o u s . M a n y p l a c 0001120 e s i n t h e s y s t e m 0001140 d o n o t h a v e m o n 0001160 i t o r l o c k s a n d o 0001200 t h e r m e c h a n i s m s 0001220 t o p r e v e n t o n e p 0001240 r o c e s s f r o m o v e r 0001260 w r i t i n g t h e d a t a 0001300 o f a n o t h e r i n t 0001320 h e f a c e o f p r e e m 0001340 p t i v e i n t e r r u p t s 0001360 . ( M o s t d o , o f 0001400 c o u r s e . ) \r I ' v e r u 0001420 n w i t h p r e e m p t i v 0001440 e s c h e d u l i n g t u r 0001460 n e d o n f o r w e e k s 0001500 , a n d a b o u t o n c e 0001520 a d a y , m y s c r e e 0001540 n g e t s t r a s h e d , 0001560 w i n d o w s a n d m e n u 0001600 s o v e r w r i t t e n , e 0001620 t c . T h i s v e r s i o n 0001640 o f P R E E M P T I V E i 0001660 s a l i t t l e m o r e 0001700 c o n s e r v a t i v e t h a 0001720 n p r e v i o u s v e r s i 0001740 o n s , e . g . , i t c h 0001760 e c k s t o s e e i f t 0002000 h e s y s t e m i s r u n 0002020 n i n g i n t h e M E N U 0002040 c o d e a n d d o e s n ' 0002060 t d o a p r o c e s s s 0002100 w i t c h . H o w e v e r : \r 0002120 U S E A T Y O U R O W N 0002140 R I S K . C A U T I O N C A 0002160 U T I O N . \r \r N O T E : U s 0002200 i n g S P Y t u r n s p r 0002220 e e m p t i v e s c h e d u l 0002240 i n g O F F . \r \0 \0 \0 \0 \0 003 ( 0002260 L I S T ( ( P A G E N I L 0002300 ( P A P E R S I Z E L E T T E 0002320 R S T A R T I N G P A G E # 0002340 2 1 1 ) ( 0 0 6 1 2 7 9 0002360 2 ) ( ( F O L I O N I L ( 0002400 P A R A L O O K S ( Q U A D 0002420 C E N T E R E D ) C H A R L O 0002440 O K S ( S U P E R S C R I P T 0002460 0 I N V I S I B L E O F F 0002500 S E L E C T P O I N T O F F 0002520 P R O T E C T E D O F F S 0002540 I Z E 1 0 F A M I L Y M O 0002560 D E R N O V E R L I N E O F 0002600 F S T R I K E O U T O F F 0002620 U N D E R L I N E O F F E X 0002640 P A N S I O N R E G U L A R 0002660 S L O P E R E G U L A R W E 0002700 I G H T M E D I U M I N V E 0002720 R T E D O F F U S E R I N F 0002740 O N I L S T Y L E N I L ) 0002760 F O R M A T I N F O N I L ) 0003000 ( 1 7 4 3 6 2 8 8 3 6 ) 0003020 N I L ) ( H E A D I N G N 0003040 I L ( H E A D I N G T Y P E 0003060 R U N N I N G H E A D ) ( 8 4 0003100 7 4 4 5 2 8 3 6 ) N I L 0003120 ) ( T E X T N I L N I L 0003140 ( 8 4 9 6 4 5 6 6 0 0 ) 0003160 N I L ) ) ) ( P A G E N I L 0003200 ( P A P E R S I Z E N I L 0003220 . L E T T E R ) ( 0 0 6 0003240 1 2 7 9 2 ) ( ( F O L I O 0003260 N I L ( P A R A L O O K S ( 0003300 Q U A D C E N T E R E D ) C 0003320 H A R L O O K S ( S U P E R S 0003340 C R I P T 0 I N V I S I B L 0003360 E O F F S E L E C T P O I N 0003400 T O F F P R O T E C T E D 0003420 O F F S I Z E 1 0 F A M I 0003440 L Y M O D E R N O V E R L I 0003460 N E O F F S T R I K E O U T 0003500 O F F U N D E R L I N E O 0003520 F F E X P A N S I O N R E G 0003540 U L A R S L O P E R E G U L 0003560 A R W E I G H T M E D I U M 0003600 I N V E R T E D O F F U S 0003620 E R I N F O N I L S T Y L E 0003640 N I L ) F O R M A T I N F O 0003660 N I L ) ( 1 7 4 3 6 2 8 0003700 8 3 6 ) N I L ) ( H E A D 0003720 I N G N I L ( H E A D I N G 0003740 T Y P E R U N N I N G H E A D 0003760 ) ( 8 4 7 4 4 5 2 8 3 6 0004000 ) N I L ) ( T E X T N I L 0004020 N I L ( 8 4 9 6 4 5 6 0004040 6 0 0 ) N I L ) ) ) ( P A G 0004060 E N I L ( P A P E R S I Z E 0004100 N I L . L E T T E R ) ( 0004120 0 0 6 1 2 7 9 2 ) ( ( F 0004140 O L I O N I L ( P A R A L O 0004160 O K S ( Q U A D C E N T E R 0004200 E D ) C H A R L O O K S ( S 0004220 U P E R S C R I P T 0 I N V 0004240 I S I B L E O F F S E L E C 0004260 T P O I N T O F F P R O T E 0004300 C T E D O F F S I Z E 1 0 0004320 F A M I L Y M O D E R N O 0004340 V E R L I N E O F F S T R I 0004360 K E O U T O F F U N D E R L 0004400 I N E O F F E X P A N S I O 0004420 N R E G U L A R S L O P E 0004440 R E G U L A R W E I G H T M 0004460 E D I U M I N V E R T E D O 0004500 F F U S E R I N F O N I L 0004520 S T Y L E N I L ) F O R M A 0004540 T I N F O N I L ) ( 1 7 4 0004560 3 6 2 8 8 3 6 ) N I L ) 0004600 ( H E A D I N G N I L ( H E 0004620 A D I N G T Y P E R U N N I N 0004640 G H E A D ) ( 8 4 7 4 4 5 0004660 2 8 3 6 ) N I L ) ( T E X 0004700 T N I L N I L ( 8 4 9 6 0004720 4 5 6 6 0 0 ) N I L ) ) ) 0004740 ) ) \0 \0 \0 \0 \0 005 \0 006 \0 ( \0 \0 \0 \0 0004760 001 310 \0 \v \0 \0 \0 004 002 004 \0 \0 \0 \0 \0 \0 0005000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005020 \0 \0 \0 ( \0 \0 \0 \0 001 310 \0 021 \0 \0 \0 004 0005040 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 212 0005100 001 8 \0 006 \0 \0 \0 004 002 003 \0 \0 \0 \0 \0 \0 0005120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005140 \0 \0 \0 ( \0 212 \0 212 001 8 \0 \0 \0 \0 \0 004 0005160 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005200 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 D \0 \0 \0 \0 0005220 001 310 \0 \0 \0 \0 \0 \0 003 004 \0 \0 001 001 310 001 0005240 \0 \0 \0 \0 \0 \0 \0 \v P A G E H E A D 0005260 I N G \0 \v R U N N I N G H E A D 0005300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0005320 \0 \0 \0 \0 001 310 \0 \v \0 \0 \0 004 002 001 \0 \0 0005340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 0005400 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0005420 002 \0 \0 024 \0 006 M O D E R N \0 \f \0 \0 0005440 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N 0005460 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O 0005500 D E R N \0 006 \0 \0 \0 \0 \0 \0 \0 \0 \0 022 0005520 \0 004 L O G O \0 030 \0 \0 \0 \0 \0 \0 \0 \0 0005540 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 005 \0 \0 \0 \0 0005560 005 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \v \0 \0 0005600 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 0005620 001 \0 \v H R U L E . G E T F N 001 \0 0005640 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0005660 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 0005700 \0 002 \0 004 \0 \0 \0 002 \0 001 \0 \v H R U L 0005720 E . G E T F N 001 \0 024 \0 006 M O D E 0005740 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0005760 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0006000 002 \0 001 \0 \v H R U L E . G E T F N 0006020 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0006040 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0006060 \0 \0 \0 002 \0 003 \0 \0 \0 \v \0 \0 \0 \0 002 \0 0006100 \0 \0 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 \0 \v H 0006120 R U L E . G E T F N 001 \0 024 \0 006 M 0006140 O D E R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 0006160 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 0006200 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0006220 T F N 001 \0 024 \0 006 M O D E R N \0 \f 0006240 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 0006260 002 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 , \0 \0 \0 0006300 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 206 \0 \0 0006320 \0 \0 003 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 001 \0 0006340 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 ; 0006360 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 0006400 331 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 006 \0 \0 0006420 \0 < \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 \0 001 \0 0006440 \0 \0 333 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 0006460 \0 \0 001 G \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 0006500 001 \0 \0 \0 ' \0 \0 \0 \0 001 \0 \0 \0 \0 \0 002 0006520 \0 001 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 \0 \0 0006540 002 \0 001 \0 \0 \0 1 \0 \0 \0 \0 001 \0 \0 \0 \0 0006560 \0 002 \0 001 \0 \0 004 251 \0 - z 272 0006574