ã¯ããã«
ãïŒã¿ããªãããªæ¬ã UNIX å²åŠã®ãªã¹ã¹ã¡æ¬ã£ãŠç޹ä»ããŠãã®ïŒ ãããŠç œãããå ¥ãããŠããã ããŸããUNIX å²åŠãèªãæ¬ãšããŠãã€ã¯ã»ã¬ã³ã«ãŒãº (Mike Gancarz) ã®ãUNIXãšããèãæ¹ - The UNIX Philosophy ãã®èšèšææ³ãšå²åŠãã¯ããããæ¥æ¬ã§äžçªæå㪠UNIX å²åŠã®è§£èª¬æ¬ã§ããåèãšèšãããŠããéãçŽ æŽãããããšãããããæžãããŠããŸãããããåæç¥èãæããªã人ãããã®æ¬ãèªãã§æ£ãã UNIX å²åŠãçè§£ããã®ã¯ããªãé£ããã§ãã
- 泚æ ãã®èšäºã®è¶£æšãåéããããŸãããããã³ã¡ã³ããããã²ãèªã¿ãã ããã
- 2022-08-27 é¢é£èšäºãã·ã§ã«ã¹ã¯ãªãããåŠã¶äººã®ããã®ãæ°ããUNIXå²åŠã ã ãœãããŠã§ã¢ããŒã«ãšããèãæ¹ããå·çããŸããã
ãUNIX ãšããèãæ¹ããæ£ããèªãã®ãé£ããçç±ã®äžã€ã¯å€ãããæè¡ã«åºã¥ããå€å žã ããã§ããå€å žã¯ç©èªã®æä»£èæ¯ãç¥ããã°æ£ããçè§£ããããšã¯åºæ¥ãŸãããããäžã€ã®çç±ã¯èè ã®ã¬ã³ã«ãŒãºã®ç«å ŽããããïŒå°ã åã£ãïŒUNIX å²åŠã説æããŠããããã§ãããããå°ã£ãããšã« ã¬ã³ã«ãŒãºã£ãŠäžäœäœè ãªãã§ããïŒ ãšããåé¡ããããŸããã¬ã³ã«ãŒãºã®äºã¯ãUNIX ãšããèãæ¹ããæžããããšä»¥å€ããŸãç¥ãããŠããŸããã圌ãäœè ãªã®ãç°¡åã«ã¯ããããªãã®ã§ãäžäœã©ãããç«å Žã§ UNIX å²åŠã説æããŠããã®ããããããŸãããããã«ã¬ã³ã«ãŒãºã¯éèŠãªäºå®ãäœãåç §ããŠãããšããã©ã®ããŒãžã§ã³ã®è©±ãªã®ãçãæç¢ºã«æžããªãçãããããã§ãç©èªã®èªè ã¯ãäœè ã®æ°æã¡ããæšæž¬ããŠèªãŸãªããã°ãããŸãããåã人ïŒïŒïŒãæžããæ¬ã§ãã¿ããªã奚ããŠããã®ã ãããæžããŠããå å®¹ãæ£ããã®ã ããã§å€æããŠãããšééã£ãè§£éãããŠããŸããŸãã
ãã¬ã³ã«ãŒãºã® UNIX å²åŠããšããã®ã¯ UNIX ãèªçãã 1969 幎㮠10 幎åŸã® 1980 幎ãã 1990 幎äžé ãäžã®äžã«åºãã£ã UNIX ã«æã蟌ãã 人ãã¡ãæã£ãŠããã§ãããèãæ¹ããã¬ã³ã«ãŒãºããUNIX å²åŠãšã¯ãããããã®ã ïŒããšãã圢㧠1994 幎ã«ç޹ä»ããæ¬ã§ããUNIX ãèªçããŠãã 25 幎ãåŸã«åºçãããæ¬ãªã®ã§ããããã誰ã®èããªã®ããã®åºã©ããã¯ã¯ã£ãããšã¯ããããŸãããèª°ãæžãããã¯éèŠã§ã¯ãªããåé¡ã¯äžèº«ã ããšèšãããã°ãã®ãšãããªã®ã§ããããã®èå¿ã®äžèº«ãã€ãŸã ã¬ã³ã«ãŒãºã® UNIX å²åŠã®çè«çæ ¹æ ã¯ãæè¡çã«ééããšãã£ãŠãéèšã§ã¯ãªããããã«å€ããªã£ãŠããŸã£ãŠããŸããäŸãäžãããšå°ããå®è¡ã€ã¡ãŒãžã¯ããã©ãŒãã³ã¹ïŒå®è¡é床ïŒãé«ããšæžãããŠããã®ã§ããããã®æè¡çãªæ ¹æ ã¯ãã¹ã¯ãããããŒãžã³ã°ãåçã«æžãããæ§èœãå€§å¹ ã«åäžãããããã§ããããã¯ã³ã³ãã¥ãŒã¿ã«æèŒãããŠããã¡ã€ã³ã¡ã¢ãªãæ°çŸ KB ã æ° MB ãããªããã¹ã¯ãããããŒãžã³ã°ãã©ãããŠãé¿ããããªãæä»£ã®è©±ã§ãããã¡ããæåããæè¡çã«ééã£ãå 容ãšããŠåºçãããããã§ã¯ãããŸãããåºçãããŠãã 30 幎è¿ãçµã£ãŠå€ããªã£ãŠããŸã£ãã ãã§ãã
ãUNIX ãšããèãæ¹ããèŠããŠãã人ã¯å€ãããã§ããããããæ£ããèªãã«ã¯åæç¥èãå¿ èŠã§ããäŸãã°è¥ã人㯠20 幎以äžãåã«ãªããªã£ã DEC ãšããäŒç€Ÿã®ããšãªããç¥ããªãã®ã§ãããããå§ããå¿ èŠããããŸãããããããåžžèã ããšãã人ãããããç¥ããŸããããããããªã人ã«ã¯å šããããããªã話ã§ãããã®æ¬ãèªããšãã®éåã¯ãæè¡æžãšããŠèªãŸãªãããšãã§ãããã®æ¬ã«æžãããæè¡çå 容ã¯ãã®ãŸãŸæããã®ã§ã¯ãªãå€åœ¢ã»æ¡åŒµããŠèããå¿ èŠããããŸããæžãããå 容ã«ãã®ãŸãŸåŸãã®ã§ã¯ãªããæä»£èæ¯ãç¥ããæç« ã®æå³ãæ±²ã¿åããä»ã®æä»£ã«å¯Ÿå¿ãããŠèªã¿æ¿ããããšãã§ããªã人ã¯ãUNIX ãšããèãæ¹ãã§ UNIX å²åŠãåŠã¶ããšã¯ãªã¹ã¹ã¡ã§ããŸããã
ãšãŸãããããæ¹å€çãªããšãæžããŸããããåèãè¯æžãšåŒã¶äºã«ç°è«ãããããã§ã¯ãããŸããããã èªãã®ã«æ³šæãå¿ èŠãšããããšã§ãããã®èšäºã¯ãUNIX ãšããèãæ¹ããèªãã§åéãããªãããã«ããããã®ãã¬ã³ã«ãŒãºã® UNIXå²åŠãã®è§£èª¬èšäºã»ã»ã»ã®åç·šã§ããæ¬åœã¯ããå°ã UNIX å²åŠã®å 容ã«èžã¿èŸŒã¿ããã£ãã®ã§ãããæç« éã®éœåã§åŸç·šã«åããŸãããŸãã¯è¬ã®ããŒã«ã«å ãŸããŠããèè ã®ã¬ã³ã«ãŒãºã¯äžäœäœè ãªã®ãïŒäœãèããŠããã®ãïŒã«è¿«ããããšæããŸãã
ãªããUNIX ãšããèãæ¹ãããªã¹ã¹ã¡ã§ããªããªãä»ã«äœããããã ãïŒãšèããã人ã®ããã«äžäŸã玹ä»ããŠãããŸããUNIX å²åŠã«èå³ããã人ã«ã¯ãç§ã¯ä»¥äžã®æ¬ã®æ¹ããªã¹ã¹ã¡ããŸãã
-
The Art of UNIX ProgrammingïŒãUNIXãã«èå³ããã人åãïŒ
- ã䌜èãšãã¶ãŒã«ãã§æåãªãšãªãã¯ã»ã¬ã€ã¢ã³ãã«ããããäžã€ã® UNIX å²åŠæ¬
- 2003 幎åºçãªã®ã§ãUNIX ãšããèãæ¹ããããçŸä»£çã§ãã
- UNIX ããã³ Linux ã®æè¡çãªè©±ã¯ãã¡ãã®æ¹ãå§åçã«è©³ãããŠå®è·µãã
- Unix ã®é·æã ãã§ã¯ãªãçæãèªã£ãŠããå ¬å¹³ã§ãã
- åŒçšå ãæèšããŠããããæ£ãããã©ãããèå¯ããŠããå 容ã«çŽåŸã§ãã
- è±èªçãªãç¡æã§èªãã
-
人æã®ç¥è©±ïŒãèãæ¹ãã«èå³ããã人åãïŒ
- åçã¯ãUNIX ãšããèãæ¹ãã® 1994 幎ãããæŽã«å€ã 1975 幎
- UNIX ãããå€ãã¡ã€ã³ãã¬ãŒã çš OS ã®éçºã®è©±
- ãããŸã§å€ããŠç°ãªãæè¡ã ãšéã«ãã®ãŸãŸåŸããšããçºæ³ããªããšæã
- çµå±ãœãããŠã§ã¢éçºã®åºæ¬çãªèãæ¹ã¯æãä»ãå€ãã£ãŠãªããšããããšãããã
ãã®èšäºã¯ãåèèšæ£ã·ãªãŒãºã第äºåŒŸã§ãã第äžåŒŸã¯ãåèãå ¥éUNIXã·ã§ã«ããã°ã©ãã³ã°ãã®è¶ 詳现ãªã¬ãã¥ãŒãããŠã¿ããã§ãã第äžåŒŸããããã©ããã¯æªå®ã§ãã
ãUNIX ãšããèãæ¹ããèªãäžã§ã®åæç¥è
ãã®æ¬ã¯ã¬ã³ã«ãŒãºã®å人ã®èããšäººç芳ãåæ ããããã®ã§ãã
æè¡æžã«éããåäººãæžããæžç±ã¯å人ã®èãã人ç芳ãåæ ãããã®ãåœããåã§ããããã®æ¬ã¯ãããšãããã«ããèšè¿°ã«ãªã£ãŠããŸãããUNIX ãšããèãæ¹ãã¯å®å šã«æ€èšŒãããæ£ããèšè¿°ã ããæžãããæç§æžã§ã¯ãããŸããïŒæç§æžã§ãã£ãŠãééã£ãããšã ããã®æ¬ãå€ã ããã§ç§ã¯ç¡æ¡ä»¶ã§ä¿¡çšããããšã¯ãããŸãããïŒãç§ã¯æåãåæç¥èãæããªãç¶æ ã§ãã®æ¬ãèªãã æã«ããã㯠UNIX å²åŠã®æç§æžçãªãã®ãªã®ã ãããïŒãšåéãããŠããŸããŸããããã®çç±ã®äžã€ã¯æç« ãæå®èª¿ã§æžãããŠããããã§ããïŒå€ãã®äººããèªããããïŒæå±è ã®å Žåãçè«ã蚌æããäžã§ã®ããšã§ããã°æå®èª¿ã§ãæ§ããªããšæãã®ã§ãããã¬ã³ã«ãŒãºã®å Žåã¯ããã§ã¯ãããŸããããããã¬ã³ã«ãŒãºãäžäœäœè ãªã®ãã®æ¬ããã¯ãããã«ãããããæå®èª¿ã ããäžã®äžã§åºãèªããããæå±è ãªã®ã ãããšåéããããããåé¡ããããŸãã
ä»ã«ãåéããåŒãèµ·ãããããªãã®ãšããŠã¯ wikipedia ã®äžæ£ç¢ºãªèšè¿°ããããŸãã2022 幎 7 æ 14 æ¥æç¹ã§ã®ãã¬ã³ã«ãŒãº: UNIXã®å²åŠãã®èª¬æã«ã¯ä»¥äžã®ããã«æžãããŠããŸãã
1994幎ããã€ã¯ã»ã¬ã³ã«ãŒãºïŒX Window SysteméçºããŒã ã®äžå¡ïŒã¯ãUNIXã§åŸãçµéšãšãååããã°ã©ããŒãUNIXã«äŸåããä»åéã®äººã ãšã®è°è«ã掻ããã以äžã®9ã€ã®è³äžåœä»€ã«éçŽããããUNIXå²åŠããåµåºããã
ãè³äžåœä»€ãã®æå³ã¯ãçµ¶å¯Ÿã«æåŸããªããã°ãªããªãåœä»€ãã§ããwikipedia ã®æç« ãåèã«ããŠãããªããšããã®ã¯ãããèšãããŠãã話ã§ããæ¥æ¬èªã® wikipedia ã¯ç¹ã«ã²ã©ãã§ãããã®æç« ã¯ãen:Unix philosopy (00:34, 16 May 2008 UTC) ã翻蚳ããããã®ã§ãããå ã®æç« ã¯ãparamount preceptsãã§ããããããŠãæéèŠã®æèšããšããã¹ãã§ãåŸè¿°ã®ãThe 10 lesser tenetsãã«å¯Ÿå¿ãããŠãäž»èŠãªæèšãããã¹ããªã®ã§ã¯ãªãããšæããŸããæèš (precepts) ãåœä»€ã«å€ãã£ãŠããã»ãšãã©èª€èš³ã§ãããšèšããŸãïŒæ³šæ 翻蚳è ãéé£ããæå³ã¯ãããŸããïŒããè³äžåœä»€ããéµåã¿ã«ããŠããŸããšã¬ã³ã«ãŒãºã®å人ã®èããè³äžåœä»€ã®ããã«åéãããŠããŸãã®ã¯ä»æ¹ãªã話ã§ãããã
ã¬ã³ã«ãŒãºã¯ä»ã¯ç¡ãã³ã³ãã¥ãŒã¿äŒç€Ÿ DEC ã®ããã°ã©ããŒ
"ã¬ã³ã«ãŒãºã®" UNIX å²åŠã玹ä»ãããUNIX ãšããèãæ¹ãã¯ïŒãªããæ¥æ¬ã§ïŒæåãªãã®ã«ãªã£ãŠããããã§ãããã¬ã³ã«ãŒãºã¯ UNIX ãéçºãã AT&T ã®äººéã§ã¯ãããŸãããDEC ãšããä»ã¯ååšããŠããªãæã®æåãªã³ã³ãã¥ãŒã¿äŒç€Ÿã®ããã°ã©ããŒïŒå Œã³ã³ãµã«ã¿ã³ãïŒã§ãããããåãããããªããšã¯æžããŠããã®ã§ããæç¢ºã«ã¯æžãããŠããªããããæ°ãã€ããŠãªã人ãçµæ§ãããããªæ°ãããŸããwikipedia ã«ã¯ãX Window System éçºããŒã ã®äžå¡ããšæžããŠããã®ã§ããããããããæžãã¹ãäºã¯ãDEC ã® ããã°ã©ããŒãã ãšæãã®ã§ããããã®ããã«æžããŠããã®ã¯å°ã äžæè°ã§ãªããŸããã
UNIX 㯠DEC ã®ã³ã³ãã¥ãŒã¿ïŒããã³ã³ïŒã® PDP-7 ã§åã OS ãšããŠäœãããŸããããã®ç¹ã§ UNIX ã®èªçãš DEC ã«ç¹ããã¯ããã®ã§ãããUNIX ã®åµå§è ã§ããã±ã³ã»ãã³ããœã³ã PDP-7 ãéžãã çç±ã¯ã瀟å ã§èŠã€ãã廿£å¯žåã«ãªã£ãŠããå€ãã³ã³ãã¥ãŒã¿ã PDP-7 ã ã£ããšããçšåºŠã®ãã®ã§ããäžæ¹ãDEC 㯠UNIX ãéçºããã以åãã TOPS-10 ã RSX-11 ãšãã£ãèªç€Ÿã®ç¬èª OS ãéçºããŠãããDEC ãç¬èªã® UNIIX ãéçºããã®ã¯ AT&T ã§ UNIX ãéçºããã 1969 幎ãã 10 幎åŸã® 1980 幎ã§ãããã㯠Research Unix ãšããŠæåŸã«åºãå ¬éããã Version 7 Unix ã®éçºãããåŸã®ããšã§ãã
ç§ã調ã¹ãéãã¬ã³ã«ãŒãºã¯ DEC ã®ããã°ã©ããŒã®äžäººã«éããïŒãããªãã®å°äœã«ãã£ãã®ã ãããšã¯æããŸããæ å ±ã¯æ®ã©èŠã€ãããŸããïŒãUNIX åµå§è ãã¡ãšç¹ã«ã€ãªããããã£ãããã§ããªãããã§ããã€ãŸããUNIX ãšããèãæ¹ãã«ããããŠããã"ã¬ã³ã«ãŒãºã®" UNIX å²åŠããšããã®ã¯ãå€éšã®äººéãåŸããæã¡ç«ãŠãå²åŠã ãšããããšã§ãã
èµ·æºã® UNIX å²åŠ (1973) ãšã¬ã³ã«ãŒãºã® UNIX å²åŠ (1994)
UNIX å²åŠã®èµ·æºãšãªãèãæ¹ã¯ 1973 幎㫠AT&T ãã«ç ç©¶æã§èªçããŸãããããã¯ã¬ã³ã«ãŒãºãèªèº«ã® UNIX å²åŠãæã¡ç«ãŠã 20 幎åãåã®ããšã§ããå人çã«ã¯ 1973 å¹Žã®æç¹ãããUNIX å²åŠ (Unix philosophy)ããšãã"èšè"ã䜿ããããã©ããã¯çåã®äœå°ããããšæã£ãŠããŸããããããªããšã 1989 幎ã«è¡ããã AT&T ã®ãã°ã©ã¹ã»ããã«ãã€ãžã®ã€ã³ã¿ãã¥ãŒã§ãUNIX å²åŠããšããèšèã䜿ãããŠãããUNIX å²åŠãšèšããã"èãæ¹"ïŒå¥ã®èšãæ¹ããããš UNIX ã¯ããŒã«ã®ã³ã¬ã¯ã·ã§ã³ãšããèãæ¹ïŒã¯ 1973 幎ã«ãã€ãã®èªçãšå ±ã«çãŸãããšæããã«ãªã£ãŠããŸãïŒåè Pipe: How the System Call That Ties Unix Together Came AboutïŒã
ããã«ãã€ã¯ UNIX éçºã®åæã®é ããåå ããŠãããããã°ã©ã ãšããã°ã©ã ãæ¥ç¶ããæ¹æ³ãããªãã¡ãã€ãã®å®è£
ããã³ããœã³ã«åŒ·ãææ¡ããŠãã人ç©ã§ããããã«ãã€ãããã°ã©ã å士ãç¹ããæ¹æ³ãå¿
èŠã ãšèããã®ã¯ 1964 幎ãUnix ã®èªçãããåã®ããšã§ãã®æã®ã¡ã¢ãæ®ã£ãŠããŸãïŒãã ããã€ããšåæ§ã®ä»çµã¿ã¯ 1964 幎㮠DTSS ã®ã³ãã¥ãã±ãŒã·ã§ã³ãã¡ã€ã«ãšããåäŸããããŸãïŒãããã«ãã€ã¯ 1970 幎ãã 1972 幎ã«ãããŠãã³ããœã³ã«äœåºŠããã€ãã®æ¡ãææ¡ããŸãããããŠããæ¥ããã€ãã«åãããã·ã§ã«ã®æ§æãèãã ããæã«ãã³ããœã³ãå®è£
ãããšæ±ºæããŸãïŒãšããããã³ããœã³ãæ ¹è² ãããæãã§ãïŒããã®è©±ã«ã€ããŠã¯ Interview with M.D. McIlroy Murray Hill, 18 August 1989 ã«è©³çŽ°ãæžãããŠããŸããã¡ãªã¿ã«ãã€ãã | ã§è¡šãã®ã¯ãã³ããœã³ã®çºæ¡ã§ããããã«ãã€ã¯ > ãææ¡ããŠããŸããã
ã¬ã³ã«ãŒãºã® UNIX å²åŠãšããã®ã¯ãããã«ãã€ã® UNIX å²åŠãèªçããŠãã 20 幎åŸã«æã¡ç«ãŠããããã®ã§ããããŸã§ã®ããŸããŸãªäººã®èãæ¹ããŸãšãããã®ã«éããŸãããããããUNIX ãšããèãæ¹ãã«ã¯ãã®äºãæžãããŠããŸãããåºæã«ã¯ã¬ã³ã«ãŒãºã UNIX ã®èãæ¹ã«ã€ããŠè§£èª¬ããŠããæžç±ã¯ç¡ããã®ãïŒãšæåã«èããã®ã¯ 1991 幎ãšãããŸããã§ããã° 1989 幎ã®ããã«ãã€ãžã®ã€ã³ã¿ãã¥ãŒãèŠã€ããŠããŠããããããããŸããããç¥ã£ãŠãç¥ãããããã«ãã€ã®ååããåºãŠããŸããããã®ãã UNIX å²åŠã«ã€ããŠãUNIX ãšããèãæ¹ãããèªãã§ããªããããªäººã¯ãã¬ã³ã«ãŒãºã® UNIX å²åŠãå¯äžã®å ¬åŒãª UNIX å²åŠã§ãã¬ã³ã«ãŒãºãæ£çµ±ãª UNIX å²åŠã®æå±è ã§ãããšåéãããŠããŸãå¯èœæ§ããããŸããã¬ã³ã«ãŒãºã® UNIX å²åŠã¯ããããã UNIX ã«é¢ãã£ãŠããç¥äººãååããæèŠãéããŠäœã£ãèã®æ ¹çãªãã®ã§ãã絶察ã«å®ããªããã°ãããªãæåŸçãªèŠåã§ããªãããããã颚ã«èããŠãã人ãããŸããçšåºŠã®ãã®ã§ãã
1973 幎ã®ãã€ãã®èªçã«ãã£ãŠããã°ã©ã ãšããã°ã©ã ãã€ãªããããšãå¯èœã«ãªããŸããããããããUNIX ã¯ããŒã«ïŒã³ãã³ãïŒã®ã³ã¬ã¯ã·ã§ã³ã§ããããšããèãæ¹ãçãŸããŸããããã UNIX å²åŠã§ãããã®åŸã«åºçãããæ¬ã1976 幎ã®ãSoftware ToolsãïŒæ¥æ¬èªç㯠1981 幎åºçã®ããœãããŠã§ã¢äœæ³ãïŒãšããã¿ã€ãã«ããããœãããŠã§ã¢ããŒã«ãšããèãæ¹ãçãŸããŠããããšãããããŸãããã®æ¬ã®èè 㯠AT&T ã®ãã©ã€ã¢ã³ã»ã«ãŒããã³ãš P. J. ãããŒã¬ãŒã§ãããã®æ¬ã§ã¯ãã€ãã§ã€ãªãåãããŠåããããšãã§ããããŒã«ïŒã³ãã³ãïŒãã©ã®ããã«äœãã¹ãããšããããšã説æãããŠããŸããã¢ã«ãŽãªãºã ãèããŠèªåã§ããŒã«ãäœã£ãŠãããšãã圢ã®èª¬æã§ãããå€ãæãããã®ãšæ¬äŒŒèšèªã䜿ãããŠãã®ã§å°ã çã匷ãã§ããã«ãŒããã³ã¯ãããã°ã©ãã³ã°èšèª Cãã®èè ãšããŠãæåã§ãã
ãŸããUNIX å²åŠããã®ãã®ã§ã¯ãããŸããããå²åŠããŸãã¯ãUNIX ããã°ã©ãã³ã°å²åŠããšããçšèªã§ããã° AT&T ã®ãã©ã€ã¢ã³ã»ã«ãŒããã³ãšããã»ãã€ã¯ã 1984 幎ã«åºçãããThe UNIX Programming EnvironmentãïŒæ¥æ¬èªçã¯ãUNIX ããã°ã©ãã³ã°ç°å¢ãïŒã®äžã§äœ¿çšããŠããŸãããã®æ¬ã®ãã¯ããã«ãã§èè ã¯ãUNIXã广çã«ããŠããã®ã¯ãããã°ã©ãã³ã°ãžã®ã¢ãããŒãã®ä»æ¹ãã€ãŸãã³ã³ãã¥ãŒã¿å©çšã®å²åŠã§ããããã®å²åŠãäžèšã§æžãã€ããããšã¯ã§ããªããããããã®æ žå¿ã«ããã®ã¯ãã·ã¹ãã ã®åãšããã®ã¯ãåã ã®ããã°ã©ã ãããããããã®ã€ãªããæ¹ã«ãããšããèãã§ãããUNIXã®å€ãã®ããã°ã©ã ã¯ãããããç¬ç«ã«æ¥µããŠçްããªä»äºããããããããä»ã®ããã°ã©ã ãšçµåãããšãæ±çšçã§åœ¹ã«ç«ã€ããŒã«ãšãªãã®ã§ãããããš UNIX ã®ããã°ã©ã ïŒã³ãã³ãïŒã¯ããŒã«ã§ãããããããçµã¿åãããããšã®éèŠæ§ã説æããŠããŸãã
UNIX å²åŠãšããŠæåãªãã®ã«ã¯ãäžã€ãã¬ã€ã¢ã³ãã® UNIX å²åŠãããããŸããã¬ã€ã¢ã³ãã® UNIX å²åŠã¯ 2003 幎ã«åºçããããThe Art of UNIX Programmingãã®äžã§è©³çްã«è§£èª¬ãããŠããŸããïŒã¬ã€ã¢ã³ãã®ãã€ã¯ãUNIX ææ³ãã§ã¯ãªãã®ãïŒãšèãã人ãžèª¬æãããšããã¯èš³ãç°ãªã£ãŠãã ãã§åèã§ã¯ã¡ãããšãUNIX Philosophyããšãªã£ãŠããŸãïŒãUNIX å²åŠã«åŸã£ãããã°ã©ã ãæžãã®ã§ããã°ãã¡ããåèã«ããæ¹ãè¯ãã§ãããããããUNIX ãšããèãæ¹ãã¯æè¡çãªè§£èª¬ãçããŠããã®ã§ãUNIX å²åŠã«åŸã£ãããã°ã©ã ã®æžãæ¹ã¯ããããŸããã
ãã®ããã« UNIX å²åŠãšããã®ã¯èª°ãäžäººãèãåºãããã®ã§ã¯ãªããã¬ã³ã«ãŒãºã® UNIX å²åŠãæåã§ãå ¬åŒã§ããªããšããããšãããããšæããŸãã
ããã«ãã€ã® UNIX å²åŠ (1978)
AT&T ã§ UNIX å²åŠãšããèãæ¹ãçãŸããã®ã¯ 1973 幎ã§ããããããåããŠææžåãããã®ã¯ 1978 幎ã«çºè¡šãããè«æ Unix Time-Sharing System: Foreword ã§ããããããããã«ãã€ã® UNIX å²åŠããšåŒã¶ããšã«ããŸããïŒä»¥äžã®æç« ã¯ãThe Art of UNIX Programmingãã®æ¥æ¬èªçã«æžããããããã«ãã€ã® UNIX å²åŠãã®åŒçšã§ãïŒ
(i) åã ã®ããã°ã©ã ã¯1ã€ã®ããšããã£ããããããã«ãããæ°ããä»äºããããªããæ°ããæ©èœã远å ããŠå€ãããã°ã©ã ãè€éã«ããã®ã§ã¯ãªãããŸã£ããæ°ããããã°ã©ã ãäœãã
(ii) ãã¹ãŠã®ããã°ã©ã ã®åºåã¯ãä»ã®æªç¥ã®ããã°ã©ã ã®å ¥åã«ãªãã®ã ãšããããšãäºæ³ãããäœåãªæ å ±ã§åºåããã¡ããã¡ãã«ããŠã¯ãªããªãã瞊æ¹åã®äžŠã³ãå³å¯ã«æãããïŒäžèšè£è¶³åç §ïŒããã€ããªå ¥å圢åŒã䜿ã£ããããããšãé¿ããã察話çãªå ¥åã«ãã ãããªã
(iii) ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ãã£ãŠãããœãããŠã§ã¢ã¯æ©ãïŒã§ããã°æ°é±é以å ã«ïŒè©Šããããã«èšèšãæ§ç¯ããããŸããéšåã¯æšãŠãŠäœãçŽãããšãèºèºãããªã
(iv) æèœã®äœãè ã«æäŒã£ãŠãããããããªããããã°ã©ãã³ã°ã®ä»äºãæç¢ºã«ããããã«ããŒã«ã䜿ããããŒã«ãäœãããã«é åãããªããã°ãªããªãå Žåã§ãã䜿ã£ãããšã§äžéšã®ããŒã«ãæšãŠãããšã«ãªãããšãããã£ãŠããå Žåã§ããããŒã«ã䜿ãã
è£è¶³ åæžã§ã¯ãAvoid stringently columnarããšæžãããŠãããããããã¹ããŒã¹ã§äœçœ®èª¿æŽããã®ã¯é¿ããããšããæå³ã ãšæãããŸããèŠãç®ã®ããã®äœçœ®èª¿æŽã¯äœåãªæ
å ±ã§ãããã³ãã³ãã«ãã£ãŠã¯ã¹ããŒã¹ã®æ°ã®éãã§ç°ãªãåäœãè¡ããŸããïŒåè Why should you avoid "stringently columnar" input formats?ïŒãã¡ãªã¿ã« ls -x ã®èª¬æã«ã columnar ãšããçšèªã䜿ãããŠããã«ã©ã 衚瀺ïŒã€ãŸãã¹ããŒã¹ã«ããäœçœ®èª¿æŽïŒã«é¢ä¿ããæ©èœã§ãã
äžèšã®ãããã«ãã€ã® UNIX å²åŠãã®ãèŠçŽããã®ãå çšã® 1989 幎ã®ã€ã³ã¿ãã¥ãŒã®å 容ã§ãã
McIlroy: Yes, the philosophy that everybody started putting forth, âThis is the Unix philosophy. Write programs that do one thing and do it well. Write programs to work together. Write programs that handle text streams, because that is a universal interface.â
翻蚳 ããã«ãã€: ã¯ããçãæã¡åºãå§ããå²åŠãããã UNIX å²åŠã ãäžã€ã®ããšãããŸãããããã°ã©ã ãæžãã飿ºããŠåäœããããã°ã©ã ãæžããããã¹ãã¹ããªãŒã ãæ±ãããã°ã©ã ãæžãããªããªãããã¯æ®éçãªã€ã³ã¿ãŒãã§ãŒã¹ã ã
ãããã°ã©ã ãæžãããšèšã£ãŠããããšããããããããã«ããã°ã©ã ãæžãããšãåºæ¥ãããã°ã©ãã®ããã®å²åŠã§ãããã¬ã³ã«ãŒãºã® UNIX å²åŠãã«æ¯ã¹ãŠãããã«ãã€ã® UNIX å²åŠãã¯ããã»ã©ã®å€ãã®ããšãèšã£ãŠããªããšããããšã«æ³šæããŠãã ãããã¬ã³ã«ãŒãºã® UNIX å²åŠãšããã®ã¯åŸããïŒèª°ãã®èãã§åæã«ïŒè¿œå ããããã®ãªã®ã§ããããã«ãã€ã® UNIX å²åŠã§ã¯ C èšèªã䜿ããšãã·ã§ã«ã¹ã¯ãªããã䜿ããšãèšã£ãŠããŸãããããã§ããããã°ã©ã ãšã¯ CLI ã³ãã³ãã®ããšãæããŠãããšæããŸãããããèªããš CLI ã³ãã³ãã«ãããšããã€ãã䜿ããšãèšã£ãŠããªããšããããšã¯éèŠãªäºå®ãããããŸãããã€ãŸããµãŒãã¹ïŒããŒã¢ã³ïŒãäœã£ãŠ HTTP ãããã³ã«ã§ããåããããããªå Žåã§ãã飿ºããŠåäœããããã°ã©ã ããšèšããã¯ãã§ãã
DEC ãšããã³ã³ãã¥ãŒã¿äŒç€Ÿã«ã€ããŠ
DEC 㯠ã³ã³ãã¥ãŒã¿äŒç€Ÿã®ååã§ãã20 幎以äžãåã«ãªããªã£ãŠããŸã£ãã®ã§ä»ã§ã¯éŠŽæã¿ã®èãäŒç€Ÿãšãªã£ãŠããç¥ããªã人ãå€ãã§ããããå®ã®æãç§ã DEC ã®äºã¯ããç¥ããŸãããæçæã¯ IBM ã«æ¬¡ãã§äžç 2 äœã®ã³ã³ãã¥ãŒã¿äŒç€Ÿã§ããã«ãŒæ°è³ªã®äŒç€Ÿã ã£ãããã§ãããUNIX ãšããèãæ¹ã㯠DEC ã®ã¬ã³ã«ãŒãºãèŠã UNIX ã®äžçãæžãããŠããã®ã§ãæ¬ã«æžããŠããããšãçè§£ããã«ã¯ DEC ã®ããšãããçšåºŠç¥ãå¿ èŠããããŸããæ¬¡é ã«æŽå²å¹Žè¡šããŸãšããŠããã®ã§ããããåèã«ããªããèªããšãããããããšæããŸãã
DEC 㯠UNIX ãèªçãããããåããããã³ã³ãšåŒã°ããã³ã³ãã¥ãŒã¿ãçºå£²ããŠããŸãããããã³ã³ã¯ãã®åã®éãããã³ã³ãã¥ãŒã¿ã®ç¥ã§ãããããšèšã£ãŠãã·ã¹ãã å šäœã§æ¬æ£ãããã®å€§ããããããŸãããããã³ã³ããããªã³ã³ãã¥ãŒã¿ã§ãããªãã°ãããã§ã¯ãªãã³ã³ãã¥ãŒã¿ããããŸããããã 1960 幎代ããç¶ãã¡ã€ã³ãã¬ãŒã ã§ããã¡ã€ã³ãã¬ãŒã ã¯å€§åã§é«äŸ¡ãªã³ã³ãã¥ãŒã¿ã§ãã£ããããæ°è»œã«è²·ãããããªãã®ã§ã¯ãããŸããã§ããããããã£ãäžã§èªçããããã³ã³ã¯å®äŸ¡ããšèšã£ãŠãä»ã®ã³ã³ãã¥ãŒã¿ã«æ¯ã¹ãã°é¥ãã«é«ãã®ã§ãããããœã³ã³ãæ®åãããŸã§ã¯äŒç€Ÿã®ãªãã£ã¹ã倧åŠã®ç 究宀ãªã©ã§åºã䜿ãããŠããŸããã
DEC 㯠PDP ã·ãªãŒãºãšããããã³ã³ã販売ããŠããŸããããã³ããœã³ã¯å€ããŠå»æ£å¯žåã«ãªã£ãŠãã PDP-7 ãèŠã€ããPDP-7 çšã® OS ãšã㊠UNIX ãéçºããŸããã¡ã€ã³ã¡ã¢ãªã¯ããã 8 KB ãããããŸããã§ãããæåã® UNIX ã¯ã¢ã»ã³ãã©ã§æžãããã«ãããã°ã©ãã³ã°ã«ã察å¿ããŠãããç§»æ€æ§ããããŸããã§ãããUNIX ã¯åŸç¶æ©çš®ã® PDP-11/20 ãªã©ã§åäœããŸããããåœæã¯ãŸã æ§ã ãªã¢ãŒããã¯ãã£ã®ã³ã³ãã¥ãŒã¿ãäœãããŠããæä»£ã§ãPDP ãç°ãªãæ©çš®ã§å¿ ãããäºææ§ããã£ãããã§ã¯ãªããUNIX ã察å¿ããŠããæ©çš®ã¯ãããªã«å€ãã¯ãããŸããã§ãããã¡ãªã¿ã« PDP-11/20 ã®ã¡ã€ã³ã¡ã¢ãªã¯ 24 KBãååãªç§»æ€æ§ãå®çŸãã 1979 幎㮠Version 7 Unix æç¹ã® PDP-11/70 ã§ 64 KB ã ã£ãããã§ãïŒåèïŒãã¡ãªã¿ã« 16 ãããã¢ãŒããã¯ãã£ã§ãã
ãã®åŸ DEC 㯠PDP-11 ã®åŸç¶ãšãªã VAX ã¢ãŒããã¯ãã£ã®ã³ã³ãã¥ãŒã¿ãéçºããŸããVAX 㯠32 ãããã¢ãŒããã¯ãã£ã®ã³ã³ãã¥ãŒã¿ã§ããããã®ç¿å¹Ž DEC 㯠VAX/VMSïŒåŸã« VMS ãšç¥ãã OpenVMS ãšååã倿ŽãããïŒãšããç¬èªã® OS ãéçºããŸããOpenVMS ã¯çŸåšãéçºãç¶ããŠããã¯ããŒãºããœãŒã¹ã® OS ã§ããOpenVMS ã® Open ã¯ãªãŒãã³ãœãŒã¹ãšããæå³ã§ã¯ãªããªãŒãã³ã·ã¹ãã ãšããæå³ã§ããVMS ã®ããšã¯ããç¥ããªãã®ã§ãããåœæã®æç¹ã§ DECwindows ãšãã GUI ãåããã¿ã€ã ã·ã§ã¢ãªã³ã°ã·ã¹ãã ã§ååã«å®æåºŠãé«ã OS ã§ãã£ãããã§ããã€ãŸã DEC 㯠1977 å¹Žã®æç¹ã§ç¬èªã®ã³ã³ãã¥ãŒã¿ãšç¬èªã® OS ãæã«å ¥ããŠããããšã«ãªããŸãããã®ãã DEC ã®åµå§è ã®ã±ã³ã»ãªã«ã»ã³ã¯ PC ãš UNIX ã«èå³ãæã£ãŠããªãã£ãããã§ãããã®å€æã®èª€ããåŸã« DEC ã®æ¥çžŸã倧ããæªåãããããšã«ç¹ãããŸãã
ããã§ã DEC å ã« Unix ã®ãµããŒãã«èå³ãæã£ãŠãã人ã¯ããããã§ãDEC ã« Unix ãæã¡èŸŒããã£ãããšã㊠Unix Engineering Group (UEG) ãç«ã¡äžãããŸããã¬ã³ã«ãŒãºã¯ ïŒç«ã¡äžããæãããªã®ãã¯äžæã§ããïŒUEG ããŒã ã®ã¡ã³ããŒã§ãã1980 幎㫠UEG ããŒã 㯠Version 7 Unix ã®ä¿®æ£çã§ãã V7M ããªãªãŒã¹ããŸããããã DEC ãéçºããæåã® Unix ã§ãããã ãå ¬åŒãµããŒãã§ã¯ãªãã£ãããã§ãïŒåèïŒããã®åŸ 1982 幎㫠DEC ã§å ¬åŒã«ãµããŒãããã 4.2 BSD ããŒã¹ã® Ultrix ãéçºãããŸããUltrix 㯠PDP-11 察å¿ã® Ultrix-11 ãš VAX 察å¿ã® Ultrix-32 ããããŸããããPDP-11 ã®çµæ¯ãšãšãã«åã« Ultrix ãšåŒã°ããããã«ãªããŸããä»ã® UNIX ãã³ããŒãšåæ§ã« Ultrix ãã¯ããŒãºããœãŒã¹ã§ãããUltrix 㯠4.2BSD ããŒã¹ã§éçºãå§ãŸããŸããããããŒãžã§ã³ã¢ãããšãšãã« 4.3BSD ã®äžéšã®æ©èœã System V ã®æ©èœãåã蟌ãã§ãããŸããã
1990 幎é ã« PC ã®äžçã« 32 ãããã·ã¹ãã ãç»å Žã DEC ã®ã·ã§ã¢ã¯å€§ãã奪ããå§ããŸããããã§ 1992 幎ã«ã¯ VAX ã¢ãŒããã¯ãã£ã®åŸç¶ãšã㊠64 ãããã·ã¹ãã ã§ãã Alpha ã¢ãŒããã¯ãã£ãæå ¥ããŸããUltrix 㯠Alpha ã«ã¯ç§»æ€ãããã代ããã« OSF/1ïŒ1995 幎㫠Digital UNIX ãžãšåå倿ŽïŒã«çœ®ãæããããŸããOSF/1 ã¯ãã®é ã«çºçãã UNIX æŠäºã§ AT&T é£åã«å¯ŸããŠãDEC ãæå±ããŠãã Open Software Foundation (OSF) ãéçºãã Unix ã§ããç¥çè²¡ç£æš©ã䟵害ããªããã System V ç³»ã§ã BSD ç³»ã§ããªã UnixïŒMach ãã€ã¯ãã«ãŒãã«ïŒãšããŠéçºãããŸããã
äžæ¹ã§ UNIX æŠäºã®è£ã§ããªãŒãœãããŠã§ã¢æåãèªçããŸããUNIX æŠäºã§ç²åŒãã UNIX æ¥çãæšªç®ã« 1996 幎ã«èªçãã Linux 㯠PC ã®æ§èœåäžãšãšãã«å¢åã䌞ã°ãç¶ããŸããäžæ¹ PC ã軜ãããŠãã DEC ã¯æ¥çžŸãå埩ããããšã¯åºæ¥ã 1998 幎㫠ã³ã³ããã¯ã«è²·åãããŠããŸããŸãããã㊠Digital UNIX 㯠1999 幎㫠Tru64 UNIX ã«ååãå€ãããŸãã ãã®åŸ Alpha é¢é£ã®ç¥çè²¡ç£æš©ã¯ 2001 幎㫠Intel ã«å£²åŽããã2002 幎ã«ã¯ãã¥ãŒã¬ããã»ããã«ãŒããã³ã³ããã¯ãåžåå䜵ããŸããTru64 UNIX 㯠2012 幎ã«ãµããŒããçµäºããŸããã
UNIX ãš UNIX å²åŠã«é¢ãã幎衚
| | UNIX | BSD | DEC | MSãApple | UNIX å²åŠ |
| :--: | ------------ | ---------- | ----------------- | -------------- | :--------: |
| 1964 | Multics éå§ | | PDP-7 (18bit) | | |
| : | | | | | |
| 1969 | UNIX èªç | | PDP-11/20 (16bit) | | |
| 1970 | | | | | |
| 1971 | Version 1 | | | | |
| 1972 | Version 2 | | | | |
| 1973 | Version 3/4 | | | | ãã€ãå®è£
|
| 1974 | Version 5 | | | | |
| 1975 | Version 6 | | PDP-11/70 (20bit) | | |
| 1976 | | | VAX (32bit) | | |
| 1977 | | 1BSD | VMS (Closed OS) | Apple II | |
| 1978 | | | | | ããã«ã〠|
| 1979 | Version 7 | 2BSD, 3BSD | | | |
| 1980 | Xenix | 4BSD | V7M (V7) | | |
| 1981 | | 4.1BSD | | IBM PC, DOS1.0 | |
| 1982 | System III | | Ultrix-11 (2BSD) | | |
| 1983 | SVR1, SunOS | 4.2BSD | | DOS2.0 | |
| 1984 | SVR2,HP-UX | | Ultrix-32(4.2BSD) | DOS3.0 | :`: |
| 1985 | | | | | : : |
| 1986 | AIX | 4.3BSD | | | : : |
| 1987 | SVR3 | | | | : : |
| 1988 | SVR4 | | (OSF èšç«) | | : : |
| 1989 | | | | | : : |
| 1990 | | | | Win3.0, Mac | : : |
| 1991 | | | | | : : |
| 1992 | Solaris | 386BSD | Alpha 64bit,OSF/1 | Win3.1 | : : |
| 1993 | Novellã«å£²åŽ | FreeBSD | | DOS6.0, NT3.1 | : : |
| 1994 | Linux 1.0 | | | | ã¬ã³ã«ãŒãº |
| 1995 | | | Digital UNIX | Win95 | : : |
| 1996 | Linux 2.0 | | | | : : |
| 1997 | | | | | : : |
| 1998 | | | Compaqãè²·å | | :.: |
| 1999 | | | Tru64 UNIX | | |
| 2000 | Debian 2.2 | | | Win2000 | |
| 2001 | | | | WinXP, OSX10 | æ¥æ¬èªèš³ç |
| 2002 | | | | | |
| 2003 | | | | | ã¬ã€ã¢ã³ã |
è£è¶³
- 1975: ãã³ããœã³ã¯ãã«ç ãäžæäŒè·ããæ¯æ ¡ã®ã«ãªãã©ã«ãã¢å€§åŠããŒã¯ã¬ãŒæ ¡ã« Version 6 Unix ãã€ã³ã¹ããŒã«ããäœæ¥ãæäŒããããã¯åŸã« BSD Unix ãšããŠé åžãããã
- 1984-1998: ã¬ã³ã«ãŒãºã DEC ã§ããªã³ã·ãã«ã»ãœãããŠã§ã¢ã»ãšã³ãžãã¢ãåããææ
- ã¬ã³ã«ãŒãºã¯ DEC ã® Unix Engineering Group (UEG) ã«æå±
- ãã€ãã DEC ã«å€ããŠããã®ãã¯äžæ
- P63 ãããå°ããªäŒç€Ÿã§ Version 7 Unix ã䜿ã£ãŠãããã®ã§ 1979 幎ãããåŸ
- V7M ã®éçºã«ã¯é¢ãã£ãŠãªããã
- ãããã 1980-1984 ã®éã« DEC ã«å ¥ç€Ÿãããšæããã
- ã¬ã³ã«ãŒãºããUNIX ã®èãæ¹ãã«ã€ããŠã®æ¬ã¯ãªãã ãããïŒãšèããã®ã¯ 1991 幎
- 1988: POSIX.1 æšæºåïŒPOSIX.2 㯠1992 幎ïŒ
- 1989: FIPS 151-1 ç±³åœæ¿åºãã³ã³ãã¥ãŒã¿ã·ã¹ãã ã®èª¿éèŠä»¶ã« POSIX æºæ ãæå®
- FIPS 㯠2000 幎ã«å»æ¢
- 1992: VAX/VMS 㯠POSIX ã«æºæ ã OpenVMS ãšååãå€ãã
- 1992: OSF/1 ãæ¡çšãUltrix ã¯åºè·åæ¢ã
- OSF/1 ã¯æ£ç¢ºã«ã¯ DEC OSF/1 AXPã4.3 BSD-Reno ããŒã¹ã§Mach ã«ãŒãã«ã䜿çš
- OSF/1 AXP â Digital UNIX â Tru64 UNIX ãšååãå€ãã
- 1994:ãUNIX ãšããèãæ¹ãã®åæžã®åºç
- Linux åã®ãã£ã¹ããªã¯ 1996 幎ãªã®ã§ãŸã æ®åããŠããªã
- Windows 95 èªçåã§ã€ã³ã¿ãŒããããæ®åããŠããªã
- 2012: Tru64 UNIX ãµããŒãçµäº
ãUNIXãšããèãæ¹ããšããæ¬ã«ã€ããŠ
æ¥æ¬æªçºå£²ââ æ¹èšç¬¬ïŒçãLinux ãš UNIX å²åŠã(2003)
ãUNIX ãšããèãæ¹ããåºçãããã®ã¯ãåæžã 1994 å¹Žãæ¥æ¬èªçã 2001 幎ã§ãããå®ã¯åæžã§ã¯ 2003 å¹Žã«æ¹èšç¬¬ïŒç Linux and the Unix Philosophy ãåºçãããŠããŸãããªããšããããšã§ããããæã ãæ¥æ¬äººã¯åæžããã 10 幎ãå€ãæ¬ã§ UNIX å²åŠãåŠãã§ãããšããããšã§ããã©ã¡ãã«ããå€ãããšã«ã¯å€ãããŸãããã2003 幎ã«ããªããš Linux ãã€ã³ã¿ãŒãããããªãŒãã³ãœãŒã¹æåãæ®åã Unix çéã Unix çé以å€ã倧ããå€ãã£ãŠããŸãããã® 10 幎ã®å€åã¯å°ããã¯ãããŸããã
ç®æ¬¡ãèŠãéãå 容ã®ã»ãšãã©ã¯ãã®ãŸãŸã§æ°ããªç« ã远å ãããã ãã®ããã«èŠããŸãããAmazon ã®ç޹仿ã«ã¯ãå šãŠã®ç« ã Linux ãã«ããŒããããã«æŽæ°ãããŠãããªãŒãã³ãœãŒã¹ã«é¢ããå 容ãå¢ããŠãããšæžãããŠããŸãã远å ãããç« ããã®ã¿ã€ãã«ããæšæž¬ããŠããããŸã§ã®ãUNIX ãšããèãæ¹ãã®å 容ã«åœ±é¿ãäžããããªãã®ãå¢ããŠããããã¬ã³ã«ãŒãºã® UNIX å²åŠããèªãã®ã§ããã°ãèªãã§ãããªããã°ãããªãã®ã§ã¯ãªãããšæããŸãã
ãããæ®å¿µãªããç§ã¯åæžæ¹èšçã¯æã£ãŠããŸãããè±èªã ãšããã®ããããŸãããæ¥æ¬èªçã 1600 åã«å¯ŸããŠåæžã¯ 6000 åãããããã§ããæ¥æ¬èªçãå®ãããã ãã®ããã§ãããå·®åã远å ãããã ãã®æ¹èšçã§ãã®å€æ®µã¯ã¡ãã£ãšé«ãã§ã......ïŒAmazon ã§ã詊ãèªã¿ãã§ããã®ã§ãã£ãããã®éšåã ãèªãã§ããŸãïŒãããããç§ã¯ãã¬ã³ã«ãŒãºã® UNIX å²åŠãã UNIX å²åŠã®å šãŠã§ã¯ãªããšæã£ãŠããŸãã®ã§ã¬ã³ã«ãŒãºãäœãèšãããå®ã¯ããããŠæ°ã«ããŠããŸãããããã©ããã UNIX å²åŠãããœãããŠã§ã¢å·¥åŠã®äžã€ãšããèŠãŠããŸããïŒGUI ã¢ããªãã²ãŒã ãªã©æããã«é©çšå°é£ãªåéããããŸãïŒããããªããã§æ¹èšçãè²·ãæ°ãããŸããªãã®ã§ãããã®èšäºã§è²ã æžããŠããŸããæ¹èšçã«ã¯åœãŠã¯ãŸããªãå 容ãå«ãŸããŠãããããããŸããã
远å å 容ïŒLnuxãJavaããªããžã§ã¯ãæåããŠã§ããµãŒãã¹çïŒ
ããŠç®æ¬¡ãšè©Šãèªã¿ã®å 容ãããæ¹èšçã§äœã远å ãããŠããã®ããç°¡åã«èŠãŠãããšããŸãããã
- 10: Through the Glass Darkly: Linux vs. Windows
- 10.1: It's the content, stupid!
ãã®ç« ã§ã¯ã¿ã€ãã«ã©ãã Linux ãš Windows ã®æ¯èŒã§ãã©ãããããã¹ãããŒã¹ãšã°ã©ãã£ã«ã«ããŒã¹ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ¯èŒããŠããããã§ãããŸã Windows ã®ã©ãã UNIX å²åŠã«åŸã£ãŠãããã©ããåŸã£ãŠãªãããè¿°ã¹ãŠããããã§ããWindows ã§ãã£ãŠã UNIX å²åŠã«åŸã£ãŠããéšåããããšããããšãªã®ã§ããããã
- 11: A Cathedral? How Bizarre!
ãã®ç« ã§ã¯ãªãŒãã³ãœãŒã¹ã®æŠå¿µã UNIX å²åŠãšã©ã®ããã«é©åããŠããããè¿°ã¹ãããŠããããã§ããã¿ã€ãã«ã® Cathedral ã¯å€§èå ãŸãã¯äŒœèãšããæå³ã§ãããªãŒãã³ãœãŒã¹ã®éçºã¢ãã«ã«é¢ããŠã®ãšãã»ã€ã§ããã¬ã€ã¢ã³ãã®ã䌜èãšãã¶ãŒã«ãïŒç¡æã§èªããŸãïŒã«é¢ä¿ãã話ã§ã¯ãªãããšæãããŸãã
- 12: Brave New (Unix) World
- Java
- Object-Oriented Programming
- Extreme Programming
- Refactoring
- The Apache Jakarta Project
- The Internet
- Wireless Communications
- Web Services
- Artificial Intelligence (AI)
ãã®ç« ã§ã¯ Unix å²åŠãæ°ããæè¡åéã§ã©ã®ããã«æ¡çšãããŠããã®ããè¿°ã¹ãŠããããã§ããæ°ããæè¡åéã§æããããŠããé ç®ã¯ UNIX ã£ãœããªãç©ããããªããªãè峿·±ãã§ãããã¯ãå€ããæããŸãã 2003 å¹Žåœæã¯ãªããžã§ã¯ãæåãšèšãã° Java ã®æä»£ã§ãããããããªãšããã§ããããããªããžã§ã¯ãæåããã°ã©ãã³ã°ãããšã¯ã¹ããªãŒã ã»ããã°ã©ãã³ã°ãããªãã¡ã¯ã¿ãªã³ã°ããœãããŠã§ã¢å·¥åŠãšããŠéèŠãªæŠå¿µãæ®åãããã€ã³ã¿ãŒããããããŠã§ããµãŒãã¹ãã¯èª°ãã䜿ããã®ãšãªããŸããããããã«åãç¶ããã UNIX å²åŠã®èãæ¹ã¯ããã¯ã Unix éçºè ã®ãã®ã ãã§ã¯ãªããšèšããã§ãããã
翻蚳ã«ãã£ãŠæªããããéšå
ã¬ã³ã«ãŒãºã®ãå®çãã¯èª€èš³ââæ£ããã¯ãæçŸ©ãã â
ãUNIX ãšããèãæ¹ãã§ã¯ã¬ã³ã«ãŒãºãèãã䞻匵ããå®çããšåŒãã§ããŸããããå®çïŒãå¹çããç§»æ€æ§ãã¿ãããªãã€ã§ãããå®çããšã¯æ°åŠçãªå®çŸ©ã§ã¯ãå ¬çãå®çŸ©ããå°ããŠæ£ãããšããäºã蚌æãããŠãããã®ãæå³ããèšèã§ããã€ãŸããå¹çããç§»æ€æ§ã¯å¿ ãéèŠããªããã°ãããªããã®ã»ã»ã»ïŒ
ãã¡ãããããªäºã¯ãããŸãããç¶æ³ã«ãã£ãŠã¯ç§»æ€æ§ãããå¹çã®æ¹ãéèŠãªå Žåã ã£ãŠãããŸãããããå®çã ãšããã®ã¯å°ãèããã°æããã«ãããããšãããã¯ãã§ãããäžäœã©ãããçå±ã§å®çã§ããããšã蚌æããããšããã®ã§ããããïŒãããã蚌æã§ãããããªãã®ãªã®ã§ããããïŒ
ãå®çãã¯è±èªã§èšããšãtheoremããªã®ã§ãããããŠåæžã§ã¯ãå®çãã®éšåã¯ãªããšæžãããŠããã§ããããïŒå®ã¯ãtenetããšæžãããŠããã®ã§ããtenet ãšã¯ãæçŸ©ããä¿¡æ¡ããååããæå³ããèšèã§ããã¬ã³ã«ãŒãºãèšã£ãŠããããšã¯ãããã§ãã£ãŠæ¬²ãããšæã£ãŠãïŒã§ãå®éã«éãããšããããïŒããšããçšåºŠã®ãã¥ã¢ã³ã¹ã ã£ãã®ã§ãããããããããããšã§ãããå®çãã¯èª€èš³ã§ãã
åæžã§å®çãšæžããŠããªããã®ãå®çãšåŒã¶ã®ã¯èª€è§£ãæãã ãã§ãããããŸããããã®èšäºã§ã¯ãå®çãã§ãªãããšãæç¢ºã«ããããã«æå³çã«ãæçŸ©ããšããçšèªã«çœ®ãæããããšã«ããŸããã¿ãªãããç䌌ããŠã©ããã
ã¬ã³ã«ãŒãºã® UNIX å²åŠã«ã¯ã¡ã€ã³ãšãªãæçŸ©ã®ä»ã«ããããªã 10 ã® UNIX ã®èãæ¹ããšãããã®ããããŸããããã¯åæžã§ã¯ãTen Lesser TenetsããšæžãããŠããŸããLesser ãšã¯å£ã£ãŠãããšããæå³ã§ããLGPL ã® Lã¯æã¯ library ã®ç¥ã§ããã GPL ãããå£ã£ãŠãããšããæå³ã蟌ã㊠Lesser ã®ç¥ã«æ¹ããããŸããã
Lesser Tenets ã®æ¥æ¬èªèš³ã¯å£çæçŸ©ã«ãªããšæããŸãããã¡ãã£ãšãã©ã³ã¹ïŒïŒïŒãæªãã®ã§ãæºæçŸ©ããšããçšèªã䜿ãããšã«ããŸããå°æçŸ©ã ãšå°å®çã¿ããã§å£çãšãããã¥ã¢ã³ã¹ã誰ããè³æããŠããããã§ã¯ãªãããæ¶ã倱ããŠããŸãã®ã§ãæºã¬ã®ã¥ã©ãŒã¿ãããªæå³ã蟌ããŠæºæçŸ©ã§ãã
ã¬ã³ã«ãŒãºã¯UNIXå²åŠã®æç¥ã«ä»ç«ãŠäžããããïŒ
ãUNIX ãšããèãæ¹ãã® P9 ã«ã¯ãã¬ã³ã«ãŒãºã® 9 ã®"æçŸ©"ãïŒé ç®ïŒãæžãããŠããããã®äžã«ã¯
ãããŸã§ã®é ç®ã¯ãUNIX ã®éçºè ãã¡ã«ãšã£ãŠããã®æçŸ©ã«ã广µãããã®ã ãä»ã® UNIX ã«é¢ããæžç±ã«ãåãäžããããŠããã ããããUNIX ã®åºç€ããªãèãæ¹ãšããŠåºãåãå ¥ããããŠããããããã®å®çã身ã«ä»ããŠããã°ããUNIX 人ããšããŠèªããããã ããã
ãšæžãããŠããŸããã¬ã³ã«ãŒãºãèããããã«ãæçŸ©ã«ã广µãããã®ã ããšã¯ãæç¥ã«ã§ããªã£ãã€ãããªã®ã ãããïŒãšæãã€ã€ãæçŸ©ããæçŸ©ã«å¹æµãããã®ã ãã§ã¯æç« ããããããªã£ãŠããŸããå€åç§ãæçŸ©ãšèš³ãããããããããªã£ãã®ã ãããšæããAmazon ã®è©Šãèªã¿ã®ç¯å²ã«å«ãŸããŠããã®ã§èªãã§ã¿ãŸããã
The preceding list contains tenets about which UNIX developers are dogmatic. You will find similar lists in other books on UNIX, as they are the points that everyone considers to be foundational concepts of UNIX. If you adopt them, you will be considered to be a "UNIX person."
翻蚳 ãããŸã§ã®é ç®ã«ã¯ãUNIX éçºè ã¯ç¬æçã§ããããšããããšã«ã€ããŠã®æçŸ©ãå«ãŸããŠããŸããããªãã¯äŒŒããããªé ç®ãä»ã® UNIX ã«é¢ããä»ã®æ¬ã§èŠã€ããã§ããããããã¯èª°ãã UNIX ã®åºæ¬çãªã³ã³ã»ããã ãšèããŠãããã€ã³ãã ããã§ããããããªããããããæ¡çšããã°ãããªãã¯ãUNIX 人ãã§ãããšã¿ãªãããã§ãããã
ç§ã®æã翻蚳ã§ãããã¥ã¢ã³ã¹ãç°ãªã£ãŠããããã§ããæ¬æ¥ã®æç« 㯠UNIX éçºè ããã®ããã«ç¬æçã«ïŒèªèª¬ãè²ããªããšïŒèããŠããã®ã ãšããå 容ãæçŸ©ãšããŠç€ºããä»ã®æ¬ã«ã䌌ããããªèšè¿°ãããã ãããšèšã£ãŠããã ãã§ããåºãåãå ¥ããããŠãããªããŠæå®ããŠããŸããããã UNIX éçºè ãšã¯ãããã人ãã¡ãªãã ãšãã説æãããŠããã ãã§ããã¬ã³ã«ãŒãºã¯å²åŠãæã¡ç«ãŠããã£ãã®ã§ã¯ãªãããã UNIX éçºè ãã¡ã®èãã説æãããã£ãã ããªã®ã§ãã
誰ããèªãã§ãããæåã«ãããã®çãæç« ããæ¥æ¬ã§ã¬ã³ã«ãŒãºãæç¥ã«ä»ç«ãŠäžããããšã«ãªã£ãå¯èœæ§ããããŸããåæžã確èªããå Žæã¯ããå ãã§ãããããä»ã®éšåããã®ããã«ãã¥ã¢ã³ã¹ã埮åŠã«ç°ãªã£ãŠããã®ã§ããã°ããã®æ¬ã®è©äŸ¡ã倧ããå€ããªããã°ãªããªããªããããããŸãããç§ã®èš³ïŒè§£éïŒãééã£ãŠããå¯èœæ§ããããŸãããè±èªã𿥿¬èªãã¹ã©ã¹ã©ã§ããäººã®æèŠã欲ããã§ããã
ããŠãã¬ã³ã«ãŒãºã®èããæçŸ©ãä»ã®æ¬ã«äŒŒããããªèšè¿°ããããŸãããïŒãªããã°ããã¯åºæ¬çãªã³ã³ã»ããã§ã¯ãªããšããããšã§ããã
ã¬ã³ã«ãŒãºã® UNIX å²åŠ (1994) ã® 9 ã®æçŸ©ãš 10 ã®æºæçŸ©
ã¬ã³ã«ãŒãºããUNIX ãšããèãæ¹ãã§æå±ããŠããæçŸ©ã§ããåºæ¬çã«ã¯åŸã£ãæ¹ãè¯ããšèãããããã®ã®ã絶察ã«åŸãã¹ããšãããã®ã§ã¯ãããŸããã
9 ã®æçŸ©
- ãæçŸ©ïŒãã¹ã¢ãŒã«ã»ã€ãºã»ãã¥ãŒãã£ãã«
- ãæçŸ©ïŒãäžã€ã®ããã°ã©ã ã«ã¯äžã€ã®ããšãããŸããããã
- ãæçŸ©ïŒãã§ããã ãæ©ã詊äœãäœæãã
- ãæçŸ©ïŒãå¹çããç§»æ€æ§
- ãæçŸ©ïŒãæ°å€ããŒã¿ã¯ASCIIãã©ãããã¡ã€ã«ã«ä¿åãã
- ãæçŸ©ïŒããœãããŠã§ã¢ã®æ¢åãæå¹ã«æŽ»çšãã
- ãæçŸ©ïŒãã·ã§ã«ã¹ã¯ãªããã䜿ãããšã§æ¢åã®å¹æãšç§»æ€æ§ãé«ãã
- ãæçŸ©ïŒãé床ã®å¯Ÿè©±çã€ã³ã¿ãŒãã§ãŒã¹ãé¿ãã
- ãæçŸ©ïŒããã¹ãŠã®ããã°ã©ã ããã£ã«ã¿ã«ãã
è£è¶³ ãæçŸ©ïŒãã¯æ¹èšçã§ãããŒã¿ããã©ããããã¹ããã¡ã€ã«ã«ä¿åããã(Store data in flat text files) ã«å€ãã£ãŠããŸããçç±ã¯ããããããŸããããæ°å€ã ããASCII ã ããããªããªã£ãŠããŸãããæ°å€ã ããããªãã®ã¯æ¥ä»ããŒã¿ãªã©ãèæ ®ããŠã§ããããïŒASCII ãããªãã®ã¯ Unicode ãç»å Žããããã§ããããïŒå ·äœçããããã®ã¯æä»£ã®å€åã§å€ããªãããããšããããšã®èšŒæ ã ãšæã£ãŠããŸãã
10 ã®æºæçŸ©
- ãæºæçŸ©ïŒã奜ã¿ã«å¿ããŠèªåã§ç°å¢ã調æŽã§ããããã«ãã
- ãæºæçŸ©ïŒããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã«ãŒãã«ãå°ãã軜ããã
- ãæºæçŸ©ïŒãå°æåã䜿ããçã
- ãæºæçŸ©ïŒã森æãå®ã
- ãæºæçŸ©ïŒãæ²é»ã¯é
- ãæºæçŸ©ïŒã䞊è¡ããŠèãã
- ãæºæçŸ©ïŒãéšåã®ç·åã¯å šäœããã倧ãã
- ãæºæçŸ©ïŒã90 ããŒã»ã³ãã®è§£ãç®æã
- ãæºæçŸ©ïŒãå£ãã»ããåªããŠãã
- ãæºæçŸ©10ãéå±€çã«èãã
ããã«ãã€ã® UNIX å²åŠãšæ¯èŒããŠã¿ãã°ãå ·äœçããã§èè¶³çãªãã®ããããããããšããã®ãããããšæããŸãã
èè ã®ãã€ã¯ã»ã¬ã³ã«ãŒãºã«ã€ããŠ
äœè 玹ä»ããŒãžïŒæªç¿»èš³ïŒã®å šæç¿»èš³
ãUNIX ã®ãšããèãæ¹ãã«ã¯èè ã®æ å ±ãæ®ã©æžãããŠããŸããããã®ããèè ãäžäœã©ããã人ç©ãªã®ããæ¬ã«æžããŠããå 容ããæšæž¬ããªããã°ãªããªãç¶æ³ã§ãããªãèè ã®æ å ±ããªãã®ãïŒå®ã¯æ¥æ¬èªçã«ã¯èè ã®ç޹ä»ããŒãžãæãèœã¡ãŠããŠããããã§ãããã®ããŒãžãšããã®ã¯è£è¡šçŽã§ããåæžã§ã¯è£è¡šçŽã«èè ã®æ å ±ãæžãããŠãããæ¥æ¬èªçãäœãéã«ã©ãããã«ããŒãã¶ã€ã³ã®å€æŽã§æ¶ããŠããŸã£ãããã§ãã
ããã§è£è¡šçŽã®å 容ã翻蚳ããããšæããŸããäžããŒãžãŸããŸãã®ç¿»èš³ã¯ãããããšãæããªãã¯ãªãã§ãããå ã 誰ã§ãèŠããè£è¡šçŽã¯è²©ä¿ã®ããã®ç޹ä»ããŒãžã§ãããã Amazon ã§ãã¹ãã£ã³ãããŠå ¬éãããŠããŸããä»ã®ããŒãžã¯ãã§ã«ç¿»èš³æžã¿ã§ãããèè ã®ããã¯ã°ã©ãŠã³ããæããã«ããããšã¯ãã®æ¬ã®å å®¹ãæ£ããçè§£ããããã«éèŠãªæå³ããããåŒçšããã®ã«ååãªåççãªçç±ããããšèããŠããŸãããªãè£è¡šçŽã®ã¹ãã£ã³ã¯ Amazon ã® The UNIX Philosophy ããã詊ãèªã¿ãããããšãã§ããŸãã
Taken from the back cover of The UNIX Philosophy first edition. It is not included in the Japanese version.
THE UNIX PHILOSOPHY by Mike Gancarz
Unlike so many books that focus on how to use UNIX, The UNIX Philosophy concentrates on answering the question, "Why use UNIX in the first place?" The UNIX Philosophy is a book to be read before tackling the highly technical texts on UNIX internals and programming. In an informative, nontechnical fashion, this book explores general principles for developing UNIX-based software. It describes complex software design principles and addresses the importance of small programs, code and data portability, early prototyping, and open user interfaces.
UNIX ã®äœ¿ãæ¹ã«çŠç¹ãåœãŠãå€ãã®æ¬ãšã¯ç°ãªããThe UNIX Philosophy ã¯ããªãããããã UNIX ã䜿ãã®ãïŒããšããåãã«çããããšã«éäžããŠããŸããThe UNIX Philosophy ã¯ãUNIX å éšãããã°ã©ãã³ã°ã«é¢ããé«åºŠã§æè¡çãªããã¹ãã«åãçµã åã« èªãã¹ãæ¬ã§ããæè²çãã€éæè¡çãªæµåã§ãæ¬æžã¯ UNIX ããŒã¹ã®ãœãããŠã§ã¢ãéçºããããã®äžè¬çãªååãæ¢æ±ããŠããŸããè€éãªãœãããŠã§ã¢ã®èšèšååã説æããå°ããªããã°ã©ã ãã³ãŒããšããŒã¿ã®ç§»æ€æ§ãæ©ãã®ãããã¿ã€ãã³ã°ããªãŒãã³ãªãŠãŒã¶ã€ã³ã¿ãã§ãŒã¹ã®éèŠæ§ãåãäžããŠããŸãã
Readers will discover:
- why paper is a death certificate for data;
- how to apply UNIX's small solutions to seemingly insurmountable problems;
- how to find the fastest route to the ideal design.
èªè ã¯èŠåºãã§ããã
- çŽãããŒã¿ã®æ»äº¡èšŒææžã§ããçç±
- äžèŠãä¹ãè¶ããããªãããã«èŠããåé¡ã« UNIX ã®å°ããªè§£æ±ºæ³ãé©çšããæ¹æ³
- çæ³çãªèšèšãžã®æçã«ãŒããèŠã€ããæ¹æ³
Written for both the computer layperson and the experienced programmer, THE UNIX Philosophy explores the tenets of the UNIX operating system in detail, dealing with powerful concepts in a comprehensible, straightfoward manner. This unique book brings toghter the history and applications of UNIX and thoroughly explains the rationale of the UNIX approach.
ã³ã³ãã¥ãŒã¿ã®çŽ äººãšçµéšè±å¯ãªããã°ã©ããŒã®äž¡æ¹ã«åããŠæžããããTHE UNIX Philosophy 㯠UNIX ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®æçŸ©ã詳ãã解説ãã匷åãªã³ã³ã»ãããããããããæ±ããã¹ãã¬ãŒãã«è¡šçŸããŠããŸãããã®ãŠããŒã¯ãªæ¬ã¯ UNIX ã®æŽå²ãšå¿çšããŸãšããUNIX ã®èãæ¹ã®æ ¹æ ã培åºçã«èª¬ãæãããŸãã
Mike Gancarz has taught numerous industry seminars on the UNIX philosophy. As an engineer and a consultant, Mr. Gancarz has promoted UNIX for more than fourteen years.
ãã€ã¯ã»ã¬ã³ã«ãŒãºã¯ãUNIX ã®å²åŠã«é¢ããæ°å€ãã®æ¥çã»ãããŒã§æããŠããŸããããšã³ãžãã¢ãšããŠãã³ã³ãµã«ã¿ã³ããšããŠãã¬ã³ã«ãŒãºæ°ã¯ 14 幎以äžïŒè𳿳š 1980 幎é ããïŒã«ããã£ãŠ UNIX ã®æ®åã«åªããŠããŸããã
An expert in UNIX appliation design, Mr Gancarz was a member of the team that gave birth to the X Window System. He wrote the UWM Window Manager, a user interface that set the industry standard for customizable window manager design. His other work includes developing the conceptual design of COMET (a high-performance text-retrieval system written in the UNIX shell language) and leading a project to port the OSF commands and utilities to a 64-bit architecture.
UNIX ã¢ããªã±ãŒã·ã§ã³ãã¶ã€ã³ã®ãšãã¹ããŒãã§ããã¬ã³ã«ãŒãºæ°ã¯ãX Window System ãèªçãããããŒã ã®ã¡ã³ããŒã§ããã圌ã¯ã«ã¹ã¿ãã€ãºå¯èœãªãŠã£ã³ããŠã»ãããŒãžã£ãŒèšèšã®æ¥çæšæºãšãªã£ã UWM ãŠã£ã³ããŠã»ãããŒãžã£ãŒãéçºããŸããã圌ã®ãã®ä»ã®ä»äºã«ã¯ COMETïŒUNIX ã·ã§ã«èšèªã§æžããã髿§èœããã¹ãæ€çŽ¢ã·ã¹ãã ïŒã®ã³ã³ã»ãããã¶ã€ã³ã®éçºã OSF ã³ãã³ããšãŠãŒãã£ãªãã£ã 64 ãããã¢ãŒããã¯ãã£ã«ç§»æ€ãããããžã§ã¯ãã®äž»å°ãå«ãŸããŠããŸãã
Mike Gancarz is a principal software engineer at Digital Equipment Corporation in Nashua, New Hompshire.
ãã€ã¯ã»ã¬ã³ã«ãŒãºã¯ãã¥ãŒãã³ãã·ã£ãŒå·ãã·ã¥ã¢ã«ãã Digital Equipment Corporation ã®ããªã³ã·ãã«ã»ãœãããŠã§ã¢ã»ãšã³ãžãã¢ã§ãã
ã¬ã³ã«ãŒãºã¯ DEC 瀟ã®ãœãããŠã§ã¢ãšã³ãžãã¢å Œã³ã³ãµã«ã¿ã³ã
è£è¡šçŽãããããããªããšãããããŸããããŸã DEC ã®ãœãããŠã§ã¢ãšã³ãžãã¢ã§ããããšãã¯ã£ããããŸããããããã®å€ãã¯æ¬ã®äžã«ã¯æžãããŠããªãã£ãããšã§ãã14 幎é UNIX ã®æ®åã«åªããŠãããšããæãããåºç幎ããéç®ã㊠1980 幎ã1980 幎㯠Version 7 Unix ããªãªãŒã¹ãããæ¬¡ã®å¹Žã§ DEC ãéçºããåã® UNIX ã§ãã V7M ããªãªãŒã¹ããã幎ã§ããå®ã¯æ¹èšçã® About the AuthorïŒãããã詊ãèªã¿ãã§ããŸãïŒã¯å å®¹ãæŽæ°ãããŠãã Unix Engineering Group (UEG) ã§åããŠããããšãæžãããŠããŸããUNIX ã®èªç㯠1969 幎ãªã®ã§ 10 幎é ãã§ UNIX ã®æ®åã«åªãå§ããäºã«ãªããŸããããŸãå€éšã®äººéã§ããããããªæã§ãããã
ã¬ã³ã«ãŒãºã DEC ã§ããªã³ã·ãã«ã»ãœãããŠã§ã¢ã»ãšã³ãžãã¢ã ã£ãææã¯ Linkedin ã®æ å ±ããã§ããLinkedin ã«ãã°ã€ã³ããã ãã§èŠãããšãã§ããŸããå ¬éæ å ±ãšèšãããã¯åŸ®åŠãªã®ã§ãããŸãæžãã®ã¯è¯ããªããšæããŸãããå°ãªããšã 1984 幎ãã 1998 幎ïŒã€ãŸã DEC ãã³ã³ããã¯ã«è²·åããããŸã§ïŒã®é㯠DEC ã«åšç±ããŠããããšãããããŸããããããªæ å ±ãçµ±åãããš UEG ã®ææã§ãã V7M ãå ¬éãããDEC ã UNIX ãæ±ã£ãŠããããšãç¥ã£ãŠ 1980 幎é ã« DEC ã® UEG ã«å ãã£ããšããã®ãå¯èœæ§ãé«ãããªãšæã£ãŠããŸãã
ã¬ã³ã«ãŒãºã¯ X Window System éçºã¡ã³ããŒã®äžäºº
ã¬ã³ã«ãŒãºã¯ X Window System éçºã¡ã³ããŒã®äžäººã§ãããã¬ã³ã«ãŒãºã X Window System ã®ã©ã®éšåã«é¢ãã£ãŠããã®ãã¯ããããŸããã§ããããå°ãªããšã X Window System ã®åæã®æŽå²çãªãŠã€ã³ããŠãããŒãžã£ Ultrix Window Manager (uwm) ã®éçºè ã§ãããUNIX ãšããèãæ¹ãã® P106 ã«ããã®ããšã¯æžãããŠããŸãã
X Window System ã®èªç㯠1984 幎ãåœæã¯ MIT ã®ãããžã§ã¯ãã§ãããMIT ã®å€éšã«åããŠãªãªãŒã¹ãããã®ã 1986 幎 2 æã® X10R3 ããã§ uwm ãæšæºã®ãŠã€ã³ããŠãããŒãžã£ã§ããã1989 幎 12æã® X11R4 ã§ twm ã«çœ®ãæãããŸã§ã¯ãX Window System ã®å¯äžã®ãŠã€ã³ããŠãããŒãžã£ã ã£ãããã§ãããã®åŸã¯å€§ããªã¡ã³ããã³ã¹ã¯è¡ãããŠããªãããã§ããuwm 㯠C èšèªã§æžãããŠãããBSD ã©ã€ã»ã³ã¹ã«äŒŒãã©ã€ã»ã³ã¹ã§ãã
ã¡ãªã¿ã« P107 ã«ãååã®ãžã§ã³=ããŒã«ããç»å ŽããŸããããããã Linux Professional Institute ã®çäºé·ã® Jon "maddog" Hall ã®ããšã ãšæãããŸããåœŒã¯æ¹èšçã®åºæ (foreword) ãæžããŠããããã®äžã§ 1990 幎é ã«ãUNIX ãããã§ãã·ã§ãã«ã®å°ããªã°ã«ãŒããã§èª°ããçºããããªã UNIX ã奜ããªã®ã§ããïŒããšãã質åã«å¯ŸããããŸããŸãªæèŠããããã¡ã¢ã«åã£ã人ïŒã¬ã³ã«ãŒãºã®ããšã§ããããååã¯æžãããŠããŸããïŒãããŠãããããUNIX ãšããèãæ¹ãã«ãªã£ããšæžããŠããŸãã
ã¬ã³ã«ãŒãºã¯ã·ã§ã«ã¹ã¯ãªããè£œã®æ€çŽ¢ã·ã¹ãã ã®éçºè
ã¬ã³ã«ãŒãºã® UNIX å²åŠãèªãã§ãããšãå°ãã·ã§ã«ã¹ã¯ãªããã«ãã ããéãã«æããç®æãããã€ããããŸããäŸãã° P9 ã®ãã·ã§ã«ã¹ã¯ãªããã¯ããœãããŠã§ã¢ã®ãã³ã掻ãããšåæã«ç§»æ€æ§ãé«ãããšããäºã€ã®å¹æããããå¯èœãªãšãã¯åžžã«ãCèšèªã§ã¯ãªãã·ã§ã«ã¹ã¯ãªããã䜿ãã¹ãã ãããšãããããªæ¥µç«¯ãªæç« ã§ãã
å¥ã«ã·ã§ã«ã¹ã¯ãªãããããªããŠãä»ã®èšèªã§ããã®ã§ã¯ïŒãšæãæã§ãããå®ã¯ãUNIX ãšããèãæ¹ãã«ã¯ C èšèªãšã·ã§ã«ã¹ã¯ãªããããããã髿°ŽæºèšèªãåºãŠããŸãããåœæ Unix ã§çŸå®çã«äœ¿ããèšèªã¯ããããããããªãã£ãããã§ãïŒåè£ã«ãªããããšããã Perl4 ãããïŒïŒãæ¶å»æ³ã§ã·ã§ã«ã¹ã¯ãªãããæ®ã£ããšè§£éããã®ãèªç¶ã ãšæããŸãããã¬ã³ã«ãŒãºã¯ COMET ãšåŒã°ãããUNIX ã·ã§ã«ïŒBourne ã·ã§ã«ïŒè£œã®é«æ§èœã®ããã¹ãæ€çŽ¢ã·ã¹ãã ããéçºããŠããã®ã§ããããããã奜ã¿ã®èšèªã ã£ããšããçç±ããã£ãã®ãããããŸããã
åçã§ã¯ COMET ã¯ã³ã³ã»ãããã¶ã€ã³ã®éçºãšãªã£ãŠããŸãããæ¹èšçã§ã¯ãã®ã·ã¹ãã ã¯éçºããããã§ DEC 瀟ã®å éšææžãšãœãŒã¹ã³ãŒãã®æ®ã©ã«ã€ã³ããã¯ã¹ãä»ãå³åº§ã«æ€çŽ¢ã§ããããã«ããããšã§ãå瀟ã®ãã¯ãã«ã«ãµããŒãã«é©åœãèµ·ããããšã®ããšã§ããå®ã¯ COMET ã®éçºã«ã€ãªããã§ããã話ã¯ãUNIX ãšããèãæ¹ãã® P83 ã«æžãããŠããåãããã«ã€ã³ããã¯ã¹ãäœæããããšã§ Bourne ã·ã§ã«ã§äœã£ããšã¯æããªããããªæ€çŽ¢ããŒã«ãäœã£ãããã§ãããåœæã®è·å Žã®è©±ããšããŠæžãããŠããã®ã§ä»¥åã®è·å Žã§ã®çµéšãå ã« COMET ã®ã³ã³ã»ãããã¶ã€ã³ãèããŠããã®ã§ã¯ãªãã§ããããïŒ
ãããããã«ããŠãã·ã§ã«ã¹ã¯ãªããã§ C èšèªã®ããã°ã©ã ãåŒã³åºããŠããããã«ãC ããã°ã©ã ãã·ã§ã«ã¹ã¯ãªãããããéããšããã®ã¯æã蟌ã¿ããšã¯ããæžãããã®ã§ããã·ã§ã«ã¹ã¯ãªãããã C ã®ããã°ã©ã ãåŒã³åºããŠããããéãã®ã§ããã°ããã㯠C ããã°ã©ã ãéããšãã蚌æ ã§ãããããŸããããã䜿ãã C ããã°ã©ã ããªãã£ãããã©ãããã®ããã°ã©ã 㯠C èšèªã§æžãã®ã§ãããïŒãã®è©±ã®æ¬è³ªã¯ã·ã§ã«ã¹ã¯ãªããã䜿ãããšãéèŠãªã®ã§ã¯ãªãã誰ããäœã£ãã³ãã³ãïŒãã©ã€ãã©ãªïŒãåå©çšããŠéçºã®æéãæžãããŸããããšãã P71 ã®ãç¬èªæè¡çå矀ãé¿ãããã®è©±ã®ããªãšãŒã·ã§ã³ã§ãããããŸããããœãŒãã«ãŒãã³ãæžããªããããªããã°ã©ãã§ããä»äººã®æžãããœãŒãã«ãŒãã³ãå©çšããã°åè ã«ãªãããšæžããŠããŸãããã·ã§ã«ã¹ã¯ãªããã«éãã誰ããäœã£ãã©ã€ãã©ãªãåå©çšããã®ãæ®éã§ããã¬ã³ã«ãŒãºã¯ sort ã³ãã³ãã䜿ããªã = èªåã§ãœãŒãã«ãŒãã³ãæžããšããæ¥µç«¯ãªè©±ãããŠããŸãã
COMET ã¯ãªãŒãã³ãœãŒã¹ã§ã¯ãªãã瀟å€ã«å ¬éãããããšããªãããã§ããããã DEC ãã³ã³ããã¯ã«è²·åãããæãããã«ãã®ã·ã¹ãã ã¯ç Žæ£ãããã®ã§ã¯ãªãããšæããŸããã©ãã ãç§»æ€æ§ãéèŠããŠãããšããŠãããœãããŠã§ã¢ã®äŸ¡å€ã倱ã£ãæã«ãœãããŠã§ã¢ã®å¯¿åœã¯æ¥ãŸããP73 ã®ãã³ãŒããä»ç€Ÿããã³ãšããŠäœ¿ãã®ãèªããããå®ããªãã£ãã®ãäžã®äžããæ¶ããŠããŸã£ãåå ã®äžã€ã§ãããããªãŒãã³ãœãŒã¹ã§ãªãããã«ç§»æ€ãããã«æ»ãã§ããŸã£ããšããæ®å¿µãªäŸã§ãããªãŒãã³ãœãŒã¹ã§ãã£ããšããŠã uwm ã®ããã«äœ¿ãããªããªãã°ç§»æ€ãããã«å¯¿åœãè¿ããŸããã§ããã°æåããäœãçŽãåæã§ãµã¯ããšäœã£ãŠããŸãã®ããããªããã§ãããããã«ãã€ã® UNIX å²åŠãã®ããœãããŠã§ã¢ã¯æ©ã詊ããããã«æ§ç¯ããããŸããéšåã¯æšãŠãŠäœãçŽãããšãèºèºãããªããšããããšã§ããç§»æ€æ§ã軜èŠããã®ã¯ãããããŸããããéã«ç§»æ€æ§ãéèŠããããã®ããããããŸãããèŠã¯ãä»ãæ¬åœã«å¿ èŠãªãã®ã¯äœãïŒãã§ããUNIX ã¯æåã¯ç§»æ€æ§ããããŸããã§ãããç§»æ€æ§ãå¿ èŠã«ãªã£ãæã«åŸããä»ãå ããŠãè¯ãããã§ããããæåããç§»æ€æ§ãèæ ®ããŠããã UNIX ã®éçºã¯é²ãŸã Multics ã®äºã®èã«ãªã£ãŠããããšã§ãããã
ã¬ã³ã«ãŒãºã¯ UNIX ã³ãã³ãã® 64bit Alpha CPU ãžã®ç§»æ€ãæ åœ
OSF ã³ãã³ããšããã®ãå°ãè¬ã§ããããæ¹èšçã§ã¯ UNIX ã³ãã³ãã«ä¿®æ£ãããŠããã®ã§ãåæšãåããã UNIX ã®ä»£ããã«ãããããã®æåŸ ã蟌ã㊠OSF ãšããååã䜿ã£ãã ãã ãšæãããŸãããšããããšã§ã¬ã³ã«ãŒãºã¯ UNIX ã³ãã³ãã® 64bit Alpha CPU ãžã®ç§»æ€ãè¡ã£ãŠããŸããã
ã¬ã³ã«ãŒãºã® C èšèªã«å¯Ÿããè©äŸ¡ã¯ä»¥äžã®ãããªãã®ã§ããP51 ããã
UNIX ç°å¢ã«ãããŠã® C èšèªã«ã¯ãã·ã§ã«ã¹ã¯ãªããã®ãããªç§»æ€æ§ã¯ãªãããããŠãã® C èšèªã®ããã°ã©ã ã¯ãããããã¡ã€ã«ã®å®çŸ©ãããã·ã³ã¢ãŒããã¯ãã£ãµã€ãºããã®ä»ã® UNIX å®è£ ã®æã€ç§»æ€äžèœãªããŸããŸãªç¹æ§ã«äŸåãããUNIX ã 16 ãããã¢ãŒããã¯ãã£ãã 32 ãããã¢ãŒããã¯ããããã« 64 ãããã¢ãŒããã¯ãã£ã«ç§»æ€ããããšãã«ã¯ããã®ãããæ°ã®ãœãããŠã§ã¢ã䜿ããªããªã£ããC èšèªã®ç§»æ€æ§ãä¹ããããã ãC èšèªã®ç§»æ€æ§ã¯ã80 幎代ã®ã¢ã»ã³ããªèšèªãšæ¯ã¹ãŠãå°ããã·ãªçšåºŠã«éããªãã
ãã¡ãããã®ãããªè©äŸ¡ã¯ã»ãšãã©éå»ã®ãã®ã§ããDEC ãéçºãã Alpha ã¯æ°ãã 64 ãããã®CPU ãªã®ã§æå€§ã®å¹çãèãããšã¢ã»ã³ããªèšèªã«ãæãå ããªããšãããªãã£ããšæãããŸãããããŸã§ã® CISC ãã RISC ã«å€ãã£ãŠãã Alpha ã¢ãŒããã¯ãã£ã§ã¯ã¢ã©ã€ã¡ã³ããããŠããªãïŒ32 ããããŸã㯠64 ãããåäœã§äžŠã¹ãããŠããªãïŒã¡ã¢ãªã«ã¢ã¯ã»ã¹ããå Žåã«è€éãªæäœãå¿ èŠïŒåèïŒã§ãã³ãŒããèšãã¿ããã©ãŒãã³ã¹ãäœäžãããšããåé¡ããããŸãããAutotools ã®ãããªãã®ããããŸããã§ããããUNIX ã C èšèªã§æžãããŠãããšèšã£ãŠããåœæã¯ãããã ANSI C (C89) ãçå®ãããææãªã®ã§ãUNIX ã®ãœãŒã¹ã³ãŒãã¯ããŸã ANSI C æºæ ã§ã¯ãªãã£ããšæããŸããããã«åå㪠C èšèªçšã©ã€ãã©ãªããªãã£ãããšã§ããããããããèãããš Alpha CPU ãžã®å¯Ÿå¿ãšããã¬ã³ã«ãŒãºã®äœæ¥ã¯å€§å€ãªãã®ãšãªã C èšèªã®ç§»æ€æ§ã¯ãããªã«é«ããªããšèããã®ã仿¹ã®ãªã話ã ãšæããŸãã
80 幎代ã®ã¢ã»ã³ããªèšèªãšããã®ã¯å°ãè¬ã§ãããããããæ°ããã¢ã»ã³ããªèšèªãšããæå³ã§äœ¿ã£ãŠããã®ã ãšæããŸããåæã®ã¢ã»ã³ããªèšèªã¯å®å
šã«æ©æ¢°èªãšäžå¯Ÿäžã«çµã³ã€ããããŒã¢ããã¯ã䜿ã£ãŠæžããããç¹å®ã®ã¢ãŒããã¯ãã£ã«äŸåããç§»æ€æ§ãäœããã®ã§ããããããåŸæã®ã¢ã»ã³ãã©ã¯ãã¯ãæ©èœãåã IF ã WHILE ãšãã£ãã¢ãŒããã¯ãã£éäŸåã®ãã¯ãããæ©æ¢°èªãçæããããšãåºæ¥ãŸãããã®ãããªã¢ã»ã³ããªèšèªã High-level assembler ãšããããã§ãããã®ãããã¯ããé§äœ¿ããã°ãæ©çš®äŸåã®éšåãããªãæžããããšãåºæ¥ãŸãããæ§é åããã°ã©ãã³ã°ãå¯èœã§ãããããã£ãé«åºŠã«çºå±ããã¢ã»ã³ããªèšèªãšããŸã ãŸã æªçºéã® C èšèªãæ¯ã¹ãã°ãããã C èšèªã®ç§»æ€æ§ã¯ãããªã«é«ããªããšããçµè«ã«ããªããšãããã®ã§ãã
ãã®ããã«åœæã® C èšèªã®ç§»æ€æ§ãäœãããæ¶å»æ³ã§ã·ã§ã«ã¹ã¯ãªããã䜿ãã¹ãã ãšèšã£ãŠããã ããªã®ã§ãçŸåšã§ã¯å¥ã«ã·ã§ã«ã¹ã¯ãªããã§ãªããŠãç§»æ€æ§ã®åé¡ã«æ©ãŸãããªãèšèªã¯ãããã§ããããŸããããã UNIX ç³» OS ã®éã§ UNIX ã³ãã³ãã«å®å šãªäºææ§ããªããããä»ã§ã¯ã·ã§ã«ã¹ã¯ãªããã®æ¹ãç§»æ€æ§ã¯äœãã§ãã
ãšããã§ã¬ã³ã«ãŒãºãæ°ã«ããŠããç§»æ€æ§ã¯ UNIX éã®ç§»æ€ã§ã¯ãªãç°ãªãã¢ãŒããã¯ãã£ã®ããŒããŠã§ã¢ãžã®ç§»æ€æ§ã®ããšãèšã£ãŠããããšã«æ°ãã€ããã§ããããïŒã¢ãŒããã¯ãã£ãã»ãŒçµ±äžãããŠããŸã£ãŠããçŸåšã® PC ã®äžçã«åœãŠã¯ãŸããªã話ãããŠããã®ã§ãã
ã¬ã³ã«ãŒãºã®ç«å Žã¯ã³ã³ãã¥ãŒã¿äŒç€Ÿã® UNIX éçºè
ããŠãããããããã§ããããã¬ã³ã«ãŒãºã®ç«å Žãšããã®ã¯ãUNIX ãæèŒããã³ã³ãã¥ãŒã¿äŒç€Ÿããããã UNIX ãã³ããŒã®ç€Ÿå¡ã§ãç¬èª UNIX ã®éçºè ã ãšããããšã§ããããã§ãã UNIX ãšã¯ã«ãŒãã«ã ãã®ããšã§ã¯ãªã UNIX ã³ãã³ããå«ããŠã§ãã
ãã ãæ ¹æ ã¯èãã§ããã¬ã³ã«ãŒãºã¯ UNIX ã³ãã³ãã®ç§»æ€ãªã©ãŠãŒã¶ãŒã©ã³ãéšåã®æ åœã§ãã«ãŒãã«ããã°ã©ãã§ã¯ãªãã£ãã®ã§ã¯ãªãããšæããŸãããšããã®ã¯ P77 ã«ä»¥äžã®ããã« UNIX ã«ãŒãã«ããã°ã©ãã«ã·ã§ã«ã¹ã¯ãªãããè¯ããçè§£ãããªããšåããŠããããã§ãã
ãã®åé¡ã«å ¥ãåã«ã泚æããŠããããšããããUNIX ã«ãŒãã«ããã°ã©ãã®äžã«ã¯ãã·ã§ã«ã¹ã¯ãªããããã°ã©ãã軜èŠãã人ãå°ãªããªããã·ã§ã«ã¹ã¯ãªãããæžãã®ã¯ãããããã§ã§ã¯ãªãããšããããã ããçç·Žã·ã§ã«ããã°ã©ãããããæè»œ UNIX 䜿ãããšãããåãããããã·ã§ã«ã¹ã¯ãªããã¯ããŸãé çãèµ·ãããªãã®ã§ãå«åЬããŠããã®ã§ã¯ãªãããšç§ã¯æ³åããŠããããããã¯ãã«ãŒãã«ã«ã¯ã·ã§ã«ã¹ã¯ãªããã䜿ããªãããã ãããããã€ã®æ¥ã誰ãããã·ã§ã«ã¹ã¯ãªããã䜿ãããã㪠UNIX ã«ãŒãã«ãæžããŠãããªãã ãããïŒããããã°ããœãããŠãšã¢æ¢åã®å¹æãšãããã®ãããã®ãããªäººãã¡ã«ãããè¯ãçè§£ãããã ããã«ã
ããŠãããã«ã¯ççŸããããŸãããã¬ã³ã«ãŒãºã® UNIX å²åŠããšã¯èª°ããåŸã£ãŠãããã®ã ã£ãã¯ãã§ããã¬ã³ã«ãŒãºã¯ããæçŸ©ïŒãã·ã§ã«ã¹ã¯ãªããã䜿ãããšã§æ¢åã®å¹æãšç§»æ€æ§ãé«ãããã§ãå¯èœãªãšãã¯åžžã« C èšèªã§ã¯ãªãã·ã§ã«ã¹ã¯ãªããã䜿ãã¹ãã ãããšäž»åŒµããŠããŸãããããããUNIX ã«ãŒãã«ããã°ã©ãã®äžã«ã¯ãã·ã§ã«ã¹ã¯ãªããããã°ã©ãã軜èŠãã人ãå°ãªããªããã®ã§ããã°ããã®æçŸ©ã¯èª°ããåŸã£ãŠãããããªãã®ã§ã¯ãªããšããããšã«ãªããŸããæçŸ©ïŒãšã¯äžäœèª°ãèšãåºããããšãªã®ã§ããããïŒ
è©±ãæ»ããŸãããããã«ããŠãã«ãŒãã«ã§ã·ã§ã«ã¹ã¯ãªããã䜿ããšããçºæ³ã¯çè§£ã§ããŸããããœãããŠãšã¢æ¢åã®å¹æãšãããªãå¥ã«ã·ã§ã«ã¹ã¯ãªãã以å€ã§ã广ã¯ãããŸããC èšèªãã OS ã®ã·ã¹ãã ã³ãŒã«ãã©ã€ãã©ãªãåŒã³åºãã ãã§ããå ã ã¡ã€ã³ãã¬ãŒã æä»£ã§ã¯ã·ã§ã«çžåœã®æ©èœã¯ã«ãŒãã«ã®äžéšã§ãããã·ã§ã«ãã«ãŒãã«ãã远ãåºããã®ã¯ UNIX ã®åªãããã€ã³ããªã®ã§ããããããããšã§ã·ã§ã«ã¯æ®éã®ããã°ã©ã ãšãªããéçºã容æã«ãªãããŠãŒã¶ãŒã¯æ§ã ãªã·ã§ã«ã䜿ããããã«ãªããã·ã§ã«ã¹ã¯ãªããã®ãšã©ãŒã§ã«ãŒãã«ãèœã¡ããããªããšããªãå®å®æ§ãããããŸããã·ã§ã«ãã«ãŒãã«ã«å ¥ãããšããããšã¯ããæºæçŸ©ïŒããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã«ãŒãã«ãå°ãã軜ããããã«ãåããããã§ãã·ã§ã«ã¹ã¯ãªããã䜿ãã UNIX ã«ãŒãã«ãªããŠæªæã§ãããããããããªã«ã·ã§ã«ã¹ã¯ãªããã䜿ãã UNIX ã«ãŒãã«ã欲ãããªãã誰ããæžããŠãããªãã ãããã§ã¯ãªãèªåã§æžããšã
C ã§ããã°ã©ã ãæžãããšã劥åœãªã±ãŒã¹ãå€ã ããããããããã®ãããªã±ãŒã¹ã¯äžè¬ã«èããããŠããã»ã©å€ãã¯ãªããïŒäžç¥ïŒã·ã§ã«ãšãã代æ¿ãããã®ã ãšæ°ã¥ããŠæ¬²ããã
UNIX ã¯æ®ã© C ã§ããã°ã©ã ãæžãããŠããããšããããUNIX ã®éçºã«éãã° C ã§æžãã®ã劥åœã§ãããïŒãã®ãããªã±ãŒã¹ãã»ãšãã©ã§ãããã£ãšãä»ã¯ Rust ã§ã«ãŒãã«ãæžãããšããåãïŒRustãLinuxã«ãŒãã«éçºã®ç¬¬2èšèªã«æ¡çšãã詊ã¿ã«åãæ°ãããïŒãåºãŠãã C èšèªã«åºå·ãããããªãã®ã§ã¯ãããŸãããä»ã«ãããããªèšèªã䜿ããå¯èœæ§ããããŸããåœæã® UNIX ã«ã¯ C ãšã·ã§ã«ãããªãã£ãã®ã§ãããããC ãšã·ã§ã«ä»¥å€ã®ä»£æ¿ãããã®ã ãšæ°ã¥ããŠæ¬²ãããã§ããã
ãšããããšã§ãã¬ã³ã«ãŒãºã® UNIX ã«ãŒãã«ã«å¯Ÿããèãã¯ã«ãŒãã«ããã°ã©ãã£ãœãçºæ³ã§ã¯ãªãã®ã§ãã¬ã³ã«ãŒãºã¯ UNIX éçºè ã§ã¯ãããã®ã®ã«ãŒãã«ã®éçºã«ã¯é¢äžããŠããããUNIX ã³ãã³ãã®ç§»æ€ãªã©ãŠãŒã¶ãŒã©ã³ãå¯ãã® UNIX éçºè ã ã£ãã®ã ãããšæšæž¬ããŠããŸãã
åçãåºçãããæç¹ã§ã¯ Linux ã¯ãŸã ç»å ŽããŠããŸãã
ããã¯ã¡ãããšæžãããŠããã®ã§æªãããããšããããã§ã¯ãªã泚æããŸããããšããçšåºŠã®è©±ã§ãããUNIX ãšããèãæ¹ãã«æã åºãŠãã Linux ã®è©±ã¯èš³è ã®è泚ã§ããç®æ¬¡ã®ããŒãžã«â²ãåèè ã«ããèæ³šã*ãç£èš³è ã«ããèæ³šã§ãããšæžãããŠããŸããæžããŠãããŸããèªã¿é£ã°ãã¡ãããŸãããâŠâŠã
Linux ã®éçºãåããŠå ¬ã«ãªã£ãã®ã¯ 1991 幎ã§ããåœæã®ã¬ã³ã«ãŒãºã Linux ã®ååšãç¥ã£ãŠããå¯èœæ§ã¯ãããŸãããåæã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®äžã€ Slackware ã®ãªãªãŒã¹ã¯ 1993 幎ã§ããåçšå©çšã®éžæè¢ã«ãªã£ãã®ã¯ 1996 幎㮠Linux 2.0 ããããããªã®ã§ãã¬ã³ã«ãŒãºã ãã§ãªãåœæã®äººã Linux ã Unix ã®åŸç¶ãšããŠäœ¿ãããããã«ãªããšã¯ãŸã æã£ãŠããªãã£ãã§ãããã
æ¥æ¬èªçã®ãUNIX ãšããèãæ¹ãã®åºç㯠2001 幎ã§ãã翻蚳è ã®è³å°Ÿæ¡ããã¯ã仿¥ããDebian GNU/Linux2.2ããšããæ¬ãæžããŠããã®ããã£ãŠãæ å€ãªã©ã«ã¡ãã»ã Linux ã«ã€ããŠã®ã³ã¡ã³ãããã£ããããŸãããã®ãã Linux ãèªçãã以éã®è©±ãå«ãŸããŠãããšåéãããŠããŸããããããŸããããæ¬ã®ç©èªã®äžã®æä»£ã«ã¯ Linux ã¯ç»å ŽããŠããŸãããç»å Žããã®ã¯æ¹èšçã®ãLinux ãš UNIX å²åŠãããã§ãã
ã¬ã³ã«ãŒãºã«ãšã£ãŠã® UNIX ã®æŽå²èªè
ãŸãæåã«äžèšãUNIX ã®æŽå²ãªã©ãç¥ããã人ã¯ãThe Art of UNIX ProgrammingãããUnixèå€åŠãTruth of the Legendããèªãã§ãã ãããã¬ã³ã«ãŒãºã® UNIX ã®æŽå²èªèã¯æ ¹æ ããªãæã蟌ã¿ã«è¿ãã§ãã
ã¬ã³ã«ãŒãºã® UNIX çºæè ã®æ±ã
UNIX ã¯èª°ãéçºããã®ãïŒãšèãããã UNIX ã®æŽå²ãç¥ã£ãŠãã人ã¯ã±ã³ã»ãã³ããœã³ãšããã¹ã»ãªãããŒãšçããã®ã§ã¯ãªãã§ããããïŒ
å®éãã®ãšããã§ãUNIX 㯠1969 幎㫠AT&T ãã«ç ç©¶æã§ãã³ããœã³ã®æã«ãã£ãŠèªçããŸããããããŠãã³ããœã³ã¯æåã® 2 ã€ã 3 ã€ã®ããŒãžã§ã³ãäžäººã§éçºããŸãããã®åŸ C ã§æžãçŽãããããšã«ãªããŸããããªãããŒã¯èšèªãš I/O ã·ã¹ãã ãããã³ããœã³ã¯æ®ãã®å šãŠãæ åœããŠããŸãã
https://en.wikipedia.org/wiki/Ken_Thompson ãã
I did the first of two or three versions of UNIX all alone. And Dennis became an evangelist. Then there was a rewrite in a higher-level language that would come to be called C. He worked mostly on the language and on the I/O system, and I worked on all the rest of the operating system.
ããããã¬ã³ã«ãŒãºã¯ P5 ã§ãã®ããã«æžããŠããŸãã
UNIX ã®çºæè ã¯ãAT&T ã®ã±ã³ïŒãã³ããœã³ãšãããŠãããããæå³ã§ãããã¯æ£ããã
åæž: Many people credit Ken Thompson of AT&T with inventing the UNIX operationg system and, in a sense, they're right.
ãªãããããæå³ïŒin a sense)ã§æ£ããããããã®æ±ãããããŠããŸããã
ãã³ããœã³ã¯ãããšããšã¢ã»ã³ããªèšèªã§ UNIX ãæžããã1972 幎ã«ç§»æ€æ§ã®ãã B èšèªãçšããŠæžãçŽããã
ãšãããŸãããããã¯ééãã§ UNIX ã B èšèªã§æžãçŽãããäºå®ã¯ãããŸãããB èšèªã¯åãç¡ãäžéã³ãŒããå®è¡ããã€ã³ã¿ããªã¿æ¹åŒã§é ãã£ããã§ãããã®è©±ã¯ãThe Evolution of the Unix Time-sharing Systemãã«è©³ããæžãããŠããŸãã以äžã¯ãã®æ¥æ¬èªèš³ãUNIX åå žãã®ãUNIX ã¿ã€ã ã·ã§ã¢ãªã³ã°ã»ã·ã¹ãã ã®çºå±ãã® P24 ããã®åŒçšã§ãã
UNIX èªèº«ãã¢ã»ã³ãã©ã§ã¯ãªã B ã§æžãããšããèãã¯äžæçã«åºãããã ãã§ãã£ããä»ã®ãŠãŒãã£ãªãã£ã«ã€ããŠãåæ§ã§ãçµå±ã¢ã»ã³ãã©ã§ãããã¢ã»ã³ãã©ã§æžãæããããã®ã§ããããããªã£ãã®ã¯ã䞻㫠B ã®è§£éã³ãŒããé ããšããããšã«åå ããã£ãããŸãäºçްã§ã¯ãããçŸå®åé¡ãšããŠéèŠã ã£ãã®ã¯ãPDP-11 ããã€ãã»ã¢ãã¬ã¹æ¹åŒã®ãã·ã³ã§ããã®ã«å¯ŸããB ãã¯ãŒãã»ãªãªãšã³ããããªèšèªã ã£ãããšã§ããã
B èšèªã¯ PDP-7 Unix ã§åäœããèšèªãšããŠãã³ããœã³ãéçºãããã®ã§ããããªãããã®äºå®ãæžãããŠããŸãããã¡ãªã¿ã« PDP-7 Unix çšã®ã¢ã»ã³ãã©ããã³ããœã³ãéçºããŠããŸãããã®æç« ã¯ãã§ã«ç§»æ€æ§ããã B èšèªãååšããŠããŠããããã³ããœã³ã䜿ã£ãã ãã®ããã«ãèŠããŠããŸããŸãã
ãã®åŸã1973 幎㫠AT&T ãã«ç ç©¶æã®ããã¹=ãªãããŒããB èšèªã«åºæ±ãªæ¡åŒµãæœãã C èšèªãäœã£ããããããçŸåšäžçäžã®ããã°ã©ãã«ãã£ãŠæããããŸãå«ãããŠããã C èšèªã ã
äžæ¹ C èšèªã«é¢ããŠã¯ãªãããŒãéçºãããšãã£ããæžãããŠããŸãããã ãå«ãããŠããããšãããäœèšãªäžèšããããŸãããããèŠãã° Unix ã C èšèªã§æžãçŽããäºãæžãããŠããŸãããããŸãåžžèéããŠæããŠããŸã£ãã®ã§ããããUnix 㯠1973 幎 2 æã® Version 3 Unix ã§ãã€ããå®è£ ããã1973 幎 10 æã«éå¬ããã第 4 å Symposium on Operating Systems Principles (SOSP) ã§ AT&T 以å€ã«åºãå ¬éããã1973 幎 11 æã® Version 4 Unix ã§ã¯ C èšèªã§æžãçŽããããã®ããªãªãŒã¹ãããŸãã
ãšãããã¬ã³ã«ãŒãºã¯ UNIX çºæè ã®å瞟ãéå°è©äŸ¡ãããã®ã§ã¯ãªãããšçã£ãŠããŸããŸãããã®ããšã¯æ¬¡ã®æç« ãããèªã¿åããŸãã
UNIX ã®èãæ¹å šäœã®çºå±ã«ã±ã³=ãã³ããœã³ãæããã圹ç®ã¯ããéãããŠããããã¡ã€ã«ã·ã¹ãã ã®æ§é ããã€ããå ¥åãµãã·ã¹ãã ç§»æ€æ§ãªã©ã«èšèšã«ãã³ããœã³ã¯å€å€§ãªè²¢ç®ããããããã®ä»ã®å€ãã¯ãã³ããœã³ä»¥å€ã®å€ãã®äººã ã«åž°ããããã
ãã³ããœã³ä»¥å€ã®äººã®è²¢ç®ãå€ããã£ãã®ã¯çãããšã®ãªããšããã§ãããæåã® 2 ã€ã 3 ã€ã®ããŒãžã§ã³ã¯ãã³ããœã³äžäººã§éçºããŠããŸãããŸããã€ãã®çºæããã®ææã«å«ãŸããŠããèµ·æºãšãªã UNIX å²åŠã¯ãã®æã«èªçããŠããããã§ãUNIX ã®èãæ¹å šäœã®çºå±ã«ã±ã³=ãã³ããœã³ãæããã圹ç®ã¯ããéãããŠããããšããã®ã¯ããããã«èšãéããªã®ã§ã¯ãªãã§ããããïŒãŸãã§ã¬ã³ã«ãŒãºã¯ UNIX å²åŠãã©ãããçãŸããã®ãç¥ããªããã®ããã§ãã
ã¬ã³ã«ãŒãºã«ãšã£ãŠã®åæã® UNIX ã¯ã©ããŸã§ãïŒ
P7 ã«ã¯ä»¥äžã®ããã«æžãããŠãããåæã® UNIXãã«è²¢ç®ãã人ã®ååãããã¬ã³ã«ãŒãºãèããŠããåæã® UNIX ã®ç¯å²ãããããŸãã
åæã® UNIX ã«è²¢ç®ãã人ã ã¯ããããã®åŸæåéã§é¡èãªæ¥çžŸãæ®ãããäž»ã ã£ããã®ãåæãããã
ãã®äžã«ã¯ã«ãªãã©ã«ãã¢å€§åŠããŒã¯ã¬ãŒæ ¡ã®ãã«ã»ãžã§ã€ããC èšèªã«äŒŒãã³ãã³ãèšèªããcsh ã®ããšã§ãããã®è²¢ç®è ãšããŠååãæžãããŠããŸããä»ã«ãããŒã¯ã¬ãŒæ ¡ã«æå±ããŠãã人ã®ååãäœäººãããŸãããã®ããšããã¬ã³ã«ãŒãºã®èãããåæã® UNIXãã¯ãBSD ãš csh ãèªçãã 1978 幎ãå«ãŸããããšãããããŸããcsh 㯠2 BSD (1979) ãšå ±ã«ãªãªãŒã¹ãããŸããã1979 幎ã«ã¯ Version 7 Unix ã 3BSD ããªãªãŒã¹ãããŠãã®ã§ Research Unix ãšããŠå®æããã UnixïŒVersion 8 Unix 以éã¯éå ¬éïŒãŸã§ãã¹ãŠããåæã® UNIXããšããŠèããŠããããã§ãã
ã©ããŸã§ããåæã® UNIXããšããŠæ±ããã«ã€ããŠã¯äººããããã ãšæãã®ã§ãããã«é¢ããŠã¯æå¥ã¯èšããŸãããUNIX ããã«ç ç©¶æã®å€éšã«åºãå ¬éãããã®ã¯ Version 6 Unix ããã§ã¬ã³ã«ãŒãºã¯ AT&T ã®å€éšã®äººéã§ããããUNIX ã®åæã®æŽå²ã«çããŠã仿¹ãããŸãããå€éšã®äžè¬ããã°ã©ãã«ãšã£ãŠã¯ããã®é ãããããäžéã«èªç¥ãããŠããææãªããã§äžèªç¶ãªèãæ¹ã§ããããŸãããä»ã¯ã€ã³ã¿ãŒãããã§åœæã®ããšã詳ããç¥ã£ãŠãã人ããŸãšããŠãããããããããŠç§ã¯èª¿ã¹ãŠç¥ãããšãåºæ¥ãããã§ãããåœæããªã¢ã«ã¿ã€ã ã«çããŠãã人ã«ãšã£ãŠã¯è©³ããç¥ãããšã¯é£ããã£ãã§ãããã
ç§ãæ°ã«å ¥ããªãã®ã¯ããªããã¡ãã¡ã¬ã³ã«ãŒãºãèããŠãããåæã® UNIXããæšæž¬ããªããã°ãããªãã®ãïŒãšããæã§ããã¬ã³ã«ãŒãºãäžèšãVersion 7 Unix ã®ããšã§ããããšæžããŠããã°ãæšæž¬ããå¿ èŠã¯ãªãã£ããã倿æžã®è§£èªãããŠãããã®ãããªèšäºãæžãå¿ èŠããªãã£ãããã§ããäœãåŒçšããŠããããšããæ¬æ¥æžããŠç¶ãã¹ãããšãæžããŠããªãã®ããUNIX ãšããèãæ¹ãã§ããäž»åŒµã®æ ¹æ ããããããæ ¹æ ãæžããŠããç®æã¯å€ããªã£ãæè¡ã«åºã¥ããŠãããããããã®æ¬ããæè¡æžãšããŠèªãŸãªãããšãã®çç±ã®äžã€ã§ãã
ããŠè©±ãæ»ããšãåæã® UNIX ã«è²¢ç®ãã人ã ãã®äžã«ã¯ Perl ã®ã©ãªãŒã»ãŠã©ãŒã«ãŸã§å«ãŸããŠããŸããã©ãªãŒã»ãŠã©ãŒã«ã®è²¢ç®ã§æåãªã®ã¯ Perl (1987) ã§ãããäŸãšããŠæžãããŠãããœãããŠã§ã¢ã®äžã§æãå€ããã®ã¯ rn ãã¥ãŒã¹ãªãŒããŒã§ããrn ãã¥ãŒã¹ãªãŒããŒã¯ 1984 幎ã«éçºãããã®ã§ããããã®é ã«ã¯ DEC ã¯èªç€Ÿã® VAX çšã® Unix ã§ãã Ultrix (4.2BSD ããŒã¹)ããªãªãŒã¹ããŠããããã§ããããŸã§åæã® UNIX ã«å«ããã«ã¯éåæããããŸãããŸãããã¯ããŸãã§å ãã¡ãã£ããšããããšã§èŠãªãã£ãããšã«ããŸãããã
åŸã£ãŠã¬ã³ã«ãŒãºã«ãã£ãŠã®ãåæã® UNIXããšã¯ 1979 幎㮠Version 7 Unix ãŸã§ãå«ãã§ããããšãšãªããŸããDEC 㯠1980 幎ã«åã®å ¬åŒ UNIX ã§ãã V7M (Version 7 Unix ããŒã¹)ããªãªãŒã¹ããŸããã¬ã³ã«ãŒãºã«ãšã£ãŠã® UNIX å²åŠã¯ 1973 幎ã«çãŸãããã®ã§ã¯ãªããVersion 6 以éã«å€§åŠãäžéã«å ¬éãããã¿ããªã§ãã¡ããã¡ããšéçºããŠããæã«çãŸãããã®ã®ããã«èããŠããã®ã§ãããã
ããžãã¹ç㯠UNIX ã®äŸ¡å€ãèªããªãã£ãããã§ã¯ãªã
ã¬ã³ã«ãŒãºã¯ããžãã¹ç㯠UNIX ã«äŸ¡å€ãèªããªãã£ããšäž»åŒµããŠããŸããP2 ã«ã¯ä»¥äžã®ããã«æžãããŠããŸãããæ¬åœã«ãããªã®ã§ããããïŒ
UNIX ã¯ã倧åŠã®ç 究宀ã®éã蟌ãããïŒç¥ïŒ
æ®å¿µãªããšã«ãããžãã¹ç㯠UNIX ã«äŸ¡å€ãèªããªãã£ããUNIX ã¯ããã«ãŒã®ããã¡ãã§ãããªããåãªã奜å¥å¿ã®å¯Ÿè±¡ã§ãããªãã£ããç 究宀ããçãŸãã倧åŠã§è²ãŠãããè²·ã£ã人éãèªåã§ãµããŒãããŠãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ããªã¹ã¯ãç¯ããŠãŸã§æè³ããäŒæ¥ã¯ãªãã£ãããã®çµæãšããŠãUNIX ã¯ããã®å°æ¥ã屿ãããªããã 15 幎ãã®é·ãã«æž¡ã£ãŠäžéã®æä»£ãéããããšã«ãªãã
ãããã1980 幎代åé ã«é©ãã¹ãããšãèµ·ãã£ããã©ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãããæè»ã§ç§»æ€æ§ã«å¯ã¿ãæ§èœã®é«ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããããšããåãåºãŸãã ãããããã«ã¯ãããã¯æ Œå®ã®è²»çšã§åºãå ¥æã§ããã»ãšãã©ã®ãã·ã³ã§åäœãããšããã
UNIX ãããã«ãŒã®ããã¡ãã ãšããã®ã¯ããæå³æ£ããã§ããããå ã UNIX ã¯ããã°ã©ããŒãããã°ã©ãã³ã°ããããã®éå ·ãšããŠäœãããããã§ãããããããžãã¹çãèªããªãã£ããã©ããã¯å¥ã®è©±ã§ãã
ããã§ãã³ããšãªãã®ã¯ã1980 幎代åé ã«ã»ãšãã©ã®ãã·ã³ã§ UNIX ãåäœãããšæžããŠããæã§ãããã®ãã»ãšãã©ãã·ã³ãã« PC ã¯å«ãŸããŠããŸãããPC ã§ UNIX ãåãããã«ãªãã®ã¯ 1990 幎代ã«ãªã£ãŠããã§ãã Xenix 㯠PC ã«ãç§»æ€ãããŠããããã§ãïŒã³ã¡ã³ã åç
§ãããå°ã調ã¹ãŠãããã®ãããã®æç« ãä¿®æ£ããäºå®ã§ãïŒãå
·äœçã«ã¯ 1992 幎㮠386BSD ã§åã㊠PC-UNIX ãšã㊠PC ã§ UNIX ãåãããã«ãªããç¿å¹Ž FreeBSD ãèªçã1994 幎㫠Linux 1.0 ã®èªçã§ãã1980 幎代ã®éãPC ã§ UNIX ã¯åããŸããã§ããããã®äžæ¹ã§ MS-DOS 㯠1981 幎㫠1.0 ããªãªãŒã¹ãã 1980 幎代ã®é MS-DOS ã PC ã® OS ãšããŠå€©äžãåããŸãããã㊠1990 幎代ã®ã¯ããã«ã¯ Windows 3.x ã®æä»£ãšãªã£ãŠããŸãã
UNIX ã¯ãåŸã ã«ã³ã³ãã¥ãŒã¿æ¥çãžãšæµžéããŠãã£ãããäŒç€Ÿã®å®åçµç¹ã¯ãã®é©åœçãªèãæ¹ãæåŠããŠãããPC ãšã¡ã€ã³ãã¬ãŒã ã®ç§©åºã ã£ãäžçã奜ãã ã£ãã®ã ãèŠåŽããŠèŠããããã€ãã®ç°¡åãªã³ãã³ãã ãã§æ¥ã ã®ä»äºãã§ããããã§ãè·ã®å®å®ããåŸãããŠãããšåœŒãã¯ä¿¡ããŠãããããã§ã¯ UNIX ã¯æªéãšãªã£ããUNIX ã¯æ¬è³ªçãªæªã§ã¯ãªãã£ãããçŸç¶ãè ãããããã«æµèŠãããã®ã ã
ãã®èª¬æã¯ã¡ã€ã³ãã¬ãŒã ã«ã¯åœãŠã¯ãŸããããããŸãããããããã®ãããé«äŸ¡ãªã¡ã€ã³ãã¬ãŒã ã䜿ã£ãŠãããããªæãããªãã®ãµããŒãããªããã㪠OS ã䜿ãã§ããããïŒ ã¡ã€ã³ãã¬ãŒã ã®äžçã§ã¯ OS ã¯ããŒããŠã§ã¢ã®ä»å±åã§ããã䜿ã£ãŠãããã°ã©ãã³ã°èšèªã¯ FORTRAN ã COBOL ã§ãã1980 幎代ã«å ¥ããŸã§ã¯ UNIX 㯠DEC ã®ã³ã³ãã¥ãŒã¿ã®ç¹å®ã®æ©çš®ã§ããåäœãããç§»æ€æ§ã¯ãããŸãããäŸ¡æ Œã倧ããéãããåœç¶ã§ããã¡ã€ã³ãã¬ãŒã ã»ã©ã®æ§èœã¯ãããŸããã1980 幎代ã«å ¥ããšåçš UNIX ã®äžçãšãªãããããå€ãã£ãŠãããŸãããä»åºŠã¯ãæ Œå®ã®è²»çšã§åºãå ¥æã§ãããªããªã£ãŠããŸããŸããPC ã§ UNIX ãåããªãæä»£ã« UNIX ãæ Œå®ã®è²»çšã§å ¥æã§ããŠå¬ããã®ã¯ DEC ã®ãããªã³ã³ãã¥ãŒã¿éçºäŒç€Ÿãããã§ããããèªç€Ÿã§ OS ãéçºããã³ã¹ããæžãããŸãããããPC ãè²·ããããªå€ãã®äººã«ãšã£ãŠã¯ UNIX ãæ Œå®ã§æã«å ¥ã£ããšããŠãããããåããã³ã³ãã¥ãŒã¿ãé«ãããæãåºããªãã®ã§ãã
ã€ãŸãããžãã¹çãèªããªãã£ãã®ã¯ UNIX ã§ã¯ãªããããåããã³ã³ãã¥ãŒã¿ã§ãã髿©èœãªãã¹ã¯ãããã¯ãŒã¯ã¹ããŒã·ã§ã³ãšã㊠UNIX ã¯äœ¿ãããããã«ãªã£ãŠãããŸããããUNIX ãšããèãæ¹ããåºçããã 1994 幎㮠1 幎åã«ãAT&T 㯠Novell ã« UNIX ã®æš©å©ã売åŽããŠããŸãããã㯠PC ã®æ§èœãåäžãã¯ãŒã¯ã¹ããŒã·ã§ã³åžå Žãçž®å°ãå§ããããã§ãããã®æç¹ã§èŠåããã€ãã AT&T ã®å¯Ÿå¿ã¯å®ã«æ©ãã£ããšèšããŸããã¬ã³ã«ãŒãºã¯äžã®äžã PC ã®äžçãžãšç§»è¡ããŠããäžã§ãäŒç€Ÿã®å®åçµç¹ã¯ PC ã®äžçã奜ãã ã£ãã®ã ããšåããŠããããšã«ãªããŸããä»ã ããããèšããäºã§ãããæªæ¥ãèŠéããŠããªãã£ãã®ã¯ã©ã¡ããªã®ã§ããããïŒãã㊠1998 幎㫠DEC ã¯ã³ã³ããã¯ã«è²·åãããŸããæ¥çµæ°èã®èšäºã§ã¯ DEC ã®å€±æã®æ¬è³ªã¯ç¬èªæè¡çå矀ïŒNIH çå矀ïŒã§ãã£ããšèŠè§£ãè¿°ã¹ãŠããŸãã
ãPCãMacã®å°æ¥æ§ãèŠæããªãã£ã誀ç®ããã
ãããã®ã±ã³ïŒã²ããŠã¯DECïŒã®å€±æã®æ¬è³ªã¯ããããã"Not Invented Here syndromeïŒNIHçå矀ïŒ"ãšåŒã°ããæè¡å¿åã®åŒ·ãäŒç€Ÿã«ç¹æã®ãã®ã§ããã
ã€ãŸããèªç€ŸïŒHereïŒã®æè¡ãéä¿¡ããããŸããä»ç€ŸïŒNot HereïŒã§çã¿åºãããïŒInventedïŒæè¡ãã¢ã€ãã¢ã補åããè©äŸ¡ãããããªãåŸåã®ããšã§ããã
DEC ã®å€±æã¯ã©ã¡ãããšèšãã°ããŒããŠã§ã¢ã®è©±ã§ãããŸã DEC ã®èããšã¬ã³ã«ãŒãºã®èããå¿ ãããäžèŽããŠãããšã¯éããŸãããå®é DEC ã®åµæ¥è ã§ããã±ã³ã»ãªã«ã»ã³ã¯ UNIX ãå«ã£ãŠãããããªã®ã§ãã©ã¡ãããšèšãã°ã¬ã³ã«ãŒãºã®èã㯠DEC ã®äžã§ã¯å°æ°æŽŸã ã£ãå¯èœæ§ãé«ããšæããŸããã¬ã³ã«ãŒãºã¯ç¬èªæè¡çå矀ãé¿ããããšã®éèŠãçãã»ã©è¿°ã¹ãŠããããã§ãããUNIX ã®äŸ¡å€ãèªããªãã£ããšããæ¹å€ã¯ãUNIX ã®äŸ¡å€ãèªããªãã£ãã±ã³ã»ãªã«ã»ã³ãžã®æ¹å€ã«ãçãããç¬èªæè¡çå矀ã«é¥ã PC ã®äŸ¡å€ãèªããªãã£ããšãã圢㧠DEC ã®ããžãã¹ãã®ãã®ãšèšããã®ã§ãã
ç¥ã£ãŠã®éã PC ã Mac ã¯ä»ãå¥åšã§ããããã Mac ã¯åªãã GUI ãã¡ã€ã³ã§äœ¿ã UNIX ãšãªããWindows 㯠WSL ã§ Linux ãåã蟌ã¿ãŸãããLinux 㯠UNIX ã®æ£çµ±åŸç¶ãšããŠå€ãã®äŸ¿å©ãªæ©èœã远å ã㊠UNIX ã眮ãæããŸããããã¹ãŠã UNIX å²åŠãå å ããªãã UNIX å²åŠãè¶ ãããã®ãå®çŸããŸãããä»ã®äžã®äžã¯ããžãã¹çã UNIX ã®äŸ¡å€ãèªããçµæã§ãããã㯠UNIX ããã³ UNIX å²åŠã¯ãã¹ãŠã® OS ã®äžã®äžéšãšããŠçãç¶ãããšããããšãæå³ããŠããŸããæ¶ãå»ãããšã¯ãããŸããããä»ã® OS ã«åã£ãŠä»£ããããšãç¡ãã§ãããã
ã¬ã³ã«ãŒãºã¯ã©ããŸã§ã® UNIX ã®æŽå²ã®è©±ãããŠãã®ãïŒ
ãUNIX ãšããèãæ¹ããåºçãããã®ã 1994 幎ãªã®ã§ããããŸã§ã® UNIX ã®è©±ãããŠãããšããã®ã¯åœç¶ãªã®ã§ããããã®æä»£ã® UNIX ãã¬ã³ã«ãŒãºã¯ã©ãæããŠããã®ã§ããããïŒ P3 ã®æåŸã«ã¯ãã®ããã«æžãããŠããŸãã
ç§ã¯ãUNIX ãäžçæšæºã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãªãã®ã¯æéã®åé¡ã ãšäœå¹Žãåããèšãç¶ããŠãããããã¯ãå°ãªããšãééã£ãŠã¯ããªãã£ãããããç®èãªããšã«ããã®æšæºãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ãUNIXããšåŒã°ããããšã¯ãªãããã ãUNIXãšããååã®æã€äŸ¡å€ã«æ°ã¥ããäŒæ¥ããåŒè·å£«ã䜿ã£ãŠå€§æ¥ãã§ãUNIX ãåæšãšããŠç»é²ããŠããŸã£ãã®ã ãä»åŸã¯ãããªãŒãã³ã·ã¹ãã ããšããåã®ããšã«ãã€ã³ã¿ãŒãã§ãŒã¹ãèšèšãããæšæºãææ¡ãããå€ãã®ã¢ããªã±ãŒã·ã§ã³ãéçºãããããšã«ãªãã ããã
DEC ã« UNIX ãå°å ¥ããã Unix Engineering Group (UEG) ã®ã¡ã³ããŒãªã®ã§ãäœå¹Žãåããèšãç¶ããŠããã®ã¯äžæè°ã§ã¯ãããŸãããã㊠UNIX ãšåŒã°ããããšã¯ãªãããã ãšããã®ã¯ã©ãããããšã§ããããïŒããªãŒãã³ã·ã¹ãã ããšããèšèããããã㯠UNIX æŠäºã®æåŸã®ææã®è©±ã§ããããããããUNIX ãšããååã®æã€äŸ¡å€ã«æ°ã¥ããäŒæ¥ããšã¯ã©ããªã®ã§ããããïŒå°ãèªä¿¡ããªãã®ã§ãã AT&T ãåæšç»é²ãããã®ã¯ 1985 幎ã§ãããã®äºãæããŠããã®ã§ããããïŒãã ãç±³åœã¯åæšã«äœ¿çšäž»çŸ©ãæ¡çšããŠããã®ã§äœ¿çšããŠããå°åå ã§ã¯ç»é²ããå¿ èŠã¯ãããŸãããç±³åœå šåã§ããžãã¹ãããå Žåã¯ç»é²ãå¿ èŠãªããã§ããéçºãã AT&T ãååŸããã®ã§ããã°æ£åœãªæš©å©ã§ããããã¬ã³ã«ãŒãºã®æžãæ¹ã¯ãèªåãã¡ãèªç±ã«äœ¿ããã¯ãã® UNIX ã誰ãã奪ãå»ã£ããšèšã£ãŠãããã«èŠããŠããŸããŸãã1993 幎 6 æãAT&T 㯠UNIX ã®æš©å©ã®ãã¹ãŠã Novell ã«å£²åŽãNovell 㯠10 æã« X/Open ã« UNIX ã®åæšæš©ã移管ããŸãïŒåèïŒãã¡ãªã¿ã«åæžã®å§ãã®ããŒãžã«ã¯ãNovell ã UNIX ã®åæšæš©ãæã£ãŠããããšãæžãããŠããŸããïŒX/Open ã§ãªãã®ã¯å·çãéã«åããªãã£ãïŒïŒ
ããããã®æ¬ã®è¯ããªãæã§ããäºå®ããŒãããŠæžããããäœãèšãããã®ããã£ã±ãã§ããããã«ç§æ ãæãã§ããããã«ããèŠããªãã®ã§ããããé ãããã«ãŒãããã®ããªãšæããŠããŸããããããããåºçãããæç¹ã§ã¯åžžèã¬ãã«ã§å ±éèªèããã£ãã®ãããããŸããããä»èªã人ã«ãšã£ãŠã¯åæç¥èããªããã°ããããããŸãããBSD Unix å¯ãã®äººãã¡ã«ãšã£ãŠã¯ãå 㯠AT&T ã® Unix ãåºçºç¹ã ã£ããšããŠããBSD Unix ã¯èªåãã¡ïŒå€§åŠã»ã³ãã¥ããã£ïŒã®æã§éçºããŠãã Unix ãªãã ããšããæ°æã¡ããã£ãã ãããšããã®ã¯æ³åã§ããã®ã§ãããUNIX ãšããèãæ¹ãã«ã¯ãããæžããŠãããããããã BSD ãšããæåãããããŸããã
UNIX æŠäºã¯ååã¯ãAT&T ã® System V 系㚠BSD ç³»ã®æŠããšã㊠1980 幎代ã®äžé ã«å§ãŸããŸããåŸå㯠AT&T ã Sun ãå±ãã UNIX InternationalïŒUIïŒé£åãš DEC ãå±ãã OSF é£åã®äºã€ã®æŠããšã㊠1988 幎é ã«å§ãŸããŸãã1980 幎代åŸåã«ã¯ããã³ã³ã¯ã¯ãŒã¯ã¹ããŒã·ã§ã³ãžãšçœ®ãæãã£ãŠããŸããããã¯ãŒã¯ã¹ããŒã·ã§ã³ã®äž»åããŒã±ããã§ãã£ããã¹ã¯ãããåžå Žã¯ Windows ãš PC ã«ãã£ãŠå¥ªãããŠãããŸããããã«å¯Ÿæãã¹ã AT&T 㯠Novell ãšæãçµã¿ãŸãããæçµçã«ã¯ UNIX ã®éçºããæ€éã Novell ã« UNIX ã®æš©å©ã売ã UNIX æŠäºã¯å¹ãéããããšã«ãªããŸããããã 1993 幎é ã§ãããããåã UI é£å¶ãš OSF é£å¶ã¯å ±åã§ãCommon Open Software EnvironmentïŒCOSEïŒããšããæ°ããæšæºãäœãå£äœãèšç«ããç¿ 1994 幎 3 æã«ã¯ UI ã OSF ã«åžåãããŸãããUNIX ãšããèãæ¹ããåºçãããã®ã¯ãã®åŸã® 1994 幎 12 æã§ããOSF ãšããŠã¯ UNIX ã®åæšã¯äœ¿ããªããšæã£ãŠããã®ã ãšæããŸããã ããä»åŸã¯ããªãŒãã³ã·ã¹ãã ãã®åã®ããšã«æšæºãææ¡ãããã ãããšèšã£ãŠããã®ã§ãããã
ãã®åŸã¯ 1996 幎㫠OSF ãš X/Open ãå䜵ã The Open Group ãšããä»ãååšããæšæºåå£äœãèšç«ãããŸããX/Open ãå䜵ããããšã§ãThe Open Group 㯠UNIX ã®åæšãæã«å ¥ããSingle UNIX Specification ãšãã UNIX ã®æšæºèŠæ Œãçå®ããŸãããå·¡ãå·¡ã£ãŠãªãŒãã³ã·ã¹ãã ã§ã¯ãªã UNIX ãšããåã®ããšã«æšæºèŠæ Œãäœãããããšã«ãªã£ãããã§ããåçš UNIX ã®ãã³ããŒã¯ïŒææã®ïŒèªèšŒãåŸãŠ UNIX ãåä¹ãããã«ãªããŸããUNIX æŠäºã¯å ã ã®éçºå ã§ãã AT&T ã UNIX ã®éçºããæ€éããããšã§ åçš UNIX ã®äžçãšããŠçµ±äžãããŸãããããããªãŒãã³ãœãŒã¹ã®æ³¢ãšå ±ã«ç»å Žãã Linux ã PC-UNIX ãšãªã£ã BSD ã®åå«ãã¡ã¯ PC ã®æ§èœåäžãšå ±ã«åçš UNIX ã远ãè©°ããŠããŸãã
ãªã Single UNIX Specification ã¯ãã®åŸ 2001 幎㫠ããäžã€ã®æšæºèŠæ Œã§ãã POSIX ãšå 容ãçµ±åãããçŸåšã¯ The Open GroupãISO/IECãIEEE ã® ïŒ ã€ã®æšæºåå£äœãããªã AustinGroup ã«ãã£ãŠ POSIX ã¯ç¶æããç¶ããŠããŸãã
ïŒ2003 幎ããå§ãŸã SCO ã«ãã UNIX ã«é¢ããäžåœãªæš©å©äž»åŒµã¯ããããã«çç¥ããŠè¯ãã§ãããïŒ
UNIX éã®ç§»æ€æ§åé¡ã倧ãããªãåã®æä»£ã®è©±ãããŠãã
ãUNIX ãšããèãæ¹ããèªãã§æ°ã«ãªãç¹ã®äžã€ããã·ã§ã«ã¹ã¯ãªããã¯ç§»æ€æ§ãé«ãããšããåæã«ãªã£ãŠããæã§ããããã¯ã¬ã³ã«ãŒãºãå UNIX éã§ã®äºææ§ãåé¡ã«ãªãåã®è©±ãããŠããããã ãšèããããŸããUNIX éã§ã®äºææ§ã®è©±ã¯ POSIX æšæºèŠæ Œã®è©±ã«ç¹ãããŸãããUNIX ãšããèãæ¹ãã«ã¯ POSIX ãšããååããã§ãŠããŸããã
ããèªãã°ããããšæããŸãããUNIX ãšããèãæ¹ãã§éèŠã ãšäž»åŒµããŠãããç§»æ€æ§ããšã¯ãç°ãªãããŒããŠã§ã¢ã«å¯Ÿãã UNIX ã®ç§»æ€æ§ãã®è©±ã§ããDEC ã¯ããŸããŸãªã¢ãŒããã¯ãã£ã®ã³ã³ãã¥ãŒã¿ãéçºããŠãããšããããšãæãåºããŠãã ããããããã£ãèªç€Ÿã®ããŸããŸãªã³ã³ãã¥ãŒã¿ã« UNIX ãç§»æ€ãããšãã話ãããŠããã®ã§ããåœæã¯ãŸã PC ã®ããã«åºæ¬ã®ã¢ãŒããã¯ãã£ãçµ±äžãããŠããæä»£ã§ã¯ãããŸãããæ°ããã³ã³ãã¥ãŒã¿ãéçºããã®ã§ããã°ããã®ã³ã³ãã¥ãŒã¿ã« OS ãç§»æ€ããªããã°ãããŸãããæ Œå®ã§äœ¿ããŠç°ãªãã³ã³ãã¥ãŒã¿ãžã®ç§»æ€æ§ãé«ã UNIX ã¯ãã³ã³ãã¥ãŒã¿äŒç€Ÿã«ãšã£ãŠ OS ã®éçºã³ã¹ããæžããããšãã§ããéœåã®è¯ã OS ã ã£ããšèšããŸãã
UNIX ã AT&T ã®ãã«ç ç©¶æã§äœãããŠããé㯠UNIX éã§ã®ç§»æ€æ§ã®åé¡ã¯ãããŸããã§ãããUNIX ã®éçºå ãäžã€ããç¡ãããã ããåœç¶ã§ããUNIX ã®ç§»æ€æ§ãåé¡ã«ãªãã®ã¯ UNIX ããã«ç ç©¶æã®å€ã«åºãŠãBSD ç³» UNIX ãèªçããUNIX ã«ç®ãã€ãã DEC ãå«ãããã€ãã® UNIX ãã³ããŒãããããç¬èªã« UNIX ã«æ©èœã远å ããŠããã§ãããªã UNIX ãã³ããŒã¯ããããç¬èªã®æ©èœã远å ããã®ãïŒããã¯èªç€Ÿã® UNIX ãã·ã³ã売ãããã§ããUNIX ãã·ã³ã売ãããã«ã¯ä»ç€Ÿãããåªããæ©èœãæã£ãŠããªããã°ãªããŸãããã©ã€ãã«ã³ã³ãã¥ãŒã¿äŒç€Ÿã®ããšããèªç€Ÿã®ã³ã³ãã¥ãŒã¿ã売ããããšã®æ¹ãéèŠã§ãããã®ããã«ã¯æ©èœãå å®ãããŠå·®å¥åããæªãèšãã°ã¿ããªãã³ããŒããã¯ã€ã³ãç®æããŠããããã§ããUNIX ãã³ããŒã«ãã UNIX ã®éçºç«¶äºã UNIX éã®ç§»æ€æ§ãäœäžãããŸããã
äžæ¹ã§ããœãããŠã§ã¢éçºäŒç€Ÿã«ãšã£ãŠãã®ç¶æ³ã¯å¬ãããããŸãããåã³ã³ãã¥ãŒã¿äŒç€Ÿã "UNIX" ãæèŒããã³ã³ãã¥ãŒã¿ã販売ããŠããªãããããã«äºææ§ããªãã®ã§ãããããã® UNIX æ¯ã«ç§»æ€äœæ¥ãå¿ èŠã«ãªã£ãŠããŸãããã§ããUNIX ã®ã©ã€ã»ã³ã¹è²©å£²ããžãã¹ãå§ãã AT&T ããã®åé¡ã¯èªèããŠãã UNIX éã§ã®äºææ§ãå®çŸããããã®æšæºèŠæ ŒãäœããŸãããããã 1985 幎㮠System V Interface Definition (SVID) ã§ãããã®åã®éã AT&T ã® System V ã®åäœã説æããæšæºèŠæ Œã§ããäžæ¹ã§ãã³ããŒäžç«ã®æšæºèŠæ ŒãšããŠäœãããã®ã 1988 幎㮠POSIX (POSIX.1-1988) ã§ããã·ã§ã«ãšã³ãã³ãã«é¢ããŠã¯å°ãé ã㊠1992 幎㮠POSIX.2-1992 ã§æšæºåãããŸããå ã 㯠BSD ãš SystemV ãš Xenix ãçµ±äžããèŠæ ŒãšããŠäœãããŸãããåŸã® Linux ã POSIX æºæ ãç®æããŠéçºãé²ããããŸããAT&T ã¯åŸã« UNIX éçºããæãåŒãã®ã§ 1995 幎㮠SVID Version 4 ãæåŸã®ããŒãžã§ã³ã§ããäžæ¹ã§ POSIX ã¯ä»ãæšæºèŠæ Œãç¶æãããŠããŸãã
ããã POSIX ããããããšèšã£ãŠ UNIX ãã³ããŒã¯ããã«å¯Ÿå¿ãã矩çã¯ãããŸãããäœãã®ã¡ãªããããªããã°æ¡çšããªãã§ãããããã®ã¡ãªããã«ãªã£ããšæãããã®ã 1989 幎㮠FIPS ã§ããç±³åœæ¿åºã¯ã³ã³ãã¥ãŒã¿ãŒã®è³Œå ¥èŠä»¶ã« POSIX ã«æºæ ããŠããããšãèŠæ±ããŸãããå UNIX ãã³ããŒããã€é ãã POSIX ã«æºæ ããä»ç€Ÿã® UNIX ãšäºææ§ãæãããããšèãããã¯äžæã§ããã1980 幎代ã®å€§éšåã®æé㯠UNIX éã®ç§»æ€æ§ã«é¢ããŠæ°ã«ããŠãªãã£ããšæãããŸããUNIX ãã³ããŒãæ°ã«ããŠããã®ã¯èªç€Ÿã®ã³ã³ãã¥ãŒã¿ãŒã®ç§»æ€æ§ãªã®ã§ãã
ãããŸã§æ¥ãã°ããªãã¬ã³ã«ãŒãºãã·ã§ã«ã¹ã¯ãªãããç§»æ€æ§ãé«ããšèšã£ãŠããçç±ããããããšã§ããããããã§ããã·ã§ã«ã¹ã¯ãªããã¯å®è£ ã«çްããéããããä»ç€Ÿã® UNIX ãšã®ç§»æ€æ§ã¯äœãã®ã§ãããèªç€Ÿã®ç°ãªãã³ã³ãã¥ãŒã¿ãžèªç€Ÿã® UNIX ãç§»æ€ãããšãã話ã«éãã°é«ãã®ã§ãããããèªã¿ééãããšããããªçµè«ã«ãªã£ãŠããŸãã®ã§ååæ°ãã€ããŠãã ããã
éãå€ãã UNIX ã³ãã³ããšã¯ BSD çãš System V ç
åºæïŒããŒãž iiiïŒãã
ãŸãããããšã¯å¥ã« UNIX ã«äŒŒãã·ã¹ãã â UNIX ãšããã£ãŠã¯ãããããã®æ¹æ³è«ããã¯é¢ããŠãã£ãŠãããã®ãã¡ â ã®çºå±ã®åºŠåããæ¬æžã§ãã§ãã¯ã§ããããã«ããããUNIX ã·ã¹ãã ã»ã©ãã©ããªãŒãºã®ãã©ã€ã¢ã³ã»ã«ãŒããã³ã¯ãæè¿ç»å ŽããŠããããç²æ«ãª UNIX (crappy UNIXes)ãã«æžå¿µã衚æããŠãããç§ããŸããUNIX ãåä¹ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ããããã«ã¯ãUNIX ã®åºæ¬çãªèãæ¹ãèŠå€±ã£ãŠã»ãããªããšé¡ã£ãŠããäžäººã ã
ãcrappy UNIXesããæ€çŽ¢ããŠãã»ãšãã©äœãèŠã€ãããªãã£ãã®ã§ãããèšã£ãŠãã®ã¯ãã©ã€ã¢ã³ã»ã«ãŒããã³ã§ã¯ãªããŠãã¬ã³ã«ãŒãºãªã®ã ãšæããŸãã
ããŠãã®ããç²æ«ãª UNIXããšã¯ã©ã® UNIX ã®ããšã§ããããïŒãã§ã«çãã¯æžããŠããŸãã BSD çãš System V çãã€ãŸãäºå®äžå šãŠã® UNIX ã§ããLinux ã«ãåœãŠã¯ãŸããŸãã Linux ã¯ãã®æç¹ã§ã¯ãŸã èªçããŠããŸãããAT&T ãã«ç ç©¶æã®ã«ãŒããã³ã«ãšã£ãŠãç²æ«ã§ãªã UNIX ãšã¯ Research Unix ã®ã¿ã§ãããããã倧åŠã§è²ã£ã BSD ã¯ããç²æ«ãª UNIX ãšãªããSystem V ç³» UNIX ãããã«ãªãããŸããã
ã«ãŒããã³ã衚æããæžå¿µãšããã®ã¯ããããã 1984 幎ã®ãã©ã€ã¢ã³ã»ã«ãŒããã³ãšããã»ãã€ã¯ã«ããè«æ Program Design in the UNIX Environment ïŒæ¥æ¬èªçã¯UNIX åå
žã®ãUNIX ç°å¢ã«ãããããã°ã©ã èšèšã)ã®ããšã§ãããããã®è«æã§ã¯ cat -v ãš ls ã®è€æ°å衚瀺ã®äŸãæããŠããããã UNIX å²åŠã«åŸã£ãŠããªãããšã説æããŠããŸãããã®ãã¡ ls ã®è€æ°å衚瀺ã®è©±ã¯ãUNIX ãšããèãæ¹ãã§ã玹ä»ãããŠããŸããçžå€ãããåç
§å
ãæžãããŠããŸããããå
容ããèšã£ãŠãUNIX ç°å¢ã«ãããããã°ã©ã èšèšããåç
§ããã®ã¯ééããªãã§ãããã
ls ã®è€æ°å衚瀺ãšããã®ã¯ãã¡ã€ã«ã»ãã£ã¬ã¯ããªäžèЧãåºåããæã«ãåºåå
ã端æ«ã®å Žåã§ããã°è€æ°åã§åºåãããæ©èœã®ããšã§ãããã®ãããªæ©èœã¯ ls ã³ãã³ãã®æ¬è³ªçãªæ©èœã§ã¯ãªãã®ã ãã ls ã³ãã³ãã倧ããããã®ã§ã¯ãªããå¥ã®ã³ãã³ãã«åé¢ãã¹ãã ãšãã話ã§ãããã®æ©èœã¯ 1977 幎㮠1BSD ã®æç¹ã§å®è£
ãããŠããããšãããããŸãããã¡ãã Research Unix ã® Version 7 Unix ã«ã¯ãããŸããã
ããŠããã§ç®èãªã®ã DEC ã® Ultrix ã§ããV7M 㯠Version ïŒ Unix ããŒã¹ãªã®ã§è€æ°åè¡šç€ºã®æ©èœã¯ãããŸãããããã Ultrix 㯠BSD ããŒã¹ã«å€ãã£ãã®ã§èŠäºã«è€æ°åè¡šç€ºã®æ©èœãããã®ã§ããã¬ã³ã«ãŒãºã UNIX ã®åºæ¬çãªèããèŠå€±ã£ãŠã»ãããªããšèšããªããããçµå±èªç€Ÿã® DEC ã¯ãç²æ«ãª UNIX ãäœã£ãŠãããšããããã§ãããã¡ããããŒã¹ãšãªã BSD ãå®è£ ããŠãããããªããã§ãããUNIX å²åŠã«åŸãããšãããäºææ§ãéèŠããïŒåã«åé€ããã®ãé¢åãªã ããããããŸãããïŒãšããããšã§ããã¡ãªã¿ã«ç§ã¯ãããæ£ãã倿ã ãšèããŠããŸãã
äœè«ã§ãããUNIX ãšããèãæ¹ãã«ã¯ãls ã¯ç«¯æ«ã®æšªå¹
ã 80 æ¡ã ãšä»®å®ããŠããããšæžãããŠãããæšªå¹
ã 132 æ¡ã ã£ãããããã©ããããã ïŒãšãŸã§æžããŠããŸããç¥ã£ãŠã®ãšããçŸåšã¯ç«¯æ«ã®æšªå¹
ãŸãã¯ç°å¢å€æ° COLUMNS ã«åŸã£ãŠèªåçã«èª¿æŽãããŸããããã®æ©èœãå
¥ã£ãã®ã¯ 4.3BSD ããã§ãã4.3BSD 㯠1986 幎ã«ãªãªãŒã¹ãããŸãããDEC ã® Ultrix ã§ã¯ 4.2BSD ã䜿ã£ãŠããã®ã§ãã¬ã³ã«ãŒãºã¯ãã®ãããªæ©èœãæã£ãå®è£
ãããããšã«æ°ãã€ããŠããªãã®ã§ãããããUNIX ç°å¢ã«ãããããã°ã©ã èšèšãã§ã 80 æ¡ã§ãããšæžãããŠããã®ã§ããããã®è«æã¯ 4.3BSD ããªãªãŒã¹ãããåãªã®ã§ãã£ã¡ã¯ä»æ¹ãããŸããã
UNIX ã«é¢ãã现ããééããçµæ§ãã
ã¬ã³ã«ãŒãºã¯ãUNIX ãšããèãæ¹ãã®åé ã§ UNIX ãšããã®ã¯ã©ããããã®ãã説æããŠããŸããã现ããééããåéããåŒãèµ·ãããããªèª¬æäžè¶³ãçµæ§ãããŸãããããã軜ãèŠãŠãããŸãããã
P1 ãã
UNIX ã®åµé è ãã¡ã¯ãããæ¥µç«¯ãªã³ã³ã»ããããå§ããããŠãŒã¶ãŒã¯åãããã³ã³ãã¥ãŒã¿ã䜿ãããšã¿ãªããã®ã ãUNIX ã¯ããŠãŒã¶ãŒã¯ããèªåãäœãããŠããã®ããåãã£ãŠããããšã®åæã«ç«ã£ãŠãããä»ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®èšèšè ããåå¿è ããå°éå®¶ãŸã§å¹ åºããŠãŒã¶ãŒãåãå ¥ããããšããŠèŠåŽããŠãããšããUNIX ã®èšèšè ãã¡ã¯ãäœãããŠããã®ãåãããªããªããããã«ããã¹ãã§ã¯ãªãããšããäžèŠªåæ¥µãŸããªãã¢ãããŒããéžãã ã
ããããã§ããããŠãŒã¶ãŒã¯åãããã³ã³ãã¥ãŒã¿ã䜿ãããã³ã³ã»ããããå§ãŸã£ãŠããŸãããUNIX ã®åµå§è ãã¡ã¯ãèªåãã¡ã䜿ãããããšãã OS ãäœã£ãã ãã§ãããŸããåå¿è ãåãå ¥ããããšããªãäžèŠªåæ¥µãŸããªãã¢ãããŒããéžãã ã®ã¯ãAT&T ã®ç¬å çŠæ¢æ³ã§ã³ã³ãã¥ãŒã¿æ¥çãžã®åå ¥ãçŠæ¢ãããŠããã®ã§ãçŸç©éãããµããŒããªãããã°ä¿®æ£ãªããåæãããšããã©ã€ã»ã³ã¹ããªã·ãŒã«ããããåŸãªãã£ãã ãã§ããç©æ¥µçã«åå¿è ãŸã§ãããµããŒãããããä»ã® OS ãšç«¶åããããžãã¹ãå§ããããšããŠãããšæãããŠããŸãã®ã¯èšããŸã§ããããŸãããç©ã¯äžããããåŸã¯èªåãã¡ã§ãã¹ãŠãããšçªãæŸãããšããåºæ¥ãªãã£ãã ãã§ãã
P5 ãã
AT&T ãã«ç ç©¶æã§æåã® UNIX ãæžãããããã¯ã¹ããŒã¹ã»ãã©ãã«ãšããã²ãŒã ããã°ã©ã ã®åäœç°å¢ãšããŠãDEC ã®ããã³ã³ãã¥ãŒã¿ PDP-7 äžã§åäœããã
ãŸãã§ã¹ããŒã¹ã»ãã©ãã«ã®ããã« UNIX ãæžããããã«èªããŸãããã¹ããŒã¹ã»ãã©ãã«ã¯å ã PDP-7 äžã§ OS ãªãã§çŽæ¥åäœãã圢ã§ç§»æ€ãããŸããããããã UNIX ãéçºããã®ã«å¿ èŠãª PDP-7 ã®ããã°ã©ãã³ã°æ¹æ³ãåŠãã ã®ã§ããåŸã« UNIX äžã§åãããã«ä¿®æ£ãããããã§ãããã¹ããŒã¹ã»ãã©ãã«ã®åäœç°å¢ãšã㊠UNIX ãéçºããããã§ã¯ãããŸãããSpace Travel: Exploring the solar system and the PDP-7 ãããLater we fixed Space Travel so it would run under (PDP-7) Unix instead of standaloneã
ããšããšã¹ããŒã¹ã»ãã©ãã«ã¯ããµãã¥ãŒã»ããå·¥ç§å€§åŠã§éçºãããŠãã Multics ã·ã¹ãã çšã«äœãããŠããã
ãã®æžãæ¹ã ãšèª°ãã Multics ã·ã¹ãã çšã«éçºããŠããããã«æããŸãããã¹ããŒã¹ã»ãã©ãã«ãéçºããã®ã¯ã±ã³ã»ãã³ããœã³èªèº«ã§ããããã PDP-7 ã§ã®ããã°ã©ãã³ã°ãåŠã¶ããã«æžãçŽããã®ã§ãããã®éçºçµéšãã UNIX ã®éçºãå§ãŸããŸãã
ãã³ããœã³ã¯ãUNIX ã®åæããŒãžã§ã³ã« Multics ããå€ãã®ç¹åŸŽãåãå ¥ããããã®ãã¡ã§ãæãéèŠãªãã®ãã¿ã€ã ã·ã§ã¢ãªã³ã°ã·ã¹ãã ã ã
ã©ããŸã§ããUNIX ã®åæããŒãžã§ã³ããšæããŠããã®ãçåã§ãããåæã® UNIX ã¯ãã«ãã¿ã¹ã¯çšã«ã¯èšèšãããŠããŸãããã¢ã»ã³ãã©ã§æžãããŠããç§»æ€æ§ããããŸããã§ãããã¿ã€ã ã·ã§ã¢ãªã³ã°ã·ã¹ãã ã®ã¢ã€ãã¢ã¯ Multics ã®éçºãå§ãŸã£ã 1964 以åããååšããŠãã 1961 幎ã«ã¯ CTSS ãšããäžçåã®ã¿ã€ã ã·ã§ã¢ãªã³ã°ã·ã¹ãã ã 1964 幎ã«ã¯ DTSS ãèªçããŠããŸããMultics ããåãå ¥ããç¹åŸŽãšã¯èšããŸããã
ããããã°ã©ãã¯çŽ æŽããããœãããŠã§ã¢ãæžããå倧ãªããã°ã©ãã¯ããã®ããã°ã©ã ããçãããããããã³ããœã³ãæ³¥æ£åŒã°ããããŠããã®ã§ã¯ãªããããã§ã¯ãªãã圌ã¯ãç¬èªæè¡çå矀ããé¿ãããã§ã«ãããã®ã«ã¯ãªãšã€ãã£ããªä»å 䟡å€ãä»ããããšã«ããã®ã ã£ãã
ãšæžãããŠããŸããããŸãç¬èªæè¡çå矀ãšã¯ããã§ã«äœ¿ããæè¡ããããªãããã䜿ããšãã話ã§ãã£ãŠãä»ã®äººã®ã¢ã€ãã¢ãå®è£ ããæã«äœ¿ãèšèã§ã¯ãããŸãããMultics ã®ã³ãŒãã䜿ãããšã¯åºæ¥ãªãã®ã§ããã§ã«ãããã®ãã§ã¯ãããŸããã
ããããã±ã³ã»ãã³ããœã³ã¯ Multics éçºãããžã§ã¯ãã®ã¡ã³ããŒã®äžäººã§ããé²ãŸãªã Multics ã®éçºã«èŠåããã€ããŠïŒAT&T ãïŒæ€éããã®ã§ããããªãããããã£ãäºå®ãæžãããŠããŸãããåæç¥èãæããªãã§èªããšãã³ããœã³ãçãã ã®ã ãšåéãããŠããŸããã§ãããã
ããŠããã³ããœã³ããªãããŒãçãã ããã°ã©ã ãšã¯ã©ãã®ããšãªã®ã§ããããïŒUNIX ãéçºããå倧ãªããã°ã©ãã¯ãå€ãã®çŽ æŽããããœãããŠã§ã¢ãèªåã®æã§æžããŠããŸãããïŒããã¯åçŽã«ãå倧ãªããã°ã©ãã¯çŽ æŽããããœãããŠã§ã¢ãæžããã§è¯ãã®ã§ã¯ãªãã§ããããïŒ
UNIX ã¯è¿œãè©°ãããã人éãæžããïŒ
ã¬ã³ã«ãŒãºã¯ãUNIX ã¯è¿œãè©°ãããã人éãæžãããšäž»åŒµããŠããŸãã
ãã³ããœã³ã¯ãUNIX éçºè ãã¡ãžã®å äŸãããäžã€äœã£ããå倧ãªããã°ã©ã ã¯ã远ãè©°ãããã人éãæžããããã¢ããªã±ãŒã·ã§ã³ãæžããªããã°ãããªããšããŠãããããå®çšçã§ãªããŠã¯ãªããããã©ãããã°ã§ãããç¥ã£ãŠãããšãã¹ããŒãããŸããã«ããããããããããæ£ãããããæéããªãããšããäžçã®ãã°ããããœãããŠã§ã¢ãæžãããå¯èœæ§ãéåžžã«é«ããªãããã³ããœã³ã¯ãç§»æ€æ§ã®ããèšèªã§æžããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãå¿ èŠã ã£ããèªèº«ã®ããã°ã©ã ãã»ãã®ã¢ãŒããã¯ãã£ã«ç§»è¡ãããªããã°ãªãããªã£ãã®ã ãç§»æ€æ§ã®ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšãããã®ã®ãšãã¹ããŒãã¯ããªãã£ããããã¡ãã圌ã«ã¯ãæ£ãããããæéãªã©ããªãã£ãã
ããã¯ã¬ã³ã«ãŒãºã®ã人éã«ãã第äžã®ã·ã¹ãã ãã®è©±ã«çµã³ã€ããããã®äœã話ã ãšæã£ãŠããŸããäºç®ããªãã£ããšãã³ã³ãã¥ãŒã¿ããªãã£ããšèšãã®ã§ããã°ãŸã ããããŸããããã³ããœã³ã远ãè©°ããããŠãããšã¯æããŸãããMultics ãããžã§ã¯ãããæ€éããã®ã§æéã¯ãã£ãã¯ãã§ããUNIX ã®æåã®ããŒãžã§ã³ã¯ç§»æ€æ§ããªãã®ã ãããç§»æ€æ§ã®ããèšèªã§æžãããŠãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãå¿ èŠã ã£ãããšããã®ã§ããã°èŸ»è€ãåããŸãããèªèº«ã®ããã°ã©ã ãç§»è¡ãããã°ãªããªãã£ããšèšããŸãããããã¯ã¹ããŒã¹ã»ãã©ãã«ãšããã²ãŒã ã§ããããã OS äžã§ã¯ãªããã®ãŸãŸåã圢ã§ç§»æ€ããŸãããäžäœã©ãã«è¿œãè©°ããããèŠçŽ ãããã®ã§ããããïŒ
ç§ã ã£ãããå倧ãªããã°ã©ã ã¯ããããæ¬²ãã人éãæžãããšèšãã§ããããã¿ã€ã ã·ã§ã¢ãªã³ã°ã·ã¹ãã ã§ãã Multics ã®å¯Ÿè©±çãªã€ã³ã¿ãŒãã§ãŒã¹ã¯ãããã°ã©ãã³ã°ããäžã§ãšãŠãå¿«é©ãªã€ã³ã¿ãŒãã§ãŒã¹ã§ããããã³ããœã³ã¯ãããæšãŠãããªãã£ããèªåãæ¬²ãããšæã£ããã UNIX ãäœã£ãã®ã§ãã
Origins and History of Unix, 1969-1995 ãã
Dennis Ritchie, Doug McIlroy, and a few colleagues had become used to interactive computing under Multics and did not want to lose that capability.
翻蚳 ããã¹ã»ãªãããŒããã°ã©ã¹ã»ããã«ã〠ãšãæ°äººã®ååãã¡ã¯ãMulticsã®äžã§ã€ã³ã¿ã©ã¯ãã£ããªã³ã³ãã¥ãŒãã£ã³ã°ã«æ £ããŠããããã®æ©èœã倱ããããªããšæã£ãŠããã
Ken Thompson - Wikiquote ãã
Unix was built for me. I didn't build it as an operating system for other people, I built it to do games, and to do my stuff.
翻蚳 Unix㯠ç§ã®ããã«äœãããŸãããç§ã¯ä»äººã®ããã® OS ãšããŠäœã£ãã®ã§ã¯ãªããã²ãŒã ãèªåã®ããšãããããã«äœã£ãã®ã§ãã
å倧ãªããã°ã©ã ãšããã®ã¯ãèªåãæ¬²ãããšæãããããäžã®äžã«ãªãã£ãæã«çãŸããã®ã§ããLinux ã®èªçãããã§ããã
ã¡ãªã¿ã«ã¬ã³ã«ãŒãºã®ã人éã«ãã第äžã®ã·ã¹ãã ãã®è©±ã¯ã人æã®ç¥è©±ãã«åºãŠãããã»ã«ã³ãã·ã¹ãã çå矀ãã®çŒãçŽãã§ããã¢ã¬ã³ãžã¯å ¥ã£ãŠããŸãããäºçªç®ã®ã·ã¹ãã ãè¥å€§åãéå°ãªãã®ã«ãªããšãã話ã¯åãã§ããã¡ãªã¿ã« P35 ã§ã¬ã³ã«ãŒãºã¯ä»¥äžã®ããã«æžããŠããŸãã
ãã¬ããïŒãã«ãã¯ã¹ã¯ããã®èæžã人æã®ç¥è©±ãã«ãããŠãéçºãããžã§ã¯ããããçšåºŠé²è¡ããæ®µéã§ããã°ã©ããè¿œå æå ¥ãããšãå®æã¯æ©ãŸãããããé ããããšææããŠãããUNIX é¢ä¿è ã«ã¯ã以åããåãã£ãŠããããšã ã
Fred Brooks, in his book The Mythical Man-Month, points out that adding more programmers to a development project too late in the effort makes it later, not earlier. UNIX people have known this for years.
ïŒãªã UNIX é¢ä¿è ã«éå®ããŠãåãã£ãŠããããšã ããšæžããŠãã®ãè¬ã§ããïŒãã®ããã«ãã¬ã³ã«ãŒãºã人æã®ç¥è©±ãåç §ããŠããããšã¯æããã§ãããããªã®ã«ãã»ã«ã³ãã·ã¹ãã çå矀ãã®ååãåºããªãã®äœæ ãªã®ãçåã§ãã
ãŸããã®æ¬ãšããŠã¯çããã人æã®ç¥è©±ããåç §ããŠããããšãæžãããŠããã®ã§ããã®ç¹ã¯è¯ããšæããŸãããšèšã話ã§çµãããšæããŸãããïŒé¢çœãäºå®ããäŒãããŸãããã
æ¹èšçã§ã¯ã人æã®ç¥è©±ããåŒçšããŠããããšããªããåé€ãããŠããã®ã§ãã
P114 ã§ã¯ãã«ãã¯ã¹ã®æ³åïŒä¹äººã«åŠå©ŠãããŠãããšãããã€ïŒãã§ãŠããŸããããã¡ããåºå žãæžãããŠããŸããã
UNIX ã¯ã¿ãã ããã³ã³ãã¥ãŒã¿äŒç€Ÿã¯éçºã³ã¹ãåæžã§ãã
ã¬ã³ã«ãŒãºã¯ãUNIX ãã³ã³ãã¥ãŒã¿äŒç€Ÿã OS ã®éçºã³ã¹ããæžãã䟿å©ãªéå ·ã®ããã«èããŠãããµãããããŸãããããªäŸ¿å©ãªãã®ãã ã§é ã£ãŠãŠã©ãããŒãã¿ããªãã®äŸ¡å€ãããããªãã®ïŒã¿ãããªæãã§ãã
P74 ãã
UNIX ã®æåã¯ãéçºè ããœãŒã¹ã³ãŒããç¹ã«åŒ·ãã³ã³ãããŒã«ããå¿ èŠãèªããªãã£ããšããäºå®ã«å€ããè² ã£ãŠãããã»ãšãã©ã®äººã¯ãããªãã®ã«å€§ããªäŸ¡å€ããããšã¯æã£ãŠããªãã£ããUNIX ã¯å€ãªãã®ã§ãç ç©¶æã倧åŠã«ã¯è¯ããŠããä»ã«äœ¿ãéããªããã®ãšèããããŠãããUNIX ãæ¬æ Œçãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã ãšèããã®ã¯ãéçºè 以å€ã«ã¯èª°ãããªãã£ããçµæçã«ããœãŒã¹ã³ãŒãã¯ãã åç¶ã®éé¡ã§èª°ã§ãå ¥æã§ããã
AT&T ããœãŒã¹ã³ãŒãããã ã§é ã£ãŠããã®ã¯ãç±³åœã®ç¬å çŠæ¢æ³ã§ã³ã³ãã¥ãŒã¿æ¥çãžã®åå ¥ãèªããããŠããªãã£ãããã§ãã1973 幎㮠SOSP ã§ Unix ã®éçºã瀟å€ã«å ¬è¡šããæã瀟å€ãã倿°ã®é åžèŠæãåããŸããããã®æç¹ã§ã䜿ãéããããã®ããšèª°ããæã£ãŠããã®ã§ãããœãŒã¹ã³ãŒããå ¬éããã®ã¯ãç¬å çŠæ¢æ³ã«ãã£ãŠ AT&T ãææããç¹èš±æ å ±ã¯ç«¶åäŒæ¥ã«å¯ŸããŠã§ãã£ãŠããå 容ãå«ããŠãã¹ãŠé瀺ããããšã矩åä»ããããŠããããã§ãããã åç¶ã®éé¡ã§å ¥æã§ããã®ã¯ã³ã³ãã¥ãŒã¿é¢é£äºæ¥ãžã®åå ¥ãäŒå³ããŠãããšçãããªãããã«ããããã§ã倧åŠã«é åžããã®ã¯å¶å©çãªå©çšã®å¯èœæ§ãäœããšèããããŠããããã§ãããã®è©±ã«ã€ããŠã¯ãUnix èå€åŠãã®ã第16ç« AT&T ãšUnix ã©ã€ã»ã³ã¹ãã«è©³ãããŸãšããããŠããŸãã
ãããªè©±ã¯ã¬ã³ã«ãŒãºãç¥ã£ãŠãããšæãã®ã§ãããæžãæ¹ãèŠãã«ãã§ã倧åŠã«é ã£ãããïŒå€§åŠã¯ãã®æ¹é çãç¡æã§é åžããŠãããã ãããã UNIX ã¯èª°ã§ãç¡æã§äœ¿ãããã®ã«å€ãã£ããã ããã¿ãããªãAT&T ã®æš©å©ãæ¶å€±ããŠããŸã£ããã®ããã«èããŠããæããããŸãããã¡ãããããªããšã¯ãªã㊠1980 幎é ã«å§ãŸã£ããUNIX æŠäºãã§ AT&T 㯠BSD Unix ãšæš©å©äºããå§ããããã§ããããã®ãããªè©±ã¯å šãæžãããŠããŸããã
éçºè²»çšã®é«éš°ã«èŠããããŒããŠã§ã¢äŒç€Ÿã¯ããã©ãããã©ãŒã ã売ãããã«å¿ èŠãªãœãããŠã§ã¢ãžã®æè³ãæžãããããããªãããã åç¶ã§æã«å ¥ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ç®ãåããªãããã¯ãªããçµæçã« UNIX ã®äººæ°ãé«ãŸã£ããæ°ããã³ã³ãã¥ãŒã¿ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã éçºè²»çšãç¯çŽããããšããäŒç€Ÿã UNIX ã«ç®ãåããã仿¥ã«ãããŠããçŸåãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®äžã§ãUNIX ãæãå®äŸ¡ã ãšèãã人ã¯å°ãªããªãã
çµå±ããã ã§äœ¿ããããšããããšããã¬ã³ã«ãŒãºã«ãšã£ãŠéèŠã ã£ãã®ã ãšæããŸãããªãŒãã³ãœãŒã¹çãªèãã§ã¯ãããŸãããåœæã¯ãœãŒã¹ã³ãŒãã¯ã¯ããŒãºããªã®ãåœããåã ã£ãã®ã§ãããæ®éã®è©±ãªã®ã§ãããèªåãã¡ã¯ãã ã§äœ¿ã£ãŠãããªããäœã£ã Ultrix ã¯ã¯ããŒãºããªããã§ãããã®ãããªèãæ¹ã§ãã³ãŒããä»ç€Ÿãæ¢åãšããŠäœ¿ãã®ãèªããããšèšãããŠããUNIX åµå§è ãã¡ã¯ããèããŠãããã ãã©æã ã¯éããæã ã¯ãã ã§äœ¿ãããã䜿ã£ãŠããã ãã ããã¿ãããªå°è±¡ãããããŸããã
ãUNIX ãšããèãæ¹ã㯠UNIX éçºè ã®èããäŒããŠããã ããèªåãã¡ãããã«åŸã£ãŠããšãããããããªããšèããã°ççŸã¯ããŸããããé床ã®ç¬èªæè¡çå矀ã ã£ãã®ã¯ DEC ã ã£ãããã§ãããŸãå ã UNIX å²åŠã¯ãªãŒãã³ãœãŒã¹å²åŠã§ã¯ãªãã§ãããUNIX å²åŠãæ²ããªãããœãŒã¹ã³ãŒãéå ¬éããã³ããŒããã¯ã€ã³ãç®æããŠããŠãæ§ããªãããã§ããçŸåšãããªããæ¹ãéçšãããã©ããã¯å¥ã®è©±ã§ããã
ã¬ã³ã«ãŒãºã®ãä»ã® OS ã®èãæ¹ãã®è©äŸ¡
ããã§ã¯ãUNIX ãšããèãæ¹ãã®ç¬¬ 9 ç« ïŒæçµç« ïŒã®ã¬ã³ã«ãŒãºã«ãããUNIX ãšä»ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®èãæ¹ãã®èª¬æãèŠãŠãããŸãããªãè±èªã§ã®ã¿ã€ãã«ã¯ãUnix and Other Operating System Philosophiesãã§ãã
Atari: ãªãã³ã³ãã¥ãŒã¿ãš OS ãæ¯èŒããŠããã®ã ãããïŒ
Atari ã®ããšã¯ããç¥ããªãã®ã§ããããªã OS ã®èãæ¹ã®è©±ã§ã³ã³ãã¥ãŒã¿ãšæ¯èŒããŠããã®ãè¬ã§ããAtari ã«ã OSïŒBIOS çžåœïŒïŒ ã¯ãã£ãããã§ãããããã«ã€ããŠã®è©±ã¯ãããŸããããã¯ã OS ãããå ã«ã³ã³ãã¥ãŒã¿äŒç€Ÿã§ãã DEC ã®èããæã¿ä»ããŠããã®ã§ã¯ãªãã§ããããïŒ
Atari ã¯å人çã«ã¯ã³ã³ãã¥ãŒã¿ãšããŠã䜿ãããã©ã»ãŒã²ãŒã æ©ã¿ãããªã€ã¡ãŒãžãæã£ãŠããŸããMSX ãšåãã§ããããUNIX ãšããèãæ¹ãã§ãã圌ã®äœãã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ïŒã€ãŸãã²ãŒã ïŒã¯æšæºãšãªãããšããæç« ãããã®ã§ãããªã«ééãã§ã¯ãªãã§ãããã
Atari ãš UNIX ã®æ¯èŒã§ãããçµè«ããèšããšã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ïŒã²ãŒã ïŒãš UNIX ã®ããã°ã©ã ïŒCLI ã³ãã³ãïŒãæ¯èŒããã®ã¯ãã©ãèããŠãééãã§ããããã¯äœããã®ã®éããšå¯Ÿè±¡ãšãããŠãŒã¶ãŒã®éãã§ãããããŸãããã"ã¬ã³ã«ãŒãºã®" UNIX å²åŠãã«åŸã£ãŠãå šãŠã®ããã°ã©ã ããã£ã«ã¿ã«ãªããããŠãããã²ãŒã ãšããŠæãç«ããªãã§ããããUNIX å²åŠã§ã¯äžå¯èœãªããšãå®çŸããŠããã³ã³ãã¥ãŒã¿ãšæ¯èŒã㊠UNIX å²åŠã®è©±ãããŠããŸãã°ããã£ã±ã UNIX å²åŠã¯ã ããªãã ãšããçµè«ã«ãããªããŸããã
ããã§åç §ãããŠãã De Re Atari: A Guide to Effective Programmingãã®ä»é² BïŒãAPPENDIX B HUMAN ENGINEERINGãïŒãã
The ATARI Home Computer is first and foremost a consumer computer.
ãã®ããã«æžãããŠããéããAtari ã¯æ¶è²»è åãã®ã³ã³ãã¥ãŒã¿ãªã®ã§ããUNIX ã®ãããªããã°ã©ãã®ããã® OS ã§ã¯ãããŸãããæ¶è²»è ãšããã°ã©ããŒã®äŸ¡å€èгã®éãã Atari ã®ã¯ãªã¹ã»ã¯ããã©ãŒãã¯æ£ããçè§£ããŠããŸããå²åŠã®éããæããã«ãããã®ã§ããã°ã¬ã³ã«ãŒãºã¯ãã®éšåãåŒçšãã¹ãã§ããã
This thesis clashes with the values of many programmers. Programmers crave complete freedom to exercise power over the computer. Their most common complaint against a program is that it somehow restricts their options.
ïŒç¥ïŒ
The answer lies in the difference between the consumer and the programmer. The programmer devotes his life to the computer; the consumer is a casual acquaintance at best. The programmer uses the computer so heavily that it is cost-effective to take the time to learn to use a more powerful tool. The consumer does not have the time to lavish on the machine. He wants to get to point B as quickly as possible. He does not care for the fine points that occupy a programmer's life. Bells and whistles cherished by programmers are only trivia to him. You as a programmer may not share the consumer's values, but if you want to maintain your livelihood you had better cater to them.
翻蚳 ãã®è«æã¯å€ãã®ããã°ã©ããŒã®äŸ¡å€èгãšè¡çªããŸãã ããã°ã©ããŒã¯ã³ã³ãã¥ãŒã¿ã«å¯ŸããŠå®å
šã«èªç±ã«åãè¡äœ¿ããããšãæãã§ããŸãã圌ãã®ããã°ã©ã ã«å¯Ÿããæãäžè¬çãªäžæºã¯ããããã©ãããããã圌ãã®éžæè¢ãå¶éããŠããããšã§ãã
ïŒç¥ïŒ
çãã¯ãæ¶è²»è
ãšããã°ã©ããŒã®éãã«ãããŸããããã°ã©ããŒã¯èªåã®äººçãã³ã³ãã¥ãŒã¿ãŒã«æ§ããŸããæ¶è²»è
ãšã¯ããããé¡èŠç¥ãçšåºŠã®é¢ä¿ã§ããããã°ã©ããŒã¯ã³ã³ãã¥ãŒã¿ãå€çšããã®ã§åŒ·åãªããŒã«ã®äœ¿ãæ¹ãç¿åŸããã®ã«æéããããã®ã¯è²»çšå¯Ÿå¹æãé«ãã®ã§ããæ¶è²»è
ã¯æ©æ¢°ãæãã¿ãªã䜿ãæéããããŸããã圌ã¯ã§ããã ãæ©ããã€ã³ã B ã«å°éãããã®ã§ãã圌ã¯ããã°ã©ããŒã®äººçãå ãã现ããç¹ãæ°ã«ããŸãããããã°ã©ããŒã倧äºã«ããŠããéãç¬ã¯ã圌ã«ãšã£ãŠã¯åãªãéåŠã§ãã
çµå±ã®æ UNIX å²åŠãšããã®ã¯ãã³ã³ãã¥ãŒã¿ã®äœ¿ãæ¹ã®äžéšãããã°ã©ããŒã®ããã®å²åŠã§ãããããŸãããæ¶è²»è ãã³ã³ãã¥ãŒã¿ã䜿ãæã«ãUNIX å²åŠãæã¡åºããŠãã ãã ãšããããšã§ããã²ãŒã ã¯ãã®æããããæãäŸã§ããããéæè¡è ãã³ã³ãã¥ãŒã¿ã䜿ãå Žå awk ã§ã¯ãªããšã¯ã»ã«ãšããã°ã©ãã£ã«ã«ã§ããããããã€ã³ã¿ãŒãã§ãŒã¹ãå¿ èŠãªã®ã§ããã¬ã³ã«ãŒãºã次ã®ãããªããšãèšããã°ãã£ãè¯ãã£ããã§ããã©ããïŒãã©ã°ïŒïŒ
ãAtari ãš UNIX ã®ã©ã¡ããåªããŠããã ãããšèãã人ãããããããã¯ãã®åãèªäœãééã£ãŠãããäžæ¹ã仿¹ããåªããŠãããšããåé¡ã§ã¯ãªããäž¡è ã¯ç°ãªãã¢ãããŒããæ¡çšããŠãããšããã®ãäºå®ã ãããç¶æ³ã«ã¯ Atari ã®èãæ¹ãããé©åããå¥ã®ç¶æ³ã«ã¯ UNIX ã®èãæ¹ãæ£ããéžæè¢ãšãªãããã¹ãŠã¯ãã³ã³ãã¥ãŒã¿ã®åã«èª°ã座ã£ãŠããããã€ãŸãããã䜿ãã®ã誰ã§ãããã«ãã£ãŠæ±ºãŸããã
MS-DOS: 7000 äžä»¥äžã®ãŠãŒã¶ãŒã¯æ£ããã£ã
MS-DOS ã売ããã®ã¯ãå®ã PC ã§ååã«äœ¿ããã以å€ã«äœãããã®ã§ããããïŒPC ãå«ã£ãŠãã DEC ã®ç€Ÿå¡ãšããç«å Žããããã¬ã³ã«ãŒãºã¯ MS-DOS ã«å¯ŸããŠã矀éå¿çã ãIBM ã®åã ãã¡ã€ã³ãã¬ãŒã ã¿ããã ããããªã®ããœã³ã³ãããªãã¿ãããªäºãèšã£ãŠããŸãããçµå±ã®æ MS-DOS ãæ®åããã®ã¯ãå人åãã«ïŒåœæã®åºæºã§ïŒå®ããŠæ§èœãäœãããœã³ã³ã§ååã«ã¢ããªã±ãŒã·ã§ã³ã䜿ãããšããã ãã§ãããããŸãããã³ã³ãã¥ãŒã¿ã®ãŠãŒã¶ãŒã䜿ãããã®ã¯ã¢ããªã±ãŒã·ã§ã³ã§ãã£ãŠ OS ã§ã¯ãªãã®ã§ãããã
çµæè«ã§ã¯ãããŸãã MS-DOS ã¯æåããDEC 㯠PC ãžã®åå ¥ãé ã倱æãžã®éããã©ãããšã«ãªããŸãããã7000 äžä»¥äžã®ãŠãŒã¶ãŒãééã£ãŠããã¯ãããªããã¯ãã®éãã§ããããŸãããã¯ã³ã³ãã¥ãŒã¿ãšããŠå€±æãããããªã®ã§ OS ãšããŠã®è©±ã§ã¯ãããŸãããããã MS-DOS ã«é¢ããŠãæ¹å€ããã»ã©ã®ç¥èãã¬ã³ã«ãŒãºã«ã¯ãªãããã«æããŸãã
ãŸã MS-DOS ã®ã·ã§ã«ãšã³ãã³ãã§ããããã㯠Digital Research 瀟㮠CP/M ãåèã«ããŠäœãããŠããŸãããã㊠CP/M 㯠DEC ã®å€ã OSãTOPS-10 ã RSX-11 ãåèã«ããŠäœãããŠããŸããMS-DOS ã®ã«ãŒãã蟿ããš DEC ã® OS ã«è¡ãçãããã§ããã¡ã€ã³ãã¬ãŒã ã¿ãããšãèšã£ãŠéœåãæªããªã£ããããŸãããïŒïŒãã©ã°ïŒïŒ
MS-DOS ç°å¢ã®æãæå€ãªåŽé¢ã¯ãUNIX ã®èãæ¹ãããã€ãåãå ¥ããŠããããšã ãããäŸãã°ãUNIX ã®ãã€ãã¡ã«ããºã ã«ãã䌌ããã€ãæ©èœãããããéå±€ãæã€ãã£ã¬ã¯ããªæ§é ããããããã«ãMORE ã³ãã³ãããããããã¯ããŒã¯ã¬ãŒç UNIX ã«ãã more ã³ãã³ããšåæ§ã«æ©èœããããããã MS-DOS ã®åæèšèšã«ã¯ãUNIX ãããç¥ã人éãåå ããŠããã®ã ããã
ãšãããŸããããããããã€ã¯ããœããã¯ã1980 幎㫠AT&T ããæ£åŒãªã©ã€ã»ã³ã¹ãååŸãã Xenix ãšããäžçåã®åçš UNIX ããªãªãŒã¹ããŠããŸããDEC ã V7M ããªãªãŒã¹ããã®ãšåãé ã§ããããããã Xenix ã®æ¹ãè¡åã¯æ©ãã£ããšæãããŸãããã€ã¯ããœããã¯èªç€Ÿã§ UNIX ãäœã£ãŠããã®ã ãã UNIX ãããç¥ã人éãããŠåœããåã§ããXenix ã®æ¹ã MS-DOS ãããå ã«ãªãªãŒã¹ãããŠãããMS-DOS 1.0 ã¯ç¿å¹Žã® 1981 幎ããã€ãããã£ã¬ã¯ããªæ§é ãåãå ¥ãããã MS-DOS 2.0 㯠1983 幎ã§ããããžãã¹æŠç¥äž 1984 幎㫠SCO ã« Xenix ã®æš©å©ãå£²ãæž¡ããŸãããDEC ããæ©ãæ®µéã§ UNIX ã«ç®ãã€ããŠæ©ãæ€éãããšããããšã§ãããããããã«ããŠã UNIX ã«èå³ããã人ã Xenix ãç¥ããªããšã¯æããªããã§ããã©ãã
ããããMS-DOS ã®ãã€ããš UNIX ã®ãã€ããšã¯å®å šã«åãã§ã¯ãªããMS-DOS ã®ãã«ãã¿ã¹ã¯ã¯çã®ãã«ãã¿ã¹ã¯ã§ã¯ãªããã³ãã³ãã©ã€ã³ã«åã³ãã³ããå ¥åããŠããäžåºŠã«äžã€ã®ã³ãã³ãããå®è¡ãããªãã
çã®ãã«ãã¿ã¹ã¯ã©ããã MS-DOS ã¯æåããã·ã³ã°ã«ã¿ã¹ã¯ OS ã§ãããã€ãã©ã€ã³ã®åã³ãã³ãããã«ãã¿ã¹ã¯ã§åäœããªãã®ã¯åœããåã§ãããã¯åœæã® PC ã®æ§èœãäœãã£ãããã§ããããã³ã³ã®ãããªé«äŸ¡ãªã³ã³ãã¥ãŒã¿ãšæ¯ã¹ãã®ã¯ãã§ã¢ã§ã¯ãããŸãããã¿ã€ã ã·ã§ã¢ãªã³ã°ã·ã¹ãã ãšããã®ã¯å ã é«äŸ¡ãªã³ã³ãã¥ãŒã¿ãè€æ°äººã§äœ¿ãããã®ãã®ã§ãäžäººãã³ã³ãã¥ãŒã¿ãå°æããããšãã³ã¹ãçã«äžå¯èœã ã£ãããã§ããããã PC ã¯ãã®åã®éãå人ã§äœ¿çšããããœã³ã³ã§ããããã¿ã€ã ã·ã§ã¢ãªã³ã°ã·ã¹ãã ã¯å¿ èŠãªãããã«ãã¿ã¹ã¯ãå¿ é ã§ã¯ãããŸãããã³ã³ãã¥ãŒã¿ã®éãã«ãã£ãŠåªå é äœãç°ãªããPC ã§ã¯å人ãããœã³ã³ãææã§ããããã«ãšäŸ¡æ Œã®å®ããåªå ãããã®ã§ãã
ããäžã€ãå人çã«ãçã®ãã«ãã¿ã¹ã¯ããšããèšãæ¹ãåŒã£ããããŸããããã®èšãæ¹ã¯ Windows 3.1 ãŸã§ã®ãã³ããªãšã³ããã£ããã«ãã¿ã¹ã¯ã®å¯Ÿæ¯ãšããŠäœ¿ãããŠããèšèã ãšæããŸããWindows 3.1 ã®ã¢ããªã¯ãã³ããªãšã³ããã£ããã«ãã¿ã¹ã¯ã§ããããWindows 3.1 äžã® DOS ããã³ããå士ã¯ããªãšã³ããã£ããã«ãã¿ã¹ã¯ãšããŠåäœããã®ã§ããã®é ã® Windows ã®ãã«ãã¿ã¹ã¯ã®è©±ã¯å°ããããããäºæ ããããŸãããã®ããã¬ã³ã«ãŒãºã¯ MS-DOS ãã·ã³ã°ã«ã¿ã¹ã¯ OS ã ãšç¥ããªãã£ãã®ã§ã¯ãªãã ãããïŒãšæã£ãŠããŸããç¥ã£ãŠããããMS-DOS ã¯ã·ã³ã°ã«ã¿ã¹ã¯ OS ãªã®ã§ãäžåºŠã«äžã€ã®ã³ãã³ãããå®è¡ãããªãããšã·ã³ãã«ã«æžããšæããã§ãããã
MS-DOS 6.0 ã®ãCONFIG.SYS ãã¡ã€ã«ãš AUTOEXEC.BAT ãã¡ã€ã«ã®è€æ°æ§ææ©èœããšããã®ã¯ãã«ãã³ã³ãã£ã°ãšåŒã°ããæ©èœã®ããã§ãããUNIX ã¯ä»¥åããè€æ°æ§æããµããŒãããŠããããŠãŒã¶ãŒããšã« .profile ãã¡ã€ã«ãèšããå人ã®å¥œã¿ã«åãããŠãããã«ã¹ã¿ãã€ãºã§ããã®ã ãããšæžãããŠããŸãããã·ã³ã°ã«ãŠãŒã¶ãŒ OS ã§ãã MS-DOS ã®ãã«ãã³ã³ãã£ã°æ©èœã¯ã.profile ãšã¯å šãéããŸããä»ã§èšã GRUB ã®ããŒãã¡ãã¥ãŒã®ãããªãã®ã§ãã
è©±ã®æåŸã§ã¯ Windows NT ãžã®èšåããããŸããåœæ Windows NT ã¯æ§ã ãªãã©ãããã©ãŒã ãžã®å¯Ÿå¿ã衚æããŠããããã®äžã«ã¯ DEC ã® Alpha ãå«ãŸããŸããWindows ãããããç§»æ€æ§ãæã¡åºããŠããããšãžã®æ³£ãèšãæžãããŠããŸãããŸã Alpha ã®å°æ¥æ§ããªããªã£ããã Windows 2000 以éã¯å¯Ÿå¿ãåããããããã§ãããããã§ã Windows ã¯ç§»æ€æ§ïŒãã¡ããç°ãªãã¢ãŒããã¯ãã£ãžã®ç§»æ€æ§ã§ãïŒãèããŠäœãããŠããŸããWindows 11 㯠x64 ã ãã§ã¯ãªã ARM64 ã«ã察å¿ããŠããŸãã
OpenVMS: DEC 瀟ã®äž»å OS ã®è©äŸ¡ã¯çã
Atari ã MS-DOS ã®å Žåãšéã£ãŠ OpenVMS ã«å¯ŸããŠã®è©äŸ¡ã¯çãæ¹åã«åã£ãŠããŸãããŸãèªåãå€åãã DEC ã® OS ãæªãèšãããšã¯åºæ¥ãªãã§ããããæ¹ããŠèªããšæç« ãå·§åŠã§ã¬ã³ã«ãŒãºã DEC ã«åããŠãããšæ°ã¥ããªããããªæžãæ¹ã«ãªã£ãŠãããã«èŠããŸããåæžã§ã¯è£è¡šçŽã«æžããŠããã®ã ããé ãæå³ã¯ãªãã¯ããªã®ã§ããã
UNIX ãäžã«æ³šç®ããããŸã§ãããã³ã³ãã¥ãŒã¿ã®äžçã§ããã»ã©å¿ å®ãªæ¯æè ãéãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã¯ãªãã
ã·ã¹ãã æ§ç¯ã«å¯Ÿãã DEC ã®ã¢ãããŒãã¯ãæ¥çã§çŸšæã®çã ã£ããå瀟ã OpenVMS ãš VAX ã·ãªãŒãºã§è¡ã£ãããšã¯ãã³ã³ãã¥ãŒã¿æ¥çã§ã¯ä»ã«äŸããªãã
IBM ããã¥ãŒã¬ããã»ããã«ãŒã瀟ããå皮補åã·ãªãŒãºãäžã€ã®ã¢ãŒããã¯ãã£ã«çµ±äžããããšè©Šã¿ãŠæšãã«å€±æãããïŒæ³šæ DEC ã¯ã³ã³ããã¯ã«è²·åããããã¥ãŒã¬ããã»ããã«ãŒããã³ã³ããã¯ãåžåå䜵ããŸãïŒ
å瀟ã®ä»ã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãšã®é¡äŒŒç¹ã¯å€ããäŸãã° RSX-11ïŒDEC ã®åæã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ïŒã®ãŠãŒã¶ãŒã«ã OpenVMS ã®ã³ãã³ãã€ã³ã¿ãŒããªã¿ã¯ã»ãšãã©éåæããªãã
æ¥ãããããããã«èªç»èªè³ã§ãããæåŸã®ã³ãã³ãã€ã³ã¿ããªã¿ã®è©±ã¯ãMS-DOS ã®ã³ãã³ãã€ã³ã¿ãŒããªã¿ãå ããã©ããš RSX-11 ã«è¡ãçãã®ã§ãMS-DOS ãŠãŒã¶ãŒã«ãšã£ãŠã OpenVMS ã®ã³ãã³ãã€ã³ã¿ããªã¿ãšã»ãšãã©éåæãªããªãã¯ããªã®ã§ãããïŒãã©ã°ïŒååïŒ
ã¬ã³ã«ãŒãºã¯ä»ã«ã OpenVMS ã«ã€ããŠããããæžããŠãããOpenVMS ã®å²åŠãš UNIX ã®å²åŠã¯æ£å察ãªããã§ããã
OpenVMS ãš UNIX ã®ã©ã¡ããåªããŠããã ãããšèãã人ãããããããã¯ãã®åãèªäœãééã£ãŠãããäžæ¹ã仿¹ããåªããŠãããšããåé¡ã§ã¯ãªããäž¡è ã¯ç°ãªãã¢ãããŒããæ¡çšããŠãããšããã®ãäºå®ã ãããç¶æ³ã«ã¯ OpenVMS ã®èãæ¹ãããé©åããå¥ã®ç¶æ³ã«ã¯ UNIX ã®èãæ¹ãæ£ããéžæè¢ãšãªãããã¹ãŠã¯ãé転åžã«èª°ã座ã£ãŠããããã€ãŸãããã䜿ãã®ã誰ã§ãããã«ãã£ãŠæ±ºãŸãã
ã¯ãããã©ã°ïŒååã§ããOpenVMS ã®å Žåã¯ãäž¡è ã¯ç°ãªãã¢ãããŒããæ¡çšããŠãããšããã®ãäºå®ã ãããšæè·ããŠããŸããåãããšã Atari ã MS-DOS ã«å¯ŸããŠã¯èšããªãã£ãã®ã¯äœæ ãªã®ã§ããããïŒãã㯠UNIX 以å€ãå«ããŠå šãŠã® OS ã«åœãŠã¯ãŸããŸããUNIX ã¯ããç¶æ³ã«ã¯æ£ããéžæè¢ã§ãããå¥ã®ç¶æ³ã®å Žåã§ããã° Windows ã macOS ãæ£ããéžæè¢ãšãªãããšãããã®ã§ãããã®ãšããã§ããããã¹ãŠã¯é転æïŒãŠãŒã¶ãŒïŒã誰ã§ãããã«ãã£ãŠæ±ºãŸãã®ã§ããçµå±ã®æãUNIX ãšããèãæ¹ã㯠UNIX ã®èãã説æããŠããã ãã§ãUNIX ã®èãæ¹ãã³ã³ãã¥ãŒã¿ã®äœ¿ãæ¹ã®å šãŠã§ã¯ãªããšèšã£ãŠçµãã£ãŠããã®ã§ãã
ã¬ã³ã«ãŒãºã¯ DEC ãš UNIX ãšã®æ¿æã¿ç¶æ ã ã£ãïŒ
ãUNIX ãšããèãæ¹ããèªãã§ããŠæãã®ã¯ããªãã§ãããªäžæçãªæžãæ¹ããããã ãããšããããšã§ããæªæ¥ãèŠéãããšã¯èª°ã«ãåºæ¥ãŸãããããå€ããªã£ãŠããŸãå 容ã¯ã©ããããããããŸãããããããã®æããã£ãŠããããšãæžãããšã¯ã§ããã¯ãã§ããäœãåèã«ãããšããäœã®æ å ±ã ãšããå ·äœç㪠UNIX ã®ããŒãžã§ã³ãšãã§ãã
ãUNIX ãšããèãæ¹ãã«å šãŠè³åããããã§ã¯ãªããã®ã®ãç§ãæåã¯äžã€ã®èãæ¹ãšããŠæ®éã«èªãã§ããŸãããããã UNIX ã®æŽå²ã UNIX å²åŠãåŠã¶ãã¡ã«ãã ãã ãããããªãã€ã³ããèŠããŠããŠãDEC ãšã®ç¹ããã«æ°ãã€ããŠæ¬è °ãå ¥ããŠèª¿ã¹ãçµæãããã§ããæ¹ããŠèŠããšäžæçã§èª€è§£ãæããããªæžãæ¹ãå€ãããæããã«ä»ã®æç®ãåŒçšããŠããã§ãããéšåã«ãã®äºãæžãããŠããªãããæå¥ã®æãŠã«ã¯æ¹èšçã§ã人æã®ç¥è©±ããåç §ãããšããããšãæ¶ããªããŠããšãããŠããŸãã
ãã®èšäºã§ã¯è§ŠããŸããã§ãããããæºæçŸ©ïŒãå£ãã»ããåªããŠããã㯠1989 幎 Richard P. Gabriel ã«ãã Worse is better ã®åŒçšã§ãããããã¡ããåŒçšãããšã¯ãUNIX ãšããèãæ¹ãã«ã¯æžãããŠããŸãããã¡ãªã¿ã«æ¬å®¶ã® Worse is better ã§ã¯ãã¥ãŒãžã£ãŒãžãŒã¹ã¿ã€ã«ïŒæªããã¶ã€ã³ïŒãš MIT ã¹ã¿ã€ã«ïŒè¯ããã¶ã€ã³ïŒãæ¯èŒããŠããŠãAT&T ãã«ç ç©¶æããã£ãå Žæããã¥ãŒãžã£ãŒãžãŒã§ããMIT 㯠X Window System ãéçºããŠããæã§ã¬ã³ã«ãŒãºã¯ X Window System ãéçºããŠããã¡ã³ããŒã§ Ultrix Window Manager ãéçºããŠããå²ã« P20 ã§ã¯ X11 ã«æå¥ãèšã£ãŠããã§ããããããã¯å°ãäžæè°ã§ãã
奜æçã«èãããªãã°ãããããããã¬ã³ã«ãŒãºã¯ DEC ãš UNIX ã®æ¿æã¿ç¶æ ã ã£ãã®ã§ã¯ãªãããšæã£ãŠããŸããã¬ã³ã«ãŒãºèªèº«ã¯ UNIX ã«æã蟌ãã§ããŸãããããã㯠DEC ã®èªç€Ÿ OS ã§ãã OpenVMS ãæ®åããããšããæ¹éãšã¯äžèŽããŠããŸãããOpenVMS ã®ããšãæªãæžãããšã¯åºæ¥ãªãã§ããããã ããå ·äœçã«æžããããŠãæžããªãã£ãã®ã§ã¯ãªãã®ããšãã§ãããã ãš DEC 以å€ã®ããšãŸã§äžæçãªæžãæ¹ãããŠãçç±ã«ã¯ãªããŸãããã
ãŸãäžææã¯ DEC ãš AT&T ã¯ä»²ãæªãã£ããšèããŸãã以äžã¯ãUNIX èå€åŠãã® P127 ããã®åŒçšã§ãã
åœæã®DEC ã®ãšã³ãžãã¢ã¯ãèªç€Ÿè£œåãç¡èŠããŠç¬èªã® OS ãéçºãã Unix ã°ã«ãŒãã®é¢ã ãå¿«ãæã£ãŠããªãã£ãããã§ããäžæ¹ãUnix ã°ã«ãŒãã®é¢ã ããæè²é¢ä¿ãäžå¿ã«å€ãã®ãŠãŒã¶ãŒãç²åŸããŠãã Unix ãå®å šã«ç¡èŠãã DEC ã®ãšã³ãžãã¢ãå¿«ãæã£ãŠããªãã£ãããã§ããããã«ã圌ãã¯æ¥åžžçã«é¡ãåãããã³ã³ãã¥ãŒã¿é¢é£ã®åŠäŒãªã©ã§ããã«ãç¹°ãè¿ããŠãããšæšæž¬ãããŸããæ°ã®æ¯ãªã®ã¯ãäž¡è ã®æ¿æã¿ã«ãªã£ãŠããDEC ã®ã»ãŒã«ã¹ãã³ã§ãããããã£ããæ°è£œåã«é¢ããŠã¹ãã·ã£ã«ãªãªãã¡ãŒãããã«ãããããããUnix ã°ã«ãŒãã®é¢ã ããã¯æçµ¶ãããããã§ãããã£ãããã圌ãã¯BTL ã®ä»ã®ã°ã«ãŒããå£èª¬ãèœãšããVAXâ11/780 ãžã®Unix ã®ç§»æ€ã®çŽæãåãä»ããŸããã
Ultrix 㯠4.2BSD ããŒã¹ã§ãããAT&T é£å¶ãšã¯å察㮠OSF é£å¶ã§ãããUNIX ãç¡æã§äœ¿ãã OS ãšããŠæ±ãããããã§ãããã¬ã³ã«ãŒãºã BSD å¯ãã®èãæ¹ã§ãã£ãããšã¯ééããªãã§ãããããããã£ãäžã§ã¬ã³ã«ãŒãºã¯ AT&T ã®å瞟ãçŽ çŽã«èªããããšãåºæ¥ãªãã£ãã®ã§ã¯ãªãã§ããããïŒãã®çµæ AT&T ã®ããšã¯ããŸã衚ã«åºããã«ãUNIX ã®å²åŠãæžãããã£ããšããã°ããã®ãããªå 容ã«ãªãã®ãããããªãã¯ãªãã§ããããããUNIX ãšããèãæ¹ããåºçãããŠãã 30 幎ãäžä»£ã¯äº€ä»£ããŠããäžã®äžã倧ããå€ãã£ãŠããŸããèªãæ¹ã¯å€§å€ã§ãã
ãããã«
ãããã ã£ãã§ããããïŒå ã ãã®èšäºã¯ãã¬ã³ã«ãŒãºã® UNIX å²åŠãã® UNIX å²åŠã®çè«çæ ¹æ ãéµåã¿ã«ããããšããªãããã«ãçŸä»£ã«ãããŠä»ãé©çšã§ããéšåãå€ããªã£ãŠããŸãé©çšã§ããªãéšåãæè¡çãªèгç¹ãã解説ããäºå®ã§ããããã®éçšã§ã¬ã³ã«ãŒãºã®äºã調ã¹ãŠãããã¡ã«ãUNIX ãšããèãæ¹ãã¯ãåã«å€ããªã£ãŠããã ãã§ã¯ãªã圌ã®ç«å Žããæ¥ãŠããçºèšã極ããŠå€ãããšã«æ°ãä»ããŸããã
ãUNIX ãšããèãæ¹ãã§äžçªæ³šæãå¿ èŠãªã®ã¯ç§»æ€æ§ã«é¢ããèãæ¹ã®éãã§ãããã1987 幎é ã«æ¥æ¬ãã¡ã«ã³ã ãšããã²ãŒã äŒç€Ÿãéçºããã€ãŒã¹ãšããã²ãŒã ããããŸãããã¡ãã³ã³ãªã©ã®å®¶åºçšã²ãŒã æ©ã«ãç§»æ€ãããŠããŸããããªãªãžãã«ç㯠PC-88 ãšããããœã³ã³çšã§ãããã®ä» X1ãPC98ãFM7/77ãFM77AVãMSX2ãApple IIGSãPC/ATãX68K ãšããããœã³ã³ã«ç§»æ€ãããŸããããããåœæã®ç§»æ€æ§ã®èãæ¹ã§ããOS ããªããæäœéã®æ©èœããæããªã DOS ã®æä»£ãæã¯ã³ã³ãã¥ãŒã¿ã«å¯ŸããŠãœãããŠã§ã¢ãéçºããŠããŸãããå€ãã®ããŒããŠã§ã¢ã«å¯Ÿå¿ããããšããœãããŠã§ã¢ã®å£²äžã䌞ã°ãäžã§éèŠãªããšã§ããã
ãã®ãããªã³ã³ãã¥ãŒã¿ã®éãã¯ä»ã¯ OS ãåžåããŠãããWindowsãLinuxãmacOS ãšãã£ã OS ã«å¯ŸããŠãœãããŠã§ã¢ãéçºãããšãã圢ã«å€ãã£ãŠããŸãïŒãã¡ããå®¶åºçšã²ãŒã æ©ãªã©äŸå€ã¯ãããŸãïŒãããŒããŠã§ã¢ã®éãã OS ãåžåããŠããéããæ®éã«äœãã ãã§ç§»æ€æ§ããããœãããŠã§ã¢ãäœãããšããã®ãä»ã®äžã®äžã§ããæ£ããããã°ã©ã ãæžãã°ã髿§èœãªããŒããŠã§ã¢ã®ç¹æ®æ©èœã䜿çšããªããé«ãç§»æ€æ§ãæã£ããœãããŠã§ã¢ãéçºããããšã ã£ãŠåºæ¥ãŸããApple M1 ã®ããã«ãã©ãããã©ãŒã ãå€ãã£ãå Žåã§ãããã®éãã«å¯Ÿå¿ããã®ã¯éçºããŒã«ã®ä»äºãšãªã£ãŠãããœãããŠã§ã¢ã®éçºè ã¯ãã«ããªãã·ã§ã³ãæå®ããã ãã§ããäºææ§ã OS ã«ãã£ãŠå®çŸãããŠãããããäŸãã° 20 幎以äžåã«äœãèããã«äœã£ã Windows ã¢ããªãä»ã§ãå¹³æ°ã§åãããããŸãããã¹ãŠ OS ããã£ãŠãããŠããã®ã§ãã
çŸåšã®ãœãããŠã§ã¢éçºè ãæ©ãŸããŠããã®ã¯ Windows ã macOS ãªã©å®å šã«ç°ãªã OS ããŸããã£ãç§»æ€æ§ã§ããããã®å Žåã§ãã¯ãã¹ãã©ãããã©ãŒã ã®èšèªãã©ã€ãã©ãªã䜿ãããšã§ãæ¯èŒçç°¡åã«ç§»æ€æ§ãäºææ§ãå®çŸã§ããŸããå倧ãªããã°ã©ãã¯è¯ãã³ãŒããçããšããã®ã¯ãŸãã«ãã®ããšã§ãããªãŒãã³ãœãŒã¹æåã®ãããã§ä»ã§ã¯ã³ãŒãïŒã©ã€ãã©ãªïŒãèªç±ã«äœ¿ãããšãåºæ¥ãããã«ãªããŸããããŸãæ¬æäžã§ã¯èª¬æããŸããã§ããããããã±ãŒãžç®¡çã·ã¹ãã ã®èªçãç§»æ€æ§ã«é¢ããŠéèŠãªæå³ãæãããŠãããæã®ããã°ã©ã ã¯å©çšè èªãããœãŒã¹ã³ãŒããããã«ããããã®ã§ãããïŒã·ã§ã«ã¹ã¯ãªããã¯ã³ããŒããã ãã§æžãã®ã§ããããã¬ã³ã«ãŒãºãã·ã§ã«ã¹ã¯ãªããã®æ¹ãç§»æ€æ§ãé«ããšäž»åŒµããŠããããäžã€ã®çç±ã§ãïŒãä»ã¯ãã«ãæžã¿ã®ããã±ãŒãžãã€ã³ã¹ããŒã«ããã ããªã®ã§ãã·ã§ã«ã¹ã¯ãªããã§ãªããŠãå€ãã®ç°å¢ã§ç°¡åã«åãããã°ã©ã ã䜿ãããšãåºæ¥ãããã«ãªã£ãŠããŸããçŸåšã¯ããã±ãŒãžã掻çšããããšããã¬ã³ã«ãŒãºã® UNIX å²åŠãã®äžã€ããæçŸ©ïŒããœãããŠã§ã¢ã®æ¢åãæå¹ã«æŽ»çšããããæå³ããŠããŸãã
UNIX ãããŒããŠã§ã¢ã®éããåžåããŠããããœãŒã¹ã³ãŒãã¬ãã«ãšã¯ãã POSIX ã®ãããã§äžå®ã®ç§»æ€æ§ãä¿ãããŠããã®ã§ UNIX ãšãã OS ã«å¯ŸããŠãœãããŠã§ã¢ãæžãã°ãçæ³çã«ã¯ã©ã® UNIX ã§ããœãããŠã§ã¢ãåããŸããUNIX ã§ãç°ãªãããŒããŠã§ã¢ãšã®ç§»æ€æ§ã¯æã»ã©æ°ã«ããå¿ èŠã¯ãªããšããç¹ã§ã¯åããªã®ã§ãããUNIX ãšããèãæ¹ãã§ã¯æ°ã«ããªããŠè¯ãã¯ãã®ç°ãªãããŒããŠã§ã¢ãšã®ç§»æ€æ§ã®è©±ãããŠããŸããã¬ã³ã«ãŒãºã¯ãããœãããŠã§ã¢ãä»ç€Ÿã® UNIX ã§åãããšã§ã¯ãªããèªç€Ÿã® UNIX ãæ°ããããŒããŠã§ã¢ã«å¯Ÿå¿ããããšãã®ç§»æ€æ§ã®è©±ãããŠããã®ã§ãããªããã®ãããªéããããã®ããšèšããšã¬ã³ã«ãŒãºã®ç«å Žã®éããåå ã§ããããŒããŠã§ã¢ã®éããç§»æ€æ§ãäºææ§ã¯ OS ã解決ãããã®ã§ãããç§é㯠OS ã䜿ãåŽãªã®ã«å¯ŸããŠãã¬ã³ã«ãŒãºã¯ OS ãäœãåŽã«ããã®ã§èªåãã¡ã®æã§ããŒããŠã§ã¢ã®éããç§»æ€æ§ãäºææ§ã解決ããªããã°ãããªãããã§ãããã®èšäºã§ã¬ã³ã«ãŒãºãäžäœäœè ãªã®ãïŒã詳ãã解説ããçç±ã¯ããã§ãã圌ã¯ç«å Žã®éãããç§éãšã¯éããã®ãèŠãŠããŸããããããã®ç«å Žãæç¢ºã«ãªã£ãŠãªããããUNIX ãšããèãæ¹ããæ£ããçè§£ããã®ãå°é£ã«ãªã£ãŠããŸããã ããå ã«ã¬ã³ã«ãŒãºã®ç«å Žã説æããå¿ èŠããã£ãã®ã§ãã
éãç«å Žãã説æããŠããã®ã ãšãããããã®æ¬ã¯åœ¹ã«ç«ããªããããªãããšæããããããŸããããããã§ã¯ãããŸããããã®æ¬ã¯ãUNIX éçºè ãèããŠããããšããéæè¡è ã«èª¬æãããã®ã ããã§ããUNIX éçºè ãèããŠãããšãåãã£ãŠã UNIX å²åŠãå®è·µã§ããããã«ãªãããã§ã¯ãªãããšã«æ³šæããŠãã ãããäŸãã°ããæçŸ©ïŒããã¹ãŠã®ããã°ã©ã ããã£ã«ã¿ã«ããããšèšãããŠãããã°ã©ã ãäœããªã人ã«ãããå®è·µããããšã¯åºæ¥ãŸããããUNIX ãšããèãæ¹ãã«ã¯äœãæ¹ã¯æžãããŠããŸãããUNIX éçºè ãèããŠãã UNIX å²åŠãšãããã®ãçè§£ã§ãããšããã®ããã®æ¬ã®è¶£æšã§ããããèªåã§ UNIX å²åŠãå®è·µãããã®ã§ããã°ã次ã«ãšãªãã¯ã»ã¬ã€ã¢ã³ãã®ãThe Art of UNIX Programmingããªã©ã®ããã°ã©ãåãã® UNIX å²åŠæ¬ãèªãããšãããããããŸããã¬ã³ã«ãŒãºãè£è¡šçŽã§èšã£ãŠããŸãããThe UNIX Philosophy ã¯ãUNIX å éšãããã°ã©ãã³ã°ã«é¢ããé«åºŠã§æè¡çãªããã¹ãã«åãçµã åã« èªãã¹ãæ¬ã§ãããæ¬¡ã¯æè¡çãªæ¬ã§ããïŒéæè¡è ãªãã人æã®ç¥è©±ãããªã¹ã¹ã¡ã§ãïŒ
æåŸã«åéããããªãããã«æžããŠãããšãç§ã¯ UNIX å²åŠãåŠå®ããŠããããã§ã¯ãããŸããããããè¯å®ããŠããåŸã£ãŠããŸãããã ã UNIX å²åŠããœãããŠã§ã¢å·¥åŠã®å šãŠã ãšã¯æã£ãŠããŸãããUNIX å²åŠãåã°ãªãé åããããŸããUNIX å²åŠã¯ãããŸã§ UNIX ã®å²åŠãšããã ãã§ãã³ã³ãã¥ãŒã¿å©çšè ã®å šãŠã®äººã«ãšã£ãŠã®å²åŠã§ã¯ãããŸãããã¬ã³ã«ãŒãºã® UNIX å²åŠã§ããããæ³šæãã¹ããã®ããããšã¯æã£ãŠããŸãããå šãŠãæªããšã¯æã£ãŠããŸããã絶察ã«å®ããªããã°ãããªãã«ãŒã«ãšåéãããŠãªãéãã¬ã€ãã©ã€ã³ãšããŠã¯è¯ãã§ããããçŸç¶ã«åããªãå€ããªã£ãéšåãä¿®æ£ããã°è¯ãåœ¢ã«æ¹åã§ããã§ãããããããã£ã现ãã話ãåŸç·šã§ããããšèããŠããŸãããããŠæçµçã«ãã®è©±ã¯ UNIX å²åŠãå®è·µããäžã§ãçŸç¶äœãè¶³ããªãã®ãïŒäœãäœãã¹ããªã®ãïŒãšãã話ã«ã€ãªãããŸããç®èãªäºã«ç°ãªãããŒããŠã§ã¢ãšã®ç§»æ€æ§ãé«ãã£ãã·ã§ã«ã¹ã¯ãªããã¯ãç°ãªã UNIX ç³» OS ãšã®éã§ã®ç§»æ€æ§ã§ã¯äœããšããåé¡ããããŸããå UNIX ãŸã㯠UNIX ç³» OS ã®ãã³ããŒãã·ã§ã«ã¹ã¯ãªããã UNIX ã³ãã³ãã®ç§»æ€æ§ãåäžãããããšããªãããã§ããããã§ã¯ãœãããŠã§ã¢ããŒã«ãšããŠäœ¿ãã¥ãããšèšããããåŸãŸããããã®èšäºã¯å€å žãšãªã£ãå€ã UNIX å²åŠæ¬ãèªãã§åãã£ãæ°ã«ãªã£ãŠçµããã®ã§ã¯ãªããUNIX å²åŠã®æ¬è³ªãçè§£ãããã®æ žã§ãããœãããŠã§ã¢ããŒã«ãæ¹åããããã°ã©ãã®éå ·ãšããŠæ°ããå§¿ãžãšäœãå€ããããã«æžããŠããŸãã