-- ·|­û / µù¥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¤ÀÃþ

¾Þ§@¨t²Î­ì«¬¡X¡Xxv6¤ÀªR»P¹êÅç

( ²Åé ¦r)
§@ªÌ¡Gù¬î©úÃþ§O¡G1. -> §@·~¨t²Î -> ºî¦X
ĶªÌ¡G
¥Xª©ªÀ¡G²MµØ¤j¾Ç¥Xª©ªÀ¾Þ§@¨t²Î­ì«¬¡X¡Xxv6¤ÀªR»P¹êÅç 3dWoo®Ñ¸¹¡G 54971
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

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

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

ĶªÌ§Ç¡G

«e¨¥¡G

¾Þ§@¨t²Î¤@µüªº¤º²[¤ñ¸ûÂ×´I¡C·í§Ú­ÌÅ¥»¡¬Y¤H¬O¾Þ§@¨t²Î°ª¤â®É¡A¥i¯à«ü³o­Ó¤H¬O¾Þ§@¨t²Î¡§¨t²ÎºÞ²z¡¨°ª¤â¡C¤]´N¬O»¡¡A³o­Ó¤H¥i¥H§Ö³t¬[³]WebªA°È¡A¯à§â±Y¼ìªº¤å¥ó¨t²Î­×´_¡A¯à³]¸m´_Âøªººôµ¸Â¶¹L¨¾¤õùÙ¤S¤£¥¢¦w¥þ¡Aµ¥µ¥¡F¤S©ÎªÌ³o­Ó¤H¬O¤@­Ó¡§¨t²Î½sµ{¡¨°ª¤â¡A¯à°÷½s¼g´_Âø¦Ó°ª®ÄªºªA°È¾¹µ{§Ç¡A±N¦h¶iµ{/¦h½uµ{¦}µo¡B³q«H»P¦P¨Bµ¥¦UºØ§ÞÃÀª±±oÄl¤õ¯Â«C¡FÁÙ¥i¯à³o­Ó¤H¬O¤@­Ó¡§¤º®Ö½sµ{¡¨ªº°ª¤â¡A¤£¶È·|½s¼g¹ê²{¤£¦P¤å¥ó¨t²Îªº¦UºØ¤º®Ö¼Ò¶ô¡BÁÙºë³q½s¼g¦UºØµw¥óªº³]³ÆÅX°Êµ{§Ç¡C
µL½×¤W­z­þºØ°ª¤â¡A³£Â÷¤£¶}¹ï¾Þ§@¨t²Î°ò¥»­ì²zªº»{ª¾¡A¦pªG¹ï¾Þ§@¨t²Îªº®Ö¤ß¾÷¨î©M½s½X¹ê²{¦³©Ò»{ª¾¡A³£±N¦pªê²KÁl¡C¾Þ§@¨t²Îªº°ò¥»­ì²z©Mºâªk¼h­±ªºª¾ÃÑ¡A§Ú­Ì¦b¤j¾Ç¥»¬ì¾Þ§@¨t²Î½Òµ{¤w¸g´x´¤±o«Ü¦n¤F¡A¦ý¹ï¤_¾Þ§@¨t²Îªº®Ö¤ß¾÷¨î¡X¡X¯S§O¬O³nµw¥óµ²¦Xªº¾÷¨î¡A«h©úÅ㤣¨¬¡A§ó§O»¡½s½X¹ê²{¤F¡C¦]¦¹¤W­±´£¨ìªº°ª¤â¡A¤j¦h¬O¦b¾·~¥Í²P¤¤¦Û§Ú­×·Ò¦Ó¦¨ªº¡C»¡¬O­×·Ò¡A¬O¦]¬°¨S¦³¨t²Îªº«ü¾É¡A¤]¨S¦³¨t²Îªº°V½m±Ð§÷¡A¬Æ¦Ü¨S¦³¤H«ü¥X¦¨ªø¾Ç²ßªº¸ô®|©M¨BÆJ¡C
¨t²Î³n¥ó¨t¦CÂO®Ñ¡A¬°¤j®a´£¨Ñ¤F©ú½Tªº¾Ç²ß¦¨ªø¸ô®|©M¥R¤Àªº¾Ç²ß§÷®Æ¡A¹Á¸Õ±N­ì¨Ó¨è­WªººN¯Á©M­×·Ò¡AÅܦ¨¤H¤H¥i¥H¬ì¾Ç¹ê¬I¦Û¾Çªº¨t¦C½Òµ{¡C§Ú­Ì±N¸Ó½Òµ{¤À¸Ñ¦¨¥|­Ó¨BÆJ³v¯Å±À¶i¡A³o¥|­Ó¨BÆJ¬O:
(1) ¥´³qC»y¨¥¡X¥i°õ¦æ¤å¥ó¡X¶iµ{¬M¹³ªº³q¸ô¡C
(2) ¥ÎÆ[´ú¤â¬q±N¾Þ§@¨t²Î±q¶Â²°ÅÜ¥Õ²°¡C
(3) ´x´¤¦b¡§»rµw¥ó¡¨¤W³]­p©M¹ê²{¾Þ§@¨t²Î®Ö¤ß¾÷¨îªº¯à¤O¡C
(4) ๬ã¯u¹ê¾Þ§@¨t²Î¥N½X¡C¡mLinux GNU Cµ{§ÇÆ[¹î¡n¬O²Ä¤@¶ô°ò¥Û¡A±N¥´³q±qC»y¨¥·½µ{§Ç¤@ª½¨ì¾Þ§@¨t²Î¶iµ{¬M¹³ªº³q¸ô¡CC»y¨¥½sµ{©M¶iµ{ªº·§©À¡A¤j®a³£«Ü¼ô±x¡A¦ý¬O¦p¦ó±qC»y¨¥¨ì¶iµ{¡A³o¨âªÌ¶¡ªºÀô¸`¯Ê¥¢¤Ó¦h¡C¡mLinux GNU Cµ{§ÇÆ[¹î¡n¦ÛºÙ¬°C»y¨¥ªº¡§¤U¥b³¡¡¨°ò¥Û¡A¼á²M¤F¡]1¡^C»y¨¥¥N½X¦p¦ó½sĶ¦¨¶×½s¥N½X¡F ¡]2¡^¶×½s¥N½X¡]ÄY®æ»¡¬O¤G¶i¨î¾÷¾¹½X¡^¦p¦ó³q¹LÃì±µ§Î¦¨¥i°õ¦æ¤å¥ó¡AÃì±µ¹Lµ{¤¤²Å¸¹¸ÑªR©MÀRºA/°ÊºA­«©w¦ì¹Lµ{¡A¥H¤Î³Ì²×ªºELF¤å¥ó®æ¦¡¡F ¡]3¡^ELF®æ¦¡¦p¦ó±N¥i°õ¦æ¤å¥ó³Ð«Ø¶iµ{¬M¹³¡F ¡]4¡^¦p¦ó¸òÂÜ©M¤ÀªRµ{§Ç¹B¦æªº¦æ¬°¡C¦b¸Ñ¨M¤F¶iµ{¬M¹³«ç¤\¨Óªº°ÝÃD¦Z¡A´N¥i¥H¶i¤J¤U¤@­Ó°ÝÃD¡X¡X¦h­Ó¶iµ{¦b¾Þ§@¨t²Î¤¤¦p¦ó¦@¦s¡A¦p¦ó³Q¾Þ§@¨t²ÎºÞ²z¡C
¾Þ§@¨t²Î­ì«¬¡X¡Xxv6¤ÀªR»P¹êÅç«e¨¥¡m¾Þ§@¨t²Î¤§½sµ{Æ[¹î¡n«h¬O²Ä¤G¶ô°ò¥Û¡A±N­ì¨Ó³Q¿ù§@¶Â²°ªº¾Þ§@¨t²Î¡A³q¹L/proc¤å¥ó¨t²Îµ¥¤â¬q¶i¦æÆ[´ú¡B´ú¶q¡A±q¦Ó«Ø¥ß¹ï¾Þ§@¨t²Î¥\¯à©M¦æ¬°ªºª½Æ[»{ª¾¡C¸Ó®Ñ­º¥ýµ¹ÅªªÌ¤¶²Ð¤F¤@´Ú¥²³Æ¤u¨ã¡X¡X¨äÃþ¦ü¤_¹q¸ô½Òµ{¤¤ªº¸U¥Îªí©M¥Üªi¾¹¡C¨ä¦¸¬O±N¥»¬ì¾Þ§@¨t²Î½Òµ{¾Ç²ß¹Lªº¥|¤jºÞ²z¡A³q¹L¨t²Î½sµ{ª¾Ãѳv¤@½s¼gÀ³¥Îµ{§Ç¡A½Õ¥Î©ÎIJµo¾Þ§@¨t²Îªº¬ÛÃö¥\¯à¡A¦}¥Î/proc¤Î¨ä¥L¤º®Ö´ú¶q/²Î­p«H®§¡A¤ÀªR¦h­Ó¶iµ{¦b¾Þ§@¨t²Îµo¥X¦UºØ½Ð¨D®É©Òµo¥Íªº°Ê§@¡C¨Ò¦p¡A¥iÆ[¹î©Î©w¶q¦aµ¹¥X¤F¶iµ{ªÅ¶¡¦]¤À°t¡B¦^¦¬©M¤å¥ó¬M®gµ¥¦æ¬°¤Þ°_ªº°ï¡B´Ìªº°ÊºAÅܤơF¦h¶iµ{/¦h½uµ{ªº¦UºØ¸ê·½¶}¾P¡A¦]½Õ«×µ¦²¤©MÀu¥ý¯Åªº®t²§¦ÓÄvª§CPU¨Ï¥Î®É¶¡¡A¦]­t¸ü§¡¿Å¦Ó¦b¦h­ÓCPU¶¡¾E²¾µ¥¡F¤å¥ó¨t²Î¤Wªº¤¸¼Æ¾Ú®æ¦¡¤Î¨ä¦b¤å¥ó¾Þ§@¹Lµ{¤¤§e²{ªºÅܤƵ¥µ¥¡C¦¹®É¡A¥i¥H»¡ÅªªÌ¤w¸g¯à±N¥»¬ì¾Þ§@¨t²Î½Òµ{¤¤ªº·§©À¡A»P¾Þ§@¨t²Îªº¨ãÅé¦æ¬°«Ø¥ß°_¤F¥þ­±ªº¹ïÀ³Ãö¨t¡A¯àÀò±oª¾ÃѸ¨¦aªº·Pı¡C
²Ä¤T¶ô°ò¥Û¬O¡m¾Þ§@¨t²Î­ì«¬¡X¡Xxv6¤ÀªR»P¹êÅç¡n¡A¬°ÅªªÌ´£¨Ñ¾Þ§@¨t²Î½s½X¹ê²{ªºªì¨B¸gÅç¡Cxv6¬O¾Þ§@¨t²Î¹êÅ窺¨å«¬¨t²Î¡A³Q¤j®a¼sªx¾Ç²ß¡C¦pªGŪªÌ¥u¬O·Q¹s¬P¦aÅéÅç¤@¤U¤º®Ö³]­p¡A¤ñ¦p¬Ý¬Ý¶iµ{ºÞ²z¡B¶iµ{½Õ«×¡A·|µo²{«D±`²³æ¡A¬Æ¦Ü°¨¤W´N¯àµo²{¼W±j©ÎÀu¤Æªº¦a¤è¡C¦ýxv6¥»¨­¦}«D¥u±Mª`¤_¸Ñ¨M¥|¤jºÞ²zªº¤W¼h°ÝÃD¡A¦Ó¬O§ó±Mª`¤_¸Ñ¨M¦p¦ó¦b¡§»rµw¥ó¡¨¤W¤ä¼µ¤À­¶¡B¶iµ{¤Á´«¡]¬M¹³¤Á´«©M°õ¦æ¬y¤Á´«¡^¡B¤¤Â_»P¨t²Î½Õ¥Î¡B¨t²Î±Ò°Êµ¥©³¼h¾÷¨î¤Wªº°ÝÃD¡CÁöµM¤¬Ápºô¤W¦³¦U¦ì°ª¤â¹ï¤£¦P¤l¨t²Îªº¸ÔºÉ¤ÀªR¡A¦ý¤]¬O¤W¼h¤ÀªR©~¦h¡A©³¼h²Ó¸`°¾¤Ö¡A¦Ó¥B¯Ê¤Ö¿W¥ß¸ÔºÉªº§÷®Æ¯à±N©Ò»Ýªºª¾ÃѨt²Î¦a¦³ÅÞ¿è¦a§e²{µ¹ÅªªÌ¡C¦]¬°xv6¥»¨­³Â³¶Áö¤p¦ý­±­±­Ñ¨ì¡A©Ò¥H¡m¾Þ§@¨t²Î­ì«¬¡X¡Xxv6¤ÀªR»P¹êÅç¡n¤]±N·½¥N½Xªº¤ÀªR°µ¨ì­±­±­Ñ¨ì¡X¡X§¹¾ã¦a¤ÀªR¤Fxv6ªº©Ò¦³¤º®e¡A¥]¬AC·½¤å¥ó¡B¶×½sS¤å¥ó¡BMakefile¡A¥H¤Î©Ò»Ýªºx86³B²z¾¹©M®Ö¥~ªºÁä½L¡BÅã¥Ü¾¹©Mµw½L±±¨î¾¹µ¥µw¥óª¾ÃÑ¡C¯S§O¬OÃö¤_x86ªº¦a§}³¡¥ó©M¶iµ{°õ¦æ¬y¤Á´«¹Lµ{ªº²Ó¸`¡AÅé²{¤Fºë¥©ªº³]­p«ä¸ô©M½sµ{§Þ¥©¡AÄݤ_¤ñ¸û¿N¸£ªº³¡¤À¡C°£¦¹¤§¥~¡A¥»®ÑÁÙ´£¨Ñ¤Fªì¯Å¡B¤¤¯Å©M°ª¯Å¤TºØ¹êÅç¤Î¨ä¥Ü¨Ò¥N½X¡A¤]³]­p¤F¤@¨ÇÃB¥~ªº½m²ßÃD¥Ø¡A¥H¨ÑŪªÌ½m¤â¤§¥Î¡C·íŪªÌ½ñ¤W²Ä¤T¶ô°ò¥Û¤§®É¡A¤w¸g¹ï¾Þ§@¨t²Îªº³]­p©M½s½X¹ê²{¤FµM¤_¯Ý¡A¤j¦h¼Æ¤H¤]¥i¤î¨B¤_¦¹¡C
¡mLinux§Þ³N¤º¹õ¡n«h¬O¥»¨t¦Cªº³Ì¦Z¤@¶ô°ò¥Û¡A¤]¬O¨t¦CÂO®Ñ¤¤³ÌÁc¤¾ªº¤@³¡¡C¹ï¤_»Ý­n¦bLinux¯u¹ê¨t²Î¤W¶i¦æ¶}µo¹ê½îªºÅªªÌ¡A¥i¥H±N¥¦§@¬°³Æ¿ï§÷®Æ¤§¤@¡A²¦³ºLinux¤º®Öªº´X³¡¸g¨å®ÑÄy¤j®a³£¦Õ¼ô¯à¸Ô¡C¦ý¥»®Ñ¦³¦Û¤vªº¯S¦â©MÀu¶Õ¡A¥D­nÅé²{¤_¶}½g®Éµ¹¥X¤F¾Þ§@¨t²Îªº¦h¨¤«×µø¹Ï¡A©Ý®iŪªÌ«ä¦Ò¤ÀªRªºµø¨¤¡AÁקK³´¤Jª¼¤HºN¶Hªº§x¹Ò¡CŪªÌ­É§U¤_©ú½Tªº¥\¯à¼Ò«¬¡B¤º¦s¼Ò«¬©M®ÉªÅ¼Ò«¬³o¤T­Óµø¨¤¡A¯à¦b¾\Ū·½½X¹Lµ{¤¤±Nª¾ÃѤº¤Æ©M¦Û¬¢¡C¨ä¦¸¦b¤@¨Ç§½³¡¥DÃD¤W¤]¥i¯à¦³¤@¨ÇÀu¶Õ¡A¨Ò¦p¶iµ{¤Á´«²Ó¸`¡B¤å¥ó¨t²Î¦U³¡¥óªºÁp¨tµ¥¡C
¨t²Î³n¥ó¨t¦CÂO®Ñ¦@4¥»¡A¨ä¤¤«e¤T¥»³£¬O¿W¨ã¯S¦â¡A¦U¦³«Ø¾ð¡A¬O¨t²Î³n¥ó¾Ç²ßÀô¸`¤£¥i©Î¯Êªºª¾Ãѧ÷®Æ¡A²Ä¥|¥»¤]¥i°é¥iÂI¡C¥»¨t¦CÂO®Ñ¨Ó·½¤_²`¦`¤j¾Ç°ª©Ê¯à­pºâ©Òªº±Ð¬ã¹ê½î¡A°ò¤_Àsªä©MOpen Power8ªº°ê²£°ª©Ê¯à­pºâ¾÷¬ã¨î¡A¥H¤ÎµØ¬°©ø¨Ú¤p«¬¾÷¡BµØ¬°®õ¤s/óËÄPªA°È¾¹¨t²Î³n¥ó¶}µo¡A¥Ñ¿n²Öªº¥»¬ì©M¬ã¨s¥Í±Ð¾Ç¾Þ§@¨t²Îªº¸gÅç¶×¶°¦Ó¦¨¡C
¦b¾Þ§@¨t²Îªº¾Ç²ß¹Lµ{¤¤¡A³ÌÃø¤§³B¦b¤_±Nª¾ÃѤº¤Æ©M¦Û¬¢¡C¾Þ§@¨t²Î§@¬°¸ó¶V³n¥ó©Mµw¥óªº¨t²Î³n¥ó¡A©Ò»Ý­I´ºª¾ÃÑ·¥¬°ÃeÂø¡C¦pªG¤£¯à¦³®Ä¦a±q¤£¦P¨Ó·½Àò¨úª¾ÃÑ¡A¦}±N³o¨Çª¾ÃѨt²Î©Ê¦aºî¦X°_¨Ó¡AÃø«×·¥¤j¥B®Ä²v·¥§C¡C§Ú­Ì§Æ±æ¥»¨t¦CÂO®Ñ©Ò¶×»E©M²Õ´ªºª¾Ãѯন¬°ÅªªÌªºÃkµn°ò¥Û¡A¨ó§UŪªÌ¤@°_±À°Ê¨t²Î³n¥óªºµo®i¶i¨B¡I

²`¦`¤j¾Ç­pºâ¾÷»P³n¥ó¾Ç°|°ª©Ê¯à­pºâ©Ò¨t²Î§Þ³N²Õù¬î©ú2021¦~6¤ë
¤º®e²¤¶¡G

¥»®Ñ§@¬°¨t²Î³n¥ó¨t¦CÂO®Ñªº²Ä¥|¥»¡A»P¤w¥Xª©ªº¡mLinux GNU Cµ{§ÇÆ[¹î¡n¡m¾Þ§@¨t²Î¤§½sµ{Æ[¹î¡n¡mLinux§Þ³N¤º¹õ¡n¦@¦P²Õ¦¨¨t²Î³n¥ó¾Ç²ßªº»¼¶i¾Ç²ß§÷®Æ¡C
¥»®Ñ¦@12³¹¡A¥þ­±¤ÀªR¤Fxv6ªº¹ê²{¦}´£¨Ñ¤FÂ×´Iªº¹êÅç¤Î¨ä¥Ü¨Ò¥N½X¡C¦b¤ÀªR¤è­±¤£¶È¥]§t¤F´X¥G§¹¾ãªºC¥N½X¸ÑŪ¡AÁÙ¥]¬A½sĶ¡BÃì±µ©Mµ{§Ç¸Ë¤J²Ó¸`¡A¦}µ¹¥X¤FQEMU¥é¯u¡BGDB½Õ¸Õ©M©³¼h¨t²Îµw¥ó¬[ºc¬ÛÃöªº¥²­nª¾ÃÑ¡C¹êÅç¤è­±¦w±Æ¤F¤Jªù¡B¤¤¯Å©M°ª¯Å¤T­Ó¼h¦¸ªº¤º®e: ¤Jªù¹êÅç«ü¾ÉŪªÌ¦Û¦æ¼W¥[¤@­Ó¨t²Î½Õ¥Î¦}³q¹LÀ³¥Îµ{§ÇÅçÃÒ¨ä¥\¯à¡A¶}±Ò­×§ï¾Þ§@¨t²Î²Ä¤@¨B¡F¤¤¯Å¹êÅç¥þ­±ÅéÅç¤F½Õ«×¾÷¨î©Mºâªk¡A¥H¤Î¶iµ{¶¡³q«H¤¤ªº«H¸¹¶q¡B¦@¨É¤º¦s©M®ø®§¶¤¦Cªº¹ê²{¡AÁÙ¦³¤º¦sºÞ²z¤¤ªºÂ÷´²¤º¦sºÞ²z©M¥N½X¼Æ¾Ú¹jÂ÷¹êÅç¡F°ª¯Å¹êÅçºî¦X¦h¤è­±ªºª¾ÃÑ¡A¹ê²{½uµ{¾÷¨î¡B¤å¥ó¥\¯àÂX®i¡BµêÀÀ¤º¦s¹êÅç¥H¤Î¦h²×ºÝ¹êÅç¡C
¥»®Ñ¥i§@¬°­pºâ¾÷¬ÛÃö±M·~¥»¬ì°ª¦~¯Å¾Ç¥Í©M¬ã¨s¥Íªº¾Þ§@¨t²Î¹êÅç½Òµ{±Ð¾Ç¥Î®Ñ¡A¤]¥i§@¬°¬ÛÃö±M·~¤H­û²`¤J¤F¸Ñ¾Þ§@¨t²Îªº¹ê½î¥Î®Ñ¡C
¥Ø¿ý¡G

²Ä1³¹xv6¦w¸Ë¨Ï¥Î1
1.1¹B¦æ¤_QEMUªºxv61
1.1.1CentOS7+QEMU+xv61
1.1.2Ubuntu18+QEMU+xv62
1.2½Õ¸ÕÆ[¹î4
1.2.1xv6shell©R¥O4
1.2.2QEMU+gdb½Õ¸Õ6
1.2.3¦h®Ö½Õ¸Õ10
1.3¥»³¹¤pµ²12
½m²ß13
²Ä2³¹¤Jªù¹êÅç14
2.1·s¼W¥i°õ¦æµ{§Ç15
2.1.1ºÏ½L¬M¹³ªº¥Í¦¨15
2.1.2²K¥[²³æµ{§Ç16
2.2·s¼W¨t²Î½Õ¥Î18
2.2.1¨t²Î½Õ¥Î¥Ü¨Ò19
2.2.2²K¥[¨t²Î½Õ¥Î20
2.2.3ÅçÃÒ·s¨t²Î½Õ¥Î22
2.3Æ[¹î½Õ«×¹Lµ{23
2.4¥»³¹¤pµ²25
½m²ß25
²Ä3³¹xv6·§­z26
3.1xv6¥N½XÁ`Äý26
3.2xv6¤G¶i¨î¥N½X»PÃè¹³27
3.2.1±Ò°Ê®°°Ï27
3.2.2¤º®Ö¥N½X31
3.2.3ºÏ½LÃè¹³40
3.2.4xv6ªºMakefile43
3.3xv6¤º®Ö²¤¶51
3.3.1¶iµ{ºÞ²z52
3.3.2¤º¦sºÞ²z56
3.3.3¤å¥ó¨t²Î57
3.3.4³]³Æ59
3.4¥»³¹¤pµ²59
½m²ß59
¾Þ§@¨t²Î­ì«¬¡X¡Xxv6¤ÀªR»P¹êÅç¥Ø¿ý
²Ä4³¹¨t²Î±Ò°Ê60
4.1¥þ§½©Ê«H®§60
4.1.1xv6¨t²Î±`¼Æ¡]param.h¡^60
4.1.2x86.hµw¥ó¬ÛÃö¥N½X61
4.2bootblock70
4.2.116¦ì/32¦ì¼Ò¦¡71
4.2.2bootasm.S72
4.2.3bootmain.c83
4.2.4ELF¤å¥ó®æ¦¡87
4.3kernel±Ò°Ê89
4.3.1±Ò°Ê¤À­¶90
4.3.2main()95
4.4¦h®Ö±Ò°Ê100
4.4.1ÀË´ú¦h®Ö«H®§100
4.4.2¿E¬¡¨ä¥L³B²z¾¹107
4.5³q¥Î¥N½X111
4.6QEMU¥é¯u©R¥O114
4.7¥»³¹¤pµ²115
½m²ß116
²Ä5³¹¤º¦sºÞ²z118
5.1ª«²z¤º¦sªì©l¤Æ¡]PúQI¡^119
5.1.1¦­´Á¥¬§½119
5.1.2ª«²z­¶´Vªºªì©l¤Æ120
5.1.3kalloc.c©Mmmu.h122
5.2­¶´Vªº¤À°t»P¦^¦¬¡]PúQR¡^126
5.3¤º®ÖªÅ¶¡126
5.3.1¤º®Ö­¶ªí¡]KúQI¡^127
5.3.2¤º®Ö­¶ªí¤Á´«¡]KúQR¡^129
5.3.3vm.c131
5.4¶iµ{¥Î¤áªÅ¶¡149
5.4.1¥Î¤áªÅ¶¡¬M¹³¡]UúQI¡^150
5.4.2¤À°t»P¦^¦¬¡]UúQR¡^152
5.4.3¥Î¤á¶iµ{ªÅ¶¡¤Á´«153
5.4.4¤º®ÖªÅ¶¡»P¥Î¤áªÅ¶¡¥æ´«¼Æ¾Ú153
5.5¥»³¹¤pµ²154
½m²ß155
²Ä6³¹¶iµ{ºÞ²z»P¦P¨B156
6.1¶iµ{ºÞ²z156
6.1.1½Õ«×ª¬ºA»P°õ¦æ²{³õ156
6.1.2¶iµ{±±¨î175
6.1.3°õ¦æ¬yªº¤Á´«184
6.2¤º®Ö¦P¨B¡X¡X¦Û±ÛÂê190
6.2.1spinlock.h190
6.2.2spinlock.c191
6.3¥Î¤áÀ³¥Îµ{§Ç195
6.3.1¹B¦æµ{§Ç195
6.3.2²Ä¤@­Ó¥Î¤á¶iµ{init200
6.3.3sh.c203
6.3.4xv6´ú¸Õ¡]usertests.c¡^218
6.3.5¥Î¤á¶iµ{ªºELF220
6.3.6ULIB®w221
6.4¥»³¹¤pµ²230
½m²ß231
²Ä7³¹¤¤Â_/²§±`/¨t²Î½Õ¥Î232
7.1¤¤Â_¤Î¨ä³B²z233
7.1.1¤¤Â_¾ãÅé´y­z233
7.2¨t²Î½Õ¥Î245
7.2.1¨t²Î½Õ¥Î®Ø¬[246
7.2.2¼Æ¾Ú¶Ç»¼254
7.2.3¥Î¤áºA±µ¤f255
7.3¥»³¹¤pµ²259
½m²ß260
²Ä8³¹¤¤¯Å¹êÅç261
8.1½Õ«×¹êÅç261
8.1.1½Õ¾ã®É¶¡¤ùªø«×261
8.1.2Àu¥ý¯Å½Õ«×264
8.2¹ê²{«H¸¹¶q273
8.2.1¦@¨ÉÅܶq¤Î¨ä³X°Ý273
8.2.2«H¸¹¶q¼Æ¾Úµ²ºc275
8.2.3«H¸¹¶q¾Þ§@ªº¨t²Î½Õ¥Î276
8.2.4¥Î¤á´ú¸Õ¥N½X280
8.3¹ê²{¶iµ{¶¡³q«Hªº¹êÅç282
8.3.1¦@¨É¤º¦sªº¹ê²{282
8.3.2®ø®§¶¤¦Cªº¹ê²{299
8.4¤º¦sºÞ²z¹êÅç317
8.4.1¹ê²{myfree()©Mmyalloc()¨t²Î½Õ¥Î317
8.4.2¥N½X»P¼Æ¾Ú¹jÂ÷324
8.5¥»³¹¤pµ²331
½m²ß331
²Ä9³¹xv6fs¤å¥óºÞ²z333
9.1xv6fs¤å¥ó¨t²Î333
9.1.1xv6fs·§­z334
9.2¤å¥ó¨t²Î¾Þ§@344
9.2.1½L¶ô¾Þ§@345
9.2.2¯Á¤Þ¸`ÂI¾Þ§@356
9.2.3¥Ø¿ý¾Þ§@372
9.2.4¤å¥ó378
9.2.5¨t²Î½Õ¥Î386
9.3«D®Ö¤ß¥\¯à401
9.3.1¤é§Ó¼h401
9.3.2¯S®í¤å¥ó411
9.4¥»³¹¤pµ²415
½m²ß416
²Ä10³¹³]³ÆºÞ²z417
10.1²×ºÝ³]³Æ417
10.1.1console/tty/terminal/shell417
10.1.2²×ºÝ¤ÎCGAÅã¥Ü¾¹418
10.1.3Áä½L430
10.1.4¦ê¤f439
10.2¨ä¥Lµw¥ó442
10.2.1©w®É¾¹442
10.2.2IDEºÏ½L/¶ô³]³Æ443
10.3¤¤Â_±±¨î¾¹449
10.3.1APIC450
10.3.2IOAPIC451
10.3.3LAPIC457
10.4¥»³¹¤pµ²468
½m²ß468
²Ä11³¹°ª¯Å¹êÅç469
11.1¹ê²{xv6¤º®Ö½uµ{469
11.1.1­×§ïPCB469
11.1.2sys_clone©Msys_join¨t²Î½Õ¥Î470
11.1.3½uµ{®wªº¹ê²{474
11.1.4´ú¸Õ¼Ë¨Ò476
11.2¤å¥ó¨t²Î¹êÅç478
11.2.1¤å¥óÅv­­478
11.2.2«ì´_³Q§R°£ªº¤å¥ó484
11.2.3ºÏ½L»r³]³ÆªºÅª¼g488
11.3µêÀÀ¤º¦s494
11.3.1µê¦s¥æ´«¾÷¨î495
11.3.2¯Ê­¶²§±`498
11.3.3¥\¯àÅçÃÒ501
11.4¥Î¤áúQ²×ºÝ¹êÅç504
11.4.1³]­p«ä¸ô505
11.4.2¥N½X¹ê²{506
11.4.3¥\¯àÅçÃÒ518
11.5¥»³¹¤pµ²523
½m²ß523
²Ä12³¹x86¬[ºc·§­z524
12.1x86ªºISA¬[ºc524
12.1.1±H¦s¾¹524
12.1.2¤º¦s²Õ´530
12.2x86MMU¦a§}³¡¥ó531
12.2.1¼Ò¦¡¤Î¦a§}ªÅ¶¡531
12.2.2¹ê¦a§}¼Ò¦¡533
12.2.3«OÅ@¼Ò¦¡535
12.2.4¤À­¶¾÷¨î543
12.3¤¤Â_/²§±`/¨t²Î½Õ¥Î547
12.3.1¤¤Â_¾÷¨î548
12.3.2¤¤Â_´y­z²ÅªíIDT548
12.3.3TSS©M¤º®Ö´Ì554
12.4¥»³¹¤pµ²560
§Ç¡G