-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
10/8 ·s®Ñ¨ì¡I 10/1 ·s®Ñ¨ì¡I 9/24 ·s®Ñ¨ì¡I 9/18 ·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¤ÀÃþ

©b¶]§aLinux¤º®Ö¡]²Ä2ª©¡^¨÷1¡G°ò¦¬[ºc

( ²Åé ¦r)
§@ªÌ¡G²Â¨ûÃþ§O¡G1. -> §@·~¨t²Î -> Linux
ĶªÌ¡G
¥Xª©ªÀ¡G¤H¥Á¶l¹q¥Xª©ªÀ©b¶]§aLinux¤º®Ö¡]²Ä2ª©¡^¨÷1¡G°ò¦¬[ºc 3dWoo®Ñ¸¹¡G 53802
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¦³®w¦s¡j
NT°â»ù¡G 695 ¤¸

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

ĶªÌ§Ç¡G

«e¨¥¡G

¤º®e²¤¶¡G

¥»®Ñ°ò¤_Linux 5.0¤º®Öªº·½¥N½XÁ¿­zLinux¤º®Ö¤¤®Ö¤ß¼Ò¶ôªº¹ê²{¡C¥»®Ñ¦@9³¹¡A¥D­n¤º®e¥]¬A³B²z¾¹¬[ºc¡BARM64¦bLinux¤º®Ö¤¤ªº¹ê²{¡B¤º¦sºÞ²z¤§¹w³Æª¾ÃÑ¡Bª«²z¤º¦s»PµêÀÀ¤º¦s¡B¤º¦sºÞ²z¤§°ª¯Å¥DÃD¡B¤º¦sºÞ²z¤§¹ê¾Ô®×¨Ò¡B¶iµ{ºÞ²z¤§°ò¥»·§©À¡B¶iµ{ºÞ²z¤§½Õ«×©M­t¸ü§¡¿Å¡B¶iµ{ºÞ²z¤§½Õ¸Õ»P®×¨Ò¤ÀªR¡C
¥»®Ñ¾A¦XLinux¨t²Î¶}µo¤H­û¡B´O¤J¦¡¨t²Î¶}µo¤H­û¤ÎAndroid¶}µo¤H­û¾\Ū¡A¤]¥i¨Ñ­pºâ¾÷¬ÛÃö±M·~ªº®v¥Í¾\Ū¡C
¥Ø¿ý¡G

²Ä¡@1³¹ ³B²z¾¹¬[ºc¡@1
1.1¡@³B²z¾¹¬[ºc¤¶²Ð¡@3
1.1.1¡@ºë²«ü¥O¶°©M´_Âø«ü¥O¶°¡@3
1.1.2¡@¤j/¤pºÝ¦r¸`§Ç¡@3
1.1.3¡@¤@±ø¦sÀxŪ¼g«ü¥Oªº
°õ¦æ¥þ¹Lµ{¡@4
1.1.4¡@¤º¦s«Ì»Ù²£¥Íªº­ì¦]¡@8
1.1.5¡@°ª³t½w¦sªº¤u§@¤è¦¡¡@10
1.1.6¡@°ª³t½w¦sªº¬M®g¤è¦¡¡@11
1.1.7¡@²Õ¬ÛÁpªº°ª³t½w¦s¡@13
1.1.8¡@PIPT©MVIVTªº°Ï§O¡@14
1.1.9¡@­¶ªíªº³Ð«Ø©M¬d¸ß¹Lµ{¡@17
1.1.10¡@TLB¡@21
1.1.11¡@MESI¨óij¡@21
1.1.12¡@°ª³t½w¦s°°¦@¨É¡@26
1.1.13¡@°ª³t½w¦s¦bLinux¤º®Ö¤¤ªº
À³¥Î¡@27
1.1.14¡@ARMªº¤j/¤p®Ö¬[ºc¡@28
1.1.15¡@°ª³t½w¦s¤@­P©Ê©M¤@­P©Ê
¤º¦s¼Ò«¬¡@30
1.1.16¡@°ª³t½w¦sªº¦^¼gµ¦²¤©M
´À´«µ¦²¤¡@30
1.1.17¡@NUMA¡@31
1.1.18¡@ARM³B²z¾¹³]­p¡@32
1.1.19¡@³Ì·s¶i®i¡@33
1.2¡@ARM64¬[ºc¡@34
1.2.1¡@ARMv8-A¬[ºc¡@34
1.2.2¡@ªö¥ÎARMv8¬[ºcªº±`¨£³B²z¾¹
¤º®Ö¡@35
1.2.3¡@ARMv8¬[ºc¤¤ªº°ò¥»·§©À¡@35
1.2.4¡@ARMv8³B²z¾¹°õ¦æª¬ºA¡@36
1.2.5¡@ARMv8¤ä«ùªº¼Æ¾Ú¼e«×¡@36
1.2.6¡@¤£¹ï»ô³X°Ý¡@37
1.3¡@ARMv8±H¦s¾¹¡@37
1.3.1¡@³q¥Î±H¦s¾¹¡@37
1.3.2¡@³B²z¾¹ª¬ºA¡@38
1.3.3¡@¯S®í±H¦s¾¹¡@39
1.3.4¡@¨t²Î±H¦s¾¹¡@41
1.4¡@A64«ü¥O¶°¡@42
1.4.1¡@±`¥Îªººâ³N©M·h²¾«ü¥O¡@42
1.4.2¡@­¼ªk©M°£ªk«ü¥O¡@43
1.4.3¡@²¾¦ì¾Þ§@«ü¥O¡@45
1.4.4¡@¦ì¾Þ§@«ü¥O¡@45
1.4.5¡@±ø¥ó¾Þ§@¡@47
1.4.6¡@¤º¦s¥[¸ü«ü¥O¡@48
1.4.7¡@¦h¦r¸`¤º¦s¥[¸ü©M¦sÀx«ü¥O¡@50
1.4.8¡@«D¯SÅv³X°Ý¯Å§Oªº¥[¸ü©M¦sÀx
«ü¥O¡@50
1.4.9¡@¤º¦s«Ì»Ù«ü¥O²¤¶¡@51
1.4.10¡@¿W¥e¤º¦s³X°Ý«ü¥O¡@51
1.4.11¡@¸õÂà»P¤ñ¸û«ü¥O¡@52
1.4.12¡@²§±`³B²z«ü¥O¡@53
1.4.13¡@¨t²Î±H¦s¾¹³X°Ý«ü¥O¡@54
1.5¡@GCC¤ºÁp¶×½s¡@55
1.6¡@¨ç¼Æ½Õ¥Î¼Ð·Ç©M´Ì¥¬§½¡@57
1.7¡@ARM64²§±`³B²z¡@59
1.7.1¡@²§±`Ãþ«¬¡@59
1.7.2¡@¦P¨B²§±`©M²§¨B²§±`¡@60
1.7.3¡@²§±`µo¥Í¦Zªº³B²z¡@60
²Ä¡@2³¹ ARM64¦bLinux¤º®Ö¤¤ªº¹ê²{¡@62
2.1¡@ARM64¤º¦sºÞ²z¡@63
2.1.1¡@­¶ªí¡@63
2.1.2¡@­¶ªí¬M®g¡@64
2.1.3¡@­¶ªí¶µ´y­z²Å¡@65
2.1.4¡@Linux¤º®Ö¤¤ªº­¶ªí¡@68
2.1.5¡@ARM64¤º®Ö¤º¦s¤À¥¬¡@74
2.1.6¡@®×¨Ò¤ÀªR¡GARM64ªº­¶ªí¬M®g
¹Lµ{¡@78
2.2¡@°ª³t½w¦sºÞ²z¡@84
2.3¡@TLBºÞ²z¡@87
2.4¡@¤º¦sÄÝ©Ê¡@90
2.4.1¡@¤º¦sÄÝ©Ê¡@91
2.4.2¡@°ª³t½w¦s¦@¨ÉÄÝ©Ê¡@94
2.5¡@¤º¦s«Ì»Ù¡@95
2.5.1¡@¤º¦s«Ì»Ù«ü¥O¡@95
2.5.2¡@¥[¸ü-Àò¨ú«Ì»Ù­ì»y»P¦sÀx-
ÄÀ©ñ«Ì»Ù­ì»y¡@96
2.6¡@Linux¤º®Ö¶×½s¥N½X¤ÀªR¡@97
2.6.1¡@Ãì±µ¤å¥ó°ò¦ª¾ÃÑ¡@97
2.6.2¡@vmlinux.lds.S¤å¥ó¤ÀªR¡@99
2.6.3¡@±Ò°Ê¶×½s¥N½X¡@102
2.6.4¡@³Ð«ØùÚµ¥¬M®g©M¤º®Ö¬M¹³
¬M®g¡@106
2.6.5¡@__cpu_setup¨ç¼Æ¤ÀªR¡@114
2.6.6¡@__primary_switch¨ç¼Æ¤ÀªR¡@117
2.7¡@Ãö¤_­¶ªíªº±`¨£ºÃ°Ý¡@120
2.7.1¡@Ãö¤_¤U¤@¯Å­¶ªí°ò¦a§}¡@121
2.7.2¡@³n¥ó¹M¾ú­¶ªí¡@121
²Ä3³¹¡@¤º¦sºÞ²z¤§¹w³Æª¾ÃÑ¡@124
3.1¡@±qµw¥ó¨¤«×¬Ý¤º¦sºÞ²z¡@126
3.1.1¡@¤º¦sºÞ²zªº¡§»·¥j®É¥N¡¨¡@126
3.1.2¡@¤À¬q¾÷¨î¡@127
3.1.3¡@¤À­¶¾÷¨î¡@128
3.1.4¡@µêÀÀ¦a§}¨ìª«²z¦a§}ªº
Âà´«¡@128
3.2¡@±q³n¥ó¨¤«×¬Ý¤º¦sºÞ²z¡@129
3.2.1¡@±qLinux¨t²Î¨Ï¥ÎªÌªº¨¤«×¬Ý
¤º¦sºÞ²z¡@129
3.2.2¡@±qLinuxÀ³¥Îµ{§Ç¶}µo¤H­ûªº
¨¤«×¬Ý¤º¦sºÞ²z¡@130
3.2.3¡@±q¤º¦s¤À¥¬ªº¨¤«×¬Ý
¤º¦sºÞ²z¡@131
3.2.4¡@±q¶iµ{ªº¨¤«×¬Ý¤º¦sºÞ²z¡@131
3.2.5¡@±qLinux¤º®Öªº¨¤«×¬Ý
¤º¦sºÞ²z¡@135
3.3¡@ª«²z¤º¦sºÞ²z¤§¹w³Æª¾ÃÑ¡@136
3.3.1¡@¤º¦s¬[ºc¤§UMA©MNUMA¡@136
3.3.2¡@¤º¦sºÞ²z¤§¼Æ¾Úµ²ºc¡@138
3.3.3¡@¤º¦s¤j¤p¡@140
3.3.4¡@ª«²z¤º¦s¬M®g¡@141
3.3.5¡@zoneªì©l¤Æ¡@143
3.3.6¡@ªÅ¶¡¹º¤À¡@145
3.3.7¡@ª«²z¤º¦sªì©l¤Æ¡@146
²Ä4³¹¡@ª«²z¤º¦s»PµêÀÀ¤º¦s¡@152
4.1¡@­¶­±¤À°t¤§§Ö³t¸ô®|¡@153
4.1.1¡@¤À°tª«²z­¶­±ªº±µ¤f¨ç¼Æ¡@154
4.1.2¡@¤À°t±»½X¡@155
4.1.3¡@alloc_pages()¨ç¼Æ¡@158
4.1.4¡@get_page_from_freelist()¨ç¼Æ¡@162
4.1.5¡@zone_watermark_fast()¨ç¼Æ¡@164
4.1.6¡@rmqueue()¨ç¼Æ¡@165
4.1.7¡@ÄÀ©ñ­¶­±¡@167
4.1.8¡@¤pµ²¡@170
4.2¡@slab¤À°t¾¹¡@170
4.2.1¡@slab¤À°t¾¹²£¥Íªº­I´º¡@170
4.2.2¡@³Ð«Øslab´y­z²Å¡@173
4.2.3¡@slab¤À°t¾¹ªº¤º¦s¥¬§½¡@176
4.2.4¡@°t¸mslab´y­z²Å¡@178
4.2.5¡@¤À°tslab¹ï¶H¡@180
4.2.6¡@ÄÀ©ñslab½w¦s¹ï¶H¡@183
4.2.7¡@slab¤À°t¾¹©M¥ë¦ñ¨t²Îªº±µ¤f
¨ç¼Æ¡@185
4.2.8¡@ºÞ²z°Ï¡@185
4.2.9¡@kmalloc()¡@188
4.2.10¡@¤pµ²¡@189
4.3¡@vmalloc()¡@190
4.4¡@µêÀÀ¤º¦sºÞ²z¤§¶iµ{¦a§}ªÅ¶¡¡@194
4.4.1¡@¶iµ{¦a§}ªÅ¶¡¡@194
4.4.2¡@mm_struct¼Æ¾Úµ²ºc¡@195
4.4.3¡@VMA¼Æ¾Úµ²ºc¡@197
4.4.4¡@VMAªºÄÝ©Ê¡@199
4.4.5¡@¬d§äVMA¡@201
4.4.6¡@´¡¤JVMA¡@203
4.4.7¡@¦X¦}VMA¡@206
4.4.8¡@¬õ¶Â¾ð¨Ò¤l¡@207
4.4.9¡@¤pµ²¡@209
4.5¡@malloc()¡@210
4.5.1¡@brk¨t²Î½Õ¥Î¡@210
4.5.2¡@¥Î¤áºA¦a§}ªÅ¶¡¹º¤À¡@212
4.5.3¡@__do_sys_brk()¨ç¼Æ¡@213
4.5.4¡@do_brk_flags()¨ç¼Æ¡@213
4.5.5¡@¡Ämm¡Äpopulate()¨ç¼Æ¡@215
4.5.6¡@get_user_pages()¨ç¼Æ¡@216
4.5.7¡@¤pµ²¡@220
4.6¡@mmap¡@223
4.6.1¡@mmap·§­z¡@223
4.6.2¡@¤pµ²¡@225
4.7¡@¯Ê­¶²§±`³B²z¡@227
4.7.1¡@ARM64¯Ê­¶²§±`ªº©³¼h³B²z
¬yµ{¡@228
4.7.2¡@do_page_fault()¨ç¼Æ¡@234
4.7.3¡@handle_mm_fault()¨ç¼Æ¡@237
4.7.4¡@°Î¦W­¶­±¯Ê­¶¤¤Â_¡@240
4.7.5¡@¨t²Î¹s­¶¡@241
4.7.6¡@¤å¥ó¬M®g¯Ê­¶¤¤Â_¡@242
4.7.7¡@¼g®É´_¨î¡@245
4.7.8¡@ARM64µw¥óDBM¾÷¨î¾É­Pªº
Ävª§°ÝÃD¡@248
4.7.9¡@Ãö¤_pte_offset_map()¦w¥þ¨Ï¥Îªº
°ÝÃD¡@251
4.7.10¡@Ãö¤_¼g®É´_¨îªºÄvª§°ÝÃD¡@253
4.7.11¡@¬°¤°¤\­n¦b¤Á´«­¶ªí¶µ¤§«e
¨ê·sTLB¡@256
4.7.12¡@¯Ê­¶²§±`¤Þµoªº¦ºÂê¡@257
4.7.13¡@¤pµ²¡@257
²Ä5³¹¡@¤º¦sºÞ²z¤§°ª¯Å¥DÃD¡@259
5.1¡@page¡@260
5.1.1¡@page¼Æ¾Úµ²ºc¡@260
5.1.2¡@_refcountªºÀ³¥Î¡@265
5.1.3¡@_mapcountªºÀ³¥Î¡@268
5.1.4¡@PG_Locked¡@269
5.1.5¡@mapping¦¨­ûªº§®¥Î¡@270
5.1.6¡@©Mpage¬ÛÃöªº´X­Ó±µ¤f¨ç¼Æ¡@271
5.1.7¡@¤pµ²¡@272
5.2¡@RMAP¡@272
5.2.1¡@RMAPªº¥D­n¼Æ¾Úµ²ºc¡@273
5.2.2¡@¤÷¶iµ{²£¥Í°Î¦W­¶­±¡@274
5.2.3¡@®Ú¾Ú¤÷¶iµ{³Ð«Ø¤l¶iµ{¡@277
5.2.4¡@¤l¶iµ{µo¥Í¼g®É´_¨î¡@280
5.2.5¡@RMAPªºÀ³¥Î¡@281
5.2.6¡@¤pµ²¡@283
5.3¡@­¶­±¦^¦¬¡@285
5.3.1¡@LRUÃìªí¡@285
5.3.2¡@²Ä¤G¦¸¾÷·|ªk¡@288
5.3.3¡@IJµo­¶­±¦^¦¬¡@293
5.3.4¡@kswapd¤º®Ö½uµ{¡@293
5.3.5¡@balance_pgdat()¨ç¼Æ¡@296
5.3.6¡@shrink_node()¨ç¼Æ¡@298
5.3.7¡@shrink_active_list()¨ç¼Æ¡@302
5.3.8¡@shrink_inactive_list()¨ç¼Æ¡@304
5.3.9¡@¸òÂÜLRU¬¡°Ê±¡ªp¡@308
5.3.10¡@­¶­±¦^¦¬¾÷¨î¡@309
5.3.11¡@Refault Distanceºâªk¡@312
5.3.12¡@¤pµ²¡@317
5.4¡@°Î¦W­¶­±¥Í©R©P´Á¡@318
5.4.1¡@°Î¦W­¶­±ªº²£¥Í¡@319
5.4.2¡@°Î¦W­¶­±ªº¨Ï¥Î¡@319
5.4.3¡@°Î¦W­¶­±ªº´«¥X¡@319
5.4.4¡@°Î¦W­¶­±ªº´«¤J¡@321
5.4.5¡@°Î¦W­¶­±ªº¾P·´¡@321
5.5¡@­¶­±¾E²¾¡@321
5.5.1¡@­þ¨Ç­¶­±¥i¥H¾E²¾¡@322
5.5.2¡@­¶­±¾E²¾¥D¨ç¼Æ¡@322
5.5.3¡@move_to_new_page()¨ç¼Æ¡@324
5.5.4¡@¾E²¾­¶ªí¡@325
5.5.5¡@¾E²¾«DLRU­¶­±¡@326
5.5.6¡@¤pµ²¡@328
5.6¡@¤º¦s³W¾ã¡@329
5.6.1¡@¤º¦s³W¾ãªº°ò¥»­ì²z¡@329
5.6.2¡@IJµo¤º¦s³W¾ã¡@330
5.6.3¡@ª½±µ¤º¦s³W¾ã¡@330
5.6.4¡@compact_zone()¨ç¼Æ¡@333
5.6.5¡@­þ¨Ç­¶­±¾A¦X°µ¤º¦s³W¾ã¡@338
5.7¡@KSM¡@339
5.7.1¡@¨Ï¯àKSM¡@339
5.7.2¡@KSM°ò¥»¹ê²{¡@343
5.7.3¡@KSM¼Æ¾Úµ²ºc¡@345
5.7.4¡@·sª©¥»KSMªº·s¯S©Ê¡@345
5.7.5¡@malloc()¤À°tªº­¶­±¥i¥H³Q
KSM±½´y¶Ü¡@353
5.7.6¡@¦X¦}­¶­±¡@355
5.7.7¡@¤@­Ó¦³½ìªº­pºâ¤½¦¡¡@358
5.7.8¡@page->indexªº­È¡@359
5.7.9¡@¤pµ²¡@360
5.8¡@­¶­±¤À°t¤§ºC³t¸ô®|¡@362
5.8.1¡@alloc_pages_slowpath()¨ç¼Æ¡@362
5.8.2¡@¤ô¦ìºÞ²z©M¤À°tÀu¥ý¯Å¡@367
5.9¡@¤º¦s¸H¤ù¤ÆºÞ²z¡@368
5.9.1¡@¥ë¦ñ¨t²Îºâªk¦p¦ó´î¤Ö
¤º¦s¸H¤ù¡@368
5.9.2¡@­¶­±¾E²¾Ãþ«¬©M¤º¦s³W¾ã¡@370
5.9.3¡@Linux 5.0¤º®Ö·s¼Wªº¤Ï¸H¤ù
Àu¤Æ¡@371
²Ä6³¹¡@¤º¦sºÞ²z¤§¹ê¾Ô®×¨Ò¤ÀªR¡@375
6.1¡@¤º¦sºÞ²z¤é§Ó«H®§©M½Õ¸Õ«H®§¡@375
6.1.1¡@vm_stat­p¼Æ­È¡@375
6.1.2¡@meminfo¤ÀªR¡@377
6.1.3¡@¥ë¦ñ¨t²Î«H®§¡@383
6.1.4¡@¬d¬Ý¤º¦sºÞ²z°Ïªº«H®§¡@383
6.1.5¡@¬d¬Ý»P¶iµ{¬ÛÃöªº¤º¦s«H®§¡@385
6.1.6¡@¬°¤°¤\S_swap»PP_swap
¤£¬Ûµ¥¡@387
6.1.7¡@¸ÑŪOOM Killer¾÷¨î¿é¥Xªº
¤é§Ó«H®§¡@388
6.1.8¡@¸ÑŪ¯Ê­¶²§±`¦Z¿é¥XªºÌX¾÷
¤é§Ó«H®§¡@394
6.2¡@¤º¦sºÞ²z½ÕÀu°Ñ¼Æ¡@400
6.2.1¡@¼vÅT¤º¦sºÞ²z°Ï¤ô¦ìªº½ÕÀu
°Ñ¼Æmin_free_kbytes¡@401
6.2.2¡@¼vÅT­¶­±¤À°tªº°Ñ¼Æ
lowmem_reserve_ratio¡@402
6.2.3¡@¼vÅT­¶­±¦^¦¬ªº°Ñ¼Æ¡@404
6.2.4¡@¼vÅTŦ­¶¦^¼gªº°Ñ¼Æ¡@406
6.3¡@¤º¦sºÞ²z¹ê¾Ô®×¨Ò¤ÀªR¡@407
6.3.1¡@®×¨Ò¤@¡G¯Ê­¶²§±`©M¤å¥ó¨t²Î
¤ÞµoªºÌX¾÷¡@407
6.3.2¡@®×¨Ò¤G¡GKSM©MNUMA¤Þµoªº
µêÀÀ¾÷ÌX¾÷¡@410
6.3.3¡@®×¨Ò¤T¡G¬°¤°¤\µLªk¤À°t¤@­Ó
­¶­±¡@415
6.3.4¡@®×¨Ò¥|¡G¯µ±K¥ô°È¡X¡X°ÊºA­×§ï
¨t²Î½Õ¥Îªí¤Þµoªº4¦¸ÌX¾÷¡@420
²Ä7³¹¡@¶iµ{ºÞ²z¤§°ò¥»·§©À¡@430
7.1¡@Ãö¤_¶iµ{ªº°ò¥»·§©À¡@431
7.1.1¡@¶iµ{ªº¨Ó¥Ñ¡@431
7.1.2¡@¶iµ{´y­z²Å¡@432
7.1.3¡@¶iµ{ªº¥Í©R©P´Á¡@434
7.1.4¡@¶iµ{¼ÐÃÑ¡@436
7.1.5¡@¶iµ{¶¡ªº®a±ÚÃö¨t¡@436
7.1.6¡@Àò¨ú·í«e¶iµ{¡@438
7.1.7¡@¶iµ{0©M¶iµ{1¡@440
7.2¡@»P¶iµ{³Ð«Ø©M²×¤î¬ÛÃöªº¾Þ§@¨t²Î
­ì»y¡@441
7.2.1¡@¼g®É´_¨î§Þ³N¡@442
7.2.2¡@fork()¨ç¼Æ¡@443
7.2.3¡@vfork()¨ç¼Æ¡@444
7.2.4¡@clone()¨ç¼Æ¡@445
7.2.5¡@¤º®Ö½uµ{¡@445
7.2.6¡@²×¤î¶iµ{¡@446
7.2.7¡@»ø¤r¶iµ{©M¶iµ{¦«©t¡@446
7.3¡@¥N½X¤ÀªR¡G¶iµ{ªº³Ð«Ø©M²×¤î¡@447
7.3.1¡@_do_fork()¨ç¼Æ¤ÀªR¡@447
7.3.2¡@copy_process()¨ç¼Æ¤ÀªR¡@449
7.3.3¡@dup_task_struct()¨ç¼Æ¤ÀªR¡@453
7.3.4¡@sched_fork()¨ç¼Æ¤ÀªR¡@453
7.3.5¡@copy_mm()¨ç¼Æ¤ÀªR¡@454
7.3.6¡@¶iµ{³Ð«Ø¦Zªºªð¦^¡@458
7.4¡@¶iµ{½Õ«×­ì»y¡@461
7.4.1¡@¶iµ{¤ÀÃþ¡@461
7.4.2¡@¶iµ{Àu¥ý¯Å©MÅv­«¡@461
7.4.3¡@½Õ«×µ¦²¤¡@463
7.4.4¡@®É¶¡¤ù¡@465
7.4.5¡@¸g¨å½Õ«×ºâªk¡@465
7.4.6¡@Linux¤º®ÖªºO (n)½Õ«×ºâªk¡@467
7.4.7¡@Linux¤º®ÖªºO (1)½Õ«×ºâªk¡@467
7.4.8¡@Linux¤º®ÖªºCFS¡@468
²Ä8³¹¡@¶iµ{ºÞ²z¤§½Õ«×»P­t¸ü§¡¿Å¡@469
8.1¡@CFS¡@470
8.1.1¡@vruntimeªº­pºâ¡@471
8.1.2¡@½Õ«×¾¹ªº¼Æ¾Úµ²ºc¡@474
8.1.3¡@¹ï¶iµ{³Ð«Ø¥N½Xªº¤ÀªR¡@479
8.1.4¡@¹ï¶iµ{¥[¤J½Õ«×¾¹ªº¥N½Xªº
¤ÀªR¡@483
8.1.5¡@¶iµ{½Õ«×¡@485
8.1.6¡@¶iµ{¤Á´«¡@488
8.1.7¡@½Õ«×¸`©ç¡@497
8.1.8¡@²Õ½Õ«×¾÷¨î¡@498
8.1.9¡@¤pµ²¡@502
8.2¡@­t¸ü­pºâ¡@503
8.2.1¡@¦p¦ó¿Å¶q¤@­ÓCPUªº­t¸ü¡@503
8.2.2¡@¤u§@­t¸ü©M¶q¤Æ­t¸ü¡@504
8.2.3¡@¾ú¥v²Ö­p°I´îªº­pºâ¡@505
8.2.4¡@¶q¤Æ­t¸üªº­pºâ¡@506
8.2.5¡@¹ê»Úºâ¤Oªº­pºâ¡@507
8.2.6¡@sched_avg¼Æ¾Úµ²ºc¡@508
8.2.7¡@PELT¥N½X¤ÀªR¡@510
8.2.8¡@PELT±µ¤f¨ç¼Æ¡@516
8.3¡@SMP­t¸ü§¡¿Å¡@517
8.3.1¡@CPUºÞ²z¦ì¹Ï¡@517
8.3.2¡@CPU½Õ«×°ì¡@519
8.3.3¡@«Ø¥ßCPU½Õ«×°ì©Ý¼³Ãö¨t¡@522
8.3.4¡@­t¸ü§¡¿Å¡@529
8.3.5¡@³ê¿ô¶iµ{¡@536
8.3.6¡@wake affine¯S©Ê¡@538
8.3.7¡@½Õ¸Õ¡@541
8.3.8¡@¤pµ²¡@542
8.4¡@ºñ¦â¸`¯à½Õ«×¾¹¡@542
8.4.1¡@¶q¤Æ­pºâ¯à¤O¡@545
8.4.2¡@¯à®Ä¼Ò«¬¡@548
8.4.3¡@OPP¤l¨t²Î¡@551
8.4.4¡@ªì©l¤ÆCPUfreq-dtÅX°Êµ{§Ç¡@556
8.4.5¡@ª`¥U¯à®Ä¼Ò«¬¤l¨t²Î¡@557
8.4.6¡@¸Ó¿ï¾Ü­þ­ÓCPU¨Ó°õ¦æ³ê¿ô
¶iµ{p©O¡@561
8.4.7¡@overutilized±ø¥ó§PÂ_¡@569
8.4.8¡@CPU°ÊºA½ÕÀW¡@570
8.4.9¡@¤pµ²¡@573
8.5¡@¹ê®É½Õ«×¡@574
8.5.1¡@¹ê®É©µ®É¤ÀªR¡@574
8.5.2¡@Linux¤º®Ö¹ê®É©Ê§ï¶i¡@576
²Ä9³¹¡@¶iµ{ºÞ²z¤§½Õ¸Õ»P®×¨Ò¤ÀªR¡@580
9.1¡@¶iµ{ºÞ²z¤§½Õ¸Õ¡@580
9.1.1¡@¬d¬Ý»P¶iµ{¬ÛÃöªº½Õ«×«H®§¡@580
9.1.2¡@¬d¬ÝCFSªº«H®§¡@582
9.1.3¡@¬d¬Ý½Õ«×°ì«H®§¡@585
9.1.4¡@»P½Õ«×¬ÛÃöªº½Õ¸Õ¸`ÂI¡@586
9.2¡@ºî¦X®×¨Ò¤ÀªR¡X¡X¨t²Î½Õ«×¡@587
9.3¡@¶iµ{ºÞ²z¡@589
9.3.1¡@¶iµ{ªº¥»½è¡@589
9.3.2¡@°kÂ÷¤£±¼ªº¶iµ{Àu¥ý¯Å¡@590
9.3.3¡@½Õ«×¾¹ªº¿ï¾Ü¡@591
9.3.4¡@¥Î¥|ºûªÅ¶¡¨Ó²z¸Ñ­t¸ü¡@591
9.3.5¡@®×¨Ò¤ÀªR¡X¡X¬°¦ó¤£¯à
½Õ«×¡@592
§Ç¡G