$ od -c -N 50000 [Erinyes]<LispManual>VirtualMemory.im!9
0000000 \r \r { B e g i n S u b S e c
0000020 S a v i n g V i r t u a l M
0000040 e m o r y S t a t e } \r { T i
0000060 t l e S a v i n g V i r t u
0000100 a l M e m o r y S t a t e }
0000120 \r { T e x t \r \r { i n d e x *
0000140 P R I M A R Y * V i r t u a l
0000160 m e m o r y } \r { i n d e x
0000200 * P R I M A R Y * V i r t u a
0000220 l m e m o r y f i l e } \r \r
0000240 I n t e r l i s p s t o r a g
0000260 e a l l o c a t i o n o c c
0000300 u r s w i t h i n a v i r
0000320 t u a l m e m o r y s p a c
0000340 e t h a t i s u s u a l l
0000360 y m u c h l a r g e r t h
0000400 a n t h e p h y s i c a l
0000420 m e m o r y o n t h e c o
0000440 m p u t e r . T h e v i r
0000460 t u a l m e m o r y i s s
0000500 t o r e d a s a l a r g e
0000520 f i l e o n t h e c o m
0000540 p u t e r ' s h a r d d i s
0000560 k , c a l l e d t h e v i
0000600 r t u a l m e m o r y f i l
0000620 e . I n t e r l i s p c o
0000640 n t r o l s t h e s w a p p
0000660 i n g o f p a g e s b e t
0000700 w e e n t h i s f i l e a
0000720 n d t h e r e a l m e m o
0000740 r y , s w a p p i n g i n
0000760 v i r t u a l m e m o r y p
0001000 a g e s a s t h e y a r e
0001020 a c c e s s e d , a n d s
0001040 w a p p i n g o u t p a g e
0001060 s t h a t h a v e b e e n
0001100 m o d i f i e d . A t a
0001120 n y m o m e n t , t h e t
0001140 o t a l s t a t e o f t h
0001160 e I n t e r l i s p v i r t
0001200 u a l m e m o r y i s s t
0001220 o r e d p a r t i a l l y i
0001240 n t h e v i r t u a l m e
0001260 m o r y f i l e , a n d p
0001300 a r t i a l l y i n t h e
0001320 r e a l p h y s i c a l m e
0001340 m o r y . \r \r I n t e r l i s p
0001360 p r o v i d e s f a c i l i
0001400 t i e s f o r s a v i n g
0001420 t h e t o t a l s t a t e
0001440 o f t h e v i r t u a l m
0001460 e m o r y , e i t h e r o n
0001500 t h e v i r t u a l m e m
0001520 o r y f i l e , o r i n
0001540 a f i l e o n a n a r b
0001560 i t r a r y f i l e d e v i
0001600 c e . T h e f u n c t i o
0001620 n { f n L O G O U T } i s
0001640 u s e d t o w r i t e a
0001660 l l a l t e r e d ( d i r t
0001700 y ) p a g e s f r o m t h
0001720 e r e a l m e m o r y t o
0001740 t h e v i r t u a l m e m
0001760 o r y f i l e a n d s t o
0002000 p I n t e r l i s p , s o
0002020 t h a t I n t e r l i s p c
0002040 a n b e r e s t a r t e d
0002060 f r o m t h e s t a t e o
0002100 f t h e { f n L O G O U T
0002120 } . { f n S A V E V M }
0002140 u p d a t e s t h e v i r t
0002160 u a l m e m o r y f i l e
0002200 w i t h o u t s t o p p i n g
0002220 I n t e r l i s p , w h i c
0002240 h p u t s t h e v i r t u
0002260 a l m e m o r y f i l e i
0002300 n t o a c o n s i s t a n t
0002320 s t a t e ( t e m p o r a r
0002340 i l y ) , s o i t c o u l
0002360 d b e r e s t a r t e d i
0002400 f t h e s y s t e m c r a
0002420 s h e s . { f n S Y S O U
0002440 T } a n d { f n M A K E S
0002460 Y S } a r e u s e d t o
0002500 s a v e a c o p y o f t
0002520 h e t o t a l v i r t u a l
0002540 m e m o r y s t a t e o n
0002560 a f i l e , w h i c h c
0002600 a n b e l o a d e d i n t
0002620 o a n o t h e r m a c h i n
0002640 e t o r e s t o r e t h e
0002660 I n t e r l i s p s t a t e
0002700 . { f n V M E M . P U R E
0002720 . S T A T E } c a n b e u
0002740 s e d t o " f r e e z e "
0002760 t h e c u r r e n t s t a t
0003000 e o f t h e v i r t u a l
0003020 m e m o r y , s o t h a t
0003040 I n t e r l i s p w i l l
0003060 c o m e u p i n t h a t
0003100 s t a t e i f i t i s r
0003120 e s t a r t e d . \r \r \r \r { F n
0003140 D e f { N a m e L O G O U T
0003160 } { A r g s F A S T } \r { T
0003200 e x t \r S t o p s I n t e r l
0003220 i s p , a n d r e t u r n s
0003240 c o n t r o l t o t h e
0003260 o p e r a t i n g s y s t e m
0003300 . I f I n t e r l i s p
0003320 i s r e s t a r t e d , i t
0003340 s h o u l d c o m e u p
0003360 i n t h e s a m e s t a t
0003400 e a s w h e n t h e { f
0003420 n L O G O U T } w a s c a
0003440 l l e d . { f n L O G O U
0003460 T } w i l l n o t a f f e
0003500 c t t h e s t a t e o f
0003520 o p e n f i l e s . \r \r { f n
0003540 L O G O U T } w r i t e s
0003560 o u t a l l a l t e r e d
0003600 p a g e s f r o m r e a l
0003620 m e m o r y t o t h e v i
0003640 r t u a l m e m o r y f i l
0003660 e . I f { a r g F A S T
0003700 } i s { l i s p T } , I
0003720 n t e r l i s p i s s t o p
0003740 p e d w i t h o u t u p d a
0003760 t i n g t h e v i r t u a l
0004000 m e m o r y f i l e . N
0004020 o t e t h a t a f t e r d
0004040 o i n g { l i s p L O G O U
0004060 T T ) } i t w i l l n o
0004100 t b e p o s s i b l e t o
0004120 r e s t a r t I n t e r l i
0004140 s p f r o m t h e p o i n
0004160 t o f t h e { f n L O G
0004200 O U T } , a n d i t m a y
0004220 n o t b e p o s s i b l e
0004240 t o r e s t a r t i t a
0004260 t a l l . T y p i n g {
0004300 l i s p ( L O G O U T T ) }
0004320 i s p r e f e r a b l e t
0004340 o j u s t b o o t i n g t
0004360 h e m a c h i n e , b e c a
0004400 u s e i t a l s o d o e s
0004420 o t h e r c l e a n u p o
0004440 p e r a t i o n s ( c l o s i
0004460 n g n e t w o r k c o n n e
0004500 c t i o n s , e t c . ) . \r \r
0004520 I f { a r g F A S T } i s
0004540 t h e l i t a t o m { l i
0004560 s p ? } , { f n L O G O U
0004600 T } a c t s l i k e { a r
0004620 g F L G } = { l i s p T }
0004640 i f t h e v i r t u a l m
0004660 e m o r y f i l e i s c o
0004700 n s i s t a n t , o t h e r w
0004720 i s e i t a c t s l i k e
0004740 { a r g F L G } = { l i s p
0004760 N I L } . T h i s i n s
0005000 u r e s t h a t t h e v i
0005020 r t u a l m e m o r y i m a
0005040 g e c a n b e r e s t a r
0005060 t e d a s o f { i t s o
0005100 m e } p r e v i o u s s t a
0005120 t e , n o t n e c e s s a r
0005140 i l y a s o f t h e { f
0005160 n L O G O U T } . \r \r \r { n o
0005200 t e B E F O R E L O G O U T F
0005220 O R M S a n d A F T E R L O
0005240 G O U T F O R M S e v a l u a
0005260 t e d b e f o r e / a f t e r
0005300 l o g o u t i n I n t e r
0005320 l i s p - D o n l y ! f o
0005340 o ! } \r \r { n o t e d o c u m
0005360 e n t h o w l o g o u t w
0005400 a i t s f o r p r o c e s s
0005420 e s w i t h B E F O R E E X
0005440 I T o f D O N ' T } \r } } \r
0005460 \r \r \r { F n D e f { N a m e
0005500 S A V E V M } { A r g s { a
0005520 n o n a r g } } \r { T e x t \r T
0005540 h i s f u n c t i o n i s
0005560 s i m i l a r t o l o g g i
0005600 n g o u t a n d c o n t i
0005620 n u i n g , b u t f a s t e
0005640 r . I t t a k e s a b o
0005660 u t a s l o n g a s a
0005700 l o g o u t , w h i c h c a
0005720 n b e a s b r i e f a s
0005740 1 0 s e c o n d s o r s
0005760 o i f y o u h a v e a l
0006000 r e a d y w r i t t e n o u
0006020 t m o s t o f y o u r d
0006040 i r t y p a g e s b y v i
0006060 r t u e o f b e i n g i d
0006100 l e a w h i l e . A f t
0006120 e r t h e { f n S A V E V
0006140 M } , a n d u n t i l t h
0006160 e p a g e f a u l t h a n d
0006200 l e r i s n e x t f o r c
0006220 e d t o w r i t e o u t
0006240 a d i r t y p a g e , y o
0006260 u r v i r t u a l m e m o r
0006300 y i m a g e w i l l b e
0006320 c o n t i n u a b l e ( a s
0006340 o f t h e { f n S A V E V
0006360 M } ) s h o u l d t h e r e
0006400 b e a s y s t e m c r a
0006420 s h o r o t h e r d i s a
0006440 s t e r . \r \r { n o t e t h e
0006460 a r g R E L E A S E F L G
0006500 i s o n l y o f i n t e r
0006520 e s t t o s y s t e m p e
0006540 o p l e } \r { n o t e R E L E
0006560 A S E F L G a c t u a l l y
0006600 ' f l u s h e s ' p a g e s
0006620 n o t i n u s e , f o r
0006640 d i a g n o s t i c s - - l m
0006660 m } \r } } \r \r \r I f t h e s
0006700 y s t e m h a s b e e n i
0006720 d l e l o n g e n o u g h
0006740 ( n o k e y b o a r d o r
0006760 m o u s e a c t i v i t y ) ,
0007000 t h e r e a r e d i r t y
0007020 p a g e s t o b e w r i
0007040 t t e n , a n d t h e r e
0007060 a r e f e w e n o u g h d
0007100 i r t y p a g e s l e f t
0007120 t o w r i t e t h a t a
0007140 { f n S A V E V M } w o u l
0007160 d b e q u i c k , { f n
0007200 S A V E V M } i s a u t o m
0007220 a t i c a l l y c a l l e d .
0007240 W h e n { f n S A V E V
0007260 M } i s c a l l e d a u t
0007300 o m a t i c a l l y , t h e
0007320 c u r s o r i s c h a n g e
0007340 d t o a s p e c i a l {
0007360 i n d e x S A V / I N G c u
0007400 r s o r } c u r s o r : \0 001 \0
0007420 \0 \0 017 \0 \r \0 001 d 240 212 240 312 240 . 254 252
0007440 @ 312 @ \0 \0 \n N \v R \v P \n 326 \n 322 \n
0007460 \ , s t o r e d i n t h e
0007500 v a r i a b l e { i n d e x
0007520 * P R I M A R Y * S A V I N
0007540 G C U R S O R V a r } { v a r
0007560 S A V I N G C U R S O R } .
0007600 Y o u c a n c o n t r o l
0007620 h o w o f t e n { f n S
0007640 A V E V M } i s a u t o m a
0007660 t i c a l l y c a l l e d b
0007700 y s e t t i n g t h e f o
0007720 l l o w i n g t w o g l o b
0007740 a l v a r i a b l e s : \r \r \r
0007760 { V a r D e f { N a m e S A
0010000 V E V M W A I T } } \r { V a r D
0010020 e f { N a m e S A V E V M M
0010040 A X } \r { T e x t \r T h e s y
0010060 s t e m w i l l c a l l {
0010100 f n S A V E V M } a f t e r
0010120 b e i n g i d l e f o r
0010140 { v a r S A V E V M W A I T }
0010160 s e c o n d s ( i n i t i a
0010200 l l y 3 0 0 ) i f t h e r
0010220 e a r e f e w e r t h a n
0010240 { v a r S A V E V M M A X }
0010260 p a g e s d i r t y ( i n
0010300 i t i a l l y 6 0 0 ) . T
0010320 h e s e v a l u e s a r e
0010340 f a i r l y c o n s e r v a t
0010360 i v e . I f y o u w a n
0010400 t t o b e e x t r e m e l
0010420 y w a r y , y o u c a n
0010440 s e t { v a r S A V E V M W
0010460 A I T } = 0 a n d { v a r
0010500 S A V E V M M A X } = 1 0 0 0 0
0010520 , i n w h i c h c a s e
0010540 { f n S A V E V M } w i l l
0010560 b e c a l l e d t h e f
0010600 i r s t c h a n c e a v a i
0010620 l a b l e a f t e r t h e
0010640 f i r s t d i r t y p a g e
0010660 h a s b e e n w r i t t e
0010700 n . \r } } \r \r \r T h e f u n c
0010720 t i o n { f n S Y S O U T }
0010740 s a v e s t h e c u r r e
0010760 n t s t a t e o f t h e
0011000 I n t e r l i s p v i r t u a
0011020 l m e m o r y o n a f i
0011040 l e , k n o w n a s a "
0011060 s y s o u t f i l e " , { i n
0011100 d e x * P R I M A R Y * S y
0011120 s o u t f i l e s } o r s
0011140 i m p l y a " s y s o u t "
0011160 . T h e f i l e p a c k
0011200 a g e c a n b e u s e d
0011220 t o s a v e p a r t i c u l
0011240 a r f u n c t i o n d e f i
0011260 n i t i o n s a n d o t h e
0011300 r a r b i t r a r y o b j e
0011320 c t s o n f i l e s , b u
0011340 t { f n S Y S O U T } s a
0011360 v e s t h e { i t t o t a
0011400 l } s t a t e o f t h e
0011420 s y s t e m . T h i s c a
0011440 p a b i l i t y c a n b e
0011460 u s e f u l i n m a n y s
0011500 i t u a t i o n s : f o r
0011520 c r e a t i n g c u s t o m i
0011540 z e d s y s t e m s f o r
0011560 o t h e r p e o p l e t o
0011600 u s e , o r t o s a v e
0011620 a p a r t i c u l a r s y s
0011640 t e m s t a t e f o r d e
0011660 b u g g i n g p u r p o s e s
0011700 . N o t e t h a t a s
0011720 y s o u t f i l e c a n b
0011740 e v e r y l a r g e ( t h
0011760 o u s a n d s o f p a g e s
0012000 ) , a n d c a n t a k e
0012020 a l o n g t i m e t o c
0012040 r e a t e , s o i t i s
0012060 n o t t o b e d o n e l
0012100 i g h t l y . T h e f i l
0012120 e p r o d u c e d b y { f
0012140 n S Y S O U T } c a n b e
0012160 l o a d e d i n t o t h e
0012200 I n t e r l i s p v i r t u
0012220 a l m e m o r y a n d r e
0012240 s t a r t e d t o r e s t o
0012260 r e t h e v i r t u a l m
0012300 e m o r y t o t h e e x a
0012320 c t s t a t e t h a t i t
0012340 h a d w h e n t h e s y
0012360 s o u t f i l e w a s m a
0012400 d e . T h e e x a c t m
0012420 e t h o d o f l o a d i n g
0012440 a s y s o u t d e p e n d
0012460 o n t h e i m p l e m e n
0012500 t a t i o n . F o r m o r
0012520 e i n f o r m a t i o n o n
0012540 l o a d i n g s y s o u t
0012560 f i l e s , s e e t h e u
0012600 s e r s g u i d e f o r y
0012620 o u r c o m p u t e r . \r \r \r
0012640 \r { F n D e f { N a m e S Y
0012660 S O U T } { A r g s F I L E
0012700 } \r { T e x t \r S a v e s t h
0012720 e c u r r e n t s t a t e
0012740 o f t h e I n t e r l i s p
0012760 v i r t u a l m e m o r y
0013000 o n t h e f i l e { a r g
0013020 F I L E } , i n a f o r
0013040 m t h a t c a n b e s u
0013060 b s e q u e n t l y r e s t a
0013100 r t e d . T h e c u r r e
0013120 n t s t a t e o f p r o g
0013140 r a m e x e c u t i o n i s
0013160 s a v e d i n t h e s y
0013200 s o u t f i l e , s o { l
0013220 i s p ( P R O G N ( S Y S O
0013240 U T ' F O O ) ( P R I N T
0013260 ' H E L L O ) ) } w i l l c
0013300 a u s e { l i s p H E L L O
0013320 } t o b e p r i n t e d
0013340 a f t e r t h e s y s o u t
0013360 f i l e i s r e s t a r t
0013400 e d . \r \r { f n S Y S O U T }
0013420 c a n t a k e a v e r y
0013440 l o n g t i m e ( t e n
0013460 o r f i f t e e n m i n u t
0013500 e s ) , p a r t i c u l a r l
0013520 y w h e n s t o r i n g a
0013540 f i l e o n a r e m o t
0013560 e f i l e s e r v e r .
0013600 T o d i s p l a y s o m e
0013620 i n d i c a t i o n t h a t
0013640 s o m e t h i n g i s h a p
0013660 p e n i n g , t h e c u r s
0013700 o r i s c h a n g e d t o
0013720 : { i n d e x S Y S / O U T
0013740 c u r s o r } \0 001 \0 \0 \0 016 \0 016
0013760 \0 001 t 234 202 240 a 030 021 004 222 $ b 030 \0 \0
0014000 \0 \0 2 \ J H J H J H J H 1 210 .
0014020 A l s o , a s t h e s y
0014040 s o u t f i l e i s b e i
0014060 n g w r i t t e n , t h e
0014100 c u r s o r i s i n v e r t
0014120 e d l i n e b y l i n e ,
0014140 t o s h o w t h a t a c
0014160 t i v i t y i s t a k i n g
0014200 p l a c e , a n d h o w
0014220 m u c h o f t h e s y s o
0014240 u t h a s c o m p l e t e d
0014260 . F o r e x a m p l e ,
0014300 a f t e r t h e { f n S Y
0014320 S O U T } i s a b o u t t
0014340 w o - t h i r d s d o n e ,
0014360 t h e c u r s o r w o u l d
0014400 l o o k l i k e : \0 001 \0 \0
0014420 \0 016 \0 016 \0 001 213 ` } \ 236 344 356 370 m 330
0014440 235 344 377 374 377 374 315 240 262 H J H J H J H
0014460 1 210 . T h e { f n S Y S
0014500 O U T } c u r s o r i s s
0014520 t o r e d i n t h e v a r
0014540 i a b l e { i n d e x * P R
0014560 I M A R Y * S Y S O U T C U R
0014600 S O R V a r } { v a r S Y S
0014620 O U T C U R S O R } . \r \r I f
0014640 { a r g F I L E } i s n o
0014660 n - { l i s p N I L } , t h
0014700 e v a r i a b l e { v a r
0014720 S Y S O U T F I L E } { i n d e
0014740 x S Y S O U T F I L E V a r
0014760 } i s s e t t o t h e
0015000 b o d y o f { a r g F I L
0015020 E } . I f { a r g F I L
0015040 E } i s { l i s p N I L }
0015060 , t h e n t h e v a l u e
0015100 o f { v a r S Y S O U T F
0015120 I L E } i n s t e a d . T
0015140 h e r e f o r e , { l i s p
0015160 ( S Y S O U T ) } w i l l s
0015200 a v e t h e c u r r e n t
0015220 s t a t e o n t h e n e x
0015240 t h i g h e r v e r s i o n
0015260 o f a f i l e w i t h
0015300 t h e s a m e n a m e a s
0015320 t h e p r e v i o u s { f
0015340 n S Y S O U T } . A l s o
0015360 , i f t h e e x t e n s i
0015400 o n f o r { a r g F I L E
0015420 } i s n o t s p e c i f i
0015440 e d , t h e v a l u e o f
0015460 { v a r S Y S O U T . E X T
0015500 } { i n d e x S Y S O U T . E
0015520 X T V a r } i s u s e d .
0015540 { f n S Y S O U T } s e
0015560 t s { v a r S Y S O U T D A
0015600 T E } { i n d e x S Y S O U T
0015620 D A T E V a r } ( { P a g e
0015640 R e f V a r S Y S O U T D A
0015660 T E } ) t o { l i s p ( D
0015700 A T E ) } , t h e t i m e
0015720 a n d d a t e t h a t t h
0015740 e { f n S Y S O U T } w a
0015760 s p e r f o r m e d . \r \r I f
0016000 { f n S Y S O U T } w a s
0016020 n o t a b l e t o c r e
0016040 a t e t h e s y s o u t f
0016060 i l e , b e c a u s e o f
0016100 d i s k o r c o m p u t e r
0016120 e r r o r , o r b e c a u
0016140 s e t h e r e w a s n o t
0016160 e n o u g h s p a c e o n
0016200 t h e d i r e c t o r y ,
0016220 { f n S Y S O U T } r e t u
0016240 r n s { l i s p N I L } .
0016260 O t h e r w i s e i t r e
0016300 t u r n s t h e f u l l f
0016320 i l e n a m e o f { a r g
0016340 F I L E } . \r \r A c t u a l l
0016360 y , { f n S Y S O U T } "
0016400 r e t u r n s " t w i c e ;
0016420 w h e n t h e s y s o u t
0016440 f i l e i s f i r s t c r
0016460 e a t e d , a n d w h e n
0016500 i t i s s u b s e q u e n t
0016520 l y r e s t a r t e d . I
0016540 n t h e l a t t e r c a s
0016560 e , { f n S Y S O U T } r
0016600 e t u r n s a l i s t w h
0016620 o s e { f n C A R } i s
0016640 t h e f u l l f i l e n a
0016660 m e o f { a r g F I L E }
0016700 . F o r e x a m p l e ,
0016720 { l i s p ( i f ( L I S T P
0016740 ( S Y S O U T ' F O O ) )
0016760 t h e n ( P R I N T ' H E L
0017000 L O ) ) } w i l l c a u s e
0017020 { l i s p H E L L O } t o
0017040 b e p r i n t e d w h e n
0017060 t h e s y s o u t f i l e
0017100 i s r e s t a r t e d , b
0017120 u t n o t w h e n { f n
0017140 S Y S O U T } i s i n i t i
0017160 a l l y p e r f o r m e d . \r
0017200 \r N o t e : { f n S Y S O
0017220 U T } d o e s n o t s a v
0017240 e t h e s t a t e o f a
0017260 n y o p e n f i l e s .
0017300 { f n W H E N C L O S E } (
0017320 { P a g e R e f F n W H E N
0017340 C L O S E } ) c a n b e u
0017360 s e d t o a s s o c i a t e
0017400 c e r t a i n o p e r a t i
0017420 o n s w i t h o p e n f i
0017440 l e s s o t h a t w h e n
0017460 a { l i s p S Y S O U T }
0017500 i s s t a r t e d u p ,
0017520 t h e s e f i l e s w i l l
0017540 b e r e o p e n e d , a n
0017560 d f i l e p o i n t e r s
0017600 r e p o s i t i o n e d . \r } }
0017620 \r \r \r \r { f n S Y S O U T }
0017640 e v a l u a t e s t h e e x
0017660 p r e s s i o n s o n { v a
0017700 r B E F O R E S Y S O U T F O
0017720 R M S } { i n d e x B E F O R
0017740 E S Y S O U T F O R M S V a r
0017760 } b e f o r e c r e a t i n
0020000 g t h e s y s o u t f i l
0020020 e . T h i s v a r i a b l
0020040 e i n i t i a l l y i n c l
0020060 u d e s e x p r e s s i o n s
0020100 t o : ( 1 ) S e t t
0020120 h e v a r i a b l e s { v a
0020140 r S Y S O U T D A T E } a n
0020160 d { v a r S Y S O U T F I L
0020200 E } a s d e s c r i b e d
0020220 a b o v e ; ( 2 ) D e f
0020240 a u l t t h e s y s o u t
0020260 f i l e n a m e { a r g F
0020300 I L E } a c c o r d i n g t
0020320 o t h e v a l u e s o f
0020340 t h e v a r i a b l e s { v
0020360 a r S Y S O U T F I L E } a
0020400 n d { v a r S Y S O U T . E
0020420 X T } , a s d e s c r i b e
0020440 d a b o v e ; a n d ( 3
0020460 ) P e r f o r m a n y n
0020500 e c e s s a r y o p e r a t i
0020520 o n s o n o p e n f i l e
0020540 s a s s p e c i f i e d b
0020560 y c a l l s t o { f n W
0020600 H E N C L O S E } ( { P a g e
0020620 R e f F n W H E N C L O S E
0020640 } ) . \r \r \r \r A f t e r a s
0020660 y s o u t f i l e i s r e
0020700 s t a r t e d ( b u t { i t
0020720 n o t } w h e n i t i s
0020740 i n i t i a l l y c r e a t
0020760 e d ) , { f n S Y S O U T }
0021000 e v a l u a t e s t h e e
0021020 x p r e s s i o n s o n { i
0021040 n d e x A F T E R S Y S O U T
0021060 F O R M S V a r } { v a r A
0021100 F T E R S Y S O U T F O R M S }
0021120 . T h i s i n i t i a l l
0021140 y i n c l u d e s e x p r e
0021160 s s i o n s t o : ( 1 )
0021200 P e r f o r m a n y n e c
0021220 e s s a r y o p e r a t i o n
0021240 s o n p r e v i o u s l y -
0021260 o p e n e d f i l e s a s
0021300 s p e c i f i e d b y c a l
0021320 l s t o { f n W H E N C L
0021340 O S E } ( { P a g e R e f F
0021360 n W H E N C L O S E } ) ;
0021400 ( 2 ) P o s s i b l y p r
0021420 i n t a m e s s a g e , a
0021440 s d e t e r m i n e d b y
0021460 t h e v a l u e o f { v a
0021500 r S Y S O U T G A G } ( s e
0021520 e b e l o w ) ; a n d ( 3
0021540 ) C a l l { f n S E T I
0021560 N I T I A L S } t o r e s e
0021600 t t h e i n i t i a l s u
0021620 s e d f o r t i m e - s t a
0021640 m p i n g ( { P a g e R e f
0021660 T a g T i m e S t a m p s } )
0021700 . \r \r \r \r \r { V a r D e f { N
0021720 a m e S Y S O U T G A G } \r {
0021740 T e x t \r T h e v a l u e o
0021760 f { v a r S Y S O U T G A G
0022000 } d e t e r m i n e s w h a
0022020 t i s p r i n t e d w h e
0022040 n a s y s o u t f i l e
0022060 i s r e s t a r t e d . I
0022100 f t h e v a l u e o f {
0022120 v a r S Y S O U T G A G } i
0022140 s a l i s t , t h e l i
0022160 s t i s e v a l u a t e d ,
0022200 a n d n o a d d i t i o n
0022220 a l m e s s a g e i s p r
0022240 i n t e d . T h i s a l l
0022260 o w s t h e u s e r t o
0022300 p r i n t a m e s s a g e .
0022320 I f { v a r S Y S O U T
0022340 G A G } i s n o n - { l i s
0022360 p N I L } a n d n o t a
0022400 l i s t , n o m e s s a g
0022420 e i s p r i n t e d . F
0022440 i n a l l y , i f { v a r
0022460 S Y S O U T G A G } i s { l
0022500 i s p N I L } ( i t s i n
0022520 i t i a l v a l u e ) , a n
0022540 d t h e s y s o u t f i l
0022560 e i s b e i n g r e s t a
0022600 r t e d b y t h e s a m e
0022620 u s e r t h a t m a d e
0022640 t h e s y s o u t o r i g i
0022660 n a l l y , t h e u s e r
0022700 i s g r e e t e d b y p r
0022720 i n t i n g t h e v a l u e
0022740 o f { v a r H E R A L D S
0022760 T R I N G } ( s e e b e l o
0023000 w ) f o l l o w e d b y a
0023020 g r e e t i n g m e s s a g
0023040 e . I f t h e s y s o u
0023060 t f i l e w a s m a d e
0023100 b y a d i f f e r e n t u
0023120 s e r , a m e s s a g e i
0023140 s p r i n t e d , w a r n i
0023160 n g t h a t t h e c u r r
0023200 e n t l y - l o a d e d u s e
0023220 r i n i t f i l e m a y
0023240 b e i n c o r r e c t f o r
0023260 t h e c u r r e n t u s e
0023300 r ( s e e { P a g e R e f
0023320 T a g G r e e t i n g } ) ;
0023340 \r } } \r \r \r \r { F n D e f {
0023360 F n N a m e M A K E S Y S }
0023400 { F n A r g s F I L E N A M
0023420 E } \r { T e x t \r U s e d t o
0023440 s t o r e a n e w I n t
0023460 e r l i s p s y s t e m o n
0023500 t h e " m a k e s y s f i
0023520 l e " { a r g F I L E } .
0023540 S i m i l a r t o { f n
0023560 S Y S O U T } , e x c e p t
0023600 t h a t b e f o r e t h e
0023620 f i l e i s m a d e , t h
0023640 e s y s t e m i s " i n i
0023660 t i a l i z e d " b y u n d
0023700 o i n g t h e g r e e t h
0023720 i s t o r y , a n d c l e a
0023740 r i n g t h e d i s p l a y
0023760 . \r \r W h e n t h e s y s t
0024000 e m i s f i r s t s t a r
0024020 t e d u p , a " h e r a l
0024040 d " i s p r i n t e d i d
0024060 e n t i f y i n g t h e s y
0024100 s t e m , t y p i c a l l y
0024120 " { l i s p I n t e r l i s p
0024140 - { a r g X X } { a r g D
0024160 A T E } . . . } " . I f
0024200 { a r g N A M E } i s n o
0024220 n - { l i s p N I L } , { f
0024240 n M A K E S Y S } w i l l
0024260 u s e i t i n s t e a d o
0024300 f { l i s p I n t e r l i s
0024320 p - { a r g X X } } i n t
0024340 h e h e r a l d . { f n
0024360 M A K E S Y S } s e t s { v
0024400 a r H E R A L D S T R I N G }
0024420 { i n d e x H E R A L D S T R
0024440 I N G V a r } t o t h e
0024460 h e r a l d s t r i n g p r
0024500 i n t e d o u t . \r \r { f n
0024520 M A K E S Y S } a l s o s e
0024540 t s t h e v a r i a b l e
0024560 { i n d e x M A K E S Y S D A
0024600 T E V a r } { v a r M A K E
0024620 S Y S D A T E } ( { P a g e R
0024640 e f V a r M A K E S Y S D A
0024660 T E } ) t o { l i s p ( D
0024700 A T E ) } , i . e . t h e
0024720 t i m e a n d d a t e t h
0024740 e s y s t e m w a s m a d
0024760 e . \r } } \r \r \r { n o t e M A
0025000 K E S Y S e v a l s f o r m
0025020 s o n B E F O R E M A K E S
0025040 Y S F O R M S , w h i c h u
0025060 n d o g r e e t h i s t o r
0025100 y , s e t M A K E S Y S D A
0025120 T E , a n d c a l l H A R
0025140 O L D } \r \r \r I n t e r l i s p
0025160 - D c o n t a i n s a r o
0025200 u t i n e t h a t w r i t e
0025220 s o u t d i r t y p a g e
0025240 s o f t h e v i r t u a l
0025260 m e m o r y d u r i n g I
0025300 / O w a i t , a s s u m i n
0025320 g t h a t s w a p p i n g
0025340 h a s c a u s e d a t l e
0025360 a s t o n e d i r t y p a
0025400 g e t o b e w r i t t e n
0025420 b a c k i n t o t h e v
0025440 i r t u a l m e m o r y f i
0025460 l e ( m a k i n g i t n o
0025500 n - c o n t i n u a b l e ) .
0025520 T h e f r e q u e n c y w
0025540 i t h w h i c h t h i s r
0025560 o u t i n e r u n s i s d
0025600 e t e r m i n e d b y : \r \r \r
0025620 { V a r D e f { N a m e B A
0025640 C K G R O U N D P A G E F R E Q
0025660 } \r { T e x t \r T h i s v a r
0025700 i a b l e d e t e r m i n e s
0025720 h o w o f t e n t h e r
0025740 o u t i n e t h a t w r i t
0025760 e s o u t d i r t y p a g
0026000 e s i s r u n . T h e
0026020 { i t h i g h e r } { l i s
0026040 p B A C K G R O U N D P A G E
0026060 F R E Q } i s s e t , t h
0026100 e { i t g r e a t e r } t
0026120 h e t i m e b e t w e e n
0026140 r u n n i n g t h e d i r t
0026160 y p a g e w r i t i n g r
0026200 o u t i n e . I n i t i a l
0026220 l y i t i s s e t t o
0026240 4 . T h e l o w e r { l
0026260 i s p B A C K G R O U N D P A
0026300 G E F R E Q } i s s e t ,
0026320 t h e l e s s r e s p o n s
0026340 i v e n e s s y o u g e t
0026360 a t t y p e i n , s o i t
0026400 m a y n o t b e d e s i
0026420 r a b l e t o s e t i t
0026440 a l l t h e w a y d o w n
0026460 t o 1 . \r } } \r \r \r { F n D
0026500 e f { N a m e V M E M . P U
0026520 R E . S T A T E } { A r g s
0026540 X } \r { T y p e N o s p r e a
0026560 d } \r { T e x t \r { f n V M E
0026600 M . P U R E . S T A T E } m o
0026620 d i f i e s t h e s w a p p
0026640 e r ' s p a g e r e p l a c
0026660 e m e n t a l g o r i t h m
0026700 s o t h a t d i r t y p a
0026720 g e s a r e o n l y w r i
0026740 t t e n a t t h e e n d
0026760 o f t h e v i r t u a l m
0027000 e m o r y b a c k i n g f i
0027020 l e . T h i s " f r e e z
0027040 e s " a g i v e n v i r t
0027060 u a l m e m o r y s t a t e
0027100 , s o t h a t I n t e r l
0027120 i s p w i l l c o m e u p
0027140 i n t h a t s t a t e w
0027160 h e n e v e r i t i s r e
0027200 s t a r t e d . T h i s c
0027220 a n b e u s e d t o s e
0027240 t u p a " c l e a n " e
0027260 n v i r o n m e n t o n a
0027300 p o o l m a c h i n e , a l
0027320 l o w i n g e a c h u s e r
0027340 t o i n i t i a l i z e t
0027360 h e s y s t e m s i m p l y
0027400 b y r e b o o t i n g t h
0027420 e c o m p u t e r . \r \r T h e
0027440 w a y t o u s e { f n
0027460 V M E M . P U R E . S T A T E }
0027500 i s t o s e t u p t h
0027520 e e n v i r o n m e n t a s
0027540 y o u w i s h i t t o
0027560 b e " f r o z e n , " e v a
0027600 l u a t e { l i s p ( V M E
0027620 M . P U R E . S T A T E T ) }
0027640 , a n d t h e n c a l l
0027660 a n y f u n c t i o n t h a
0027700 t s a v e s t h e v i r t
0027720 u a l m e m o r y s t a t e
0027740 ( { f n L O G O U T } , {
0027760 f n S A V E V M } , { f n
0030000 S Y S O U T } , o r { f n
0030020 M A K E S Y S } ) . F r o m
0030040 t h a t p o i n t o n ,
0030060 w h e n e v e r t h e s y s
0030100 t e m i s r e s t a r t e d
0030120 , i t w i l l r e t u r n
0030140 t o t h e s t a t e a s
0030160 o f t h e s a v i n g o
0030200 p e r a t i o n . F u t u r
0030220 e { f n L O G O U T } , {
0030240 f n S A V E V M } , e t c .
0030260 o p e r a t i o n s w i l l
0030300 n o t r e s e t t h i s
0030320 s t a t e . \r \r N o t e : W
0030340 h e n t h e s y s t e m i
0030360 s r u n n i n g i n " p u
0030400 r e s t a t e " m o d e ,
0030420 i t u s e s a s i g n i f
0030440 i c a n t a m o u n t o f
0030460 t h e v i r t u a l m e m o
0030500 r y b a c k i n g f i l e
0030520 t o s a v e t h e " f r o
0030540 z e n " m e m o r y i m a g
0030560 e , s o t h i s w i l l
0030600 r e d u c e t h e a m o u n
0030620 t o f v i r t u a l m e m
0030640 o r y s p a c e a v a i l a
0030660 b l e f o r u s e . \r \r { l
0030700 i s p ( V M E M . P U R E . S
0030720 T A T E ) } r e t u r n s {
0030740 l i s p T } i f t h e s
0030760 y s t e m i s r u n n i n g
0031000 i n " p u r e s t a t e "
0031020 m o d e , { l i s p N I L
0031040 } o t h e r w i s e . \r } } \r
0031060 \r \r { F n D e f { N a m e R
0031100 E A L M E M O R Y S I Z E } {
0031120 A r g s } \r { T e x t \r R e t u
0031140 r n s t h e n u m b e r o
0031160 f r e a l m e m o r y p a
0031200 g e s i n t h e c o m p u
0031220 t e r . \r } } \r \r \r \r { F n D e
0031240 f { N a m e V M E M S I Z E
0031260 } { A r g s } \r { T e x t \r R
0031300 e t u r n s t h e n u m b e
0031320 r o f p a g e s i n u s
0031340 e i n t h e v i r t u a l
0031360 m e m o r y . T h i s i
0031400 s t h e r o u g h l y t h
0031420 e s a m e a s t h e n u
0031440 m b e r o f p a g e s r e
0031460 q u i r e d t o m a k e a
0031500 s y s o u t f i l e o n
0031520 t h e l o c a l d i s k (
0031540 s e e { f n S Y S O U T } ,
0031560 { P a g e R e f F n S Y S
0031600 O U T } ) . \r } } \r \r { i n d e
0031620 x X { N a m e L A S T V M E
0031640 M F I L E P A G E } { T y p e
0031660 V a r i a b l e } \r { T e x t
0031700 { l i s p \ L A S T V M E M
0031720 F I L E P A G E } } } \r \r { V
0031740 a r D e f { N a m e \ L A S
0031760 T V M E M F I L E P A G E } \r {
0032000 T e x t \r V a l u e i s t h
0032020 e t o t a l s i z e o f
0032040 t h e v i r t u a l m e m o
0032060 r y b a c k i n g f i l e .
0032100 T h i s v a r i a b l e
0032120 i s s e t w h e n t h e
0032140 s y s t e m i s s t a r t e
0032160 d . I t s h o u l d n o
0032200 t b e s e t b y t h e
0032220 u s e r . \r } } \r \r N o t e :
0032240 W h e n t h e v i r t u a
0032260 l m e m o r y e x p a n d s
0032300 t o t h e p o i n t w h
0032320 e r e t h e v i r t u a l
0032340 m e m o r y b a c k i n g f
0032360 i l e i s a l m o s t f u
0032400 l l , a b r e a k w i l l
0032420 o c c u r w i t h t h e
0032440 w a r n i n g m e s s a g e
0032460 { i n d e x Y o u r v i r t
0032500 u a l m e m o r y b a c k i
0032520 n g f i l e i s a l m o s
0032540 t f u l l . . . E r r o r }
0032560 " Y o u r v i r t u a l m e
0032600 m o r y b a c k i n g f i l
0032620 e i s a l m o s t f u l l
0032640 . S a v e y o u r w o r
0032660 k & r e l o a d a s a p .
0032700 " W h e n t h i s h a p
0032720 p e n s , i t i s s t r o
0032740 n g l y s u g g e s t e d t
0032760 h a t y o u s a v e a n y
0033000 i m p o r t a n t w o r k
0033020 a n d r e l o a d t h e s
0033040 y s t e m . I f y o u c
0033060 o n t i n u e w o r k i n g
0033100 p a s t t h i s p o i n t ,
0033120 t h e s y s t e m w i l l
0033140 s t a r t s l o w i n g d
0033160 o w n c o n s i d e r a b l y
0033200 , a n d i t w i l l e v
0033220 e n t u a l l y s t o p w o
0033240 r k i n g . \r \r \r } { E n d S
0033260 u b S e c S a v i n g V i r
0033300 t u a l M e m o r y S t a t
0033320 e } \r \r \r \r \r \r \0 \0 \0 \0 \0 004 \0 003
0033340 \0 ? \0 1 ( D E F A U L T F O N T
0033360 1 ( G A C H A 1 0 ) ( G
0033400 A C H A 8 ) ( T E R M I N A
0033420 L 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0
0033440 ? \0 1 ( D E F A U L T F O N T
0033460 1 ( G A C H A 1 0 ) ( G A
0033500 C H A 8 ) ( T E R M I N A L
0033520 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ?
0033540 \0 1 ( D E F A U L T F O N T 1
0033560 ( G A C H A 1 0 ) ( G A C
0033600 H A 8 ) ( T E R M I N A L
0033620 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 017
0033640 \r \0 \0 \0 \0 003 \0 \0 \0 $ \0 001 \0 \f B M
0033660 O B J . G E T F N 2 \0 \0 \0 \b 267 \0
0033700 \0 \0 \0 003 \0 \0 \0 & \0 001 \0 \f B M O B
0033720 J . G E T F N 2 \0 \0 \0 \0 376 \0 \0 \0
0033740 \0 003 \0 \0 \0 & \0 001 \0 \f B M O B J .
0033760 G E T F N 2 \0 \0 \0 035 246 \0 \0 \0 \0 003
0034000 \0 \0 6 330 \0 \a z 272
0034010