ããã ã«ã¼ãã«ãå¦ã¼ã
å½¼ã¯ä½ã®ã«ã¼ãã«ãå¦ãã ã®ã ãããã*1æè¿ã®å®ç¨OSã®ã½ã¼ã¹ã³ã¼ãã£ã¦Linuxã«ããWindowsã«ãããSMP対å¿ã®ãã¥ã¼ãã³ã°ã¨ãé»æºç®¡çã®ããã«æ ¸ã®é¨åã¾ã§é常ã«è¤éã«ãªã£ã¦ãã¾ããèªãã ãã³ã¼ãã追ã£ã¦åããç解ããã®ã¯é£åã§ã¯ãªãããMinixãªãæè²ãæèãã¦å¹³æã«å®è£
ããã¦ãããããã¥ã¡ã³ããå
å®ãã¦ããããèªã¿ããããã"Lionsâ Commentary on UNIX (Ascii books)"ã«è³ã£ã¦ã¯æã¯ãããªã«ã·ã³ãã«ã ã£ããã¨è¡æãåããã®ã ããPDP-11ã®ã¢ã»ã³ãã©ãªãã¦åå¼·ãããã¨ãªããã¨ããããããGOTOæã¨ãç´°ãããã¨ãæ°ã«ãã¦ã¯ãããªããAlan Kayã2ä¸è¡ã§ãããã¯ã¼ã¯ããGUIã¾ã§å«ãã è¦éãã®ããæè²ç¨OSãææãã¦ãããããã®ã§æ¥½ãã¿ã«ãã¦ãããã¨ã¯ããå®åã§è§¦ãã®ã¯è¤éãªOSãªã®ã ããæ©ããã¡ããè¤éãªã³ã¼ãã«è¦æ
£ãã¦ãããã¨èªä½ãæè²ãªã®ã ã¨ããèãæ¹ããããã³ã³ãã¥ã¼ã¿ã»ã¢ã¼ããã¯ãã£ã®å
¨ä½åãæ¼ããã¦ããããã ããªãã°Minixã§ããããã©ããããã¤ã¹ãã©ã¤ãçã®ã«ã¼ãã«ããã°ã©ãã³ã°ãææããããã°LinuxãWindows Research Kernelçã§è
°ãæ®ãã¦å¦ãã æ¹ãããã ããã
ã«ã¼ãã«ã£ã¦æå¤ã¨æ±ç¨æ§ã®ããç¥èã§ã¯ãããç¹ã«æè¿ã®æã«å
¥ããããOSã£ã¦LinuxãBSDãMacintoshãWindowsãå¹³æºåãã¦ãã¦ãã²ã¨ã¤è¦ããã°ä½å²ãã®æ¦å¿µã¯ä½¿ãåããããã«ãªã£ããæè¡å²å®¶ã¨ãã¦ã¯å¹³æºåã®èå¾ã«ããæ§é ã«é¢å¿ãæ±ãã¤ã¤ãæ´å²çã«ã¯ãã£ã¨å¤æ§ãªå¯è½æ§ã試ã¿ããããã¨ã«è¨åããä¸ã§ã次ã®10å¹´ãçµè¾¼ç³»ã¾ã§å«ãã¦Machã©ã¤ã¯ã«ãªã£ã¦ããã®ããæå¤ã¨ã¾ãã«ã³ããªã¢å¤§ççºã£ã½ãå±éãèããããã®ãèå³ãããã
åã¯ã«ã¼ãã«æè¡ãå¦ã¶ä¾¡å¤ã«é¢ãã¦å¼·èª¿ããã«ã¯ããããªãã(ç¥)ããæããã®ã¯ãåãã«ã¼ãã«ãå¦ãã ããã§ããã
ä¸è¬çã«äººã¯ãæ¢ã«å¦ãã äºã®ä¾¡å¤ã¯é«ããã¾ã å¦ãã§ããªãäºã®ä¾¡å¤ã¯ä½ãèªèããç©ã ãã ãããä¸ã®ä¸ã¯å¸¸ã«âæ¢ã«å¦ãã è âã«ãã£ã¦å¿ è¦æ§ã強調ããããããããããããçã«ä¾¡å¤ããäºãã©ããã¯å¥ã®åé¡ã§ããã
æã ãNSFããã®è³éãåãã¦ãããããããã¨ãã¦ããã®ã¯ã2ä¸è¡ã§OSãã°ã©ãã£ãã¯ã¹ã·ã¹ãã ããããã¯ã¼ã¯ã·ã¹ãã ããã¨ã³ãã¦ã¼ã¶ã¼ã·ã¹ãã ã¾ã§ãã¹ã¦ãæ¸ãããããªã·ã¹ãã ãä½ããã¨ã§ããã
OSã«æ¼ããæè¡ã®å¹³æºåã«ã¤ãã¦ããã¡ãã£ã¨è©³ãã説æããã¨ãä¾ãã°ã¹ã±ã¸ã¥ã¼ãªã³ã°ãä¾ã«åãã¨ã10å¹´ãããåã ã¨Windows 9xã¯éå»ãå¼ããã£ãä¸æè°ãªã¤ããã§ãNTç³»ãåç¨UNIXã¯çé¢ç®ã«ã¹ã¬ããæåã«ä½ãè¾¼ãã§ãããLinuxãBSDã¯UNIXå¤å¼ããããããã»ã¹æåã§ãMacintoshã¯ãã³ããªã¨ã³ããã£ãã«åãã¦ãããããã®10å¹´ã§ã©ãããã£ããMachã©ã¤ã¯ãªã¹ã¬ããæåã«è½ã¡çãã¦ãã¾ã£ãã
ããã»ã¹ãã¹ã¬ããå¨ãã®ãã¼ã¿æ§é ãã¿ãã¨ãã¤ã³ãµã¤ã MS WINDOWS 第4ç ä¸ (ãã¤ã¯ãã½ããå
¬å¼è§£èª¬æ¸)ããèªãã§ããBSDã«ã¼ãã«ã®è¨è¨ã¨å®è£
âFreeBSD詳解ããèªãã§ããç´°ããèªå½ã¨ãå®è£
ã®éãã¯ãã£ã¦ãæ¦å¿µçã«ã¯ä¼¼ããããªãã¨ãæ¸ããã¦ãããçµå±ãã®10å¹´ã¯SMPã§ã®æ§è½ãã©ãä¸ããããéè¦ã§ããã¤ã¯ãã«ã¼ãã«ã¯éãããå´ä¸ã ãã©Machã£ã½ããã¼ã¿æ§é ã¯ã¤ã¿ãã!ã£ã¦é¸æãç¾å®çã ã£ãã®ããã«ãã¦ãFreeBSDãSMPngã§ã¹ã¬ããæåã«è»¢åããæã¯é©ãããååã®ã«ã¼ãã«éçºè
ã¨è©±ãã¦ããã½ã¼ã¹èªã¿ã«ãããªããã¡ã³ãã大å¤ã ããã¸ã£ã¤ã¢ã³ãããã¯ã§ããããããã¿ãããªæè¦ã主æµã ã£ããã
ã¨ããã®ãåã¯ä¸æã®æ¨ªå¥½ãã§OSããªã¼ã¯ãªã¨ããããã£ã¦ãå¦çæ代ã¯UNIXã®ãã¨ã«AT&Tã®ãã«ç ã§éçºãããPlan 9ãInfernoã触ã£ã¦ãããã岩谷å®ã®é£è¼è¨äºã«åããã¦Inside AS/400ãèªãã ããJava OSã«ã¯èå³ããã£ãããã©ã触ãæ©ä¼ããªãã¦ãAperiosã£ã¦é¢ç½ããã ãã©è§¦ãæ©ä¼ããªãã¦Open-Rã£ã¦Aperiosã®APIãªã®ãéãã®ãããã¼ããã¿ãããªã
åã«å°ãæ¸ãããã¡ã¢ãªä¿è·ãªããã20å¹´ãããåã¯Multicsã®å½±é¿ãåããi386ã®4é層ã®ã¡ã¢ãªä¿è·ã¨ããAdaãLISPåãã«ã¿ã°ã«ããã¡ã¢ãªä¿è·ããµãã¼ãããiAPX432ãi960MXããããç¾ä»£ã§ããã¼ã¨ã³ãã®çµè¾¼ç³»ã¯ä»®æ³è¨æ¶ã使ããªãããæ±ç¨æ©ã®ä»®æ³åã§ã®å¹çæ§ãæèããã¡ã¢ãªã¢ãã«ã¨ãSystem iã®åä¸è¨æ¶ã大ããç°ãªãããã®è¾ºã¯ãªããªãè³æãéããã¦ããã®ã ããæè¿ã¯Wikipediaãé©ãã»ã©ç´°ãããã©ãã¼ãã¦ãã¦èªã¿å§ããã¨æ¢ã¾ããªãã
ã¨ããã§å¹³æºåã®çç±ã¯PCã®æ®åã¨å
¥æã§ããæ
å ±ãã½ããã¦ã§ã¢è³ç£ã®è±å¯ãã«ããã¨èãããããAltoã®æ代ãªãOSã«æãã¤ããåã«ããã»ããµãè¨èªããã¤ããå§ãã¦ãããããã20å¹´å¼±ã¯PCãæãç¾å®çãªã¿ã¼ã²ããã ã£ãã*2LinusãLinuxã®ååã¨ãªãã¢ãã¿ãã¤ãã£ãã®ã¯i386ã®ä»®æ³è¨æ¶ã®ä½¿ãæ¹ãåå¼·ãããã¨ãç®çã®ã²ã¨ã¤ã ã£ãããã4é層ã®ã¡ã¢ãªä¿è·ãé§ä½¿ããåªåããã¦ãä¸æè°ã§ã¯ãªãããã å½¼ãOSãåå¼·ããããã«åèã¨ããã®ã¯POSIXä»æ§æ¸ã ã£ããMulticsã«ã¤ãã¦ã®æ
å ±ã¯éããã¦ãããããã¨ãã¨Linusã¯Minixã¦ã¼ã¶ã¼ã ããUNIXã§ããã°ããGNUã®è±å¯ãªã¦ã¼ãã£ãªãã£ãå©ç¨ã§ãããããUNIXäºæOSã¨ãã¦2é層ã®ã¡ã¢ãªã¢ãã«ãæ¡ç¨ãããã¨ã¯èªç¶ã ã£ãã®ã ãããKISSã®è¦³ç¹ã§ã移æ¤æ§ãèãã¦ãã2é層ã§æ¸ãã°2é層ã«è¶ãããã¨ã¯ãªãã
WindowsãNTã«ã¼ãã«ã¯å½åãã移æ¤æ§ãèãã¦i860åãã«è¨è¨ããã¦å¾ã«i386/486ã«ç§»æ¤ãããçµç·¯ããããi386ã®ã»ã°ã¡ã³ãã¢ãã«ã4é層ã®ã¡ã¢ãªä¿è·ã«ä¾åãããã¨ã¯èãé£ãã£ããå½æã¯ã¾ã x86å½ä»¤ã»ãããããã¾ã§é·å¯¿å½åãããã¨ã¯æ³å®ãé£ãã£ããIntelã§ããi860ãi960ã§ãªã¹ã¯ããã¸ãã¦ããããããããé æ«ããå¾ã¯Iteniumã«æè³ãããMicrosoftã¯ACEã¤ãã·ã¢ããã§PCã¢ã¼ããã¯ãã£ãx86ããMIPS R4000ã«ç½®ãæãããã¨ãã¦ããææããããCISC/RISCè«äºãããããããx86ã¯è¿ä»£çãªRISCã¢ã¼ããã¯ãã£ã«ç½®ãæããããã¨æå¾
ããã¦ãããx86ã¢ã¼ããã¯ãã£ã®å»¶å½ã¯ãAMDã«è²·åãããNexgenã®RISC86ããPentium Proã®Î¼OPSãªã©ãx86ã®å½ä»¤ã»ããããµãã¼ãããã¾ã¾RISCã®é«éåææ³ãé§ä½¿ã§ããããã«ãªã£ããã¨ã大ãããã¾ãããã©ã³ã¸ã¹ã¿ãã¸ã§ãããå¢ããå²ã«ã¡ã¢ãªã¢ã¯ã»ã¹ã®å¸¯åå¹
ã追ãã¤ããªãã£ããã¨ãx86ã¨RISCã®æ§è½å·®ã縮å°ãããã¨ã¯「x86 以外のプロセッサになにが起こったのか?」ãææãã¦ããã
ã¨ãã訳ã§ãã30å¹´è¿ãUNIXæè¡è
ãé常ã«å¹¸ãã ã£ãã¨ããã°ãããã¯æåã£ãæµæãããªãçãããã¨ã§ã¯ãªãããCè¨èªã¯K&RããANSIã«ãªã£ãã¨ã¯ãã大ããªéãã¯ãªãããOSã®æ§ææè¡ãã ãããåããã·ã°ãããã¸ã§ã¯ãã«å·»ãè¾¼ã¾ãã¦è¥ãé ã«UNIX System 3ã®èªç¤¾ã·ã¹ãã ã¸ã®ç§»æ¤ãææããä¸å¸ã¨ã浪人æ代ã«è¦ªã®ç®ãçãã§LinuxãFreeBSDã触ã£ãåã¨ãåãè¨èã§ä¼è©±ãã§ããã£ã¦ããããã¨ã ã対ããä¸ä½å±¤ã¯ãã®30å¹´ã§ãã£ããä¸å¤ããã30å¹´åã¨ããã¨GUIã©ã¤ãã©ãªã¯Xerox PARCã«ãããªãã£ãã ããã10å¹´åã®Webããã°ã©ãã³ã°ã¯Perl/CGIã主æµã§ãPHPãæåã¯PHP/FIã¨ããPerlã®ã©ã¤ãã©ãªã ã£ããJavaã¯ãµã¼ãã¼ããã°ã©ãã³ã°ã§ã¯ãªãã¢ãã¬ãããæ¸ãããã®éå
·ã ã£ãã20å¹´åã®Windowsã¨ããã°ããã£ã¨çªãéãªãããã«ãªã£ãã®ã売ãã ã£ãã
éã®å¼¾ä¸¸ã¨å§ä¼ããããããªéçºçç£æ§ãé«ããéå
·ã¯ãããããããããªãã¸ã§ã¯ãæåã®ããã«çãæ®ã£ããã®ãããã°4GLã®ããã«å¿ãå»ããããã®ããããLISPãPrologã¯é¢ç½ãããã©ã80年代ã«æå¾
ãããã»ã©ã«ã¯æµè¡ããªãã£ããããããæå³ã§ãã«ã¼ãã«ã¨ããã¼ã¿æ§é ããã©ã³ã¶ã¯ã·ã§ã³ç®¡çã¨ãã£ãåºç¤æè¡ãå¦ãã æè¡è
ã¯ãRPGã4GLã®ãããªæ½è±¡åº¦ã®é«ãæè¡ã触ã£ãæè¡è
ããå ±ããã確çãé«ãã®ã§ã¯ãªãããä¸è¬è«ã¨ãã¦ä½ã¬ã¤ã¤ã®æè¡ã®æ¹ããã£ããã¨æéãæµããããå°ããã¤å¤ãã£ã¦ããã«ãã¦ã追ã£ãããåºç¤ä½åãè²ããã¨ãã§ããã
ããã¯å¿
ãããæµè¡ããã®ã«é£ã³ã¤ã価å¤ããªãã¨ãã訳ã§ã¯ãªããä¾ãã°æ°ããæè¡ãå¦ã¶ã¨ããå®ã¯æè¡ãã®ãã®ã ãã§ã¯ãªãã¦ãæ
å ±åéã®æ¹æ³ãã³ãã¥ããã£ã§ã®æ¯ãèããæè¡ãã®ãã®ã®é²æ©ãå¨å²ã®æ¯èªè¤è²¶ã®å¤é·ããå¦ã¶ãã¨ãã§ãããéæªãé¸ãã æè¡ãåãå»ããã¨ãã¦ããç´ æ©ãæè¡ãå¦ã¶æ¹æ³ããããããçµæãåºãæ¹æ³ãæè¡æ
å ±ããã©ãã«ã·ã¥ã¼ãã£ã³ã°ã®ãã³ãã«ç¶²ãå¼µãã¨ãã£ãã¡ã¿æè¡ã¯ä½¿ãåããå¹ãããã®æè¡ã¯å»ããããç¥ããªãã¨å²ãåã£ã¦ãæ°ããæè¡ã«é£ã³ã¤ãç¶ãããã¨ãæ¦ç¥ã¨ãã¦ã¯ããå¾ããã¨ã¯ããèªåãæ¯ã®é·ã確ç«ããåºç¤æè¡ãå¦ãã§ããã®ããããã¨ãå¢ãã®ããå¿ç¨æè¡ãå¦ãã§ãããèªè¦ãã¦ãããã¨ã¯éè¦ã ã
OSãå¦ã¶ãã¨ã«ãªã¹ã¯ãããã¨ããã°ããããã転ææã«è¿ã¥ãã¦ããå¯è½æ§ããããã¨ã ããã®30å¹´OSã®åçãªå¤åãé»ãã§ããå¶ç´æ¡ä»¶ãå´©ãã¤ã¤ããã®ã§ããã80年代以éãOSæè¡ã®ç 究ã«é²æããªãã£ã訳ã§ã¯ãªããLISPãã·ã³ããã¤ã¯ãã«ã¼ãã«ãããã»ã¹ç§»éãåä¸è¨æ¶ãªã©ãåªããæ¦å¿µã§ããã«ãé¢ãããæ®åããªãã£ãæè¡ã¯å±±ã»ã©ãããããã¯æè¡æ
å ±ãæ¢åã®ã¢ããªã±ã¼ã·ã§ã³è³ç£ã¨ã®äºææ§ãå»ä¾¡ã§å
¥æã§ãããã¤ã¯ãããã»ããµã®ãµãã¼ããã¦ããå½ä»¤ã»ãããæé©åæè¡ã®èç©ãªã©ãæ§ã
ãªå¤é¨å¹æãèããã¨çµæ¸çã«å²ã«åããªãã£ãã®ã§ãããç¹ã«å¤§ããã®ã¯æ¢åã®ã¢ããªã±ã¼ã·ã§ã³ã¨ã®äºææ§ã§ããã
ãã®å¶ç´æ¡ä»¶ã¯ä»®æ³åã«ãã£ã¦è§£æ¶ãã¤ã¤ããããµã¼ãã¼ã§ã¯ãµã¼ãã¹æ¯ã«ä»®æ³æ©æ¢°ãåãã¦ãªã¹ã¯ãåæ£ã§ããããã«ãªã£ããã¯ã©ã¤ã¢ã³ãã§ãIOä»®æ³åãGPUä»®æ³åã«ãã£ã¦ãã¢ããªã±ã¼ã·ã§ã³æ¯ã«ä»®æ³æ©æ¢°ãåããããããã«ãªããã¢ããªã±ã¼ã·ã§ã³æ¯ã«ä»®æ³æ©æ¢°ãåãæ¿ããããã¨ãããã¨ã¯ãããããç°ãªãOSãå®è¡ã§ããã¨ãããã¨ã ãã¤ã¾ãå¾æ¹äºææ§ã®ããã«å¤ãã³ã¼ããã¢ã¼ããã¯ãã£ãæ®ãã¦ããå¿
è¦ããªããªãã®ã§ããã
Cè¨èªã§æ¸ãããã³ã¼ãããèå¼±æ§ãæ ¹çµ¶ãããã¨ã¯æ¥µãã¦é£ããã2é層ã®ã¡ã¢ãªä¿è·ã§Rootkitçã®å¯¾çãè¡ãæ¹æ³ã確ç«ããã¦ããªãã移è¡ã³ã¹ããä½ä¸ãã¦ããã ãã§ãªããç¶æã³ã¹ããé«ã¾ã£ã¦ãããä»®æ³æ©æ¢°ã§å¤ãOSãåãããã¨ã§å¾æ¹äºææ§ãä¿ã¡ãªãããä»®æ³åãåæã«å®å
¨ãªè¨èªã§æ¸ãããå
¨ãæ°ããOSãåãå
¥ããããç´ å°ãæ´ãã¤ã¤ããã®ã§ãããå¾æ¥ã§ããã°äºææ§ãã¢ããªã±ã¼ã·ã§ã³è³ç£ã®ä¸åã§è¦åãããããªãã£ãã§ãããé©æ°çæè¡ãããããã話é¡ã«ãªãæ©ä¼ãå¢ããã®ã§ã¯ãªããã
ç¡è«ã©ããªæ°æè¡ãæ¢åæè¡ã®å»¶é·ç·ä¸ã«ããã®ã ããã転ææãããããã¨ãã£ã¦å¦ç¿ãç¡é§ã«ãªãã¨ã¯éããªããããã©ãããã¾ã§UNIXæè¡è
ã享åãã¦ãã30å¹´è¿ãã®æç¶çæè¡é©æ°ããããããã®ã«ã¼ãã«å¦ç¿è
ã享åã§ããã¨ã¯éããªãè¦æã¯æã£ãæ¹ãããããã²éè¦ãªè»¢ææã«ç«ã¡ä¼ãè²´éãªæ©ä¼ãããããç¥ããªãã¨ååãã«åãæ¢ãã¦æ¬²ãããããã ã«ã¼ãã«ãå¦ã¼ããã¨ã
*1:ãããããã£ã¼ã«ãèªãã¨ãã©ãèãã¦ãLinuxã§ããã失礼ãããã¾ããã
*2:ãã以åã¯PCã¯ããã»ããµæ§è½ãã¡ã¢ãªå®¹éãªã©è¿ä»£çãªOSãè¼ããã«ã¯è²§å¼±ããããããç 究è ãã¡ã¯ã¯ã¼ã¯ã¹ãã¼ã·ã§ã³ã使ã£ã¦ãã