Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > e74e806c1a2640e922856d7eb69d1420 > files > 115

howto-text-ja-2006-5mdv2010.0.noarch.rpm

The Unix and Internet Fundamentals HOWTO

Eric Raymond

esr@thyrsus.com
        

JF Project - “ú–{Œê–ó

JF@linux.or.jp

Revision History                                                        
Revision 2.4         12 June 2001              Revised by: esr          
Where to find more.                                                     
Revision 1.0         29 October 1998           Revised by: esr          
Initial revision.                                                       

‚±‚Ì•¶‘‚ł́APC Œn‚̃Rƒ“ƒsƒ…[ƒ^‚â Unix ƒ‰ƒCƒN‚ȃIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒe
ƒ€A‚¨‚æ‚уCƒ“ƒ^[ƒlƒbƒg‚ÉŠÖ‚·‚éŽÀ—p“I‚ÈŠî‘b’mŽ¯‚ɂ‚¢‚āA‹Zp“I‚Ȑê–å
—pŒê‚ðŽg‚킸‚ɉðà‚µ‚Ä‚¢‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

Table of Contents
1. ‚Í‚¶‚ß‚É
   
    1.1. ‚±‚Ì•¶‘‚Ì–Ú“I
    1.2. ‚±‚Ì•¶‘‚̐Vƒo[ƒWƒ‡ƒ“
    1.3. ƒtƒB[ƒhƒoƒbƒN‚Æ’ù³
    1.4. ŠÖ˜AƒŠƒ\[ƒX
   
2. ƒRƒ“ƒsƒ…[ƒ^‰ð–UŠw“ü–å
3. ƒRƒ“ƒsƒ…[ƒ^‚Ì“dŒ¹‚ð“ü‚ꂽŽž‚ɉ½‚ª‹N‚±‚é‚Ì‚©?
4. ƒƒOƒCƒ“‚µ‚½‚Æ‚«‚ɉ½‚ª‹N‚±‚é‚Ì‚©?
5. ƒVƒFƒ‹‚©‚çƒvƒƒOƒ‰ƒ€‚ð‹N“®‚µ‚½‚Æ‚«‰½‚ª‹N‚±‚é‚©?
6. “ü—̓fƒoƒCƒX‚⊄‚荞‚݂͂ǂ̂悤‚É“®ì‚µ‚Ä‚¢‚é‚Ì‚©?
7. ƒRƒ“ƒsƒ…[ƒ^‚Í‚Ç‚¤‚â‚Á‚Ä•¡”‚Ì‚±‚Ƃ𓯎ž‚ɍs‚¤‚Ì‚©?
8. ƒRƒ“ƒsƒ…[ƒ^‚Í‚Ç‚¤‚â‚Á‚Ä•¡”‚̃vƒƒZƒX‚ªŠ±Â‚µ‚ ‚í‚È‚¢‚悤‚É‚µ‚Ä‚¢‚é
    ‚Ì‚©?
   
    8.1. ‰¼‘zƒƒ‚ƒŠFŠÈˆÕƒo[ƒWƒ‡ƒ“
    8.2. ‰¼‘zƒƒ‚ƒŠFÚ×ƒo[ƒWƒ‡ƒ“
    8.3. ƒƒ‚ƒŠŠÇ—ƒ†ƒjƒbƒg (memory management unit)
   
9. ƒRƒ“ƒsƒ…[ƒ^‚͏î•ñ‚ð‚ǂ̂悤‚Ƀƒ‚ƒŠ‚É•ÛŽ‚·‚é‚Ì‚©?
   
    9.1. ”Žš
    9.2. •¶Žš
   
10. ƒRƒ“ƒsƒ…[ƒ^‚͂ǂ̂悤‚ɃfƒBƒXƒN‚ɏî•ñ‚ð•Û‘¶‚·‚é‚Ì‚©?
   
    10.1. ’჌ƒxƒ‹‚ł̃fƒBƒXƒN‚ƃtƒ@ƒCƒ‹ƒVƒXƒeƒ€\‘¢
    10.2. ƒtƒ@ƒCƒ‹–¼‚ƃfƒBƒŒƒNƒgƒŠ
    10.3. ƒ}ƒEƒ“ƒgƒ|ƒCƒ“ƒg
    10.4. ƒtƒ@ƒCƒ‹‚Ì–â‚¢‡‚킹‚ÌŽd‘g‚Ý
    10.5. ƒtƒ@ƒCƒ‹‚̏Š—LŽÒAƒp[ƒ~ƒbƒVƒ‡ƒ“AƒZƒLƒ…ƒŠƒeƒB
    10.6. ’²Žq‚ªˆ«‚¢‚Æ‚¢‚¤‚Ì‚Í‚Ç‚¤‚¢‚¤‚±‚Æ‚È‚Ì‚©
   
11. ƒRƒ“ƒsƒ…[ƒ^Œ¾Œê‚͂ǂ̂悤‚ÈŽd‘g‚Ý‚Å“®‚¢‚Ä‚¢‚é‚Ì‚©
   
    11.1. ƒRƒ“ƒpƒCƒ‹Œ^‚ÌŒ¾Œê
    11.2. ƒCƒ“ƒ^ƒvƒŠƒ^Œ^Œ¾Œê
    11.3. P-code Œ¾Œê
   
12. ƒCƒ“ƒ^[ƒlƒbƒg‚͂ǂ̂悤‚ÈŽd‘g‚Ý‚Å“®‚¢‚Ä‚¢‚é‚Ì‚©
   
    12.1. –¼‘O‚Əꏊ
    12.2. ƒhƒƒCƒ“ƒl[ƒ€ƒVƒXƒeƒ€ (domain name system)
    12.3. ƒpƒPƒbƒg‚ƃ‹[ƒ^
    12.4. TCP ‚Æ IP
    12.5. HTTP : ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒgƒRƒ‹‚̈ê—á
   
13. ‚à‚Á‚Əڂµ‚­’m‚肽‚¢l‚Ì‚½‚ß‚É
14. “ú–{Œê–ó‚ɂ‚¢‚Ä

1. ‚Í‚¶‚ß‚É

1.1. ‚±‚Ì•¶‘‚Ì–Ú“I

‚±‚Ì•¶‘‚́ALinux ‚âƒCƒ“ƒ^[ƒlƒbƒg‚ðŽg‚¢“|‚·‚±‚Æ‚ÅŠw‚ñ‚Å‚¢‚郆[ƒU‚ðŽx
‰‡‚·‚邽‚ß‚Ì‚à‚Ì‚Å‚·BŽÀ‘H‚©‚çŠw‚Ô‚Æ‚¢‚¤‚̂́A“Á’è‚̃XƒLƒ‹‚ðg‚ɂ‚¯‚é
•û–@‚Æ‚µ‚Ă͐\‚µ•ª‚È‚¢‚Ì‚Å‚·‚ªA(‘ÌŒn“I‚Å‚Í‚È‚¢‚½‚ß)‚²‚­Šî–{“I‚È‚Í‚¸‚Ì
’mŽ¯‚ÌŠeŠ‚ÉŒŠ‚ª¶‚¶‚Ä‚µ‚Ü‚¢‚ª‚¿‚Å‚·B‚»‚µ‚āA‚»‚¤‚µ‚½Œ‡—Ž‚ª‚ ‚é‚ƁAŽ©
•ª‚ʼn½‚©‚ð‚ ‚ç‚½‚ɍl‚¦o‚µ‚½‚èAƒgƒ‰ƒuƒ‹‚ðŒø‰Ê“I‚É‰ðŒˆ‚µ‚½‚è‚·‚éÛ‚ɍ¢
“ï‚É’¼–Ê‚·‚é‚à‚Ì‚Å‚·BŒ»ŽÀ‚ɉ½‚ª‹N‚±‚Á‚Ä‚¢‚é‚Ì‚©‚𓪂̒†‚ÅŽv‚¢•`‚­‚±‚Æ
‚ª‚Å‚«‚È‚¢‚©‚ç‚Å‚·B

–{‘‚ł́ALinux ‚ƃCƒ“ƒ^[ƒlƒbƒg‚ÉŠÖ‚·‚é‘S‘Ì‚ÌŽd‘g‚݂ɂ‚¢‚āA–¾Šm‚©‚Â
•½ˆÕ‚ÈŒ¾—t‚Åà–¾‚·‚é‚‚à‚è‚Å‚·B–{‘‚̉ðà‚́APC Œnƒn[ƒhƒEƒFƒAã‚Å
Unix ‚© Linux ‚ðŽg‚Á‚Ä‚¢‚él‚ð‘Ώۂɂµ‚Ä‚¢‚Ü‚·B‚½‚¾A‚±‚±‚ł́A—¼ŽÒ‚ð
‚ ‚킹‚Ä’P‚É 'Unix' ‚ƌĂт܂·B–{‘‚Å‚Ìà–¾‚Ì‘å•”•ª‚́AŠeŽíƒvƒ‰ƒbƒgƒt
ƒH[ƒ€‚â—lX‚ÈŽí—Þ‚Ì Unix ‚É‹¤’Ê‚·‚é‚à‚Ì‚¾‚©‚ç‚Å‚·B

‚Ü‚½A–{‘‚ł́A“ÇŽÒ‚ª Intel ƒvƒƒZƒbƒT‚𓋍ڂµ‚½ PC ‚ðŽg‚Á‚Ä‚¢‚é‚à‚Ì‚Æ
‰¼’肵‚Ä‚¢‚Ü‚·BAlpha ƒvƒƒZƒbƒT‚â PowerPC A‚à‚µ‚­‚Í‚»‚êˆÈŠO‚Ì Unix ƒ}
ƒVƒ“‚ð“®‚©‚µ‚Ä‚¢‚éê‡A×‚©‚È“_‚É‘½­ˆá‚¢‚Í‚ ‚è‚Ü‚·‚ªA‚»‚ê‚Å‚àŠî–{“I
‚ȃRƒ“ƒZƒvƒg‚Í“¯‚¶‚Å‚·B

“¯‚¶‚±‚Æ‚ð‚­‚Ç‚­‚Ǐq‚ׂ邱‚Æ‚Í‚µ‚È‚¢‚̂ŁA’ˆÓ‚µ‚Ä“Ç‚ñ‚Å‚­‚¾‚³‚¢B•Ê‚Ì
Œ¾‚¢•û‚ð‚·‚é‚ƁAd•¡‚µ‚½à–¾‚ª‚È‚¢‚̂ŁA‚Ç‚±‚ð“Ç‚ñ‚Å‚àV‚µ‚¢’mŽ¯‚𓾂ç
‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚à‚ ‚è‚Ü‚·BÅ‰‚Í‚´‚Á‚Æ“Ç‚ñ‚ŁAŠw‚ñ‚¾‚±‚Æ‚ðÁ‰»‚µ‚½Œã
‚ŁA‚³‚ç‚ɉ½“x‚©“Ç‚Ý•Ô‚·‚Æ‚¢‚¤•û–@‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·B

‚±‚Ì•¶‘‚͐ŽžXV‚³‚ê‚Ä‚¢‚Ü‚·Bƒ†[ƒU‚̃tƒB[ƒhƒoƒbƒN‚ð‚à‚Æ‚É‚µ‚ăZƒN
ƒVƒ‡ƒ“‚ð’ljÁ‚µ‚Ä‚¢‚­‚‚à‚è‚Ȃ̂ŁA‚±‚ê‚©‚ç‚à‚¿‚å‚­‚¿‚å‚­–{‘‚É–Ú‚ð’Ê‚µ
‚Ä‚à‚炦‚ê‚΂Ǝv‚¢‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

1.2. ‚±‚Ì•¶‘‚̐Vƒo[ƒWƒ‡ƒ“

Unix and Internet Fundamentals HOWTO ‚̐Vƒo[ƒWƒ‡ƒ“‚́A’èŠú“I‚É 
comp.os.linux.help <news:comp.os.linux.help> ‚Æ news:
comp.os.linux.announce ‚¨‚æ‚Ñ news.answers <news:news.answers> ‚Ƀ|ƒXƒg
‚³‚ê‚Ä‚¢‚Ü‚·B‚Ü‚½ALDP ƒz[ƒ€ƒy[ƒW‚ðŠÜ‚ß‚½ŠeŽí‚Ì Linux WWW ƒTƒCƒg‚â
FTP ƒTƒCƒg‚É‚àƒAƒbƒvƒ[ƒh‚³‚ê‚Ä‚¢‚Ü‚·B

‚±‚Ì•¶‘‚̍ŐVƒo[ƒWƒ‡ƒ“‚́AWorld Wide Web ã‚ÌŽŸ‚Ì URL ‚ÅŒ©‚邱‚Æ‚ª‚Å
‚«‚Ü‚·B http://www.linuxdoc.org/HOWTO/
Unix-and-Internet-Fundamentals-HOWTO/index.html

–{‘‚ɂ́Aƒ|[ƒ‰ƒ“ƒhŒê <www.gszczepa.hg.pl/esr1iso2.htm>‚Ì–|–󂪂 ‚è‚Ü
‚·B 

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

1.3. ƒtƒB[ƒhƒoƒbƒN‚Æ’ù³

‚±‚Ì•¶‘‚ÉŠÖ‚·‚鎿–â‚âƒRƒƒ“ƒg‚ª‚ ‚ê‚΁A‰“—¶‚È‚­ Eric S. Raymond
<esr@thyrsus.com> ‚܂с[ƒ‹‚ð‘—‚Á‚Ä‚­‚¾‚³‚¢B‚ǂ̂悤‚È’ñˆÄ‚â”á”»‚Å‚à
Š½Œ}‚µ‚Ü‚·B“Á‚ɁA–{‘‚ł̌X‚̃Rƒ“ƒZƒvƒg‚ð‚æ‚èÚ‚µ‚­à–¾‚µ‚Ä‚¢‚éƒTƒC
ƒg‚ւ̃nƒCƒp[ƒŠƒ“ƒN‚͑劽Œ}‚Å‚·B‚±‚Ì•¶‘‚ɊԈႢ‚ðŒ©‚Â‚¯‚½ê‡‚́A¥
”ñ’˜ŽÒ‚É’m‚点‚Ä‚­‚¾‚³‚¢BŽŸ‚̃o[ƒWƒ‡ƒ“‚Å’ù³‚µ‚Ü‚·B‚æ‚낵‚­‚¨Šè‚¢‚µ
‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

1.4. ŠÖ˜AƒŠƒ\[ƒX

ƒnƒbƒLƒ“ƒO‚Ì•û–@‚ª’m‚肽‚­‚Ä‚±‚Ì•¶‘‚ð“Ç‚ñ‚Å‚¢‚é‚È‚çA‚‚¢‚Å‚É How To
Become A Hacker FAQ <http://www.tuxedo.org/~esr/faqs/hacker-howto.html>
(ŽRŒ`–ó <http://cruel.org/freeware/hacker.html>A’†’J–ó <http://
www.linux.or.jp/JF/JFdocs/hacker.html>) ‚à“Ç‚ñ‚Å‚­‚¾‚³‚¢B–ð‚É—§‚î•ñ
‚ւ̃Šƒ“ƒN‚ª‹LÚ‚³‚ê‚Ä‚¢‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

2. ƒRƒ“ƒsƒ…[ƒ^‰ð–UŠw“ü–å

“ǎ҂̃Rƒ“ƒsƒ…[ƒ^‚ɂ́AƒvƒƒZƒbƒTƒ`ƒbƒv‚ª“à‘ ‚³‚ê‚Ä‚¢‚āA‚±‚ꂪŽÀÛ‚Ì
ŒvŽZˆ—‚ðŽÀs‚µ‚Ä‚¢‚Ü‚·B‚Ü‚½A“à•”ƒƒ‚ƒŠ‚à“à‘ ‚³‚ê‚Ä‚¢‚Ü‚· ( DOS/
Windows ‚ȂЂƂ½‚¿‚́A''RAM'' ‚ƌĂт܂·‚ªAUnix ‚ȂЂƂ½‚¿‚Í ''ƒRƒA
(core)'' ‚ƌĂñ‚¾‚è‚à‚µ‚Ü‚·B‚±‚Ì Unix —pŒê‚́A‚Ü‚¾ RAM ‚ªƒh[ƒiƒcŒ^‚Ì
ƒtƒFƒ‰ƒCƒgƒRƒA‚ŏo—ˆ‚Ä‚¢‚½ ‚Ì–¼Žc‚Å‚·)B‚»‚µ‚āAƒvƒƒZƒbƒT‚ƃƒ‚ƒŠ‚́A
ƒ}ƒU[ƒ{[ƒhã‚É“‹Ú‚³‚ê‚Ä‚¢‚āA‚±‚̃}ƒU[ƒ{[ƒh‚ªƒRƒ“ƒsƒ…[ƒ^‚̐S‘Ÿ•”
‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B

ƒRƒ“ƒsƒ…[ƒ^‚ɂ́AƒXƒNƒŠ[ƒ“‚ƃL[ƒ{[ƒh‚à‚‚¢‚Ä‚¢‚Ü‚·B‚Ü‚½Aƒn[ƒhƒh
ƒ‰ƒCƒu‚âƒtƒƒbƒsƒfƒBƒXƒN‚à“à‘ ‚³‚ê‚Ä‚¢‚Ü‚·BƒXƒNƒŠ[ƒ“‚ƃfƒBƒXƒN‚ɂ̓R
ƒ“ƒgƒ[ƒ‰ƒJ[ƒh‚ª•K—v‚Å‚·B‚±‚¤‚µ‚½ƒJ[ƒh‚̓}ƒU[ƒ{[ƒh‚ɍ·‚µž‚Ü‚êA
ƒRƒ“ƒsƒ…[ƒ^‚É‚æ‚éƒfƒoƒCƒX§Œä‚ð•â•‚µ‚Ä‚¢‚Ü‚·(ƒL[ƒ{[ƒh‚Í”ñí‚ɃVƒ“ƒv
ƒ‹‚ȃfƒoƒCƒX‚Ȃ̂ŁAê—p‚̃J[ƒh‚ð•K—v‚Æ‚µ‚Ü‚¹‚ñBƒRƒ“ƒgƒ[ƒ‰‚̓L[ƒ{
[ƒh‚Ì➑̓à‚É–„‚ߍž‚Ü‚ê‚Ä‚¢‚Ü‚·)B

‚±‚¤‚µ‚½ƒfƒoƒCƒX‚Ì“®ìŒ´—‚̏ڍׂɂ‚¢‚ẮAŒã‚Ù‚Çà–¾‚µ‚Ü‚·B‚±‚±‚Å‚Í
‚Ü‚¸A‚±‚ê‚炪ŒÝ‚¢‚É‚Ç‚¤‚¢‚Á‚½Žd‘g‚Ý‚Å“®ì‚µ‚Ä‚¢‚é‚Ì‚©‚ðŠÈ’P‚Éà–¾‚µ‚Ü
‚·B

ƒP[ƒX“à‚ÉŽû‚ß‚ç‚ꂽƒRƒ“ƒsƒ…[ƒ^‚̃p[ƒc‚Í‚·‚ׂāAƒoƒX (bus) ‚É‚æ‚Á‚ÄŒq
‚ª‚Á‚Ä‚¢‚Ü‚·B•¨—“I‚É‚¢‚¤‚ƁAƒoƒX‚Ƃ́AƒRƒ“ƒgƒ[ƒ‰ƒJ[ƒh‚ð·‚µž‚Þ•”
•ª‚Å‚·(ƒrƒfƒIƒJ[ƒh‚âƒfƒBƒXƒNƒRƒ“ƒgƒ[ƒ‰Aê‡‚É‚æ‚Á‚Ă̓ZƒJƒ“ƒh(ƒfƒB
ƒXƒN)ƒRƒ“ƒgƒ[ƒ‰‚È‚Ç)B‚¢‚í‚΃oƒX‚Ƃ́AƒvƒƒZƒbƒT‚âƒXƒNƒŠ[ƒ“AƒfƒBƒX
ƒN“™A‚·‚ׂẴp[ƒcŠÔ‚Ńf[ƒ^‚ð‚‘¬‚É‚â‚èŽæ‚è‚·‚邽‚߂̒ʘH‚Å‚·B

( PC ŠÖ˜A‚̘b‘è‚Å 'ISA' ‚â 'PCI', 'PCMCIA' ‚Æ‚¢‚Á‚½—pŒê‚ð–Ú‚É‚·‚邯‚ê‚Ç
A‚»‚ꂪ‰½‚È‚Ì‚©‚æ‚­•ª‚©‚ç‚È‚¢‚Æ‚¢‚¤‚©‚½‚ª‚¢‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚±‚ê‚ç‚Í
AƒoƒX‚ÌŒ`Ž®‚Ì‚±‚Æ‚Å‚·BISA ‚Æ‚¢‚¤‚̂́A‚¨‚¨‚Ü‚©‚ÉŒ¾‚¤‚ƁA1980 ”N‘ã‚É
IBM ‚ª”Ì”„‚µ‚Ä‚¢‚½‰Šú‚Ì PC ‚ÅŽg—p‚³‚ê‚Ä‚¢‚½‚Ì‚Æ“¯ˆê‚̃oƒX‚Ì‚±‚ƂŁAŒ»
Ý‚Å‚Í‚·‚½‚ê‚‚‚ ‚è‚Ü‚·BPCI ‚Ƃ́APeripheral Component
Interconnection ‚Ì—ª‚Å‚ ‚èAŒ»‘ã‚Ì PC ‚¨‚æ‚Ñ Macintosh ‚ÅŽg—p‚³‚ê‚Ä‚¢‚é
ƒoƒX‚Å‚·BPCMCIA ‚Ƃ́A•¨—ƒRƒlƒNƒ^‚ð¬Œ^‰»‚µ‚½ ISA ‚̉ü—ǔłł ‚èAƒ‰
ƒbƒvƒgƒbƒv‚ÅŽg—p‚³‚ê‚Ä‚¢‚Ü‚·B)

ƒvƒƒZƒbƒT‚Í‚·‚ׂĂ̋@Ší‚𓝊‡‚·‚éƒp[ƒc‚È‚Ì‚Å‚·‚ªA‚±‚ê‚ÍŽÀÛ‚É‚Í‘¼‚Ì
ƒp[ƒc‚𒼐ڌ©‚邱‚Æ‚Í‚Å‚«‚¸AƒoƒX‚ðŒo—R‚µ‚ĉï˜b‚·‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·
BƒoƒXˆÈŠO‚ɁAƒvƒƒZƒbƒT‚ª’¼Ú‚©‚‚‘¬‚ɃAƒNƒZƒX‚Å‚«‚éƒTƒuƒVƒXƒeƒ€‚́A
ƒƒ‚ƒŠ (ƒRƒA)‚¾‚¯‚Å‚·B‚»‚ê‚䂦AƒvƒƒOƒ‰ƒ€‚ðŽÀs‚µ‚悤‚Æ‚·‚é‚È‚çAƒvƒ
ƒOƒ‰ƒ€‚̓RƒA“à(ƒƒ‚ƒŠ“à)‚ɓǂݍž‚Ü‚ê‚é•K—v‚ª‚ ‚è‚Ü‚·B

ƒRƒ“ƒsƒ…[ƒ^‚ªƒvƒƒOƒ‰ƒ€‚âƒf[ƒ^‚ðƒfƒBƒXƒN‚©‚ç“ǂݏo‚·ê‡AŽÀÛ‚Ì“®ì
‚Æ‚µ‚ẮA‚Ü‚¸ƒvƒƒZƒbƒT‚ªAƒoƒX‚ðŽg‚Á‚āAƒfƒBƒXƒN‚©‚ç‚̓ǂݏo‚µƒŠƒNƒG
ƒXƒg‚ðƒfƒBƒXƒNƒRƒ“ƒgƒ[ƒ‰‚ɑ΂µ‚Ä‘—M‚µ‚Ü‚·B‚µ‚΂炭‚µ‚āAƒfƒBƒXƒNƒR
ƒ“ƒgƒ[ƒ‰‚́AƒoƒX‚ðŽg‚Á‚āAƒf[ƒ^‚ð“ǂݏo‚µ‚ăƒ‚ƒŠ“à‚Ì‚ ‚éêŠ‚É’u‚¢
‚½‚Æ‚¢‚¤‚±‚Æ‚ðƒvƒƒZƒbƒT‚É“`‚¦‚Ü‚·B‚»‚ê‚É‚æ‚Á‚āAƒvƒƒZƒbƒT‚́AƒoƒX‚ð
Žg‚Á‚āA‚»‚̃f[ƒ^‚ðŒ©‚é‚±‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚é‚킯‚Å‚·B

ƒL[ƒ{[ƒh‚ƃXƒNƒŠ[ƒ“‚àAƒoƒXŒo—R‚ŃvƒƒZƒbƒT‚ƃRƒ~ƒ…ƒjƒP[ƒVƒ‡ƒ“‚ðŽæ
‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚ªA‚»‚Ì•û–@‚Í‚à‚¤­‚µ’Pƒ‚Å‚·B‚±‚ê‚ɂ‚¢‚Ä‚ÍŒãq‚µ‚Ü‚·
BƒRƒ“ƒsƒ…[ƒ^‚É“dŒ¹‚ð“ü‚ꂽÛ‚ɉ½‚ª‹N‚±‚é‚©‚ð—‰ð‚·‚é‚ɂ́A‚¢‚Ü‚Ì‚Æ‚±
‚ëA‚±‚ê‚ŏ[•ª‚Å‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

3. ƒRƒ“ƒsƒ…[ƒ^‚Ì“dŒ¹‚ð“ü‚ꂽŽž‚ɉ½‚ª‹N‚±‚é‚Ì‚©?

ƒvƒƒOƒ‰ƒ€‚ª“®‚¢‚Ä‚¢‚È‚¢ƒRƒ“ƒsƒ…[ƒ^‚́A–𗧂½‚¸‚È“dŽq•”•i‚Ì‚©‚½‚Ü‚è‚É
‚·‚¬‚Ü‚¹‚ñB“dŒ¹‚ð“ü‚ꂽÛAƒRƒ“ƒsƒ…[ƒ^‚ª‚Ü‚¸Å‰‚ɍs‚¤‚ׂ«‚±‚Ƃ́AƒI
ƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ƌĂ΂ê‚é“Á•Ê‚ȃvƒƒOƒ‰ƒ€‚ðƒXƒ^[ƒg‚³‚¹‚邱‚Æ‚Å
‚·BƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ÌŽdŽ–‚́AƒRƒ“ƒsƒ…[ƒ^ƒn[ƒhƒEƒFƒA‚̐§Œä‚Æ
‚¢‚¤‹É‚߂ĔώG‚ȏˆ—‚ð‚â‚Á‚Ä‚Ì‚¯‚邱‚ƂŁA‚»‚Ì‘¼‚̃vƒƒOƒ‰ƒ€‚ÌŽdŽ–‚ðŽx
‰‡‚·‚邱‚Æ‚Å‚·B

ƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ð‹N“®‚·‚鏈—‚Ì‚±‚Ƃ́Aƒu[ƒg (boot) ‚ƌĂ΂ê
‚Ä‚¢‚Ü‚·(ƒu[ƒg‚Ƃ́A‚à‚Æ‚à‚Ɓu•Ò‚ݏグŒC‚̂‚܂݊v(bootstrap)v‚Ì‚±‚Æ
‚Å‚ ‚èAŒC‚̂‚܂݊v‚ðˆø‚Á’£‚Á‚ÄŽ©•ªŽ©g‚ðŽ‚¿ã‚°‚é(¢“ï‚ÈŽ–•¿‚̗Ⴆ)
‚Æ‚¢‚¤Œ¾‚¢•û‚ªƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚Ì‹N“®ˆ—‚ÉŽ—‚Ä‚¢‚邱‚Æ‚©‚ç–¼•t
‚¯‚ç‚ê‚Ü‚µ‚½)Bƒu[ƒg‚̎菇‚̓Rƒ“ƒsƒ…[ƒ^ƒ`ƒbƒv‚̂ЂƂ‚ł ‚é BIOS
(Basic Input/Output System ‚Ì—ª) ‚ɏ‘‚«ž‚Ü‚ê‚Ä‚¢‚é‚̂ŁA(ƒIƒyƒŒ[ƒeƒB
ƒ“ƒOƒVƒXƒeƒ€‚ª‹N“®‚·‚é‘O‚Å‚à) ƒRƒ“ƒsƒ…[ƒ^‚̓u[ƒg•û–@‚ð’m‚邱‚Æ‚ª‚Å‚«
‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B

BIOS ƒ`ƒbƒv‚́AƒRƒ“ƒsƒ…[ƒ^‚ɑ΂µ‚āA‚ ‚錈‚Ü‚Á‚½êŠ‚É‚ ‚é“Á•Ê‚̃vƒƒO
ƒ‰ƒ€‚ð’T‚·‚悤‚ÉŽwŽ¦‚µ‚Ü‚·B‚±‚ê‚͒ʏíAˆê”ÔŽá‚¢”ԍ†‚ª•t‚¯‚ç‚ꂽƒn[ƒh
ƒfƒBƒXƒN (ƒu[ƒgƒfƒBƒXƒN (boot disk)) ã‚É‚ ‚éAƒu[ƒgƒ[ƒ_ (boot
loader) ‚Æ‚æ‚΂ê‚éƒvƒƒOƒ‰ƒ€‚Å‚· (Linux ã‚ł́A‚±‚̃u[ƒgƒ[ƒ_‚Í LILO
‚Æ‚æ‚΂ê‚Ä‚¢‚Ü‚·)B‚»‚µ‚āAƒu[ƒgƒ[ƒ_‚ªƒƒ‚ƒŠ‚ɓǂݍž‚Ü‚êA‹N“®‚³‚ê‚Ü
‚·Bƒu[ƒgƒ[ƒ_‚ÌŽdŽ–‚́AƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚»‚Ì‚à‚Ì‚ð‹N“®‚·‚邱
‚Æ‚Å‚·B

‚±‚̃[ƒ_‚É‚æ‚éƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚Ì‹N“®‚Æ‚¢‚¤‚̂́AƒJ[ƒlƒ‹‚ð’T
‚µ‚āA‚»‚ê‚ðƒƒ‚ƒŠ‚Ƀ[ƒh‚µAƒXƒ^[ƒg‚³‚¹‚邱‚Æ‚É‚æ‚èŽÀs‚³‚ê‚Ü‚·B“Ç
ŽÒ‚ª Linux ‚ð‹N“®‚·‚é‚ƁAƒXƒNƒŠ[ƒ“‚É "LILO" ‚Æ‚¢‚¤•¶Žš‚ƁA‚»‚ÌŒã‚Ƀhƒb
ƒg‚ª‚¢‚­‚‚©•\Ž¦‚³‚ê‚é‚Ì‚ª•ª‚©‚é‚ÆŽv‚¢‚Ü‚·B‚»‚ÌŽž‚́Aƒu[ƒgƒ[ƒ_‚ªƒJ
[ƒlƒ‹‚ðƒ[ƒh‚µ‚Ä‚¢‚é‚Ì‚Å‚· (‚ЂƂ‚̃hƒbƒg‚Ì•\Ž¦‚́AƒfƒBƒXƒNƒuƒƒbƒN
(disk block) ‚ЂƂ•ª‚̃J[ƒlƒ‹ƒR[ƒh‚ªƒ[ƒh‚³‚ꂽ‚±‚Æ‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü
‚·)B

(“ǎ҂́ABIOS ‚ª‚È‚º’¼ÚƒJ[ƒlƒ‹‚ðƒ[ƒh‚µ‚È‚¢‚Ì‚©A‚È‚º‚í‚´‚í‚´ƒu[ƒg
ƒ[ƒ_‚ðŽg‚Á‚Ä 2 ’iŠK‚̏ˆ—‚ð‚·‚é‚Ì‚©‚ɂ‚¢‚Ä•sŽv‹c‚ÉŽv‚¤‚©‚à‚µ‚ê‚Ü‚¹‚ñ
B‚±‚ê‚́ABIOS ‚Æ‚¢‚¤‚Ì‚ªA‚ ‚܂茫‚­‚È‚¢‚©‚ç‚È‚Ì‚Å‚·BŽÀÛƒRƒCƒc‚Í‚Æ‚Ä
‚à“ª‚ªˆ«‚¢‚̂ŁAƒu[ƒg‚ªI‚í‚ê‚Î Linux ‚Í‘S‚­ BIOS ‚ðŽg‚¢‚Ü‚¹‚ñBBIOS
‚Í‚à‚Æ‚à‚ƃfƒBƒXƒN‚à‚ ‚Ü‚èÏ‚ñ‚Å‚¢‚È‚¢Œ´Žn“I‚È 8 ƒrƒbƒg PC ‚Ì‚½‚߂ɏ‘‚©
‚ꂽ‚à‚̂ŁAƒfƒBƒXƒN‚ɃAƒNƒZƒX‚µ‚ăJ[ƒlƒ‹‚𒼐ڃ[ƒh‚·‚é‚悤‚ȏˆ—‚Í
Ž–ŽÀã‚Å‚«‚È‚¢‚Ì‚Å‚·B‚Ü‚½AUnix ‚Å‚Í“s‡‚̈«‚¢‚悤‚ȍì‹Æ‚ª‚ ‚Á‚½‚Æ‚µ‚Ä
‚àAƒu[ƒgƒ[ƒ_‚Æ‚¢‚¤ˆ—‰ß’ö‚ð‰îÝ‚³‚¹‚邱‚ƂŁAƒfƒBƒXƒNã‚̕ʂ̏ꏊ
‚©‚çˆÙ‚È‚éƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ð‹N“®‚³‚¹‚邱‚Æ‚à‰Â”\‚É‚È‚è‚Ü‚·B)

‚¢‚Á‚½‚ñƒJ[ƒlƒ‹‚ªŽn“®‚·‚é‚ƁAƒJ[ƒlƒ‹‚ÍŽü•Ó‘•’u‚ÌŒŸo‚ðs‚¢Aƒn[ƒhƒE
ƒFƒA‚ðŽc‚炸”FŽ¯‚µ‚āAƒvƒƒOƒ‰ƒ€‚ðŽÀs‚·‚鏀”õ‚𐮂¦‚Ü‚·B‚»‚̍ہAƒJ[
ƒlƒ‹‚́A’ʏí‚̃ƒ‚ƒŠ‚Å‚Í‚È‚­AI/O ƒ|[ƒg (I/O ports) ‚Æ‚¢‚¤êŠ‚Æ‚â‚è‚Æ
‚è‚ð‚µ‚Ü‚·BI/O ƒ|[ƒg‚Ƃ́A“Á•Ê‚ȃoƒXƒAƒhƒŒƒX‚Å‚ ‚èAƒfƒoƒCƒXƒRƒ“ƒgƒ
[ƒ‰ƒJ[ƒh‚Í‚½‚¢‚Ä‚¢‚±‚̃|[ƒg‚ðŠÄŽ‹‚µ‚È‚ª‚çƒJ[ƒlƒ‹‚©‚ç‚̃Rƒ}ƒ“ƒh‚ð‘Ò
‚Á‚Ä‚¢‚Ü‚·B‚±‚ÌŽžAƒJ[ƒlƒ‹‚́AI/O ƒ|[ƒg‚ðƒ‰ƒ“ƒ_ƒ€‚É’T‚·‚킯‚Å‚Í‚ ‚è
‚Ü‚¹‚ñB‚Ç‚±‚ð’T‚¹‚Ή½‚ª‚ ‚é‚Ì‚©AƒRƒ“ƒgƒ[ƒ‰‚ª‘¶Ý‚·‚éê‡‚Í‚Ç‚¤‚¢‚¤
”½‰ž‚ª‚ ‚é‚Ì‚©‚Æ‚¢‚Á‚½î•ñ‚ªAƒJ[ƒlƒ‹‚Ì‚È‚©‚É‚ ‚ç‚©‚¶‚ß‚¬‚Á‚µ‚è‚Æ‘g‚Ý
ž‚Ü‚ê‚Ä‚¢‚é‚©‚ç‚Å‚·B‚±‚̃vƒƒZƒX‚́AŽ©“®ŒŸo (autoprobing) ‚ƌĂ΂ê‚Ä
‚¢‚Ü‚·B

‹N“®Žž‚É•\Ž¦‚³‚ê‚郁ƒbƒZ[ƒW‚Ì‚Ù‚Æ‚ñ‚ǂ́AƒJ[ƒlƒ‹‚ª I/O ƒ|[ƒgŒo—R‚Ńn
[ƒhƒEƒFƒA‚ðŽ©“®ŒŸo‚µ‚È‚ª‚çA‚Ç‚¤‚¢‚Á‚½Žü•Ó‹@Ší‚ª—˜—p‰Â”\‚Å‚ ‚é‚Ì‚©‚ð
”FŽ¯‚µA‚»‚̃}ƒVƒ“‚Ì“®ìŠÂ‹«‚É“K‡‚µ‚Ä‚¢‚­‰ß’ö‚Å•\Ž¦‚³‚ê‚é‚à‚Ì‚Å‚·B
Linux ƒJ[ƒlƒ‹‚́A‚±‚Ì‹@”\‚ªGˆí‚Å‚ ‚èA‘¼‚Ì‘å•”•ª‚Ì Unix ‚æ‚è‚à—D‚ê‚Ä
‚¢‚āA DOS ‚â Windows ‚æ‚è‚à‚¸‚Á‚Æ—DG‚Å‚·BŽÀÛA‘½‚­‚Ì Linux ŒÃŽQƒ†[
ƒU‚̍l‚¦‚é‚Æ‚±‚ë‚É‚æ‚é‚ƁA(ƒCƒ“ƒXƒg[ƒ‹‚ð”äŠr“I—eˆÕ‚É‚·‚é)‚±‚Ì‹N“®Žž‚Ì
Ž©“®ŒŸo‹@”\‚̏o—ˆ‚Ì—Ç‚³‚É‚æ‚Á‚āALinux ‚̓tƒŠ[‚È Unix ‚ðì‚é‚Æ‚¢‚¤ˆê
˜A‚ÌŽÀŒ±ƒvƒƒWƒFƒNƒg‚©‚甲‚¯o‚āA–c‘å‚Ȑ”‚̃†[ƒU‚ðˆê‹C‚Ɉø‚«‚‚¯‚ç‚ê
‚é‚悤‚É‚È‚Á‚½‚Ì‚¾‚ÆŒ¾‚í‚ê‚Ä‚¢‚Ü‚·B

‚µ‚©‚µAƒJ[ƒlƒ‹‚ðŠ®‘S‚Ƀ[ƒh‚µ‚ÄŽÀs‚·‚邱‚Æ‚¾‚¯‚ŁAƒu[ƒgƒvƒƒZƒX‚ª
I—¹‚·‚é‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚±‚ê‚Í‚Ü‚¾A‘æˆê’iŠK‚É‚·‚¬‚Ü‚¹‚ñ(‚±‚Ì’iŠK‚Í
Aƒ‰ƒ“ƒŒƒxƒ‹ 1 (run level 1) ‚Æ‚à‚æ‚΂ê‚Ä‚¢‚Ü‚·)B‘æˆê’iŠK‚ªÏ‚ނƁAƒJ
[ƒlƒ‹‚́A'init' ‚ƌĂ΂ê‚é“Á•Ê‚ȃvƒƒZƒX‚ɐ§Œä‚ð“n‚µA‚±‚Ì 'init' ƒvƒ
ƒZƒX‚ªŠeŽí‚ÌŠÇ—ƒvƒƒZƒX‚𗧂¿ã‚°‚Ü‚·B

’ʏíA‚±‚Ì init ƒvƒƒZƒX‚́AÅ‰‚ÌŽdŽ–‚Æ‚µ‚āA‚Ü‚¸ƒfƒBƒXƒN‚ª³í‚©‚Ç‚¤
‚©‚ÌŠm”F‚ðs‚¢‚Ü‚·BƒfƒBƒXƒNƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Í‘@×‚É‚Å‚«‚Ä‚¢‚é‚̂ŁA‚à
‚µƒn[ƒhƒEƒFƒA‚̌̏á‚â“Ë‘R‚Ì“dŒ¹ŽÕ’f‚ȂǂŃ_ƒ[ƒW‚ðŽó‚¯‚Ä‚¢‚½ê‡‚́A
Unix ‚ªŠ®‘S‚É—§‚¿ã‚ª‚Á‚Ä‚µ‚Ü‚¤‘O‚ɁAƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€C•œ‚̍ì‹Æ‚ª•K—v‚Å
‚·B‚±‚ê‚ɂ‚¢‚ẮAŒã‚قǁAƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ª‰ó‚ê‚é‚Æ‚¢‚¤‚Ì‚Í‚Ç‚¤‚¢‚¤
‚±‚Æ‚©‚ÌÍ‚Åà–¾‚µ‚Ü‚·B

init ‚ÌŽŸ‚ÌŽdŽ–‚́AƒvƒŠƒ“ƒgƒXƒv[ƒ‰ (print spooler)‚⃁[ƒ‹ƒT[ƒoA WWW
ƒT[ƒo‚Æ‚¢‚Á‚½A‚¢‚­‚‚©‚̃f[ƒ‚ƒ“ (daemon) ‚ð‹N“®‚·‚邱‚Æ‚Å‚·B‚±‚̃f
[ƒ‚ƒ“‚Æ‚¢‚¤‚̂́AƒoƒbƒNƒOƒ‰ƒEƒ“ƒh‚Å’n“¹‚É“®‚«‚È‚ª‚çAŽdŽ–‚ª—^‚¦‚ç‚ê‚é
‚Ì‚ð‘Ò‚Á‚Ä‚¢‚éƒvƒƒOƒ‰ƒ€‚Ì‚±‚Æ‚Å‚·B‚±‚¤‚µ‚½“Á•Ê‚̃vƒƒOƒ‰ƒ€‚́A‹£‡‚·
‚é•¡”‚̃ŠƒNƒGƒXƒg‚ðãŽè‚É’²®‚µ‚‚ˆ—‚ð‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚±‚Æ‚ª‚æ‚­
‚ ‚è‚Ü‚·B‚»‚¤‚µ‚½ƒvƒƒOƒ‰ƒ€‚ªƒf[ƒ‚ƒ“ƒvƒƒOƒ‰ƒ€‚Å‚ ‚é‚̂́A‚½‚¢‚Ä‚¢‚»
‚Ì•û‚ªƒvƒƒOƒ‰ƒ€‚ð‘‚«‚â‚·‚¢‚©‚ç‚Å‚·B‚ЂƂ‚̃ŠƒNƒGƒXƒg‚ð‚ЂƂ‚̃vƒ
ƒOƒ‰ƒ€‚ªˆ—‚·‚邱‚Æ‚É‚µ‚āA“¯‚¶ƒvƒƒOƒ‰ƒ€‚𓯎ž‚ÉŽÀs‚µ‚È‚ª‚çA‘ŠŒÝ‚É
â‘΂Ɋ±Â‚µ‚ ‚í‚È‚¢‚悤‚ɍH•v‚·‚é‚æ‚è‚àA‚ЂƂ‚̃vƒƒOƒ‰ƒ€‚¾‚¯‚ªíŽž
“®‚¢‚Ä‚¢‚āA‚·‚ׂẴŠƒNƒGƒXƒg‚ðˆ—‚·‚é‚悤‚É‚µ‚½‚Ù‚¤‚ªŠÈ’P‚¾‚©‚ç‚Å‚·
B‚Ç‚¤‚¢‚Á‚½Ží—ނ̃f[ƒ‚ƒ“‚ª‹N“®‚·‚é‚Ì‚©‚̓VƒXƒeƒ€‚É‚æ‚Á‚ĈقȂè‚Ü‚·‚ª
A‚½‚¢‚Ä‚¢‚̏ꍇA­‚È‚­‚Æ‚àƒvƒŠƒ“ƒgƒXƒv[ƒ‰ (ƒvƒŠƒ“ƒ^‚Ì–å”Ô‚ð‚µ‚Ä‚¢‚é
ƒf[ƒ‚ƒ“)‚Í‹N“®‚³‚ê‚Ä‚¢‚邱‚Æ‚ÆŽv‚í‚ê‚Ü‚·B

‚³‚ç‚ÉŽŸ‚ÌŽdŽ–‚́Aƒ†[ƒU‚Ì‚½‚߂̏€”õì‹Æ‚Å‚·Binit ‚́A getty ‚Æ‚æ‚΂ê
‚éƒvƒƒOƒ‰ƒ€‚ðƒXƒ^[ƒg‚³‚¹‚āAƒRƒ“ƒ\[ƒ‹‚ðŠÄŽ‹‚µ‚Ü‚·(‚à‚µ‚­‚́A•¡”‚Ì
getty ‚ð‹N“®‚µ‚āAƒ_ƒCƒ„ƒ‹ƒCƒ“—p‚̃VƒŠƒAƒ‹ƒ|[ƒg‚àŠÄŽ‹‚·‚邱‚Æ‚ª‚ ‚è‚Ü
‚·)B‚±‚̃vƒƒOƒ‰ƒ€‚́AƒRƒ“ƒ\[ƒ‹ã‚É login ƒvƒƒ“ƒvƒg‚ð•\Ž¦‚·‚é‚à‚Ì‚Å
‚·B‚·‚ׂẴf[ƒ‚ƒ“‚ª‹N“®‚µAƒ^[ƒ~ƒiƒ‹–ˆ‚É getty ƒvƒƒZƒX‚ªƒXƒ^[ƒg‚µ
‚½‚çA‚±‚ÌŽž“_‚щƒ“ƒŒƒxƒ‹ 2 (run level 2) ‚É“ü‚Á‚½‚±‚Æ‚É‚È‚è‚Ü‚·BƒƒO
ƒCƒ“‚âƒvƒƒOƒ‰ƒ€‚ÌŽÀs‚́A‚±‚̃‰ƒ“ƒŒƒxƒ‹‚É‚¨‚¢‚āA‰Â”\‚É‚È‚è‚Ü‚·B

‚Æ‚Í‚¢‚¦A‚Ü‚¾‚·‚ׂĂªŠ®—¹‚µ‚½‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñBŽŸ‚ÌŽdŽ–‚́Aƒlƒbƒgƒ
[ƒLƒ“ƒO“™‚̃T[ƒrƒX‚ðƒTƒ|[ƒg‚·‚éŠeŽíƒf[ƒ‚ƒ“‚ð‹N“®‚·‚邱‚Æ‚Å‚·B‚»‚µ
‚āA‚»‚ê‚炪I—¹‚·‚é‚ƁAƒ‰ƒ“ƒŒƒxƒ‹ 3 (run level 3) ‚É“ü‚èAƒVƒXƒeƒ€‚ªŠ®
‘S‚ÉŽg‚¦‚éó‘Ô‚É‚È‚è‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

4. ƒƒOƒCƒ“‚µ‚½‚Æ‚«‚ɉ½‚ª‹N‚±‚é‚Ì‚©?

ƒƒOƒCƒ“‚·‚é‚Æ‚¢‚¤‚̂́A(getty ‚É‚ ‚é–¼‘O‚ð‹³‚¦‚邱‚Æ‚Å) Ž©•ª‚ª’N‚È‚Ì‚©
‚ðƒRƒ“ƒsƒ…[ƒ^‚É”FŽ¯‚³‚¹‚邱‚Æ‚Å‚·B‚»‚̍ہA (•ª‚©‚èˆÕ‚¢–¼‘O‚Ì) login
‚ƌĂ΂ê‚éƒvƒƒOƒ‰ƒ€‚ª‹N“®‚³‚êA‚±‚ꂪƒpƒXƒ[ƒh‚ðŽó‚¯Žæ‚èA‚»‚̃}ƒVƒ“
‚ðŽg‚¤Œ ŒÀ‚ðŽ‚Á‚½ƒ†[ƒU‚Å‚ ‚é‚©‚Ç‚¤‚©‚Ì”FØ‚ðs‚¢‚Ü‚·B‚à‚µŽg‚¤Œ ŒÀ‚ª
‚È‚¯‚ê‚΁AƒƒOƒCƒ“‚µ‚悤‚Æ‚µ‚Ä‚à‹‘”Û‚³‚ê‚Ü‚·BŒ ŒÀ‚ª‚ ‚ê‚΁Alogin ƒvƒ
ƒOƒ‰ƒ€‚Í‚¢‚­‚‚©‚Ì‘O’ñˆ—‚ðÏ‚Ü‚µ‚½‚¤‚¦‚ŁAƒVƒFƒ‹ (shell) ‚Æ‚¢‚¤ƒRƒ}ƒ“
ƒhƒCƒ“ƒ^[ƒvƒŠƒ^ (command interpreter) ‚ðƒXƒ^[ƒg‚³‚¹‚Ü‚·B(‚à‚¿‚ë‚ñA 
getty ‚Æ login ‚ð‚ЂƂ‚̃vƒƒOƒ‰ƒ€‚Æ‚·‚邱‚Æ‚à‰Â”\‚Å‚Í‚ ‚è‚Ü‚·B—¼ŽÒ‚ª
•ÊX‚É•ª‚©‚ê‚Ä‚¢‚é‚̂́A—ðŽj“I‚È——R‚©‚ç‚Å‚ ‚èA‚±‚±‚Å‚Í“Á‚ÉŽæ‚èã‚°‚é
‚悤‚È‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB)

 ‚±‚±‚ł́AƒVƒFƒ‹‚ª•\Ž¦‚³‚ê‚é‚܂łɁAƒVƒXƒeƒ€ã‚Å‹N‚±‚鎖•¿‚ɂ‚¢‚Ä‚à‚¤
­‚µÚ‚µ‚­à–¾‚µ‚Ü‚·(Œã‚قǁAƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚ɂ‚¢‚ĉð
à‚·‚éÛ‚ɁA‚±‚̏͂̒mŽ¯‚ª•K—v‚É‚È‚è‚Ü‚·)Bƒ†[ƒU‚́AƒƒOƒCƒ“–¼‚ƃpƒXƒ
[ƒh‚É‚æ‚Á‚Ä“¯’肳‚ê‚Ü‚·BƒƒOƒCƒ“–¼‚́A/etc/passwd ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚ðŒ©
‚āAŠm”F‚³‚ê‚Ü‚·B‚±‚̃tƒ@ƒCƒ‹‚́Aˆês‚²‚Æ‚É‚»‚ꂼ‚ê‚̃†[ƒUƒAƒJƒEƒ“ƒg
‚̏î•ñ‚ª‹Lq‚³‚ꂽƒtƒ@ƒCƒ‹‚Å‚·B

s‚²‚Æ‚É•¡”‚ ‚éƒtƒB[ƒ‹ƒh‚Ì‚¤‚¿AƒAƒJƒEƒ“ƒgƒpƒXƒ[ƒh‚Ì—“‚́AˆÃ†‰»‚³
‚ê‚Ä‚¢‚Ü‚·(ê‡‚É‚æ‚Á‚ẮA‚±‚̈͆‰»‚³‚ꂽƒtƒB[ƒ‹ƒh‚́A /etc/shadow
‚Æ‚¢‚¤•Ê‚̃tƒ@ƒCƒ‹‚É•Û‘¶‚³‚êA‚æ‚茵‚µ‚¢ƒp[ƒ~ƒbƒVƒ‡ƒ“Ý’肪‚³‚ê‚邱‚Æ
‚ª‚ ‚è‚Ü‚·B‚±‚ê‚É‚æ‚Á‚āAƒpƒXƒ[ƒh‚̃Nƒ‰ƒbƒLƒ“ƒO‚ð‚æ‚荢“ï‚É‚·‚é‚Ì‚Å
‚·)BƒAƒJƒEƒ“ƒgƒpƒXƒ[ƒh‚Æ‚µ‚Ä“ü—Í‚µ‚½•¶Žš‚àA‚Ü‚Á‚½‚­“¯‚¶•û–@‚ň͆‰»
‚³‚êAlogin ƒvƒƒOƒ‰ƒ€‚É‚æ‚萳“–‚ȃpƒXƒ[ƒh‚©‚Ç‚¤‚©‚ÌŠm”F‚ª‚È‚³‚ê‚Ü‚·
B‚±‚Ì•û–@‚ªˆÀ‘S‚Å‚ ‚é‚Æ‚¢‚¦‚é‚̂́A•½•¶ƒpƒXƒ[ƒh‚ðˆÃ†‰»‚·‚é‚Ì‚ÍŠÈ’P
‚Å‚àA‚»‚Ì‹t‚͓‚¢‚Æ‚¢‚¤Ž–ŽÀ‚É‚æ‚Á‚Ä‚¢‚Ü‚·B‚»‚ê‚䂦A’N‚©‚ªˆÃ†‰»‚³
‚ꂽŒã‚̃pƒXƒ[ƒh‚ðŒ©‚½‚Æ‚µ‚Ä‚àA‚»‚ê‚É‚æ‚Á‚Ä‚»‚̃AƒJƒEƒ“ƒg‚ðŽg‚¦‚é‚æ
‚¤‚É‚Í‚È‚è‚Ü‚¹‚ñB (‹t‚ɁAŽ©•ª‚̃pƒXƒ[ƒh‚ð–Y‚ê‚Ä‚µ‚Ü‚Á‚½‚çA‚»‚ê‚ð‚à
‚¤ˆê“xŠm”F‚·‚邱‚Æ‚à‚Å‚«‚È‚­‚È‚è‚Ü‚·B‰½‚©•Ê‚̃pƒXƒ[ƒh‚ɕύX‚·‚éˆÈŠO
‚É‚ ‚è‚Ü‚¹‚ñB)

ƒƒOƒCƒ“‚ɐ¬Œ÷‚µ‚½‚çA—˜—p‚µ‚Ä‚¢‚鎩•ª‚̃AƒJƒEƒ“ƒg‚ÉŠÖ˜A•t‚¯‚ç‚ꂽ‚·‚×
‚Ä‚ÌŒ ŒÀ‚ð—˜—p‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B‚Ü‚½A‚»‚̃AƒJƒEƒ“ƒg‚́A‚È‚ñ‚ç‚©‚Ì
ƒOƒ‹[ƒv (group) ‚É‘®‚µ‚Ä‚¢‚é‚Æ”FŽ¯‚³‚ê‚éê‡‚à‚ ‚è‚Ü‚·BƒOƒ‹[ƒv‚Ƃ́A
ˆê’è‚Ì–¼‘O‚ð•t‚¯‚ç‚ꂽƒ†[ƒU‚̏W’c‚Å‚ ‚èAƒVƒXƒeƒ€ŠÇ—ŽÒ‚É‚æ‚Á‚Đݒ肳
‚ê‚Ü‚·BƒOƒ‹[ƒv‚ɂ́A‚»‚̌X‚̃ƒ“ƒo[‚ÌŒ ŒÀ‚Ƃ͕ʂɁAƒOƒ‹[ƒv“ÆŽ©‚Ì
Œ ŒÀ‚ðÝ’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B‚Ü‚½Aƒ†[ƒU‚́A•¡”‚̃Oƒ‹[ƒv‚̃ƒ“ƒo[
‚ƂȂ邱‚Æ‚à‚Å‚«‚Ü‚·B(Unix ‚ÌŒ ŒÀ‚ÌŽd‘g‚݂̏ڍׂɂ‚¢‚ẮAƒp[ƒ~ƒbƒV
ƒ‡ƒ“‚ÌÍ‚ð‚²——‚­‚¾‚³‚¢B)

(’ˆÓ‚·‚ׂ«‚Ȃ̂́A’ʏí‚̓†[ƒU–¼‚âƒOƒ‹[ƒv–¼‚Æ‚¢‚¤‚Ì‚Í–¼‘O‚ŌĂñ‚Å‚¢‚Ü
‚·‚ªAŽÀÛ‚ɂ́A”Žš‚Ì ID ‚Æ‚µ‚Ä“à•”‚É•Û‘¶‚³‚ê‚Ä‚¢‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
passwd ƒtƒ@ƒCƒ‹‚ɂ́AƒAƒJƒEƒ“ƒg–¼‚Æ‚»‚̃†[ƒU ID ‚Ƃ̑ΉžŠÖŒW‚ª‘‚©‚ê‚Ä
‚¢‚āA/etc/group ƒtƒ@ƒCƒ‹‚ɂ́AƒOƒ‹[ƒv–¼‚Æ‚»‚̐”Žš‚©‚ç‚È‚éƒOƒ‹[ƒv ID
‚Ƃ̑ΉžŠÖŒW‚ª‘‚©‚ê‚Ä‚¢‚Ü‚·BƒAƒJƒEƒ“ƒg–¼‚âƒOƒ‹[ƒv–¼‚ðˆ—‚·‚éƒRƒ}ƒ“
ƒh‚́A‚±‚Ì—¼ŽÒ‚Ì•ÏŠ·‚ðŽ©“®“I‚ɍs‚Á‚Ä‚¢‚Ü‚·B)

ƒAƒJƒEƒ“ƒg‚̏î•ñ—“‚ɂ́A‚»‚̃†[ƒU‚̃z[ƒ€ƒfƒBƒŒƒNƒgƒŠ (home directory)
‚ÉŠÖ‚·‚éî•ñ‚àŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·Bƒz[ƒ€ƒfƒBƒŒƒNƒgƒŠ‚Ƃ́A Unix ƒtƒ@ƒCƒ‹ƒV
ƒXƒeƒ€ã‚Å‚»‚̃†[ƒUŒÂl‚̃tƒ@ƒCƒ‹‚ª•ÛŠÇ‚³‚ê‚Ä‚¢‚éêŠ‚Ì‚±‚Æ‚Å‚·BÅŒã
‚ɁAƒAƒJƒEƒ“ƒg‚̏î•ñ—“‚ɂ́A‚»‚̃†[ƒU‚̃VƒFƒ‹ (shell) ‚ÉŠÖ‚·‚éî•ñ‚à‚ 
‚è‚Ü‚·BƒVƒFƒ‹‚Ƃ́AƒRƒ}ƒ“ƒhƒCƒ“ƒ^[ƒvƒŠƒ^‚Ì‚±‚Æ‚Å‚ ‚èA login ƒvƒƒOƒ‰
ƒ€‚ªƒ†[ƒU‚©‚ç‚̃Rƒ}ƒ“ƒh‚ðŽó‚¯Žæ‚邽‚ß‚É‹N“®‚·‚é‚à‚Ì‚Å‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

5. ƒVƒFƒ‹‚©‚çƒvƒƒOƒ‰ƒ€‚ð‹N“®‚µ‚½‚Æ‚«‰½‚ª‹N‚±‚é‚©?

ƒVƒFƒ‹‚Ƃ́Aƒ†[ƒU‚ª‘Å‚¿ž‚ñ‚¾ƒRƒ}ƒ“ƒh‚ð‰ðŽß‚·‚é Unix ‚̃Cƒ“ƒ^[ƒvƒŠƒ^
‚Å‚·B‚±‚ꂪƒVƒFƒ‹‚ƌĂ΂ê‚é‚̂́AƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚̃J[ƒlƒ‹‚ð
•ï‚ݍž‚ñ‚ŁA‚±‚ê‚ðƒ†[ƒU‚©‚ç‰B‚·“­‚«‚ð‚µ‚Ä‚¢‚é‚©‚ç‚Å‚·(–󒍁F–Ø‚ÌŽÀ‚Ì”ä
šg‚Å‚ ‚èAƒVƒFƒ‹ (shell) ‚Æ‚ÍŠk‚ðˆÓ–¡‚µA’†Šj‚Æ‚È‚éŽÀ(‚±‚±‚ł̓J[ƒlƒ‹)
‚ð•ï‚ݍž‚ñ‚Å‚¢‚邱‚Æ‚©‚çA‚»‚Ì–¼‘O‚ª‚ ‚è‚Ü‚·)BƒVƒFƒ‹‚ƃJ[ƒlƒ‹‚Æ‚ª•ÊX
‚̃vƒƒOƒ‰ƒ€‚Æ‚È‚Á‚Ä‚¢‚āA—¼ŽÒ‚ªˆê˜A‚̃VƒXƒeƒ€ƒR[ƒ‹Œo—R‚ŒʐM‚·‚é‚Æ‚¢
‚¤Žd‘g‚݂́AUnix ‚̏d—v‚È“Á’¥‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚̂悤‚É—¼ŽÒ‚𕪗£‚·‚邱
‚ƂŁA—lX‚ȃVƒFƒ‹ƒvƒƒOƒ‰ƒ€‚ÌŽÀ‘•‚ª‰Â”\‚Æ‚È‚èAƒ†[ƒU‚̍D‚݂ɍ‡‚킹‚Ä
‚¢‚ë‚¢‚ë‚ȃCƒ“ƒ^[ƒtƒFƒCƒX‚ð‘I‚ׂé‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B

’ʏí‚̃VƒFƒ‹‚ł́Aƒ†[ƒU‚ªƒƒOƒCƒ“‚·‚é‚ƁA(“Á‚ɃJƒXƒ^ƒ}ƒCƒY‚ð‚µ‚Ä‚¢‚È‚¢
ŒÀ‚è) '$' ‚Æ‚¢‚¤ƒvƒƒ“ƒvƒg‚ª•\Ž¦‚³‚ê‚Ü‚·B‚±‚±‚ł̓VƒFƒ‹‚̍\•¶‚âA‰æ–Ê
‚ðŒ©‚Ä‚¢‚ê‚΂¾‚¢‚½‚¢•ª‚©‚é‚悤‚ÈŽ–•¿‚ɂ͐G‚ê‚Ü‚¹‚ñB‚Þ‚µ‚ëA‚±‚¤‚µ‚½•\
Ž¦‚Ì”wŒi‚ʼn½‚ª‹N‚±‚Á‚Ä‚¢‚é‚Ì‚©‚ðAƒRƒ“ƒsƒ…[ƒ^‚ÌŽ‹“_‚©‚ç‰ðà‚µ‚悤‚ÆŽv
‚¢‚Ü‚·B

ƒu[ƒg‚ªI—¹‚µ‚½Œã‚Å‚Ü‚¾‰½‚çƒvƒƒOƒ‰ƒ€‚ðŽÀs‚µ‚Ä‚¢‚È‚¢Žž“_‚É‚¨‚¯‚éƒRƒ“
ƒsƒ…[ƒ^‚Æ‚¢‚¤‚̂́Aˆê˜A‚̃vƒƒZƒX‘S‘Ì‚ª‚â‚é‚ׂ«ŽdŽ–‚ð‘Ò‚Á‚Ä‚¢‚éó‘Ô‚Å
‚ ‚é‚ƍl‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B‚ ‚ç‚ä‚éƒvƒƒZƒX‚ªƒCƒxƒ“ƒg (event) ‚ð‘Ò‚Á‚Ä
‚¢‚é‚킯‚Å‚·B‚±‚±‚ŃCƒxƒ“ƒg‚Ƃ́Aƒ†[ƒU‚ªƒL[‚ð‰Ÿ‚·‚Æ‚©ƒ}ƒEƒX‚ð“®‚©‚·
‚Æ‚©‚¢‚Á‚½‚±‚Æ‚Å‚·B‚ ‚é‚¢‚́Aƒ}ƒVƒ“‚ªƒlƒbƒgƒ[ƒN‚ɐڑ±‚³‚ê‚Ä‚¢‚é‚È‚ç
A‚»‚̃lƒbƒgƒ[ƒN‰z‚µ‚É‘—‚ç‚ê‚Ä‚­‚éƒf[ƒ^ƒpƒPƒbƒg‚Ì’…M‚È‚Ç‚àƒCƒxƒ“ƒg
‚É‚ ‚½‚è‚Ü‚·B

ƒJ[ƒlƒ‹‚à‚»‚¤‚µ‚½ƒvƒƒZƒX‚̂ЂƂ‚ł·B‚½‚¾‚µAƒJ[ƒlƒ‹‚Í“ÁŽê‚ȃvƒƒZ
ƒX‚Å‚à‚ ‚è‚Ü‚·BƒJ[ƒlƒ‹ƒvƒƒZƒXˆÈŠO‚̃†[ƒUƒvƒƒZƒX (user process) ‚ð
‚¢‚ÂŽÀs‚·‚ׂ«‚©§Œä‚ðs‚¤‚Ì‚ªƒJ[ƒlƒ‹ƒvƒƒZƒX‚Å‚ ‚èAƒ}ƒVƒ“‚̃n[ƒhƒE
ƒFƒA‚É’¼ÚƒAƒNƒZƒX‚Å‚«‚é‚Ì‚à’ʏí‚̓J[ƒlƒ‹ƒvƒƒZƒX‚¾‚¯‚¾‚©‚ç‚Å‚·BŽÀÛ
Aƒ†[ƒUƒvƒƒZƒX‚ªAƒL[ƒ{[ƒh‚Ì“ü—Í‚ð“ǂݍž‚ñ‚¾‚èAƒXƒNƒŠ[ƒ“‚ɉ½‚©‚ð
•\Ž¦‚µ‚½‚èAƒfƒBƒXƒN‚ɑ΂µ‚ēǂݏ‘‚«‚µ‚½‚è“™Aƒƒ‚ƒŠ‚Æ‚Ì‚â‚è‚Æ‚èˆÈŠO‚Ì
‚·‚ׂĂ̏ˆ—‚ð‚·‚éÛ‚ɂ́AƒJ[ƒlƒ‹‚ɑ΂µ‚ăŠƒNƒGƒXƒg‚ð‘—‚ç‚È‚¯‚ê‚΂Ȃè
‚Ü‚¹‚ñB‚±‚¤‚µ‚½ƒŠƒNƒGƒXƒg‚́AƒVƒXƒeƒ€ƒR[ƒ‹ (system call) ‚ƌĂ΂ê‚Ä‚¢
‚Ü‚·B

’ʏíAI/O ƒ|[ƒg‚ւ̃AƒNƒZƒX‚Í‚·‚ׂăJ[ƒlƒ‹‚ð’Ê‚¶‚čs‚í‚ê‚é‚̂ŁAƒJ[
ƒlƒ‹‚Í‚»‚¤‚µ‚½ˆ—‚ðƒXƒPƒWƒ…[ƒŠƒ“ƒO‚µ‚½‚èA‘ŠŒÝ‚ÌŠ±Â‚ð–hŽ~‚µ‚½‚è‚·‚é
‹@”\‚ðŽ‚Á‚Ä‚¢‚Ü‚·B‚½‚¾A­”‚Ì“Á•Ê‚ȃ†[ƒUƒvƒƒZƒX‚́AƒJ[ƒlƒ‹‚ð’Ê‚³
‚¸‚ɏˆ—‚·‚錠ŒÀ‚ð—^‚¦‚ç‚ê‚Ä‚¢‚Ü‚·B‚½‚¢‚Ä‚¢‚̏ꍇA‚»‚ê‚Í I/O ƒ|[ƒg‚Ö
’¼ÚƒAƒNƒZƒX‚Å‚«‚é‚Æ‚¢‚¤Œ ŒÀ‚Å‚·BX ƒT[ƒo (‚±‚ê‚́A‘å•”•ª‚Ì Unix ƒ}ƒV
ƒ“ã‚ŁAƒXƒNƒŠ[ƒ“‚ւ̉摜•\Ž¦‚ÉŠÖ‚·‚鑼‚̃vƒƒOƒ‰ƒ€‚©‚ç‚̃ŠƒNƒGƒXƒg‚ð
Žó‚¯Žæ‚Á‚āAˆ—‚µ‚Ä‚¢‚éƒvƒƒOƒ‰ƒ€‚Ì‚±‚Æ‚Å‚·) ‚ªA‚»‚Ì“TŒ^“I‚È—á‚Å‚·B
‚µ‚©‚µA¡‚Ì‚Æ‚±‚ëA‚Ü‚¾ X ƒT[ƒo‚ª—§‚¿ã‚ª‚é‚Æ‚±‚ë‚܂Řb‚ªi‚ñ‚Å‚¢‚Ü‚¹
‚ñB‚Ü‚¾A•¶Žš’[––ã‚ŁAƒVƒFƒ‹ƒvƒƒ“ƒvƒg‚ðŒ©‚Ä‚¢‚éó‘Ô‚Å‚·B

ƒVƒFƒ‹‚́A’P‚Ȃ郆[ƒUƒvƒƒZƒX‚Å‚ ‚èA‰½‚ç“Á•Ê‚ÈŒ ŒÀ‚ð—^‚¦‚ç‚ê‚Ä‚¢‚é‚í
‚¯‚Å‚Í‚ ‚è‚Ü‚¹‚ñBƒVƒFƒ‹‚̓L[ƒXƒgƒ[ƒN‚ð‘Ò‚Á‚Ä‚¨‚èA(ƒJ[ƒlƒ‹Œo—R‚Å)
ƒL[ƒ{[ƒh‚Ì I/O ƒ|[ƒg‚ðŠÄŽ‹‚µ‚Ä‚¢‚Ü‚·BƒJ[ƒlƒ‹‚̓L[ƒXƒgƒ[ƒN‚ð”FŽ¯
‚·‚é‚ƁA‚»‚ê‚ð‚»‚Ì‚Ü‚ÜƒXƒNƒŠ[ƒ“ã‚É•\Ž¦‚µ‚Ü‚·BƒJ[ƒlƒ‹‚Í 'Enter" ƒL[
‚ª‰Ÿ‚³‚ꂽ‚±‚Æ‚ð”FŽ¯‚·‚é‚ƁA‚»‚̃L[‚ª‰Ÿ‚³‚ê‚é‚Ü‚Å‚É“ü—Í‚³‚ꂽƒeƒLƒXƒg
s‚ðƒVƒFƒ‹‚É“n‚µ‚Ü‚·BƒVƒFƒ‹‚́A‚»‚ê‚ç‚̃L[ƒXƒgƒ[ƒN‚ðƒRƒ}ƒ“ƒh‚Æ‚µ‚Ä
‰ðŽß‚µ‚悤‚Æ‚µ‚Ü‚·B

‚½‚Æ‚¦‚΁AUnix ‚̃fƒBƒŒƒNƒgƒŠ•\Ž¦ƒRƒ}ƒ“ƒh‚ð‹N“®‚·‚邽‚߂ɁA'ls' ‚Æ‚¢‚¤
•¶Žš‚ðƒ^ƒCƒv‚µ‚āAEnter ‚ð‰Ÿ‚µ‚½‚Æ‚µ‚Ü‚·BƒVƒFƒ‹‚́A‚ ‚ç‚©‚¶‚ß‘g‚ݍž‚Ü
‚ê‚Ä‚¢‚郋[ƒ‹‚ɏ]‚Á‚Ä‚»‚ê‚ð‰ðŽß‚µAƒ†[ƒU‚ª '/bin/ls' ƒtƒ@ƒCƒ‹‚É‚ ‚éŽÀ
sƒRƒ}ƒ“ƒh‚ð‹N“®‚µ‚½‚ª‚Á‚Ä‚¢‚é‚Ì‚¾‚Æ—‰ð‚µ‚Ü‚·BƒVƒFƒ‹‚̓VƒXƒeƒ€ƒR[ƒ‹
‚ð”­‚µ‚āAƒJ[ƒlƒ‹‚É /bin/ls ‚ðV‹K‚ÌŽqƒvƒƒZƒX (child process) ‚Æ‚µ‚Ä
‹N“®‚·‚é‚Æ‚Æ‚à‚ɁA‚»‚ÌŽqƒvƒƒZƒX‚ɑ΂µ‚ăJ[ƒlƒ‹Œo—R‚ŃXƒNƒŠ[ƒ“‚ƃL[
ƒ{[ƒh‚ւ̃AƒNƒZƒXŒ ŒÀ‚ð—^‚¦‚é‚悤—v‹‚µ‚Ü‚·B‚»‚µ‚āAƒVƒFƒ‹‚̓XƒŠ[ƒv
ó‘Ô‚É“ü‚èAls ƒRƒ}ƒ“ƒh‚ªI—¹‚·‚é‚Ì‚ð‘Ò‚¿‚Ü‚·B

/bin/ls ƒRƒ}ƒ“ƒh‚ªI—¹‚·‚éÛAƒRƒ}ƒ“ƒh‚́A exit ƒVƒXƒeƒ€ƒR[ƒ‹‚𔭍s‚µ
‚āAˆ—‚ªI—¹‚µ‚½‚±‚Æ‚ðƒJ[ƒlƒ‹‚É“`‚¦‚Ü‚·B‚·‚é‚ƁAƒJ[ƒlƒ‹‚ªAƒXƒŠ[
ƒv‚µ‚Ä‚¢‚½ƒVƒFƒ‹‚ð–ÚŠo‚ß‚³‚¹‚āAƒVƒFƒ‹‚ªŽÀs‚ðÄŠJ‚Å‚«‚é‚悤‚É‚È‚Á‚½‚±
‚Æ‚ð“`‚¦‚Ü‚·BƒVƒFƒ‹‚́AÄ“xƒvƒƒ“ƒvƒg‚ð”­‚µAŽŸ‚Ì“ü—Í‚ª‚È‚³‚ê‚é‚Ì‚ð‘Ò
‚¿‚Ü‚·B

‚Æ‚Í‚¢‚¦Aã‹L‚Ì 'ls' ‚ªŽÀs‚³‚ê‚Ä‚¢‚éÅ’†‚ɁA‘¼‚̃vƒƒZƒX‚ðis‚³‚¹‚é
‚±‚Æ‚à‰Â”\‚Å‚·(”ñí‚É’·‚¢ƒfƒBƒŒƒNƒgƒŠ‚̃ŠƒXƒg‚ð•\Ž¦‚µ‚悤‚Æ‚µ‚Ä‚¢‚é‚Æ‚µ
‚Ü‚µ‚傤)B‚½‚Æ‚¦‚΁A'ls' ‚ÌŽÀs’†‚ɁA•Ê‚̉¼‘zƒRƒ“ƒ\[ƒ‹‚ɐ؂è‘Ö‚¦‚āA
ƒƒOƒCƒ“‚µAƒQ[ƒ€‚Ì Quake ‚Å—V‚ÑŽn‚߂邱‚Æ‚ª‚Å‚«‚Ü‚·B‚ ‚é‚¢‚́AƒCƒ“ƒ^
[ƒlƒbƒg‚ɐڑ±‚µ‚Ä‚¢‚éó‘Ô‚¾‚Æ‚·‚ê‚΁A ls ‚ÌŽÀs’†‚ɁA“ǎ҂̃}ƒVƒ“‚ªƒ
[ƒ‹‚Ì‘—ŽóM‚ð‚·‚é‚±‚Æ‚à‰Â”\‚Å‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

6. “ü—̓fƒoƒCƒX‚⊄‚荞‚݂͂ǂ̂悤‚É“®ì‚µ‚Ä‚¢‚é‚Ì‚©?

ƒL[ƒ{[ƒh‚Æ‚¢‚¤‚̂́A”ñí‚ɃVƒ“ƒvƒ‹‚È“ü—̓fƒoƒCƒX‚Å‚·B‚Æ‚¢‚¤‚Ì‚àAƒL
[ƒ{[ƒh‚́A(ƒRƒ“ƒsƒ…[ƒ^‚̊‚©‚猩‚é‚Æ)‚²‚­­‚È‚¢—ʂ̃f[ƒ^‚ð”ñí‚É
‚ä‚Á‚­‚萶¬‚·‚é‚à‚Ì‚¾‚©‚ç‚Å‚·BƒL[‚ð‰Ÿ‚µ‚½‚è—£‚µ‚½‚è‚·‚éÛA‚»‚̃Cƒx
ƒ“ƒgM†‚́AƒL[ƒ{[ƒhƒP[ƒuƒ‹‚ð“`‚í‚Á‚āAƒn[ƒhƒEƒFƒAŠ„‚荞‚Ý
(hardware interrupt) ‚𔭐¶‚³‚¹‚Ü‚·B

‚±‚¤‚µ‚½Š„‚荞‚Ý‚ðŠÄŽ‹‚·‚é‚̂́AƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ÌŽdŽ–‚Å‚·B‚ 
‚ç‚ä‚éŽí—Þ‚ÌŠ„‚荞‚݂ɑΏˆ‚·‚邽‚߂ɁAŠ„‚荞‚݃nƒ“ƒhƒ‰ (interrupt
handler) ‚Æ‚¢‚¤‚Ì‚ª•K—v‚É‚È‚è‚Ü‚·B‚±‚ê‚́AƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚̈ê
•”‚Å‚ ‚èA(ƒL[ƒXƒgƒ[ƒN‚âƒL[ƒŠƒŠ[ƒX‚Æ‚¢‚Á‚½) Š„‚荞‚Ý‚ÉŠÖŒW‚·‚éƒf[
ƒ^‚Ì‚·‚ׂĂðA‚»‚ꂪˆ—‚³‚ê‚é‚Ü‚Å•ÛŽ‚µ‚Ä‚¨‚­‚à‚Ì‚Å‚·B

ƒL[ƒ{[ƒh—p‚ÌŠ„‚荞‚݃nƒ“ƒhƒ‰‚ÌŽÀÛ‚ÌŽdŽ–‚Æ‚¢‚¤‚̂́AƒL[‚Ì’l‚ðƒƒ‚ƒŠ
‚Ì’ê‚Ì‚Ù‚¤‚É‚ ‚éƒVƒXƒeƒ€ƒGƒŠƒA‚ÉŠi”[‚·‚邱‚Æ‚Å‚·BƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒX
ƒeƒ€‚ªAŒ»ÝƒL[ƒ{[ƒh‚©‚ç‚Ì“ü—Í‘Ò‚¿‚ÆŽv‚í‚ê‚éƒvƒƒOƒ‰ƒ€‚ɑ΂µ‚ЧŒä‚ð
“n‚µ‚½ÛA‚»‚̃vƒƒOƒ‰ƒ€‚ª‚»‚±‚©‚ç’l‚ð“ǂݏo‚¹‚é‚悤‚É‚·‚é‚킯‚Å‚·B

ƒfƒBƒXƒN‚âƒlƒbƒgƒ[ƒNƒJ[ƒh‚̂悤‚È‚à‚Á‚Æ•¡ŽG‚È“ü—̓fƒoƒCƒX‚̏ꍇ‚Å‚à
“®ì•û–@‚Í“¯‚¶‚Å‚·BˆÈ‘O‚̏͂ł́AƒfƒBƒXƒNƒRƒ“ƒgƒ[ƒ‰‚̓oƒX‚ðŽg‚Á‚ăf
ƒBƒXƒNƒŠƒNƒGƒXƒg‚ªŠ®—¹‚µ‚½‚±‚Æ‚ð“`‚¦‚é‚Æ‚¢‚¤˜b‚ð‚µ‚Ü‚µ‚½B‚»‚̏ꍇ‚ÌŽÀ
Û‚Ì“®ì‚Æ‚¢‚¤‚̂́AƒfƒBƒXƒN‚ªŠ„‚荞‚݂𔭐¶‚³‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B‚»‚Ì
‚Æ‚«AƒfƒBƒXƒN‚ÌŠ„‚荞‚݃Rƒ“ƒgƒ[ƒ‰‚́A”­¶‚µ‚½Š„‚荞‚݃f[ƒ^‚ðƒƒ‚ƒŠ
“à‚Ɉê’UƒRƒs[‚µ‚āAŒã‚©‚ç‚»‚̃ŠƒNƒGƒXƒg‚ð”­‚µ‚½ƒvƒƒOƒ‰ƒ€‚ªŽg‚¦‚é‚悤
‚É‚·‚é‚Ì‚Å‚·B

Š„‚荞‚݂ɂ́A‚Ç‚¤‚¢‚¤Ží—Þ‚Ì‚à‚Ì‚Å‚ ‚êA•K‚¸ŠÖ˜A‚·‚é—DæƒŒƒxƒ‹
(priority level) ‚ª•t‚¢‚Ä‚¢‚Ü‚·B’á‚¢—DæƒŒƒxƒ‹‚ÌŠ„‚荞‚Ý(‚½‚Æ‚¦‚΁AƒL
[ƒ{[ƒhƒCƒxƒ“ƒg)‚́A‚‚¢—DæƒŒƒxƒ‹‚ÌŠ„‚荞‚Ý(‚½‚Æ‚¦‚΁AƒNƒƒbƒNƒ`ƒbƒN
(clock tick) ‚âƒfƒBƒXƒNƒCƒxƒ“ƒg) ‚ªˆ—‚³‚ê‚é‚Ì‚ð‘Ò‚½‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ
B Unix ‚ł́Aƒ}ƒVƒ“‚Ì”½‰ž‚ðƒXƒ€[ƒY‚É‚·‚邽‚߂ɁAv‘¬‚ȏˆ—‚ð•K—v‚Æ‚·
‚éƒCƒxƒ“ƒg‚ɑ΂µ‚ẮA‚‚¢—Dæ‡ˆÊ‚ª—^‚¦‚ç‚ê‚é‚悤‚ɐ݌v‚³‚ê‚Ä‚¢‚Ü‚·B

ƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚Ì‹N“®Žž‚̃ƒbƒZ[ƒW‚Ì‚È‚©‚ɁAIRQ ‚̐”Žš‚ÉŠÖ‚·
‚é•\Ž¦‚ª‚ ‚é‚Ì‚ð‚²——‚É‚È‚Á‚½‚±‚Æ‚ª‚ ‚é‚ÆŽv‚¢‚Ü‚·B‚Ü‚½A‚æ‚­‚ ‚éƒn[ƒh
ƒEƒFƒA‚̐ݒèƒ~ƒX‚̂ЂƂ‚Ƃµ‚āA“ñ‚‚̃fƒoƒCƒX‚ª“¯‚¶ IRQ ‚ðŽg‚¤‚悤‚ɐÝ
’肵‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½‚Æ‚¢‚¤Ž–—Ⴊ‚ ‚邱‚Æ‚ðŒä‘¶’m‚¾‚ÆŽv‚¢‚Ü‚·B‚½‚¾A‚±‚ê
‚ª‰½ŒÌÝ’èƒ~ƒX‚È‚Ì‚©A³Šm‚È——R‚͈ĊO’m‚ç‚ê‚Ä‚¢‚Ü‚¹‚ñB

‚»‚ê‚́A‚‚܂肱‚¤‚¢‚¤‚±‚Æ‚Å‚·BIRQ ‚Ƃ́A"Š„‚荞‚݃ŠƒNƒGƒXƒg
(Interrupt Request)" ‚Ì—ª‚Å‚·BƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚́A‹N“®Žž‚ɁA‚Ç
‚̃n[ƒhƒEƒFƒA‚ª‚Ç‚ÌŠ„‚荞‚ݔԍ†‚ðŽg‚¤‚Ì‚©’m‚é•K—v‚ª‚ ‚èA‚»‚ê‚É‚æ‚Á‚Ä
A“KØ‚ÈŠ„‚荞‚݃nƒ“ƒhƒ‰‚ðŒÂX‚̃n[ƒhƒEƒFƒA‚ÉŠÖ˜A•t‚¯‚Ä‚¢‚Ü‚·B‚à‚µ“ñ
‚‚̈قȂéƒfƒoƒCƒX‚ª“¯ˆê‚Ì IRQ ‚ðŽg‚¨‚¤‚Æ‚·‚é‚ƁAŠ„‚荞‚Ý‚ª•s“KØ‚ȃnƒ“
ƒhƒ‰‚É‘—‚ç‚ê‚Ä‚µ‚Ü‚¤Ž–‘Ô‚ª¶‚¶‚Ü‚·B‚»‚̏ꍇA’ʏí‚͏­‚È‚­‚Æ‚àƒfƒoƒCƒX
‚ª”½‰ž‚µ‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¤‚©A‚ ‚é‚¢‚́AOS ‚ð¬—‚³‚¹‚Ä‚µ‚Ü‚Á‚āAOS ‚ªŒÅ
‚Ü‚Á‚Ä‚µ‚Ü‚¤‚©AƒNƒ‰ƒbƒVƒ…‚µ‚Ä‚µ‚Ü‚¤‚©‚ç‚Å‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

7. ƒRƒ“ƒsƒ…[ƒ^‚Í‚Ç‚¤‚â‚Á‚Ä•¡”‚Ì‚±‚Ƃ𓯎ž‚ɍs‚¤‚Ì‚©?

ŽÀÛ‚ɂ́A•¡”‚Ì‚±‚Ƃ𓯎ž‚ɍs‚Á‚Ä‚¢‚é‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñBƒRƒ“ƒsƒ…[ƒ^
‚́A‚»‚ÌŽžX‚łЂƂ‚̃^ƒXƒN (‚à‚µ‚­‚̓vƒƒZƒX (process) ) ‚µ‚©ˆ—‚Å‚«
‚Ü‚¹‚ñB‚µ‚©‚µAƒRƒ“ƒsƒ…[ƒ^‚́A•¡”‚̃^ƒXƒN‚ðuŽž‚ɐ؂è‘Ö‚¦‚È‚ª‚珈—
‚Å‚«‚é‚̂ŁAlŠÔ‚ÌŠ´Šo‚©‚ç‚·‚é‚ƁA•¡”‚Ì‚±‚Ƃ𓯎ž‚ɍs‚Á‚Ä‚¢‚é‚悤‚ɍö
Šo‚³‚¹‚邱‚Æ‚ª‚Å‚«‚é‚Ì‚Å‚·B‚±‚¤‚µ‚½•û–@‚́Aƒ^ƒCƒ€ƒVƒFƒAƒŠƒ“ƒO
(timesharing, Žž•ªŠ„•ûŽ®) ‚ƌĂ΂ê‚Ä‚¢‚Ü‚·B

ƒ^ƒCƒ€ƒVƒFƒAƒŠƒ“ƒO‚ÌŠÇ—‚àAƒJ[ƒlƒ‹‚ÌŽdŽ–‚̂ЂƂ‚ł·BƒJ[ƒlƒ‹‚ɂ̓X
ƒPƒWƒ…[ƒ‰ (scheduler) ‚Æ‚¢‚¤•”•ª‚ª‚ ‚èA‚±‚ꂪ(ƒJ[ƒlƒ‹ˆÈŠO‚Ì)‘SƒvƒƒZ
ƒX‚ÉŠÖ‚·‚éî•ñ‚ð“à•”‚É•ÛŽ‚µ‚Ä‚¢‚Ü‚·B 60 •ª‚Ì 1 •b‚²‚ƂɁAƒJ[ƒlƒ‹“à‚Ì
ƒ^ƒCƒ}[‚ªi‚ñ‚ŁAƒNƒƒbƒNŠ„‚荞‚݂𐶐¬‚µ‚Ü‚·BƒXƒPƒWƒ…[ƒ‰‚́AŒ»ÝŽÀ
s’†‚̃vƒƒZƒX‚ð’âŽ~‚³‚¹‚āA‚»‚ê‚ð“K‹X•Û—¯‚µ‚½‚¤‚¦‚ŁA•Ê‚̃vƒƒZƒX‚ɐ§
Œä‚ð“n‚µ‚Ü‚·B

60 •ª‚Ì 1 •b‚Æ‚¢‚¤‚̂́A‚ ‚Ü‚è’·‚¢ŽžŠÔ‚Æ‚ÍŽv‚¦‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA¡
“ú‚̃}ƒCƒNƒƒvƒƒZƒbƒT‚©‚ç‚·‚é‚ƁA”–œ‚̃}ƒVƒ“–½—ß‚ðŽÀs‚µ‚¤‚邾‚¯‚ÌŠÔ
Šu‚Å‚ ‚èA‚»‚ꂾ‚¯‚ ‚ê‚΁A‚©‚È‚è‚ÌŽdŽ–‚ª‚±‚È‚¹‚Ü‚·B‚»‚ê‚䂦A‘½‚­‚̃v
ƒƒZƒX‚ª‘¶Ý‚µ‚½‚Æ‚µ‚Ä‚àA‚»‚ꂼ‚ê‚̃vƒƒZƒX‚́A‚»‚ÌŠ„‚è“–‚ÄŽžŠÔ“à‚ÉŒ‹
\‚ÈŽdŽ–—Ê‚ð‚±‚È‚¹‚é‚킯‚Å‚·B

ŽÀÛ‚ɂ́AƒvƒƒOƒ‰ƒ€‚Í‚»‚ÌŠ„‚è“–‚ÄŽžŠÔ‚ð‘S•”Žg‚¦‚È‚¢ê‡‚à‚ ‚è‚Ü‚·BI/O
ƒfƒoƒCƒX‚©‚犄‚荞‚Ý‚ª‚©‚©‚é‚ƁAƒJ[ƒlƒ‹‚ÍŒø—¦‚æ‚­Œ»Ý‚̃vƒƒZƒX‚ð’âŽ~
‚³‚¹AŠ„‚荞‚݃nƒ“ƒhƒ‰‚ðŽÀs‚µ‚āA‚»‚Ì‚ ‚Æ‚ÅŒ»Ý‚̃vƒƒZƒX‚ðÄŠJ‚µ‚Ü‚·
B‚‚¢—Dæ‡ˆÊ‚ÌŠ„‚荞‚Ý‚ª‚‚¬‚‚¬‚É‹N‚±‚é‚ƁA’ʏí‚̏ˆ—‚ª‚Ü‚Á‚½‚­s‚í
‚ê‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B‚±‚ُ̈펖‘Ԃ́AƒXƒ‰ƒbƒVƒ“ƒO (thrashing) ‚ƌĂÎ
‚ê‚Ä‚¢‚Ä‚¢‚Ü‚·‚ªAK‚È‚±‚ƂɁAŒ»Ý‚Ì Unix ‚Å‚Í‚ß‚Á‚½‚É‹N‚±‚ç‚È‚­‚È‚Á‚Ä
‚¢‚Ü‚·B

Ž–ŽÀAƒvƒƒOƒ‰ƒ€‚ÌŽÀs‘¬“x‚́AƒvƒƒOƒ‰ƒ€‚ªŽæ“¾‚·‚éƒ}ƒVƒ“ŽžŠÔ‚Ì—Ê‚É‚æ‚Á
‚ЧŒÀ‚³‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚Í‚Ù‚Æ‚ñ‚Ç‚ ‚è‚Ü‚¹‚ñ (ƒTƒEƒ“ƒh‚â 3-D ƒOƒ‰ƒtƒBƒbƒN
‚̐¶¬‚ȂǁA‚¢‚­‚‚©‚Ì—áŠO‚Í‚ ‚è‚Ü‚·‚ª)BŽÀs‚Ì’x‰„‚ª‹N‚±‚錴ˆö‚́A‚½‚¢
‚Ä‚¢AƒvƒƒOƒ‰ƒ€‚ªƒfƒBƒXƒN‚âƒlƒbƒgƒ[ƒNã‚É‚ ‚éƒf[ƒ^‚ðŽæ“¾‚µ‚悤‚Æ‚µ
‚Ä‘Ò‚Á‚Ä‚¢‚éŠÔ‚É”­¶‚·‚é‚Ì‚Å‚ ‚èA‚Ù‚Æ‚ñ‚Ç‚ÌŒ´ˆö‚ª‚±‚ê‚Å‚·B

‘½‚­‚̃vƒƒZƒX‚ð‡‚É“¯Žž•Às“I‚ɏˆ—‚Å‚«‚éƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚́A
"ƒ}ƒ‹ƒ`ƒ^ƒXƒN (multitasking) " OS ‚ƌĂ΂ê‚Ü‚·BUnix Œn‚̃IƒyƒŒ[ƒeƒBƒ“
ƒOƒVƒXƒeƒ€‚́A‚à‚Æ‚à‚ƃ}ƒ‹ƒ`ƒ^ƒXƒN OS ‚Æ‚µ‚Đ݌v‚³‚ê‚Ä‚¨‚èA‚»‚ê‚ð”ñí
‚É“¾ˆÓ‚Æ‚µ‚Ä‚¢‚Ü‚·BWindows ‚â Mac OS ‚È‚Ç‚æ‚è‚à‚¸‚Á‚ÆŒø—¦‚æ‚­ˆ—‚Å‚«
‚Ü‚·B Windows ‚â Mac OS ‚́Aƒ}ƒ‹ƒ`ƒ^ƒXƒN‹@”\‚ðŒã‚©‚ç‘g‚ݍž‚ñ‚Å‚¢‚é‚Ì‚Å
A Unix ‚É”ä‚ׂé‚Æ‚â‚₨‚»‚܂‚ł·B‚±‚ÌŒø—¦‚Ì‚æ‚¢AM—Š‚Å‚«‚éƒ}ƒ‹ƒ`ƒ^
ƒXƒN‹@”\‚́Aƒlƒbƒgƒ[ƒN’ʐM‚âƒEƒFƒuƒT[ƒrƒX‚Ì•ª–ì‚Å Linux ‚ð—DˆÊ‚É—§‚½
‚¹‚é‘å‚«‚È—vˆö‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

8. ƒRƒ“ƒsƒ…[ƒ^‚Í‚Ç‚¤‚â‚Á‚Ä•¡”‚̃vƒƒZƒX‚ªŠ±Â‚µ‚ ‚í‚È‚¢‚悤‚É‚µ‚Ä‚¢‚é
‚Ì‚©?

ƒJ[ƒlƒ‹‚̃XƒPƒWƒ…[ƒ‰‚́AƒvƒƒZƒX‚ÌŽžŠÔ“I‚ÈŠ„‚èU‚è‚ð’S“–‚µ‚Ä‚¢‚Ü‚·B
“¯Žž‚ɁAƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚́AƒvƒƒZƒX‚ð‹óŠÔ“I‚É‚àŠ„‚èU‚Á‚āA‚»
‚ê‚炪ŒÝ‚¢‚̍ì‹Æƒƒ‚ƒŠ—̈æ‚ÉŠ±Â‚µ‚È‚¢‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚·‚×
‚ẴvƒƒOƒ‰ƒ€‚ª‹¦’²‚µ‚Ä“®‚¢‚Ä‚­‚ê‚é‚Ɖ¼’肵‚½ê‡‚Å‚àA‚»‚Ì‚Ç‚ê‚©‚ЂÆ
‚‚ɃoƒO‚ª‚ ‚èA‚»‚ê‚É‚æ‚Á‚Ä‘¼‚̃vƒƒOƒ‰ƒ€‚̃ƒ‚ƒŠ—̈悪”j‰ó‚³‚ê‚Ä‚µ‚Ü
‚¤‚悤‚ÈŽ–‘Ô‚Í–]‚Ü‚µ‚­‚ ‚è‚Ü‚¹‚ñB‚±‚Ì–â‘è‚ð‰ðŒˆ‚·‚邽‚߂ɁAƒIƒyƒŒ[ƒe
ƒBƒ“ƒOƒVƒXƒeƒ€‚ªs‚¤‘Ώˆ•û–@‚́Aƒƒ‚ƒŠŠÇ— (memory management) ‚ƌĂ΂ê
‚Ä‚¢‚Ü‚·B

ƒRƒ“ƒsƒ…[ƒ^“à‚̌X‚̃vƒƒZƒX‚ɂ́A‚»‚̃R[ƒh‚ðŽÀs‚µ‚½‚èA•Ï”‚ð•Û‘¶
‚µ‚½‚èAˆ—‚ÌŒ‹‰Ê‚ðŠi”[‚µ‚½‚è‚·‚éêŠ‚Æ‚µ‚āA“ÆŽ©‚̃ƒ‚ƒŠ—̈悪•K—v‚Å
‚·B‚±‚¤‚µ‚½ƒƒ‚ƒŠ—̈æ‚́A(ƒvƒƒZƒX‚Ì–½—ß‚ª•ÛŽ‚³‚ê‚é)“ǂݏo‚µê—p—̈æ
‚Å‚ ‚éƒR[ƒhƒZƒOƒƒ“ƒg (code segment) ‚ƁA(ƒvƒƒZƒX‚Ì‚·‚ׂĂ̕ϐ”‚ª•ÛŽ
‚³‚ê‚é) ‘‚«ž‚݉”\‚ȗ̈æ‚Å‚ ‚éƒf[ƒ^ƒZƒOƒƒ“ƒg (data segment) ‚©‚ç\
¬‚³‚ê‚Ä‚¢‚é‚ƍl‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·Bƒf[ƒ^ƒZƒOƒƒ“ƒg‚́A•¶Žš‚Ç‚¨‚èŒÂX
‚̃vƒƒZƒX‚ɌŗL‚̗̈æ‚Å‚·‚ªA“ñ‚‚̃vƒƒZƒX‚ª“¯ˆê‚̃R[ƒh‚ðŽÀs‚µ‚Ä‚¢
‚éê‡AUnix ‚́Aƒƒ‚ƒŠ‚Ì—˜—pŒø—¦‚ÌŠÏ“_‚©‚çA‚»‚¤‚µ‚½ƒvƒƒZƒX‚ªA’Pˆê‚Ì
ƒR[ƒhƒZƒOƒƒ“ƒg‚ð‹¤—L‚·‚é‚悤’²®‚ðs‚¢‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

8.1. ‰¼‘zƒƒ‚ƒŠFŠÈˆÕƒo[ƒWƒ‡ƒ“

ƒƒ‚ƒŠ‚Í’l’i‚ª‚‚¢‚̂ŁAŒø—¦‚æ‚­—˜—p‚·‚邱‚Æ‚ª‘åØ‚Å‚·B‚Æ‚«‚ɂ́Aƒ}ƒV
ƒ“‚ÅŽÀs’†‚Ì‚·‚ׂẴvƒƒOƒ‰ƒ€‘S‘Ì‚ðƒƒ‚ƒŠ‚É•ÛŽ‚·‚邾‚¯‚Ì—]—T‚ª‚È‚¢ê
‡‚ª¶‚¶‚Ü‚·B“Á‚ɁAX ƒT[ƒo‚̂悤‚È‹‘å‚ȃvƒƒOƒ‰ƒ€‚ðŽÀs‚µ‚Ä‚¢‚é‚悤
‚ȏꍇ‚ɂ́Aƒƒ‚ƒŠ•s‘«‚ª¶‚¶‚邱‚Æ‚ª‚ ‚è‚Ü‚·B‚±‚Ì–â‘è‚ɑΏˆ‚·‚邽‚ß‚É
A Unix ‚́A‰¼‘zƒƒ‚ƒŠ (virtual memory) ‚ƌĂ΂ê‚éƒeƒNƒjƒbƒN‚ðŽg‚¢‚Ü‚·
B‚±‚ê‚́AƒvƒƒZƒX‚Ì‚·‚ׂẴR[ƒh‚ƃf[ƒ^‚ðƒƒ‚ƒŠ“à‚É•ÛŽ‚µ‚悤‚Æ‚·‚é
‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚Þ‚µ‚ëA”äŠr“I­—ʂ̃[ƒLƒ“ƒOƒZƒbƒg (working set)
‚¾‚¯‚ð•ÛŽ‚·‚é‚悤‚É‚µ‚āAŽc‚è‚̃vƒƒZƒXó‘Ԃ́Aƒn[ƒhƒfƒBƒXƒNã‚̃Xƒ
ƒbƒvƒXƒy[ƒX (swap space) ‚Æ‚¢‚¤“Á•Ê‚ȗ̈æ‚É’u‚¢‚Ä‚¨‚«‚Ü‚·B

’ˆÓ‚µ‚Ä—~‚µ‚¢‚̂́A‘O‚Ì’i—Ž‚Łu‚Æ‚«‚É‚Í....¶‚¶‚Ü‚·v‚Ə‘‚¢‚½•”•ª‚́A
‰ß‹Ž‚É‚¨‚¢‚ẮAu‚Ù‚Æ‚ñ‚Ç‚¢‚Â‚à¶‚¶‚Ä‚¢‚Ü‚µ‚½v‚ÆŒ¾‚¢Š·‚¦‚邱‚Æ‚ª‚Å‚«
‚é‚Æ‚¢‚¤“_‚Å‚·BˆÈ‘O‚́AŽÀs’†‚̃vƒƒOƒ‰ƒ€‚̃TƒCƒY‚Æ”ä‚ׂăƒ‚ƒŠ‚̃TƒC
ƒY‚ª‘S‘R‘«‚è‚È‚©‚Á‚½‚̂ŁAƒXƒƒbƒsƒ“ƒO‚Í•p”É‚É‹N‚±‚Á‚Ä‚¢‚Ü‚µ‚½B‚µ‚©‚µ
Aƒƒ‚ƒŠ‚͍¡“ú‚Å‚Í‚©‚È‚èˆÀ‰¿‚É‚È‚Á‚Ä‚¢‚āAƒ[ƒGƒ“ƒh‚̃}ƒVƒ“‚É‚·‚çA‚©
‚È‚è‚̃ƒ‚ƒŠ‚ªÏ‚Ü‚ê‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B64 MB ˆÈã‚̃ƒ‚ƒŠ‚ðÏ‚ñ‚¾Œ»
Ý‚̌l—pƒ}ƒVƒ“‚̏ꍇAX ‚â‚æ‚­—˜—p‚·‚éƒWƒ‡ƒu‚ªÅ‰‚©‚çƒRƒA‚Ƀ[ƒh‚³
‚ꂽ‚ ‚Æ‚Å‚àA‚»‚¤‚µ‚½ƒvƒƒZƒX‚ðƒXƒƒbƒsƒ“ƒO‚È‚µ‚ÅŽÀs‚·‚邱‚Æ‚ª‰Â”\‚É
‚È‚Á‚Ä‚¢‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

8.2. ‰¼‘zƒƒ‚ƒŠFÚ×ƒo[ƒWƒ‡ƒ“

‘OÍ‚ł́AŽÀÛ‚É‚¿‚å‚Á‚Ƙb‚ð’Pƒ‰»‚µ‚·‚¬‚Ä‚µ‚Ü‚¢‚Ü‚µ‚½BŠm‚©‚ɁAƒvƒƒO
ƒ‰ƒ€‚̓ƒ‚ƒŠ‚ðA‹‘å‚Å•½”‚ȃAƒhƒŒƒX—̈æ‚Å‚ ‚蕨—ƒƒ‚ƒŠ‚æ‚è‚à‘å‚«‚È‚à
‚Ì‚Å‚ ‚éA‚Æ”FŽ¯‚µ‚Ä‚¢‚āA‚»‚ÌŒ¶‘z‚ðŽx‚¦‚é‚à‚Ì‚Æ‚µ‚ăfƒBƒXƒNƒXƒƒbƒsƒ“
ƒO‚ª—˜—p‚³‚ê‚Ä‚¢‚é‚Æ‚¢‚¤‚Ì‚Í–{“–‚Å‚·B‚µ‚©‚µAŒ»ŽÀ‚ɂ́Aƒn[ƒhƒEƒFƒA‚Í
ˆÙ‚È‚éŒÜŽí—Þ‚à‚̃ƒ‚ƒŠ‚ðŽ‚Á‚Ä‚¢‚āAƒvƒƒOƒ‰ƒ€‚ªÅ‚‘¬“x‚ÅŽÀs‚³‚ê‚é‚æ
‚¤ƒ`ƒ…[ƒjƒ“ƒO‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢ê‡‚́A‚±‚̌܎í—ނ̃ƒ‚ƒŠŠÔ‚ł̈Ⴂ‚Í
A”ñí‚ɏd—v‚È–â‘è‚Æ‚È‚é‚Ì‚Å‚·Bƒ}ƒVƒ““à‚ʼn½‚ª‹N‚±‚Á‚Ä‚¢‚é‚Ì‚©‚ð–{“–‚É
—‰ð‚·‚邽‚߂ɂ́A‚±‚ê‚ç‘S‘Ì‚ª‚Ç‚¤‚¢‚¤Žd‘g‚Ý‚Å“®‚¢‚Ä‚¢‚é‚Ì‚©‚ð’m‚ç‚È‚¯
‚ê‚΂Ȃè‚Ü‚¹‚ñB

ŒÜŽí—ނ̃ƒ‚ƒŠ‚Ƃ́AŽŸ‚̂悤‚È‚à‚Ì‚Å‚·FƒvƒƒZƒbƒT‚̃ŒƒWƒXƒ^A“à•”(‚à‚µ
‚­‚́AƒIƒ“Eƒ`ƒbƒv)ƒLƒƒƒbƒVƒ…AŠO•”(‚à‚µ‚­‚́AƒIƒtEƒ`ƒbƒv)ƒLƒƒƒbƒVƒ…A
ƒƒCƒ“ƒƒ‚ƒŠA‚¨‚æ‚уfƒBƒXƒN‚Å‚·B‚±‚ꂾ‚¯‚ÌŽí—ނ̃ƒ‚ƒŠ‚ª‘¶Ý‚·‚邱‚Æ
‚Ì——R‚́A’Pƒ‚Å‚·BƒXƒs[ƒh‚ðã‚°‚é‚É‚Í‚¨‹à‚ª‚©‚©‚é‚©‚ç‚Å‚·Bã‹LŒÜŽí
—ނ̃ƒ‚ƒŠ‚́AƒAƒNƒZƒXŽžŠÔ‚Ì’Z‚¢‡”ԁAƒRƒXƒg‚̍‚‚¢‡”Ô‚É•À‚ñ‚Å‚¢‚Ü‚·B
ƒŒƒWƒXƒ^ƒƒ‚ƒŠ‚́AÅ‘¬‚©‚ÂÅ‚à‚‰¿‚È‚à‚Ì‚Å‚ ‚èAˆê•bŠÔ‚ɏ\‰­‰ñ‚­‚ç‚¢ƒ‰
ƒ“ƒ_ƒ€ƒAƒNƒZƒX‚ª‰Â”\‚Å‚·‚ªAƒfƒBƒXƒN‚͍łà’ᑬ‚©‚ˆÀ‰¿‚Å‚ ‚èAˆê•bŠÔ‚É
•S‰ñ‚­‚ç‚¢‚̃AƒNƒZƒX‚µ‚©‚Å‚«‚Ü‚¹‚ñB

ˆÈ‰º‚ɁA2000”N‰“ª‚Ì“TŒ^“I‚ȃfƒXƒNƒgƒbƒvƒ}ƒVƒ“‚É‚¨‚¯‚éŠeŽíƒƒ‚ƒŠ‚̃Xƒs
[ƒh‚̈ꗗ•\‚ð‹LÚ‚µ‚Ü‚·BƒXƒs[ƒh‚Æ—e—Ê‚Í”NXã¸‚µA‰¿Ši‚͉º‚ª‚Á‚Ä‚¢
‚«‚Ü‚·‚ªAƒƒ‚ƒŠŠÔ‚Å‚Ì‚»‚ê‚ç‚Ì”ä—áŠÖŒW‚Í”ñí‚ɈÀ’肵‚Ä‚¢‚é‚ƍl‚¦‚邱‚Æ
‚ª‚Å‚«‚Ü‚·Bƒƒ‚ƒŠ‚ªŠK‘w\‘¢‚ðŽ‚Â‚Ì‚ÍA‚»‚¤‚µ‚½”ä—áŠÖŒW‚ªˆê’è‚Å‚ ‚é‚©
‚ç‚Å‚·B

ƒfƒBƒXƒN
   
    Size: 13000MB Accesses: 100KB/sec
   
ƒƒCƒ“ƒƒ‚ƒŠ
   
    Size: 256MB Accesses: 100M/sec
   
ŠO•”ƒLƒƒƒbƒVƒ…
   
    Size: 512KB Accesses: 250M/sec
   
“à•”ƒLƒƒƒbƒVƒ…
   
    Size: 32KB Accesses: 500M/sec
   
ƒvƒƒZƒbƒT
   
    Size: 28 bytes Accesses: 1000M/sec
   
Å‘¬‚̃ƒ‚ƒŠ‚¾‚¯‚ðŽg‚Á‚Ä‚·‚ׂĂð\’z‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB‚ ‚Ü‚è‚ɍ‚‰¿
‚È‚à‚Ì‚É‚È‚è‚·‚¬‚é‚©‚ç‚Å‚·B‰¼‚ɍ‚‰¿‚Å‚È‚©‚Á‚½‚Æ‚µ‚Ä‚àA‚‘¬‚ȃƒ‚ƒŠ‚Í
Šö”­«‚Å‚·B‚‚܂èA“dŒ¹‚ðØ‚é‚ƁA‚¹‚Á‚©‚­‚̐¬‰Ê‚ªŽ¸‚í‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·B
‚µ‚½‚ª‚Á‚āAƒRƒ“ƒsƒ…[ƒ^‚̓n[ƒhƒfƒBƒXƒN‚â‚»‚Ì‘¼‚Ì”ñŠö”­«‚̃XƒgƒŒ[ƒW
‚ð“à‘Ÿ‚µ‚āA“dŒ¹‚ðØ‚Á‚½Û‚É‚àƒf[ƒ^‚ð•ÛŽ‚Å‚«‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü
‚¹‚ñB‚Ü‚½AƒvƒƒZƒbƒT‚Ì‘¬“x‚ƃfƒBƒXƒN‚Ì‘¬“x‚Ƃ̊Ԃɂ́A‚ ‚Ü‚è‚É‘å‚«‚È
ˆá‚¢‚ª‚ ‚è‚Ü‚·B‚»‚Ì’†ŠÔ‚É‚ ‚éŽO‚‚̃Œƒxƒ‹‚̃ƒ‚ƒŠŠK‘w (“à•”ƒLƒƒƒbƒVƒ…
(internal cache)AŠO•”ƒLƒƒƒbƒVƒ… (external cache) ‚¨‚æ‚уƒCƒ“ƒƒ‚ƒŠ)
‚́AŠî–{“I‚ɁA—¼ŽÒ‚̃Mƒƒƒbƒv‚𖄂߂邽‚ß‚É‘¶Ý‚µ‚Ä‚¢‚Ü‚·B

Linux ‚Æ‚»‚Ì‘¼‚Ì Unix ‚ɂ́A‰¼‘zƒƒ‚ƒŠ‚ƌĂ΂ê‚é‹@”\‚ª”õ‚í‚Á‚Ä‚¢‚Ü‚·B
‰¼‘zƒƒ‚ƒŠ‚Ƃ́AƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚ªŽÀÛ‚É“‹Ú‚µ‚Ä‚¢‚郁ƒCƒ“ƒƒ‚
ƒŠˆÈã‚̃ƒ‚ƒŠ‚ðŽ‚Á‚Ä‚¢‚é‚©‚̂悤‚ɐU•‘‚¤‚Æ‚¢‚¤‚±‚Æ‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·B
ŽÀÛ‚Ì•¨—ƒƒCƒ“ƒƒ‚ƒŠ‚́A‚æ‚è‘å‚«‚ȁu‰¼‘zvƒƒ‚ƒŠ‹óŠÔ‚Ì‘‹A‚à‚µ‚­‚̓L
ƒƒƒbƒVƒ…‚̂悤‚ɐU‚é•‘‚¢A‰¼‘zƒƒ‚ƒŠ‚Ì‘å•”•ª‚ÍŽÀÛ‚ɂ̓XƒƒbƒvƒGƒŠƒA‚Æ
ŒÄ‚΂ê‚éƒfƒBƒXƒNã‚̗̈æ‚É•ÛŽ‚³‚ê‚Ü‚·Bƒ†[ƒUƒvƒƒOƒ‰ƒ€‚©‚ç‚ÍŒ©‚¦‚È‚¢
‚Æ‚±‚ë‚ŁAOS ‚́Aƒf[ƒ^ƒuƒƒbƒN‚ðƒƒ‚ƒŠ‚ƃfƒBƒXƒN‚̊Ԃňړ®‚³‚¹A‚±‚ÌŒ¶
‘z‚ðˆÛŽ‚µ‚Ä‚¢‚Ü‚·B‚»‚ÌŒ‹‰ÊA‰¼‘zƒƒ‚ƒŠ‚́AŽÀƒƒ‚ƒŠ‚æ‚è‚à‚¸‚Á‚Æ‘å‚«‚¢
‚ªA‚»‚ê‚Ù‚Ç’x‚­‚Í‚È‚¢ƒƒ‚ƒŠ‚Æ‚µ‚Ä‹@”\‚·‚é‚킯‚Å‚·B

‰¼‘zƒƒ‚ƒŠ‚ª•¨—ƒƒ‚ƒŠ‚Æ”ä‚ׂĂǂ̒ö“x’ᑬ‚É‚È‚é‚©‚Æ‚¢‚¤‚̂́AƒIƒyƒŒ[
ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚̃Xƒƒbƒsƒ“ƒOƒAƒ‹ƒSƒŠƒYƒ€‚ªA‚ǂꂾ‚¯ƒvƒƒOƒ‰ƒ€‚É‚æ‚é
‰¼‘zƒƒ‚ƒŠ‚Ì—˜—p•û–@‚É“K‡‚µ‚½‚à‚Ì‚É‚È‚Á‚Ä‚¢‚é‚©‚Æ‚¢‚¤‚±‚Æ‚ÅŒˆ‚Ü‚è‚Ü‚·
BK‚È‚±‚ƂɁAˆê’è‚ÌŽžŠÔŠÔŠu‚ÅŒ©‚é‚ƁAƒƒ‚ƒŠ‚̓ǂݏo‚µ‚Ə‘‚«ž‚Ý‚ÍŠÔ‚ð
’u‚©‚¸‚É‚È‚³‚ê‚邱‚Æ‚ª‘½‚¢‚½‚߁AêŠ“I‚ÉŒ©‚½ê‡‚Å‚àAƒƒ‚ƒŠ‚̓ǂݏ‘‚«
‚̓ƒ‚ƒŠ‹óŠÔ“à‚Ì“Á’è‚̏ꏊ‚ɏW’†‚·‚é‚Æ‚¢‚¤ŒXŒü‚ª‚ ‚è‚Ü‚·B‚±‚ÌŒXŒü‚́A
ƒ[ƒJƒŠƒeƒB (locality) A‚à‚µ‚­‚Í‚æ‚萳Ž®‚ɂ̓Šƒtƒ@ƒŒƒ“ƒX‚̃[ƒJƒŠƒe
ƒB (locality of reference) ‚ƌĂ΂ê‚Ä‚¢‚Ü‚·B‚±‚ê‚Í“s‡‚Ì‚¢‚¢‚±‚Æ‚Å‚·B
ƒƒ‚ƒŠ‚Ö‚ÌŽQÆ (reference) ‚ª‰¼‘zƒƒ‚ƒŠ‹óŠÔ“à‚Ì—lX‚ȏꏊ‚Ƀ‰ƒ“ƒ_ƒ€‚ɍs
‚í‚ê‚é‚È‚çA’ʏí‚́AV‚µ‚¢ŽQÆ‚Ì‚½‚Ñ‚²‚ƂɃfƒBƒXƒN‚ɑ΂·‚é“ǂݏo‚µ‚⏑
‚«ž‚Ý‚ªs‚í‚ê‚È‚¯‚ê‚΂Ȃ炸A‰¼‘zƒƒ‚ƒŠ‚̓fƒBƒXƒN‚Æ“¯‚¶‚­‚ç‚¢’ᑬ‚É‚È
‚Á‚Ä‚µ‚Ü‚¤‚Å‚µ‚傤B‚µ‚©‚µAƒvƒƒOƒ‰ƒ€‚Æ‚¢‚¤‚͈̂ê’è‚̏ꏊ‚œǂݏ‘‚«‚ð
s‚¤‚Æ‚¢‚¤‹­‚¢ŒXŒü (locality) ‚ðŽ¦‚·‚à‚̂Ȃ̂ŁAƒƒ‚ƒŠ‚Ö‚ÌŽQÆ‚ª‚ ‚éê
‡‚Å‚àAƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚̓Xƒƒbƒv‚ðs‚¤‚±‚Æ‚ª”äŠr“I‚·‚­‚È‚­‚Ä
Ï‚Ý‚Ü‚·B

‚±‚ê‚́AŒoŒ±‘¥‚È‚Ì‚Å‚·‚ªAÅ‘åŒö–ñ”“I‚ɂ݂čłàŒø—¦‚Ì‚æ‚¢ƒƒ‚ƒŠ—˜—pƒp
ƒ^[ƒ“‚Æ‚¢‚¤‚Ì‚Í”ñí‚ɃVƒ“ƒvƒ‹‚È‚à‚Ì‚Å‚·B‚»‚Ì•û–@‚́ALRU ‚à‚µ‚­‚͍Œ·
ŽžŠÔ–¢Žg—pƒAƒ‹ƒSƒŠƒYƒ€ ("least recently used" algorithm) ‚ƌĂ΂ê‚Ä‚¢‚Ü
‚·B‰¼‘zƒƒ‚ƒŠƒVƒXƒeƒ€‚́A•K—v‚ɉž‚¶‚āAƒfƒBƒXƒNƒuƒƒbƒN‚ðƒƒ‚ƒŠ‚̃[
ƒLƒ“ƒOƒZƒbƒg (working set) ‚Æ‚µ‚ÄŽæ‚荞‚Ý‚Ü‚·Bƒ[ƒLƒ“ƒOƒZƒbƒg—p‚Ì•¨—
ƒƒ‚ƒŠ‚ª‘«‚è‚È‚­‚È‚Á‚½‚çAÅ’·ŽžŠÔ–¢Žg—p‚̃uƒƒbƒN‚ðƒfƒBƒXƒN‚ɏ‘‚«o‚µ
‚Ä‚µ‚Ü‚¢‚Ü‚·B‚·‚×‚Ä‚Ì Unix ‚âA‰¼‘zƒƒ‚ƒŠ‚ðŽg‚¤‚»‚Ì‘¼‚̃IƒyƒŒ[ƒeƒBƒ“
ƒOƒVƒXƒeƒ€‚Ì‘å•”•ª‚́A‚±‚Ì LRU ‚É‚¢‚­‚ç‚©‚̕ύX‚ð‰Á‚¦‚½ƒAƒ‹ƒSƒŠƒYƒ€‚ðŽg
‚Á‚Ä‚¢‚Ü‚·B

‰¼‘zƒƒ‚ƒŠ‚́AƒfƒBƒXƒN‚ƃvƒƒZƒbƒT‚̃Xƒs[ƒh‚̈Ⴂ‚𒲐®‚·‚é‘æˆê‚̘AŠÂ
‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚ê‚́AOS ‚ª–¾Ž¦“I‚ÉŠÇ—‚µ‚Ä‚¢‚Ü‚·B‚µ‚©‚µA•¨—ƒƒ‚ƒŠ
‚̃Xƒs[ƒh‚ƁAƒvƒƒZƒbƒT‚ª‚»‚̃ŒƒWƒXƒ^ƒƒ‚ƒŠ‚ɃAƒNƒZƒX‚·‚éƒXƒs[ƒh‚Æ‚Ì
ŠÔ‚ɂ́A‚Ü‚¾‘å‚«‚ȃMƒƒƒbƒv‚ª‚ ‚è‚Ü‚·BŠO•”‚Æ“à•”‚̃LƒƒƒbƒVƒ…‚́A‚±‚ê‚ð
–„‚ß‚é‚à‚Ì‚Å‚ ‚èA‚»‚Ì‚½‚߂ɏã‹L‚ŏq‚ׂ½‰¼‘zƒƒ‚ƒŠ‚Æ‚æ‚­Ž—‚½ƒeƒNƒjƒbƒN
‚ðŽg‚Á‚Ä‚¢‚Ü‚·B

•¨—ƒƒCƒ“ƒƒ‚ƒŠ‚ªƒfƒBƒXƒNƒXƒƒbƒv—̈æ‚ɑ΂·‚éˆê˜A‚Ì‘‹‚âƒLƒƒƒbƒVƒ…‚Ì‚æ
‚¤‚ɐU‚é•‘‚Á‚Ä‚¢‚é‚悤‚ɁAŠO•”ƒLƒƒƒbƒVƒ…‚àƒƒCƒ“ƒƒ‚ƒŠ‚ɑ΂·‚é‘‹‚̂悤
‚ɐU‚é•‘‚¢‚Ü‚·BŠO•”ƒLƒƒƒbƒVƒ…‚́A‚‘¬ (100M ‚æ‚è‚à‘¬‚¢•bŠÔ 250M ƒAƒNƒZ
ƒX)‚ŁA—e—ʂ̏¬‚³‚¢ƒƒ‚ƒŠ‚Å‚·Bƒn[ƒhƒEƒFƒA (“Á‚ɁAƒRƒ“ƒsƒ…[ƒ^‚̃ƒ‚ƒŠ
ƒRƒ“ƒgƒ[ƒ‰) ‚́ALRU ‚Ì•û–@‚ðŽg‚Á‚āAƒƒCƒ“ƒƒ‚ƒŠ‚©‚çŽæ‚Á‚Ä‚«‚½ˆê˜A‚Ì
ƒf[ƒ^‚ð‚à‚Æ‚É‚µ‚āAŠO•”ƒLƒƒƒbƒVƒ…“à‚̃f[ƒ^‚ðŠÇ—‚µ‚Ü‚·B—ðŽj“I‚È——R
‚ŁAƒLƒƒƒbƒVƒ…ƒXƒƒbƒsƒ“ƒO‚Ì’PˆÊ‚́Aƒy[ƒW (page) ‚Å‚Í‚È‚­ƒ‰ƒCƒ“ (line)
‚ƌĂ΂ê‚Ä‚¢‚Ü‚·B

‚µ‚©‚µA‚±‚ê‚Řb‚ªI‚í‚Á‚½‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB“à•”ƒLƒƒƒbƒVƒ…‚ªAŠO•”ƒL
ƒƒƒbƒVƒ…‚̈ꕔ‚ð‚³‚ç‚ɃLƒƒƒbƒVƒ…‚·‚邱‚ƂŁAƒAƒNƒZƒX‘¬“x‚Ì’êã‚°‚̍ŏI
’iŠK‚ð’S“–‚µ‚Ä‚¢‚Ü‚·B‚±‚Ì“à•”ƒLƒƒƒbƒVƒ…‚́A‚³‚ç‚ɍ‚‘¬‚Å—e—ʂ̏¬‚³‚¢ƒ
ƒ‚ƒŠ‚Å‚·BŽ–ŽÀA‚±‚ê‚̓vƒƒZƒbƒTƒ`ƒbƒv‚Ì‚·‚®‘¤‚É’u‚©‚ê‚Ä‚¢‚Ü‚·B

“ÇŽÒ‚ªƒvƒƒOƒ‰ƒ€‚ð–{“–‚É‘¬‚­‚µ‚½‚¢‚ÆŽv‚¤‚È‚çA‚±‚¤‚µ‚½×‚©‚¢Ž–•¿‚ð’m‚Á
‚Ä‚¨‚­‚±‚Æ‚ª—L‰v‚Å‚·BƒvƒƒOƒ‰ƒ€‚́Aƒ[ƒJƒŠƒeƒB‚ª‹­‚¢‚قǍ‚‘¬‚É‚È‚è‚Ü
‚·BƒLƒƒƒbƒVƒ…‚ª‚æ‚èŒø‰Ê“I‚É“­‚­‚©‚ç‚Å‚·B‚»‚ê‚䂦AƒvƒƒOƒ‰ƒ€‚𑬂­‚·
‚éˆê”ÔŠÈ’P‚È•û–@‚́AƒvƒƒOƒ‰ƒ€‚ð¬‚³‚­‚·‚邱‚Æ‚Å‚·BƒvƒƒOƒ‰ƒ€‚ª‘½‚­‚Ì
ƒfƒBƒXƒN I/O ‚Ì‚½‚ß‚É“®‚«‚ª“Ý‚­‚È‚Á‚½‚èAƒlƒbƒgƒ[ƒNƒCƒxƒ“ƒg‚ð‘Ò‚Á‚½‚è
‚µ‚È‚­‚Ä‚à‚·‚ޏꍇA‚»‚ê‚́A’ʏíAƒVƒXƒeƒ€“à‚Å‹–—e‚³‚ê‚Ä‚¢‚éÅ‘å‚̃Lƒƒ
ƒbƒVƒ…Œø‰Ê‚ð‚Æ‚à‚È‚Á‚½ƒXƒs[ƒh‚ÅŽÀs‚³‚ê‚é‚Í‚¸‚¾‚©‚ç‚Å‚·B

ƒvƒƒOƒ‰ƒ€‘S‘Ì‚ð¬‚³‚­‚Å‚«‚È‚¢ê‡‚́AƒXƒs[ƒh‚ÉŠÖŒW‚·‚é•”•ª‚ðƒ`ƒ…[ƒj
ƒ“ƒO‚·‚é‚悤‚É‚µ‚āA‹­‚¢ƒ[ƒJƒŠƒeƒB‚ð”­Šö‚·‚é‚悤‚É‚·‚ê‚Εñ‚í‚ê‚é‚Å‚µ
‚傤B‚»‚¤‚µ‚½ƒ`ƒ…[ƒjƒ“ƒO‚ÉŠÖ‚·‚éƒeƒNƒjƒbƒN‚̏ڍׂ́A‚±‚Ì•¶‘‚Ì”Íáe‚ð
‰z‚¦‚Ü‚·B“ÇŽÒ‚ª‚»‚ê‚ç‚ð•K—v‚Æ‚·‚鍠‚ɂ́AƒRƒ“ƒpƒCƒ‰‚É‚©‚Ȃ萸’Ê‚µ‚Ä‚¢
‚é‚Í‚¸‚Ȃ̂ŁA‚»‚¤‚µ‚½•û–@‚Í‚¨‚Ì‚¸‚Æ—‰ð‚Å‚«‚é‚Í‚¸‚Å‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

8.3. ƒƒ‚ƒŠŠÇ—ƒ†ƒjƒbƒg (memory management unit)

[•ª‚È—e—ʂ̃RƒA‚ª‚ ‚èAƒXƒƒbƒsƒ“ƒO‚ð”ð‚¯‚ç‚ê‚é‚Æ‚«‚Å‚àAƒƒ‚ƒŠŠÇ—
(memory management) ‚ƌĂ΂ê‚éƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚̈ꕔ‚́Ad—v‚È
–ðŠ„‚ð‰Ê‚½‚µ‚Ä‚¢‚Ü‚·BŠm”F‚µ‚Ä‚¨‚«‚½‚¢‚̂́AƒvƒƒOƒ‰ƒ€‚ÍŽ©•ª‚̃f[ƒ^ƒZ
ƒOƒƒ“ƒg‚µ‚©•ÏX‚Å‚«‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B‚·‚È‚í‚¿A‚ ‚éƒvƒƒOƒ‰ƒ€‚Ì’†‚Ì
•s‹ï‡‚Ì‚ ‚éƒR[ƒh‚∫ˆÓ‚ðŽ‚Á‚čì‚ç‚ꂽƒR[ƒh‚ªA‘¼‚̃vƒƒOƒ‰ƒ€‚̃f[
ƒ^ƒZƒOƒƒ“ƒg‚Ƀf[ƒ^‚ð“f‚«o‚·‚±‚Ƃ͏o—ˆ‚È‚¢Žd‘g‚Ý‚É‚È‚Á‚Ä‚¢‚é‚Æ‚¢‚¤‚±
‚Æ‚Å‚·B‚±‚ê‚ðŽÀŒ»‚·‚邽‚߂ɁAƒƒ‚ƒŠŠÇ—‹@\‚ł́Aƒf[ƒ^ƒZƒOƒƒ“ƒg‚ƃR
[ƒhƒZƒOƒƒ“ƒg‚̈ꗗ‚ª‘‚©‚ꂽƒe[ƒuƒ‹‚ð•ÛŽ‚µ‚Ä‚¢‚Ü‚·B‚±‚̃e[ƒuƒ‹‚Í
AƒvƒƒZƒX‚ª’ljÁ‚̃ƒ‚ƒŠ—̈æ‚ð—v‹‚µ‚½‚èA‚»‚ê‚Ü‚ÅŽg‚Á‚Ä‚¢‚½ƒƒ‚ƒŠ—̈æ
‚ðŠJ•ú‚·‚é(’ʏíA‚±‚ê‚̓vƒƒZƒXI—¹Žž‚É‹N‚±‚è‚Ü‚·)‚½‚тɁAXV‚³‚ê‚é‚æ
‚¤‚É‚È‚Á‚Ä‚¢‚Ü‚·B

ƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚̃ƒ‚ƒŠŠÇ—‹@\‚́A‚±‚̃e[ƒuƒ‹‚ðŽg‚Á‚āA MMU
‚à‚µ‚­‚̓ƒ‚ƒŠŠÇ—ƒ†ƒjƒbƒg (memory management unit) ‚ƌĂ΂ê‚éA‰ºˆÊ‘w
‚̃n[ƒhƒEƒFƒA‚É‚ ‚é“Á•Ê‚ȉӏŠ‚ɃRƒ}ƒ“ƒh‚ð“n‚µ‚Ä‚¢‚Ü‚·BŒ»‘ã‚̃vƒƒZƒb
ƒTƒ`ƒbƒv‚ɂ́A•¡”‚Ì MMU ‚ª“à‘ ‚³‚ê‚Ä‚¢‚Ü‚·B MMU ‚́Aƒƒ‚ƒŠ—̈æ‚ð•ÛŒì
‚·‚邽‚ß‚Ì“Á•Ê‚È‹@”\‚ðŽ‚Á‚Ä‚¢‚é‚̂ŁA‰z‹«“I‚ȃƒ‚ƒŠŽQÆ‚Í‹‘”Û‚³‚ê‚é‚Æ
‚Æ‚à‚ɁA‚»‚̍ۂɂ͓ÁŽê‚ÈŠ„‚荞‚Ý‚ª”­¶‚·‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B

¡‚܂łɁA"Segmentation fault" ‚â "core dumpd" ‚Æ‚¢‚Á‚½ƒƒbƒZ[ƒW‚ðŒ©‚½
‚±‚Æ‚ª‚ ‚é‚È‚çA‚Ü‚³‚ɁA‚»‚¤‚µ‚½‰z‹«“I‚ȃƒ‚ƒŠŽQÆ‚ª‹N‚±‚Á‚½‚Æ‚¢‚¤‚±‚Æ
‚ðˆÓ–¡‚µ‚Ü‚·BŽÀs’†‚̃vƒƒOƒ‰ƒ€‚ªŽ©•ªˆÈŠO‚̃ZƒOƒƒ“ƒg‚Ƀƒ‚ƒŠƒAƒNƒZƒX
‚µ‚悤‚Æ‚·‚é‚ƁA’v–½“I‚ÈŠ„‚荞‚Ý‚ª‹N‚«‚é‚Ì‚Å‚·B‚±‚ê‚́AƒvƒƒOƒ‰ƒ€‚Ƀo
ƒO‚ª‚ ‚邱‚Æ‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·BMMU ‚ªŽc‚· core dump ‚́AƒvƒƒOƒ‰ƒ}‚ª‚»‚Ì
ƒoƒO‚ð’ǐՂ·‚é‚Ì‚ðŽx‰‡‚·‚邽‚߂̐f’fî•ñ‚È‚Ì‚Å‚·B

ƒvƒƒZƒX‚Ì‘ŠŒÝŠ±Â‚Ì–hŽ~‚́AƒvƒƒZƒX‚ªƒAƒNƒZƒX‚Å‚«‚郁ƒ‚ƒŠ—̈æ‚𕪗£‚·
‚邱‚ƈȊO‚ɁA‚³‚ç‚É•Ê‚ÌŠÏ“_‚©‚ç‚à‚È‚³‚ê‚Ä‚¢‚Ü‚·B“ǎ҂́Aã‹LˆÈŠO‚É‚à
Aƒtƒ@ƒCƒ‹‚ւ̃AƒNƒZƒX§Œä‚ªo—ˆ‚é‚悤‚É‚µ‚āAƒoƒO‚Ì‚ ‚éƒvƒƒOƒ‰ƒ€‚∫
ˆÓ‚ðŽ‚Á‚­‚ç‚ꂽƒvƒƒOƒ‰ƒ€‚ªƒVƒXƒeƒ€‚̏d—vƒtƒ@ƒCƒ‹‚ð”j‰ó‚Å‚«‚È‚¢‚æ
‚¤‚É‚µ‚½‚¢‚ÆŽv‚¤‚±‚Æ‚Å‚µ‚傤B Unix ‚ªAƒtƒ@ƒCƒ‹ƒp[ƒ~ƒbƒVƒ‡ƒ“‚Æ‚¢‚¤Žd
‘g‚Ý‚ðŽ‚Á‚Ä‚¢‚é‚̂́A‚±‚Ì‚½‚ß‚Å‚·B‚±‚ê‚ɂ‚¢‚ẮAŒã‚Ù‚Çà–¾‚µ‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

9. ƒRƒ“ƒsƒ…[ƒ^‚͏î•ñ‚ð‚ǂ̂悤‚Ƀƒ‚ƒŠ‚É•ÛŽ‚·‚é‚Ì‚©?

ƒRƒ“ƒsƒ…[ƒ^ã‚ł́A‚·‚ׂĂªƒrƒbƒg—ñ‚Æ‚µ‚Ä•Û‘¶‚³‚ê‚Ä‚¢‚邱‚Ƃ͌䑶’m‚¾
‚ÆŽv‚¢‚Ü‚·(“ñi”‚Æ‚¢‚¤‚̂́Aˆê˜A‚̏¬‚³‚ȃIƒ“EƒIƒt‚̃XƒCƒbƒ`‚ƍl‚¦‚邱
‚Æ‚ª‚Å‚«‚Ü‚·)B‚±‚±‚ł́A‚»‚¤‚µ‚½ƒrƒbƒg‚É‚æ‚Á‚āAƒRƒ“ƒsƒ…[ƒ^ã‚ňµ‚í‚ê
‚镶Žš‚␔Žš‚ª‚ǂ̂悤‚É•\‚³‚ê‚Ä‚¢‚é‚Ì‚©‚ðà–¾‚µ‚Ü‚·B

à–¾‚É“ü‚é‘O‚ɁA‚Ü‚¸ƒRƒ“ƒsƒ…[ƒ^‚̃[ƒhƒTƒCƒY (word size) ‚ɂ‚¢‚Ä—‰ð
‚·‚é•K—v‚ª‚ ‚è‚Ü‚·Bƒ[ƒhƒTƒCƒY‚Ƃ́A‚»‚̃Rƒ“ƒsƒ…[ƒ^ã‚Å—˜—p‚³‚ê‚Ä‚¢
‚éAî•ñ‚ð‚â‚èŽæ‚è‚·‚邽‚ß‚Ì’PˆÊ‚Ì‚±‚Æ‚Å‚·B‹Zp“I‚ÉŒ¾‚¤‚ƁA‚±‚ê‚̓vƒ
ƒZƒbƒT‚̃ŒƒWƒXƒ^ (registers) ‚Ì•‚Ì‚±‚Æ‚Å‚ ‚èAƒŒƒWƒXƒ^‚Ƃ́AƒvƒƒZƒbƒT
‚ªŒvŽZ‚â˜_—‰‰ŽZ‚ðs‚¤Û‚É‚»‚̏î•ñ‚ðŠi”[‚·‚éêŠ‚Å‚·BƒRƒ“ƒsƒ…[ƒ^‚É‚Í
ƒrƒbƒgƒTƒCƒY‚ª‚ ‚é‚Ə‘‚©‚ê‚Ä‚¢‚éê‡ (‚½‚Æ‚¦‚΁A‚»‚ê‚ç‚ð 32-bit ‚â
64-bit ƒRƒ“ƒsƒ…[ƒ^‚ȂǂƌĂñ‚Å‚¢‚éê‡)A‚»‚ê‚̓Rƒ“ƒsƒ…[ƒ^‚̃[ƒhƒT
ƒCƒY‚Ì‚±‚Æ‚ðŒ¾‚Á‚Ä‚¢‚é‚킯‚Å‚·B

(386 ‚â 486 ‚¨‚æ‚Ñ Pentium PC ‚ðŠÜ‚Þ) ‘å•”•ª‚̃Rƒ“ƒsƒ…[ƒ^‚́A32 bit ‚Ì
ƒ[ƒhƒTƒCƒY‚Æ‚È‚Á‚Ä‚¢‚Ü‚·BŒÃ‚¢ 286 ‚̃}ƒVƒ“‚́A16 ƒrƒbƒg‚̃[ƒhƒTƒC
ƒY‚Å‚µ‚½B‹ŒŽ®‚̃ƒCƒ“ƒtƒŒ[ƒ€‚¾‚Æ 36 bit ƒ[ƒh‚Ì‚à‚Ì‚ª‚æ‚­‚ ‚è‚Ü‚·B
‚¢‚­‚‚©‚̃vƒƒZƒbƒT‚Å‚Í (‚½‚Æ‚¦‚΁A‹Œ DEC Œ» Compaq ‚ªo‚µ‚Ä‚¢‚é Alpha
‚È‚Ç‚Í)A64 ƒrƒbƒg‚̃[ƒhƒTƒCƒY‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B64 bit ƒ[ƒh‚́A‚±‚ê‚©
‚ç 5 ”N‚قǂ̊Ԃɂ́A‚à‚Á‚ƈê”Ê“I‚È‚à‚Ì‚É‚È‚é‚Å‚µ‚傤BIntel ‚́A
Pentium ƒVƒŠ[ƒY‚̃`ƒbƒv‚ð "Itanium" ‚ƌĂ΂ê‚é 64 bit ƒ`ƒbƒv‚É’u‚«Š·‚¦
‚悤Œv‰æ‚µ‚Ä‚¢‚é‚©‚ç‚Å‚·B

ƒRƒ“ƒsƒ…[ƒ^‚́Aƒƒ‚ƒŠ‚ðAƒ[ƒ‚©‚ç‚»‚̃}ƒVƒ“‚̃ƒ‚ƒŠƒTƒCƒY‚̏ãŒÀ‚ÉŠY“–
‚·‚é’l‚܂ł̔ԍ†‚ðU‚Á‚½Aˆê˜A‚̃[ƒh‚Ì•À‚Ñ‚Æ‚µ‚ÄŒ©‚Ä‚¢‚Ü‚·B‚±‚̃ƒ‚
ƒŠƒTƒCƒY‚̏ãŒÀ‚Ì’l‚Æ‚¢‚¤‚̂́Aƒ[ƒhƒTƒCƒY‚É‚æ‚Á‚ÄŒˆ‚Ü‚è‚Ü‚·B286 ‚È‚Ç
‚Ì‹ŒŽ®‚̃}ƒVƒ“—p‚̃vƒƒOƒ‰ƒ€‚ª‘å—e—ʃƒ‚ƒŠ‚ðŠÇ—‚·‚é‚̂ɁA‚©‚È‚è–³—‚È
‚±‚¶‚‚¯‚ðŽg‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢‚Ì‚Í‚»‚Ì‚½‚ß‚Å‚·B‚±‚±‚Å‚Í‚»‚¤‚µ‚½‚±‚¶‚Â
‚¯‚ÌŽd‘g‚݂ɂ‚¢‚Ă͏q‚ׂ܂¹‚ñ‚ªA”N”y‚̃vƒƒOƒ‰ƒ}‚́A‚¢‚Ü‚¾‚É‚±‚ꂪŒ´
ˆö‚Å‚¤‚È‚³‚ê‚Ä‚¢‚½‚肵‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

9.1. ”Žš

®”‚́AƒvƒƒZƒbƒT‚̃[ƒhƒTƒCƒY‚ɉž‚¶‚āAƒ[ƒh‚©A‚à‚µ‚­‚̓[ƒh‚̃y
ƒA‚É‚æ‚Á‚Ä•\Œ»‚³‚ê‚Ä‚¢‚Ü‚·B32 bit ƒ}ƒVƒ“‚ł́Aƒ[ƒh‚ªÅ‚àŠî–{“I‚Ȑ®”
‚Ì•\Œ»’PˆÊ‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B

®”‚ÌŒvŽZ‚́A“ñi”‚ÌŒvŽZ‚ÆŽ—‚Ä‚¢‚Ü‚·‚ªAŽÀÛ‚͏­‚µˆÙ‚È‚è‚Ü‚·Bƒˆ‚È
“ñi”‚ł́A‰ºˆÊƒrƒbƒg‚©‚珇‚É 1, ŽŸ‚É 2, ‚»‚µ‚Ä 4 “™‚ð•\‚µ‚Ü‚·‚ªA³•‰
‚Ì•„‡•t‚«”Žš‚́A2 ‚̕␔ (twos-complement) ‚Æ‚¢‚¤•\‹L‚Å•\‚³‚ê‚Ü‚·BÅ
ãˆÊƒrƒbƒg‚́A•„‡ƒrƒbƒg (sign bit) ‚Å‚ ‚èA‚±‚̃rƒbƒg‚ðŽg‚Á‚Ä•‰‚Ì’l‚ª
‚‚­‚ç‚ê‚Ü‚·B‚»‚µ‚āA•‰‚̐”Žš‚Í‚·‚ׂāA³‚̐”Žš‚̃rƒbƒg‚ð‘S•”‹t“]‚³‚¹
‚āA‚»‚ê‚É 1 ‚ð‰Á‚¦‚邱‚Æ‚Å•ÏŠ·‰Â”\‚Å‚·B 32 bit ƒ}ƒVƒ“ã‚Ő®”‚Ì’l‚Ì•
‚ªA-2^31 ‚©‚ç 2^31 -1 (‚±‚±‚ŁA^ ‚Ì‹L†‚́A‚ׂ«”‚̉‰ŽZŽq‚ð•\‚µA2^3 =
8 ‚Å‚·) ‚Ü‚Å‚µ‚©‚È‚¢‚̂́A‚»‚Ì‚½‚ß‚Å‚·B32 bit –ڂ̃rƒbƒg‚́A³•‰•„‡—p
‚ÉŽg‚í‚ê‚é‚Ì‚Å‚·B

ƒRƒ“ƒsƒ…[ƒ^Œ¾Œê‚Ì‚È‚©‚ɂ́A•„‡‚È‚µ‰‰ŽZ (unsigned arithmetic) ‚ª‚Å‚«‚é
‚à‚Ì‚à‚ ‚è‚Ü‚·B‚»‚̏ꍇ‚́Aƒ[ƒ‚Ɛ³‚̐”‚¾‚¯‚ðŽg‚Á‚½’ʏí‚Ì“ñi”‰‰ŽZ‚Æ
‚È‚è‚Ü‚·B

‘å•”•ª‚̃vƒƒZƒbƒT‚âƒRƒ“ƒsƒ…[ƒ^Œ¾Œê‚Ì‚¢‚­‚‚©‚́A•‚“®¬”“_
(floating-point) ”‚ł̏ˆ—‚ª‰Â”\‚Å‚·(‚±‚Ì‹@”\‚́AÅ‹ß‚Ì(PC —p)ƒvƒƒZƒb
ƒTƒ`ƒbƒv‚È‚çA‚·‚ׂĂɑg‚ݍž‚Ü‚ê‚Ä‚¢‚Ü‚·)B•‚“®¬”“_”‚ðŽg‚¤‚ƁA®”‚æ
‚è‚àL‚¢”͈͂̒l‚ðˆµ‚¤‚±‚Æ‚ª‚Å‚«‚邾‚¯‚Å‚È‚­A•ª”‚à•\Œ»‚Å‚«‚é‚悤‚É‚È
‚è‚Ü‚·B•‚“®¬”“_ŒvŽZ‚ðŽÀŒ»‚·‚é•û–@‚́A—lX‚ÈŽí—Þ‚ª‚ ‚è‚Ü‚·‚µA‚±‚±‚Å
‰ðà‚·‚é‚É‚Í‚¿‚å‚Á‚Æ•¡ŽG‚·‚¬‚é‚Ì‚Å‚·‚ªA‘å‚Ü‚©‚ÉŒ¾‚¤‚ƁA‚¢‚í‚ä‚éu‰ÈŠw
“I‚È•\‹L–@v‚Æ‚¢‚í‚ê‚é‚à‚́A‚·‚È‚í‚¿ 1.234 * 10^23 ‚̂悤‚È•\‹L–@‚Æ”ñí
‚É‚æ‚­Ž—‚Ä‚¢‚Ü‚·B”Žš‚ðƒR[ƒfƒBƒ“ƒO‚·‚éÛ‚́A‰¼” (mantissa) (‚·‚È‚í‚¿
1.234) ‚ƁA10 ‚̃xƒL”‚Æ‚µ‚Ä‚ÌŽw”•”•ª (‚·‚È‚í‚¿ 23) ‚Æ‚É•ª—£‚³‚ê‚Ü‚·B
(‚‚܂èA‚±‚±‚ł̉¼”‚́A¬”“_ˆÈ‰º‚É 3 Œ…‚ ‚é‚̂ŁA‚±‚̏ꍇ‚ÌŒvŽZŒ‹‰Ê
‚́A‚»‚̐”Žš‚Ì‚ ‚Æ‚É 0 ‚ª 20 ŒÂ•t‚­‚킯‚Å‚·B)

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

9.2. •¶Žš

•¶Žš‚́A’ʏíAASCII (American Standard Code for Information
Interchange) ‚ƌĂ΂ê‚éƒR[ƒfƒBƒ“ƒO‚É‚µ‚½‚ª‚Á‚½ 7 bit ‚Ì•À‚Ñ‚Æ‚µ‚Ä•\Œ»
‚³‚ê‚Ü‚·BŒ»Ý‚̃}ƒVƒ“‚ł́A128 ŒÂ‚Ì ASCII •¶Žš‚Ì‚»‚ꂼ‚ꂪAƒIƒNƒeƒbƒg
(octet) ‚à‚µ‚­‚Í 8-bit ‚̃oƒCƒg (byte) ‚̉ºˆÊ 7 bit ‚ðŽg‚Á‚Ä•\‚³‚ê‚Ä‚¢
‚Ü‚·BƒIƒNƒeƒbƒg‚́Aƒƒ‚ƒŠ‚̃[ƒh’PˆÊ‚É‚Ü‚Æ‚ß‚ç‚ê‚é‚̂ŁA‚½‚Æ‚¦‚Î 6 Žš
‚Ì•¶Žš—ñ‚̏ꍇA‘½‚­‚Æ‚à 2 ƒƒ‚ƒŠƒ[ƒh•ª‚̏ꏊ‚µ‚©Žæ‚è‚Ü‚¹‚ñB‚±‚Ì
ASCII •¶Žš‚̃R[ƒh•\‚ðŒ©‚é‚ɂ́AUnix ƒvƒƒ“ƒvƒgã‚Å `man 7 ascii' ‚Æ‘Å
‚Á‚Ä‚­‚¾‚³‚¢B

‚Æ‚Í‚¢‚¦Aã‹L‚Ì’i—Ž‚́A‚Ó‚½‚‚̓_‚ÅŒë‰ð‚ðµ‚­‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚Ü‚¸A‚Ð
‚Ƃ–ڂ́A‚â‚â×‚©‚¢‚±‚Æ‚Å‚·‚ªAƒIƒNƒeƒbƒg‚Æ‚¢‚¤—pŒê‚Å‚·B‚±‚ê‚́A³Ž®
‚É‚ÍŠÔˆá‚Á‚Ä‚Í‚¢‚Ü‚¹‚ñ‚ªAŽÀÛ‚É‚Í‚Ù‚Æ‚ñ‚ÇŽg‚í‚ê‚Ä‚¢‚Ü‚¹‚ñB‘å•”•ª‚̐l
‚́AƒIƒNƒeƒbƒg‚ðƒoƒCƒg(byte) ‚ƌĂсAƒoƒCƒg‚ð 8 bit ’·‚Å‚ ‚é‚ƍl‚¦‚Ä‚¢
‚Ü‚·BŒµ–§‚É‚¢‚¤‚ƁAƒoƒCƒg‚Æ‚¢‚¤—pŒê‚́A‚à‚Á‚ƈê”Ê“I‚ȈӖ¡‚ðŽ‚Á‚Ä‚¢‚Ü
‚·B‚½‚Æ‚¦‚΁AˆÈ‘O‚Í 36-bit ƒ}ƒVƒ“‚Å 9-bit ƒoƒCƒg‚Æ‚¢‚Á‚½Œ¾‚¢•û‚à‚È‚³‚ê
‚Ä‚¢‚½‚Ì‚Å‚·(‚à‚¤‚±‚¤‚µ‚½Žg‚¢•û‚ÍŒˆ‚µ‚Ä‚È‚³‚ê‚È‚¢‚Æ‚ÍŽv‚¤‚Ì‚Å‚·‚ª)B

‚Ó‚½‚–ڂ̂æ‚èd—v‚È–â‘è‚́A‘S¢ŠE‚Å ASCII •¶Žš‚ªŽg‚í‚ê‚Ä‚¢‚é‚킯‚Å‚Í‚È
‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·BŽ–ŽÀA‘½‚­‚̍‘‚ł́AASCII ‚ðŽg‚Á‚Ä‚¢‚Ü‚¹‚ñBASCII ‚Í
AƒAƒƒŠƒJ‰pŒê‚̏ꍇ‚É‚Í–â‘è‚È‚¢‚Ì‚Å‚·‚ªA‘¼‚ÌŒ¾Œê‚Ì—˜—pŽÒ‚ª•K—v‚Æ‚·‚é
ƒAƒNƒZƒ“ƒg•t‚«‚Ì•¶Žš‚â“ÁŽê‚È‹L†‚Ì•t‚¢‚½•¶Žš‚Ì‘½‚­‚ªŒ‡—Ž‚µ‚Ä‚¢‚é‚©‚ç‚Å
‚·B‰p‘‰pŒê‚Å‚·‚çAƒ|ƒ“ƒh‹L†‚ªŒ‡‚¯‚Ä‚¢‚邱‚Æ‚©‚çAASCII •¶Žš‚Å‚Í–â‘è
‚ª¶‚¶‚Ä‚µ‚Ü‚¤‚Ì‚Å‚·B

‚±‚Ì–â‘è‚ð‰ðŒˆ‚µ‚悤‚Æ‚·‚鎎‚݂́A‰ß‹Ž‚É‚¢‚­‚‚à‚È‚³‚ê‚Ä‚«‚Ü‚µ‚½B‚»‚ê
‚ç‚Í‚·‚ׂāAASCII ‚Å‚ÍŽg‚í‚ê‚Ä‚¢‚È‚¢ÅãˆÊ bit ‚ðŽg‚¤‚Æ‚¢‚¤‚à‚Ì‚Å‚ ‚èA
‚»‚ê‚É‚æ‚Á‚Ä 256 •¶ŽšƒZƒbƒg‚ð‚à‚¤‚ЂƂì‚Á‚Ä‚µ‚Ü‚¨‚¤‚Æ‚¢‚¤‚à‚Ì‚Å‚·A‚»
‚ê‚ç‚Ì‚¤‚¿A‚à‚Á‚Æ‚àL‚­—˜—p‚³‚ê‚Ä‚¢‚é‚Ì‚ª Latin-1 ‚ƌĂ΂ê‚é‚à‚Ì‚Å‚·
(³Ž®‚ɂ́AISO 8859-1 ‚ƌĂ΂ê‚Ä‚¢‚Ü‚·)B‚±‚ê‚́A Linux, HTML ‚¨‚æ‚Ñ X
‚ł̃fƒtƒHƒ‹ƒg‚Ì•¶ŽšƒZƒbƒg‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B Microsoft Windows ‚́A
Latin-1 ‚ÉŽè‚ð‰Á‚¦A³Ž®‚È Latin-1 ‚Å‚Í—ðŽj“I‚È——R‚©‚ç‹ó—“‚Æ‚³‚ê‚Ä‚¢‚é
‰ÓŠ‚ɍ¶‰E‚Ì“ñdˆø—p‹L†‚È‚Ç‚ð’ljÁ‚µ‚Ä‚¢‚Ü‚·B(‚±‚ꂪAƒgƒ‰ƒuƒ‹‚ðˆø‚«‹N
‚±‚·Œ´ˆö‚É‚È‚Á‚Ä‚¢‚é‚Æ‚¢‚¤Ž–Œ‚̉ðà‚́Ademoroniser <http://
www.fourmilab.ch/webtools/demoroniser/> ‚̃y[ƒW‚ðŒä——‚­‚¾‚³‚¢B)

Latin-1 ‚́A‰pŒêAƒtƒ‰ƒ“ƒXŒêAƒhƒCƒcŒêAƒXƒyƒCƒ“ŒêAƒCƒ^ƒŠƒAŒêAƒIƒ‰ƒ“
ƒ_ŒêAƒmƒ‹ƒEƒF[ŒêAƒXƒEƒF[ƒfƒ“ŒêAƒfƒ“ƒ}[ƒNŒê‚Æ‚¢‚Á‚½¼ƒˆ[ƒƒbƒp‚Ì
Œ¾Œê‚ðˆµ‚¤‚à‚Ì‚Å‚·B‚µ‚©‚µALatin-1 ‚́A‚Ç‚ê‚ЂƂ‚̌¾Œê‚É‚¨‚¢‚Ä‚à–ž‘«
‚Ì‚ä‚­o—ˆ‚Å‚Í‚È‚¢‚½‚߂ɁA‚»‚ÌŒ‹‰Ê‚Æ‚µ‚āALatin-2 ‚©‚ç Latin-9 ‚܂ł̈ê
˜A‚Ì•¶ŽšƒZƒbƒg‚ª¶‚Ü‚êA‚±‚ê‚ç‚ðŽg‚Á‚āAƒMƒŠƒVƒƒŒêAƒAƒ‰ƒrƒAŒêAƒwƒuƒ‰
ƒCŒêAƒGƒXƒyƒ‰ƒ“ƒgŒêAƒZƒ‹ƒrƒAEƒNƒƒAƒ`ƒAŒê‚È‚Ç‚àˆµ‚Á‚Ä‚¢‚Ü‚·BÚ‚µ‚­
‚́AISO alphabet soup <http://www.utia.cas.cz/user_data/vs/documents/
ISO-8859-X-charsets.html> ‚̃y[ƒW‚ðŒä——‚­‚¾‚³‚¢B

‹†‹É‚Ì‰ðŒˆô‚ªAUnicode (‚¨‚æ‚сA‚»‚Ì‘oŽq‚ÌŒZ’í‚Å‚ ‚é ISO/IEC 10646-1:
1993) ‚ƌĂ΂ê‚é–c‘å‚È•W€‹KŠi‚Å‚·BUnicode ‚́A–`“ª‚Ì 256 ‰ÓŠ‚ɂ‚¢‚Ä
‚Í Latin-1 ‚Æ‚Ü‚Á‚½‚­“¯‚¶‚Å‚·B‚»‚êˆÈ~‚Ì 16 bit ‹óŠÔ‚ɂ́AƒMƒŠƒVƒƒAƒL
ƒŠƒ‹AƒAƒ‹ƒƒjƒAAƒwƒuƒ‰ƒCAƒAƒ‰ƒrƒAAƒfƒ”ƒ@ƒi[ƒKƒŠ[(–󒍁FƒTƒ“ƒXƒNƒŠ
ƒbƒgEƒqƒ“ƒfƒB[‚»‚Ì‘¼‚ðŠÜ‚ÞŒ»‘ãƒCƒ“ƒh”Œê)Aƒxƒ“ƒKƒ‹AƒOƒ‹ƒ€ƒL[(–ó’
Fƒpƒ“ƒWƒƒƒu’n•û‚Ì•¶Žš)AƒOƒWƒƒƒ‰[ƒgAƒI[ƒŠƒ„(–󒍁FƒCƒ“ƒh‚Ì Orissa
B)Aƒ^ƒ~ƒ‹AƒgƒDƒ‹ƒOAƒJƒ“ƒiƒ_(–󒍁FƒCƒ“ƒh‚Ì Mysore B)Aƒ}ƒ‰ƒ„[ƒiƒ€
(–󒍁FƒCƒ“ƒh“쐼)Aƒ^ƒCAƒ‰ƒIƒXAƒOƒ‹ƒWƒAAƒ`ƒxƒbƒgA“ú–{‰¼–¼AŒ»‘ãŠØ
‘‚̃nƒ“ƒOƒ‹Š®‘S”ŁA’†‘E“ú–{EŠØ‘‚Ì•\ˆÓ•¶Žš (Š¿Žš) ‚Ì“ˆêƒZƒbƒg‚Æ‚¢
‚Á‚½•¶ŽšƒR[ƒh‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·BÚ‚µ‚­‚́A Unicode ƒz[ƒ€ƒy[ƒW <http:/
/www.unicode.org/> ‚ðŒä——‚­‚¾‚³‚¢B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

10. ƒRƒ“ƒsƒ…[ƒ^‚͂ǂ̂悤‚ɃfƒBƒXƒN‚ɏî•ñ‚ð•Û‘¶‚·‚é‚Ì‚©?

Unix ã‚̃n[ƒhƒfƒBƒXƒN‚ɂ́A‚¢‚ë‚¢‚ë‚È–¼‘O‚ª‚‚¢‚½ƒfƒBƒŒƒNƒgƒŠ‚âƒtƒ@ƒC
ƒ‹‚ªŠK‘w“I‚É•À‚ñ‚Å‚¢‚é‚Ì‚ð‚²‘¶’m‚¾‚ÆŽv‚¢‚Ü‚·B’ʏí‚Í‚»‚êˆÈã[‚­’T‹‚·
‚é•K—v‚Í‚È‚¢‚Ì‚Å‚·‚ªAƒfƒBƒXƒN‚ªƒNƒ‰ƒbƒVƒ…‚µ‚Ä“à•”‚̃tƒ@ƒCƒ‹‚ð‚È‚ñ‚Æ‚©
•œŠˆ‚³‚¹‚é•K—v‚ª¶‚¶‚½ê‡‚ɂ́A‚»‚̐…–ʉº‚ʼn½‚ª‹N‚±‚Á‚Ä‚¢‚é‚Ì‚©‚ð’m‚Á
‚Ä‚¢‚邱‚Æ‚Í”ñí‚É—L‰v‚É‚È‚è‚Ü‚·BŽc”O‚È‚ª‚çAƒfƒBƒXƒN‚ÌŽd‘g‚݂ɂ‚¢‚Ä
•’i–Ú‚É‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚̃Œƒxƒ‹‚©‚ç’iXÚ‚µ‚­à–¾‚·‚é‚悤‚È•ª‚©‚è‚â‚·
‚¢•û–@‚ª‚È‚¢‚̂ŁA‚±‚±‚ł́Aƒn[ƒhƒEƒFƒAƒŒƒxƒ‹‚Ìà–¾‚©‚çŽn‚߂āA‚¶‚傶
‚å‚É“úí“I‚È‘€ì‚Ì•û‚ɘb‚ð‚à‚Á‚Ä‚¢‚­‚悤‚É‚µ‚½‚¢‚ÆŽv‚¢‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

10.1. ’჌ƒxƒ‹‚ł̃fƒBƒXƒN‚ƃtƒ@ƒCƒ‹ƒVƒXƒeƒ€\‘¢

ƒfƒBƒXƒN‚Ì•\–Ê‚Æ‚¢‚¤‚́Aƒf[ƒ^‚ª•ÛŽ‚³‚ê‚éêŠ‚Ȃ킯‚Å‚·‚ªA‚±‚±‚́Aƒ_
[ƒc‚Ì“I‚̂悤‚ÉŠô‚‚©‚̍\¬•”•ª‚É•ªŠ„‚³‚ê‚Ä‚¢‚Ü‚·B“¯S‰~ó‚̃gƒ‰ƒbƒN
‚ª‰½–{‚à‘–‚Á‚Ä‚¢‚āA‚»‚ê‚ç‚Ì‚¨‚Ì‚¨‚Ì‚ªAƒpƒC‚ðØ‚蕪‚¯‚é‚Æ‚«‚̂悤‚ɃZ
ƒNƒ^‚É•ª‚¯‚ç‚ê‚Ä‚¢‚Ü‚·BƒfƒBƒXƒN‚ÌŠOŽü‚É‹ß‚¢ƒgƒ‰ƒbƒN‚Ì‚Ù‚¤‚ª’†‰›‚̃Xƒs
ƒ“ƒhƒ‹‚É‹ß‚¢ƒgƒ‰ƒbƒN‚æ‚è‚à—̈悪L‚¢‚̂ŁAŠOŽü‚̃gƒ‰ƒbƒN‚́A“àŽü‚̃gƒ‰
ƒbƒN‚æ‚è‚à”‘½‚­‚̃ZƒNƒ^‚É•ªŠ„‚³‚ê‚Ä‚¢‚Ü‚·BŒÂX‚̃ZƒNƒ^ (‚à‚µ‚­‚́Aƒf
ƒBƒXƒNƒuƒƒbƒN (disk block) ‚Æ‚àŒ¾‚¢‚Ü‚·) ‚́A“¯ˆêƒTƒCƒY‚Æ‚È‚Á‚Ä‚¢‚Ü‚·
B‚±‚ê‚́AŒ»Ý‚Ì Unix Œn OS ‚ł́Aˆê”Ê“I‚ɂ́A1 ƒoƒCƒiƒŠ k (1024 8-bit
ƒ[ƒh) ‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B‚»‚ꂼ‚ê‚̃fƒBƒXƒNƒuƒƒbƒN‚ɂ́AŒÅ—L‚̃AƒhƒŒƒX
AŒ¾‚¢‚©‚¦‚é‚ƃfƒBƒXƒNƒuƒƒbƒN”ԍ†(disk block number) ‚ª•t‚¯‚ç‚ê‚Ä‚¢‚Ü
‚·B

Unix ‚́AƒfƒBƒXƒN‚ðƒfƒBƒXƒNƒp[ƒeƒBƒVƒ‡ƒ“ (disk partition) ‚Ö‚Æ•ªŠ„‚µ‚Ü
‚·BŒÂX‚̃p[ƒeƒBƒVƒ‡ƒ“‚́A˜A‘±‚µ‚½ƒfƒBƒXƒNƒuƒƒbƒN‚©‚琬‚éˆê’è‚̃fƒB
ƒXƒN—̈æ‚Å‚ ‚èA‚»‚¤‚µ‚½ƒp[ƒeƒBƒVƒ‡ƒ“‚́A‘¼‚̃p[ƒeƒBƒVƒ‡ƒ“‚Æ‚Í‘S‚­“Æ
—§‚µ‚½—̈æ‚Æ‚µ‚āAƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚©ƒXƒƒbƒvƒXƒy[ƒX‚Æ‚µ‚Ĉµ‚í‚ê‚Ü‚·B
ƒp[ƒeƒBƒVƒ‡ƒ“‚𕪊„‚·‚é‚à‚Æ‚à‚Æ‚Ì——R‚́A‚Ü‚¾ƒfƒBƒXƒN‚̃AƒNƒZƒX‘¬“x‚ª
¡‚æ‚肸‚Á‚Æ’x‚­AƒGƒ‰[‚à‘½‚©‚Á‚½Žž‘ã‚É‚¨‚¢‚āAƒfƒBƒXƒNƒNƒ‰ƒbƒVƒ…‚É‘Î
ˆ‚·‚邽‚ß‚Å‚µ‚½BŠeƒp[ƒeƒBƒVƒ‡ƒ“‚ÌŠÔ‚É‹«ŠE‚ðÝ‚¯‚邱‚Æ‚É‚æ‚Á‚āAƒfƒB
ƒXƒN‚̈ꕔ‚ªA‚»‚Ì’†‚Ƀ‰ƒ“ƒ_ƒ€‚É”­¶‚·‚é•s—njŠ‚É‚æ‚Á‚āAƒAƒNƒZƒX‚Å‚«
‚È‚­‚È‚Á‚½‚èA”j‰ó‚³‚ꂽ‚è‚·‚é‰Â”\«‚ðŒyŒ¸‚µ‚Ä‚¢‚½‚Ì‚Å‚·BŒ»ÝAƒp[ƒe
ƒBƒVƒ‡ƒ“•ªŠ„‚́A‚æ‚èd—v«‚𑝂µ‚Ä‚¢‚Ü‚·B‚·‚È‚í‚¿A (ˆ«ˆÓ‚ðŽ‚Á‚½N“ü
ŽÒ‚ªd—v‚ȃVƒXƒeƒ€ƒtƒ@ƒCƒ‹‚ð‘‚«Š·‚¦‚Ä‚µ‚Ü‚¤‚±‚Æ‚ð–hŽ~‚·‚邽‚ß‚É) “Á’è
‚̃p[ƒeƒBƒVƒ‡ƒ“‚ð“ǂݏo‚µê—p‚É‚µ‚½‚èA‚±‚Ì•¶‘‚ł͐G‚ê‚È‚¢‚悤‚ÈŠeŽí
‚ÌŽè’i‚É‚æ‚Á‚āAƒlƒbƒgƒ[ƒN‰z‚µ‚É‹¤—L‰Â”\‚ɐݒ肵‚½‚è‚Å‚«‚é‚©‚ç‚Å‚·B
Å‚àŽá‚¢”ԍ†‚ª•t‚¢‚½ƒp[ƒeƒBƒVƒ‡ƒ“‚́A‚½‚¢‚Ä‚¢Aƒu[ƒgƒp[ƒeƒBƒVƒ‡ƒ“
(boot partition) ‚Æ‚µ‚Ä“Á•Ê‚Ȉµ‚¢‚ðŽó‚¯‚Ü‚·Bƒu[ƒgƒp[ƒeƒBƒVƒ‡ƒ“‚Ƃ́A
‹N“®‚·‚ׂ«ƒJ[ƒlƒ‹‚ð’u‚­‚±‚Æ‚ª‚Å‚«‚éƒp[ƒeƒBƒVƒ‡ƒ“‚Ì‚±‚Æ‚Å‚·B

ŒÂX‚̃p[ƒeƒBƒVƒ‡ƒ“‚́A(‰¼‘zƒƒ‚ƒŠ‚ðŽÀ‘•‚·‚邽‚ß‚É—˜—p‚³‚ê‚é) ƒXƒƒbƒv
ƒXƒy[ƒX (swap space) ‚©Aƒtƒ@ƒCƒ‹‚ð•ÛŽ‚·‚邽‚ß‚É—˜—p‚³‚ê‚éƒtƒ@ƒCƒ‹ƒV
ƒXƒeƒ€ ( file system) ‚©‚Ì‚Ç‚¿‚ç‚©‚Å‚·BƒXƒƒbƒvƒXƒy[ƒX‚̃p[ƒeƒBƒVƒ‡
ƒ“‚́A˜A‘±‚µ‚½ˆê˜A‚̃fƒBƒXƒNƒuƒƒbƒN‚Æ‚µ‚Ĉµ‚í‚ê‚Ü‚·B‚»‚ê‚Ƃ͈قȂèA
ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ɂ́Aƒtƒ@ƒCƒ‹–¼‚ðƒfƒBƒXƒNƒuƒƒbƒN‚ɑΉž•t‚¯‚éŽd‘g‚Ý‚ª
•K—v‚Å‚·Bƒtƒ@ƒCƒ‹‚ÍŽžŠÔ‚ÌŒo‰ß‚Æ‚Æ‚à‚ɃTƒCƒY‚ª‘Œ¸‚µ‚½‚è’†g‚ª•Ï‚í‚Á‚½
‚è‚·‚é‚̂ŁAƒtƒ@ƒCƒ‹‚̃f[ƒ^ƒuƒƒbƒN‚Æ‚¢‚¤‚̂́A˜A‘±‚µ‚Ä•À‚ñ‚Å‚¢‚é‚킯
‚Å‚Í‚È‚­AŠY“–‚·‚éƒp[ƒeƒBƒVƒ‡ƒ“‘S‘Ì‚ÉŽU‚ç‚΂Á‚Ä‚¢‚邱‚Æ‚ª‚æ‚­‚ ‚è‚Ü‚·
(ƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚́AŽg—p’†‚Å‚È‚¢ƒfƒBƒXƒNƒuƒƒbƒN‚ð‚»‚ê‚ªƒp[ƒe
ƒBƒVƒ‡ƒ“’†‚Ì‚Ç‚±‚É‚ ‚é‚©‚É‚ÍŠÖŒW‚È‚­Žg‚¤‚悤‚ɏo—ˆ‚Ä‚¢‚é‚©‚ç‚Å‚·)B‚±‚Ì
‚悤‚ɃfƒBƒXƒNƒuƒƒbƒN‚ªŠeŠ‚ÉŽU‚ç‚΂Á‚½ê‡‚̏Ǐó‚̓tƒ‰ƒOƒƒ“ƒe[ƒVƒ‡
ƒ“ (fragmentation) ‚ƌĂ΂ê‚Ä‚¢‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

10.2. ƒtƒ@ƒCƒ‹–¼‚ƃfƒBƒŒƒNƒgƒŠ

Šeƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€“à‚ł́Aƒtƒ@ƒCƒ‹–¼‚ƃfƒBƒXƒNƒuƒƒbƒN‚Ƃ̑ΉžŠÖŒW‚́A
i-node ‚ƌĂ΂ê‚é\‘¢‘Ì (structure) ‚ð”}‰î‚É‚µ‚ďˆ—‚³‚ê‚Ä‚¢‚Ü‚·B‚±‚¤
‚µ‚½Ž–•¿‚ÉŠÖ‚·‚éî•ñ‚́Aƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̐擪•”•ª (¬‚³‚Ȕԍ†‚̃fƒBƒX
ƒNƒuƒƒbƒNŒQ) ‚É•Û‘¶‚³‚ê‚Ä‚¢‚Ü‚·(ŽÀÛ‚ɍŏ¬‚̔ԍ†‚ðŽ‚ÂƒfƒBƒXƒNƒuƒƒbƒN
ŒQ‚́A‚±‚±‚Å‚Íà–¾‚Í‚µ‚Ü‚¹‚ñ‚ªAî•ñ‚̐®—‚ƃ‰ƒxƒŠƒ“ƒO‚Ì–Ú“I‚Å—˜—p‚³‚ê
‚Ü‚·)B‚Ð‚Æ‚Â‚Ì i-node ‚ª‚ЂƂ‚̃tƒ@ƒCƒ‹‚̏î•ñ‚ð‹Lq‚·‚é‚悤‚É‚È‚Á‚Ä‚¢
‚Ü‚·B(ƒfƒBƒŒƒNƒgƒŠ‚ðŠÜ‚Þ) ƒtƒ@ƒCƒ‹‚̃f[ƒ^ƒuƒƒbƒN‚́Ai-node ‚æ‚è‚àã
‚̗̈æ (‘å‚«‚Ȕԍ†‚ð‚à‚ƒfƒBƒXƒNƒuƒƒbƒNã)‚É’u‚©‚ê‚Ä‚¢‚Ü‚·B

ŒÂX‚Ì i-node ‚ɂ́A•K‚¸‚»‚ꂪ‹Lq‚·‚éƒtƒ@ƒCƒ‹‚É‘®‚·‚éƒfƒBƒXƒNƒuƒƒbƒN
‚̔ԍ†‚̃ŠƒXƒg‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B(‚±‚ê‚́AŽÀÛ‚ɂ͏¬‚³‚ȃtƒ@ƒCƒ‹‚̏ꍇ‚É
‚µ‚©“–‚Ä‚Í‚È‚ç‚È‚¢‚Ì‚Å‚·‚ªA—áŠO‚ÉŠÖ‚·‚éÚ×‚Í‚±‚±‚ł͏d—v«‚ðŽ‚Á‚Ä‚¢
‚Ü‚¹‚ñB) ’ˆÓ‚µ‚Ä‚Ù‚µ‚¢‚̂́Ai-node ‚ɂ́Aƒtƒ@ƒCƒ‹–¼‚ɂ‚¢‚Ă̏î•ñ‚ÍŠÜ
‚Ü‚ê‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B

ƒtƒ@ƒCƒ‹–¼‚́AƒfƒBƒŒƒNƒgƒŠ\‘¢‘Ì (directory structure) ‚Ì‚È‚©‚É‚ ‚è‚Ü‚·
B‚·‚È‚í‚¿AƒfƒBƒŒƒNƒgƒŠ\‘¢‘Ì‚ªAƒtƒ@ƒCƒ‹–¼‚ð i-node ‚ɑΉž•t‚¯‚Ä‚¢‚é
‚킯‚Å‚·B Unix ‚ł́A‚ЂƂ‚̃tƒ@ƒCƒ‹‚ª³Ž®‚ȃtƒ@ƒCƒ‹–¼‚𕡐”Ž‚‚±‚Æ
‚ª‰Â”\‚É‚È‚Á‚Ä‚¢‚é(‚±‚ê‚́Aƒn[ƒhƒŠƒ“ƒN (hard links) ‚Æ‚àŒ¾‚¢‚Ü‚·) ‚Ì‚Í
A‚±‚Ì‚½‚ß‚Å‚·B‚»‚ê‚ç‚Í•¡”‚̃fƒBƒŒƒNƒgƒŠƒGƒ“ƒgƒŠ‚Å‚ ‚èA‘S•”‚ª“¯ˆê‚Ì
i-node ‚ðƒ|ƒCƒ“ƒg‚µ‚Ä‚¢‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

10.3. ƒ}ƒEƒ“ƒgƒ|ƒCƒ“ƒg

Å‚à’Pƒ‚ȍ\¬‚ł́AUnix ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Ì‘S‘̂́A‚½‚Á‚½‚ЂƂ‚̃fƒBƒX
ƒNƒp[ƒeƒBƒVƒ‡ƒ“‚ÉŠi”[‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B‚±‚¤‚µ‚½\¬‚ð¬‚³‚Ȍl—p‚Ì
Unix ƒVƒXƒeƒ€ã‚Å‚²——‚ɂȂ邱‚Æ‚ª‚ ‚é‚Æ‚µ‚Ä‚àA‚±‚̍\¬‚͈ê”Ê“I‚È‚à‚Ì‚Å
‚ ‚é‚Æ‚Í‚¢‚¦‚Ü‚¹‚ñB‚Þ‚µ‚ëA•¡”‚̃fƒBƒXƒNƒp[ƒeƒBƒVƒ‡ƒ“‚É‚Ü‚½‚ª‚Á‚č\
¬‚³‚ê‚é‚Ì‚ª•’Ê‚Å‚·B‚»‚ê‚䂦A‚½‚Æ‚¦‚΁A¬‚³‚ȃp[ƒeƒBƒVƒ‡ƒ“ã‚ɃJ[
ƒlƒ‹‚ð’u‚¢‚āA­‚µ‘å‚«‚߂̃p[ƒeƒBƒVƒ‡ƒ“‚É OS ‚̃†[ƒeƒBƒŠƒeƒB‚ð’u‚«A
‚³‚ç‚É”ñí‚É‘å‚«‚ȃp[ƒeƒBƒVƒ‡ƒ“‚ðƒ†[ƒU‚̃z[ƒ€ƒfƒBƒŒƒNƒgƒŠ‚É‚·‚é‚Æ‚¢
‚Á‚½\¬‚ªl‚¦‚ç‚ê‚Ü‚·B

ƒVƒXƒeƒ€‚Ì‹N“®’¼Œã‚ɃAƒNƒZƒX‚·‚éƒp[ƒeƒBƒVƒ‡ƒ“‚́Aƒ‹[ƒgƒp[ƒeƒBƒVƒ‡ƒ“
(root partition) ‚¾‚¯‚Å‚·B‹N“®‚̍ۂ́A(‚قځA•K‚¸)‚±‚±‚©‚ç‹N“®‚³‚ê‚é‚Æ
‚¢‚¤êŠ‚Å‚·B‚±‚±‚ɂ́Aƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̃‹[ƒgƒfƒBƒŒƒNƒgƒŠ‚ª‚ ‚èA‘¼
‚Ì‚·‚ׂĂ̋N“_‚Æ‚È‚éÅãˆÊ‚ÌŠK‘w(top node)‚Å‚·B

•¡”‚̃p[ƒeƒBƒVƒ‡ƒ“‚ðŽ‚Âƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‘S‘̂ւ̃AƒNƒZƒX‚ð‰Â”\‚É‚·‚é
‚ɂ́Aƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€“à‚É‚ ‚é‚»‚êˆÈŠO‚̃p[ƒeƒBƒVƒ‡ƒ“‚ðA‚±‚̃‹[ƒgƒp
[ƒeƒBƒVƒ‡ƒ“‚É•t‚¯‰Á‚¦‚Ä‚¢‚©‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‹N“®ƒvƒƒZƒX‚Ì‚¾‚¢‚½‚¢
’†‚قǂŁAUnix ‚Í‚±‚¤‚µ‚½ƒ‹[ƒgˆÈŠO‚̃p[ƒeƒBƒVƒ‡ƒ“‚ðƒAƒNƒZƒX‰Â”\‚É‚µ‚Ü
‚·B‚»‚̍ہAUnix ‚́A‚»‚¤‚µ‚½ƒp[ƒeƒBƒVƒ‡ƒ“‚Ì‚¨‚Ì‚¨‚Ì‚ðAƒ‹[ƒgƒp[ƒeƒB
ƒVƒ‡ƒ“‚É‚ ‚éƒfƒBƒŒƒNƒgƒŠã‚Ƀ}ƒEƒ“ƒg(mount) ‚µ‚Ü‚·B

‚½‚Æ‚¦‚΁A/usr ‚Æ‚¢‚¤ƒfƒBƒŒƒNƒgƒŠ‚ª Unix ã‚É‚ ‚éê‡A‚¨‚»‚ç‚­‚±‚±‚̓}
ƒEƒ“ƒgƒ|ƒCƒ“ƒg‚Å‚ ‚èAƒCƒ“ƒXƒg[ƒ‹‚³‚ꂽƒvƒƒOƒ‰ƒ€‚Ì‚¤‚¿AƒVƒXƒeƒ€‚Ì‹N
“®‚É•K—v‚Ì‚È‚¢‚à‚Ì‚ð’u‚¢‚Ä‚¢‚éƒp[ƒeƒBƒVƒ‡ƒ“‚ªƒ}ƒEƒ“ƒg‚³‚ê‚éêŠ‚É‚È‚Á
‚Ä‚¢‚é‚Í‚¸‚Å‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

10.4. ƒtƒ@ƒCƒ‹‚Ì–â‚¢‡‚킹‚ÌŽd‘g‚Ý

‚±‚±‚Ü‚Å‚Ìà–¾‚ŁAã•”\‘¢‚©‚牺•”\‘¢‚𒭂߂鏀”õ‚ª‚Å‚«‚Ü‚µ‚½B“ÇŽÒ‚ª
ƒtƒ@ƒCƒ‹‚ðŠJ‚­‚Æ‚« (‚½‚Æ‚¦‚΁A/home/esr/WWW/ldp/fundamentals.sgml ‚Æ‚¢
‚¤–¼‘O‚¾‚Æ‚µ‚Ü‚·)AŽÀÛ‚Ì“®ì‚ÍŽŸ‚̂悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B

ƒJ[ƒlƒ‹‚́A‚Ü‚¸ (ƒ‹[ƒgƒp[ƒeƒBƒVƒ‡ƒ“‚É‚ ‚é) Unix ƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̃‹
[ƒgƒfƒBƒŒƒNƒgƒŠ‚©‚猟õ‚ðŠJŽn‚µ‚Ü‚·BƒJ[ƒlƒ‹‚́Aƒ‹[ƒgƒfƒBƒŒƒNƒgƒŠ‚Å
'home' ‚ƌĂ΂ê‚éƒfƒBƒŒƒNƒgƒŠ‚ð’T‚µ‚Ü‚·B‚½‚¢‚Ä‚¢A'home' ‚́Aƒ‹[ƒgƒp
[ƒeƒBƒVƒ‡ƒ“‚Ƃ͕ʂ́A‹‘å‚ȃ†[ƒUƒp[ƒeƒBƒVƒ‡ƒ“‚̃}ƒEƒ“ƒgƒ|ƒCƒ“ƒg‚Å‚ 
‚é‚̂ŁAƒJ[ƒlƒ‹‚Í‚»‚̃p[ƒeƒBƒVƒ‡ƒ“‚Ɉړ®‚µ‚Ü‚·B‚»‚̃†[ƒUƒp[ƒeƒBƒV
ƒ‡ƒ“‚̍ŏã‘w‚̃fƒBƒŒƒNƒgƒŠ\‘¢‘Ì‚Ì’†‚ŁAƒJ[ƒlƒ‹‚Í 'esr' ‚ƌĂ΂ê‚éƒGƒ“
ƒgƒŠ‚ð’T‚µA‚»‚Ì i-node ”ԍ†‚𒊏o‚µ‚Ü‚·BƒJ[ƒlƒ‹‚ª‚»‚Ì i-node ‚Ì‚ ‚é
êŠ‚ɍs‚­‚ƁA‚»‚ê‚ÉŠÖ˜A•t‚¯‚ç‚ꂽƒtƒ@ƒCƒ‹‚̃f[ƒ^ƒuƒƒbƒN‚ªƒfƒBƒŒƒNƒg
ƒŠ\‘¢‘Ì‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚É‹C•t‚«A‚»‚ê‚䂦ŽŸ‚É 'WWW' ‚ð’T‚µ‚Ü‚·B‚»‚µ‚Ä
A‚»‚Ì i-node ‚𒊏o‚µ‚½‚çA¡“x‚́A‚»‚Ì i-node ‚ÉŠY“–‚·‚éƒTƒuƒfƒBƒŒƒN
ƒgƒŠ‚ɍs‚Á‚āA'ldp' ‚ð’T‚µ‚Ü‚·B‚±‚ê‚́A‚³‚ç‚ɕʂ̃fƒBƒŒƒNƒgƒŠ i-node
‚ւƃJ[ƒlƒ‹‚𓱂«‚Ü‚·B‚»‚̃fƒBƒŒƒNƒgƒŠ‚ðŠJ‚­‚ƁA‚»‚±‚Å
'fundamentals.sgml' ƒtƒ@ƒCƒ‹‚Ì i-node ”ԍ†‚ðŒ©‚Â‚¯‚Ü‚·B‚±‚Ì i-node ‚ª
ƒfƒBƒŒƒNƒgƒŠ‚Å‚Í‚È‚­A‚»‚̃tƒ@ƒCƒ‹‚ÉŠÖ˜A•t‚¯‚ç‚ꂽƒfƒBƒXƒNƒuƒƒbƒN‚̃Š
ƒXƒg‚ð•ÛŽ‚µ‚Ä‚¢‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

10.5. ƒtƒ@ƒCƒ‹‚̏Š—LŽÒAƒp[ƒ~ƒbƒVƒ‡ƒ“AƒZƒLƒ…ƒŠƒeƒB

ƒvƒƒOƒ‰ƒ€‚ªAŽ–ŒÌ‚⑼l‚̈«ˆÓ‚ ‚ésˆ×‚É‚æ‚Á‚āA–{—ˆƒAƒNƒZƒX‚Å‚«‚È‚¢‚Í
‚¸‚̃f[ƒ^—̈æ‚ɐN“ü‚·‚é‚Ì‚ð–h‚®‚½‚߂ɁAUnix ‚ɂ́Aƒp[ƒ~ƒbƒVƒ‡ƒ“
(permission) ‚Æ‚¢‚¤‹@”\‚ª‚ ‚è‚Ü‚·B‚±‚Ì‹@”\‚Í‚à‚Æ‚à‚ƁAÌ‚Ü‚¾ Unix ‚ªŽå
‚ɍ‚‰¿‚ȃ~ƒjƒRƒ“ƒsƒ…[ƒ^‚Æ‚µ‚đ吨‚Å‹¤—L‚µ‚Ä—˜—p‚³‚ê‚Ä‚¢‚½ A“¯ˆêƒ}ƒV
ƒ“ã‚Ì•¡”‚̃†[ƒU‚ª‘ŠŒÝ‚ÉŠ±Â‚µ‚È‚¢‚悤‚É‚·‚邱‚ƂŁAŽž•ªŠ„•ûŽ®‚ðƒTƒ|
[ƒg‚·‚邽‚߂ɐ݌v‚³‚ê‚Ü‚µ‚½B

 ƒtƒ@ƒCƒ‹‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚ð—‰ð‚·‚é‚ɂ́AƒƒOƒCƒ“‚µ‚½‚Æ‚«‚ɉ½‚ª‹N‚±‚é
‚©?‚̃ZƒNƒVƒ‡ƒ“‚É‚ ‚Á‚½ƒ†[ƒU‚ƃOƒ‹[ƒv‚Ìà–¾‚ðŽv‚¢o‚·•K—v‚ª‚ ‚è‚Ü‚·B
ŒÂX‚̃tƒ@ƒCƒ‹‚ɂ́A‚»‚ê‚ðŠ—L‚·‚郆[ƒU‚ƃOƒ‹[ƒv‚Æ‚ª‚ ‚è‚Ü‚·B‚»‚ê‚ç
‚́A“–‰‚»‚̃tƒ@ƒCƒ‹‚̍쐬ŽÒ‚̃†[ƒU–¼‚âƒOƒ‹[ƒv–¼‚ª•t‚¯‚ç‚ê‚Ü‚·‚ªA
chown (1) ‚â chgrp (1) ‚Æ‚¢‚¤ƒvƒƒOƒ‰ƒ€‚ðŽg‚Á‚Ä‚»‚ê‚ç‚ð•ÏX‚·‚邱‚Æ‚à‚Å
‚«‚Ü‚·B

ƒtƒ@ƒCƒ‹‚ÉŠÖŒW•t‚¯‚ç‚ê‚éŠî–{“I‚ȃp[ƒ~ƒbƒVƒ‡ƒ“‚ɂ́A`read' (‚»‚±‚©‚çƒf
[ƒ^‚ð“ǂݏo‚¹‚é‚Æ‚¢‚¤Œ ŒÀ)A`write' (‚»‚ê‚ð•ÏX‚·‚邱‚Æ‚ª‚Å‚«‚錠ŒÀ)A
‚¨‚æ‚Ñ `execute' (‚»‚ê‚ðƒvƒƒOƒ‰ƒ€‚Æ‚µ‚ÄŽÀs‚·‚邱‚Æ‚ª‚Å‚«‚錠ŒÀ)‚Æ‚¢‚¤
‚Ì‚ª‚ ‚è‚Ü‚·B‚»‚µ‚āAŒÂX‚̃tƒ@ƒCƒ‹‚́A‚±‚¤‚µ‚½ƒp[ƒ~ƒbƒVƒ‡ƒ“‚̃Zƒbƒg
‚ðŽO‚ÂŽ‚Á‚Ä‚¢‚Ü‚·B‚ЂƂ‚́Aƒtƒ@ƒCƒ‹Š—LŽÒ—p‚ɁA‚à‚¤‚ЂƂ‚͏Š—LƒOƒ‹
[ƒv‚É‘®‚·‚é‘Sƒ†[ƒU—p‚ɁA‚»‚µ‚ÄŽO‚–ڂ͂»‚êˆÈŠO‚Ì‚·‚ׂĂ̐l—p‚Ì‚à‚Ì‚Å
‚·Bƒ†[ƒU‚ªƒƒOƒCƒ“Žž‚Ɏ擾‚·‚éuŒ ŒÀ (privilege)v‚Æ‚¢‚¤‚̂́Aƒtƒ@ƒC
ƒ‹‚̃p[ƒ~ƒbƒVƒ‡ƒ“ƒrƒbƒg‚ª‹–‰Â‚µ‚Ä‚¢‚é”͈͂ł̓ǂ݁E‘‚«EŽÀsŒ ŒÀ‚Æ‚È
‚è‚Ü‚·B‚·‚È‚í‚¿Aƒ†[ƒU‚̃†[ƒU ID ‚ªAƒtƒ@ƒCƒ‹‚É•t‚³‚ꂽ ID ‚ƈê’v‚·
‚éê‡‚́A‚»‚͈̔͂ł̌ ŒÀ‚ðŽæ“¾‚µAŠ‘®ƒOƒ‹[ƒv‚ªˆê’v‚·‚éê‡‚́A‚»‚±
‚Å‚ÌŒ ŒÀA‚¨‚æ‚Ñ’N‚à‚ªƒAƒNƒZƒX‚Å‚«‚éƒtƒ@ƒCƒ‹‚̏ꍇ‚́A‚»‚±‚Å‹K’肳‚ꂽ
Œ ŒÀ‚ðŽæ“¾‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B

‚±‚ê‚ç‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚ª‘ŠŒÝ‚É‚Ç‚¤‚¢‚¤“­‚«‚ð‚µ‚Ä‚¢‚é‚Ì‚©AUnix ‚Å‚Ç‚Ì‚æ
‚¤‚É•\Ž¦‚³‚ê‚é‚Ì‚©‚ð’m‚邽‚߂ɁA‰¼‚Ɉȉº‚̂悤‚È Unix ƒVƒXƒeƒ€‚ª‚ ‚é‚Æ
‚µ‚āA‚»‚̃tƒ@ƒCƒ‹‚̈ꗗ‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤B‚½‚Æ‚¦‚΁AŽŸ‚̂悤‚É•\Ž¦‚³‚ê
‚½‚Æ‚µ‚Ü‚·B

„¡„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¢
„ snark:~$ ls -l notes                                                „ 
„ -rw-r--r--   1 esr      users         2993 Jun 17 11:00 notes       „ 
„¤„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„£

ã‹L‚͒ʏí‚̃f[ƒ^ƒtƒ@ƒCƒ‹‚Å‚·B‚±‚Ì•\Ž¦‚©‚番‚©‚邱‚Ƃ́A‚±‚̃tƒ@ƒCƒ‹
‚́Aƒ†[ƒU `esr' ‚ªŠ—L‚·‚é‚à‚Ì‚Å‚ ‚èAŠ—LƒOƒ‹[ƒv `users' ‚É‘®‚·‚é‚à
‚Ì‚Æ‚µ‚č쐬‚³‚ꂽ‚Æ‚¢‚¤‚±‚Æ‚Å‚·B‚±‚±‚Å—á‚Æ‚µ‚Ä‹“‚°‚½ƒ}ƒVƒ“‚ł́A’ʏí
‚̃†[ƒU‚Í‚·‚ׂñ‚̃Oƒ‹[ƒv‚É‘®‚·‚é‚悤AƒfƒtƒHƒ‹ƒg‚Őݒ肳‚ê‚Ä‚¢‚é‚Ì
‚Å‚µ‚傤Bƒ^ƒCƒ€ƒVƒFƒAƒŠƒ“ƒOƒ}ƒVƒ“ã‚Å‚æ‚­Œ©‚©‚¯‚é‚»‚êˆÈŠO‚̃Oƒ‹[ƒv–¼
‚ɂ́A`stuff' ‚â `admin' A `wheel'‚È‚Ç‚ª‚ ‚è‚Ü‚·(——R‚Í‚¨‰ð‚è‚É‚È‚é‚Æ
Žv‚¢‚Ü‚·‚ªAŒÂlƒ†[ƒU—p‚̃[ƒNƒXƒe[ƒVƒ‡ƒ“‚â PC ã‚ł́AƒOƒ‹[ƒv‚Í‚»
‚ê‚قǏd—v‚Å‚Í‚ ‚è‚Ü‚¹‚ñ)B“ÇŽÒ‚Ì Unix ã‚ł́AƒfƒtƒHƒ‹ƒg‚ňႤƒOƒ‹[ƒv
–¼‚ªŽg—p‚³‚ê‚Ä‚¢‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚¨‚»‚ç‚­A“ǎ҂̃†[ƒU ID ‚ð‚à‚Æ‚É‚µ
‚āA–¼‘O‚ª•t‚¯‚ç‚ê‚Ä‚¢‚邱‚Æ‚Å‚µ‚傤B

•¶Žš—ñ "-rw-r--r-" ‚Æ‚¢‚¤‚̂́Aƒtƒ@ƒCƒ‹‚̃p[ƒ~ƒbƒVƒ‡ƒ“ƒrƒbƒg‚ð•\‚µ‚Ä‚¢
‚Ü‚·Bæ“ª‚̃_ƒbƒVƒ…(-)‚́AƒfƒBƒŒƒNƒgƒŠƒrƒbƒg‚ð•\Ž¦‚·‚éˆÊ’u‚Å‚·B‚à‚µ‚±
‚̃tƒ@ƒCƒ‹‚ªƒfƒBƒŒƒNƒgƒŠ‚Å‚ ‚Á‚½‚È‚çA‚»‚±‚É‚Í "d" ‚Æ•\Ž¦‚³‚ê‚Ü‚·B‚»‚ê
ˆÈ~‚̈ʒu‚ɂ‚¢‚ẮAÅ‰‚ÌŽO‚‚ªƒ†[ƒUƒp[ƒ~ƒbƒVƒ‡ƒ“AŽŸ‚ÌŽO‚‚ªƒOƒ‹
[ƒvƒp[ƒ~ƒbƒVƒ‡ƒ“A‚»‚ÌŒã‚ÌŽO‚‚ª‚»‚êˆÈŠO‚̐l‚Ì‚½‚߂̃p[ƒ~ƒbƒVƒ‡ƒ“(‚±
‚ê‚́A"world" permission ‚Æ‚àŒÄ‚΂ê‚Ä‚¢‚Ü‚·)‚Å‚·B‚±‚̃tƒ@ƒCƒ‹‚̏ꍇA
Š—LŽÒ "esr" ‚́Aƒtƒ@ƒCƒ‹‚̓ǂݏo‚µE‘‚«ž‚Ý‚ª‚Å‚«A"users"ƒOƒ‹[ƒv‚É
‘®‚·‚鏊—LŽÒˆÈŠO‚̐l‚̓tƒ@ƒCƒ‹‚̓ǂݏo‚µA‚¨‚æ‚Ñ‘Sƒ†[ƒU‚ªƒtƒ@ƒCƒ‹‚Ì“Ç
‚ݏo‚µ‚ðo—ˆ‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚ê‚́A’ʏí‚̃f[ƒ^ƒtƒ@ƒCƒ‹‚Æ‚µ‚Ä”ñ
í‚É“TŒ^“I‚ȃp[ƒ~ƒbƒVƒ‡ƒ“‚̐ݒè‚Å‚·B

ŽŸ‚ɁAã‹L‚Æ‚Í‚©‚È‚èˆÙ‚È‚Á‚½ƒp[ƒ~ƒbƒVƒ‡ƒ“‚ðÝ’肳‚ꂽƒtƒ@ƒCƒ‹‚ðŒ©‚Ä‚Ý
‚Ü‚µ‚傤B‚±‚̃tƒ@ƒCƒ‹‚́AGCC, ‚·‚È‚í‚¿AGNU C ƒRƒ“ƒpƒCƒ‰‚Å‚·B

„¡„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¢
„ snark:~$ ls -l /usr/bin/gcc                                         „ 
„ -rwxr-xr-x   3 root     bin         64796 Mar 21 16:41 /usr/bin/gcc „ 
„¤„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„£

ã‹Lƒtƒ@ƒCƒ‹‚́A"root" ‚Æ‚¢‚¤ƒ†[ƒU‚É‘®‚µA"bin" ‚Æ‚¢‚¤ƒOƒ‹[ƒv‚ɏŠ‘®‚µ
‚Ä‚¢‚Ü‚·B‚Ü‚½A‘‚«ž‚Ý(•ÏX)‚Í "root" ‚µ‚©‚Å‚«‚Ü‚¹‚ñ‚ªA“ǂݏo‚µ‚ÆŽÀ
s‚Í’N‚à‚ª‚Å‚«‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚¤‚µ‚½Ý’è‚́AƒvƒŒƒCƒ“ƒXƒg[ƒ‹‚³
‚ê‚Ä‚¢‚éƒVƒXƒeƒ€ƒRƒ}ƒ“ƒh‚É‚æ‚­‚ ‚鏊—LŒ`‘Ô‚¨‚æ‚уp[ƒ~ƒbƒVƒ‡ƒ“Ý’è‚Å‚·
B"bin" ‚Æ‚¤‚¢ƒOƒ‹[ƒv‚́AUnix ã‚ŃVƒXƒeƒ€ƒRƒ}ƒ“ƒh‚ðƒOƒ‹[ƒv‰»‚·‚é‚Ì‚É
Žg‚í‚ꂽ‚肵‚Ü‚·(‚±‚Ì–¼Ì‚Í—ðŽj“I‚È–¼Žc‚Å‚ ‚èA"binary" ‚̏ȗªŒ`‚Å‚·)B
“ÇŽÒ‚Ì Unix ‚ł́A "root" ‚Æ‚¢‚¤ƒOƒ‹[ƒv–¼‚ªŽg‚í‚ê‚Ä‚¢‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ
(‚±‚ê‚́A "root" ƒ†[ƒU‚Æ‚¢‚¤‚Ì‚Æ‚Í‚¿‚å‚Á‚ƈႢ‚Ü‚·)B

"root" ƒ†[ƒU‚Æ‚¢‚¤‚̂́Aƒ†[ƒU ID ”ԍ† 0 ‚̃†[ƒU‚ÌŠµ—p“I‚È–¼Ì‚Å‚·B
‚±‚ê‚́A‚·‚ׂĂ̌ ŒÀÝ’è‚ð’´‰z‚µ‚½A“Á•Ê‚©‚“ÁŒ “I‚ȃAƒJƒEƒ“ƒg‚Å‚·B
root ‚ł̃AƒNƒZƒX‚́A•Ö—˜‚Å‚Í‚ ‚è‚Ü‚·‚ªAŠëŒ¯‚Å‚à‚ ‚è‚Ü‚·Broot ‚эƒO
ƒCƒ“‚µ‚Ä‚¢‚éŠÔ‚Ƀ^ƒCƒvƒ~ƒX‚ð‚·‚é‚ƁA’ʏí‚̃†[ƒUƒAƒJƒEƒ“ƒg‚©‚瓯‚¶ƒRƒ}
ƒ“ƒh‚ðŽÀs‚µ‚½ê‡‚ɂ͐G‚邱‚Æ‚·‚ç‚Å‚«‚È‚¢‚悤‚ȏd—v‚ȃVƒXƒeƒ€ƒtƒ@ƒCƒ‹
‚ð”j‰ó‚µ‚Ä‚µ‚Ü‚¤‚±‚Æ‚ª‚ ‚é‚©‚ç‚Å‚·B

root ƒAƒJƒEƒ“ƒg‚Í”ñí‚Ƀpƒƒtƒ‹‚Ȃ̂ŁAroot ‚ւ̃AƒNƒZƒX‚͐Td‚ɃK[ƒh
‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñBroot ‚̃pƒXƒ[ƒh‚́AƒVƒXƒeƒ€‚̃ZƒLƒ…ƒŠƒeƒBî•ñ‚Æ
‚µ‚Ă͍ŏd—v€–Ú‚Å‚ ‚èA‘¼l‚̃VƒXƒeƒ€‚ð‘_‚¤ƒNƒ‰ƒbƒJ[‚âN“üŽÒ‚ª‰½‚æ‚è
‚àŽæ“¾‚µ‚悤‚Æ–Ú˜_‚Þ‚Ì‚ªA‚±‚Ì root ƒpƒXƒ[ƒh‚Å‚·B

ƒpƒXƒ[ƒh‚́AŒˆ‚µ‚ď‘‚«—¯‚ß‚½‚肵‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB‚Ü‚½Aƒ{[ƒCƒtƒŒƒ“ƒh
‚âƒK[ƒ‹ƒtƒŒƒ“ƒhA”z‹ôŽÒ‚Ì–¼‘O‚̂悤‚ȁAŠÈ’P‚ɐ„‘ª‚ª‚‚­‚悤‚ȃpƒXƒ[
ƒh‚ð‘I‚ñ‚¾‚è‚à‚µ‚È‚¢‚Å‚­‚¾‚³‚¢B‚±‚ê‚́A‹Á‚­‚قǍL‚­– ‰„‚µ‚Ä‚¢‚鈫•È‚Å
‚ ‚èAƒNƒ‰ƒbƒJ[‚É‚¢‚‚܂łàŽè‚ð‘Ý‚·‚悤‚È‚à‚Ì‚Å‚·Bˆê”ʂɁAŽ«‘‚ɍڂÁ
‚Ä‚¢‚é‚悤‚È’PŒê‚ð‘I‚ñ‚Å‚Í‚¢‚¯‚Ü‚¹‚ñBdictionary crackers ‚ƌĂ΂ê‚éƒv
ƒƒOƒ‰ƒ€‚ª‚ ‚èA‚±‚ê‚͈ê”Ê“I‚È’PŒê‚̈ꗗ‚ðŽg‚Á‚āA„‘ª‚ŃpƒXƒ[ƒh‚ð’T
‚µ“–‚Ä‚é‚à‚Ì‚Å‚·Bˆ«‚­‚È‚¢ƒeƒNƒjƒbƒN‚̂ЂƂ‚Ƃµ‚āA’PŒê‚Ɛ”Žš‚Æ‚à‚¤‚Ð
‚Ƃ‚̒PŒê‚Ì‘g‚ݍ‡‚킹‚Æ‚¢‚¤‚Ì‚ª‚ ‚è‚Ü‚·B"shark6cider" ‚â "jump3joy"
‚Æ‚¢‚Á‚½‚à‚Ì‚Å‚·B‚±‚ꂾ‚ƁAdictionary crack ‚ÌŒŸõ‹óŠÔ‚ª‹‘å‚É‚È‚é‚Ì‚Å
AŒ©‚‚¯‚é‚͓̂‚­‚È‚é‚Å‚µ‚傤B‚½‚¾A‚±‚±‚É‹“‚°‚½—á‚ð‚»‚Ì‚Ü‚ÜŽg‚¤‚±
‚Æ‚Í‚¨Ž~‚ß‚­‚¾‚³‚¢BƒNƒ‰ƒbƒJ[‚Í‚±‚Ì•¶‘‚ð“Ç‚ñ‚¾‚ ‚ƂŁAã‹L‚̃pƒXƒ[
ƒh‚ð‚·‚Å‚ÉŒŸõŽ«‘‚Ì‚È‚©‚ɒljÁ‚µ‚Ä‚¢‚é‚©‚à‚µ‚ê‚È‚¢‚©‚ç‚Å‚·B

‚ł́A‘æŽO‚̃P[ƒX‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤B

„¡„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¢
„ snark:~$ ls -ld ~                                                   „ 
„ drwxr-xr-x  89 esr      users          9216 Jun 27 11:29 /home2/esr „ 
„ snark:~$                                                            „ 
„¤„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„£

ã‹L‚̃tƒ@ƒCƒ‹‚̓fƒBƒŒƒNƒgƒŠ‚Å‚·("d" ‚Æ‚¢‚¤•¶Žš‚ªƒp[ƒ~ƒbƒVƒ‡ƒ“‚̍ŏ‰‚Ì
ˆÊ’u‚É‚ ‚邱‚Æ‚É’ˆÓ‚ð‚µ‚Ä‚­‚¾‚³‚¢)B‚±‚ê‚́Aesr ‚Ì‚Ý‚ª‘‚«ž‚ÝŒ ŒÀ‚ðŽ
‚¿A’N‚Å‚à“ǂݏo‚µ‚ÆŽÀs‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚ª•ª‚©‚é‚ÆŽv‚¢‚Ü‚·B

“ǂݏo‚µ‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚ª‚ ‚é‚̂ŁA‚»‚̃fƒBƒŒƒNƒgƒŠ“à‚ɉ½‚ª‚ ‚é‚Ì‚©•\
Ž¦‚·‚邱‚Æ‚ª‰Â”\‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚·‚È‚í‚¿A‚»‚̃fƒBƒŒƒNƒgƒŠ‚ÉŠÜ‚Ü‚ê‚éƒt
ƒ@ƒCƒ‹‚âƒfƒBƒŒƒNƒgƒŠ–¼‚̈ꗗ‚ðŒ©‚é‚±‚Æ‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B‘‚«ž‚Ý
ƒp[ƒ~ƒbƒVƒ‡ƒ“‚ª‚ ‚é‚ƁA‚»‚̃fƒBƒŒƒNƒgƒŠ“à‚Ƀtƒ@ƒCƒ‹‚ðì¬‚µ‚½‚èAíœ
‚µ‚½‚è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·BƒfƒBƒŒƒNƒgƒŠ‚ɂ́Aƒtƒ@ƒCƒ‹‚ƃTƒuƒfƒBƒŒƒNƒgƒŠ
‚Ì–¼Ì‚̈ꗗ‚ªŠÜ‚Ü‚ê‚Ä‚¢‚é‚Æ‚¢‚¤‚Ì‚ðŽv‚¢o‚·‚È‚çA‚±‚¤‚µ‚½ƒ‹[ƒ‹‚É‚Í”[
“¾‚ª‚¢‚­‚ÆŽv‚¢‚Ü‚·B

ƒfƒBƒŒƒNƒgƒŠ‚ÌŽÀsƒp[ƒ~ƒbƒVƒ‡ƒ“‚Æ‚¢‚¤‚̂́A‚»‚̃fƒBƒŒƒNƒgƒŠ‚ðŒo—R‚µ‚Ä
‚»‚êˆÈ‰º‚ÌŠK‘w‚É‚ ‚éƒtƒ@ƒCƒ‹‚âƒfƒBƒŒƒNƒgƒŠ‚ðŠJ‚­‚±‚Æ‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ
‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·BŽÀÛ‚ɂ́A‚±‚ê‚́AƒfƒBƒŒƒNƒgƒŠ“à‚Ì i-node ‚ɃAƒNƒZƒX
‚·‚éƒp[ƒ~ƒbƒVƒ‡ƒ“‚ð—^‚¦‚Ä‚¢‚Ü‚·BƒfƒBƒŒƒNƒgƒŠ‚©‚çŽÀsŒ ŒÀ‚ð‘S•”ŠO‚µ‚Ä
‚µ‚Ü‚¤‚ƁA‚»‚̃fƒBƒŒƒNƒgƒŠ‚ªŽg‚¦‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B

ŽÀsŒ ŒÀ‚Í‘S‚Ă̐l‚É—^‚¦‚邪“ǂݏo‚µŒ ŒÀ‚͐§ŒÀ‚µ‚Ä‚¢‚éƒfƒBƒŒƒNƒgƒŠ‚Æ‚¢
‚¤‚Ì‚ð‚Æ‚«‚Ç‚«Œä——‚É‚È‚é‚ÆŽv‚¢‚Ü‚·B‚±‚ê‚́A‚ǂ̂悤‚ȃ†[ƒU‚Å‚à‚»‚̃f
ƒBƒŒƒNƒgƒŠˆÈ‰º‚É‚ ‚éƒtƒ@ƒCƒ‹‚âƒfƒBƒŒƒNƒgƒŠ‚É“ž’B‚·‚邱‚Æ‚ª‚Å‚«‚é‚Ì‚¾‚ª
A‚»‚ê‚ç‚̐³Šm‚È–¼‘O‚ð‚µ‚Á‚Ä‚¢‚éê‡‚Å‚È‚¢‚Æ‚¾‚ß‚¾‚Æ‚¢‚¤‚±‚Æ‚ðˆÓ–¡‚µ‚Ü
‚·(‚‚܂èAƒfƒBƒŒƒNƒgƒŠ‚ðˆê——•\Ž¦‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢‚킯‚Å‚·)B

‚ ‚éƒfƒBƒŒƒNƒgƒŠ‚̓ǂݏo‚µE‘‚«ž‚݁EŽÀs‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚́A‚»‚̃fƒB
ƒŒƒNƒgƒŠˆÈ‰º‚É‚ ‚éƒtƒ@ƒCƒ‹‚âƒfƒBƒŒƒNƒgƒŠ‚̃p[ƒ~ƒbƒVƒ‡ƒ“‚Æ‚Í“Æ—§‚Ì–â‘è
‚Å‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚ðŠo‚¦‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B“Á‚ɁAƒfƒBƒŒƒNƒgƒŠ‚̏‘‚«ž‚݃p
[ƒ~ƒbƒVƒ‡ƒ“‚Æ‚¢‚¤‚̂́A‚»‚±‚ɐV‹K‚̃tƒ@ƒCƒ‹‚ðì¬‚µ‚½‚èAŠù‘¶‚̃tƒ@ƒC
ƒ‹‚ðíœ‚µ‚½‚è‚Å‚«‚錠ŒÀ‚ðˆÓ–¡‚·‚é‚à‚Ì‚Å‚ ‚èA‚»‚±‚É‚ ‚éŠù‘¶‚̃tƒ@ƒCƒ‹
‚ւ̏‘‚«ž‚ÝŒ ŒÀ‚ðŽ©“®“I‚É—^‚¦‚é‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB

ÅŒã‚ɁAƒƒOƒCƒ“ƒvƒƒOƒ‰ƒ€Ž©‘̂̃p[ƒ~ƒbƒVƒ‡ƒ“‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤B

„¡„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¢
„ snark:~$ ls -l /bin/login                                           „ 
„ -rwsr-xr-x   1 root     bin         20164 Apr 17 12:57 /bin/login   „ 
„¤„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„£

 ‚±‚ê‚́AƒVƒXƒeƒ€ƒRƒ}ƒ“ƒh‚É‚æ‚­Œ©‚ç‚ê‚éƒp[ƒ~ƒbƒVƒ‡ƒ“‚Å‚·B‚½‚¾A‚±‚±‚Ì
's' ‚Æ‚¢‚¤AŠ—LŽÒŽÀs bit (owner-execute bit) ‚̐ݒè‚Æ‚¢‚¤‚Ì‚Í—áŠO“I‚Å
‚·B‚±‚ê‚́A'set-user-id' ‚à‚µ‚­‚Í setuid bit ‚ƌĂ΂ê‚é“Á•Ê‚ȃp[ƒ~ƒb
ƒVƒ‡ƒ“‚ð•\‚µ‚Ä‚¢‚Ü‚·B

setuid bit ‚Æ‚¢‚¤‚̂́Aˆê”ʂɁA“ÁŽê‚ȃvƒƒOƒ‰ƒ€‚ɑ΂µ‚Ä•t—^‚³‚ê‚éƒp[ƒ~
ƒbƒVƒ‡ƒ“‚Å‚·B‚·‚È‚í‚¿Aroot ‚ÌŒ ŒÀ‚ðAˆê’è‚̐§ŒÀ•t‚«‚ňê”ʃ†[ƒU‚É‚à—^
‚¦‚é•K—v‚Ì‚ ‚éƒvƒƒOƒ‰ƒ€‚ª‚»‚ê‚ÉŠY“–‚µ‚Ü‚·Bsetuid bit ‚ªŽÀsƒvƒƒOƒ‰ƒ€
‚ɃZƒbƒg‚³‚ꂽê‡Aƒ†[ƒU‚́A‚»‚̃vƒƒOƒ‰ƒ€ƒtƒ@ƒCƒ‹‚̏Š—LŽÒ‚Æ“¯‚¶Œ ŒÀ
‚ðsŽg‚Å‚«‚é‚悤‚É‚È‚é‚Ì‚Å‚·‚ªA‘¼•û‚ŁAƒ†[ƒU‚ª‚»‚̏Š—LŽÒ‚Å‚ ‚é‚©”Û‚©
‚Ɋւ炸A‚»‚̃vƒƒOƒ‰ƒ€‚̓†[ƒUŽ©g‚Ì–¼‚ÅŽÀs‚³‚ê‚é‚Æ‚¢‚¤‚à‚Ì‚Å‚·B

root ƒAƒJƒEƒ“ƒgŽ©‘Ì‚Æ“¯—lAsetuid ‚³‚ꂽƒvƒƒOƒ‰ƒ€‚à•Ö—˜‚Å‚Í‚ ‚è‚Ü‚·‚ª
AŠëŒ¯‚Å‚· root ‚ªŠ—LŽÒ‚Å‚ ‚é setuid ‚³‚ꂽƒvƒƒOƒ‰ƒ€‚ð”j‰ó‚µ‚½‚è•ÏX
‚µ‚½‚è‚Å‚«‚é‚ЂƂȂ炾‚ê‚Å‚àA‚»‚̃vƒƒOƒ‰ƒ€‚ðŽg‚Á‚Ä root Œ ŒÀ‚ðŽ‚Á‚½
ƒVƒFƒ‹‚ð‹N“®‚·‚邱‚Æ‚ª‚Å‚«‚é‚©‚ç‚Å‚·B‚»‚ê‚䂦A‘å•”•ª‚Ì Unix ƒVƒXƒeƒ€
‚ł́A‰½‚©‘‚«ž‚Þ‚½‚ß‚É‚»‚̃tƒ@ƒCƒ‹‚ðŠJ‚¢‚½Žž“_‚ŁA setuid bit ‚ªŽ©“®
“I‚É–³Œø‚É‚È‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·BUnix ƒZƒLƒ…ƒŠƒeƒB‚ɑ΂·‚éUŒ‚‚Ì‘½‚­‚ª
Asetuid ƒvƒƒOƒ‰ƒ€‚ð”j‰ó‚·‚邽‚߂ɁAsetuid ƒvƒƒOƒ‰ƒ€‚̃oƒO‚ðˆ«—p‚µ‚æ
‚¤‚Æ‚µ‚Ä‚¢‚Ü‚·B‚µ‚½‚ª‚Á‚āAƒZƒLƒ…ƒŠƒeƒBˆÓŽ¯‚ðŽ‚Á‚Ä‚¢‚éƒVƒXƒeƒ€ŠÇ—ŽÒ
‚́A‚»‚¤‚µ‚½ƒvƒƒOƒ‰ƒ€‚É“Á‚ɐTd‚É‚È‚Á‚Ä‚¢‚āAo—ˆ‚½‚΂©‚è‚Ì(ƒoƒO‚ªœ‹Ž
‚³‚ê‚Ä‚¢‚È‚¢)ƒvƒƒOƒ‰ƒ€‚̓Cƒ“ƒXƒg[ƒ‹‚µ‚½‚ª‚è‚Ü‚¹‚ñB

‚±‚ê‚܂Ńp[ƒ~ƒbƒVƒ‡ƒ“‚ɂ‚¢‚ĉðà‚µ‚½‚±‚Ƃ̏ڍׂɊւµ‚āA‚¢‚­‚‚©d—v
‚È‚±‚Æ‚ª‚ ‚è‚Ü‚·B‚·‚È‚í‚¿AŠ—LƒOƒ‹[ƒv‚ƃp[ƒ~ƒbƒVƒ‡ƒ“‚́A‚»‚̃tƒ@ƒC
ƒ‹‚ªì¬‚³‚ꂽÛ‚ɂǂ̂悤‚È•û–@‚ÅŠ„‚è“–‚Ä‚ç‚ê‚é‚Ì‚©‚Æ‚¢‚¤‚±‚Æ‚Å‚·Bƒ†
[ƒU‚Í•¡”‚̃Oƒ‹[ƒv‚̃ƒ“ƒo[‚ƂȂ邱‚Æ‚ª‚Å‚«‚é‚̂ŁA‚±‚̃Oƒ‹[ƒv‚ÌŠ„
‚è“–‚Ä‚Í–â‘è‚Å‚Í‚ ‚é‚Ì‚Å‚·‚ªA‚»‚̂ЂƂ‚́A(/etc/passwd ƒtƒ@ƒCƒ‹“à‚Ì‚»
‚̃†[ƒU‚̃Gƒ“ƒgƒŠ‚ÅŽw’肳‚ê‚Ä‚¢‚é)ƒ†[ƒU‚̃fƒtƒHƒ‹ƒgƒOƒ‹[ƒv (default
group) ‚ªŠ„‚è“–‚Ä‚ç‚êAƒ†[ƒU‚É‚æ‚Á‚č쐬‚³‚ꂽƒtƒ@ƒCƒ‹‚́A’ʏ킻‚̃Oƒ‹
[ƒv‚ªŠ—L‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B

ƒp[ƒ~ƒbƒVƒ‡ƒ“ bit ‚̐擪 bit ‚̘b‚́A‚à‚¤‚·‚±‚µ•¡ŽG‚Å‚·B‚È‚ñ‚ç‚©‚̃t
ƒ@ƒCƒ‹‚̍쐬‚𔺂¤ƒvƒƒOƒ‰ƒ€‚́A’ʏíA‚»‚̃tƒ@ƒCƒ‹‚̏‰ŠúÝ’è‚Æ‚µ‚Ẵp
[ƒ~ƒbƒVƒ‡ƒ“‚ðŽw’肵‚Ü‚·B‚µ‚©‚µA‚»‚ê‚ç‚́A umask ‚ƌĂ΂ê‚郆[ƒU‚ÌŠÂ
‹«•Ï”‚É‚æ‚Á‚ĕύX‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·B umask ‚́Aƒtƒ@ƒCƒ‹‚ðì¬‚·‚éÛ‚É‚Ç
‚̃p[ƒ~ƒbƒVƒ‡ƒ“ bit ‚𖳌ø‚É‚·‚é‚©‚ðŽw’è‚·‚é‚à‚Ì‚Å‚·BÅ‚àˆê”Ê“I‚È’l‚Å
‚ ‚èA‚½‚¢‚Ä‚¢‚̃VƒXƒeƒ€ã‚̃fƒtƒHƒ‹ƒg‚Æ‚È‚Á‚Ä‚¢‚é‚̂́A------w- ‚à‚µ‚­
‚́A 002 ‚Å‚·B‚±‚ê‚́A’N‚Å‚à‘‚«ž‚Ý‚ªo—ˆ‚é‚Æ‚¢‚¤Œ ŒÀ‚𖳌ø‚É‚·‚é‚à‚Ì
‚Å‚·B‚±‚ê‚ÉŠÖ‚·‚éÚ‚µ‚¢à–¾‚́A“ÇŽÒ‚Ì shell ‚Ì man ƒy[ƒW‚É‚ ‚é umask
ƒRƒ}ƒ“ƒh‚ÉŠÖ‚·‚镶‘‚ðŒä——‚­‚¾‚³‚¢B

ƒfƒBƒŒƒNƒgƒŠƒOƒ‹[ƒv‚̏‰ŠúÝ’è‚Æ‚¢‚¤‚Ì‚àA‚â‚â•¡ŽG‚Å‚·BUnix ‚Ì‚È‚©‚É‚Í
AV‹KƒfƒBƒŒƒNƒgƒŠ‚̃Oƒ‹[ƒv‚ɂ́A‚»‚ê‚ðì¬‚µ‚½ƒ†[ƒU‚̃fƒtƒHƒ‹ƒgƒOƒ‹
[ƒv‚ð“–‚Ä‚é‚à‚Ì‚ª‚ ‚è‚Ü‚·(‚±‚ê‚́ASystem V Œn‚ÌŠµK‚Å‚·)B‚»‚êˆÈŠO‚É‚à
Aì¬‚³‚ꂽƒfƒBƒŒƒNƒgƒŠ‚̐eƒfƒBƒŒƒNƒgƒŠ‚̏Š—LƒOƒ‹[ƒv‚ªŠ„‚è“–‚Ä‚ç‚ê‚é
‚à‚Ì‚à‚ ‚è‚Ü‚·(‚±‚ê‚́ABSD ‚ÌŠµK‚Å‚·)BLinux ‚ðŠÜ‚ÞŒ»Ý‚Ì Unix ‚Ì‚È‚©
‚ɂ́A set-group-ID ‚ð‚»‚ÌƒfƒBƒŒƒNƒgƒŠ‚ɐݒ肷‚é(chmod g+s)‚±‚Æ‚É‚æ‚Á‚Ä
AŒãŽÒ‚̂悤‚É“®ì‚·‚é‚悤Ý’è‚Å‚«‚é‚à‚Ì‚ª‚ ‚è‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

10.6. ’²Žq‚ªˆ«‚¢‚Æ‚¢‚¤‚Ì‚Í‚Ç‚¤‚¢‚¤‚±‚Æ‚È‚Ì‚©

ˆÈ‘OAƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚Í”ñí‚É‘@×‚Å‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚ð”™‘R‚Æ‚¢‚¢‚Ü‚µ‚½‚ª
A‚¢‚Ü‚ÌŽž“_‚ł́Aƒtƒ@ƒCƒ‹‚É“ž’B‚·‚é‚ɂ́AƒfƒBƒŒƒNƒgƒŠ‚Æ i-node ‚ðŽQÆ
‚µ‚È‚ª‚çA‚ǂꂾ‚¯’·‚¢‚©•ª‚©‚ç‚È‚¢˜A½‚ð’H‚Á‚Ä‚¢‚©‚È‚¯‚ê‚΂Ȃç‚È‚¢‚Æ‚¢
‚¤‚±‚Æ‚ª•ª‚©‚Á‚Ä‚¢‚é‚ÆŽv‚¢‚Ü‚·B‚ł́Aƒn[ƒhƒfƒBƒXƒN‚É•s—ljӏŠ‚ª”­¶‚µ
‚½ê‡A‚±‚ê‚Í‚Ç‚¤‚È‚é‚Å‚µ‚傤‚©?

K‰^‚ÉŒb‚Ü‚ê‚ê‚΁Aƒtƒ@ƒCƒ‹ƒf[ƒ^‚Ì‚¢‚­‚‚©‚ðƒ_ƒ‚É‚·‚邾‚¯‚ōς݂܂·B
‚»‚¤‚Å‚È‚¢ê‡‚́AƒfƒBƒŒƒNƒgƒŠ\‘¢‚â i-node ”ԍ†‚ð”j‰ó‚µ‚Ä‚µ‚Ü‚Á‚āAƒV
ƒXƒeƒ€“à‚Ì“Á’è‚̃TƒuƒcƒŠ[ˆÈ‰º‚ª‚¨Žß‰Þ‚É‚È‚Á‚Ä‚µ‚Ü‚¤‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚³
‚ç‚ɁAƒtƒ@ƒCƒ‹\‘¢Ž©‘Ì‚ª‰ó‚ê‚Ä‚µ‚Ü‚Á‚āAŽG‘½‚ȃAƒNƒZƒX‚ª“¯ˆê‚̃fƒBƒXƒN
ƒuƒƒbƒN‚â i-node ‚ɏW’†‚µ‚Ä‚µ‚Ü‚Á‚½‚è‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB‚»‚¤‚µ‚½•s‹ï
‡‚́A’ʏí‚Ì‘€ì‚𑱂¯‚Ä‚¢‚é‚ƁA‚Ç‚ñ‚Ç‚ñL‚ª‚Á‚Ä‚¢‚Á‚āAÅ‰‚Ì•s—ljӏŠ
‚É‚ ‚Á‚½ƒf[ƒ^‚ªƒVƒXƒeƒ€‘S‘̂ɂ΂çŽT‚©‚ê‚Ä‚µ‚Ü‚¤‚©‚à‚µ‚ê‚Ü‚¹‚ñB

K‚¢‚É‚àA‚±‚ÌŽè‚Ì‹ô”­Ž–ŒÌ‚́AƒfƒBƒXƒN‚̃n[ƒhƒEƒFƒA‚̐M—Š«‚ª‚‚Ü‚Á‚½
‚±‚ƂŁA‚Ù‚Æ‚ñ‚ǐ¶‚¶‚È‚­‚È‚è‚Ü‚µ‚½‚ªA‚»‚ê‚Å‚àA‚â‚Í‚èAUnix ‚ł́A’èŠú
“I‚Ƀtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚̐®‡«ƒ`ƒFƒbƒN‚ðs‚È‚Á‚āA‰½‚àˆÙí‚ª‚È‚¢‚±‚Æ‚ðŠm
”F‚·‚é•K—v«‚ª‚ ‚è‚Ü‚·BŒ»Ý‚Ì Unix ‚́AŒÂX‚̃p[ƒeƒBƒVƒ‡ƒ“‚ɑ΂µ‚āA
‹N“®Žž‚̃}ƒEƒ“ƒg’¼‘O‚É‚·‚΂₭®‡«‚̃`ƒFƒbƒN‚ðs‚¤‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·
B‰½‰ñ‚©‚Ɉê“x‚́A‚à‚¤”•ªŽžŠÔ‚ª‚©‚©‚銮‘S‚ȃ`ƒFƒbƒN‚ðs‚È‚¤Žd‘g‚Ý‚É‚È
‚Á‚Ä‚¢‚Ü‚·B

‚±‚¤‚µ‚½‚±‚Æ‚ð“Ç‚ñ‚ŁAUnix ‚Í‹°‚낵‚­•¡ŽG‚Å•s‹ï‡‚ª‹N‚«‚â‚·‚¢‚©‚̂悤‚É
Žv‚¦‚½‚È‚çA‚±‚¤l‚¦‚Ä‚­‚¾‚³‚¢B‚±‚ê‚ç‚Ì‹N“®Žž‚̃`ƒFƒbƒN‚́A’ʏí‚Í‚æ‚­
‚ ‚é‚悤‚È–â‘è‚ðŒŸoEC³‚µ‚āA‚»‚ꂪ–{“–‚Ì‘åŽSŽ–‚É‚¢‚½‚é‚Ì‚ð–h‚¢‚Å‚¢
‚é‚Ì‚Å‚·B‚±‚¤‚µ‚½‹@”\‚ðŽ‚½‚È‚¢‘¼‚̃IƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚̏ꍇAŠm
‚©‚É‹N“®‚͍‚‘¬‚É‚È‚è‚Ü‚·‚ªAŽÀÛ‚ÉŽè“®‚Å•œ‹Œ‚µ‚È‚¯‚ê‚΂Ȃç‚È‚­‚È‚Á‚½Žž
‚́A–â‘肪‚±‚¶‚ê‚Ä‚µ‚Ü‚Á‚Đ[‚ȏó‘Ô‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚ª‚ ‚è‚Ü‚·(‚Æ‚Í‚¢‚¦
A‚±‚ê‚́A‚»‚à‚»‚à Norton Utility ‚©‚»‚ê‚É—Þ‚·‚éƒc[ƒ‹‚ðŽ‚Á‚Ä‚¢‚éê‡
‚Å‚·‚ª...jB

Å‹ß‚Ì Unix ‚̐݌vã‚̃gƒŒƒ“ƒh‚̂ЂƂ‚ɁA journalling file systems ‚ª
‚ ‚è‚Ü‚·B‚±‚ê‚́AƒfƒBƒXƒN‚Æ‚Ì‚â‚èŽæ‚è‚𒲐®‚·‚邱‚ƂŁAí‚ɐ®‡«‚ª•Û
‚½‚ê‚邱‚Æ‚ð•ÛØ‚µAƒVƒXƒeƒ€‚ª‹N“®‚·‚é‚Æ‚«‚É•œ‹Œ‚ª‰Â”\‚É‚È‚é‚悤‚É‚·‚é
Žd‘g‚Ý‚Å‚·B‚±‚ê‚́A‹N“®Žž‚̐®‡«ƒ`ƒFƒbƒN‚ð‚©‚È‚è‚‘¬‰»‚·‚邱‚Æ‚ª‚Å‚«
‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

11. ƒRƒ“ƒsƒ…[ƒ^Œ¾Œê‚͂ǂ̂悤‚ÈŽd‘g‚Ý‚Å“®‚¢‚Ä‚¢‚é‚Ì‚©

ƒvƒƒOƒ‰ƒ€‚ðŽÀs‚·‚éŽd‘g‚݂ɂ‚¢‚ẮA‚·‚Å‚Éà–¾‚µ‚Ü‚µ‚½B‚ ‚ç‚ä‚éƒvƒ
ƒOƒ‰ƒ€‚́AÅI“I‚ɁAˆê˜A‚̃oƒCƒg—ñA‚·‚È‚í‚¿ƒRƒ“ƒsƒ…[ƒ^‚̃}ƒVƒ“Œ¾Œê
(machine language) ‚Å•\Œ»‚³‚ꂽ–½—ß‚Æ‚µ‚ÄŽÀs‚³‚ê‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚µ
‚©‚µAlŠÔ‚́A‚±‚¤‚µ‚½ƒ}ƒVƒ“Œ¾Œê‚͏ãŽè‚­ˆµ‚¦‚Ü‚¹‚ñB‚»‚¤‚µ‚½‚±‚Æ‚Í‚à‚¤
‹É‚ß‚Ä‹H‚É‚È‚èAƒnƒbƒJ[‚ÌŠÔ‚Å‚à•–‚p‰»‚µ‚Ä‚¢‚Ü‚·B

ƒJ[ƒlƒ‹Ž©‘Ì‚Ì“à•”‚É‚ ‚éƒn[ƒhƒEƒFƒAƒCƒ“ƒ^[ƒtƒFƒCƒX‚𒼐ڃTƒ|[ƒg‚·‚é
­—Ê‚Ì•”•ª‚ðœ‚­‚ƁA‚Ù‚Ú‘S‚Ä‚Ì Unix ƒR[ƒh‚́A¡“ú‚ł́A‚…€Œ¾Œê
(high-level language) ‚ŏ‘‚©‚ê‚Ä‚¢‚Ü‚·B(‚±‚Ì—pŒê‚́u‚…€v‚Æ‚¢‚¤•”•ª
‚́AŒÃ‚­‚³‚¢Œ¾—t‚ŁAu’ᐅ€v‚̃AƒZƒ“ƒuƒ‰Œ¾Œê (assembler languages ‚Æ
‹æ•Ê‚·‚éˆÓ–¡‚ÅŽg—p‚³‚ê‚é‚à‚Ì‚Å‚·BƒAƒZƒ“ƒuƒ‰Œ¾Œê‚Ƃ́AŠî–{“I‚Ƀ}ƒVƒ“Œê
‚ðŽáŠ±•ª‚©‚èˆÕ‚­‚µ‚½‚悤‚ÈŒ¾Œê‚Ì‚±‚Æ‚Å‚·)B

‚…€Œ¾Œê‚ɂ́A‚¢‚ë‚¢‚ë‚ÈŽí—Þ‚ª‚ ‚è‚Ü‚·B‚±‚¤‚µ‚½ƒvƒƒOƒ‰ƒ€Œ¾Œê‚ɂ‚¢
‚Ęb‚·Û‚́AƒvƒƒOƒ‰ƒ€‚̃\[ƒXƒR[ƒh (source code) (‚·‚È‚í‚¿AlŠÔ‚ªì
¬‚µ‚½‚à‚̂ŁA•ÏX‚ª‰Â”\‚ȃR[ƒh) ‚́A‰½‚ç‚©‚Ì•ÏŠ·ˆ—‚ðŒo‚邱‚ƂŁAƒ}
ƒVƒ“‚ªŽÀÛ‚ÉŽÀs‚Å‚«‚éƒ}ƒVƒ“ƒR[ƒh‚É•ÏŠ·‚³‚ê‚é•K—v‚ª‚ ‚é‚Ì‚¾‚Æ‚¢‚¤‚±‚Æ
‚𐥔ñ“ª‚̕Ћ÷‚ÅŠo‚¦‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

11.1. ƒRƒ“ƒpƒCƒ‹Œ^‚ÌŒ¾Œê

ƒRƒ“ƒsƒ…[ƒ^Œ¾Œê‚Ì’†‚ōłà“`““I‚È‚Ì‚ªAƒRƒ“ƒpƒCƒ‹Œ^Œ¾Œê (compiled
language) ‚Å‚·BƒRƒ“ƒpƒCƒ‹Œ^Œ¾Œê‚́A‚»‚Ì–¼‚Ì’Ê‚èƒRƒ“ƒpƒCƒ‰ (compiler)
‚ƌĂ΂ê‚é“Á•Ê‚ȃvƒƒOƒ‰ƒ€‚É‚æ‚Á‚āAŽÀsƒtƒ@ƒCƒ‹‚Å‚ ‚éƒoƒCƒiƒŠŒ`Ž®‚̃}
ƒVƒ“ƒR[ƒh‚Ö‚Æ•ÏŠ·‚³‚ê‚Ü‚·Bˆê’UƒoƒCƒiƒŠ‚ª¶¬‚³‚ê‚é‚ƁAÄ“xƒ\[ƒXƒtƒ@
ƒCƒ‹‚ðŽQÆ‚¹‚¸‚Æ‚àA’¼Ú‚»‚̃oƒCƒiƒŠ‚ðŽÀs‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B(‘å•”•ª‚Ì
ƒ\ƒtƒgƒEƒFƒA‚́AƒRƒ“ƒpƒCƒ‹‚³‚ꂽƒoƒCƒiƒŠŒ`Ž®‚Å”z•z‚³‚êA‚»‚ÌŒ³‚É‚È‚Á‚Ä
‚¢‚éƒR[ƒh‚ðŒ©‚é‚±‚Æ‚Í‚Å‚«‚È‚¢‚Ì‚ªˆê”Ê‚Å‚·B)

ƒRƒ“ƒpƒCƒ‹Œ^Œ¾Œê‚́AƒpƒtƒH[ƒ}ƒ“ƒX‚É—D‚êAOS ƒŠƒ\[ƒX‚ւ̃AƒNƒZƒX‚àÅ‚à
Œø—¦‚æ‚­s‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·‚ªAƒvƒƒOƒ‰ƒ€‚·‚é‚Ì‚ª“‚¢‚Æ‚¢‚¤ŒXŒü‚ª‚ ‚è
‚Ü‚·B

C Œ¾Œê‚́AUnix ‚ð‹Lq‚µ‚Ä‚¢‚錾Œê‚Å‚ ‚èA(‚»‚Ì”h¶Œ¾Œê‚Å‚ ‚é C++ ‚Æ‚Æ‚à
‚É) ƒRƒ“ƒpƒCƒ‹Œ¾Œê‚Ì‚È‚©‚ň³“|“I‚ȏd—v«‚ðŽ‚Á‚Ä‚¢‚Ü‚·BFORTRAN ‚à‚Ü‚½
ƒRƒ“ƒpƒCƒ‹Œ^‚ÌŒ¾Œê‚Å‚ ‚èA‚¢‚Ü‚Å‚àƒGƒ“ƒWƒjƒA‚â‰ÈŠwŽÒ‚ÌŠÔ‚Å‚Í—˜—p‚³‚ê‚Ä
‚¢‚Ü‚·‚ªA C ‚æ‚è‚àŒÃ‚­A‹ŒŽ®‚È‚à‚Ì‚Å‚·BUnix ‚̐¢ŠE‚ł́A‚»‚êˆÈŠO‚̃R
ƒ“ƒpƒCƒ‹Œ¾Œê‚́AƒƒCƒ“ƒXƒgƒŠ[ƒ€‚Æ‚µ‚Ä‚Í—˜—p‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB‚»‚êˆÈŠO‚Å
‚́ACOBOL ‚ªA‹à—Z‚âƒrƒWƒlƒX—pƒ\ƒtƒgƒEƒFƒA‚Æ‚µ‚čL‚­—˜—p‚³‚ê‚Ä‚¢‚Ü‚·B

ˆÈ‘O‚́A‚¢‚ë‚¢‚ë‚ȃRƒ“ƒpƒCƒ‹Œ^Œ¾Œê‚ª‚ ‚è‚Ü‚µ‚½‚ªA‚Ù‚Æ‚ñ‚Ç‚Í‚·‚½‚ꂽ‚©
AŒ¤‹†—p‚̃c[ƒ‹‚Æ‚µ‚Ä‚µ‚©Žg‚í‚ê‚È‚­‚È‚Á‚Ä‚¢‚Ü‚·B“ÇŽÒ‚ªƒRƒ“ƒpƒCƒ‹Œ¾Œê
‚ðŽg‚¤Vl‚Ì Unix ŠJ”­ŽÒ‚È‚çAŽg—pŒ¾Œê‚Í C ‚© C++ ‚Å‚ ‚邱‚Æ‚ª‚Ù‚Æ‚ñ‚Ç
‚Å‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

11.2. ƒCƒ“ƒ^ƒvƒŠƒ^Œ^Œ¾Œê

ƒCƒ“ƒ^ƒvƒŠƒgŒ^Œ¾Œê (interpreted language) ‚Ƃ́Aƒ\[ƒX‚ð‰ðŽß‚·‚éƒvƒƒO
ƒ‰ƒ€ (interpreter program) ‚ð•K—v‚Æ‚·‚錾Œê‚Å‚·B‚»‚̃vƒƒOƒ‰ƒ€‚ªAŽÀs
‚̍ۂ»‚̃\[ƒXƒR[ƒh‚ð“ǂݍž‚ñ‚ŁA‰‰ŽZ‚âƒVƒXƒeƒ€ƒR[ƒ‹‚ª‰Â”\‚ÈŒ`Ž®‚É•Ï
Š·‚·‚éŽd‘g‚Ý‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚̏ꍇAƒR[ƒh‚ªŽÀs‚³‚ê‚邽‚тɁA( ƒ\[
ƒX‚ð‰ðŽß‚·‚éƒvƒƒOƒ‰ƒ€‚ª‹N“®‚³‚ê‚āA) ƒ\[ƒXƒR[ƒh‚Ì•ÏŠ·‚ªs‚í‚ê‚È‚¯‚ê
‚΂Ȃè‚Ü‚¹‚ñB

ƒCƒ“ƒ^ƒvƒŠƒ^Œ^Œ¾Œê‚́AƒRƒ“ƒpƒCƒ‹Œ^Œ¾Œê‚æ‚è‚àŽÀs‘¬“x‚ª’x‚­A‰º•”ŠK‘w‚É
‚ ‚éƒIƒyƒŒ[ƒeƒBƒ“ƒOƒVƒXƒeƒ€‚âƒn[ƒhƒEƒFƒA‚ւ̃AƒNƒZƒX‚à§ŒÀ‚³‚ê‚邱‚Æ
‚ª‘½‚¢‚ÌŒXŒü‚ª‚ ‚è‚Ü‚·B‚»‚Ì”½–ʁAƒRƒ“ƒpƒCƒ‹Œ^Œ¾Œê‚É”ä‚ׂăvƒƒOƒ‰ƒ€‚ª
—eˆÕ‚ŁAƒR[ƒh‚ɃGƒ‰[‚ª‚ ‚Á‚Ä‚à[‚ÈŽ–‘Ô‚É‚È‚è‚É‚­‚©‚Á‚½‚肵‚Ü‚·B

ƒVƒFƒ‹‚â bc(1), sed(1), awk(1) ‚ðŠÜ‚Þ‘½‚­‚Ì Unix ƒ†[ƒeƒBƒŠƒeƒB‚́A‚©‚È
‚菬Œ^‚̃Cƒ“ƒ^ƒvƒŠƒ^Œ^Œ¾Œê‚Å‚·BBASIC ‚à’ʏí‚̓Cƒ“ƒ^ƒvƒŠƒ^Œ^‚Å‚ ‚èA
Tcl ‚à‚»‚¤‚Å‚·B—ðŽj“I‚ÉŒ©‚āAÅ‚àd—v‚ȃCƒ“ƒ^ƒvƒŠƒ^Œ^Œ¾Œê‚́ALISP ‚Å‚·
(‰½¢‘ã‚à‚ÌŠJ”­ŽÒ‚½‚¿‚É‚æ‚èA‘啝‚ȉü‘P‚ª‚Ù‚Ç‚±‚³‚ê‚Ä‚«‚Ü‚µ‚½)BŒ»Ý‚Å
‚́AEmacs ƒGƒfƒBƒ^“à‚ÅŽg—p‚Å‚«‚éƒVƒFƒ‹‚Æ LISP ‚ªA‚¨‚»‚ç‚­Å‚àd—v‚ȏƒ
ˆƒCƒ“ƒ^ƒvƒŠƒ^Œ^Œ¾Œê‚Å‚ ‚é‚ÆŽv‚í‚ê‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

11.3. P-code Œ¾Œê

1990 ”NˆÈ—ˆAƒRƒ“ƒpƒCƒ‹‚ƃCƒ“ƒ^ƒvƒŠƒ^‚Ì—¼•û‚ðŽg‚¤ˆêŽí‚̃nƒCƒuƒŠƒbƒhŒ¾Œê
‚Ì‘¶Ý‚ªd—v‚É‚È‚Á‚Ä‚«‚Ä‚¢‚Ü‚·BP-code Œ¾Œê‚Æ‚¢‚¤‚̂́Aƒ\[ƒXƒR[ƒh‚ªƒR
ƒ“ƒpƒNƒg‚ȃoƒCƒiƒŠƒR[ƒh‚É•ÏŠ·‚³‚ê‚āA‚»‚ꂪŽÀÛ‚ÉŽÀs‚³‚ê‚é‚Æ‚¢‚¤“_‚Å
‚̓Rƒ“ƒpƒCƒ‹Œ^Œ¾Œê‚ÆŽ—‚Ä‚¢‚Ü‚·‚ªA•ÏŠ·‚³‚ꂽƒR[ƒh‚ÌŒ`‘Ô‚ªƒ}ƒVƒ“ƒR[ƒh
‚Å‚Í‚È‚¢‚Æ‚¢‚¤“_‚ňقȂè‚Ü‚·B‚»‚ê‚́A‹^Ž—ƒR[ƒh (pseudocode) (‚à‚µ‚­‚Í
p-code) ‚Å‚ ‚èA‚±‚ê‚ÍŽÀÛ‚̃}ƒVƒ“ƒR[ƒh‚æ‚è‚àƒVƒ“ƒvƒ‹‚©‚ƒpƒƒtƒ‹‚È‚à
‚Ì‚Å‚·BƒvƒƒOƒ‰ƒ€‚ÌŽÀsŽž‚ɂ́A‚±‚Ì p-code ‚ª (ƒCƒ“ƒ^ƒvƒŠƒ^‚É‚æ‚è) •Ï
Š·‚³‚ê‚Ü‚·B

p-code ‚́AƒRƒ“ƒpƒCƒ‹Œ^Œ¾Œê‚̃oƒCƒiƒŠ‚Æ‚Ù‚Ú“¯‚¶‚­‚ç‚¢‚ÌŽÀs‘¬“x‚ðŽ‚¿‚Ü
‚· (’Pƒ‚©‚¬Œ^‚ŁAƒXƒs[ƒfƒB‚È p-code ƒCƒ“ƒ^[ƒvƒŠƒ^‚ðì¬‚·‚邱‚Æ‚ª
‚Å‚«‚é‚©‚ç‚Å‚·)B‚‚܂èAp-code ‚́A_“î‚©‚ƒpƒƒtƒ‹‚ȃCƒ“ƒ^ƒvƒŠƒ^Œ^Œ¾
Œê‚Ì’·Š‚à•ÛŽ‚µ‚Ä‚¢‚é‚킯‚Å‚·B

d—v‚È p-code Œ¾Œê‚Æ‚µ‚ẮAPython, Perl, ‚¨‚æ‚Ñ Java ‚ª‚ ‚è‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

12. ƒCƒ“ƒ^[ƒlƒbƒg‚͂ǂ̂悤‚ÈŽd‘g‚Ý‚Å“®‚¢‚Ä‚¢‚é‚Ì‚©

ƒCƒ“ƒ^[ƒlƒbƒg‚ª‚ǂ̂悤‚ÈŽd‘g‚Ý‚Å“®‚¢‚Ä‚¢‚é‚Ì‚©—‰ð‚µ‚â‚·‚­‚·‚邽‚ß‚É
A‚±‚±‚ł́A“TŒ^“I‚ȃCƒ“ƒ^[ƒlƒbƒg‚Ì‘€ìA‚·‚È‚í‚¿ALinux Documentation
Project ‚̃EƒFƒuƒy[ƒWã‚É‚ ‚邱‚Ì•¶‘‚̍ŏ‰‚̃y[ƒW‚ðƒuƒ‰ƒEƒUã‚ŃNƒŠ
ƒbƒN‚µ‚½ê‡‚ɁA‚ǂ̂悤‚È‚±‚Æ‚ª‹N‚±‚Á‚Ä‚¢‚é‚Ì‚©‚ðŠTŠÏ‚µ‚Ü‚µ‚傤B—Ⴆ
‚΁A‚±‚Ì•¶‘‚ÍŽŸ‚̏ꏊ‚É‚ ‚è‚Ü‚·B

„¡„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¢
„ http://www.linuxdoc.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/index.html „ 
„¤„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„£

ã‹L‚́ALDP/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/index.html ‚Æ‚¢
‚¤ƒtƒ@ƒCƒ‹‚ª www.linuxdoc.org ‚Æ‚¢‚¤ƒzƒXƒg‚Ì World Wide Web ‚ɂ‚¢‚Ä‚Ì
ŒöŠJƒfƒBƒŒƒNƒgƒŠã‚É’u‚©‚ê‚Ä‚¢‚é‚Æ‚¢‚¤‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

12.1. –¼‘O‚Əꏊ

ƒuƒ‰ƒEƒU‚ª‚Ü‚¸‰‚ß‚É‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚±‚Ƃ́A‚»‚Ì•¶‘‚ª’u‚©‚ꂽƒ}ƒVƒ“
‚Ƃ̊ԂɃlƒbƒgƒ[ƒNƒRƒlƒNƒVƒ‡ƒ“‚ðŠm—§‚·‚邱‚Æ‚Å‚·B‚»‚ê‚ð‚·‚é‚ɂ́A‘æ
ˆê‚ɁA‚»‚̃zƒXƒg (host) ‚Å‚ ‚é www.linuxdoc.org ‚Ì‚ ‚éƒlƒbƒgƒ[ƒNã‚Ì
êŠ‚ð’T‚·•K—v‚ª‚ ‚è‚Ü‚·(‚±‚±‚ŁuƒzƒXƒgv‚Ƃ́AuƒzƒXƒgƒ}ƒVƒ“vA‚à‚µ‚­
‚́uƒlƒbƒgƒ[ƒNƒzƒXƒgv‚Ì—ª‚Å‚·B www.linuxdoc.org ‚Æ‚¢‚¤–¼‘O‚́A‚²‚­
ˆê”Ê“I‚ȃzƒXƒg–¼ (hostname) ‚Å‚·)B’ʐM‚̍ۂ̏ꏊ‚ÌŽw’è‚́AŽÀÛ‚ɂ́A
IP ƒAƒhƒŒƒX (IP address) ‚ƌĂ΂ê‚é”ԍ†‚ªŽg—p‚³‚ê‚Ü‚·(IP ƒAƒhƒŒƒX‚Æ‚¢‚¤
—pŒê‚Ì IP ‚Ì•”•ª‚ɂ‚¢‚ẮAŒã‚Ù‚Çà–¾‚µ‚Ü‚·)B

IP ƒAƒhƒŒƒX‚ð’m‚é‚ɂ́Aƒuƒ‰ƒEƒU‚̓l[ƒ€ƒT[ƒo (name server) ‚ƌĂ΂ê‚é
ƒvƒƒOƒ‰ƒ€‚É–â‚¢‡‚킹‚ð‚µ‚Ü‚·Bƒl[ƒ€ƒT[ƒo‚ÍŽ©•ª‚̃}ƒVƒ“ã‚É‚ ‚Á‚Ä‚à
‚æ‚¢‚Ì‚Å‚·‚ªA‚½‚¢‚Ä‚¢‚̏ꍇ‚͐ê—p‚̃}ƒVƒ“ã‚Å“®‚¢‚Ä‚¢‚é‚̂ŁA‚»‚ê‚É–â
‚¢‡‚킹‚𑗂邱‚Æ‚É‚È‚Á‚Ä‚¢‚Ü‚·BISP ‚ÆŒ_–ñ‚µ‚½‚Æ‚«A‚»‚̃ZƒbƒgƒAƒbƒv
Žè‡‚Ì‚È‚©‚ŁAISP ‚̃lƒbƒgƒ[ƒNã‚É‚ ‚éƒl[ƒ€ƒT[ƒo‚Ì IP ƒAƒhƒŒƒX‚ðA
ŽèŽ‚¿‚̃Cƒ“ƒ^[ƒlƒbƒgƒ\ƒtƒgƒEƒFƒA‚ÉŽwŽ¦‚·‚é‚Æ‚¢‚¤Žè‡‚ª‚«‚Á‚ÆŠÜ‚Ü‚ê‚Ä
‚¢‚½‚Í‚¸‚Å‚·B

ˆÙ‚È‚éƒ}ƒVƒ“ã‚Å“®‚­ƒl[ƒ€ƒT[ƒo‚́A‚¨ŒÝ‚¢‚ɒʐM‚ð‚µAƒzƒXƒg–¼‰ðŒˆ (‚·
‚È‚í‚¿AƒzƒXƒg–¼‚ð IP ƒAƒhƒŒƒX‚É•ÏŠ·‚·‚鏈—) ‚É•K—v‚È‚·‚ׂĂ̏î•ñ‚ðŒð
Š·‚µ‚ ‚¢A‚‚˂ɍŐV‚̏ó‘Ô‚É•Û‚Á‚Ä‚¢‚Ü‚·Bƒl[ƒ€ƒT[ƒo‚́A
www.linuxdoc.org ‚Æ‚¢‚¤ƒzƒXƒg–¼‰ðŒˆ‚̉ߒö‚ÅŽO“x‚©Žl“xƒlƒbƒgƒ[ƒN‚²‚µ‚É
‘¶Ý‚·‚鑼‚̃TƒCƒg‚É–â‚¢‡‚킹‚ð‚µ‚Ü‚·‚ªA‚±‚ê‚͒ʏí”ñí‚ɍ‚‘¬‚ɍs‚í‚ê
‚Ü‚·(ˆê•bˆÈ‰º‚Å‚·)Bƒl[ƒ€ƒT[ƒo‚̏ڍׂɂ‚¢‚ẮAŽŸÍ‚ÅŠTŠÏ‚µ‚Ü‚·B

ƒl[ƒ€ƒT[ƒo‚̓uƒ‰ƒEƒU‚ɑ΂µ‚āAwww.linuxdoc.org ‚Ì IP ƒAƒhƒŒƒX‚ª
152.19.254.81 ‚Å‚ ‚邱‚Æ‚ð‹³‚¦‚Ü‚·B‚±‚ê‚ð’m‚邱‚Æ‚É‚æ‚Á‚āA“ǎ҂̃}ƒV
ƒ“‚́Awww.linuxdoc.org ‚Æ‚ÌŠÔ‚Å’¼Úî•ñŒðŠ·‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

12.2. ƒhƒƒCƒ“ƒl[ƒ€ƒVƒXƒeƒ€ (domain name system)

ƒvƒƒOƒ‰ƒ€‚ƃf[ƒ^ƒx[ƒX‚ð˜AŒg‚³‚¹‚ăzƒXƒg–¼‚ð IP ƒAƒhƒŒƒX‚É•ÏŠ·‚·‚éŽd
‘g‚Ý‘S‘̂́ADNS (Domain Name System) ‚ƌĂ΂ê‚Ä‚¢‚Ü‚·B"DNS ƒT[ƒo" ‚Æ
ŒÄ‚ԏꍇA‚±‚ê‚Í’P‚Ɂuƒl[ƒ€ƒT[ƒov‚ƌĂԂ̂Ɠ¯‚¶ˆÓ–¡‚ÅŽg‚í‚ê‚Ü‚·B‚±
‚±‚ł́A‚»‚̃VƒXƒeƒ€‘S‘Ì‚ÌŽd‘g‚݂ɂ‚¢‚Äà–¾‚µ‚Ü‚·B

ƒCƒ“ƒ^[ƒlƒbƒg‚̃zƒXƒg–¼‚́Aƒhƒbƒg‚Å‹æØ‚ç‚ꂽ‚¢‚­‚‚©‚Ì•”•ª‚©‚ç\¬‚³
‚ê‚Ä‚¢‚Ü‚·BƒhƒƒCƒ“ (domain) ‚Ƃ́AƒzƒXƒg–¼‚Ì––”ö•”•ª‚ª“¯ˆê‚Å‚ ‚éƒ}ƒV
ƒ“‚̏W‡‚Ì‚±‚Æ‚Å‚·BƒhƒƒCƒ“‚́A‘¼‚̃hƒƒCƒ“‚Ì“à•”‚É‚à‘¶Ý‚·‚邱‚Æ‚ª‚Å
‚«‚Ü‚·B‚½‚Æ‚¦‚΁Awww.linuxdoc.org ‚Æ‚¢‚¤ƒ}ƒVƒ“‚́A .org ‚Æ‚¢‚¤ƒhƒƒCƒ“
‚Ì’†‚Ì .linuxdoc.org ‚Æ‚¢‚¤ƒTƒuƒhƒƒCƒ“‚É‘¶Ý‚µ‚Ä‚¢‚Ü‚·B

ŒÂX‚̃hƒƒCƒ“‚́A‚»‚̃hƒƒCƒ““à‚Ì‘S‚Ẵ}ƒVƒ“‚Ì IP ƒAƒhƒŒƒX‚ð‹L‰¯‚µ‚Ä
‚¢‚錠ˆÐ‚ ‚éƒl[ƒ€ƒT[ƒo (authoritative name server) ‚É‚æ‚Á‚Ä‹K—¥‚³‚ê‚Ä
‚¢‚Ü‚·BŒ ˆÐ‚ ‚é(‚à‚µ‚­‚́uƒvƒ‰ƒCƒ}ƒŠv) ƒl[ƒ€ƒT[ƒo‚́AŒÌá‚É”õ‚¦‚ăo
ƒbƒNƒAƒbƒv‚³‚ê‚Ä‚¢‚邱‚Æ‚à‚ ‚è‚Ü‚·BƒZƒJƒ“ƒ_ƒŠƒl[ƒ€ƒT[ƒo (secondary
name server) (‚à‚µ‚­‚́AƒZƒJƒ“ƒ_ƒŠ DNS) ‚Æ‚¢‚¤‹Lq‚ª‚ ‚éê‡A‚»‚ê‚Í‚»
‚¤‚µ‚½ƒoƒbƒNƒAƒbƒvƒzƒXƒg‚Ì‚±‚Æ‚ðŒ¾‚Á‚Ä‚¢‚é‚킯‚Å‚·B‚±‚¤‚µ‚½ƒZƒJƒ“ƒ_ƒŠ
ƒT[ƒoŒQ‚́A’ʏíAƒvƒ‰ƒCƒ}ƒŠƒT[ƒo‚©‚琔ŽžŠÔ‚²‚Ƃɏî•ñ‚ðŽó‚¯Žæ‚Á‚čXV
‚µ‚Ä‚¢‚é‚̂ŁAƒvƒ‰ƒCƒ}ƒŠƒT[ƒoã‚ŃzƒXƒg–¼‚Æ IP ‚Ƃ̑ΉžŠÖŒW‚ɕύX‚ª‰Á
‚¦‚ç‚ꂽê‡‚́AŽ©“®“I‚É‚»‚ꂪƒZƒJƒ“ƒ_ƒŠ‘¤‚É‚à“`‚¦‚ç‚ê‚é‚悤‚É‚È‚Á‚Ä‚¢
‚Ü‚·B

ŽŸ‚ÌŽ–•¿‚Í”ñí‚ɏd—v‚Å‚·B‚·‚È‚í‚¿A‚ ‚éƒhƒƒCƒ“‚̃l[ƒ€ƒT[ƒo‚́A‘¼‚Ì
ƒhƒƒCƒ“(‚¨‚æ‚сA‚»‚ê‚玩g‚̃TƒuƒhƒƒCƒ“)‚É‚ ‚é‚·‚ׂẴ}ƒVƒ“‚̈ʒu‚ð
’m‚é•K—v‚Í‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·Bƒl[ƒ€ƒT[ƒo‚ª’m‚ç‚È‚¯‚ê‚΂Ȃç‚È‚¢‚̂́A
‘¼‚̃l[ƒ€ƒT[ƒo‚̈ʒu‚¾‚¯‚Å‚·Bæ‚Ù‚Ç‚Ì—á‚ł́A.org ƒhƒƒCƒ“‚ÌŒ ˆÐ‚ ‚é
ƒl[ƒ€ƒT[ƒo‚́A.linuxdoc.org ‚ÌŒ ˆÐ‚ ‚éƒl[ƒ€ƒT[ƒo‚Ì IP ƒAƒhƒŒƒX‚ð’m
‚Á‚Ä‚¢‚Ü‚·‚ªAlinuxdoc.org “à‚É‚ ‚é‚»‚êˆÈŠO‚̃}ƒVƒ“‚̃AƒhƒŒƒX‚ɂ‚¢‚Ä‚Í
’m‚è‚Ü‚¹‚ñB

DNS ƒVƒXƒeƒ€“à‚̃hƒƒCƒ“‚́A‹–Ø‚ð‹t‚³‚Ü‚É‚µ‚½‚悤‚ÈŠK‘w\‘¢‚ðŽ‚Â‚æ‚¤
”z—ñ‚³‚ê‚Ä‚¢‚Ü‚·B’¸“_‚É‚ ‚é‚̂́Aƒ‹[ƒgƒT[ƒo‚Å‚·B‚·‚ׂẴl[ƒ€ƒT[
ƒo‚́Aƒ‹[ƒgƒT[ƒo‚Ì IP ƒAƒhƒŒƒX‚ð’m‚Á‚Ä‚¢‚Ü‚·Bƒ‹[ƒgƒT[ƒo‚Ì IP ƒAƒh
ƒŒƒX‚́ADNS ƒ\ƒtƒgƒEƒFƒA‚É‘g‚ݍž‚Ü‚ê‚Ä‚¢‚é‚©‚ç‚Å‚·B‚±‚ê‚ç‚̃‹[ƒgƒT[
ƒo‚́A .com ‚â .org ‚Æ‚¢‚Á‚½ƒgƒbƒvƒŒƒxƒ‹ƒhƒƒCƒ“‚ÉŠÖ‚·‚éƒl[ƒ€ƒT[ƒo‚Ì
IP ƒAƒhƒŒƒX‚ð’m‚Á‚Ä‚¢‚Ü‚·‚ªA‚»‚ê‚ç‚Ì“à•”‚É‚ ‚éƒ}ƒVƒ“‚̃AƒhƒŒƒX‚Í’m‚è‚Ü
‚¹‚ñBŒÂX‚̃gƒbƒvƒŒƒxƒ‹ƒhƒƒCƒ“‚̃T[ƒo‚́A‚»‚Ì’¼‰º‚̃hƒƒCƒ“‚̃l[ƒ€
ƒT[ƒo‚̏ꏊ‚ð’m‚Á‚Ä‚¢‚āAˆÈ‰º‚»‚¤‚µ‚½ŠÖŒW‚ª‘±‚«‚Ü‚·B

DNS ‚́A”ñí‚É’ˆÓ[‚­ÝŒv‚³‚ê‚Ä‚¢‚āAŠeƒ}ƒVƒ“‚ª‚±‚̖؍\‘¢‚ÉŠÖ‚·‚é•K—v
Å¬ŒÀ‚̏î•ñ‚ð‚â‚èŽæ‚è‚·‚邾‚¯‚Å‚·‚ނ悤‚ɁA‚»‚µ‚āA‹ÇŠ“I‚ȃTƒuƒcƒŠ[
‚̕ύX‚́Aˆê‰ÓŠ‚¾‚¯‚ÌŒ ˆÐ‚ ‚éƒl[ƒ€ƒT[ƒo‚Ì–¼‘O‚Æ IP ƒAƒhƒŒƒX‚Ƃ̃}ƒb
ƒsƒ“ƒO‚ð•ÏX‚·‚邾‚¯‚ÅŽÀŽ{‚Å‚«‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B

www.linuxdoc.org ‚Ì IP ƒAƒhƒŒƒX‚ð–â‚¢‡‚킹‚½ê‡AŽÀÛ‚É‚ÍŽŸ‚̂悤‚È‚±
‚Æ‚ª‹N‚±‚è‚Ü‚·B‘æˆê‚ɁA‚»‚Ì–â‚¢‡‚킹‚ðŽó‚¯‚½ƒl[ƒ€ƒT[ƒo(x)‚ªAƒ‹[ƒg
ƒT[ƒo‚ɑ΂µ‚āA.org ‚ÉŠÖ‚·‚éƒl[ƒ€ƒT[ƒo‚ª‚Ç‚±‚É‚ ‚é‚Ì‚©‹³‚¦‚é‚悤–â‚¢
‡‚킹‚ð‚µ‚Ü‚·B‚»‚ꂪ•ª‚©‚é‚ƁAŽŸ‚É(x ‚Í)A.org ‚̃T[ƒo‚ɑ΂µ‚Ä
A.linuxdoc.org ‚̃l[ƒ€ƒT[ƒo‚ª‚Ç‚±‚É‚ ‚é‚Ì‚©‹³‚¦‚Ä‚­‚ê‚é‚悤A–â‚¢‡
‚킹‚ð‚µ‚Ü‚·B‚»‚Ì“š‚¦‚ª•Ô‚Á‚Ä‚«‚½‚çA¡“x‚Í(x ‚Í)A .linuxdoc.org ‚̃l
[ƒ€ƒT[ƒo‚ɑ΂µ‚āAwww.linuxdoc.org ‚Æ‚¢‚¤ƒzƒXƒg‚Ì IP ƒAƒhƒŒƒX‚ð‹³‚¦‚é
‚悤–â‚¢‡‚킹‚Ü‚·B

‚½‚¢‚Ä‚¢‚̏ꍇAƒl[ƒ€ƒT[ƒo‚ÍŽÀÛ‚ɏã‹L‚̂悤‚È–Ê“|‚ÈŽdŽ–‚ð‚·‚é•K—v‚Í
‚ ‚è‚Ü‚¹‚ñBƒl[ƒ€ƒT[ƒo‚Í‘å—ʂ̏î•ñ‚ðƒLƒƒƒbƒVƒ…‚µ‚Ä‚¢‚é‚©‚ç‚Å‚·B–¼‘O
‚Ì‰ðŒˆ‚ª‚Å‚«‚½‚Æ‚«Aƒl[ƒ€ƒT[ƒo‚Í“üŽè‚µ‚½ IP ƒAƒhƒŒƒX‚Ƃ̑ΉžŠÖŒW‚ð‚µ
‚΂炭‚ÌŠÔƒƒ‚ƒŠ“à‚É•ÛŽ‚µ‚Ü‚·B‰‚߂ẴEƒFƒuƒTƒCƒg‚ðƒT[ƒt‚·‚éÛAu
ƒzƒXƒg‚ð’T‚µ‚Ä‚¢‚Ü‚·v‚Æ‚¢‚¤ƒuƒ‰ƒEƒU‚©‚ç‚̃ƒbƒZ[ƒW‚ª•\Ž¦‚³‚ê‚é‚͈̂ê
”ԍŏ‰‚̃y[ƒW‚ðŠJ‚¢‚½ê‡‚¾‚¯‚Å‚ ‚é‚̂́Aã‹L‚̂悤‚ÈŽd‘g‚Ý‚É‚È‚Á‚Ä‚¢
‚é‚©‚ç‚Å‚·BÅI“I‚ɂ́A–¼‘O‚ƃAƒhƒŒƒX‚Ƃ̃}ƒbƒsƒ“ƒO‚ÍŽžŠÔØ‚ê‚Æ‚È‚èA
DNS ‚Í‚»‚Ì–¼‘O‚ðÄ“x–â‚¢‡‚킹‚È‚¯‚ê‚΂Ȃç‚È‚­‚È‚è‚Ü‚·B‚±‚Ì‹@”\‚ªd—v
‚Ȃ̂́A‚ ‚éƒzƒXƒg–¼‚ƃAƒhƒŒƒX‚Æ‚ÌŒ‹‚т‚«‚ª•ÏX‚³‚ꂽ‚Æ‚«‚ɁA–³Œø‚É‚È
‚Á‚½î•ñ‚ª‚¢‚‚܂łàŽ×–‚‚ð‚·‚é‚悤‚È‚±‚Æ‚ª‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B‚ ‚éƒTƒC
ƒg‚ÉŠÖ‚·‚éƒLƒƒƒbƒVƒ…‚³‚ꂽ IP ƒAƒhƒŒƒX‚́A‚»‚̃zƒXƒg‚É“ž’B‚Å‚«‚È‚­‚È‚Á
‚½ê‡‚É‚àA”jŠü‚³‚ê‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

12.3. ƒpƒPƒbƒg‚ƃ‹[ƒ^

ƒuƒ‰ƒEƒU‚ªŽÀs‚µ‚悤‚Æ‚µ‚Ä‚¢‚é‚̂́Awww.linuxdoc.org ã‚̃EƒFƒuƒT[ƒo‚É
‘΂µ‚ÄŽŸ‚̂悤‚ȃRƒ}ƒ“ƒh‚𑗐M‚·‚邱‚Æ‚Å‚·B

„¡„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¢
„ GET /LDP/HOWTO/Fundamentals.html HTTP/1.0                           „ 
„¤„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„£

ˆÈ‰º‚ŁA‚»‚̍ۂɉ½‚ª‹N‚±‚é‚Ì‚©‚ɂ‚¢‚Äà–¾‚µ‚Ü‚·Bã‹LƒRƒ}ƒ“ƒh‚́AƒpƒP
ƒbƒg(packet) ‚Æ‚¢‚¤ƒrƒbƒg‚̉ò‚É•ªŠ„‚³‚êA“d•ñ‚̏ꍇ‚̂悤‚ɁAŽŸ‚̂悤‚È
ŽO‚‚̏d—vŽ–€‚ð•t‚¯‰Á‚¦‚½ã‚щƒbƒv‚³‚ê‚Ü‚·B‚»‚̏d—vŽ–€‚Ƃ́A‘—MŒ³
ƒAƒhƒŒƒX (source address) (“ǎ҂̃}ƒVƒ“‚Ì IP ƒAƒhƒŒƒX)A‚ ‚ĐæƒAƒhƒŒƒX
(destination address) (‚±‚ê‚́A152.19.254.81)A‚¨‚æ‚Ñ‚»‚ꂪƒEƒFƒu‚ÉŠÖ‚·
‚郊ƒNƒGƒXƒg‚Å‚ ‚邱‚Æ‚ðŽ¦‚·ƒT[ƒrƒX”ԍ† (service number) ‚à‚µ‚­‚̓|[
ƒg”ԍ† (port number) (‚±‚̏ꍇ‚ł́A80 ”Ô)‚Å‚·B

ŽŸ‚ɁA“ǎ҂̃}ƒVƒ“‚Í‚»‚̃pƒPƒbƒg‚ð‰ñü(ISP ‚⃍[ƒJƒ‹ƒlƒbƒgƒ[ƒN‚Ƃ̃R
ƒlƒNƒVƒ‡ƒ“) ã‚É‘—M‚·‚é‚ƁA‚»‚̃pƒPƒbƒg‚̓‹[ƒ^(router) ‚ƌĂ΂ê‚é“Á•Ê
‚ȃ}ƒVƒ“‚É“Í‚«‚Ü‚·Bƒ‹[ƒ^‚́AƒCƒ“ƒ^[ƒlƒbƒg‚Ì’n}‚ðƒƒ‚ƒŠ“à‚É‹L‰¯‚µ‚Ä
‚¢‚Ü‚·B‚±‚ê‚Í•K‚¸‚µ‚àŠ®‘S‚È’n}‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA‚»‚̃lƒbƒgƒ[ƒN‚ÌŽü
•Ó’nˆæ‚ɂ‚¢‚Ä‚ÍŠ®‘S‚É‹Lq‚µ‚Ä‚¢‚é‚̂ŁAƒCƒ“ƒ^[ƒlƒbƒgã‚Ì‘¼‚ÌŽü•Óƒ‹[
ƒ^‚ÉŽŠ‚é‚ׂ«•û–@‚Í—‰ð‚µ‚Ä‚¢‚Ü‚·B

‘—M‚µ‚½ƒpƒPƒbƒg‚́A‚¢‚­‚‚©‚̃‹[ƒ^‚ð’ʉ߂µ‚È‚ª‚çA‚ ‚Đæ‚Ö‚Æ“ž’B‚µ‚Ü
‚·Bƒ‹[ƒ^‚Í”ñí‚ɏãŽè‚­o—ˆ‚Ä‚¢‚Ü‚·Bƒ‹[ƒ^‚́AƒpƒPƒbƒg‚ðŽóM‚µ‚½Ž|‚Ì
‘—’BŠm”F‚𑼂̃‹[ƒ^‚©‚çŽó‚¯Žæ‚é‚Ü‚Å‚ÌŒo‰ßŽžŠÔ‚ðŠÄŽ‹‚µ‚Ä‚¢‚Ü‚·B‚Ü‚½A
‚»‚ÌŒo‰ßŽžŠÔ‚ÉŠÖ‚·‚éî•ñ‚ðŽg‚Á‚āA‹ó‚¢‚Ä‚¢‚郊ƒ“ƒNã‚ɃpƒPƒbƒg‚𗬂·‚æ
‚¤ƒgƒ‰ƒtƒBƒbƒN‚𒲐®‚µ‚Ä‚¢‚Ü‚·B‚Ü‚½Aƒ‹[ƒ^‚Í‚»‚̏î•ñ‚ðŽg—p‚µ‚āA‘¼‚Ì
ƒ‹[ƒ^‚âƒP[ƒuƒ‹‚ªŒ´ˆö‚Ńlƒbƒgƒ[ƒN‚ÉŽxá‚ª¶‚¶‚½Û‚ɁA•Ê‚̃‹[ƒ^‚ð’T
‚·‚±‚Ƃʼn”\‚ÈŒÀ‚è–„‚ߍ‡‚킹‚ð‚µ‚æ‚¤‚Æ‚µ‚Ü‚·B

ƒCƒ“ƒ^[ƒlƒbƒg‚ÍŠjí‘ˆ‚É‘Ï‚¦‚ç‚ê‚é‚悤‚ɐ݌v‚³‚ꂽ‚Æ‚¢‚¤‰\‚ª“s‰ï‚Å•é‚ç
‚·lX‚ÌŠÔ‚Å‚³‚³‚â‚©‚ê‚Ä‚¢‚܁B‚±‚ê‚͐^ŽÀ‚Å‚Í‚È‚¢‚Ì‚Å‚·‚ªA‚µ‚©‚µAƒCƒ“
ƒ^[ƒlƒbƒg‚̐݌v‚Æ‚¢‚¤‚̂́A‚±‚Ì•sŠm‚©‚È‚±‚Æ‚ª‘½‚¢¢ŠE‚É‚¨‚¢‚āA—Š‚è‚É
‚È‚ç‚È‚¢ƒn[ƒhƒEƒFƒA‚©‚ç‚Å‚àM—Š‚É‘«‚éƒpƒtƒH[ƒ}ƒ“ƒX‚ðˆø‚«o‚µ‚Ä‚­‚ê‚é
‚¾‚¯‚Ì‹É‚ß‚Ä—D‚ꂽÝŒvŽv‘z‚Ì‚à‚Ƃɍ\’z‚³‚ê‚Ä‚¢‚Ü‚·B‚±‚Ì‚±‚Ƃ́A‚Ü‚³‚É
ŽŸ‚ÌŽ–ŽÀ‚É‚æ‚Á‚Ä‚¢‚Ü‚·B‚·‚È‚í‚¿A(“d˜b‰ñü–Ԃ̂悤‚É)­”‚Ì‹‘å‚ŐƎã
‚ÈŒðŠ·‹@‚ɏˆ—‚ðW’†‚³‚¹‚é‚Ì‚Å‚Í‚È‚­A–³”‚̃‹[ƒ^‚É‚»‚¤‚µ‚½ˆ—‚Ì–ðŠ„
‚𕪎U‚µ‚½‚Æ‚¢‚¤‚±‚Æ‚Å‚·B‚‚܂èAáŠQ‚Í‚ ‚­‚Ü‚Å‹Ç’n“I‚È‚à‚Ì‚É—¯‚Ü‚é‚æ
‚¤‚É‚È‚Á‚Ä‚¢‚āAƒlƒbƒgƒ[ƒN‚Í‚»‚¤‚µ‚½áŠQ‚ð”ð‚¯‚Äƒ‹[ƒeƒBƒ“ƒO‚·‚邱‚Æ
‚ª‚Å‚«‚é‚Ì‚Å‚·B

ƒpƒPƒbƒg‚ªˆê’U‚ ‚Đæ‚̃}ƒVƒ“‚Ü‚Å“ž’B‚µ‚½‚È‚çA‚»‚̃}ƒVƒ“‚̓T[ƒrƒX”ԍ†
‚ðŽg‚Á‚āA‚»‚̃pƒPƒbƒg‚ðƒEƒFƒuƒT[ƒo‚É“n‚µ‚Ü‚·BƒEƒFƒuƒT[ƒo‚́A‚»‚̃R
ƒ}ƒ“ƒhƒpƒPƒbƒg‚Ì‘—MŒ³ IP ƒAƒhƒŒƒX‚ðŒ©‚é‚±‚ƂŁA‚Ç‚±‚É•Ô“š‚ð•Ô‚¹‚΂悢
‚Ì‚©‚ð’m‚邱‚Æ‚ª‚Å‚«‚Ü‚·Bã‹L‚Ì—á‚ŁA‚»‚̃EƒFƒuƒT[ƒo‚ª‚±‚Ì•¶‘‚𑗐M
‚·‚éÛ‚́A•¶‘‚Í‚¢‚­‚‚©‚̃pƒPƒbƒg‚Ö‚Æ•ªŠ„‚³‚ê‚Ü‚·BƒpƒPƒbƒg‚̃TƒCƒY‚Í
Aƒlƒbƒgƒ[ƒNã‚Ì“`‘—•û–@‚âƒT[ƒrƒX‚ÌŽí—Þ‚É‚æ‚Á‚ĈقȂè‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

12.4. TCP ‚Æ IP

‚±‚¤‚µ‚½•ªŠ„‚³‚ꂽƒpƒPƒbƒg‚ðŽg‚¤’ʐM•û–@‚̏ˆ—‚Ì‚µ‚©‚½‚ð—‰ð‚·‚é‚ɂ́A
ƒCƒ“ƒ^[ƒlƒbƒg‚ÍŽÀÛ‚É‚Í‚Ó‚½‚‚̃vƒƒgƒRƒ‹‚ðŽg—p‚µ‚Ä‚¢‚āAˆê•û‚ª‘¼•û‚Ì
ã‚ɐςݏd‚Ë‚ç‚ê‚Ä‚¢‚é‚Æ‚¢‚¤’ʐM‚ÌŽd‘g‚Ý‚ð’m‚é•K—v‚ª‚ ‚è‚Ü‚·B

‰ºˆÊ‘w‚Å‚ ‚é IP (Internet Protocol) ‚́A‘—MŒ³ƒAƒhƒŒƒX‚©‚ç‚ ‚ĐæƒAƒhƒŒ
ƒX‚Ɍ•ʂ̃pƒPƒbƒg‚ð“ž’B‚³‚¹‚邽‚ß‚Ì•û–@‚Í’m‚Á‚Ä‚¢‚Ü‚·(‚±‚ê‚炪 IP ƒAƒh
ƒŒƒX‚ƌĂ΂ê‚é‚Ì‚Í‚»‚Ì‚½‚ß‚Å‚·)B‚µ‚©‚µ‚È‚ª‚çAIP ‚͐M—Š«‚ÉŒ‡‚¯‚Ä‚¢‚Ü
‚·BƒpƒPƒbƒg‚ª“r’†‚ōs•û•s–¾‚É‚È‚Á‚½‚èÁŽ¸‚µ‚½‚肵‚Ä‚àA‘—MŒ³‚Æ‚ ‚Đæ
‚̃}ƒVƒ“‚ÍŒˆ‚µ‚Ä‚»‚ê‚É‹C‚©‚È‚¢‚Å‚µ‚傤Bƒlƒbƒgƒ[ƒN—pŒê‚ł́AIP ‚̓R
ƒlƒNƒVƒ‡ƒ“ƒŒƒX (connection less) ‚ȃvƒƒgƒRƒ‹‚Å‚·B‘—MŽÒ‚̓pƒPƒbƒg‚ðŽó
MŽÒ‚ɑ΂µ‚Ä‘—‚邾‚¯‚Å‚ ‚èAŽóM‘¤‚©‚ç‚ÌŠm”F‰ž“š‚ÍŠú‘Ò‚Å‚«‚Ü‚¹‚ñB

‚µ‚©‚µAIP ‚́A‚‘¬‚©‚ˆÀ‰¿‚Å‚·B‚‘¬‚©‚ˆÀ‰¿‚Å‚ ‚ê‚΁AM—Š«‚ª‚È‚­‚Æ‚à
–â‘è‚È‚¢‚Æ‚¢‚¤ê‡‚à‚ ‚è‚Ü‚·BDoom ‚â Quake ‚ðƒlƒbƒgƒ[ƒNã‚ŃvƒŒƒC‚·
‚é‚Æ‚«‚́A’eŠÛ‚̂ЂƂ‚ЂƂ‚à IP ƒpƒPƒbƒg‚Å‘—‚ç‚ê‚Ä‚¢‚Ü‚·B’eŠÛ‚Ì2,3
”­ÁŽ¸‚µ‚Ä‚µ‚Ü‚Á‚½‚Æ‚µ‚Ä‚àA“Á‚É–â‘è‚Í‚È‚¢‚Í‚¸‚Å‚·B

ãˆÊ‘w‚Ì TCP (Transmission Control Protocol) ‚́AM—Š«‚Ì‚½‚߂̃vƒƒgƒR
ƒ‹‚Å‚·B“ñ‘ä‚̃}ƒVƒ“‚ª‘ŠŒÝ‚ÉŒðÂ‚µ‚Ä TCP ƒRƒlƒNƒVƒ‡ƒ“‚𒣂è (‚±‚ê‚́AIP
‚ðŽg‚Á‚čs‚í‚ê‚Ü‚·)AŽóM‘¤‚ªŽóM‚µ‚½ƒpƒPƒbƒg‚ɂ‚¢‚Ä‚Ì“ž’BŠm”F‚𑗐M‘¤
‚É‘—‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B‘—M‘¤‚ªˆê’莞ŠÔ“à‚É‚ ‚éƒpƒPƒbƒg‚Ì‘—’BŠm”F‚ð
Žó‚¯Žæ‚ç‚È‚¢ê‡‚́A‚»‚̃pƒPƒbƒg‚ðÄ‘—‚µ‚Ü‚·B‚³‚ç‚ɁA‘—M‘¤‚́AŒÂX‚Ì
TCP ƒpƒPƒbƒg‚É’Ê‚µ”ԍ†‚ðU‚Á‚Ä‚¢‚é‚̂ŁAŽóM‘¤‚Å‚Í‚»‚ê‚ðŽg‚Á‚āAƒpƒPƒb
ƒg‚Ì“ž’…‡˜‚ª‹¶‚Á‚½ê‡‚Å‚à‚»‚¤‚µ‚½ƒpƒPƒbƒg‚ð•À‚×’¼‚·‚±‚Æ‚ª‚Å‚«‚é‚悤
‚É‚È‚Á‚Ä‚¢‚Ü‚·B(‚±‚ê‚́Aƒlƒbƒgƒ[ƒNã‚ÌŒo˜H‚ªAƒRƒlƒNƒVƒ‡ƒ“‚̍Œ†‚É•Ï
“®‚µ‚½ê‡‚ɂ́A‚æ‚­‹N‚±‚錻Û‚Å‚·B)

TCP/IP ƒpƒPƒbƒg‚ɂ̓`ƒFƒbƒNƒTƒ€ (checksum) ‚Æ‚¢‚¤î•ñ‚àŠÜ‚Ü‚ê‚Ä‚¢‚āAŒo
˜Hã‚ɏáŠQ‚ª¶‚¶‚ăf[ƒ^‚ª‰ó‚ê‚Ä‚µ‚Ü‚Á‚½‚肵‚Ä‚¢‚È‚¢‚©‚ðŒŸo‚Å‚«‚é‚悤
‚É‚È‚Á‚Ä‚¢‚Ü‚·B (ƒ`ƒFƒbƒNƒTƒ€‚́A‚Ü‚¸ƒ`ƒFƒbƒNƒTƒ€Ž©‘Ì‚ðœ‚¢‚½ƒpƒPƒbƒg
‚ÌŽc‚è‚̏î•ñ‚©‚çŽZo‚³‚ê‚Ü‚·B‚»‚¤‚µ‚Ä‚¨‚­‚ƁAƒpƒPƒbƒg‚ÌŽc‚è‚Ì•”•ª‚©ƒ`
ƒFƒbƒNƒTƒ€Ž©‘Ì‚ª(Œo˜Hã‚Å) ‰ó‚ê‚Ä‚µ‚Ü‚Á‚Ä‚¢‚½ê‡‚́A(“ž’Bæ‚Å)‚»‚̃pƒP
ƒbƒg‚©‚çÄ“xƒ`ƒFƒbƒNƒTƒ€‚ðŽZo‚µ‚āA‚à‚Ƃ̃`ƒFƒbƒNƒTƒ€‚Æ”äŠr‚·‚邱‚Æ‚Å
AƒGƒ‰[‚Ì—L–³‚ð‚‚¢Šm—¦‚ÅŒŸo‚·‚邱‚Æ‚ª‚Å‚«‚é‚킯‚Å‚·)B‚»‚ê‚䂦A TCP
/IP ‚ƃl[ƒ€ƒT[ƒo‚Æ‚¢‚¤‚̂́AŽg‚¤‘¤‚ÌŽ‹“_‚©‚ç‚Ý‚é‚ƁAƒzƒXƒg–¼‚ƃT[ƒr
ƒX”ԍ†‚Å‹æ•Ê‚³‚ꂽ“ñ‘ä‚̃zƒXƒgŠÔ‚ŃoƒCƒgƒXƒgƒŠ[ƒ€‚ð“`’B‚µ‚ ‚¤•û–@‚Æ‚µ
‚ẮAM—Š‚É‘«‚é‚à‚Ì‚ÆŒ¾‚Á‚Ä‚à‚¢‚¢‚Å‚µ‚傤B‚Ü‚½Aƒlƒbƒgƒ[ƒNƒvƒƒgƒR
ƒ‹‚ð‘‚­l‚©‚ç‚·‚é‚ƁA‚±‚̃lƒbƒgƒ[ƒNŠK‘wˆÈ‰º‚Å‹N‚±‚Á‚Ä‚¢‚éƒpƒPƒbƒg•ª
Š„‚âƒpƒPƒbƒg‚̍č\¬AƒGƒ‰[ƒ`ƒFƒbƒNAƒ`ƒFƒbƒNƒTƒ€‚ÌŒvŽZAÄ‘—‚Æ‚¢‚Á‚½
Ž–•¿‚ð‚Ù‚Æ‚ñ‚Ǎl—¶‚µ‚È‚­‚Ä‚à‚æ‚­‚È‚è‚Ü‚·B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

12.5. HTTP : ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒvƒƒgƒRƒ‹‚̈ê—á

‚±‚±‚ŁAæ‚Ù‚Ç‚Ì—á‘è‚É–ß‚è‚Ü‚µ‚傤BƒEƒFƒuƒuƒ‰ƒEƒU‚ƃT[ƒo‚Ƃ́AƒAƒvƒŠ
ƒP[ƒVƒ‡ƒ“ƒvƒƒgƒRƒ‹ (application protocol) ‚ðŽg‚Á‚ĉï˜b‚ð‚µ‚Ä‚¢‚Ü‚·B
‚±‚ê‚́ATCP/IP ŠK‘w‚̏ãˆÊ‚ÅŽÀs‚³‚ê‚éƒvƒƒgƒRƒ‹‚Å‚ ‚èA TCP/IP ‚ðƒoƒCƒg
—ñ‚Ì‚â‚è‚Æ‚è‚ÌŽè’i‚Æ‚µ‚Ä—˜—p‚µ‚Ä‚¢‚é‚à‚Ì‚Å‚·Bã‹L‚Ì—á‚ł̃vƒƒgƒRƒ‹‚Í
A HTTP (Hyper-Text Transfer Protocol) ‚ƌĂ΂ê‚é‚à‚̂ŁA‚»‚±‚ÅŽg‚í‚ê‚é
ƒRƒ}ƒ“ƒh‚̈ê—Ⴊ GET ‚ÅŽn‚܂镶Žš—ñ‚Å‚ ‚邱‚Æ‚ÍŠù‚É‚²——‚É‚È‚Á‚½’Ê‚è‚Å‚·
B

ã‹L‚Ì GET ƒRƒ}ƒ“ƒh‚ª www.linuxdoc.org ‚̃EƒFƒuƒT[ƒo‚ɃT[ƒrƒX”ԍ† 80
”Ô‚Å“ž’B‚·‚é‚ƁAƒEƒFƒuƒT[ƒo‚Í‚±‚ê‚ðA80 ”Ôƒ|[ƒg‚Å‘Ò‹@‚µ‚Ä‚¢‚éƒT[ƒoƒf
[ƒ‚ƒ“ (server daemon) ‚Ö‚Æ“n‚µ‚Ü‚·B‘å•”•ª‚̃Cƒ“ƒ^[ƒlƒbƒgƒT[ƒrƒX‚́A
ƒT[ƒoƒf[ƒ‚ƒ“‚Æ‚µ‚ÄŽÀ‘•‚³‚ê‚Ä‚¢‚āA‚±‚ê‚ç‚́A‘—‚ç‚ê‚Ä‚­‚é‚Í‚¸‚̃Rƒ}ƒ“
ƒh‚ðŠÄŽ‹‚µAŽÀs‚·‚邽‚߂ɁA“Á’è‚̃|[ƒg‚Å‚½‚¾‚Ђ½‚·‚ç‘Ò‚¿Žó‚¯ó‘Ô‚ð‘±
‚¯‚Ä‚¢‚Ü‚·B

ƒCƒ“ƒ^[ƒlƒbƒg‚̐݌v‚ÉŠÖ‚·‚éˆê‘匴‘¥‚ª‚ ‚é‚Æ‚·‚é‚È‚çA‚»‚ê‚Í‚·‚ׂĂ̕”
•ª‚ª‚Å‚«‚éŒÀ‚èƒVƒ“ƒvƒ‹‚ŐlŠÔ‚ªŒ©‚Ä•ª‚©‚é‚悤‚ÈŒ`‚É‚·‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
HTTP ‚Æ‚»‚̐eÊ (Simple Mail Transfer Protocol, SMTP ‚Æ‚¢‚¤AƒzƒXƒgŠÔ‚Å
“dŽqƒ[ƒ‹‚ð‚â‚è‚Æ‚è‚·‚邽‚ß‚ÉŽg‚í‚ê‚éƒvƒƒgƒRƒ‹‚È‚Ç) ‚́AƒLƒƒƒŠƒbƒWE
ƒŠƒ^[ƒ“(•œ‹A)‚ƃ‰ƒCƒ“EƒtƒB[ƒh(‰üs)‚ŏI—¹‚·‚éAlŠÔ‚ª“Ç‚ñ‚Å‚àˆÓ–¡‚Ì
•ª‚©‚éƒVƒ“ƒvƒ‹‚ȃeƒLƒXƒgƒRƒ}ƒ“ƒh‚ðŽg‚¤‚Æ‚¢‚¤ŒXŒü‚ª‚ ‚è‚Ü‚·B

‚±‚¤‚µ‚½•û–@‚́A‚©‚È‚è”ñŒø—¦‚Å‚·BŠÂ‹«‚É‚æ‚Á‚ẮA‚ª‚¿‚ª‚¿‚Ɍł߂ç‚ꂽ
ƒoƒCƒiƒŠƒvƒƒgƒRƒ‹‚ðŽg‚Á‚ăXƒs[ƒhƒAƒbƒv‚ð}‚邱‚Æ‚à‚Å‚«‚é‚Í‚¸‚Å‚·B‚µ
‚©‚µAŒoŒ±‚ªŽ¦‚·‚Æ‚±‚ë‚É‚æ‚é‚ƁAlŠÔ‚É‚Æ‚Á‚Äà–¾‚◝‰ð‚Ì‚µ‚â‚·‚¢ƒRƒ}ƒ“
ƒh‚ðŽg‚¤‚±‚Ƃ̃ƒŠƒbƒg‚́AƒgƒŠƒbƒL[‚Å•ª‚©‚è‚É‚­‚¢‚à‚Ì‚ð‚í‚´‚í‚´ì‚邱
‚Æ‚Å“¾‚ç‚ê‚é‹Í‚©‚ÈŒø—¦‚̏㏸‚ð‚Í‚é‚©‚ɏã‰ñ‚é‚à‚Ì‚È‚Ì‚Å‚·B

‚µ‚½‚ª‚Á‚āAƒT[ƒoƒf[ƒ‚ƒ“‚ª TCP/IP Œo—R‚Å‘—‚è•Ô‚·•Ô“š‚àƒeƒLƒXƒgŒ`Ž®‚Å
‚·B•Ô“š‚̍ŏ‰‚Ì•”•ª‚́AŽŸ‚̂悤‚È‚à‚Ì‚Æ‚È‚è‚Ü‚·(ƒwƒbƒ_‚̈ꕔ‚͏ȗª‚µ‚Ä
‚¢‚Ü‚·)B

„¡„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„¢
„ HTTP/1.1 200 OK                                                     „ 
„ Date: Sat, 10 Oct 1998 18:43:35 GMT                                 „ 
„ Server: Apache/1.2.6 Red Hat                                        „ 
„ Last-Modified: Thu, 27 Aug 1998 17:55:15 GMT                        „ 
„ Content-Length: 2982                                                „ 
„ Content-Type: text/html                                             „ 
„¤„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„Ÿ„£

ã‹L‚̂悤‚ȃwƒbƒ_‚ÌŒã‚É‹ós‚ª‚ЂƂ“ü‚èA‚»‚ÌŒã‚ɃEƒFƒuƒy[ƒW‚̃eƒLƒX
ƒg‚ª‘±‚«‚Ü‚·(‚»‚ê‚ç‚Ì‘—M‚ªI‚í‚Á‚½Žž“_‚ŁAƒRƒlƒNƒVƒ‡ƒ“‚ªØ’f‚³‚ê‚Ü‚·)
Bƒuƒ‰ƒEƒU‚́A‚»‚ê‚ç‚ð•\Ž¦‚·‚邾‚¯‚Å‚·Bƒwƒbƒ_‚́Aƒuƒ‰ƒEƒU‚ɑ΂µ‚Ä‚»‚Ì
•\Ž¦•û–@‚ðŽwŽ¦‚·‚é‚à‚Ì‚Å‚· (“Á‚ɁAContent-Type ‚Æ‚¢‚¤ƒwƒbƒ_‚ł́A•ÔMƒf
[ƒ^‚ªŽÀÛ‚É HTML ‚Å‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚ðƒuƒ‰ƒEƒU‚É“`‚¦‚Ä‚¢‚Ü‚·)B

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

13. ‚à‚Á‚Əڂµ‚­’m‚肽‚¢l‚Ì‚½‚ß‚É

Reading List HOWTO <http://www.linuxdoc.org/HOWTO/Reading-List-HOWTO/>
‚Æ‚¢‚¤•¶‘‚ª‚ ‚è‚Ü‚·B‚±‚ê‚ÍŽQl•¶Œ£‚̈ꗗ‚Å‚ ‚èA‚±‚ê‚ç‚ð“ǂ߂΁A–{‘
‚ŐG‚ꂽƒgƒsƒbƒN‚ɂ‚¢‚Ä‚à‚Á‚Əڂµ‚­Šw‚Ô‚±‚Æ‚ª‚Å‚«‚Ü‚·B How To Become
A Hacker <http://www.tuxedo.org/~esr/faqs/hacker-howto.html> ‚Æ‚¢‚¤•¶‘
‚àŽQl‚É‚È‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB

„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª

14. “ú–{Œê–ó‚ɂ‚¢‚Ä

Œ»Ý‚̃o[ƒWƒ‡ƒ“‚́A–x“c—ωp‚³‚ñ‚Ì–|–ó‚ðƒx[ƒX‚É Linux Japanese FAQ
Project ‚ªì¬‚µ‚Ü‚µ‚½B–|–ó‚ÉŠÖ‚·‚邲ˆÓŒ©‚Í JF ƒvƒƒWƒFƒNƒg
<JF@linux.or.jp> ˆ¶‚ɘA—‚µ‚Ä‚­‚¾‚³‚¢B

‰ü’ù—š—ð‚ðˆÈ‰º‚ÉŽ¦‚µ‚Ü‚·B

v1.1j, 15 January 1999
   
    –|–óF –x“c—ωp (sim@remus.dti.ne.jp)      
    Z³F ’·’Jì–õ (yaz-hase@qb3.so-net.ne.jp)
           ‘ìm (uv9h-hykw@asahi-net.or.jp)  
           ’†–앐—Y (nakano@apm.seikei.ac.jp)  
           ‰““¡–¾ (akendo@t3.rim.or.jp)        
   
v1.4j, 8 December 1999
   
    XVF “¡Œ´‹P‰Ã (fujiwara@linux.or.jp)        
    Z³F ‚é³•½ (takavoid@palette.plala.or.jp)
   
v2.4j, 15 July 2001
   
    XVF ç’U—TŽi (ysenda@pop01.odn.ne.jp)      
    Z³F ‚é³•½ (takavoid@palette.plala.or.jp)
           ˆÉ“¡—Sˆê (kade@@kadesoft.com)          
           T. Hayashi (smiff@nifty.com)