Linus Torvalds u (1995/12/04)

Linus Torvalds

{ / ܂݂Ђ

1996/06/02

1995N124ɋswōsȂꂽALinus Torvalds ̗u
͗l(S)łB

 ◈̊Ԃ Linus ̗lqm肽́A http://
jf.gee.kyoto-u.ac.jp/JF/linus-japan.html 䗗B

 

Table of Contents
1. Linux Ƃ͉
2. Linux ̊{fUC
3. mVbNJ[lɂ
4. Linux ̊Jj
5. J[lۂ̒ӓ_
6. ڐAɂ
7. J[l̑猩
8. Linux ̏
9. Q & A

1. Linux Ƃ͉

lwVLw̃BiXEg@hDXALinux J[l̊J҂
Bl̉pꂪʂ邩ȁH̎ɁA݂Ȃ̉pꂪlɒʂƂꂵ
ǁB()

[linus]

(䂳Be, 1995)

l͂킢킢ɂ₩ȍuDA₪Arł
ȂŎĎ₵ĂˁB

܂A̍uĂꂽ삳Əɂ肪ƂBāA
ł͂ƍb肩Љ悤B

(OHP 1)                                                                
-----------------------                                                
EWhat is Linux                                                        
EDesign Issues                                                        
EBasic Design                                                         
EDevelopment Cycle                                                    
EKernel vs User Level                                                 
EPortability(DEC Alpha)                                               
EWork in Progress                                                     
------------------------                                               

l̘b́ALinux Ƃ͉AĂƂ납n܂񂾂ǁA̒ Linux
悭gĂĺH(̎肪)

Linux ɂĕƂ̖ĺH(ق肪)

ȂAN͂ɂ񂾂H()

̐lmĂ悤Ȃ̂ŁAuLinux Ƃ͉vƂb͊ȒPɍς
āAuLinux ̊{fUCv̘b𒆐SɘbB

kernel ̃vOƂ̂́Aʏ̃vOƂ͂ǂႤ̂AƂ
Ƃ납n߂悤B̒ŃvO}vOARs[^Ȋw
ɕ׋Ăl͂ǂꂭ炢̂ȁH(ق肪)

񂪂ȂˁBA܂ׂbA܂łɖlĂ
ƁAꂩ낤ƂĂ邱Ƃ𒆐SɘbĂ݂悤B

(OHP 2)                                                                
---------------------------------------                                
What is Linux                                                          
- Unix clone                                                           
- Source Compatible with "UNIX"                                        
- Binary Compatible                                                    
---------------------------------------                                

ꂪluLinux Ƃ͉v邽߂ɎgĂXChB݂
mĂ邱Ƃ΂ŁA܂ڐVƂ͖ƎvǁB

uLinuxv́uUnix N[vAȂ킿ALinux ͗Ⴆ BSD ̃J[l
͈(AT&T Ă)XUnix ̃\[XCZX͎g킸ɁA
Unix ƂقƂǓƂł邱ƂڎwJ[lȂ񂾁B

IBM PC ݊@(N[)X IBM @Ƃ悭Ă邯ǁAIBM @
Ɛ\̂Ɠ悤ɁAl Linux X Unix Dꂽ
ɂȂ邱Ƃ҂Ă()

uN[vƂāASĂIWiƓłKv͂ȂB
Al Linux SV OS ɂ͂ȂA{Iɂ Unix ̂
Ƃ悤ɍBႦ΁A}`[U[Albg[NA
veNVȂǂȂǁBLinux ɂ͌X Unix ɂȂ@\
ǉĂ邯ǁÂ悤ȕ͖{ɕKvȂƂ낾ɌāA
ŏɂ悤ƂĂB

Linux ɂƂĈԏdvȂƂ Unix Ɓu\[X݊vƂ_낤B
Unix ɂ͂̎dl邯ǁALinux ͂̂ POSIX(Portable
Operating System Standard)ɊÂȂAUnix ĝ݂Ȃg₷
悤 BSD  SYSV ̋@\肱ŊgĂBABSD ̐E
痈l Linux őSĂ BSD Ɠ悤ɓrbNƂb
悭B

u\[X݊vƂ_ɉāAl͂̋@Ƃ́uoCi
vǋyĂBႦ "DOS EMUlator" ƂvOāA
g DOS ̃vO Linux œƂłBiBCS2 W
[ 386 n CPU p̎ŝ Unix vO𓮂߂̂̂B
g SCO Unix p̃vO Linux œƂł̂ŁA
SCO p WordPerfect  Linux ŎgƂłB܂ADEC Alpha p
Linux ł Digital Unix ƃoCi݊Ȃ̂ŁADigital Unix p̃vO
 Alpha Linux œƂł͂B

Ō Linux  MS-Windows ̃\tg𓮂vOJBWINE
ƂOŁA܂ĂȂǁA Windows p̃vO
AႦ΁u\eBAv()u}CXC[p[v()Ƃv
OAlɂƁAꂪ Windows ňԏdvȃvO
(ꔚ)A͊ Wine œĂBuWordv̂悤ȃv
O͂܂ĂȂǁA̐lƍƒB

ꂪ Linux ̔グXChBEɂ Linux [U[̐
OtB

(OHP 3)                                                                
----------+---------------------------                                 
1,000,000 |                                                            
  100,000 |                     |                                      
   10,000 |                |                                           
    1,000 |            |                                               
      100 |       |                                                    
       10 |  |                                                         
----------+---------------------------                                 
           1991   92   93  94  95                                      

ۂɂ́Al Linux 𔄂肠邢Ă킯ȂǂˁB̐}̏c
ΐ\ɂȂĂ邩A邲Ƃ 10 {ɂȂĂ̂ɒӂāB

1991 Nɂ͂l Linux [U[ȂAȂ킿lgA
ł̔N̂ɁAlȊOɂl Linux [U[âŁA
1991 N̏Iɂ́Aނ 10 l炢 Linux [U[͂B

̌ Linux [U[́ȂΐOtŎ悤ɁAw֐Iɑ
ĂBwmĂl͂킩Ă邾낤ǁA̒Ă
ƁA 2 Nقǂ̂ɂ̓[U[ 5000 lɒBA 2 Nɂ
A̐̐lƓ炢̃[U[ɂȂ邾낤()

AȂɑ͂͂ȂǁAJbROtˁB

āAۂ́ufUCɂāv̘bɓ낤B

 

2. Linux ̊{fUC

(OHP 4)                                                                
-----------------------------                                          
Design Issues                                                          
 - KISS                                                                
 - Compatibility                                                       
 - Performance                                                         
 - Expandability                                                       
--------------------------------                                       

Linux ɂƂčłdvȂ̂́AuKISS principlevƌĂ΂̂BKISS
Ƃ "Keep it Simple, Stupid", 邢 "Keep it Simple and Small" ̗
Ȃ񂾂ǁAJ[l͌XGȃvOAƓ
ɂɂ͉\ȂPɂĂKvB悤Ɠw߂Ă
ĂÃJ[l̂悤ɂԂ񕡎GȂ̂ɂȂĂ܂񂾂B

 Linux ̃fUCɂďdvȃ|CǵAu݊vƂ_
Bl Unix J[lŏǁASẴvO
C͂ȂBAgcc  GNU Emacs ̂悤 Unix p̊̃t
[\tgEFA\Ȍ肻̂܂܃RpCłēƂdv
B

u݊v̖̓vO𓮂ꍇłȂAUnix ̂悤ȃlbg
[NŎg OS ̏ꍇAɑ΂u݊v̖dvɂ
BALinux ̓lbg[NIɌĂ Unix ƌ݊悤
ɍĂB HP-UX  BSD ȂǂĂł Linux ͖
Ȃg͂B

l̏SẴvOŋɂ߂ďdĂ̂AÕ|Cg
Au\(ptH[}X)vBl͒xvOŁA茳̑}
V̏ɁAmmĂvOāARs[^Ŝ̐
\Ă̂ɂ͑ςȂBALinux ͂ł邾
񂾁B̂߁AV@\}Vɓ΁A̋@\
ɓIɊ Linux ̃Xs[hAbv}낤ƂĂBႦ Pentium
}Vł Pentium ̐VǗ@\𗘗pĂBڍׂɂ͐G
ǁALinux ͑@pɍœKĂAƂƂBA
ÂĒx 386 }Vłg悤ɂĂ邱Ƃ͌܂łȂB
ƂAlIɂ͂Ȓx}V͂gȂǂˁB

4 ߂̃|CgA̓J[lɌ炸AvOɂƂĂ
Ƃdvȃ|CgǁAugvƂ_BugvɂĂ
ƍlĂȂƁA3,4 NȂɂǂ悤ȂȂĂ܂
ƂBႦ DOS  8 + 3 ̃t@C̐Ɋւ́A
ɂȂĂ͋ɂ߂ďĈɂ̂B}CN\tg Windows95
Ńt@C̖悤ƂĂ邯ǁARs[^ɏڂ
lȂA܂܂̖肪cĂ邱ƂmĂB

A̖̎肪NȂ悤ɁAfUĈiK\
ɒӂĂKvBƂ̂A[U[ĂĂ{I
fUCC邱Ƃ͂قƂǕs\炾B

ȏ 4 _ Linux ̊{IȃfUC̘bBɃmVbNJ[l
Ă̐悤B

 

3. mVbNJ[lɂ

(OHP 5)                                                                
------------------------                                               
Basic Design                                                           
- Monolithic kernel vs Micro kernel                                    
- Non pre-emptible                                                     
- Portability                                                          
-----------------------                                                

 

Rs[^TCGX׋Ăl͌䑶mƎvǁAŋ߂̐V
J[l͂قƂǃ}CNJ[l̗pĂBA}CNJ
[lɔׂămVbNJ[l͂ƊȒPɏ邵Aێ₷
BALinux ̓mVbNJ[lɂȂĂB

}CNJ[l͑ǂ_͂̂́Axď̂ςƂ
_B̂ɂĂ͑̋c_Ƃ낾ǂˁB

}CNJ[l̓́AVXe͑̏ȃW[łĂ
炪݂ɒʐMȂ OS ̊{Iȋ@\ʂĂ邱ƂBA
Linux ł͈̃mVbNȃJ[lSĂ̋@\ʂĂ̂ŁAv
O͂Ə₷ȂBƂAl܂߂ Linux ̊J҂
́AJ[lł邾uW[v悤ƂĂA\[Xx
ł͋@Ɉˑ镔͂ꂼʂ̃fBNgɕĂ邵ATO
Iɋ敪hCoނʁX̃t@CAʁX̃fBNgɕ
B

AJ[l̊{IȃfUC̓́ALinux J[l non
pre-emptibleAƂƂBȂ킿A̃vOJ[l
[hɂȂ̃vO̓J[l[hvZXɂȂȂB
̂悤ɂĂ΃vO͂ƊȒPɂȂBԂfbhbN
̂悤ȏԂ non pre-emptible J[l̕Ə₷B

ʂ̗ŐƁAႦ "10 goto 10" ݂ Basic ̃vO
āA[vĂƂĂÃvZX̓J[l[hɂȂ
ȒP kill łBJ[l[hɂvZX}VS
Rg[Ă܂킯B

N肩́uڐAvɂĂl͂߂BƂƂ Linux 
80[345]86 Ă PC ΏۂɍlĂȂǁA1 NO
DEC l Alpha }Vꂽ̂ŁAȗ Linux قȂ@ɈڐA
AƂ肪dvɂȂĂB

݂ł́ACPU ɈˑĂ镔͂ꂢɐāAlƂł͎
Alpha }VgĂBl̎Ă}V̒ł́AAlpha }V
ƂˁB

łA݂ Linux ł́A\[XR[h̖񔼕̓foCXhCo߂
B̃foCXhCo͋@ɂ߂ĈˑĂ̂ňڐA
ǁADEC Alpha ̏ꍇAIBM-PC Ɠ PCI oXgĂ̂ŁA
A͂قǓȂBAsparc  68k }V̏ꍇAfoCXhC
o 0 珑Ȃ΂ȂȂB

 

(OHP 7)                                                                
---------------                                                        
kernel Ƃ܂ gcc, X11R6 Ƃ{AvA[U[vO  
}                                                     
--------------                                                         

 

āÂŁAl Linux ̊JŉʂẮA{͂Ԃ
̂AƂƂ𔒏󂵂ĂB̐}́uLinux Ƃ͉v
̂ŁAJ[l͂̉~̒̃u[ƐԂ̕ɂȂBȊO
A shell utility  daemon ށAX11R6 ƂvOȂ
 "end user program" B̒ŖlĂ̂́A̒S
킸ȕB

ႦΓ{̖ƂĂ݂ĂA̐lXJ[l̊Oœ
{g悤ɃR[hĂBłAĖlɂƂĂ͓{
̖_痝łĂȂBAlĂ̂́A{
ɃVXeŜ̂AŜꕔȂ񂾁B̐l Linux p
A邢 Unix pɃvOĂĂBȐlX̂
ALinux ͍̂悤Ɏg₷VXeɂȂƌB

 Linux ̊JjɂĐ悤B

 

4. Linux ̊Jj

(OHP 8)                                                                
-------------------------------------                                  
Development Cycle                                                      
- Open Development tree                                                
- Open Fast feedback                                                   
---------------------------------------                                

 

Linux kernel JɂāAl͊JߒJ邱(Open
Development tree)I񂾁BŐṼ\[XR[hT 2 xقǁAInternet
 anon-ftp TCgɌJĂ̂ŁANłAlgĂ̂Ɠ
ŐṼ\[XR[h肷邱ƂłBǍJ̃TCN
͂ƕpɂȂƂ邵AƂ܂΂ȂƂBႦ΍T͓{
ɗĂ̂ŁÄTԂ͐VJ[ľJłȂB

JߒJĂ邩AC RpCĂlȂNłA\[
X肵Ėl̎Ă̂ƓŐṼJ[l茳ō쐬łBK
ɍŐṼJ[lǂKv͂ȂA낤Ǝv΂
邱ƂłBJ[l͑啔 C ŁAꕔ̃hCoނ̓AZu
gďĂ邪ARpC邾ȂAZu̒m͕sv
낤B

JߒuJvĂ邱Ƃ́Al̂悤ȊJ҂ɂƂđ傫ȗ_
ȂĂBȂȂAVJ[l ftp TCgɌJ΁A̓
̂ɐ\琔Sl̐l܂܂ȊŃeXgāAl
ႢłĂA e-mail ŋĂ邩炾B̌ʁA
͂łB̂悤 feedback ̂ŁAߋ̂
ɂĈǂ肾ɒm邱ƂłB

܂AɍŐṼ\[XR[hJĂ邩A܂܂ȊJ҂o
oɊJ\̃o[WNɓ悤ȍƂs
vɂȂ̂ŁÂƂJxグ邱Ƃɖ𗧂ĂB

AJ[l̂̂ɂقǊ֐ŜȂʂ̃[U[ɍŐV
̃J[lgKv͂ȂACD-ROM ɓĂRpCς݂̃J[l
gƂłBT 2 AVJ[lJĂ邩Ƃ
āAKŐṼJ[lgȂ΂ȂȂ킯ȂBłA
ṼJ[leXgĂΊJ҂ƂĂ͏ȁB

ꂩ̎
   
    p: Ȃɑ̐lJɎQĂȂAǂăhCo
    m̏Փ˂Ă̂H
   
    `: JŊJĂAƂƂ͒NłɍŐṼJ[l𗘗p
    łƂƂB
   
    ɏqׂ悤ɁALinux ł̓\[XR[h́uW[v
    ł̂ŁAႦΖlt@CVXeɉύXƂĂA
    ̓hCo̊J҂ɉe邱Ƃ͂܂ȂBȂ킿A啔
    ̕ύX́u[JɁvsAƂƂBJ[l͉̂̂
    ̕iWĂłĂ̂ŁAl̊J҂R[hC
    悤ȎԂ͂܂Ȃ낤B̂悤ȎԂNꍇA
    ̃R[h̗p邩͗̃R[hĖl߂ĂB
   
J[l͋ȃvOōŋ߂ 35 sɂBĂBŋ߂̔
AvP[VvO猩ƁA35 s炢ł͂قǑ
Ȃƌ邩mȂA35 ́uGȁvR[hŏꂽv
O͂܂薳낤B

XJ҂͈̏Wc\ĂB̃s~bh̃gbvɗĂ
̂lAlȊOɂlbg[NR[hێ炵ĂlAt@CV
Xeێ炵ĂlASCSI foCXSĂlAȂǂ݂B
ꂼ̒S҂̉ɂAlɂ菬ȕSĂl݂
ĂBāAႦ΃lbg[NɊւC_̓lbg[N̒S
̂ƂŏW񂳂Alɓ`BĖlɃJ[lC
AƂ킯B

ÃVXe͋͂̂ł͂Ȃ̂ŁAoO
lɒڑĂĂ\ȂBہA܂łɂAƂ
ƂloO|[gƃpb`͂āÃpb`̂܂܃\[X
R[hɑg݂񂾂ƂB̊J҂̃s~bh́AN𐬂
ɂāA߂ēIɕϓ̂ŌČŒ肵VXeł͂Ȃ
B

 

5. J[lۂ̒ӓ_

(OHP 9)                                                                
-----------------------------------------------------                  
Kernel vs User Level                                                   
- Inherently multi-threaded                                            
- Security                                                             
- Stack and Memory allocation                                          
----------------------------------------------------                   

 

̃XCh Linux kernel 悤ƂĂlɊ{IȂƂ
邽߂̂̂B̒ Kernel ̃\[XR[hƂ̂
ĺH(܂͂Ȃ)

[AԂ񏭂ȂˁB̂Ƃ낾ƂƎ肪̂ɂˁBJ[l
̃\[XR[h͓ǂނƂԂʔ̂BlĂ񂾂
B()

J[lۂɓɒӂȂ΂ȂƂ 3 _قǂB

́uJ[l̃}`XbhvƂ_BJ[l͉S̃vZ
XĂ}VǗĂvOŁA 2 ̃vZX
Ƃ悤ƂƁAǂɏ邩Ƃf̂J
[l̎dɂȂBJ[lꍇAԂfbhbNԂɓ
ɒӂ𕥂KvBʂ̃vOł͂̂悤ȏԂN邱
͖őɂȂAɂ͂ȂȂCÂȂ񂾂ǁB

J[l̃\[X߂ČĺAun݂AȂœ`FbN 2
́vƂȂ邩mȂBłA̓J[lɂ̂݋N
肤邱Ƃ`FbNĂ񂾁B

Ȃ킿AꂪuZLeBvƂƂŁAXĂ̂̓}
`^XNVXełAʂ̃[U[vOXƂ
U镑ĂAꂪVXe_ENĂ͂ȂȂBȂ
A̃vZXVXeNbVȂ悤ɁAJ[l̒
́uZLeBvɂď\񕪂ɔzKvBSl̐l
ɎgĂ}ṼvO_E΁A̐lɂԂ
f邱ƂɂȂĂ܂ˁB

AJ[l̓VXeŜ̃vZXǗĂvO
AJ[lg̃Ǘ͎łȂ΂ȂȂBJ[
lvOƃKvƎvĂAJ[lɃv
邱Ƃ͂łȂAĎgJ[lȂ񂾂BAJ[l
̃AP[V͎̎ł˂΂ȂȂB

tA̎
   
    p: J[l͂Ԃ񋐑ȃvOɂȂĂ邪AJ[lɂ
    ĕ׋Ƃ΁Aǂ΂̂H
   
    `: J[lɂĕ׋ȂA܂J[lɂĐ
    ȏǂނƂ낤BlÊ A.Tannenbaum 
    "Operating System : Design and Implementation" B̖{͐发
    ĔQ̂̂Ƃ͌ɂǁAǂ݂₷A₷{
    B̖{ŊbIȒm𓾂ALinux ̃XPW[̂ǂ
    ł݂ĂقBLinux ̃XPW[́Aǂ̃vZX𑖂点邩
    ̃t@C̒ŏĂ邨낢vOB
   
ɖlݎ肭łbĂBl肭ł̂
AuڐAvɊւ肾BLinux ͌䑶m̂悤 Intel 80x86 vZb
Tn܂B݂ł͑̋@ɈڐAi݁Aɂqׂ悤 DEC
Alpha ł͊ɈɓĂ邵AMIPS ւ̈ڐA̓hCcŐi߂Ă
Ashell ƕĂBŋ߂̃J[lł͂ PowerPC p̃R
[hĂ邱ƂɋCÂĂlƎvǁAPowerPC ł͂܂
ĂȂB悤ɂȂɂ͂N炢͂񂶂ȂȁH
SUN-4 Ƃ Sparc ւ̈ڐAi߂Ă邪܂܂sȏԂB

 Alpha ɁuڐAv̘bڂĂB

 

6. ڐAɂ

(OHP 10)                                                               
--------------------------------                                       
Portability (Alpha)                                                    
- Memory management                                                    
- Processor management                                                 
- Device driver                                                        
- 64 bits vs 32 bits                                                   
--------------------------------                                       

 

̃XCh̍Ō̂Ƃ납n߂悤BꂪԂ낢ˁB

l Alpha DȂ̂́AꂪS 64rbg}V 64rbg̃|C
^ 64rbg̃WX^Ă邩炾B OS ɂ傫ȕύXv
BȂȂA32 bits ̃}V 4G oCg܂ł̋Ԃmۂł
ǁAAlpha }Vł 8T oCg܂ŊǗłAcȑ傫̉z
ĝŁAƊǗ@lȂƂȂB

AقȂ@ɈڐAۂɑ傫ȕύXKvȂ̂̓foCXhC
o̕BAɏqׂ悤 Alpha  PC ݊@Ɠ PCI oX
gĂ̂ŁA啔̃foCXhCo PC p̂̂̂܂܎g
BAsparc  AtariAAmiga ƌ}V̏ꍇAI/O oX̏
d PC ݊@ƍ{IɈႤ̂ŁAfoCXhCo͑S 0 珑
˂΂ȂȂB

vZbTgԂႤBA32 rbg 64 rbgƂႢ
邯ǁAȊOɂ̃ACgƂ肪B

386 ł̓̂ǂłRɃANZXł̂ŃACgƂ
͐ȂAAlpha ̏ꍇA8 oCg = 1 [h[hꍇ̓
̃ACg킳Ȃ΂ȂȂBJ[l̎dBL
bVvZbT̏ԐڂvZbT̋@킲ƂɈقȂĂB
̖̓[U[vOł͋CɂKv͂ȂAJ[lɂƂ
Ă͂߂ďdvȖ肾B

ǗɂẮAy[We[u MMU ̏ԑJڂƏ
̂J[l̏dvȎdB

܂vO}AɃJ[lvO}͂܂肢Ȃ悤Ȃ̂ŁA
XCh͔΂ˁB

 

(OHP 11)                                                               
--------------                                                         
Future (ʐ肢Ă鏗̊G)                                  
-------------                                                          

 

J[l̑猩ɂďbĂB

 

7. J[l̑猩

(OHP 12)                                                               
--------------------------                                             
Work in Progress                                                       
- Porting to Alpha, MIPS, Sparc and PowerPC                            
- Filesystem optimization                                              
- Kernel threads                                                       
- Symmetric Multiprocessing                                            
- Loadable Module                                                      
---------------------------                                            

 

ꂪlĂJ[l̏B̂ڐAɂĂ̘b͊ɏqׂ
̂Ŕ΂Bt@CVXe̍œḰA݈Ԃ肽ƎvĂ
肾Bꂪ܂s΁At@CԂ񍂑͂B
 Linux łt@C͒xȂǁA̕ɂ͉P̗]n
̂ŁAP΂ƃt@C͑Ȃ͂B
AۂɎ肩̂͂΂炭ɂȂƎvBǂ΂̂͂
Ă̂ŁAƂ̓R[fBO̖肾Ȃ񂾂ǁB

AJ[lɂƂĂ̏dvȏh̓XbhB}`Xbh
ł΁A̃vZX̃Xbh𓯎Ɏsł悤ɂȂ
ŁA̃Xbh[U[̓͂󂯂Aʂ̃XbhvZ
悤Ȏg\ɂȂAEBhEVXeȂǂɂ͓ɗL
B

J[lXbh SMP }VAȂ킿A}`vZbT̃}V
ɂ߂ėLvB}`vZbT̃}Vł͕̃Xbh
ēɓƂ\Ȃ̂ŁAvO͂Ƒ悤ɂȂ
͂B

SMP(Symmetric Multi Processor)ΉƂ̂ꂩ̉ۑ肾Bł
Intel ̃}Vł̓}`vZbTɑΉĂ̂ŁA2  Pentium 
ڂ}V Linux 𓮂ƂłBLinux ͂ 2  CPU
gȂĂBA4 ̃vZbT}VȂƑ
BSMP Ή݂͌JisȂ̂ŊSɈ肵ĂƂ͌
ǁA{ɑ}VKvȏꍇ SMP Linux \Iɓ
ƎvB

ݎgł̉ۑ́As[hW[(loadable
module) B́As̃J[lɐVhCo𓮓Iɑgݍދ@
\ŁA̋@\g΁Ai͂܂gȂȃn[hEFAp̃h
CoɃJ[lɑg݂łKvȂAKvȎɃhCo
[hẴn[hEFAgAKvȂhCoA[
hāA厖ȃʂ̎dɎgƂ\ɂȂB

ȏオJ[lɂĂ̏BɃJ[lɌ炸ALinux Ŝ̏
qׂĂ݂悤B

 

8. Linux ̏

(OHP 13)                                                               
-------------------------                                              
Future I                                                               
- Source compatibility                                                 
- Binary compatibility                                                 
- Commercial Support                                                   
-------------------------                                              

 

u\[Xx̌݊vɂẮA݂łȂĂ킯A
炩̌`ŔF؂ė~ƎvĂBȂ킿ALinux  POSIX 
Iy[eBOVXe̋KiɍvĂ邱Ƃؖė~
ƎvĂBAF؂Ă炤ɂ͂Ȃ̂̂ł܂N
ĂȂǁAAĴЂ낤ƂĂƕĂB
̔F؂ɒʂ΁ALinux  Unix ݊łAƋ𒣂Č킯B

uoCi݊vɂĂA݊߂ɌƎvĂB
WINE ɂĂ͊ɏqׂA傫ȃvO𓮂ɂ͂܂܂
΂ȂȂdcĂBƔN炢ő傫ȃvO
悤ɂȂ΂񂾂ǁAۂ̂ƂA܂N͂邾낤
ˁB݂łȃvO͂낢듮Ă񂾂ǁB

uƃT|[gvɂẮAłɂȂ̎ނĂB{ł
̒xƓI Linux T|[gĂ邩͒mȂǁAł Linux
ɂĂ̖͑{ołAAJł͏XŊȒPɎɓ悤ɂ
ĂBŝ̃\tgEFAAWordperfect  Maple, Mathematica Ƃ
p̃\tgEFA Linux po[W[XāALinux 
邱Ƃ\ɂȂĂB

ȊOɂALinux ߂ CD-ROM ͑̔ĂBLaser5 
ACaldera Network Desktop  Linux J[lő̎s̃\tg
EFA𓮂Ƃł鏤ppbP[WBCaldera ɂ Netware ɑΉ
@\tĂ̂ŁALinux  Netware ̃T[o[ɂ邱Ƃ\
ȂB

ꂪŌ̃XChǁA

 

(OHP 14)                                                               
----------------------                                                 
Future II                                                              
- Continued development                                                
  1.2.x is out: stable release                                         
  1.3.x used for development                                           
  Linux 2.0: Multi-platform, SMP                                       
-----------------------                                                

 

ꌾŌ΁ALinux ͍W𑱂ĂAƂƂBl͊ 5
Nق Linux ̊JɌgĂǁA܂܂ Linux ̔W~܂邱
Ƃ͖ƊĂB

݂̈ŃJ[l 1.2.x̃V[YŁAŝ̃pbP[Wɂ͂̃o[
WĂ͂BJĂ̂ 1.3.x ̃V[YŁA
Jҗp̃o[WƂʒuÂɂȂB̃V[ỸJ[l͂
肵ĂȂB̃o[Wɂ͒vIȃoOBA
{ 1.3.x ̋@\KvAłguł邾̎
͂̂lȊO 1.3.x ̃J[l͎gȂB

Ƀ[Xł̃J[l̃o[W 2.0 ɂȂ\肾B1.3.x
̃V[Y͋߂ code freeze 錾ĐV@\̒ǉ~߁A
̌㐔ԁAOIɃfobOsȂď\oOĈ肵_
2.0 Ƃă[X\肾B2.0 ͋@\Iɂ 1.3 ƓAOI
eXgĂƈ肵Ă͂B

n߂̌vł͎̈ł 1.4 ɂȂ\肾ÃvbgtH[
ɑΉƂƁASMP }VɑΉƂ 2 ̑傫ȉǂsȂ
ꂽAW[o[Wグ邱ƂɂB SMP T|[g̓W
[o[Wグɒl邱ƂƎvĂB

Ŗl̘b͏I肾ǁÁH

 

9. Q & A

tA̎

[qv_007]

(cBe, 1995)

Q: DEC Alpha ւ̈ڐAɂāBvO(ghostscript) DEC Alpha
    }VɈڐA悤ƂĂ̂܂ȂBAhoCX
    ႦȂ낤H
Q: ̋@ւ̈ڐAɊւ Alpha ł̓oCi݊ƂƂA
    @ł͂ǂH
Q: WINE ɂĂė~B
Q: }CNJ[lƃmVbNJ[lAǂ炪񂾂낤H
Q: J[lW[͂Ӗł̓}CNJ[l݂Ȃ̂ł́H
Q: J[l̃hCo̒ PPP W[Ȃǂ̓W[ƂĂ̂ݒ
    Ă邪A邱ƂɉӖ̂H
Q: 1.3.x pɂ kerneld Ƃf[邪A1.2.x pɂ kerneld 
    ̂H
Q: ȑO PC  MS Windows gĂ񂾂( Linus wŃo
    cAꂪ΂ɕ܂)ALinux ɐ؂肩ÃptH
    [}X̂悳ɂт肵BȂALinux ̂悤 free  OS 
    Microsoft ̂悤ȋƂ̍\tg\񂾂낤H
Q: Microsoft 炠Ȃɉ炩̐ڐGꂽƂ͂Ȃ̂H
Q: gAȊwvZCu낤ƂĂ̂Â悤ȃ\tg
    EFAvWFNgv悵Ălɑ΂ Linux ƂrbOvW
    FNg𐬌ꂩ牽AhoCXB
Q: Linux ̊JɌgĂl͂ǂꂭ炢̂H
Q: GNU Hurd ɂĈꌾH
Q: Linux ͂܂܂ȃvbgtH[ɈڐAĂ邪ÅԂŃo
    Cǐ݊͂̂HႦ Intel CPU p̃oCi Alpha 
    AƂ悤ȁB
Q: Java ̃T|[ǵH
Q: Debian  Gnu ł Linux ƕH
Q: VIPER ƂvWFNg͂ǂȂĂ܂H
Q: copyleft \tgEFA͏ǂȂ邾낤H
Q: ɓő Linux }V́H

Q: DEC Alpha ւ̈ڐAɂāBvO(ghostscript) DEC Alpha
}VɈڐA悤ƂĂ̂܂ȂBAhoCXႦ
Ȃ낤H

A: Alpha ւ̈ڐA̍ۂɃ[U[x̃vOœɖɂȂ̂
32 rbg 64 rbg̖肾낤BႦ΁A int  long 𓯂Ƃ݂Ȃ
ĂvO邪A Alpha ł͐ȂB̏ꍇAvO
 long  int ɒuĂ΂BAꂾł͕s\
ꍇāAAlpha ł̓|C^ 64 rbgɂȂĂ̂ŁA|C^
 int ƓƂ݂ȂĂvO͖ɂȂB肪ɒ
ׂĂ݂Ă͂ǂH

Q: ̋@ւ̈ڐAɊւ Alpha ł̓oCi݊ƂƂA
@ł͂ǂH

A: Alpha ɂẮAlg Digital UNIX ̃oCivO
Ă̂ŁAeXĝ߂ɂoCǐ݊ǋyĂB
ƓoCivO΃J[l̃eXgɂ֗ˁB

Sparc ɂĂ SunOS ƃoCi݊ɂƎvĂBSunOS Ƃ̌
͂ȂȂƂ܂łĂ݂ǁASparc Linux ͂܂܂
s݂B

mips ɂĂ͂܂oCi݊͊҂łȂ낤BDEC Ă
mips}VĂƂ邪ADEC  mips }Vp̃oCi͂
ƂǖAAmips gĂ SGI ̃}V̓_OƂ
vOɓĂ̂ł܂ Linux [Uɕ֗ȃoCi͂Ȃ
낤B SGI ͓ȃ}U[{[hgĂ̂ŁAoCi͍݊
ƎvBƂAlg mips ɂĂ悭mȂAڂ̓h
Cc mips ւ̈ڐAĂlɕė~B

Q: WINE ɂĂė~B

A: WINE  WINdows Emulator ̗ŁAMS-Windows p̃vO X11 
ŃG~[gē߂̃vOB傤 SUN  WABI Ɠ
Ƃ free ȃvOŎ悤Ƃ̂B

Q: }CNJ[lƃmVbNJ[lAǂ炪񂾂낤H

A: ǂɂ꒷ZƎvBl͐̃}CNJ[l minix g
ĂƂBmɂCɂ͂Aminix ͂
܂Ń}CNJ[lg OS ̋ނƂďĂ̂ŁAŜ
Ă̐\ɂ͕sŁA}CNJ[l̂܂K؂ȗł͂Ȃ悤Ɏv
BAminix ̌_肱܂Ȃ悤 Linux fUC
肾BAminix  OS ̓𗝉邽߂̋ނƂĂ͂Ⴞ
ƎvǂˁB

minix }CNJ[l͂AႦ Mach ̈
Bł Mach ͂G OS ɂȂĂ܂ĂBMach ̕G̑
͐\̌ڎw߂̍HvŁA}CNJ[lɂ鐫\ቺ
Jo[悤ƂāAKvȏɕGɂȂĂ悤ɎvB

Q: J[lW[͂Ӗł̓}CNJ[l݂Ȃ̂ł́H

A: ɁA镔ɂĂ̓}CNJ[lƓƂ悤Ƃ
BAJ[lW[͓Ă鎞łAJ[lɒڃ
NĂ܂̂ŁA}CNJ[l̂悤ȃveNVoE_
ւ͋NȂB

Q: J[l̃hCo̒ PPP W[Ȃǂ̓W[ƂĂ̂ݒ
Ă邪A邱ƂɉӖ̂H

A: PPP W[ƂĂ̂ݒ񋟂Ƃ͖̂l߂ƂȂB
ppp ̊J҂ł Al Longyear ߂񂾁Bނ͑W[
邱ƂŃfobOeՂɂȂƍl񂶂ȂȁB܂AW[
Ă΁AJ[lŜ蒼ȂĂVW[[h
邱ƂŁAV ppp ̃eXg͉\ɂȂ邩ˁB

Q: 1.3.x pɂ kerneld Ƃf[邪A1.2.x pɂ kerneld 
̂H

A: 1.2.x ł insmod/rmmod ƂW[[h邽߂̃c[
pӂĂB 1.3.x ł悤ɎgBkerneld ́A̎菇
邽߂̂̂Ȃ̂ŁAinsmod/rmmod gÂĂ\ȂB

Q: ȑO PC  MS Windows gĂ񂾂( Linus wŃo
cAꂪ΂ɕ܂)ALinux ɐ؂肩ÃptH[}
X̂悳ɂт肵BȂALinux ̂悤 free  OS  Microsoft
̂悤ȋƂ̍\tg\񂾂낤H

A: uȂ Linux  Windows \v͖l̑DȎ₾
()Bɂ 2 ̗RƎvB1 ́ALinux ͔Mӂɖ
J҂Ă邱ƁBl܂߂āAJ[lƌlԂ́u
ȁvR[hڎwĂBA肪NA̖
̎ŐϋɓIɉ悤ƂĂB

AMicrosoft ̂悤ȋƂƁAWindows ̃\[XR[h͒N̂
łȂANɌւĂȂ񂶂ȂȁBALinux ̊J
҂ Linux ̃R[hɌւĂB Windows ƒSĂ
vO} 100 l𒴂Ă邾낤A肪NĂAϋɓIɎ
̎ŉ悤ƂɁAǂʂ̐lɑĂ܂AȂ킿
̂ł͂ȂABƂŉ悤ƂĂ񂶂ȂȁBl
Aꂪ Linux  Windows ̐\̈ႢɂȂĂ悤ɎvB

1̗Ŕu݊v̖肾BMicrosoft ̐i DOS,  DOS 
t@CVXeƌ݊ۂKvBȂ킿Aނ 15 NO
fUCɔĂB̌ʁA݂ł 15 NOƓl̈@
炴𓾂ȂBɑ΂ALinux  0 珑n߂ OS A
݂̂͂ȂBLinux ڎw Unix ́AƂƗDꂽfUC
OS ˁBl͑SĂ 0 n߂AԈႢȂ悤ɋC
B

Q: Microsoft 炠Ȃɉ炩̐ڐGꂽƂ͂Ȃ̂H

A: Microsoft ͉X̂ƂȂ񂩋CɂĂȂ񂶂ȂȁH Microsoft
̃[U[ 5000 lALinux ̃[U[͐ 50 ĂƂ낾
Aނ̃[U[ 1% ɉ߂ȂˁBłA͔ނ Linux ̂Ƃ
ЂɊĂ΂ȂƎv()B

Q: gAȊwvZCu낤ƂĂ̂Â悤ȃ\tg
EFAvWFNgv悵Ălɑ΂ Linux ƂrbOvWFN
g𐬌ꂩ牽AhoCXB

A: Linux ł̌ol邱Ƃ́A܂{IȏȃVXe
āA͂قǗDꂽ̂łȂĂAlbg[N
ŌJ邱ƂBƁAEɓ悤ȃ\tgEFA~
Ălƌ邾낤BāAÑVXeɊ֐SĂ
lāAނƋɊJĂƂBꂪ܂ Linux ɋN
ƂȂ񂾁B

lŏ Linux ́AقƂɂ{IȂ̂BłA
̐l̋͂ŁA悤ȑfVXeɐĂBA
ɊĴԂ񂶂ȂȁH֘Aj[XO[v
ɓeāAƊ֐S𓯂l邱Ƃn߂̂肾
B

Q: Linux ̊JɌgĂl͂ǂꂭ炢̂H

A: Linux ̊J҂̐́AɂĕςˁBJ[l̑啔
vȊJ҂ɌȂA10 - 20 lx낤BfoCXhCo
lJ[l̏ȉǂɍvĂꂽl܂Ŋ܂߂ 100 - 200 l
K͂ɂȂ邾낤BJ[lƓȏɏdvȃ[U[x̃v
OAႦ gcc  X11 ȂAꂼɂ܂Sl̊J҂ւ
Ă邩ASĊ܂߂Al̋K͂ɂȂ͂Boς
vO}ȂɑĂ\tgЂ݂͑ȂBʂ̑傫
ȃ\tgЂłvO}͂SlƂƂ낾ˁBBSD
܂߂ Unix ̃vWFNg͂ɂ̃vO}ɎxĂ
킩邾낤B

Q: GNU Hurd ɂĈꌾH

A: GNU Hurd ɂĂ͂قƂǒmȂBGNU Hurd ̎vȊJ҂ɂ͉
Ƃ邯ǁAlg Hurd ̃vWFNgɂ͑S֌WĂȂB
_ł́AGNU ̘A Linux  GNU ̃J[lƎvĂ݂
ǁAɂĂƂۏ͂ȂˁBAHurd ͖̃vWF
NgŁAɂȂΎg悤ɂȂ̂킩ȂB

Q: Linux ͂܂܂ȃvbgtH[ɈڐAĂ邪ÅԂŃo
Cǐ݊͂̂HႦ Intel CPU p̃oCi Alpha œ
AƂ悤ȁB

A: A[LeN`[Ԃ̃oCi݊Ƃ@\́AƂ Linux ɂ
g݂܂Ȃ낤BAuoCigX[VvƌĂ΂
vWFNgBႦ DEC ̐l mips ̃oCi Alpha
œ悤ɂA݂ intel ̃oCi Alpha œƂĂ
B̋Zpg悤ɂȂ΃A[LeN`[Ԃ̃oCi݊\
mȂAނ͂̋Zpt[ł͌JȂ낤BɁA
̃vWFNg͂ԂK͂Ȃ̂ŁAlȒPɎł
Ȃ̂ł͂ȂB

Q: Java ̃T|[ǵH

A: Linux p Netscape ł Java T|[gꂽƕĂBA
̓x[^o[WŁA܂܂s炵BAlpha Linux p Netscape
݂͑ȂADigital Unix p Arena  Alpha Linux łg悤
B

Q: Debian  Gnu ł Linux ƕH

A: A: Debian ͌X Gnu Ƃ͊֌WȂfBXgr[VAGNU
̘Aނ̌ Linux fBXgr[V鎞 Debian I
񂾁BZpIɂ Debian  slackware DĂˁBlg
slackware gƂ͂ȂADebian ͎Ƃ͂ȂǁAۂɎg
Ăl Debian ͗DĂAƌˁBɁAlIɂ RedHat
̃fBXgr[VDꂽ̂ƎvĂBłA slackware 
ԍLgĂˁB

Q: VIPER ƂvWFNg͂ǂȂĂ܂H

A: N炢OɁAXbhƃA^C̃T|[gڎw VIPER 
vWFNgn܂Aŋ߂̖͂O𕷂ȂˁBXbhƃ
A^C͂܂sSǁÃJ[lŃT|[gn߂̂ŁA
2.0 ܂łɃXbh̃T|[gƊĂ͂B

Q: copyleft \tgEFA͏ǂȂ邾낤H

A: l copyleft SĂɐƂ͎vȂBłALinux ܂߂
̃vWFNgɂƂĂ copyleft ͑f炵BłAl͒
쌠(copyright)ŕی삳ꂽp\tgEFAKvƎvĂB̓_
Ŗl GNU ̘AƂ͈ӌقɂĂBނ͑SĂ̏p\tgEFA
łĂƂĂ邩ˁB

lǵA܂肨݂Ȃ free software ܂Ȃ悤ȕ
d͏p\tgEFAKvƎvĂBƂ΃f[^x[XƂ
삪ꂾB

l Linux pɂƏp̃\tgEFAoĂė~ƎvĂB
̈ŁAV\tgEFAt[ɌJĂƂ]ށB̗
҂݂͌ɑΗrIȂ̂ł͂ȂAƂɎgƂ͂ł
񂶂ȂȁH

Q: ɓő Linux }V́H

A: ̂ƂA150MHz  Pentium Pro }Vő Linux }V
ȁHĺAƂł Alpha gĂ邪Ã}V Alpha ̑ꐢ
̃}Vōő̃}VȂB񐢑 Alpha }Vł͂܂ Linux
ĂȂB̎ȗR͖l̎̃}VɐGĂȂƂȂ
ǂ()B

Pentium Pro ĂlɂƁAJ[l̃RpC 4 ŏI
BlwŎgĂ 100M Hz  Pentium ł 10 炢邩
 Pentium Pro ͊mɑƎvBƂ Penitum Pro  Windows ̃o
Ci𓮂ƒxǁAl͂Ȃ̊֌WȂ()B

------------------------------------------------------------------------
܂݂Ђ끗ނ˂
------------------------------------------------------------------------
(SGML conversion, Y.Senda, 2000/12/20)

