ebook15-10

Size: px
Start display at page:

Download "ebook15-10"

Transcription

1

2 U N I X V B S D S V R 3 P O S I X % 10.2 S I G S I G A B RT a b o r t S I G A L R M a l a r m V S V R B S D 31 < s i g n a l. h > k i l l 0 P O S I X. 1 D E L E T E S I G I N T 11 0 S I G S E G V k i l l ( 2 ) k i l l ( 1 ) k i l l 0 S I G U R G ( ) S I G P I P E ( ) S I G A L R M ) ( e r r n o )

3 (1) S I G K I L L S I G S TO P 0 (2) S I G C H L D w a i t p i d I D S I G T E R M k i l l (3) P O S I X. 1 j o b 10-1 UNIX ANSI C P O S I X. 1 S V R B S D S I G A B R T S I G A L R M ( a b o r t ) w / c o r e ( a l a r m ) S I G B U S w / c o r e S I G C H L D S I G C O N T S I G E M T w / c o r e S I G F P E w / c o r e S I G H U P S I G I L L w / c o r e S I G I N F O S I G I N T S I G I O I / O / S I G I O T w / c o r e S I G K I L L S I G P I P E S I G P O L L S I G P R O F S I G P W R ( p o l l ) ( s e t i t i m e r ) / S I G Q U I T w / c o r e S I G S E G V w / c o r e S I G S T O P

4 2 0 0 U N I X ANSI C P O S I X. 1 S V R B S D S I G S Y S w / c o r e S I G T E R M S I G T R A P w / c o r e S I G T S T P S I G T T I N S I G T T O U t t y t t y S I G U R G S I G U S R 1 S I G U S R 2 S I G V T A L R M ( s e t i t i m e r ) S I G W I N C H S I G X C P U S I G X F S Z C P U ( s e t r l i m i t ) w / c o r e ( s e t r l i m i t ) w / c o r e w / c o r e c o r c o r e U N I X U N I X c o r e c o r ( a ) - - I D ( b ) - - I ( c ) ( d ) ( R L I M I T _ C O R E ) c o r e ( ) c o r e P O S I X. 1 U N I X U N I X 6 ( a ) ( b ) - - I D B S D c o r e.p ro g p ro g 16 c o r e U N I X P D P - 11 SIGABRT a b o r t SIGALRM a l a r m s e t i t i m e r ( 2 ) SIGBUS SIGCHLD S I G C H L D w a i t I D

5 V S I G C L D ( H ) S V R 2 S I G C H L D SIGCONT v i SIGEMT E M T P D P - 11 emulator trap SIGFPE 0 SIGHUP 9-11 s e s s i o n s _ l e a d e r C L O C A L C L O C A L ( ) 13 S I G H U P SIGILL 4. 3 B S D a b o r t S I G A B RT SIGINFO B S D C t r l - T 9-8 SIGINT D E L E T E C t r l - C ( 9-8 ) SIGIO I / O S I G I O S V R 4 S I G I O S I G P O L L B S D ( 4. 2 B S D ) SIGIOT I O T P D P - 11 TRAP(input/output TRAP) V a b o r t S I G A B RT SIGKILL

6 2 0 2 U N I X SIGPIPE SIGPOLL S V R p o l l B S D S I G I O S I G U R G SIGPROF s e t i t i m e r ( 2 ) SIGPWR S V R 4 ( U P S ) U P S S I G P W R S I G P W R i n i t i n i t V i n i t i n i t t a b p o w e r f a i l p o w e r w a i t U P S R S SIGQUIT C t r l -\ 9-8 S I G I N T c o r e SIGSEGV S E G V segmentation violation SIGSTOP ( S I G T S T P ) S I G S TO P SIGSYS SIGTERM k i l l ( 1 ) SIGTRAP SIGTSTP P D P - 11 T R A P C t r l - Z SIGTTIN 9. 8 e r r n o E I O ( a ) ( b ) SIGTTOU 9. 8 S I G T T I N 11 S I G T T I N ( a ) ( s t o p ) C t r l - S C t r l - Q

7 ( b ) e r r n o E I O t c s e t a t t r, tcsendbreak, tcdrain, tcflush, tcflow t c s e t p g r p 11 SIGURG SIGUSR1 SIGUSR2 SIGVTALRM s e t i t i m e r ( 2 ) SIGWINCH SVR B S D i o c t l ( ) i o c t l - S I G W I N C H SIGXCPU SVR B S D C P U SIGXFSZ S V R B S D 10.3 signal U N I X s i g n a l #include <signal.h> void (*signal (int s i g n o, void (*f u n c)(int))) (int); S I G _ E R R s i g n a l ANSI C ANSI C I / O U N I X ANSI C 2 P O S I X S V R 4 s i g n a l S V R B S D s i g n a l s i g a c t i o n s i g a c t i o n B S D s i g a c t i o n s i g n a l s i g n a l s i g n o 10-1 f u n c ( a ) S I G _ I G N ( b ) S I G _ D F L ( c ) S I G _ I G N S I G K I L L S I G S TO P S I G _ D F L 10-1 signal handler signal-catching function

8 2 0 4 U N I X s i g n a l ( v o i d ) s i g n o s i g n a l ( ) s i g n a l S V R B S D s i g n a l t y p e d e f Plauger 1992 typedef void Sigfunc(int); s i g n a l Sigfunc *signal(int, Sigfunc *); t y p e d e f o u r h d r. h B <signal.h>, #define SIG_ERR (void (*)())-1 #define SIG_DFL (void (*)())0 #define SIG_IGN (void (*)())1 s i g n a l U N I X p a u s e 10-1 S I G U S R 1 S I G U S R 2

9 k i l l ( 1 ) U N I X ( k i l l ) k i l l ( 1 ) k i l l ( 2 ) $ a.out & [1] 4720 s h e l l I D $ kill -USR S I G U S R 1 received SIGUSR1 $ kill -USR S I G U S R 2 received SIGUSR2 $ kill 4720 S I G T E R M [1] + Terminated a.out & S I G T E R M e x e c e x e s h e l l s h e l l cc main.c & s h e l l int sig_int(), sig_quit(); if (signal(sigint, SIG_IGN)!= SIG_IGN) signal(sigint, sig_int); if (signal(sigquit, SIG_IGN)!= SIG_IGN) signal(sigquit, sig_quit); S I G I N T S I G Q U I T s i g n a l s i g a c t i o n

10 2 0 6 U N I X f o r k 10.4 U N I X V B S D S V R 3 V P O S I X. 1 B S D ( 10-1 C ANSI C v o i d i n t s i g n a l

11 p a u s e s i g _ i n t _ f l a g 0 0 s i g _ i n t _ f l a g p a u s t 10.5 U N I X e r r n o E I N T R pause( ) w a i t i o c t l 14 I / O I / O (

12 2 0 8 U N I X ) a g a i n : if ( (n = read(fd, buff, BUFFSIZE)) < 0) { if (errno == EINTR) goto again; /* just an interrupted system call */ /* handle other errors */ } 4. 2 B S D i o c t l r e a d r e a d v w r i t e w r i t e v w a i t w a i t p i d w a i t w a i t p i d 4. 3 B S D P O S I X. 1 V S V R 4 s i g a c t i o n S A _ R E S TA RT B S D 4. 3 B S D s i g v e c P O S I X. 1 s i g a c t i o n S V R 4 s i g a c t i o n S A _ R E S TA RT 4. 2 B S D s i g n a l, V7, SVR2, SVR3, SVR4 s i g s e t, s i g h o l d, s i g r e l s e s i g i g n o r e, s i g p a u s e SVR3, SVR4 s i g n a l, s i g v e c, s i g b l o c k 4. 2 B S D s i g s e t m a s k, s i g p a u s e 4.3BSD, 4.3+BSD s i g a c t i o n, s i g p r o c m a s k s i g p e n d i n g, s i g s u s p e n d P O S I X. 1 S V R B S D

13 U N I X 10-2 SunOS s i g a c t i o n S V R B S D s i g n a l S I G A L R M s i g n a l _ i n t r ( ) s e l e c t p o l l 10.6 e x i t l o n g j m p m a l l o c m a l l o c? g e t p w n a m 6. 2? m a l l o c m a l l o c g e t p w n a m P O S I X * P O S I X. 1 SVR4 SVID AT&T _ e x i t f o r k p i p e s t a t a b o r t * f s t a t r e a d s y s c o n f a c c e s s g e t e g i d r e n a m e t c d r a i n a l a r m g e t e u i d r m d i r t c f l o w c f g e t i s p e e d g e t g i d s e t g i d t c f l u s h c f g e t o s p e e d g e t g r o u p s s e t p g i d t c g e t a t t r c f s e t i s p e e d g e t p g r p s e t s i d t c g e t p g r p c f s e t o s p e e d g e t p i d s e t u i d t c s e n d b r e a k c h d i r g e t p p i d s i g a c t i o n t c s e t a t t r c h m o d g e t u i d s i g a d d s e t t c s e t p g r p c h o w n k i l l s i g d e l s e t t i m e c l o s e l i n k sigemptyset t i m e s c r e a t l o n g j m p * s i g f i l l s e t u m a s k d u p l s e e k s i g i s m e m b e r u n a m e d u p 2 m k d i r s i g n a l * u n l i n k e x e c l e m k f i f o s i g p e n d i n g u t i m e e x e c v e o p e n s i g p r o c m a s k w a i t e x i t * p a t h c o n f sigsuspend w a i t p i d f c n t l p a u s e s l e e p w r i t e

14 2 1 0 U N I X 10-3 ( a ) ( b ) m a l l o c f r e e ( c ) I / O I / O 10-3 e r r n o m a i n e r r n o r e a d e r r n o m a i n 10-3 e r r n o ( S I G C H L D w a i t w a i t e r r n o ) P O S I X l o n g j m p s i g l o n g j m p s i g l o n g j m p s i g l o n g j m p s i g s e t j m p 10-2 m y _ a l a r m getpwnam, m y _ a l a r m a l a r m 10-2 S I G A L R M S I G S E G V c o r e m a i n g e t p w n a m S I G S E G V m a i n g e t p w n a m E B A D F 10-2

15 SIGCLD S I G C L D S I G C H L D S I G C L V S I G C H L D B S D P O S I X. 1 B S D S I G C H L D B S D S I G C H L D w a i t V S I G C L D s i g n a l s i g s e t S RV 3 S V R 4 S I G C L D (1) S I G _ I G N S I G _ D F L 10-1 w a i t w a i t 1 e r r n o E C H I L D ( S I G _ I G N ) P O S I X. 1 S I G C H L D B S D S I G C H L D S V R 4 s i g n a l s i g s e t S I G C H L D S V R 4 s i g a c t i o n S A _ N O C L D WA I T ( 10-5 ) (2) S I G C L D S I G C L D ( 2 ) s i g n a l 10-3 S V R 2 SIGCLD received s i g n a l ( 2 ) S I G C L D

16 2 1 2 U N I X s i g n a l w a i t s i g n a l S I G C H L D? POSIX.1 P O S I X. 1 P O S I X. 1 s i g a c t i o n S I G C H L D S I G C H L D #define SIGCHLD S I G C L D 10-3 V S I G C L D

17 k i l l g e n e r a t i o n d e l i v e r y p e n d i n g ( a ) ( b ) s i g p e n d i n g ? P O S I X. 1 U N I X U N I X V S I G C L D AT & T e s i g a c t i o n ( 2 ) S A - S I G I N F O 10-5 S V R 4? P O S I X. 1 P O S I X. 1 S I G S E G V s i g p r o c m a s k P O S I X. 1 s i g s e t _ t kill r a i s e k i l l r a i s e r a i s e ANSI C P O S I X. 1 ANSI C k i l l I D #include <sys/types.h> #include <signal.h> int kill(pid_t p i d, int s i g n o) ;

18 2 1 4 U N I X int raise(int s i g n o) ; 0 1 k i l l p i d p i d > 0 I D p i d p i d == 0 I D I D U N I X (pid 0) init (pid 1) (pid 2) pid < 0 I D p i d pid == 1 POSIX.1 S V R B S D broadcast signal B S D I D - - I D I D I D I D _ P O S I X _ S AV E D _ I D S S V R I D I D S I G C O N T P O S I X. 1 0 s i g n o k i l l k i l l 1 e r r n o E S R C H U N I X I D I D k i l l k i l s i g n o alarm p a u s e a l a r m ( ) S I G A L R M #include <unistd.h> unsigned int alarm(unsigned int s e c o n d s) ; 0

19 s e c o n d s s e c o n d S I G A L R M U N I X 1 P O S I X. 1 a l a r m a l a r m s e c o n d s 0 S I G A L R M p a u s e #include <unistd.h> int pause(void); 1 e r r n o E I N T R p a u s e p a u s 1 e r r n o E I N T R a l a r m p a u s e 10-4 s l e e p sleep s l e e p s l e e p

20 2 1 6 U N I X (1) s l e e p 1 a l a r m a l a r m a l a r s l e e p 1 (2) S I G A L R M s i g n a l (3) a l a r m p a u s e a l a r m p a u s e p a u s s l e e p 10-4 ( 1 ) ( 2 ) ( 3 s e t j m p s i g p r o c m a s k s i g s u s p e n d S V R 2 s l e e p s e t j m p l o n g j m p ( ) ( 3 ) s l e e p ( 1 ) ( 2 ) 10-5 sleep 10-4 p a u s e S I G A L R M s l e e p 2 s l e e p 2 S I G A L R M l o n g j m p 10-6 S I G I N T f o r 5 s l e e p 2 j v o l a t i l e

21 $ a. o u t ˆ? sig_int starting sleep2 returned: s l e e p 2 s l e e p 2 l o n g j m p s i g _ i n t S V R 2 s l e e p s l e e p 1 s l e e p 2 s l e e p a l a r m r e a d

22 2 1 8 U N I X U N I X (1) a l a r m r e a d r e a d 1 (2) S I G A L R M r e a d P O S I X. 1 l o n g j m p ( 10-8 ) 10-8 l o n g j m p r e a d

23 I / O l o n g j m p s e l e c t p o l l signal set s i g p r o c m a s k P O S I X. 1 s i g s e t _ t #include <signal.h> int sigemptyset(sigset_t s e t) *; int sigfillset(sigset_t s e t) *; int sigaddset(sigset_t s e t, * int s i g n o) ; int sigdelset(sigset_t s e t, * int s i g n o) ; 0 1 int sigismember(const sigset_t s e t, * int s i g n o) ; 1 0 s i g e m p t y s e t s e t s i g f i l l s e s e s i g e m p t y s e t s i g f i l l s e t C 0 s i g a d d s e t s i g d e l s e t

24 2 2 0 U N I X B S D s i g e m p t y s e t s i g f i l l s e t < s i g n a l. h > #define sigemptyset(ptr) ( *(ptr) = 0) #define sigfillset(ptr) ( *(ptr) = (sigset_t)0, 0 ) s i g f i l l s e t 0 s i g a d d s e t s i g d e l s e t s i g i s m e m b e r sigaddset s i g d e l s e t s i g i s m e m b e r < s i g n a l. h > P O S I X. 1 e r r n o sigprocmask s i g p r o c m a s k ( )

25 # include <signal.h> int sigprocmask(int h o w, const sigset_t s e * t, sigset_t o * s e t) ; 0 1 o s e t o s e s e t h o w 10-4 h o S I G _ B L O C K S I G _ S E T M A S K 10-4 s i g p r o c m a s k h o w S I G _ B L O C K S I G _ U N B L O C K S I G _ S E T M A S K s e t s e s e t s e s e t s e t h o w s i g p r o c m a s k s i g p r o c m a s

26 2 2 2 U N I X sigpending s i g p e n d i n g s e t #include <signal.h> int sigpending(sigset_t s e t) *; S I G Q U I T 5 5 S I G Q U I T S I G Q U I T S I G _ S E T M A S K S I G _ U N B L O C K S I G _ U N B L O C K S I G _ S E T M A S K s y s t e m s i g p r o c m a s k S I G Q U I T s i g _ q u i t p r i n t f s i g p r o c m a s k p r i n t f s i g p r o c m a s k

27 C t r l - \ Q U I T ( c o r e d u m p ) S I G Q U I T c o r e ( s h e l l ) $ a. o u t ˆ \ SIGQUIT pending caught SIGQUIT SIGQUIT unblocked ˆ \ Q u i t ( c o r e d u m p ) ( 5 ) s l e e p s i g p r o c m a s k $ a. o u t \ ˆ 10 ( 5 ) SIGQUIT pending caught SIGQUIT SIGQUIT unblocked ˆ \ Q u i t ( c o r e d u m p ) S I G Q U I T 10 S I G Q U I T sigaction s i g a c t i o n ( ) U N I X s i g n a l s i g a c t i o n s i g n a l #include <signal.h> int sigaction(int s i g n o, const struct sigaction a c t, * struct sigaction o a * c t) ; 0-1

28 2 2 4 U N I X s i g n o a c t o a c t struct sigaction { void (*sa_handler)(); /* addr of signal handler, or SIG_IGN, or SIG_DFL */ sigset_t sa_mask; /* additional signals to block */ int sa_flags; /* signal options, Table 10-5 */ } ; s a _ h a n d l e r ( S I G _ I G N S I G _ D F L ) s a _ m a s k s i g a c t i o n P O S I X. 1 a c t s a _ f l a g s ( s a _ f l a g s ) P O S I X. 1 S V R B S D S A _ N O C L D S T O P s i g n o S I G C H L D SVR4 SA_NOCLDWA I T S A _ R E S T A R T S A _ O N S T A C K s i g a l t s t a c k ( 2 ) S A _ N O C L D W A I T s i g n o S I G C H L D w a i t - 1 e r r n o E C H I L D S A _ N O D E F E R S A _ R E S E T H A N D S I G _ D F L S A _ S I G I N F O

29 s i g n a l s i g a c t i o n s i g n a l B S D ( P O S I X. 1 P O S I X ) S V R 4 s i g n a l S V R 4 s i g n a l s i g a c t i o n ( S V R 4 s i g a c t i o n S A _ R E S E T H A N D S A _ N O D E F E R s i g n a l s i g n a l s i g a c t i o n s i g n a l s i g e m p t y s e t a c t act.sa_mask = 0; S I G A L R M S A _ R E S TA RT S I G A L R M I / O 10-7 S u n O S S A _ I N T E R R U P T s i g n a l _ i n t r s i g n a l signal_intr

30 2 2 6 U N I X S A _ I N T E R R U P T s a _ f l a g s sigsetjmp s i g l o n g j m p s e t j m p l o n g j m p l o n g j m p ANSI C a b o r t e x i t l o n g j m p l o n g j m p l o n g j m p? B S D s e t j m p l o n g j m p S V R B S D _ s e t j m p _ l o n g j m p P O S I X. 1 s e t j m p l o n g j m p s i g s e t j m p s i g l o n g j m p #include <setjmp.h> int sigsetjmp(sigjmp_buf e n v, int s a v e m a s k) ; void siglongjmp(sigjmp_buf e n v, int val) 0 s i g l o n g j m p 0 s e t j m p l o n g j m p s i g s e t j m p s a v e m a s k 0 s i g s e t j m p e n v s i g l o n g j m p 0 s a v e m a s k s i g s e t j m p e n v, s i g l o n g j m p s i g s e t j m p s i g l o n g j m p

31 s i g s e t j m p s i g l o n g j m p s i g l o n g j m p s i g s e t j m p c a n j u m p 0 s i g l o n g j m p j m p b u f ( ) s i g s e t j m p s i g l o n g j m p s i g l o n g j m p

32 2 2 8 U N I X C l o n g j m p s i g _ a t o m i c _ t ANSI C A N S I v o l a t i l e m a i n ( m a i n ) ( s i g _ u s r 1 ) ( s i g _ a l r m ) 0 ( ) S I G U S R 1 S I G U S R 1 S I G A L R M $ a.out & starting main: [1] 531 s h e l l I D $ kill -USR1 531 S I G U S R 1 starting sig_usr1: SIGUSR1 $ in sig_alrm: SIGUSR1 SIGALRM finishing sig_usr1: SIGUSR1 ending main: [1] + Done a.out & s i g l o n g j m p s i g s e t j m p

33 s i g s e t j m p s i g l o n g j m p _ s e t j m p _ l o n g j m p B S D ending main: SIGUSR1 _ s e t j m p m a i n S I G U S R sigsuspend p a u s e? S I G I N T S I G I N T p a u s e S I G I N T s i g s u s p e n d #include <signal.h> int sigsuspend(const sigset_t s i g m * a s k) ; 1, errno E I N T R s i g m a s k s i g s u s p e n d s i g s u s p e n 1 e r r n o E I N T R ( )

34 2 3 0 U N I X s i g s u s p e n d S I G I N T ( o l d m a s k ) $ a. o u t in critical region: SIGINT ˆ? in sig_int: SIGINT after return from sigsuspend: SIGINT s i g s u s p e n d s i g s u s p e n d m a i n

35 $ a. o u t ˆ? i n t e r r u p t ˆ? i n t e r r u p t ˆ? i n t e r r u p t ˆ\ $ ANSI C P O S I X P O S I X s i g _ a t o m i c _ t P O S I X P O S I X s i g s u s p e n d

36 2 3 2 U N I X T E L L _ WA I T T E L L _ PA R E N T T E L L _ C H I L D WA I T _ PA R E N T WA I T _ C H I L D S I G U S R 1 S I G U S R

37 s i g s u s p e n d ( )? S I G I N T S I G A L R M s i g n a l - i n t r s e l e c t ( ) S I G A L R M s e l e c t s e l e c t i f s e l e c t s e l e c t ( ) (1) S I G I N T S I G A L R M (2) (3) s e l e c t ( r e a d )

38 2 3 4 U N I X s i g s u s p e n d ( 3 ) p a u s e abort a b o r t #include <stdlib.h> void abort(void); S I G A B RT ANSI C a b o r t e x i t _ e x i t l o n g j m p s i g l o n g j m p ( l o n g j m p s i g l o n g j m p P O S I X. 1 a b o r t S I G A B RT P O S I X. 1 a b o r t ANSI C ) P O S I X. 1 a b o r t I / O f c l o s e a b o r t V a b o r t S I G I O T a b o r t 4. 3 B S D S I G I L L SIG_DFL ( c o r e ) S V R 4 I / O B S D I / O a b o r t e r r _ d u m p B UNIX tmpfile( ) u n l i n k ANSI C P O S I X. 1 a b o r t I / O I / O f c l o s e I / O _ e x i t I / O _ e x i t k i l l k i l l

39 k i l l abort P O S I X system s y s t e m P O S I X. 2 s y s t e m S I G I N T S I G Q U I T S I G C H L D s y s t e m e d ( 1 ) ( e d U N I X s h e l l e d )

40 2 3 6 U N I X s y e t e m e d S I G I N T S I G C H L D $ a. o u t a Here is one line of text and another 1 $ p Here is one line of text and another w temp.foo q caught SIGCHLD ( a. o u t ) S I G C H L D s i g - c h i d S I G C H L D s y s t e m P O S I X. 2 s y s t e m s y s t e m $ a. o u t

41 a hello, world. 1 $ p 1 hello, world w etmp.foo ˆ?? caught SIGINT q caught SIGCHLD s h e l l S I G I N T s h e l l a. o u t e d s y s t e m ( e d ) s y s t e m e d ) s y s t e s y s t e m P O S I X. 2 s y s t e m s y s t e m ystem P O S I X. 2

42 2 3 8 U N I X if ( (pid = fork()) < 0) err_sys("fork error"); else if (pid == 0) { /* child */ e x e c l ( ) _ e x i t ( 127 ); } /* parent */ old_intr = signal(sigint, SIG_IGN); old_quit = signal(sigquit, SIG_IGN); waitpid(pid, &status, 0) signal(sigint, old_intr); signal(sigquit, old_quit); f o r k f o r k

43 e x e c l e x e c l s y s t e m s y s t e m s h e l l 8-13 d a t e 0 s h e l l exit 44 44? 8-14 $ tsys "sleep 30" ˆ?normal termination, exit status = 130 $ tsys "sleep 30" ˆ \ s h: 946 Quit normal termination, exit status = 131 s l e e p p r _ e x i t 8-3 s l e e p ? Bourne shell 128 s h e l l $ s h Bourne shell $ sh -c "sleep 30" ˆ? $ echo $? 130 $ sh -c "sleep 30 " ˆ \sh:962 Quit-core dumped $ echo $? 131 $ e x i t Bourne shell S I G I N T 2 S I G Q U I T 3 s h e l l s h e l l s y s t e m $ tsys "sleep 30" & [1] 980 $ p s I D PID TT STAT TIME COMMAND 980 p3 S 0:00 tsys sleep p3 S 0:00 sh -c sleep p3 S 0:00 sleep p3 R 0:00 ps $ kill -KILL 981 s h e l l abnormal termination, signal number = 9 [1] + Done tsys "sleep 30" & s h e l l s y s t e m s y s t e m f o r k e x e c w a i t s y s t e m

44 2 4 0 U N I X sleep s h e e p s l e e p #include <unistd.h> unsigned int sleep(unsigned int s e c o n d s) ; 0 (1) s e c o n d s (2) a l a r m ( 1 ) 0 s l e e p ( 2 ) ( ) s l e e p a l a r m a l a r m P O S I X. 1 a l a r m ( 10 ) 3 s l e e p ( 5 )? sleep 5 ) 2 S I G A L R M? S V R 4 a l a r m s l e e p s l e e p ( 3 ) s l e e p 2 s l e e p 0 s l e e p S I G A L R M alarm(6), 3 s l e e p ( 5 ) 3 s l e e p 5 s l e e p B S D s e t i t i m e r ( 2 ) a l a r m s l e e p ( a l a r m ) ( s e t i t i m e r ) S I G A L R M s l e e p a l a r m s l e e p s l e e p s l e e p s l e e p B S D POSIX.1 sleep 10-4 P O S I X. 1

45 sleep 10-4 s l e e p a l a r m p a u s e S I G A L R M P O S I X. 1 SIGCHLD SIGCONT SIGSTOP SIGTSTP SIGTTIN

46 2 4 2 U N I X SIGTTOU P O S I X. 1 S I G C H L D U N I X s h e l l C t r l - Z S I G T S T P s h e l l s h e l l S I G C O N T S I G T T I N S I G T TO U s h e l l v i ( 1 ) v i v i ( S I G T S T P S I G S TO P S I G T T I N S I G T TO U S I G C O N T S I G C O N T S I G C O N T S I G C O N T S I G T S T P S I G _ D F L s h e l l ( / b i n / s h ) S I G _ I G N s h e l l i n i t S I G T S T P S I G T T I N S I G T TO U S I G _ I G N s h e l l s h e l l S I G _ D F L S I G T S T P S I G T S T P ( ) S I G T S T P S I G T S T P f g s h e l l S I G C O N T S I G C O N T k i l l S I G T S T P 1 8

47 S I G T S T P extern char *sys_siglist

48 2 4 4 U N I X p s i g n a l #include <signal.h> void psignal(int s i g n o, const char.*m s g) ; m s g ( ) S V R B S D s y s _ s i g l i s t p s i g n a l SVR4 s i g a c t i o n s a _ f l a g s SA_SIGINFO ( 10-5 ) s i g i n f o ( ) S I G F P E s i _ c o d e F P E _ I N T D I V 0 F P E _ F LT D I V 0 s i _ c o d e 0 k i l l ( 2 ) s i _ p i d s i _ u i d SVR4 siginfo(5) BSD B S D handler(int s i g n o, int c o d e, struct sigcontext s c p) * ; s i g n o c o d e S I G F P E c o d F P E _ I N T D I V _ T R A P 0 s c p U N I X U N I X P O S I X. 1 a b o r t s y s t e m s l e e p P O S I X for ( ; ; )

49 r a i s e s e t j m p l o n g j m p I / O signal(sigalrm, sig_alrm); alarm(60) ; if (setjmp (env_alrm)!= 0) { /* handle time out */... } ( a l a r m s e t i t i m e r ) f o r k ( ) S I G A B RT _ e x i t k i l l S V R 4 s i g i n f o s i _ u i d I D I D s l e e p ( 60 ) 5 ( 5 ) t m _ s e c B S D c r o n ( a ) B U F F S I Z E 100 ( b ) s i g n a l _ i n t r S I G X F S Z ( c ) w r i t e R L I M I T _ F S I Z E ( s h e l l s e t r l i m i t ) f w r i t e ( ) f w r i t a l a r m f w r i t e

第6章 信号量,中断和时间

第6章  信号量,中断和时间 6 6 Signal IPC POSIX Unix IPC Ctrl+C 9 IPC Linux Interrupt 5 Linux Linux CPU Linux Linux include/asm-i386/spinlock.h 12582 #ifdef UP SMP UP SMP 10 SMP Linux Nonrealtime SIGSEGVSIGHUP - - 52 6 SIGKILL realtime

More information

linux进程间通信

linux进程间通信 linux 进程间通信 1. 进程间通信概述 2. 管道通信 3. 信号 4. 共享内存 5. 消息队列 1 进程间通信概述 进程间通信有如下一些目的 : 数据传输 : 一个进程需要将它的数据发送给另一个进程, 发送的数据量在一个字节到几兆字节之间 共享数据 : 多个进程想要操作共享数据, 一个进程对共享数据的修改, 别的进程应该立刻看到 通知事件 : 一个进程需要向另一个或一组进程发送消息, 通知它

More information

ebook15-C

ebook15-C C 1 1.1 l s ( 1 ) - i i 4. 14 - d $ l s -ldi /etc/. /etc/.. - i i 3077 drwxr-sr-x 7 bin 2048 Aug 5 20:12 /etc/./ 2 drwxr-xr-x 13 root 512 Aug 5 20:11 /etc/../ $ls -ldi /. /..... i 2 2 drwxr-xr-x 13 root

More information

上 述 的 描 述 是 在 一 台 计 算 机 上 只 有 一 颗 CPU, 并 且 该 CPU 只 有 一 个 核 心 的 情 形, 在 这 种 环 境 下, 虽 然 系 统 可 以 运 行 多 个 任 务, 但 是 在 某 一 个 时 间 点,CPU 只 能 执 行 一 个 进 程 但 是 如

上 述 的 描 述 是 在 一 台 计 算 机 上 只 有 一 颗 CPU, 并 且 该 CPU 只 有 一 个 核 心 的 情 形, 在 这 种 环 境 下, 虽 然 系 统 可 以 运 行 多 个 任 务, 但 是 在 某 一 个 时 间 点,CPU 只 能 执 行 一 个 进 程 但 是 如 Linux 操 作 系 统 第 五 讲 : 进 程 管 理 学 时 计 划 :4 学 时 理 论,0 学 时 实 验 ( 无 实 验 教 学 内 容 ) 教 学 大 纲 : 1 进 程 2 进 程 的 监 控 3 进 程 管 理 4 /PROC 文 件 系 统 5 讨 论 与 思 考 Linux 的 进 程 管 理 与 UNIX 操 作 系 统 有 着 很 多 共 同 点, 但 也 有 一 些 独

More information

IntelBook_cn.doc

IntelBook_cn.doc 3.3.3 信号 (Signal) 处理 信号 (signal) 是向进程发送的软件通知, 通知进程有事件发生 引发信号的事件发生时, 信号就被生成 (generate) 了 进程根据信号采取行动时, 信号就被传递 (deliver) 了 信号的寿命 (lifetime) 就是信号的生成和传递之间的时间间隔 已经生成但还未被传递的信号被称为挂起 (pending) 的信号 在信号生成和信号传递之间可能会有相当长的时间

More information

,,.,. :, :,1999. Barry Wilkinson and Michael Allen. Parallel Programming(Techniques and Applications using Networked Workstations and Parallel

,,.,. :, :,1999. Barry Wilkinson and Michael Allen. Parallel Programming(Techniques and Applications using Networked Workstations and Parallel Parallel Programming: Fundamentals and Implementation czn@ncic ncic.ac..ac.cncn ( ) 2003.9 2003 9 1/143 ,,.,. :, 2000... :,1999. Barry Wilkinson and Michael Allen. Parallel Programming(Techniques and Applications

More information

ECF_Signals_and_Nonlocal_Jumps_罗世通

ECF_Signals_and_Nonlocal_Jumps_罗世通 异常控制流 : 信号与 非本地跳转 ECF: Signals & Nonlocal Jumps 罗世通元培学院 2018 年年 12 月 6 日 1 为什什么需要信号? Simple Shell shellex.c Foreground job child process execve shell command fork waitpid Background job child process execve

More information

ebook15-2

ebook15-2 2 U N I X 2.1 U N I X C U N I X U N I X 80 U N I X ( ) U N I X 2.2 UNIX 2.2.1 ANSI C 1989 C A N S I X 3. 159-1989 ANSI 1989 ISO/IEC 9899:1990 A N S I ( I S O ) ANSI C C UN I X C ANSI 1989 4 Plauger 1992;Kernighan

More information

ebook

ebook 3 3 3.1 3.1.1 ( ) 90 3 1966 B e r n s t e i n P ( i ) R ( i ) W ( i P ( i P ( j ) 1) R( i) W( j)=φ 2) W( i) R( j)=φ 3) W( i) W( j)=φ 3.1.2 ( p r o c e s s ) 91 Wi n d o w s Process Control Bl o c k P C

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

ebook15-12

ebook15-12 1 2I / O 12.1 I / O V I / O s e l e c tp o l l r e a d vw r i t e v I / Om m a p 14 15 12.2 I / O 1 0. 5 F I F O F I F O i o c t l 14 I / O I / o p e n, r e a dw r i t e I / O (1) o p e n O _ N O N B L

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

新版 明解C言語入門編

新版 明解C言語入門編 328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

46 * the current mask in old_mask and block until a signal comes in. 47 */ /* 自动地更换成新的信号屏蔽码, 并等待信号的到来 * * 我们需要对系统调用 (syscall) 做一些处理 我们会从系统调用库接口取得某些信息

46 * the current mask in old_mask and block until a signal comes in. 47 */ /* 自动地更换成新的信号屏蔽码, 并等待信号的到来 * * 我们需要对系统调用 (syscall) 做一些处理 我们会从系统调用库接口取得某些信息 程序 8-6 linux/kernel/signal.c 1 /* 2 * linux/kernel/signal.c 3 * 4 * (C) 1991 Linus Torvalds 5 */ 6 7 #include // 调度程序头文件, 定义任务结构 task_struct 初始任务 0 的数据, // 还有一些有关描述符参数设置和获取的嵌入式汇编函数宏语句 8

More information

ebook15-4

ebook15-4 4 4.1 I / O I / s t a t s t a t ( ) U N I X 4.2 stat fstat lstat s t a t #include #include int stat(const char p a * t h n a m e, struct stat b * u f) ; int fstat(int f i l e

More information

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

More information

多进程管理副本.key

多进程管理副本.key 美妙的多进程管理 造 个类 gunicorn 的轮 blog: xiaorui.cc github: github.com/rfyiamcool 内容 supervisor vs gunicorn vs uwsgi linux 异步信号 孤 进程 vs 僵 进程 daemon 的实现 prefork 是怎么 回事 打造 个较完善的多进程管理轮 怎么写代码 Master Worker elegance

More information

ebook8-30

ebook8-30 3 0 C C C C C C++ C + + C++ GNU C/C++ GNU egcs UNIX shell s h e l l g a w k P e r l U N I X I / O UNIX shell awk P e r l U N I X C C C C C C U N I X 30.1 C C U N I X 70 C C U N I X U N I X U N I X C Dennis

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

epub 77-2

epub 77-2 2 A u t o C A D A u t o C A D 2.1 A u t o C A D. D W T A u t o C A D. D W T S AV E A S A u t o C A D A u t o C A D N E W C T R L - N 30 AutoCAD A u t o C A D 2-1 2-1 A u t o C A D A u t o C A D ~ 2.1.1

More information

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1 21 , 7, Windows,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) /,,. : ;, 2005. 11 ( 21 ) ISBN 7-81082 - 634-4... - : -. TP316-44 CIP ( 2005) 123583 : : : : 100084 : 010-62776969 : 100044 : 010-51686414

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

新・解きながら学ぶC言語

新・解きながら学ぶC言語 330!... 67!=... 42 "... 215 " "... 6, 77, 222 #define... 114, 194 #include... 145 %... 21 %... 21 %%... 21 %f... 26 %ld... 162 %lf... 26 %lu... 162 %o... 180 %p... 248 %s... 223, 224 %u... 162 %x... 180

More information

C/C++ - 字符串与字符串函数

C/C++ - 字符串与字符串函数 C/C++ Table of contents 1. 2. 3. 4. 1 char C 2 char greeting [50] = " How " " are " " you?"; char greeting [50] = " How are you?"; 3 printf ("\" Ready, go!\" exclaimed John."); " Ready, go!" exclaimed

More information

像 客 样 使 命令行 徐 东

像 客 样 使 命令行 徐 东 像 客 样 使 命令行 徐 东 1 1.1................................ 1 1.2................................. 3 1.3............................. 4 1.3.1 Linux............................ 5 1.3.2 macos............................

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

untitled

untitled 1 5 IBM Intel 1. IBM 第 1/175 页 第 2/175 页 第 3/175 页 80 第 4/175 页 2. IBM 第 5/175 页 3. (1) 第 6/175 页 第 7/175 页 第 8/175 页 = = 第 9/175 页 = = = = = 第 10/175 页 = = = = = = = = 3. (2) 第 11/175 页 第 12/175 页 第 13/175

More information

目 錄 1. 蒸 豬 肉 丸 2. 蜜 汁 腰 果 3. 鳳 梨 蝦 球 4. 金 菇 扒 芥 菜 5. 松 鼠 黃 魚 6. 椒 鹽 魷 魚 7. 時 蔬 燴 蝦 丸 8. 粉 蒸 小 排 骨 9. 酥 炸 黃 魚 條 10. 彩 椒 炒 魷 魚

目 錄 1. 蒸 豬 肉 丸 2. 蜜 汁 腰 果 3. 鳳 梨 蝦 球 4. 金 菇 扒 芥 菜 5. 松 鼠 黃 魚 6. 椒 鹽 魷 魚 7. 時 蔬 燴 蝦 丸 8. 粉 蒸 小 排 骨 9. 酥 炸 黃 魚 條 10. 彩 椒 炒 魷 魚 中 餐 烹 調 期 中 考 報 告 指 導 老 師 : 胡 永 輝 組 別 : 第 三 組 學 號 :9A4M0247 姓 名 : 葉 采 姍 目 錄 1. 蒸 豬 肉 丸 2. 蜜 汁 腰 果 3. 鳳 梨 蝦 球 4. 金 菇 扒 芥 菜 5. 松 鼠 黃 魚 6. 椒 鹽 魷 魚 7. 時 蔬 燴 蝦 丸 8. 粉 蒸 小 排 骨 9. 酥 炸 黃 魚 條 10. 彩 椒 炒 魷 魚 蒸 豬

More information

Microsoft Word - Index.doc

Microsoft Word - Index.doc Programmer: B95902048 B95902085 WaveData #include ham // gfx2gba -fsrc -m -pb.pal -t8 water.bmp bg1.bmp bg2.bmp gameover.bmp water_atked.bmp #include "gfx/bg.pal.c" #include "gfx/bg.raw.c"

More information

02

02 Thinking in C++: Volume One: Introduction to Standard C++, Second Edition & Volume Two: Practical Programming C++ C C++ C++ 3 3 C C class C++ C++ C++ C++ string vector 2.1 interpreter compiler 2.1.1 BASIC

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

C/C++语言 - 运算符、表达式和语句

C/C++语言 - 运算符、表达式和语句 C/C++ Table of contents 1. 2. 3. 4. C C++ 5. 6. 7. 1 i // shoe1.c: # include # define ADJUST 7. 64 # define SCALE 0. 325 int main ( void ) { double shoe, foot ; shoe = 9. 0; foot = SCALE * shoe

More information

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un Linux C July 27, 2016 Contents 1 Linux IDE 1 2 GCC 3 2.1 hello.c hello.exe........................... 5 2.2............................... 9 2.2.1 -Wall................................ 9 2.2.2 -E..................................

More information

Ps22Pdf

Ps22Pdf C ( CIP) C /. :, 2001. 7 21 ISBN 7-5624 -2355-5. C........ C. TP312 CIP ( 2001 ) 034496 C * * : 7871092 1 /16 : 14. 25 : 356 20017 1 20017 1 : 1 6 000 ISBN 7-5624-2355-5 / TP311 : 21. 00 C, C,,,, C,, (

More information

第11章 可调内核参数

第11章 可调内核参数 11 11 Unix BSD 4.4 Linux sysctl Unix Linux /proc window /proc /proc/sys /proc/sys sysctl Unix root /proc/sys/vm root /proc/sys sysctl /proc/sys struct ctl_table 18274 struct ctl_tables /proc/sys struct

More information

日本清酒精妙绝伦的另一面

日本清酒精妙绝伦的另一面 日 本 清 酒 精 妙 绝 伦 的 另 一 面 过 度 认 真 执 著 的 日 本 人, 对 于 各 种 传 统 产 业 总 是 有 着 多 如 牛 毛 的 规 矩 和 禁 忌, 因 此 想 要 采 访 酒 庄 是 相 当 不 容 易 的 一 件 事 幸 运 的 是, 由 于 某 种 特 殊 的 机 缘, 笔 者 得 以 近 距 离 的 全 程 参 与 杜 氏 ( 首 席 酿 酒 师 ) 的 酿 酒

More information

ebook35-2

ebook35-2 2 2.1 Linux login Login: < > Password: < > Linux r o o t l o g o u t 2.2 Linux X Window Linux Linux Bourne ( b s h ) C ( c s h ) Korn ( k s h ) Bourne Steven Bourne UNIX Bourne bash Bourne C Bill Joy Bourne

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

epub29-1

epub29-1 TCP 1 T/TCP 1.1 U D P T C P T C P / I P T / T C T / T C P T / T C U D P T C P T / T C P - T C P I n t e r n e t T / T C P I n t e r n e t T / T C P T / T C P I n t e r n e t ( D N S ) I P 1.2 UDP U D P

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

ebook14-4

ebook14-4 4 TINY LL(1) First F o l l o w t o p - d o w n 3 3. 3 backtracking parser predictive parser recursive-descent parsing L L ( 1 ) LL(1) parsing L L ( 1 ) L L ( 1 ) 1 L 2 L 1 L L ( k ) k L L ( 1 ) F i r s

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

Biotechnology

Biotechnology (CHarM) 零 零 六 年 錄 行 論 料 論 料 料 論 論 論 2 論 論 論 旅 論 旅 錄 錄 錄 錄 錄 錄 3 參 參 輪 隸 立 離 離 離 離 拓 離 拓 拓 拓 4 女 梁 麗 女 林 禮 林 李 女 女 李 林 女 女 黎 羅 女 路 樂 樂 離 麗 女 梁 林 麗 女 林 女 5 行 輪 理 羅 來 說 了 更 力 更 了 參 見 參 見 零 零 年 來 了 列 參 論 不

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

How to Debug Tuxedo Server printf( Input data is: %s, inputstr); fprintf(stdout, Input data is %s, inputstr); fprintf(stderr, Input data is %s, inputstr); printf( Return data is: %s, outputstr); tpreturn(tpsuccess,

More information

提纲 1 2 OS Examples for 3

提纲 1 2 OS Examples for 3 第 4 章 Threads2( 线程 2) 中国科学技术大学计算机学院 October 28, 2009 提纲 1 2 OS Examples for 3 Outline 1 2 OS Examples for 3 Windows XP Threads I An Windows XP application runs as a seperate process, and each process may

More information

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 C C trio@seu.edu.cn C C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 Week3 C Week5 Week5 Memory & Pointer

More information

C/C++语言 - 分支结构

C/C++语言 - 分支结构 C/C++ Table of contents 1. if 2. if else 3. 4. 5. 6. continue break 7. switch 1 if if i // colddays.c: # include int main ( void ) { const int FREEZING = 0; float temperature ; int cold_ days

More information

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温 爱 情 飞 过 苍 凉 / 作 者 :18758265241 1 红 色 格 子 的 旅 行 箱, 在 湿 漉 漉 地 上 发 出 刺 啦 刺 啦 的 声 音, 那 么 刺 耳, 就 像 是 此 刻 杜 晗 的 里 一 样, 烦 躁 而 不 安 就 这 样 走 出 来 了,18 年 禁 锢 自 己 的 地 方 就 在 身 后, 杜 晗 手 指 关 节 泛 白, 紧 紧 地 拉 着 旅 行 箱, 走

More information

<4D6963726F736F667420576F7264202D204C696E7578CFB5CDB3B5F7D3C3C1D0B1ED>

<4D6963726F736F667420576F7264202D204C696E7578CFB5CDB3B5F7D3C3C1D0B1ED> Linux 系 统 调 用 列 表 雷 镇 (leicool@21cn.com) http://www.ibm.com/developerworks/cn/linux/kernel/syscall/part1/appendix.html ( 王 伟 注 : 本 文 是 从 作 者 的 博 文 上 拷 贝 来 的, 进 行 了 重 排 版 ) 简 介 : 本 文 列 出 了 大 部 分 常 见 的 Linux

More information

2005 ( )... 1 2005... 5 2005... 10 2005... 16 2005... 20 2005... 23 2005 ( )... 30 200 5... 37 2005... 43 2005... 47 2005... 52 2005 ( )... 58 2005... 63 2005 ( )... 68 2005 (WA T)... 73 2005 ( ) 2005

More information

Microsoft PowerPoint - os_4.ppt

Microsoft PowerPoint - os_4.ppt 行 程 資 科 系 林 偉 川 行 程 概 念 行 程 與 程 式 主 要 的 不 同 點 : 程 式 是 被 放 在 外 部 的 儲 存 裝 置 如 磁 碟 上, 而 行 程 則 被 放 在 記 憶 體 中 程 式 在 儲 存 裝 置 中 是 靜 態 的, 而 行 程 在 記 憶 體 中 是 動 態 的, 它 會 隨 著 一 些 事 件 的 發 生 而 產 生 相 對 的 改 變 行 程, 就 是

More information

_汪_文前新ok[3.1].doc

_汪_文前新ok[3.1].doc 普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向

More information

2 34 2 41 2 39 37

2 34 2 41 2 39 37 2 34 2 41 2 39 37 1955 64 14 1957 4 2 1972 3 1 138 7 20 79 8 7 28 66 14 60 25 2 9 79 17 12 189 190 6 43 1 138 1 2 166 174 145 163 468 31 34 358 1118 131 132 513 514 865 58 292 37 21 1 142 232 244

More information

恩 典 课 堂 教 学 概 览 课 堂 环 节 持 续 时 间 活 动 所 需 材 料 1 欢 迎 持 续 在 门 口 欢 迎 学 生, 聆 听 他 们 分 享 本 周 开 心 或 烦 恼 的 事 预 备 活 动 <10 分 钟 A 猜 猜 是 谁 B 上 帝 的 礼 物 无 孩 子 们 的 儿 时

恩 典 课 堂 教 学 概 览 课 堂 环 节 持 续 时 间 活 动 所 需 材 料 1 欢 迎 持 续 在 门 口 欢 迎 学 生, 聆 听 他 们 分 享 本 周 开 心 或 烦 恼 的 事 预 备 活 动 <10 分 钟 A 猜 猜 是 谁 B 上 帝 的 礼 物 无 孩 子 们 的 儿 时 第 十 一 课 最 好 的 礼 物 经 文 路 2:1-17; 历 代 愿 望 第 四 章 存 心 节 上 帝 爱 世 人, 甚 至 将 祂 的 独 生 子 赐 给 他 们, 叫 一 切 信 祂 的, 不 至 灭 亡, 反 得 永 生 ( 约 3:16) 教 学 目 标 孩 子 们 可 以 知 道 : 耶 稣 是 上 帝 恩 典 的 礼 物, 祂 给 我 们 带 来 盼 望 和 喜 乐 感 受 :

More information

团 契 就 体 力 来 说, 参 孙 乃 是 地 上 极 强 壮 的 人 ; 但 在 自 制 忠 贞 和 坚 稳 上, 他 却 是 人 间 最 软 弱 的 了 先 祖 与 先 知 第 571-573 页 教 室 布 置 见 第 一 课 课 堂 教 学 概 览 课 堂 环 节 持 续 时 间 活 动

团 契 就 体 力 来 说, 参 孙 乃 是 地 上 极 强 壮 的 人 ; 但 在 自 制 忠 贞 和 坚 稳 上, 他 却 是 人 间 最 软 弱 的 了 先 祖 与 先 知 第 571-573 页 教 室 布 置 见 第 一 课 课 堂 教 学 概 览 课 堂 环 节 持 续 时 间 活 动 第 三 课 外 强 中 干 经 文 士 16 先 祖 与 先 知 第 564-573 页 存 心 节 上 帝 啊, 求 你 为 我 造 清 洁 的 心 ( 诗 51:10) 教 学 目 标 孩 子 们 可 以 知 道 : 我 们 的 言 行 举 止 都 影 响 着 周 围 的 人 感 受 : 当 我 们 的 言 行 困 扰 别 人 时 要 感 到 难 过 回 应 : 要 知 道 且 接 受, 当 我

More information

ebook35-21

ebook35-21 21 Linux L i n u x 211 U N I X U N I X I / O F I F O U N I X I n t e r n e t s o c k e t () s o c k e t () send() r e c v ( read() w r i t e () send() r e c v () I n t e r n e t 212 Internet Internet S

More information

bingdian001.com

bingdian001.com TSM12M TSM12 STM8L152C6, STM8L152R8 MSP430F5325 whym1987@126.com! /******************************************************************************* * : TSM12.c * : * : 2013/10/21 * : TSM12, STM8L f(sysclk)

More information

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def

static struct file_operations gpio_ctl_fops={ ioctl: gpio_ctl_ioctl, open : gpio_open, release: gpio_release, ; #defineled1_on() (GPBDAT &= ~0x1) #def Kaise s 2410 Board setting [1]. Device Driver Device Driver Linux s Kernel ARM s kernel s3c2410_kernel2.4.18_r1.1_change.tar.bz2 /usr/src (1) #cd /usr/src (2) #tar xfj s3c2410_kernel2.4.18_r1.1_change.tar.bz2

More information

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf (%d, & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9 201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void

More information

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

untitled

untitled 1 DBF (READDBF.C)... 1 2 (filetest.c)...2 3 (mousetes.c)...3 4 (painttes.c)...5 5 (dirtest.c)...9 6 (list.c)...9 1 dbf (readdbf.c) /* dbf */ #include int rf,k,reclen,addr,*p1; long brec,erec,i,j,recnum,*p2;

More information

nooog

nooog C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1

More information

C/C++ - 结构体、共用体、枚举体

C/C++ - 结构体、共用体、枚举体 C/C++ Table of contents 1. 2. 3. 4. 5. 6. 7. 8. 1 C C (struct) C 2 C C (struct) C 2 i // book.c: # include < stdio.h> # define MAX_ TITLE 41 # define MAX_ AUTHOR 31 struct book { char title [ MAX_ TITLE

More information

第7章-并行计算.ppt

第7章-并行计算.ppt EFEP90 10CDMP3 CD t 0 t 0 To pull a bigger wagon, it is easier to add more oxen than to grow a gigantic ox 10t 0 t 0 n p Ts Tp if E(n, p) < 1 p, then T (n) < T (n, p) s p S(n,p) = p : f(x)=sin(cos(x))

More information

云 浮 市 总 工 会 学 习 贯 彻 市 委 五 届 九 次 全 会 精 神 全 省 工 会 第 二 季 度 暨 上 半 年 劳 资 纠 纷 研 判 会 召 开 河 源 市 总 工 会 召 开 劳 资 纠 纷 研 判 会 议 湛 江 市 总 工 会 召 开 上 半 年 劳 资 纠 纷 研 判 会

云 浮 市 总 工 会 学 习 贯 彻 市 委 五 届 九 次 全 会 精 神 全 省 工 会 第 二 季 度 暨 上 半 年 劳 资 纠 纷 研 判 会 召 开 河 源 市 总 工 会 召 开 劳 资 纠 纷 研 判 会 议 湛 江 市 总 工 会 召 开 上 半 年 劳 资 纠 纷 研 判 会 目 录 工 作 聚 焦 全 省 工 会 主 席 会 议 全 省 工 会 主 席 会 议 召 开 推 动 工 会 工 作 再 上 新 台 阶 省 总 工 会 召 开 部 分 省 级 产 业 工 会 主 席 会 议 广 州 市 总 工 会 召 开 全 市 工 会 主 席 会 议 肇 庆 市 总 工 会 召 开 全 市 工 会 主 席 会 议 云 浮 市 总 工 会 召 开 全 市 工 会 主 席 会 议

More information

C

C C 14 2017 5 31 1. 2. 3. 4. 5. 2/101 C 1. ( ) 4/101 C C ASCII ASCII ASCII 5/101 C 10000 00100111 00010000 ASCII 10000 31H 30H 30H 30H 30H 1 0 0 0 0 0 ASCII 6/101 C 7/101 C ( ) ( ) 8/101 C UNIX ANSI C 9/101

More information

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO

W. Richard Stevens UNIX Sockets API echo Sockets TCP OOB IO C struct C/C++ UNIX fork() select(2)/poll(2)/epoll(4) IO IO CPU 100% libevent UNIX CPU IO Linux muduo C++ (giantchen@gmail.com) 2012-09-30 C++ TCP C++ x86-64 Linux TCP one loop per thread Linux native muduo C++ IT 5 C++ muduo 2 C++ C++ Primer 4 W. Richard Stevens UNIX Sockets API echo Sockets

More information

目 錄 摘 要... 1 壹 研 究 動 機... 1 貳 研 究 目 的... 1 參 文 獻 探 討... 1 肆 研 究 設 備 及 材 料... 2 伍 研 究 過 程 及 方 法... 2 陸 研 究 結 果... 6 柒 討 論 捌 結 論 玖 參 考 資 料 及

目 錄 摘 要... 1 壹 研 究 動 機... 1 貳 研 究 目 的... 1 參 文 獻 探 討... 1 肆 研 究 設 備 及 材 料... 2 伍 研 究 過 程 及 方 法... 2 陸 研 究 結 果... 6 柒 討 論 捌 結 論 玖 參 考 資 料 及 金 門 地 區 第 56 屆 中 小 學 科 學 展 覽 會 作 品 說 明 書 科 別 : 生 活 應 用 科 學 組 別 : 國 中 組 作 品 名 稱 : 捏 麵 人, 捏 什 麼 麵 呢?- 探 討 不 同 配 方 材 料 對 自 製 捏 麵 人 麵 糰 特 性 之 影 響 關 鍵 詞 : 捏 麵 人 麵 團 特 性 ( 最 多 3 個 ) 編 號 : 製 作 說 明 : 1. 說 明 書

More information

信 息 披 露 义 务 人 声 明 1 信 息 披 露 义 务 人 依 据 中 华 人 民 共 和 国 公 司 法 中 华 人 民 共 和 国 证 券 法 上 市 公 司 收 购 管 理 办 法 公 开 发 行 证 券 公 司 信 息 披 露 内 容 与 格 式 准 则 第 15 号 权 益 变 动

信 息 披 露 义 务 人 声 明 1 信 息 披 露 义 务 人 依 据 中 华 人 民 共 和 国 公 司 法 中 华 人 民 共 和 国 证 券 法 上 市 公 司 收 购 管 理 办 法 公 开 发 行 证 券 公 司 信 息 披 露 内 容 与 格 式 准 则 第 15 号 权 益 变 动 证 券 代 码 :600565 证 券 简 称 : 迪 马 股 份 重 庆 市 迪 马 实 业 股 份 有 限 公 司 简 式 权 益 变 动 报 告 书 上 市 公 司 名 称 : 重 庆 市 迪 马 实 业 股 份 有 限 公 司 股 票 上 市 地 点 : 上 海 证 券 交 易 所 股 票 简 称 : 迪 马 股 份 股 票 代 码 : 600565 信 息 披 露 义 务 人 : 财 通

More information

, (, ),,,,,, : : ( ), :,,,,,,, ( ), ( ),,,,,, ( ) ( ),, :!,,,,,,,,,,,,,,,,,,,,,,, [1 ] :,,,, :, ;, ( ),, :,,,,,,,,,,, 66

, (, ),,,,,, : : ( ), :,,,,,,, ( ), ( ),,,,,, ( ) ( ),, :!,,,,,,,,,,,,,,,,,,,,,,, [1 ] :,,,, :, ;, ( ),, :,,,,,,,,,,, 66 1997 3 :,,,,,, ( ),,, :,,,,,,,,,, :,,,,,,,,,, ( ), :,,,,,,,,,, ( ) ( ),,,,,,,, ( ) ( ),,,,,, 4 100, ( ),,,,,,, ( ), ( ), ( ),,,, 65 , (, ),,,,,, : : ( ), :,,,,,,, ( ), ( ),,,,,, ( ) ( ),, :!,,,,,,,,,,,,,,,,,,,,,,,

More information

untitled

untitled ...2...3...4...6...6...8...11...14...18...19...20...22...22...23...25...26...27...28...29...29...29 4-1 - ( ) 88 37 88 37 200121 2003 4 18 [2003]48 1.5 4-2 - ( ) 25 1 1 100032 2004 09 17 [1998]12 ( ) (

More information

untitled

untitled 1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete

More information

C

C C 2017 3 14 1. 2. 3. 4. 2/95 C 1. 3/95 C I 1 // talkback.c: 2 #include 3 #include 4 #define DENSITY 62.4 5 int main(void) 6 { 7 float weight, volume; 8 int size; 9 unsigned long letters;

More information

第一章 概论

第一章  概论 1 2 3 4 5 6 7 8 Linux 7.1 7.1.1 1 1 2 3 2 3 1 2 3 3 1 2 3 7.1.2 1 2 1 2 3 4 5 7.1.3 1 1 2 3 2 7.1 3 7.1.4 1 1 PCB 2 3 2 PCB PCB PCB PCB PCB 4 1 2 PSW 3 CPU CPU 4 PCB PCB CPU PCB PCB PCB PCB PCB PCB PCB

More information

1

1 1 2 3 4 5 GNUDebugger 6 7 void main(int argc, char **argv){ vulncpy(argv[1]); return; } void vulncpy(char *a){ char buf[30]; strcpy(buf, a); return; } *argv[1] buf Shellcode *argv[1]... &buf &buf 8 strcpy

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

epub 33-8

epub 33-8 8 1) 2) 3) A S C I I 4 C I / O I / 8.1 8.1.1 1. ANSI C F I L E s t d i o. h typedef struct i n t _ f d ; i n t _ c l e f t ; i n t _ m o d e ; c h a r *_ n e x t ; char *_buff; /* /* /* /* /* 1 5 4 C FILE

More information

Microsoft Word - 第三章第一節第二節.doc

Microsoft Word - 第三章第一節第二節.doc 原 臺 中 刑 務 所 典 獄 長 官 舍 第 三 章 臺 中 刑 務 所 典 獄 官 建 築 研 究 與 調 查 第 一 節 建 築 特 色 及 考 證 一 日 治 時 期 臺 灣 官 舍 建 築 特 色 分 析 - 以 臺 中 市 西 區 為 例 96 ( 一 ) 臺 灣 總 督 府 官 舍 制 度 日 治 初 期 臺 灣 總 督 府 為 從 日 本 內 地 招 募 各 種 官 吏 來 到 臺

More information

untitled

untitled TT...1 TT...6 TT...13 TT...21 TT...22 TT...23 TT...25 TT...25 TT...32 TT...33 TT...33 TT...34 TT...38 T...40T TT...44 TT...46 TT...47 TT...49 TT...51 TT...53 TT...53 TT...54 TT...54 TT...54 TT...55 ,,,,,,,,

More information