/usr/share/doc/HOWTO/ja-html/The-Linux-Kernel-3.html is in doc-linux-ja-html 2006.05.25-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>The Linux Kernel: ¥½¥Õ¥È¥¦¥§¥¢¤Î´ðËÜ</TITLE>
<LINK HREF="The-Linux-Kernel-4.html" REL=next>
<LINK HREF="The-Linux-Kernel-2.html" REL=previous>
<LINK HREF="The-Linux-Kernel.html#toc3" REL=contents>
</HEAD>
<BODY>
<A HREF="The-Linux-Kernel-4.html">¼¡¤Î¥Ú¡¼¥¸</A>
<A HREF="The-Linux-Kernel-2.html">Á°¤Î¥Ú¡¼¥¸</A>
<A HREF="The-Linux-Kernel.html#toc3">Ìܼ¡¤Ø</A>
<HR>
<H2><A NAME="chapter_sb"></A> <A NAME="s3">3. ¥½¥Õ¥È¥¦¥§¥¢¤Î´ðËÜ</A></H2>
<P>
<FIGURE>
<PH VSPACE="75">
<IMG SRC="./The-Linux-Kernel-images/penguin2.gif">
</FIGURE>
<P>
<P>¥×¥í¥°¥é¥à¤È¤Ï¡¢ÆÃÄê¤Î¥¿¥¹¥¯¤ò¼Â¹Ô¤¹¤ë¥³¥ó¥Ô¥å¡¼¥¿Ì¿Îá¤Î¥»¥Ã¥È¤Ç¤¢¤ë¡£
¥×¥í¥°¥é¥à¤Ï¡¢Äã¿å½à¥³¥ó¥Ô¥å¡¼¥¿¸À¸ì¤Ç¤¢¤ë¥¢¥»¥ó¥Ö¥é¤Ç¤âµ½Ò¤Ç¤¡¢C ¤Î¤è¤¦¤Ê
¥Þ¥·¥ó¤Ë°Í¸¤·¤Ê¤¤¹â¿å½à¤Î¥×¥í¥°¥é¥à¸À¸ì¤Ç¤âµ½Ò¤Ç¤¤ë¡£¥ª¥Ú¥ì¡¼¥Æ¥£
¥ó¥°¥·¥¹¥Æ¥à¤Ï¡¢ÆÃÊÌ¤Ê¥×¥í¥°¥é¥à¤Ç¤¢¤ê¡¢¥æ¡¼¥¶¤Ë¤è¤ë¥¹¥×¥ì¥Ã¥É¥·¡¼¥È¤ä¥ï¡¼¥É
¥×¥í¥»¥Ã¥µ¤È¤¤¤Ã¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¼Â¹Ô¤ò²Äǽ¤Ë¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£¤³¤Î¾Ï
¤Ç¤Ï¡¢´ðËÜŪ¤Ê¥×¥í¥°¥é¥ß¥ó¥°¤Î¸¶Â§¤ò¾Ò²ð¤·¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ÎÌÜŪ¤ä
µ¡Ç½¤Î³µ´Ñ¤ò½Ò¤Ù¤ë¡£
<P>
<H2><A NAME="chapter_sb_sect1"></A> <A NAME="ss3.1">3.1 ¥³¥ó¥Ô¥å¡¼¥¿¸À¸ì</A>
</H2>
<P>
<P>
<H3><A NAME="chapter_sb_sect1-1"></A> ¥¢¥»¥ó¥Ö¥ê¸À¸ì</H3>
<P>CPU ¤¬¥á¥â¥ê¤«¤é¼è¤ê½Ð¤·¤Æ¼Â¹Ô¤¹¤ëÌ¿Îá¤Ï¡¢¿Í´Ö¤¬¸«¤Æ¤âÁ´¤¯°ÕÌ£ÉÔÌÀ¤Ç¤¢¤ë¡£
¤½¤ì¤é¤ÎÌ¿Îá¤Ï¥Þ¥·¥ó¸ì¤Ç¤¢¤ê¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Ë²¿¤ò¼Â¹Ô¤¹¤Ù¤¤«¤òÀµ³Î¤ËÅÁ㤹¤ë¡£
Î㤨¤Ð¡¢16 ¿Ê¿ô 0x89E5 ¤Ï¡¢Intel 80486 ¤Î¾ì¹ç¡¢ESP ¥ì¥¸¥¹¥¿¤ÎÆâÍÆ¤ò EBP ¥ì¥¸
¥¹¥¿¤Ë¥³¥Ô¡¼¤»¤è¤È¤¤¤¦Ì¿Îá¤Ë³ºÅö¤¹¤ë¡£óÕÌÀ´ü¤Î¥³¥ó¥Ô¥å¡¼¥¿¤Î¤¿¤á¤ËºÇ½é¤Ë
ȯÌÀ¤µ¤ì¤¿¥½¥Õ¥È¥¦¥§¥¢¤Î¤Ò¤È¤Ä¤Ë¥¢¥»¥ó¥Ö¥é¤¬¤¢¤ë¡£¤½¤ì¤Ï¡¢¿Í´Ö¤¬ÆÉ¤ó¤Ç°ÕÌ£¤Î
¤ï¤«¤ë¥½¡¼¥¹¤ò¥Þ¥·¥ó¸ì¤ËÊÑ´¹¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£¥¢¥»¥ó¥Ö¥ê¸À¸ì¤ÏľÀܥ쥸¥¹¥¿
¤òÁàºî¤·¡¢¤½¤³¤Ë¤¢¤ë¥Ç¡¼¥¿¤ò½èÍý¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤¬¡¢¤½¤ÎÊýË¡¤Ï¥Þ¥¤¥¯¥í¥×¥í
¥»¥Ã¥µ¤Ë¸ÇͤΤâ¤Î¤È¤Ê¤ë¡£Intel X86 ¥×¥í¥»¥Ã¥µ¤Î¥¢¥»¥ó¥Ö¥ê¸À¸ì¤Ï¡¢Alpha AXP
¥Þ¥¤¥¯¥í¥×¥í¥»¥Ã¥µ¤Î¥¢¥»¥ó¥Ö¥ê¸À¸ì¤È¤Ï¤«¤Ê¤ê°Û¤Ê¤Ã¤Æ¤¤¤ë¡£¼¡¤Î Alpha AXP
¥¢¥»¥ó¥Ö¥ê¥³¡¼¥É¤Ï¡¢¥×¥í¥°¥é¥à¤¬¼Â¹Ô¤¹¤ë½èÍý¤Î°ì¼ï¤ò¼¨¤·¤Æ¤¤¤ë¡£
<P>
<BLOCKQUOTE><CODE>
<PRE>
ldr r16, (r15) ; Line 1
ldr r17, 4(r15) ; Line 2
beq r16,r17,100 ; Line 3
str r17, (r15) ; Line 4
100: ; Line 5
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Âè°ìʸ(Line1)¤Ï¡¢¥ì¥¸¥¹¥¿ 16 ¤ËÂФ·¤Æ¡¢¥ì¥¸¥¹¥¿ 15 ¤ËÊÝ»ý¤µ¤ì¤¿¥¢¥É¥ì¥¹¤Ë
¤¢¤ë(¥á¥â¥ê¤Î)ÆâÍÆ¤ò¥í¡¼¥É¤¹¤ë¡£¼¡¤ÎÌ¿Îá¤Ï¡¢¥ì¥¸¥¹¥¿ 17 ¤ËÂФ·¤Æ¡¢¼¡¤Î¥¢¥É¥ì¥¹
(¥ì¥¸¥¹¥¿ 15 + 4)¤Î¥á¥â¥êÆâÍÆ¤ò¥í¡¼¥É¤¹¤ë¡£Line 3 ¤Ï¡¢¥ì¥¸¥¹¥¿ 16
¤È¥ì¥¸¥¹¥¿ 17 ¤ÎÆâÍÆ¤òÈæ³Ó¤·¡¢Æ±°ì¤Ê¤é Label 100 ¤Ëʬ´ô¤¹¤ë¡£Î¾Êý¤Î¥ì¥¸¥¹¥¿¤¬
Ʊ¤¸ÆâÍÆ¤Ç¤Ê¤¤¾ì¹ç¡¢¥×¥í¥°¥é¥à¤Ï 4 ¹ÔÌܤ˰ܹԤ·¡¢¥ì¥¸¥¹¥¿ 17 ¤ÎÆâÍÆ¤¬¥á¥â¥ê¤Ë
Êݸ¤µ¤ì¤ë¡£Æ±¤¸ÆâÍÆ¤Î¾ì¹ç¤Ï¡¢¥Ç¡¼¥¿¤òÊݸ¤¹¤ëɬÍפϤʤ¤¡£¥¢¥»¥ó¥Ö¥ê¥ì¥Ù¥ë¤Î
¥×¥í¥°¥é¥à¤Ï¡¢¾éŤǤ¢¤ê¡¢¥È¥ê¥Ã¥¡¼¤Ê½ñ¤Êý¤¬É¬Íפǡ¢¥¨¥é¡¼¤¬À¸¤¸¤ä¤¹¤¤¡£
Linux ¥«¡¼¥Í¥ë¤Ï¥¢¥»¥ó¥Ö¥ê¸À¸ì¤Ç½ñ¤«¤ì¤¿Éôʬ¤Ï¤Û¤È¤ó¤É¤Ê¤¯¡¢¤½¤ÎÉôʬ¤â½èÍý¸ú
Ψ¤ò¾å¤²¤ëÌÜŪ¤Î¤¿¤á¤À¤±¤Ë½ñ¤«¤ì¤¿¤â¤Î¤Ç¤¢¤ê¡¢¤½¤ì¤é¤ÏÆÃÄê¤Î¥×¥í¥»¥Ã¥µ¤Ë¸ÇÍ
¤Î¤â¤Î¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
<P>
<H3><A NAME="chapter_sb_sect1-2"></A> C ¸À¸ì¤È¥³¥ó¥Ñ¥¤¥é</H3>
<P>¥¢¥»¥ó¥Ö¥ê¸À¸ì¤Ç¥×¥í¥°¥é¥à¤ò½ñ¤¯¤³¤È¤Ï¡¢º¤Æñ¤Ç»þ´Ö¤Î¤«¤«¤ë»Å»ö¤Ç¤¢¤ë¡£
¥¨¥é¡¼¤òÀ¸¤¸¤ä¤¹¤¯¡¢½ÐÍ褿¥×¥í¥°¥é¥à¤ÏÆÃÄê¤Î¥×¥í¥»¥Ã¥µ¥Õ¥¡¥ß¥ê¡¼¤Ë«Çû¤µ¤ì¤ë
¤Î¤Ç°Ü¿¢À¤¬¤Ê¤¤¡£¥Þ¥·¥ó¤Ë°Í¸¤·¤Ê¤¤ C ¤Î¤è¤¦¤Ê¸À¸ì¤ò»È¤¦Êý¤¬¤º¤Ã¤È¤è¤¤¡£
C ¤ò»È¤¨¤Ð¡¢C ¤ÇÍøÍѲÄǽ¤ÊÏÀÍý¥¢¥ë¥´¥ê¥º¥à¤È¥Ç¡¼¥¿¹½Â¤¤ò»È¤Ã¤Æ¥×¥í¥°¥é¥à¤ò
½ñ¤¯¤³¤È¤¬¤Ç¤¤ë¡£¥³¥ó¥Ñ¥¤¥é¤È¸Æ¤Ð¤ì¤ëÆÃÊÌ¤Ê¥×¥í¥°¥é¥à¤Ï¡¢C ¥×¥í¥°¥é¥à
¤òÆÉ¤ß¹þ¤ó¤Ç¡¢¥¢¥»¥ó¥Ö¥ê¸À¸ì¤ËÊÑ´¹¤·¡¢¤½¤ì¤Ë¤è¤Ã¤Æ¥Þ¥·¥ó¸ì¤òÀ¸À®¤¹¤ë¡£¤è¤¯
½ÐÍ褿¥³¥ó¥Ñ¥¤¥é¤Ï¡¢Í¥½¨¤Ê¥¢¥»¥ó¥Ö¥ê¥×¥í¥°¥é¥Þ¤¬½ñ¤¤¤¿¤Î¤È¤Û¤È¤ó¤ÉƱ¤¸¤¯¤é¤¤
¸úΨŪ¤Ê¥¢¥»¥ó¥Ö¥êÌ¿Îá¤òÀ¸À®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£Linux ¥«¡¼¥Í¥ë¤ÎÂçÉôʬ¤Ï¡¢C
¸À¸ì¤Ç½ñ¤«¤ì¤Æ¤¤¤ë¡£¼¡¤Ë C ¥×¥í¥°¥é¥à¤Î°ìÉô¤ò¼¨¤¹¡£
<P>
<BLOCKQUOTE><CODE>
<PRE>
if (x != y)
x = y ;
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>¤³¤ì¤Ï¡¢Àè¤Û¤É¤Î¥¢¥»¥ó¥Ö¥ê¥³¡¼¥É¤ÎÎã¤È¤Þ¤Ã¤¿¤¯Æ±¤¸½èÍý¤ò¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
ÊÑ¿ô x ¤ÎÆâÍÆ¤¬ÊÑ¿ô y ¤ÎÆâÍÆ¤ÈƱ°ì¤Ç¤Ê¤¤¾ì¹ç¡¢y ¤ÎÆâÍÆ¤¬ x ¤Ë¥³¥Ô¡¼¤µ¤ì¤ë¡£
C ¥³¡¼¥É¤Ï¡¢ÆÃÄê¤Î¥¿¥¹¥¯¤ò½èÍý¤¹¤ë¥ë¡¼¥Á¥ó¤È¤·¤Æ¤Þ¤È¤á¤ë¤³¤È¤¬¤Ç¤¤ë¡£¥ë¡¼¥Á¥ó
¤Ï C ¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤ÎÃͤä¥Ç¡¼¥¿·¿¤òÊÖ¤¹¤³¤È¤¬¤Ç¤¤ë¡£Linux ¥«¡¼¥Í¥ë
¤Î¤è¤¦¤ÊµðÂç¤Ê¥×¥í¥°¥é¥à¤Ï¡¢Â¿¿ô¤ÎÆÈΩ¤·¤¿ C ¥½¡¼¥¹¥â¥¸¥å¡¼¥ë¤«¤é¹½À®¤µ¤ì¤Æ¤¤
¤Æ¡¢¤½¤ì¤¾¤ì¤¬ÆÈ¼«¤Î¥ë¡¼¥Á¥ó¤È¥Ç¡¼¥¿¹½Â¤¤ò»ý¤Ã¤Æ¤¤¤ë¡£¤½¤¦¤·¤¿ C ¤Î¥½¡¼¥¹¥³¡¼¥É
¥â¥¸¥å¡¼¥ë¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à½èÍý¥³¡¼¥É¤Î¥°¥ë¡¼¥×¤Î¤è¤¦¤Ë¡¢ÏÀÍýŪ¤Êµ¡Ç½
Ê̤˥°¥ë¡¼¥×²½¤µ¤ì¤Æ¤¤¤ë¡£
<P>
<P>C ¤Ç¤Ï¡¢¼ï¡¹¤ÎÊÑ¿ô·¿¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤¬¡¢ÊÑ¿ô¤È¤Ï¡¢¥·¥ó¥Ü¥ë̾¤Ç»²¾È²Äǽ¤Ê
¥á¥â¥êÆâ¤Î°ÌÃ֤Τ³¤È¤Ç¤¢¤ë¡£¾åµ¤Î C ¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¡¢x ¤È y ¤Ï¡¢¥á¥â¥êÆâ¤Î
°ÌÃÖ¤ò»²¾È¤·¤Æ¤¤¤ë¡£¥×¥í¥°¥é¥Þ¤Ï¡¢¥á¥â¥êÆâ¤ËÊÑ¿ô¤¬ÃÖ¤«¤ì¤¿°ÌÃÖ¤òÃΤëɬÍפϤÊ
¤¯¡¢¤½¤ì¤ËÇÛθ¤¹¤ëɬÍפ¬¤¢¤ë¤Î¤Ï¥ê¥ó¥«(linker)(²¼µ»²¾È)¤À¤±¤Ç¤¢¤ë¡£ÊÑ¿ô¤Ë¤Ï¡¢
¤µ¤Þ¤¶¤Þ¤Ê¼ïÎà¤Î¥Ç¡¼¥¿¡¢À°¿ô¡¢ÉâÆ°¾®¿ôÅÀ¿ô¤ò³ÊǼ¤¹¤ë¤¿¤á¤Î¤â¤Î¤È¥Ý¥¤¥ó¥¿
(pointer)¤È¤¬¤¢¤ë¡£
<P>
<P>¥Ý¥¤¥ó¥¿¤Ï¡¢¥¢¥É¥ì¥¹¤òÆâÍÆ¤È¤¹¤ëÊÑ¿ô¤Ç¤¢¤ë¡£¤¹¤Ê¤ï¤Á¡¢Â¾¤Î¥Ç¡¼¥¿¤Î¥á¥â¥êÆâ
¤Ç¤Î°ÌÃÖ¤òɽ¤¹¡£x ¤È¤¤¤¦ÊÑ¿ô¤¬¤¢¤ë¤È¤·¤Æ¡¢¤½¤ì¤¬¥á¥â¥êÆâ¤Î¥¢¥É¥ì¥¹
0x80010000 ¤Ë¸ºß¤¹¤ë¤È¤¹¤ë¡£¤½¤Î¾ì¹ç¡¢x ¤òº¹¤¹¥Ý¥¤¥ó¥¿¡¢¤¿¤È¤¨¤Ð px ¤òºî
¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤³¤³¤Ç px ¤Ï¡¢¥¢¥É¥ì¥¹ 0x80010030 ¤Ë¤¢¤ë¤È¤¹¤ë¡£¤À¤È¤¹¤ë¤È¡¢
px ¤ÎÃͤϡ¢ÊÑ¿ô x ¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë 0x80010000 ¤òÆâÍÆ¤È¤·¤Æ»ý¤Ä¡£
<P>
<P>C ¤ò»È¤¨¤Ð¡¢´ØÏ¢¤Î¤¢¤ëÊÑ¿ô¤ò¥Ç¡¼¥¿¹½Â¤ÂΤȤ·¤Æ¤Þ¤È¤á¤ë¤³¤È¤¬¤Ç¤¤ë¡£¤¿¤È¤¨
¤Ð¡¢¼¡¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¹½Â¤ÂΤ¬¤¢¤ë¤È¤¹¤ë¡£
<P>
<BLOCKQUOTE><CODE>
<PRE>
struct {
int i ;
char b ;
} my_struct ;
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>¾åµ¤Î my_struct ¤È¤¤¤¦¥Ç¡¼¥¿¹½Â¤¤Ï¡¢¤Õ¤¿¤Ä¤ÎÍ×ÁǤò´Þ¤ó¤Ç¤¤¤ë¡£i ¤È¤¤¤¦À°¿ô
(32 ¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿µ²±Îΰè)¤È¡¢b ¤È¤¤¤¦Ê¸»ú(8 ¥Ó¥Ã¥È¤Î¥Ç¡¼¥¿)¤È¤¤¤¦Í×ÁǤǤ¢¤ë¡£
<P>
<H3><A NAME="chapter_sb_sect1-3"></A> ¥ê¥ó¥«</H3>
<P>¥ê¥ó¥«¤È¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥ª¥Ö¥¸¥§¥¯¥È¥â¥¸¥å¡¼¥ë¤ä¥é¥¤¥Ö¥é¥ê¤ò¥ê¥ó¥¯¤µ¤»¡¢¤Ò¤È
¤Ä¤ÎÀ°¹çÀ¤Î¤¢¤ë¥×¥í¥°¥é¥à¤òºîÀ®¤¹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£¤³¤³¤Ç¥ª¥Ö¥¸¥§¥¯¥È
¥â¥¸¥å¡¼¥ë¤È¤Ï¡¢¥¢¥»¥ó¥Ö¥é¤ä¥³¥ó¥Ñ¥¤¥é¤¬½ÐÎϤ·¤¿¥Þ¥·¥ó¥³¡¼¥É¤Ç¤¢¤ê¡¢¤½¤ì¤Ë
¤Ï¡¢¼Â¹Ô²Äǽ¤Ê¥Þ¥·¥ó¥³¡¼¥É¤È¥Ç¡¼¥¿¤¬´Þ¤Þ¤ì¤ë¤ÈƱ»þ¤Ë¡¢¥ê¥ó¥«¤¬¥â¥¸¥å¡¼¥ë¤ò
·ë¹ç¤·¤Æ¤Ò¤È¤Ä¤Î¥×¥í¥°¥é¥à¤òºî¤ë¤¿¤á¤Î¾ðÊó¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¡£¤¿¤È¤¨¤Ð¡¢¤¢¤ë
¥â¥¸¥å¡¼¥ë¤Ë¤Ï¡¢¤¢¤ë¥×¥í¥°¥é¥à¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹´Ø¿ô¤Î¤¹¤Ù¤Æ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤«¤â¤·
¤ì¤º¡¢¤Û¤«¤Î¥â¥¸¥å¡¼¥ë¤Ë¤Ï¥³¥Þ¥ó¥É¥é¥¤¥ó°ú¿ô¤ò½èÍý¤¹¤ë¤¿¤á¤Î´Ø¿ô¤¬´Þ¤Þ¤ì¤Æ¤¤
¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¥ê¥ó¥«¤Ï¤½¤¦¤·¤¿¥â¥¸¥å¡¼¥ë´Ö¤Ç¤Î»²¾È´Ø·¸¤ò²ò·è¤¹¤ë¤Î¤Ç¡¢¤½¤ì
¤Ë¤è¤Ã¤Æ¡¢¤¢¤ë¥â¥¸¥å¡¼¥ë¤Ç»²¾È¤µ¤ì¤Æ¤¤¤ë¥ë¡¼¥Á¥ó¤ä¥Ç¡¼¥¿¹½Â¤¤¬¡¢Ê̤Υ⥸¥å¡¼
¥ë¤Ç¼ÂºÝ¤Ë¸ºß¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ë¡£Linux ¥«¡¼¥Í¥ë¤È¤¤¤¦Ã±°ì¤ÎµðÂç¤Ê¥×¥í¥°¥é¥à
¤Ï¡¢Â¿¤¯¤Î¹½À®Í×ÁǤǤ¢¤ë¥ª¥Ö¥¸¥§¥¯¥È¥â¥¸¥å¡¼¥ë¤òÁê¸ß¤Ë¥ê¥ó¥¯¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ
ºî¤é¤ì¤Æ¤¤¤ë¡£
<P>
<H2><A NAME="chapter_sb_sect2"></A> <A NAME="ss3.2">3.2 ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤Ï²¿¤«¡©</A>
</H2>
<P>¥½¥Õ¥È¥¦¥§¥¢¤¬¤Ê¤±¤ì¤Ð¡¢¥³¥ó¥Ô¥å¡¼¥¿¤Ïñ¤ËÇ®¤òÊü½Ð¤¹¤ëÅÅ»ÒÉôÉʤθǤޤê¤Ë
¤¹¤®¤Ê¤¤¡£¥Ï¡¼¥É¥¦¥§¥¢¤¬¥³¥ó¥Ô¥å¡¼¥¿¤Î¿´Â¡¤À¤È¤¹¤ë¤È¡¢¥½¥Õ¥È¥¦¥§¥¢¤Ï¤½¤Î
º²¤Ç¤¢¤ë¡£¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ï¡¢¥·¥¹¥Æ¥à¥×¥í¥°¥é¥à¤Î½¸¹çÂΤǤ¢¤ê¡¢¤½¤ì
¤¬¥æ¡¼¥¶¤Ë¤è¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤ò²Äǽ¤Ë¤·¤Æ¤¤¤ë¡£¥ª¥Ú¥ì¡¼
¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ï¡¢¥·¥¹¥Æ¥à¾å¤Î¼Â(real)¥Ï¡¼¥É¥¦¥§¥¢¤òÃê¾Ý²½¤·¤Æ¡¢¥·¥¹¥Æ¥à¤Î
¥æ¡¼¥¶¤ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë²¾ÁÛ¥Þ¥·¥ó¤òÄ󶡤¹¤ë¡£¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ï¡¢
ËÜÅö¤Î°ÕÌ£¤Ç¤Î¡Ö¥·¥¹¥Æ¥à¡×¤òÄ󶡤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡£ÂçÉôʬ¤Î PC ¤Ç¤Ï¡¢Ê£¿ô¤Î
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ÎÁö¹Ô¤¬²Äǽ¤Ç¤¢¤ê¡¢¤½¤ì¤é¤Ï¤½¤ì¤¾¤ì¤Ë°ã¤Ã¤¿³°´Ñ¤È
ÁàºîÀ¤ò»ý¤Ã¤Æ¤¤¤ë¡£Linux ¤Ï¡¢µ¡Ç½Åª¤Ë¤ÏÊ̸ĤÎÊ£¿ô¤ÎÉôʬ¤«¤éÀ®¤êΩ¤Ã¤Æ¤¤¤Æ¡¢
¤½¤ì¤é¤¬¤Ò¤È¤Ä¤Ë¤Ê¤Ã¤Æ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ò¹½À®¤·¤Æ¤¤¤ë¡£Linux ¤ÎÆÃħŪ
¤ÊÉôʬ¤Î¤Ò¤È¤Ä¤¬¡¢¥«¡¼¥Í¥ë¤Ç¤¢¤ë¡£¤·¤«¤·¡¢¤½¤ì¤µ¤¨¤â¥é¥¤¥Ö¥é¥ê¤ä¥·¥§¥ë¤¬¤Ê¤±
¤ì¤ÐÌò¤ËΩ¤¿¤Ê¤¤¡£
<P>
<P>¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬¤É¤¦¤¤¤¦¤â¤Î¤«Íý²ò¤¹¤ë¤¿¤á¤Ë¡¢Èó¾ï¤Ëñ½ã¤Ê¥³¥Þ¥ó¥É
¤òÂǤ俤Ȥ¤Ë²¿¤¬µ¯¤³¤ë¤Î¤«¤ò¹Í¤¨¤Æ¤ß¤è¤¦¡£
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ ls
Mail c images perl
docs tcl
$
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P><CODE>$</CODE> ¤Ï¡¢¥í¥°¥¤¥ó¥·¥§¥ë(¤³¤³¤Ç¤Ï¡¢bash)¤¬½ÐÎϤ¹¤ë¥×¥í¥ó¥×¥È¤Ç¤¢¤ë¡£
¥×¥í¥ó¥×¥È¤È¤Ï¡¢¥æ¡¼¥¶¤Î¥³¥Þ¥ó¥ÉÆþÎϤò¥·¥§¥ë¤¬ÂԤäƤ¤¤ë¤È¤¤¤¦¤³¤È¤ò
°ÕÌ£¤¹¤ë¡£<CODE>ls</CODE> ¤ÈÂǤÁ¹þ¤à¤È¡¢¥¡¼¥Ü¡¼¥É¥É¥é¥¤¥Ð¤Ï¡¢Ê¸»ú¤¬ÂǤÁ¹þ¤Þ
¤ì¤¿¤³¤È¤òǧ¼±¤·¡¢¤½¤Î¥³¥Þ¥ó¥É¤ò¥·¥§¥ë¤ËÅϤ¹¡£¥·¥§¥ë¤Ï¡¢¤½¤ì¤ò½èÍý¤¹¤ë¤¿¤á
¤Ë¡¢Æ±¤¸Ì¾Á°¤Î¼Â¹Ô¥¤¥á¡¼¥¸¤¬¤¢¤ë¤«¤É¤¦¤«¤òõ¤¹¡£¥·¥§¥ë¤¬ <CODE>/bin/ls</CODE> ¤Ë
¤½¤Î¥¤¥á¡¼¥¸¤¬¤¢¤ë¤³¤È¤òȯ¸«¤¹¤ë¤È¡¢¥«¡¼¥Í¥ë¥µ¡¼¥Ó¥¹¤ò¸Æ¤Ó½Ð¤¹¡£¸Æ¤Ó½Ð¤µ¤ì¤¿
¥«¡¼¥Í¥ë¥µ¡¼¥Ó¥¹¤Ï <CODE>ls</CODE> ¤Î¼Â¹Ô¥¤¥á¡¼¥¸¤ò²¾ÁÛ¥á¥â¥ê¤ËÃÖ¤¤¤Æ¡¢¤½¤Î¼Â¹Ô¤ò
»Ï¤á¤ë¡£¼Â¹Ô¤µ¤ì¤¿ <CODE>ls</CODE> ¤Î¥¤¥á¡¼¥¸¤Ï¡¢¥«¡¼¥Í¥ë¤Î¥Õ¥¡¥¤¥ë¥µ¥Ö¥·¥¹¥Æ¥à¤ò
¸Æ¤Ó½Ð¤·¤Æ¡¢¤É¤Î¤è¤¦¤Ê¥Õ¥¡¥¤¥ë¤¬¤¢¤ë¤Î¤«¤òõ¤·½Ð¤¹¤è¤¦Ì¿¤¸¤ë¡£¥Õ¥¡¥¤¥ë¥·¥¹¥Æ
¥à¤Ï¡¢¥¥ã¥Ã¥·¥å¤·¤Æ¤ª¤¤¤¿¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¾ðÊó¤òÍøÍѤ¹¤ë¤«¡¢¥Ç¥£¥¹¥¯¥Ç¥Ð¥¤
¥¹¥É¥é¥¤¥Ð¤ò»È¤Ã¤Æ¥Ç¥£¥¹¥¯¤«¤é¤½¤Î¾ðÊó¤òÆÉ¤ß½Ð¤µ¤»¤ë¡£¤¢¤ë¤¤¤Ï¡¢(Network File
System(NFS)·Ðͳ¤Ç¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¥ê¥â¡¼¥È¥Þ¥¦¥ó¥È¤·¤Æ¤¤¤ë¾ì¹ç)¥Í¥Ã¥È¥ï¡¼¥¯
¥É¥é¥¤¥Ð¤ò»ÈÍѤ·¤Æ¥ê¥â¡¼¥È¥Þ¥·¥ó¤È¾ðÊó¸ò´¹¤ò¤·¡¢¥í¡¼¥«¥ë¥·¥¹¥Æ¥à¤¬¥¢¥¯¥»¥¹¤·
¤Æ¤¤¤ë¥ê¥â¡¼¥È¥Õ¥¡¥¤¥ë¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¾ðÊó¤òõ¤·½Ð¤µ¤»¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¤½¤Î¾ðÊó
¤¬¤¤¤º¤ì¤Ë¤¢¤ë¾ì¹ç¤Ç¤â¡¢<CODE>ls</CODE> ¤Ï¤½¤¦¤·¤¿¾ðÊó¤ò½ÐÎϤ·¡¢¥Ó¥Ç¥ª¥É¥é¥¤¥Ð¤¬
¤½¤ì¤ò¥¹¥¯¥ê¡¼¥ó¤Ëɽ¼¨¤¹¤ë¡£
<P>
<P>¾åµ¤ÎÀâÌÀ¤Ï¤ä¤äÊ£»¨¤Ë»×¤¨¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¤·¤«¤·¡¢¤³¤ÎÈó¾ï¤Ëñ½ã¤Ê¥³¥Þ¥ó¥É
¤Î¼Â¹Ô¤«¤é¤Ç¤âÌÀ¤é¤«¤Ê¤è¤¦¤Ë¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤Ï¡¢¼ÂºÝ¡¢¶¨Ä´¤·¤ÆÆ¯
¤¯°ìÏ¢¤Î´Ø¿ô¤Î¥»¥Ã¥È¤Ç¤¢¤ê¡¢¤½¤ì¤é¤¬°ìÂΤȤʤ뤳¤È¤Ç¡¢¥æ¡¼¥¶¤ËÀ°¹çÀ¤Î¤¢¤ë¥·
¥¹¥Æ¥à¤Î³µ´Ñ¤òÄ󶡤·¤Æ¤¤¤ë¤Î¤Ç¤¢¤ë¡£
<P>
<P>
<H3><A NAME="chapter_sb_sect2-1"></A> ¥á¥â¥ê´ÉÍý</H3>
<P>¥á¥â¥êÅù¤Î¥ê¥½¡¼¥¹¤¬Ìµ¸Â¤Ë¤¢¤ë¤Ê¤é¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤¬²Ì¤¿¤¹¤Ù¤
Ìò³ä¤Î¿¤¯¤Ï¡¢Í¾·×¤Ê¤â¤Î¤È¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¤É¤ó¤Ê¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à
¤Ë¤â¤¢¤ë´ðËÜŪ¤Ê¥È¥ê¥Ã¥¯¤Î¤Ò¤È¤Ä¤Ë¡¢¾¯¤Ê¤¤ÊªÍý¥á¥â¥ê¤ò¼ÂºÝ°Ê¾å¤Ë¸«¤»¤ëǽÎÏ
¤¬¤¢¤ë¡£¤³¤Î°ì¸«µðÂç¤Ê¥á¥â¥ê¤Ï¡¢²¾ÁÛ¥á¥â¥ê¤È¸Æ¤Ð¤ì¤ë¡£¤³¤Î¥¢¥¤¥Ç¥¢¤Ï¡¢¥·¥¹¥Æ¥à
¾å¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤òñÙ¤·¤Æ¡¢ÂçÎ̤Υá¥â¥ê¤¬¤¢¤ë¤è¤¦¤Ë»×¤¤¤³¤Þ¤»¤ë
¤È¤¤¤¦¤â¤Î¤Ç¤¢¤ë¡£¤¹¤Ê¤ï¤Á¡¢¥·¥¹¥Æ¥à¤Ï¥á¥â¥ê¤ò¥Ú¡¼¥¸¤È¤¤¤¦°·¤¤¤ä¤¹¤¤Ã±°Ì¤Ë
ʬ³ä¤·¤Æ¡¢¥·¥¹¥Æ¥à¼Â¹Ô»þ¤Ë¡¢¤½¤¦¤·¤¿¥Ú¡¼¥¸¤ò¥Ï¡¼¥É¥Ç¥£¥¹¥¯¾å¤Ë¥¹¥ï¥Ã¥×(swap)
¤¹¤ë¡£¥½¥Õ¥È¥¦¥§¥¢¤¬¤½¤ì¤Ëµ¤ÉÕ¤«¤Ê¤¤¤Î¤Ï¡¢¤â¤¦¤Ò¤È¤Ä¤Î¥È¥ê¥Ã¥¯¤Ç¤¢¤ë¥Þ¥ë¥Á
¥×¥í¥»¥¹µ¡Ç½¤Î¤»¤¤¤Ç¤¢¤ë¡£
<P>
<H3><A NAME="chapter_sb_sect2-2"></A> ¥×¥í¥»¥¹</H3>
<P>¥×¥í¥»¥¹¤È¤Ï¡¢¼Â¹ÔÃæ¤Î¥×¥í¥°¥é¥à¤Ç¤¢¤ë¤È¹Í¤¨¤ë¤³¤È¤¬¤Ç¤¤ë¡£¸Ä¡¹¤Î¥×¥í¥»¥¹
¤Ï¸ÄÊ̤μÂÂΤǤ¢¤ê¡¢¤½¤ì¤¾¤ì¤¬ÆÃÄê¤Î¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¡£Linux
¥·¥¹¥Æ¥à¾å¤Î¥×¥í¥»¥¹¤ò¸«¤¿¾ì¹ç¡¢¤«¤Ê¤ê¿¤¯¤Î¥×¥í¥»¥¹¤¬Â¸ºß¤¹¤ë¤³¤È¤Ëµ¤ÉÕ¤¯¤À
¤í¤¦¡£¤¿¤È¤¨¤Ð¡¢<CODE>ps</CODE> ¤È¥¿¥¤¥×¤¹¤ë¤È¡¢É®¼Ô¤Î¥·¥¹¥Æ¥à¾å¤Ç¤Ï¼¡¤Î¥×¥í¥»¥¹¤¬
ɽ¼¨¤µ¤ì¤ë¡£
<P>
<BLOCKQUOTE><CODE>
<PRE>
$ ps
PID TTY STAT TIME COMMAND
158 pRe 1 0:00 -bash
174 pRe 1 0:00 sh /usr/X11R6/bin/startx
175 pRe 1 0:00 xinit /usr/X11R6/lib/X11/xinit/xinitrc --
178 pRe 1 N 0:00 bowman
182 pRe 1 N 0:01 rxvt -geometry 120x35 -fg white -bg black
184 pRe 1 < 0:00 xclock -bg grey -geometry -1500-1500 -padding 0
185 pRe 1 < 0:00 xload -bg grey -geometry -0-0 -label xload
187 pp6 1 9:26 /bin/bash
202 pRe 1 N 0:00 rxvt -geometry 120x35 -fg white -bg black
203 ppc 2 0:00 /bin/bash
1796 pRe 1 N 0:00 rxvt -geometry 120x35 -fg white -bg black
1797 v06 1 0:00 /bin/bash
3056 pp6 3 < 0:02 emacs intro/introduction.tex
3270 pp6 3 0:00 ps
$
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>É®¼Ô¤Î¥·¥¹¥Æ¥à¤ËÊ£¿ô¤Î CPU ¤¬¤¢¤ì¤Ð¡¢¤½¤ì¤¾¤ì¤Î¥×¥í¥»¥¹¤ò¡¢(¾¯¤Ê¤¯¤È¤â
ÍýÏÀŪ¤Ë¤Ï)°ã¤¦ CPU ¾å¤Ç¼Â¹Ô¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£¤·¤«¤·»Äǰ¤Ê¤¬¤é¤Ò¤È¤Ä
¤·¤«¤Ê¤¤¤¿¤á¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ï¤³¤³¤Ç¤â¥È¥ê¥Ã¥¯¤ò»È¤Ã¤Æ¡¢Ã»¤¤»þ´Ö¤Ç
¥×¥í¥»¥¹¤ò½çÈ֤˼¹Ԥ¹¤ë¡£¤½¤Î»þ´Ö´Ö³Ö¤Ï¥¿¥¤¥à¥¹¥é¥¤¥¹(time-slice)¤È¸Æ¤Ð¤ì¡¢
¤³¤Î¥È¥ê¥Ã¥¯¤Ï¡¢¥Þ¥ë¥Á¥×¥í¥»¥Ã¥·¥ó¥°(multi-processing)¤â¤·¤¯¤Ï¥¹¥±¥¸¥å¡¼¥ê¥ó
¥°(scheduling)¤È¸Æ¤Ð¤ì¤ë¡£¤¹¤Ê¤ï¤Á¤³¤ì¤Ï¡¢¸Ä¡¹¤Î¥×¥í¥»¥¹¤òñÙ¤·¤Æ¡¢¼«Ê¬¤¬Í£°ì¤Î
¥×¥í¥»¥¹¤Ç¤¢¤ë¤È»×¤¤¹þ¤Þ¤»¤ë¤è¤¦¤Ë¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£¸Ä¡¹¤Î¥×¥í¥»¥¹¤Ï¾¤Î¥×¥í¥»
¥¹¤«¤éÊݸ¤ì¤¿¾õÂ֤ˤ¢¤ë¤Î¤Ç¡¢¤Ò¤È¤Ä¤Î¥×¥í¥»¥¹¤¬¥¯¥é¥Ã¥·¥å¤·¤¿¤ê¤ª¤«¤·¤Êư¤
¤ò¤·¤Æ¤â¡¢Â¾¤Î¥×¥í¥»¥¹¤Ë±Æ¶Á¤òÍ¿¤¨¤ë¤³¤È¤Ï¤Ê¤¤¡£¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ï¤³¤Î
¤³¤È¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë¡¢¸Ä¡¹¤Î¥×¥í¥»¥¹¤Ë¼«Ê¬¤À¤±¤¬¥¢¥¯¥»¥¹¤Ç¤¤ë¸ÄÊ̤Υ¢¥É¥ì¥¹
¶õ´Ö¤òÉÕÍ¿¤·¤Æ¤¤¤ë¡£
<P>
<H3><A NAME="chapter_sb_sect2-3"></A> ¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð</H3>
<P>¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï¡¢Linux ¥«¡¼¥Í¥ë¤Î½ÅÍפÊÉôʬ¤ò·ÁÀ®¤·¤Æ¤¤¤ë¡£¥ª¥Ú¥ì¡¼¥Æ¥£
¥ó¥°¥·¥¹¥Æ¥à¤Î¾¤ÎÉôʬ¤ÈƱÍͤˡ¢¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤ÏÈó¾ï¤ËÆÃ¸¢Åª¤Ê´Ä¶¤Ç
¼Â¹Ô¤µ¤ì¤ë¤¿¤á¡¢¤½¤ì¤é¤¬¾å¼ê¤¯Æ°¤«¤Ê¤¤¾ì¹ç¤Ï¹ó¤¤¾õÂ֤ˤʤ뤳¤È¤¬¤¢¤ë¡£¥Ç¥Ð¥¤¥¹
¥É¥é¥¤¥Ð¤Ï¡¢¥Ç¥Ð¥¤¥¹¤òÀ©¸æ¤¹¤ë¤ÈƱ»þ¤Ë¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¥Ï¡¼¥É¥¦¥§¥¢
´Ö¤Ç¤ÎÁê¸ßºîÍѤâÀ©¸æ¤¹¤ë¡£¤¿¤È¤¨¤Ð¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢IDE ¥Ç¥£¥¹¥¯¤Ë¥Ö¥í¥Ã¥¯
ñ°Ì¤Î½ñ¤¹þ¤ß¤ò¹Ô¤¦¤È¤¡¢ÈÆÍѤΥ֥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÍøÍѤ¹¤ë¡£
¥É¥é¥¤¥Ð¤Ï¤½¤Î IDE ¥Ç¥£¥¹¥¯¤Î¾ÜºÙ¤Ëµ¤¤òÇۤꡢ¤½¤Î¥Ç¥£¥¹¥¯¸ÇͤνèÍý¤¬Å¬ÀÚ¤Ë
¼Â¹Ô¤µ¤ì¤ë¤è¤¦¤Ë¤¹¤ë¡£¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï¡¢ÁàºîÂоݤǤ¢¤ë¥³¥ó¥È¥í¡¼¥é¥Á¥Ã¥×¤Ë
¸ÇͤΤâ¤Î¤Ç¤¢¤ë¤¿¤á¡¢¤¿¤È¤¨¤Ð¡¢¥·¥¹¥Æ¥à¤Ç NCR810 SCSI ¥³¥ó¥È¥í¡¼¥é¤ò»ÈÍѤ·¤Æ¤¤
¤ë¾ì¹ç¡¢NCR810 SCSI ¥É¥é¥¤¥Ð¡¼¤¬É¬Íפˤʤ롣
<P>
<H3><A NAME="chapter_sb_sect2-4"></A> ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à</H3>
<P>Linux ¤Ç¤Ï¡¢Unix ¤ÈƱÍͤˡ¢¥·¥¹¥Æ¥à¾å¤Ç¸ÄÊ̤Υե¡¥¤¥ë¥·¥¹¥Æ¥à¤ò»ÈÍѤ¹¤ë¾ì
¹ç¡¢¤½¤Î¥¢¥¯¥»¥¹¼êÃʤȤ·¤Æ¡¢(¥É¥é¥¤¥ÖÈÖ¹æ¤ä¥É¥é¥¤¥Ö̾¤Ê¤É¤Î)¥Ç¥Ð¥¤¥¹¼±Ê̻ҤÏ
ÍøÍѤ·¤Ê¤¤¡£¤½¤Î¤«¤ï¤ê¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢Ã±°ì¤Î³¬ÁØÅª¤Ê¥Ä¥ê¡¼¹½Â¤¤ËÁȤ߹þ
¤Þ¤ì¡¢¤½¤ì¤Ë¤è¤Ã¤ÆÃ±°ì¤Î¼ÂÂΤȤ·¤ÆÉ½¸½¤µ¤ì¤ë¡£Linux ¤Ï¡¢¿·¤·¤¤¸Ä¡¹¤Î¥Õ¥¡¥¤¥ë
¥·¥¹¥Æ¥à¤ò¤½¤Îñ°ì¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ËÉÕ¤±²Ã¤¨¤ëºÝ¡¢¤¿¤È¤¨¤Ð <CODE>/mnt/cdrom</CODE> ¤È¤¤¤Ã¤¿¥Þ¥¦¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¾å¤Ë¥Þ¥¦¥ó¥È¤¹¤ë¤È¤¤¤¦ÊýË¡¤ò¼è¤ë¡£Linux ¤Î
ºÇ¤â½ÅÍ×¤ÊÆÃħ¤Î¤Ò¤È¤Ä¤Ï¡¢Â¿¤¯¤Î°Û¤Ê¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Î¥µ¥Ý¡¼¥È¤Ç¤¢¤ë¡£
¤½¤ì¤Ë¤è¤Ã¤Æ¡¢Linux ¤Ï¡¢Èó¾ï¤Ë½ÀÆð¤Ç¡¢Â¾¤Î¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à
¤È¤â¾å¼ê¤¯¶¦Â¸¤Ç¤¤ë¤â¤Î¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£Linux ¤ÎºÇ¤â°ìÈÌŪ¤Ê¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢
EXT2 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ç¤¢¤ê¡¢¤³¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢¤Û¤È¤ó¤É¤Î Linux
¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
<P>
<P>¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢¥·¥¹¥Æ¥à¤Î¥Ï¡¼¥É¥Ç¥£¥¹¥¯¾å¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¤ä
¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Ø¤¹¤ëʬ¤«¤ê°×¤¤Å¸Ë¾¤ò¥æ¡¼¥¶¤ËÍ¿¤¨¤ë¡£¤½¤ÎºÝ¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à
¤Î¥¿¥¤¥×¤ä¡¢´ðÁäȤʤëʪÍý¥Ç¥Ð¥¤¥¹¤ÎÀ¼Á¤Î°ã¤¤¤Ï¼Î¾Ý¤µ¤ì¤ë¡£Linux ¤Ï¿¤¯¤Î°Û
¤Ê¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à(¤¿¤È¤¨¤Ð MS-DOS ¤ä EXT2)¤òÆ©²áŪ¤Ë¥µ¥Ý¡¼¥È¤·¡¢¥Þ¥¦¥ó¥È¤µ¤ì
¤¿¥Õ¥¡¥¤¥ë¤ä¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ò¤Ò¤È¤Ä¤ËÅý¹ç¤µ¤ì¤¿²¾ÁÛ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤È¤·¤Æ
Ä󶡤¹¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢°ìÈÌŪ¤Ë¡¢¥æ¡¼¥¶¤ä¥×¥í¥»¥¹¤Ï¡¢ÆÃÄê¤Î¥Õ¥¡¥¤¥ë¤¬¤É¤Î¤è¤¦
¤Ê¼ïÎà¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë°¤·¤Æ¤¤¤ë¤Î¤«¤òÃΤëɬÍפʤ·¤Ë¡¢¤½¤ì¤ò»ÈÍѤǤ¤ë¡£
<P>
<P>¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï¡¢ÊªÍýŪ¤Ê¥Ö¥í¥Ã¥¯¥Ç¥Ð¥¤¥¹¤Î¥¿¥¤¥×(¤¿¤È¤¨¤Ð¡¢IDE
¤ä SCSI)¤Î°ã¤¤¤ò±£¤¹¤³¤È¤¬½ÐÍè¤ë¡£¤½¤ì¤æ¤¨¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë´Ø¤¹¤ë¸Â¤ê¡¢ÊªÍý
¥Ç¥Ð¥¤¥¹¤Ï¡¢¥Ç¡¼¥¿¥Ö¥í¥Ã¥¯¤ÎÀþ·ÁŪ¤Ê½¸¹ç¤Ë¤¹¤®¤Ê¤¤¡£¥Ö¥í¥Ã¥¯¥µ¥¤¥º¤Ï¡¢¥Ç¥Ð¥¤¥¹
¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¡¢¤¿¤È¤¨¤Ð¡¢¥Õ¥í¥Ã¥Ô¡¼¥Ç¥£¥¹¥¯¤Ï 512 ¥Ð¥¤¥È¤¬°ìÈÌŪ¤Ç¤¢¤ê¡¢IDE
¥Ï¡¼¥É¥Ç¥£¥¹¥¯¤Ç¤Ï 1024 ¥Ð¥¤¥È¤¬°ìÈÌŪ¤Ç¤¢¤ë¡£¤·¤«¤·¡¢¤³¤ì¤Ë¤Ä¤¤¤Æ¤â¡¢¥·¥¹¥Æ¥à
¤Î¥æ¡¼¥¶¤«¤é¤Ï±£¤µ¤ì¤Æ¤¤¤ë¡£EXT2 ¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡¢¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ÃÖ
¤«¤ì¤¿¥Ç¥Ð¥¤¥¹¤¬¤É¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤Ã¤Æ¤â¡¢Æ±¤¸³°´Ñ¤ò»ý¤Ä¡£
<P>
<H2><A NAME="chapter_sb_sect3"></A> <A NAME="ss3.3">3.3 ¥«¡¼¥Í¥ë¤Î¥Ç¡¼¥¿¹½Â¤</A>
</H2>
<P>¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ï¡¢¥·¥¹¥Æ¥à¤Î¸½ºß¤Î¾õÂ֤ˤĤ¤¤ÆÂ¿¤¯¤Î¾ðÊó¤òÊÝ»ý
¤¹¤ëɬÍפ¬¤¢¤ë¡£¥·¥¹¥Æ¥àÆâ¤Ç²¿¤«¤¬µ¯¤³¤Ã¤¿¤é¡¢¤½¤ì¤Ë´Ø¤¹¤ë¥Ç¡¼¥¿¹½Â¤¤Ï
¸½ºß¤Î¾õÂÖ¤òÈ¿±Ç¤¹¤ë¤è¤¦¤Ë½ñ¤´¹¤¨¤é¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤¿¤È¤¨¤Ð¡¢¥æ¡¼¥¶¤¬¥·¥¹
¥Æ¥à¤Ë¥í¥°¥ª¥ó¤¹¤ë¤È¡¢¿·¤·¤¤¥×¥í¥»¥¹¤¬À¸À®¤µ¤ì¤ë¡£¥«¡¼¥Í¥ë¤Ï¡¢¿·¤·¤¤¥×¥í¥»¥¹
¤òɽ¸½¤¹¤ë¥Ç¡¼¥¿¹½Â¤ÂΤòºîÀ®¤·¤Æ¡¢¤½¤ì°Ê³°¤Î¥·¥¹¥Æ¥à¾å¤ÎÁ´¥×¥í¥»¥¹¤òɽ¸½¤·
¤Æ¤¤¤ë¥Ç¡¼¥¿¹½Â¤ÂΤˤ½¤ì¤ò¥ê¥ó¥¯¤µ¤»¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
<P>
<P>¤³¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¹½Â¤ÂΤÎÂçÉôʬ¤Ï¡¢ÊªÍý¥á¥â¥êÆâ¤Ë¸ºß¤·¡¢¥«¡¼¥Í¥ë¤È¤½¤Î¥µ¥Ö
¥·¥¹¥Æ¥à¤«¤é¤·¤«¥¢¥¯¥»¥¹¤Ç¤¤Ê¤¤¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£¥Ç¡¼¥¿¹½Â¤ÂΤˤϡ¢¥Ç¡¼¥¿¤È
¥Ý¥¤¥ó¥¿¡¢¤¹¤Ê¤ï¤Á¾¤Î¥Ç¡¼¥¿¹½Â¤¤Î¥¢¥É¥ì¥¹¤ä¥ë¡¼¥Á¥ó¤Î¥¢¥É¥ì¥¹¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
¤½¤ì¤é¤¹¤Ù¤Æ¤ò°ìÅ٤˸«¤è¤¦¤È¤·¤¿¾ì¹ç¡¢Linux ¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤ÆÍøÍѤµ¤ì¤Æ¤¤¤ë
¥Ç¡¼¥¿¹½Â¤ÂΤϡ¢Èó¾ï¤Ëʶ¤é¤ï¤·¤¯Ê¬¤«¤ê¤Ë¤¯¤¤¤â¤Î¤Ë»×¤¨¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¤·¤«
¤·¡¢¤¹¤Ù¤Æ¤Î¥Ç¡¼¥¿¹½Â¤ÂΤˤÏÌÜŪ¤¬¤¢¤ê¡¢¿ô¼ï¤Î¥«¡¼¥Í¥ë¥µ¥Ö¥·¥¹¥Æ¥à¤«¤éÍøÍÑ
¤µ¤ì¤ë(Ê£»¨¤Ê)¹½Â¤ÂΤ⤢¤ë¤¬¡¢°ìÈÌŪ¤Ë¤Ï¡¢¤½¤ì¤é¤ÏºÇ½é¤Ë°ì¸«¤·¤¿»þ¤Î°õ¾Ý¤è¤ê
¤â¤º¤Ã¤È¥·¥ó¥×¥ë¤Ç¤¢¤ë¡£
<P>
<P>Linux ¥«¡¼¥Í¥ë¤ÎÍý²ò¤Ï¡¢¤½¤Î¥Ç¡¼¥¿¹½Â¤¤È¡¢Linux ¥«¡¼¥Í¥ëÆâ¤Î¼ï¡¹¤Î
´Ø¿ô¤¬¤½¤ì¤ò»ÈÍѤ¹¤ëÊýË¡¤È¤òÍý²ò¤Ç¤¤ë¤«¤É¤¦¤«¤Ë¤«¤«¤Ã¤Æ¤¤¤ë¡£Ëܽñ¤Ï¡¢
Linux ¥«¡¼¥Í¥ë¤ÎÀâÌÀ¤ËºÝ¤·¡¢¤½¤Î¥Ç¡¼¥¿¹½Â¤¤Î²òÀâ¤Ë½ÅÅÀ¤òÃÖ¤¯¡£
¸Ä¡¹¤Î¥«¡¼¥Í¥ë¤Î¥µ¥Ö¥·¥¹¥Æ¥à¤òÀâÌÀ¤¹¤ë¤È¤¤Ï¡¢¤½¤Î¥¢¥ë¥´¥ê¥º¥à¡¢½èÍýÊýË¡¤È
Ʊ»þ¤Ë¡¢¤½¤ì¤é¤¬»ÈÍѤ·¤Æ¤¤¤ë¥«¡¼¥Í¥ë¤Î¥Ç¡¼¥¿¹½Â¤¤È¤¤¤¦´ÑÅÀ¤ò½Å»ë¤¹¤ë¡£
<P>
<H3><A NAME="chapter_sb_sect3-1"></A> Ï¢·ë¥ê¥¹¥È</H3>
<P>Linux ¤Ï¡¢Â¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¹©³Ø¾å¤Î¥Æ¥¯¥Ë¥Ã¥¯¤ò»È¤Ã¤Æ¡¢¥Ç¡¼¥¿¹½Â¤¤òÁê¸ß¤Ë
¥ê¥ó¥¯¤·¤Æ¤¤¤ë¡£Â¿¤¯¤Î¾ì¹ç¡¢Linux ¤Ç¤ÏÏ¢·ë¤¢¤ë¤¤¤ÏÏ¢º¿¥Ç¡¼¥¿¹½Â¤ÂΤ¬»ÈÍѤµ¤ì¤Æ
¤¤¤ë¡£¤â¤·¡¢¸Ä¡¹¤Î¥Ç¡¼¥¿¹½Â¤ÂΤ¬¡¢Ã±°ì¤Î¥×¥í¥»¥¹¤ä¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¤È¤¤¤Ã¤¿
¸ÄÊ̤θ½¾Ý¤ä»öʪ¤òµ½Ò¤¹¤ë¤À¤±¤Ê¤é¡¢¥«¡¼¥Í¥ë¤Ë¤Ï¤½¤ì¤é¤Î¸ÄÊ̥ǡ¼¥¿¤ò¤¹¤Ù¤Æ
õ¤·½Ð¤¹Ç½ÎϤ¬É¬Íפˤʤ롣Ϣ·ë¥ê¥¹¥È¤Ç¤Ï¡¢¥ë¡¼¥È¥Ý¥¤¥ó¥¿¤¬¥ê¥¹¥È¾å¤Î
ºÇ½é¤Î¥Ç¡¼¥¿¹½Â¤ÂΤ⤷¤¯¤ÏÍ×ÁǤΥ¢¥É¥ì¥¹¤ò´Þ¤ó¤Ç¤¤¤Æ¡¢¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¹½Â¤ÂΤ¬
¥ê¥¹¥È¾å¤Î¼¡¤ÎÍ×ÁǤؤΥݥ¤¥ó¥¿¤ò´Þ¤ó¤Ç¤¤¤ë¡£ºÇ¸å¤ÎÍ×ÁǤ˴ޤޤì¤ë¼¡¤ÎÍ×ÁǤؤÎ
¥Ý¥¤¥ó¥¿¤Ï(¥ê¥¹¥È¤Î½ª¤ï¤ê¤ò¼¨¤¹°ÕÌ£¤¬¤¢¤ë) 0 ¤« NULL ¤Î¤É¤Á¤é¤«¤Ç¤¢¤ë¡£
Æó½ÅÏ¢·ë¥ê¥¹¥È¤Ç¤Ï¡¢¸Ä¡¹¤ÎÍ×ÁǤ¬¡¢¥ê¥¹¥È¾å¤Î¼¡¤ÎÍ×ÁǤؤΥݥ¤¥ó¥¿¤È¤Ò¤È¤ÄÁ°¤Î
Í×ÁǤؤΥݥ¤¥ó¥¿¤ÎξÊý¤ò´Þ¤ó¤Ç¤¤¤ë¡£Æó½ÅÏ¢·ë¥ê¥¹¥È¤ò»È¤¨¤Ð¡¢¥ê¥¹¥È¤Î¿¿¤óÃæ¤Ç
Í×ÁǤÎÄɲääºï½ü¤ò¤¹¤ë¤³¤È¤¬Íưפˤʤ뤬¡¢¤¿¤À¤·¡¢¥á¥â¥ê¤Ø¤Î¥¢¥¯¥»¥¹ÉÑÅÙ¤ÏÁý²Ã
¤¹¤ë¡£¤³¤ì¤Ï¡¢¥á¥â¥ê¥¢¥¯¥»¥¹¤È CPU ¥µ¥¤¥¯¥ë¤Î¤É¤Á¤é¤òÍ¥À褹¤ë¤«¤È¤¤¤¦¡¢¥ª¥Ú¥ì¡¼
¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤Ëŵ·¿Åª¤ÊÆó¼ÔÂò°ì¤ÎÌäÂê¤Ç¤¢¤ë¡£
<P>
<H3><A NAME="chapter_sb_sect3-2"></A> ¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë</H3>
<P>Ï¢·ë¥ê¥¹¥È¤Ï¡¢¥Ç¡¼¥¿¹½Â¤ÂΤò·ë¤Ó¤Ä¤±¤ë¤Ë¤Ï¼ê·Ú¤ÊÊýË¡¤À¤¬¡¢Ï¢·ë¥ê¥¹¥È¤òé¤ë
¤Î¤ÏÈó¸úΨ¤Ê¾ì¹ç¤¬¤¢¤ë¡£ÆÃÄê¤ÎÍ×ÁǤò¸¡º÷¤¹¤ë¤Ê¤é¡¢¥ê¥¹¥ÈÁ´ÂΤò´Êñ¤Ëį¤á¤Æ¡¢
¤½¤Î¾å¤ÇɬÍפÊÍ×ÁǤò¸«¤Ä¤±¤ë¤è¤¦¤Ë¤¹¤Ù¤¤À¤í¤¦¡£Linux ¤Ï¡¢¥Ï¥Ã¥·¥ó¥°(hashing)
¤È¤¤¤¦Ê̤Υƥ¯¥Ë¥Ã¥¯¤ò»È¤Ã¤Æ¡¢Ï¢·ë¥ê¥¹¥È¤Î¸Â³¦¤ò¹îÉþ¤·¤Æ¤¤¤ë¡£
¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë(hash table)¤Ï¡¢¥Ý¥¤¥ó¥¿¤ÎÇÛÎó(array)¤â¤·¤¯¤Ï¥Ù¥¯¥È¥ë(vector)
¤Ç¤¢¤ë¡£ÇÛÎó¤â¤·¤¯¤Ï¥Ù¥¯¥È¥ë¤È¤Ï¡¢Ã±¤Ë¥á¥â¥êÆâ¤ËϢ³¤¹¤ë°ìÏ¢¤ÎÍ×ÁǤΤ³¤È¤Ç¤¢
¤ë¡£¤¿¤È¤¨¤Ð¡¢ËÜê¤Ï¡¢ËܤÎÇÛÎó(array)¤Ç¤¢¤ë¤È¸À¤¨¤ë¡£ÇÛÎó¤Ï¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¥¢¥¯¥»
¥¹¤¬²Äǽ¤Ç¤¢¤ë¡£¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤ÏÇÛÎó¤Ø¤Î¥ª¥Õ¥»¥Ã¥È(offset)¤Ç¤¢¤ë¡£ºÆÅÙËÜê¤Î
Îà¿ä¤Ç¹Í¤¨¤ë¤È¡¢¤½¤ì¤¾¤ì¤ÎËܤϡ¢ËÜê¾å¤Î°ÌÃÖ¤Çɽ¤¹¤³¤È¤¬¤Ç¤¤ë¡£5 ºýÌÜ
(offset)¤ÎËܤȤ¤¤¦¸À¤¤Êý¤Ç¤½¤ì¤ò»ØÄê¤Ç¤¤ë¡£
<P>
<P>¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Ï¡¢¥Ç¡¼¥¿¹½Â¤ÂΤËÂФ¹¤ë¥Ý¥¤¥ó¥¿¤ÎÇÛÎó¤Ç¤¢¤ê¡¢¤½¤Î¥¤¥ó¥Ç¥Ã
¥¯¥¹¤Ï¡¢¤½¤ì¤é¤Î¥Ç¡¼¥¿¹½Â¤ÂÎÆâ¤Î¾ðÊ󤫤éÃê½Ð¤µ¤ì¤ë¡£¤¢¤ë¼¤Î¿Í¸ý¤òɽ¤¹¥Ç¡¼¥¿
¹½Â¤ÂΤ¬¤¢¤ë¤È¤¹¤ë¤È¡¢¤½¤Î½»¿Í¤ÎǯÎð¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤·¤Æ»È¤¦¤³¤È¤¬¤Ç¤¤ë¡£
ÆÃÄê¤Î½»¿Í¤Î¥Ç¡¼¥¿¤ò¸¡º÷¤¹¤ë¾ì¹ç¡¢Ç¯Îð¤ò¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤·¤Æ»ÈÍѤ·¤Æ¡¢¤½¤Î¼¤Î
¿Í¸ý¤Ë¤Ä¤¤¤Æ¤Î¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ò¸¡º÷¤·¡¢³ºÅö¤¹¤ë¥Ý¥¤¥ó¥¿¤òé¤ì¤Ð¡¢¥Ý¥¤¥ó¥ÈÀè
¤Î¹½Â¤ÂΤˤ½¤Î½»¿Í¤Î¾ÜºÙ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£»Äǰ¤Ê¤¬¤é¡¢Â¼¤Ë¤Ï¡¢Æ±Ç¯Îð¤Î½»¿Í¤¬
ÂçÀª¤¤¤ë¾ì¹ç¤¬Â¿¤¤¤Î¤Ç¡¢¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¥Ý¥¤¥ó¥¿¤Ï¡¢Æ±Ç¯Îð¤Î½»¿Í¤òµ½Ò¤·¤¿
¥Ç¡¼¥¿¹½Â¤ÂΤÎÏ¢º¿¤«¥ê¥¹¥È¤ËÂФ¹¤ë¥Ý¥¤¥ó¥¿¤Ë¤Ê¤ë¤À¤í¤¦¡£¤·¤«¤·¡¢¤³¤¦¤·¤¿Ã»
¤¤Ï¢º¿¤ò¸¡º÷¤¹¤ë¤³¤È¤Ï¡¢¥Ç¡¼¥¿¹½Â¤ÂΤ¹¤Ù¤Æ¤ò¸¡º÷¤¹¤ë¤è¤ê¤â¤º¤Ã¤È¹â®¤Ç¤¢¤ë¡£
<P>
<P>¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ò»È¤¦¤È¡¢¤è¤¯ÍøÍѤµ¤ì¤ë¥Ç¡¼¥¿¹½Â¤ÂΤؤΥ¢¥¯¥»¥¹¤ò¹â®²½¤Ç
¤¤ë¤Î¤Ç¡¢Linux ¤Ï¡¢¤·¤Ð¤·¤Ð¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ò¡¢¥¥ã¥Ã¥·¥å(cache)¤Î¼ÂÁõ¤Î¤¿¤á¤Ë
»ÈÍѤ·¤Æ¤¤¤ë¡£¥¥ã¥Ã¥·¥å¤Ï¤¹¤Ð¤ä¤¤¥¢¥¯¥»¥¹¤¬É¬Íפʺݤμê·Ú¤Ê¾ðÊ󸻤Ǥ¢¤ê¡¢
Ä̾¼ê¤ËÆþ¤ë¾ðÊó¤Î¥Õ¥ë¥»¥Ã¥È¤ËÂФ¹¤ë¥µ¥Ö¥»¥Ã¥È¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
¥«¡¼¥Í¥ë¤¬¤¢¤ë¥Ç¡¼¥¿¹½Â¤ÂΤËÂФ·ÉÑÈˤ˥¢¥¯¥»¥¹¤¹¤ë¾ì¹ç¡¢¤½¤Î¥Ç¡¼¥¿¹½Â¤ÂΤÏ
¥¥ã¥Ã¥·¥å¤ËÆþ¤ì¤é¤ì¤ÆÊݸ¤µ¤ì¤ë¡£¥¥ã¥Ã¥·¥å¤Î·çÅÀ¤Ï¡¢Ã±½ã¤ÊÏ¢·ë¥ê¥¹¥È¤ä
¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤è¤ê¤â»ÈÍѤȴÉÍý¤¬Ê£»¨¤Ë¤Ê¤ë¤³¤È¤Ç¤¢¤ë¡£¤â¤·¥Ç¡¼¥¿¹½Â¤ÂΤ¬
¥¥ã¥Ã¥·¥åÆâ¤Ç¸«¤Ä¤«¤ì¤Ð(¤³¤ì¤Ï¡¢¥¥ã¥Ã¥·¥å¥Ò¥Ã¥È(cache hit)¤È¸À¤ï¤ì¤ë)¡¢
ÌäÂê¤Î¤Ê¤¤Îɤ¤·ë²Ì¤¬ÆÀ¤é¤ì¤ë¡£¤·¤«¤·¡¢¤â¤·¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¡¢´ØÏ¢¤¹¤ë¤¹¤Ù¤Æ
¤Î¥Ç¡¼¥¿¹½Â¤ÂΤ¬¸¡º÷¤µ¤ì¡¢³ºÅö¤¹¤ë¥Ç¡¼¥¿¹½Â¤ÂΤ¬Â¸ºß¤·¤¿ºÝ¤Ë¤Ï¡¢¤½¤ì¤ò
¥¥ã¥Ã¥·¥å¤ËÄɲ䷤ʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¥Ç¡¼¥¿¹½Â¤ÂΤò¥¥ã¥Ã¥·¥å¤ËÄɲ乤ë¤È¡¢
¸Å¤¤¥¥ã¥Ã¥·¥å¥¨¥ó¥È¥ê¤òÇË´þ¤¹¤ëɬÍפ¬À¸¤¸¤ë¡£Linux ¤Ï¤É¤ì¤òÇË´þ¤¹¤ë¤«·èÄꤷ
¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤À¤¬¡¢ÌäÂê¤Ï¡¢ÇË´þ¤µ¤ì¤¿¥Ç¡¼¥¿¹½Â¤ÂΤϡ¢Linux ¤¬¼¡¤ËɬÍפȤ¹
¤ë¥Ç¡¼¥¿¤½¤Î¤â¤Î¤Ç¤¢¤ë¾ì¹ç¤¬¤¢¤ë¤³¤È¤Ç¤¢¤ë¡£
<P>
<H3><A NAME="chapter_sb_sect3-3"></A> Ãê¾Ý¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹</H3>
<P>Linux ¤Ï¤·¤Ð¤·¤Ð¤½¤Î¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤òÃê¾Ý²½¤¹¤ë¡£¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤È¤Ï¡¢
ÆÃÄê¤ÎÊýË¡¤ÇÁàºî¤µ¤ì¤ë¥ë¡¼¥Á¥ó¤È¥Ç¡¼¥¿¹½Â¤ÂΤν¸¹ç¤Ç¤¢¤ë¡£¤¿¤È¤¨¤Ð¡¢¤¹¤Ù¤Æ¤Î
¥Í¥Ã¥È¥ï¡¼¥¯¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ï¡¢°ìÄê¤Î¥ë¡¼¥Á¥ó¤òÄ󶡤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
¤½¤·¤Æ¡¢¤½¤Î¥É¥é¥¤¥Ð¤Î¥ë¡¼¥Á¥ó¤¬¡¢¥Ç¥Ð¥¤¥¹¸ÇͤΥǡ¼¥¿¹½Â¤ÂΤò½èÍý¤¹¤ë¡£
¤³¤ÎÊýË¡¤ò»È¤¦¤È¡¢ÈÆÍÑ¥³¡¼¥É¤«¤éÀ®¤ë¥ì¥¤¥ä¡¼¤Î¸ºß¤¬²Äǽ¤Ë¤Ê¤ë¡£¤¹¤Ê¤ï¤Á¡¢
ÈÆÍѥ쥤¥ä¡¼¤Î¥³¡¼¥É¤Ï¡¢²¼Áإ쥤¥ä¡¼¤Ë¤¢¤ë¥Ç¥Ð¥¤¥¹¸ÇͤΥ³¡¼¥É¤¬Ä󶡤¹¤ë
¥µ¡¼¥Ó¥¹(¤¢¤ë¤¤¤Ï¡¢¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹)¤ò»ÈÍѤ¹¤ë¤ï¤±¤Ç¤¢¤ë¡£¥Í¥Ã¥È¥ï¡¼¥¯
¥ì¥¤¥ä¡¼¤ÏÈÆÍÑ¥³¡¼¥É¤«¤éÀ®¤ê¡¢¤½¤ÎÈÆÍÑ¥³¡¼¥É¤¬¡¢É¸½à¥¤¥ó¥¿¡¼¥Õ¥§¥¤¥¹¤Ë½àµò
¤·¤¿¡¢¥Ç¥Ð¥¤¥¹¸ÇͤΥ³¡¼¥É¤Ë¤è¤Ã¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
<P>
<P>¤·¤Ð¤·¤Ð¤½¤¦¤·¤¿²¼Áإ쥤¥ä¡¼¤Ï¡¢µ¯Æ°»þ¤Ë¾åÁإ쥤¥ä¡¼¤Èȼ¤ËÅÐÏ¿¤µ¤ì¤ë¡£
¤³¤ÎÅÐÏ¿¤ÎºÝ¤Ë¤Ï¡¢Ä̾¥Ç¡¼¥¿¹½Â¤ÂΤòÏ¢·ë¥ê¥¹¥È¤ËÄɲ乤ë½èÍý¤¬¤Ê¤µ¤ì¤ë¡£
¤¿¤È¤¨¤Ð¡¢¤¢¤ë¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥«¡¼¥Í¥ë¤ËÁȤ߹þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤Î¸Ä¡¹¤Î
¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ïµ¯Æ°»þ¤Ë¥«¡¼¥Í¥ë¤ËÅÐÏ¿¤µ¤ì¤ë¡£¤¢¤ë¤¤¤Ï¡¢¤â¤·¥â¥¸¥å¡¼¥ë¤Ë
¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ºÇ½é¤Ë¸Æ¤Ó¤À¤µ¤ì¤¿¤È¤¤Ë¡¢ÅÐÏ¿¤¬¤Ê¤µ¤ì
¤ë¡£<CODE>/proc/filesystems</CODE> ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ò¸«¤ì¤Ð¡¢¤É¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬
ÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¤«¤¬Ê¬¤«¤ë¡£
¥«¡¼¥Í¥ë¤Ø¤ÎÅÐÏ¿¤Ë»ÈÍѤµ¤ì¤ë¥Ç¡¼¥¿¹½Â¤ÂΤˤϡ¢¤·¤Ð¤·¤Ð¡¢Ê£¿ô¤Î´Ø¿ô¤Ø¤Î¥Ý¥¤¥ó
¥¿¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£¤½¤ì¤é¤Ï¡¢ÆÃÄê¤Î¥¿¥¹¥¯¤ò¼Â¹Ô¤¹¤ë´Ø¿ô¤Î¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
ºÆÅÙ¡¢¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤ÎÅÐÏ¿¤òÎã¤Ë¤È¤ë¤È¡¢¸Ä¡¹¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬ÅÐÏ¿¤ÎºÝ¤Ë
¥«¡¼¥Í¥ë¤ËÅϤ¹¥Ç¡¼¥¿¹½Â¤ÂΤˤϡ¢¤½¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ë¸ÇͤΥ롼¥Á¥ó¤Î¥¢¥É¥ì
¥¹¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£¤½¤·¤Æ¡¢¤½¤Î¥ë¡¼¥Á¥ó¤Î¥¢¥É¥ì¥¹¤ò»ÈÍѤ·¤ÆÅö³º¥ë¡¼¥Á¥ó¤ò¸Æ¤Ó
½Ð¤¹¤³¤È¤Ç¡¢Åö³º¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤¬¥Þ¥¦¥ó¥È¤µ¤ì¤ë»ÅÁȤߤˤʤäƤ¤¤ë¡£
<P>
<HR>
<A HREF="The-Linux-Kernel-4.html">¼¡¤Î¥Ú¡¼¥¸</A>
<A HREF="The-Linux-Kernel-2.html">Á°¤Î¥Ú¡¼¥¸</A>
<A HREF="The-Linux-Kernel.html#toc3">Ìܼ¡¤Ø</A>
</BODY>
</HTML>
|