14 V F S L i n u x 14.1 S u p e r I O I D E I D E C S R, C S R L i n u x L i n u x I D E / d e v / h a d m k n o d I D E I D E / d e v / h d a 2 L i n u x Linux /dev/cua0 / d e v / c u a 1 512 1024 BSD L i n u x L i n u x I / O S C S I S C S I S C S I S C S I I / O L i n u x L i n u x
110 Linux 14.2 42 L i n u x L i n u x / p r o c / i n t e r r u p t s 0 : 727432 1: 20534 2 : 0 c a s c a d e 3 : 79691 + 4 : 28258 + 5 : 1 11 : 20868 + a i c 7 x x x 1 3 : 1 1 4 : 247 + i d e 0 1 5 : 170 + i d e 1 6 P C I P C I L i n u x PCI BIOS 14.3 D M A D M A P C ISA DMA 8 D M A 7 D M A 16 1 D M A D M A
14 111 C P U C P U D M A D M A D M A D M A D M A D M A D M A D M 16 8 D M A 16 M D M A 7 D M A D M A D M A D M 2 D M A C S R D M A D M A L i n u x d m a _ c h a n D M A d m a _ c h a n D M A D M c a t / p r o c / d m a d m a _ c h a n 14.4 L i n u x 2 128 512 L i n u x L i n u x D M A L i n u x D M A 14.5 L i n u x L i n u x L i n u x L i n u x L i n u x
112 Linux L i n u x 14.5.1 P P P d e v i c e _ s t r u c t c h r d e v s c h r d e v s chrdev lseek read write select mmap release fasync check_media_change readdir ioclt open fsyn revalidate 14-1 c h r d e v s d e v i c e _ s t r u c t 14-1 d e v i c e _ s t r u c t / p r o c / d e v i c e s c h r d e v s V F S V F S V F V F S V F S c h r d e v s
14 113 14.5.2 L i n u x b l k d e v s b l k d e v d e v i c e _ s t r u c t S C S I I D E L i n u x SCSI S C S I S C S I b l k _ d e v b l k _ d e v _ s t r u c t blk_dev_struct b l k _ d e v _ s t r u c t 14-2 b u ff e r _ h e a d b u ff e r _ h e a d a l l _ r e q u e s t s blk_dev blk_dev_struct request request buffer head 14-2 b u ffer_head r e q u e s t b u ff e r _ h e a d 14.6 L i n u x I D E hdb: Conner Peripherals 540MB - CFS540A, 516MB w/64kb Cache, CHS=1050/16/63 1050 16 63 L i n u x D O S E X T 2
114 Linux Disk /dev/sda: 64 heads, 32 sectors, 510 cylinders Units = cylinders of 2048 * 512 bytes Device Boot B e g i n S t a r t E n d B l o c k s I d S y s t e m / d e v / s d a 1 1 1 478 489456 83 Linux native / d e v / s d a 2 479 479 510 32768 82 Linux swap Expert command (m for help): p Disk /dev/sda: 64 heads, 32 sectors, 510 cylinders N r A F H d S e c C y l H d S e c C y l S t a r t Size I D 1 00 1 1 0 63 32 477 32 978912 83 2 00 0 1 478 63 32 509 978944 65536 82 3 00 0 0 0 0 0 0 0 0 00 4 00 0 0 0 0 0 0 0 00 0 1 1 477 63 32 478 L i n u x L i n u g e n d i s k _ h e a d g e n d i s k I D E g e n d i s k b l k _ d e v g e n d i s k S C S I g e n d i s k s d 8 14-3 g e n d i s k S C S I g e n d i s k I D E g e n d i s k gendisk_head major major_name minor_shift max_p max_hr init( ) part sizes nr_real real_devices next 8 sd major major_name manor_shift max_p max_hr init( ) part sizes nr_real real_devices next 3 ideo hd_struct start_sect nr_sects max_p 14-3 start_sect nr_sects g e n d i s k L i n u x g e n d i s k
14 115 / d e v / s d a 2 14.6.1 IDE L i n u x I D E Integrated Disk Electronic I D E L i n u x / d e v / h d a / d e v / h d b / d e v / h d c I D E L i n u x 3 22 I D E blk_dev b l k d e v s 3 2 2 /dev/hda / d e v / h d b 3 I D E I D E / d e v / h d b 3 6 4 / d e v / h d b 1 3 6 5 14.6.2 IDE I D E I D I D E L i n u x 4 I D E i d e _ h w i f s i d e _ h w i f _ t i d e _ h w i f _ t i d e _ d r i v e _ t L i n u x C M O S L i n u x C M O S i d e _ h w i f _ t I D E I / O I D E I / O 0x1F0-0 x 1 F 7 I D E L i n u x V F S b l k d e v s b l k _ d e v I D E 14 15 I D E g e n d i s k g e n d i s k 14.6.3 SCSI S C S I S C S 8 32 40 M 8 5 S C S I 8
116 Linux S C S I S C S I S C S S C S I S C S I S C S I S C S I 6 10 12 L i n u x S C S I h o s t S C S I S C S I NCR810 PCI SCSI S C S L i n u x S C S I S C S S C S I S C S S C S D e v i c e S C S I S C S I S C S I C D - R O M S C S I S C S I S C S I S C S I C D - R O M L i n u x S C S I, Linux S C S I 14.6.4 SCSI S C S I S C S I S C S I L i n u x S C S I SCSI S C S S C S I S C S I S C S I S C S I 4 L i n u x L i n u x S C S I 14-4 S C S I b u i l t i n _ s c s i _ h o s t s S c s i _ H o s t _ Te m p l a t e S c s i _ H o s t _ Te m p l a t e S C S I S C S I S C S I S C S S C S I S C S I S C S S C S I S c s i _ H o s t _ Te m p l a t e s c s i _ h o s t s S c s i _ H o s t S C S I NCR810 PCI
14 117 S C S I S c s i _ H o s t S c s i _ H o s t S c s i _ H o s t _ Te m p l a t e scsi_hosts Scsi_Host_Template next name BUSLOGIC scsi_hostlist Scsi_Host next this_id max_id hostt scsi_devices Scsi_Device next id type host Scsi_Device next id type host 14-4 SCSI S C S I S C S I S C S S C S I S C S I 0 7 S C S I T E S T _ U N I T _ R E A D Y S C S I S C S I E N Q U I RY S c s i _ C m n d S C S I S c s i _ H o s t _ Te m p l a t e S C S I S C S S c s i _ D e v i c e S c s i _ D e v i c e S c s i _ H o s t S c s i _ D e v i c e scsi_devices S C S I 4 C D - R O M S C S I S C S I SCSI C S I SCSI S c s i _ D e v i c e _ Te m p l a t e S C S I S C S I S c s i _ D e v i c e _ Te m p l a t e
118 Linux 14.6.5 Linux S C S I S C S I S C S L i n u x S C S I L i n u x b l k _ d e v b l k d e v s E X T 2 S C S I E X T 2 S C S I b l k _ d e v c u r r e n t _ r e q u e s t S C S I S C S I S c s i _ D i s k S c s i _ D i s k r s c s i _ d i s k s S C S I / d e v / s d b 1 8 17 1 S c s i _ D i s k S c s i _ D e v i c e S c s i _ D e v i c e S C S I S c s i _ H o s t S C S I S c s i _ C m d 14.7 L i n u x L i n u x L i n u x s k _ b u ff s k _ b u ff d e v i c e 14.7.1 0 / d e v / e t h / d e v / e t h 1 / d e v / e t h 2 /dev/ethn /dev/sln Ethernet SLIP /dev/pppn PPP /dev/lo Loopback 14.7.2 i r q I / O D M A D M
14 119 14.7.3 IFF_UP IFF_BROADCAST IFF_DEBUG IFF_LOOPBACK I F F _ P O I N T TO P O I N T IFF_NOTRAILERS IFF_RUNNING IFF_NOARP IFF_PROMISC I F F _ A L L M U LTI I F F _ M U LTICAST 14.7.4 (SLIP P P P ) ARP I P I P mtu Family Ty p e E t h e r n e t X. 25 Token Ring S l i p PPP Apple Localtalk Addresses I P s k _ b u ff i f c o n f i g 14.7.5 L i n u x L i n u d e v _ b a s e L i n u x / d e v / e t h 0
120 Linux / d e v / e t h 1 8 e t h 0 e t h 7 D M A 8 / d e v / e t h N