-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

²`¤J²z¸ÑLinuxÅX°Êµ{§Ç³]­p

( ²Åé ¦r)
§@ªÌ¡G§d°ê°¶¡B«ÀµY¡B²¦¦¨ÀsÃþ§O¡G1. -> §@·~¨t²Î -> Linux
ĶªÌ¡G
¥Xª©ªÀ¡G²MµØ¤j¾Ç¥Xª©ªÀ²`¤J²z¸ÑLinuxÅX°Êµ{§Ç³]­p 3dWoo®Ñ¸¹¡G 42817
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
NT°â»ù¡G 145 ¤¸

¥Xª©¤é¡G11/1/2015
­¶¼Æ¡G190
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787302401636
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

Linux±q1991¦~µo¥¬²Ä¤@­Óª©¥»¨ì²{¦bªº3¡D19¡D3ª©¡A¸g¹LµL¼Æ¶}µoªÌªº¦@¦P§V¤O¡A¤º®Ö¤éÁͧ¹µ½¡CLinux§@¬°¤@ºØ¶}·½¡B¸ó¥­»Oªº¾Þ§@¨t²Î¡A¨ü¨ì¤F¶V¨Ó¶V¦h¶}µoªÌªº«C·ý¡C
ÀHµÛª«Ápºô©M¤H¤u´¼¯àªºµo®i¡ALinux±N§ó¦h¦aÀ³¥Î¦b´O¤J¦¡³]³Æ¤¤¡A³o¹ïLinux¤º®Ö¤¤ªºÅX°Ê³]­p©M¹ê²{¤]´£¥X¤F§ó°ªªº­n¨D¡C²{¦³ªº¤¶²ÐLinux³]³ÆÅX°Ê¶}µoªº¹Ï®Ñ¤¤¡A¦³ªº°¾­«¤_¤º®Ö¦U¼Ò¶ôªºµ²ºc©M­ì²zªºÄÄ­z¡AÃø¥H²z¸Ñ©M´x´¤¡F ¦³ªº°¼­«Linux¤º®Öªº³¡¤À¯S©º¤ÎÀ³¥Î¡A¯Ê¤Ö¹ïLinux¬[ºc¾ãÅ骺¤¶²Ð¤Î¨t²Î­ì²zªº¤ÀªR¡C°ò¤_³o¼Ëªº²{ª¬¡A½s¼g¦¹®Ñ¨Ñ¼s¤jLinux·R¦nªÌ°Ñ¦Ò¡C
¥»®Ñµ²¦XLinux¤º®Ö¤¤¦U¼Ò¶ôªº­ì²z¤Î³]³ÆÅX°Ê¹ê¨Ò¡A¸Ô²Ó¦a¤¶²Ð¤FLinux³]³ÆÅX°Ê¶}µoªº¤èªk»P¹ê½î¡C¥þ®Ñ¦@¤À¬°13³¹¡A­º¥ý¤¶²Ð¤FLinux¾Þ§@¨t²Îªºµo®i¡AµM¦Z°w¹ïLinux¤º®Ö3¡D8¡D13¥þ­±¤¶²Ð¤FLinux³]³ÆÅX°Ê¶}µo¡A¤ÀªR¤F¦U¼Ò¶ôªºLinux¹ê²{¦}µ¹¥X¤FÅX°Ê¶}µo¹ê¨Ò¡C¦b¤¶²Ð¤FLinux¤º®Ö¾÷¨îªº°ò¦¤W¡AµÛ­«½×­z¶ô³]³Æ¡Bºôµ¸³]³Æ¡BMMC/SDÅX°Ê¡BUSBÅX°Ê¡BÁ`½uÅX°Ê¤ÎFlashÅX°Êªº¶}µo¡C
¥þ®Ñ¦U³¹§¡­º¥ý·§­n¤¶²Ð¦U¼Ò¶ôªº¹ê²{­ì²z¡AÀH¦Z¦CÁ|¦U¼Ò¶ô¤¤ªºÃöÁä¼Æ¾Úµ²ºc¡A¦Aµ²¦X·½¥N½X¤Î¹ê¨Ò¤ÀªR¤¶²Ð¡AÅýŪªÌ§ó¥þ­±¦a¤F¸ÑLinuxÅX°Ê¶}µo¡C
¥»®Ñ½s¼g¹Lµ{¤¤°Ñ¦Ò¤F²³¦hLinux¶}µoªÌªº¬ã¨s¦¨ªG©M¬ÛÃö®ÑÄy¡A°Ñ¦Ò¤åÄm¤¤µLªk¤@¤@¦C¥X¡A¦b¦¹¦V¥L­Ì­P¥HÁ·N¡C®Ñ¤¤¹ê»Ú®×¨Ò¡A¬O½Ñ¦h½Òµ{ªº¬ã¨s¥Í­Ì¦bLinux 3¡D8¡D13ª©¥»¤U½Õ¸Õ³q¹L¡A¦b¦¹¤@¦}ªí¥Ü·PÁ¡C¥»®Ñªº¥Xª©¤]Â÷¤£¶}²MµØ¤j¾Ç¥Xª©ªÀªº¤ä«ù¡A¹ï¦¹ªí¥Ü°J¤ßªº·PÁ¡I
¥Ñ¤_®É¶¡­Ü«P©M§@ªÌ¤ô¥­¦³­­¡A®Ñ¤¤Ãø§K¥X²{¿òº|»P¤£·í¤§³B¡A·q½Ð¼s¤jŪªÌ§åµû«ü¥¿¡C¦p¦³¥ô¦ó°ÝÃD¡A½Ðµo¶l¥ó¦Üwgwdut@dlut¡Dedu¡Dcn¡C
½sªÌ2015¦~4¤ë
¤º®e²¤¶¡G

¥»®Ñ°ò¤_Linux¤º®Ö3¡D8¡D13·½¥N½X¤Î¬ÛÃö¹ê¨Ò¦VŪªÌ¨t²Î¦Ó¸ÔºÉ¦a¤¶²Ð©M¤ÀªR¤FLinux³]³ÆÅX°Êµ{§Ç¶}µo®Ø¬[¡B­ì²z©M¤èªk¡C¥þ®Ñ¦@¤À13³¹¡A¤º®e¥]¬A¦r²Å³]³Æ¡B¶ô³]³Æ¡Bºôµ¸³]³Æ¡BMMC/SDÅX°Ê¡BUSBÅX°Ê¡BÁ`½uÅX°Ê¤ÎFlashÅX°Êªº¶}µo¾÷¨î©M¹ê¨Ò¡C
¥»®Ñ¦U³¹§¡­º¥ý·§­n¤¶²Ð¦U¼Ò¶ôªº¹ê²{­ì²z¡AÀH¦Z¦CÁ|¦U¼Ò¶ô¤¤ªºÃöÁä¼Æ¾Úµ²ºc¡A¦Aµ²¦X·½¥N½X¤Î¹ê¨Ò¤ÀªR¤¶²Ð¡AÅýŪªÌ§ó¥þ­±¦a¤F¸ÑLinuxÅX°Ê¶}µo¡C
¥»®Ñ¤º®eÂ×´I¡A·§©À©M­ì²zÁ¿¸Ñ²Ó­P¡B²`¤J²L¥X¡C¨ä¤¤¡A¦³Ãö¥N½Xªº³¡¤À³£¼Ð¦³ª`ÄÀ¥H¸Ô²Ó¤¶²Ð¥\¯à¡A®Ñ¤¤ªº³]­p©M¤ÀªR¤]°t¥H½sµ{¹ê¨ÒÀ°§U²z¸Ñ¡C
¥»®Ñ¾A¦X§@¬°°ª¦~¯Å¥»¬ì¥Í¡B¬ã¨s¥Í©M±q¨Æ´O¤J¦¡¨t²Î¶}µo³]­pªº¤uµ{§Þ³N¤H­û¡C
¥Ø¿ý¡G

²Ä1³¹Linux¤º®Ö²Õ¦¨©M¾÷¨î

1.1Linux¤º®Öª©¥»»Pµo®i

1.1.1Linux¾Þ§@¨t²Îªº½Ï¥Í

1.1.2Linux¤º®Öª©¥»ªºÅܾE

1.2Linux¤º®Ö½sĶ

1.2.1Àò¨ú¤º®Ö·½½X

1.2.2¤º®Ö·½½X¾ð

1.2.3½sĶ¤º®Ö

1.3Linux¤º®Ö²Õ¦¨

1.4Linux¤º®Ö¾÷¨î

1.4.1¤º®Ö±Ò°Ê¹Lµ{

1.4.2¼Ò¶ô¾÷¨î

²Ä2³¹Linux¤º®Ö³]³ÆºÞ²z¤è¦¡

2.1devfs³]³Æ¤å¥ó¨t²Î

2.2sysfs¤å¥ó¨t²Î

2.3udev³]³Æ¤å¥ó¨t²Î

2.4¥D­n¼Æ¾Úµ²ºc

2.4.1kobject

2.4.2ktype

2.4.3kset

2.4.4¤TªÌÃö¨t

2.5¼ö´¡©Þ³]³ÆºÞ²z¾÷¨î

2.5.1¼ö´¡©Þ¨Æ¥ó¬yµ{

2.5.2¯A¤Îªº¼Ò¶ô

2.5.3ÃöÁäÅX°Ê¨ç¼Æ

²Ä3³¹LinuxÅX°Ê¶}µo°ò¦

3.1¦P¨B¾÷¨î

3.1.1¤º®Ö¦P¨B¾÷¨î¤ÀÃþ

3.1.2¦Û±ÛÂê»P«H¸¹¶qªº¤ñ¸û

3.2make¤Îmakefile

3.2.1makefile¤å¥ó

3.2.2½s¼gmakefile¤å¥ó

3.2.3make©R¥O

3.3½Õ¸Õ¤èªk

3.3.1printk

3.3.2/proc¤å¥ó¨t²Î

3.3.3½Õ¸Õ¾¹¤Î¬ÛÃö¤u¨ã

²Ä4³¹Linux¦r²Å³]³ÆÅX°Ê¶}µo

4.1ÃöÁä¼Æ¾Úµ²ºc

4.2±µ¤f¨ç¼Æ³¡¤À¤º®Ö¥N½X¤ÀªR

4.3¦r²Å³]³ÆÅX°Ê³]­p

4.3.1¦r²Å³]³ÆÅX°Ê³]­p³õ´º´y­z

4.3.2¦r²Å³]³ÆÅX°Ê³]­p¹Lµ{

²Ä5³¹Linux¤º®Ö¤¤Â_¾÷¨î

5.1¤¤Â_

5.2¤¤Â_³B²z

5.2.1ª`¥U¤¤Â_³B²zµ{§Ç

5.2.2½s¼g¤¤Â_³B²zµ{§Ç

5.3¤¤Â_¤W¥b³¡»P¤U¥b³¡ªº¹ï¤ñ

5.4¤¤Â_¤U¥b³¡

5.5BH¾÷¨î»P¥ô°È¶¤¦C¾÷¨î

5.6³n¤¤Â_

5.6.1³n¤¤Â_ªº¹ê²{

5.6.2³n¤¤Â_ªº¨Ï¥Î

5.7tasklet

5.7.1taskletªº¹ê²{

5.7.2taskletªº¨Ï¥Î

5.8¤u§@¶¤¦C

5.8.1¤u§@¶¤¦Cªº¹ê²{

5.8.2¤u§@¶¤¦Cªº¨Ï¥Î

²Ä6³¹Linux¶ô³]³ÆÅX°Ê¶}µo

6.1¶ô³]³ÆºÞ²z¾÷¨î

6.1.1¶ô³]³Æ°ò¥»·§©À

6.1.2¶ô³]³Æ¦bLinux¤¤ªºµ²ºc

6.2¶ô³]³ÆÃöÁä¼Æ¾Úµ²ºc

6.2.1gendisk¼Æ¾Úµ²ºc

6.2.2block_device_operations¼Æ¾Úµ²ºc

6.2.3request¼Æ¾Úµ²ºc

6.2.4request_queue¼Æ¾Úµ²ºc

6.2.5bio¼Æ¾Úµ²ºc

6.3¶ô³]³ÆÅX°Ê³]­p¨ç¼Æ

6.3.1¶ô³]³ÆÅX°Êª`¥U»Pª`¾P¨ç¼Æ

6.3.2¶ô³]³ÆÅX°Ê¥´¶}»PÃö³¬¨ç¼Æ

6.3.3¶ô³]³ÆÅX°Êioctl¡Bread©Mwrite¨ç¼Æ

6.3.4¶ô³]³ÆÅX°Êªº½Ð¨D¨ç¼Æ

6.4Ramdisk¶ô³]³ÆÅX°Ê¹ê¨Ò

6.4.1Ramdisk¶ô³]³ÆÅX°Ê¹ê¨Ò¤ÀªR

6.4.2Ramdisk¶ô³]³ÆÅX°Ê¹ê¨Ò´ú¸Õ

²Ä7³¹Linuxºôµ¸³]³ÆÅX°Ê¶}µo

7.1ºôµ¸³]³Æ

7.1.1ºôµ¸¨t²Î¤À¼hµ²ºc

7.1.2ºôµ¸³]³ÆºÞ²z

7.2NAPI¾÷¨î

7.3ÃöÁä¼Æ¾Úµ²ºc

7.4¤º®Ö´£¨Ñªººôµ¸³]³ÆÅX°Ê³]­p¨ç¼Æ

7.4.1alloc_netdev

7.4.2register_netdev

7.4.3ether_setup

7.4.4unregister_netdev

7.5ºôµ¸³]³ÆÅX°Ê¶}µo¹ê¨Ò

7.5.1snull_init_module¨ç¼Æ

7.5.2snull_init¨ç¼Æ

7.5.3¬ÛÃö¾Þ§@¨ç¼Æ

²Ä8³¹LinuxMMC/SDÅX°Ê¶}µo

8.1MMC¤l¨t²Î°ò¥»¬[ºc

8.2ÃöÁä¼Æ¾Úµ²ºc

8.2.1°ò¥»¼Æ¾Úµ²ºc

8.2.2°ò¥»¼Æ¾Úµ²ºc¥D­n¦¨­û¤ÎÃö¨t

8.3MMC/CD¥dÅX°Ê¹ê¨Ò

8.3.1MMC/SD¥d³]³ÆÅX°Ê³]­p³õ´º

8.3.2MMC/SD¥d³]³ÆÅX°Ê¹ê¨Ò¹ê²{

²Ä9³¹LinuxUSBÅX°Ê¶}µo

9.1USB³]³ÆºÞ²z¾÷¨î

9.1.1USB»P¦ê¤f

9.1.2USB³]³ÆÄݩʩݼ³µ²ºcºÞ²z¾÷¨î

9.1.3USB³]³ÆÅÞ¿è²Õ´ºÞ²z¾÷¨î

9.2USBÅX°ÊÃöÁä¼Æ¾Úµ²ºc¤ÀªR

9.3USB³]³ÆÅX°Ê¨ç¼Æ¤Î¨ä¨Ï¥Î»¡©ú

9.3.1«È¤áºÝÅX°ÊºÞ²z

9.3.2USB³]³Æ°t¸m©MºÞ²z

9.3.3¥D¾÷±±¨î¾¹ªººÞ²z

9.3.4¨óij±±¨î©R¥O¶°©M¼Æ¾Ú¶Ç¿éºÞ²z

9.4USB³]³ÆÅX°Ê¶}µo¹ê¨Ò

9.4.1¹ê¨Ò¶}µo³õ´º³]­p

9.4.2USB³]³ÆÅX°Ê¶}µo¹ê¨Òªº¹ê²{

9.4.3ÅX°Ê´ú¸Õ¤ÀªR

²Ä10³¹LinuxI2CÁ`½u³]³ÆÅX°Ê

10.1LinuxÁ`½uÅX°Ê¤ÎI2CÁ`½u

10.1.1LinuxÁ`½uÅX°Ê³]­p¹Lµ{

10.1.2I2CÁ`½uªº¤u§@­ì²z»PÀ³¥Î

10.1.3Á`½u°ò¥»¾Þ§@

10.2LinuxI2CÅé¨tµ²ºc

10.2.1LinuxªºI2CÅé¨tµ²ºc²Õ¦¨

10.2.2LinuxI2CÃöÁä¼Æ¾Úµ²ºc

10.3LinuxI2C®Ö¤ß

10.4LinuxI2CÁ`½uÅX°Ê

10.4.1I2C¾A°t¾¹ÅX°Ê¥[¸ü»P¨ø¸ü

10.4.2I2CÁ`½u³q«H¤èªk

10.5LinuxI2C³]³ÆÅX°Ê

10.5.1LinuxI2C³]³ÆÅX°Ê¼Ò¶ô¥[¸ü»P¨ø¸ü

10.5.2LinuxI2C³]³ÆÅX°Êªº¼Æ¾Ú¶Ç¿é

10.5.3Linuxi2cúQdev.c¤å¥ó¤ÀªR

10.6LinuxI2CÅX°Ê¹ê¨Ò¡X¡XEEPROM

10.6.1ªì©l¤Æ

10.6.2±´´ú³]³Æ

10.6.3Àˬd¾A°t¾¹ªº¥\¯à

10.6.4³X°Ý³]³Æ

10.6.5¨ä¥L¨ç¼Æ

²Ä11³¹LinuxPCIÁ`½u³]³ÆÅX°Ê

11.1PCIÁ`½u³]³Æ

11.1.1PCIÁ`½u

11.1.2PCI³]³Æ

11.2PCI³]³ÆÅX°Êµ²ºc

11.3PCI³]³ÆÅX°Ê¹ê¨Ò

11.3.1PCI³]³ÆÅX°Êµ{§Ç°ò¥»®Ø¬[

11.3.2ªì©l¤Æ³]³Æ¼Ò¶ô

11.3.3¥´¶}³]³Æ¼Ò¶ô

11.3.4¼Æ¾ÚŪ¼g©M±±¨î«H®§¼Ò¶ô

11.3.5¤¤Â_³B²z¼Ò¶ô

11.3.6ÄÀ©ñ³]³Æ¼Ò¶ô

11.3.7¨ø¸ü³]³Æ¼Ò¶ô

²Ä12³¹Linux¿é¤J³]³ÆÅX°Ê

12.1Linux¿é¤J¤l¨t²Îµ²ºc

12.2¿é¤J³]³ÆÅX°Ê®Ö¤ß¼Æ¾Úµ²ºc¤ÀªR

12.3Linux¿é¤J³]³ÆÅX°Ê¹ê¨Ò

12.3.1¿é¤J³]³ÆÅX°Ê¬yµ{

12.3.2USB¹«¼ÐÅX°Ê½s¼g¹ê¨Ò

²Ä13³¹LinuxFlashÅX°Ê¶}µo

13.1Flash¦sÀx¾¹

13.2LinuxMTD¨t²Î¼h¦¸µ²ºc

13.3ÃöÁä¼Æ¾Úµ²ºc

13.3.1mtd_infoµ²ºcÅé

13.3.2mtd_tableµ²ºcÅé

13.3.3mtd_partµ²ºcÅé

13.3.4mtd_partitionµ²ºcÅé

13.3.5map_infoµ²ºcÅé

13.4ÅX°Ê¬ÛÃö¨ç¼Æ

13.4.1add_mtd_device¨ç¼Æ

13.4.2del_mtd_device¨ç¼Æ

13.4.3add_mtd_partitions¨ç¼Æ

13.4.4del_mtd_partitions¨ç¼Æ

13.4.5do_map_probe¨ç¼Æ

13.5Nor«¬FlashÅX°Ê¹ê¨Ò

13.5.1Nor«¬FlashÅX°Ê³]­p¬yµ{

13.5.2Nor«¬FlashÅX°Ê¸Ô²Ó³]­p

13.6Nand«¬FlashÅX°Ê¹ê¨Ò

13.6.1Nand«¬Flash³]³ÆÅX°Ê³]­p¨BÆJ

13.6.2Nand«¬FlashÅX°Ê¹ê²{

°Ñ¦Ò¤åÄm

§Ç¡G