
Microsoft Singularityã«ã€ããŠäœãæžããããšæããŸãã ããã¯éåžžã«ã¯ãŒã«ãªããšã§ãããä»æ¥ã®ITã§ã¯èª°ããããã«ã€ããŠè©±ããŠããã å
¬åŒã®åºçç©ãèªã¿ãããªã人ã®ããã®ç¹ç°ç¹ã¬ãã¥ãŒã¯ãã¡ãã§ãã
ããã¯äœã§ãã
ç¹ç°ç¹ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ç 究ãããžã§ã¯ãã§ãã ããã¯ããããšããšä¿¡é Œæ§ãéèŠãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãã©ã®ããã«äœæããŸããïŒããšèšãããåªç§ãªäººã
ã®ããŒã ã§ãã
SlashdotãOSNewsã®ãããªäººæ°ã®ãããã©ãŒã©ã ã®äººã
ã¯ãMicrosoftãWindowsãæŸæ£ããŠãŒãããå§ããããšãé·å¹Žå€¢èŠãŠãã -äžå®ãæªæã®ããã³ãŒãïŒãã«ãŠã§ã¢ïŒã®åé¡ãå
æããããã§ãã éåžžãããããã¹ãŠã®äººã
ã®å€¢ã¯ãWindowsãUNIXã«ç§»æ€ãããšããã¢ã€ãã¢ãäžå¿ã«å±éããŸãããããã¯ãã ããªãã¢ã€ãã¢ã§ãããäž»ãªåé¡ã解決ãããã®ã§ã¯ãããŸããã åºæ¬çãªèšèšæ©èœã«èµ·å ããåé¡ã解決ãããå Žåã¯ãèšèšããå§ããå¿
èŠããããŸãã ããã¯ç¹ç°ç¹ã§è¡ãããŸãã
ä¿¡é Œæ§ã¯ããªãåºç¯ãªè³ªåã§ãã å°ãªããšããããã¯ã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãã·ã¥ãããå®å
šã§ããããšãæå³ããŸãã ããããSingularityã®éçºã¯å€ãã®åéãã«ããŒããŠãããšããäºå®ã«ãããããããéçºè
ã«ã¯æ¬æ ŒçãªOSãäœæããã¿ã¹ã¯ã¯ãããŸãããããšãã°ãGUIéçºã«ã¯é¢äžããŠããŸããã
éãã¯äœã§ããïŒ
å®éã«ãããã¯ç§ãããã§è©±ãããšã§ãã
ç¹ç°ç¹ã¯ããã€ã¯ãã«ãŒãã«èšèšã§ãããé«æ§èœãåäžã¢ãã¬ã¹ç©ºéãéçåæ€èšŒãããã³ã¢ã¯ã»ã¹æš©ã®æè»ãªç®¡çã§ãã
ãããããåã®æã«ã¯æãããåŠåçšèªããããããããŸããã ããããç解ããŠã¿ãŸãããã ç¹ç°ç¹ã¯ããã¥ãŒããªã¢ã«ã®æšæºOSèšèšããã¯ã»ã©é ããããç°¡åã§ã¯ãããŸããã
ç¹ç°ç¹- é«æ§èœ ã å®éãçç£æ§ã¯ãããžã§ã¯ãã®ç®æšã§ã¯ãããŸããã§ããããéçºè
ã¯ãããªãã§ã¯éçºããã¯ã©ãŠãã«é£ã³èŸŒã¿ããå®å
šã«éåæ¥åã§ããããšãç解ããã®ã«ååè³¢æã§ããã ããã¯ãMicrosoftããã€ãå®éã®è£œåã§ãã®éçºã䜿çšããäºå®ã§ããããšãéæ¥çã«ç€ºããŠãããããé«éã«ããå¿
èŠããããŸãïŒè©³çŽ°ã¯åŸã»ã©ïŒã
ãããŠç¹ç°ç¹ã¯ãã€ã¯ãã«ãŒãã«ã§ãã ãããäœã§ãããã«ä»çŠç¹ãåœãŠãŸãããã ä»ã®ããšã«ã€ããŠã¯åŸã§è©±ããŸãã ãã®ãã¹ãŠãæ¢ã«èªèããŠããå Žåã¯ãäžã«ã¹ã¯ããŒã«ããŸãããã®å Žåããã€ã¯ãã«ãŒãã«ãšã¯äœãããªãäœéãšèŠãªãããããæ£ç¢ºã«ç¥ã£ãŠãããšæ³å®ããŸãã
ãããš...ãã€ã¯ãäœïŒ
æŽå²çã«ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®èšèšã«ã¯2ã€ã®æ¹æ³ããããç°ãªãã³ã¹ããšå©çã®æ¯çã䜿çšããŠåãããšãè¡ã2ã€ã®æ¹æ³ããããŸãããå°æ žãŸãã¯ã¢ããªã·ãã¯ã«ãŒãã«ã§ãã ããã§äœã¬ãã«ã®èšèšã«ã€ããŠè©±ããŠããããšã«æ³šæããŠãã ãã...ããã¯ãUIã§ã¿ã¹ã¯ããŒã䜿çšããããããã³ã°ãããã«ã¯åœ±é¿ããŸããã
ãã€ã¯ãã«ãŒãã«èšèšã§ã¯ããã¡ã€ã«ã·ã¹ãã ããããã¯ãŒã¯ãã©ã€ããŒãªã©ã®ãµãã·ã¹ãã ã¯ãã«ãŒãã«èªäœã®å€éšã®å€ããå°ãªããéåžžã®ããã°ã©ã ã®ããã«æ©èœããŸãïŒç¹æ®ãªããã»ããµã¢ãŒãã§åäœãããšããç¹ã§ä»ã®ããã°ã©ã ãšã¯ç°ãªããŸãïŒã ã«ãŒãã«ã¯ãããã»ã¹/ã¹ã¬ãããäœæãããããã®éã§ã¡ãã»ãŒãžã転éããCPUãªãœãŒã¹ã®å²ãåœãŠãªã©ããã®ä»ã®å°ããªããšã®ã¿ãè¡ããŸãã ä»æ¥ã®çã®å°æ žã¯ã»ãšãã©çºèŠãããŠããŸããã ã»ãšãã©ã®å Žåãããªãããããå®çŸããããšãªã䜿çšããŸããã ããšãã°ãQNXã¯ãCiscoã«ãŒã¿ãŒãªã©ã®çµã¿èŸŒã¿ã¢ããªã±ãŒã·ã§ã³åãã«èšèšããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ãã QNXã¯çŽç²ãªãã€ã¯ãã«ãŒãã«ã§ãã
æ人ã¡ã¢
ä»®æ³ã¡ã¢ãªã®æŠèŠã以äžã«ç€ºããŸãã ã³ãŒããã¡ã¢ãªããäœããèªã¿åããšãCPUã¯å
éšçã«ã¢ãã¬ã¹ãä»®æ³ã¢ãã¬ã¹ããã¡ã¢ãªã³ã³ãããŒã©ãŒã«éãããšãã§ããç©çã¢ãã¬ã¹ã«å€æããŸãã 32ãããCPUã§ã¯ãäž¡æ¹ãšã32ããããã€ã³ã¿ãŒã§ãããæ žéçºè
ã§ãªãéããã»ãšãã©ã®å ŽåãçŽæ¥ã®ç©çã¢ãã¬ã¹ã¯è¡šç€ºãããŸããã ãã®å€æã¯ãMMUïŒã¡ã¢ãªç®¡çãŠãããïŒãšåŒã°ããããã»ããµã³ã³ããŒãã³ãã«ãã£ãŠè¡ãããŸã-ãŸããã¢ã¯ã»ã¹å¶åŸ¡ãå®è£
ããŸãã ã¡ã¢ãªã¯4ãããã€ãã®ãããŒãžãã«åå²ããïŒIntel / AMDãããå
ïŒãããŒãžããšã«ãããã³ã°ãéå§ãããŸãã 衚瀺ããŒãžã«ã¯ãUNIXäžã®ãã¡ã€ã«ãšåãããã«ãèªã¿åã/æžã蟌ã¿/å®è¡ã®ã¢ã¯ã»ã¹ãããããããŸãã
ãã®ã¡ã¢ãªãããã³ã°ã¯ããã¹ãŠã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®ã»ãã¥ãªãã£ã®åºç€ã§ãã ãã°ã®ããããã°ã©ã ãã¡ã¢ãªå
ã®ä»ã®ããã°ã©ã ãå°ç¡ãã«ããããšã¯ã§ããŸããããŸããã¡ã¢ãªããŒãžã®ããŒãã«ãæŽæ°ã§ããã®ã¯ã«ãŒãã«ã ãã§ãããããŒããŠã§ã¢ãžã®ãã¹ãŠã®ã¢ã¯ã»ã¹ã¯ã«ãŒãã«ãä»ããŠè¡ããããããããã»ããµã®ãŠãŒã¶ãŒã¢ãŒãã§åäœããããã°ã©ã ã¯ãã«ãŒãã«ããèå³æ·±ããããšãè¡ãããšãã§ããŸããããã¯èš±å¯ãããŸããã ãŸããMMUã§ã¯ã«ãŒãã«ã¡ã¢ãªãèªã¿åãããšãã§ããªããããã¢ã¯ã»ã¹ã§ããŸããã ãŸããã¹ã¯ãããã¡ã€ã«ã䜿çšããŠãã£ã¹ã¯ãRAMããããšããŠäœ¿çšã§ããããšãæå³ããŸããããã»ã¹ã¢ãã¬ã¹ã¹ããŒã¹ã®äžéšã®è¡šç€ºãã¢ã³ããŒãããããããèªã¿åã£ããšã©ãŒããã£ããããŠã衚瀺ãå床ããŠã³ããŒãããŸãã
ä»®æ³ã¡ã¢ãªã¯çŽ æŽãããããšã§ãããéå»13幎éã§ã³ã³ãã¥ãŒã¿ãŒã®ä¿¡é Œæ§ãæ倧ã«åäžããããšã®1ã€ã§ãã Windows 3.1ã¯ãWindows 95ãšã¯ç°ãªããããã䜿çšããŸããã§ããããã®ãããå€ãã®äººãOSãæŽæ°ããŸããã ãã€ã¯ãã«ãŒãã«ã®å©ç¹ã¯ããã§æããã§ã-ãã°ã®ããã«ãŒãã«ã³ã³ããŒãã³ãã¯ã³ã³ãã¥ãŒã¿ãŒãBSODãå¥åãæ»ã®ãã«ãŒã¹ã¯ãªãŒã³ãã«éãããšã¯ã§ããŸãã-ä»æ¥ã®ããã«ã ãã¡ã€ã«ã·ã¹ãã ãã¯ã©ãã·ã¥ããå Žåã¯ãåèµ·åããŠãã ããïŒ
ã¢ããªã·ãã¯èšèšã§ã¯ããã¡ã€ã«ã·ã¹ãã ããã©ã€ããŒãããã«ã¯WebãµãŒããŒãã«ãŒãã«ã«çŽæ¥èªã¿èŸŒãŸããç¹æš©ããã»ããµã¢ãŒãã§åäœããŸãã ã«ãŒãã«ã¯ããŠãŒã¶ãŒã¢ãŒãããã»ã¹çšã®ã¡ãã»ãŒãžåãæž¡ãã·ã¹ãã ãåŒãç¶ãæäŸããŸãããä»ã®å Žæã§ã¯äœ¿çšãããŸããã ä»æ¥ãäžè¬çãªãµãŒããŒãŸãã¯ãã¹ã¯ãããOSã¯ãã¹ãŠWindowsãLinuxãMacOSã®Windowsã¢ããªã·ãã¯ã§ãã Linuxã¯åžžã«ã¢ããªã·ãã¯ã§ãããWindows NTã¯å
ã
ãã€ã¯ãã«ãŒãã«ã§ãããMachã«åºã¥ããMacOSã¯çè«çã«ã¯ãã€ã¯ãã«ãŒãã«ã§ãã£ãããšã«æ³šæããŠãã ããã ããããç§ã¯ãããä¿¡ãã人ã誰ãç¥ããŸããã
ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã€ã¯ãã«ãŒãã«ãŸãã¯ã¢ããªã·ãã¯ã§ãããã©ãããå€æããã®ã¯ããããé£ããã§ãããããªããªããããã¯ãã€ããªã®ãyes / noãããžãã¯ã§ã¯ãªãããã§ããããšãã°ãLinuxã§ã¯ã°ã©ãã£ãã¯ãµãã·ã¹ãã ã¯å¥ã®ããã»ã¹ïŒX ServerïŒã§åäœããŸãããWindowsã§ã¯ããã¯ããã§ãã -ããããä»æ¥ã§ã¯ãããŸããã ãããã«ããŠããLinuxããã€ã¯ãã«ãŒãã«ã§ã¯ãªããšäž»åŒµãã人ã¯ããŸããã åªããè©äŸ¡åºæºã¯ããã¡ã€ã«ã·ã¹ãã ãã«ãŒãã«ã¢ãŒãã§åäœãããã©ããã§ããã°ã©ãã£ãã¯ã·ã¹ãã ã¯ç°è²ã®é åã«ãããŸããããã¡ã€ã«ã·ã¹ãã ã¯ãããŸããã
ãããã«ãããSingularityãå°æ žèšèšã䜿çšããŠãããšããäºå®ã¯ãå¥åŠãªããšã«èŠããŸããæŽå²çã«åŠè¡ç°å¢ã§ã¯å°æ žãåã£ãŠããŸããããäž»ã«ããã©ãŒãã³ã¹ã®åé¡ã«ãããã¢ããªã·ãã¯ã³ã¢ãåžžã«åžå Žã§åã£ãŠããŸããã ãããã®çŽäºã¯80幎代ã«åçºããŸãã- ããã§ã¯ãããŒãã«ãºãšã¿ãã³ããŠã ã®éã®æåãªçŽäºãèªãããšãã§ããŸã ã ãã®ãããäžèŠãããšãç¹ç°æ§ã¯çè«çã«ã¯ã¯ãªãŒã³ã§ãããå®éã«ã¯äœ¿çšã§ããªããã®ã®å¥ã®åŠåççºå±ã®ããã«æãããããããŸããããããã§ã¯ãããŸããã
ãã€ã¯ãã«ãŒãã«ãé
ãã®ã¯ãªãã§ããïŒ
ãã€ã¯ãã«ãŒãã«ã¯éåžžãããã»ããµã¢ãŒãïŒã«ãŒãã«ã¢ãŒãã§ã®ãŠãŒã¶ãŒã¢ãŒãããŸãã¯ãã®éïŒã®åãæ¿ãã®ãªãŒããŒãããã«ãããã¢ããªã·ãã¯ã«ãŒãã«ãããäœéã§ãã ããã«ã2ã€ã®ãŠãŒã¶ãŒã¢ãŒãããã»ã¹éã§ããã»ããµãåãæ¿ããã³ã¹ãïŒã³ã³ããã¹ãã¹ã€ããã³ã°ïŒããããŸãã
ãããã®ã³ã¹ãã¯å°ãããŠãçŸå®çã§ããã1ç§ãããäœçŸãã®ãã®ãããªåãæ¿ããè¡ããšããã¹ãŠã®ããã»ããµã®äœæ¥ãååŸã®åãæ¿ãã«åæžããããšããäºå®ã«ã€ãªãããŸãããå®éã®äœæ¥ã«æ®ãããæéã¯ãããŸããã ãããŠããããã®ã³ã¹ãã枬å®ããããšã¯éåžžã«å°é£ã§ãããSingularityããŒã ã¯ãããè¡ããŸããã
ãããã®åãæ¿ãã«è²Žéãªæéããããã®ã¯ãCPUãéåžžãšã¯ç°ãªããžã§ããå®è¡ããå¿
èŠãããããã§ãããŸããããã»ããµã¯ãã®äœæ¥ãè¡ããã«ã»ãšãã©ã®æéãè²»ãããããããŸãæé©åãããŠããŸããã ããã¯ãæè¿ã®x86ãããã®äžä»£ã§å€æŽãããŸããããå
šäœçã«ã¯ãã¹ãŠãåããŸãŸã§ãã
ããšãã°ãsyscallãå®è¡ããŠã«ãŒãã«ã«åŒ·å¶çã«äœãããããã«ã¯ãç¹å¥ãªããã»ããµåœä»€ã䜿çšããŸãã ããã¯éåžžLinuxã§ã¯ãint 80ãã§ãããä»æ¥ã§ã¯ãããããµããŒãããã³ã¢ãšããã»ããµã§ãsysenterããªãã³ãŒãã䜿çšã§ããŸãïŒã»ãšãã©ã®äººã䜿çšã§ããŸãïŒã ãã®å Žåãå¶åŸ¡ã¯ã³ã¢ã«æž¡ãããŸãã ããã¯ææ°ã®ã³ã³ãã¥ãŒã¿ãŒã§ã¯ããªãé«éã§ãããåžžã«ããã§ãããšã¯éããŸããã§ãã-ããšãã°ãWindowsã®åæããŒãžã§ã³ã§ã¯CPUäŸå€ãã¹ããŒããæ¹ãå²ã蟌ã¿ã䜿çšãããããã«ãŒãã«ã¢ãŒãã«å
¥ãæ¹ãéãããšãå€æããããã誀ã£ãããã»ããµãŒåœä»€ã䜿çšããŠããŸããïŒãå
¬åŒãæ¹æ³ïŒã Intelã¯ãããä¿®æ£ããŸãã:)
ã³ã³ããã¹ãã®åãæ¿ãã¯ããé«äŸ¡ã§ãã 第äžã«ããããæããã«ã«ãŒãã«ã¢ãŒããžã®ç§»è¡ãåŒãèµ·ããããŸãã¡ã¢ãªãããã³ã°ããŒãã«ã®åæ§æãé«éã§ã¯ãªãããã§ãã
ããããŸãçããæäœã§ããããïŒx86ãããã§ç¹å¥ãªã¬ãžã¹ã¿ã䜿çšããå¿
èŠãããããïŒé«éã§ã¯ãããŸããããäž»ã«ãããããå€æã«ãã¯ã¢ãµã€ããããã¡ãïŒTLBïŒã®ãªã»ãããå¿
èŠã§ãã ãããã®ãããã¡ãŒã«ã¯ãMMUèŠæ±ã®çµæãæ ŒçŽãããŸãã å®éãMMUãã¿ã¹ã¯ã«ç¹åããããŒããŠã§ã¢ã§ãã£ãŠãããã®äœ¿çšã¯ç¡æã§ã¯ãããŸããïŒã³ãŒãã«ã¢ã¯ã»ã¹ãããã³ã«ã¡ã¢ãªã¢ãã¬ã¹ã®å€æãè¡ãå¿
èŠããããŸãïŒåžžã«çºçããŸãïŒãããã§ã¯ããã£ãã·ã¥ãå¿
èŠã§ãã
ãã®ãããã³ã³ããã¹ãã¹ã€ããã³ã°ã®è²»çšã枬å®ããããšã¯å°é£ã§ãã CPUã®åºæ¬çãªèšèšæ©èœã®ããã«ãããã«äœã䟡å€ãããããšã¯ããã£ãŠããŸãã ããããå®éã®äŸ¡å€ã¯å®è¡äžã®ããã»ã¹ã®ã³ãŒãã«ãã£ãŠå¡ãã€ã¶ãããŸãã ã³ã³ããã¹ããåãæ¿ããçŽåŸãã³ã³ãã¥ãŒã¿ãŒã®å®è¡é床ãããé
ããªããTLBãèªã¿èŸŒãŸãããšé床ãäžãããŸãã
ãããã£ãŠã2ã€ã®çžåããåªå
é äœããããŸãã äžæ¹ã§ã¯ãã¢ãã¬ã¹ç©ºéãåé¢ããããã«ä»®æ³ã¡ã¢ãªã䜿çšãããšãããã°ã©ã ãäºãã«åé¢ããããšã§ä¿¡é Œæ§ãåäžããŸããïŒããã¯è¯ãããšã§ããïŒãäžæ¹ã§ãããã©ãŒãã³ã¹ã®æ倱ã枬å®ããã®ãé£ãããªããŸã-ããã¯æªãããšã§ãã ããã«æªãããšã«ãããã»ããµã¯ãšãã©ãé«éã«ãªããŸãããã³ãŒãã®å®è¡ã¯é«éã«ãªããŸãããã¢ãã¬ã¹ç©ºéã®æäœã¯é«éã§ã¯ãªããããä»åã¯ã ãŒã¢ã®æ³åã«é Œãããšãã§ããŸããã
ã¡ãã»ãŒãžã³ã°
ãã€ã¯ãã«ãŒãã«ã¯ãç°ãªãã¢ãã¬ã¹ç©ºéã®ããã»ã¹éã§ã¡ãã»ãŒãžãéä¿¡ãããšããèãã«åºã¥ããŠããŸãã ãã®ããããã¡ã€ã«ãèªã¿åãã«ã¯ãããã°ã©ã ãããã¡ã€ã«ã·ã¹ãã ãµãŒããŒã«ã¡ãã»ãŒãžãéä¿¡ããå¿
èŠããããŸãã ã¡ã¢ãªã«ã¡ãã»ãŒãžã圢æãïŒããã¯é«éïŒãsyscallã§ãã¡ãã»ãŒãžãéä¿¡ããââãŸãïŒããé«éã§ã¯ãããŸããïŒããã®åŸãã«ãŒãã«ã¯ã¡ãã»ãŒãžãç¬èªã®ã¢ãã¬ã¹ç©ºéã«ã³ããŒãïŒãããã£ããïŒãã³ã³ããã¹ãããã¡ã€ã«ã·ã¹ãã ãµãŒããŒã«åãæ¿ããŸãïŒãã£ããïŒã«ãŒãã«ã¢ãŒããçµäºããåã«ããã¡ã€ã«ã·ã¹ãã ãµãŒããŒã®ã¡ã¢ãªã«ã¡ãã»ãŒãžãã³ããŒããŸãã
ãã¡ã€ã«ã·ã¹ãã ãæ¢ããŠãããã¡ã€ã«ãèªã¿åããšãããã®é«ããã¹ãŠéã®é åºã§ç¹°ãè¿ãå¿
èŠããããŸããä»åã¯ããŒã¿ãè¿ä¿¡ã¡ãã»ãŒãžã«ã³ããŒããŸã...ãããŠã¡ãã»ãŒãžã®éä¿¡ã³ã¹ãã¯ãµã€ãºãšãšãã«å¢å ãããããããã¯æåã®ãªã¯ãšã¹ããããããã«é
ãã§ãïŒ
ã¢ããªã·ãã¯ãªãã¶ã€ã³ã§ã¯ãŸã£ããç°ãªã£ãŠèŠããŸãïŒãªã¯ãšã¹ããäœæãïŒé«éïŒãsyscallãå®è¡ãïŒããã»ã©é«éã§ã¯ãããŸããïŒããã¡ã€ã«ã·ã¹ãã ãããŒã¿ãåä¿¡ãããŸã§åŸ
æ©ãããã®åŸã«ãŒãã«ãããŒã¿ãã¢ãã¬ã¹ã¹ããŒã¹ã«çŽæ¥ã³ããŒããŸãïŒãŸãã¯ã DMAã䜿çšããå ŽåïŒããŠãŒã¶ãŒã¢ãŒãã«å¶åŸ¡ãæ»ã...ãããç°¡åã§é«éã§ãïŒ ããã§ã®æ¬ ç¹ã¯ããã¡ã€ã«ã·ã¹ãã ãã¯ã©ãã·ã¥ãããšãOSå
šäœãBSODã§ã¯ã©ãã·ã¥ãããã¹ãŠã倱ãããããšã§ãã
Windowsã§ã®ã¯ã©ãã·ã¥ã®çŽ80ïŒ
ã¯ãæ²ãã£ããã©ã€ããŒãåå ã§ãã ãããã£ãŠããã°ã®ããããã°ã©ã ã«ããã¯ã©ãã·ã¥ãé²ãã®ãšåãæ¹æ³ã§ããã©ã€ããŒã«ããã·ã¹ãã ã¯ã©ãã·ã¥ãé²ãããšãã§ããã°ãäžçäžã®ãã¹ãŠã®BSODã®80ïŒ
ãé²ãããšãã§ããŸãã ããã¯ããªãã¯ãŒã«ã§ãïŒ ãŸããã»ãã¥ãªãã£ã¡ã«ããºã ããã©ã€ããŒã§æ©èœã§ããããšãæå³ããŸãã ä»æ¥ãµãŒãããŒãã£ã®ãã¡ã€ã«ã·ã¹ãã ãã€ã³ã¹ããŒã«ããå Žåãå®éã«äœãåŸãããã®ã誰ãç¥ã£ãŠããŸããïŒ èªåã§ã³ãŒãã確èªããŠã³ã³ãã€ã«ãããŸã§ãã³ãŒããæäŸãã人ãä¿¡é Œããå¿
èŠããããŸãã ããã§ãã¹ãŠãåé¡ãªãå Žåã§ããæ°ãããã©ã€ããŒã®ãã°ãã«ãŒããããã«ç©Žãéããã»ãã¥ãªãã£ã·ã¹ãã å
šäœãæ²ããããšããããŸã:(
ãããããåŠè
ãé
ããŠãä¿¡é Œã§ãããœãªã¥ãŒã·ã§ã³ã奜ãã ã®ã¯é©ãããšã§ã¯ãããŸãã-ãã¹ã¯ãããOSéçºè
ã¯éããŠãäžå®å®ãªãœãªã¥ãŒã·ã§ã³ã奜ãã ã®ã§ãã ãããã圌ãã¯ããããªãã£ããšã¯æããªãã§ãã ããïŒ Windows NTã¯ãçŽç²ã«ãã€ã¯ãã«ãŒãã«ãœãªã¥ãŒã·ã§ã³ãšããŠéçºãããŸããããããã»ã¹ééä¿¡ãéåžžã«æé©åãããŠããŠããGUIãšå
±ã«ã«ãŒãã«ã«éäŒããã移åãããŸããã
ç¹ç°ç¹
ç¹ç°ç¹ã¯ãã座ã£ãŠé£ã¹ããããšã«æåããŸã-ãã€ã¯ãã«ãŒãã«ã®ãã¹ãŠã®å©ç¹ãšãã¢ããªã·ãã¯ã³ã¢ãããé«ãããã©ãŒãã³ã¹ãå®çŸããŸãã ãã£ãããïŒ
ã©ã®ããã«æ©èœããŸããïŒ
ç¹ç°æ§ã¯ããã®ã¯ãªãŒã³ãªãã€ã¯ãã«ãŒãã«èšèšã«å°è±¡çã§ãåŸæ¥ã®ã¢ãããŒãããã30ïŒ
é«éã§ãã¢ããªã·ãã¯ããã10ïŒ
é«éã§ãïŒéããã¡ã€ã«I / Oã®ãã³ãããŒã¯ã§ïŒã 圌女ã¯ã©ããã£ãŠãããããŸããïŒ
ããªãã¯ã¯éåžžã«ç°¡åã§ã-ããŒããŠã§ã¢ã®ã¡ã¢ãªä¿è·ãå®å
šã«æŸæ£ããŸããã Singularityã§ã¯ããã¹ãŠãã«ãŒãã«ã¢ãŒãã§åäœãããã¹ãŠãåäžã®ã¢ãã¬ã¹ã¹ããŒã¹ã§åäœããŸãã ã€ãŸããMMUã¯äœãããŸããã ãããŠãäŒçµ±çãªæå³ã§ã®ãããã»ã¹ãã¯ãããŸããã
ãã¡ãããããã圌ããããå¯äžã®ããšã§ããã°ãããã¯ããã»ã©é¢çœããªãã§ãããã Windowsã®ã¯ã©ãã·ã¥ã®80ïŒ
ã¯ãã«ãŒãã«ãšã©ãŒã§ã¯ãªãããã°ã®ãããã©ã€ããŒãåå ã§ãïŒæ®ãã®20ïŒ
ã¯ããŒããŠã§ã¢é害ãåå ã§ãããšæãããŸãïŒã æš©éã®ææ Œãå¯èœã«ããç¡æ°ã®è匱æ§ã¯ããã©ã€ããŒã®äžå
·åã«ãã£ãŠåŒãèµ·ããããŸãã ãã®ãããªè匱æ§ã¯ãããããæªè
ããžã®èŽãç©ã§ãã ãœãããŠã§ã¢ã®ãã°ä¿è·ã¯ããã€ã¯ãã«ãŒãã«ã䟿å©ã«ãããã®ã§ãã
Singularityã®ããã°ã©ã ã¯äºãã«åé¢ãããŠããŸãããåé¢ã¯ã·ãªã³ã³ã§ã¯ãªãåçè«ã䜿çšããŠå®å
šã«ããã°ã©ã çã«å®è¡ãããŸãã ããã¯ãSingularityããã°ã©ã ãSïŒãšåŒã°ãââãCïŒã®åå«ã§æžãããŠããããã«å¯èœã§ãïŒçè«çã«ã¯ã.NETã«ã¯ä»»æã®èšèªã䜿çšã§ããŸã-Singularityã¯CïŒã«è¿œå ãããæ©èœãã»ãšãã©äœ¿çšããªããããä»ã®èšèªã§ã¯ãããã®ããããªå€æŽã®ã¿ãå¿
èŠã§ãïŒ ã
ãããããJavaãCïŒã®ãããªã»ãšãã©ã®çŸä»£èšèªã§ã¯ãã¡ã¢ãªã«çŽæ¥ã¢ã¯ã»ã¹ã§ããªãããšããåç¥ã§ãããã 倧ãŸãã«èšã£ãŠãJavaã§åæ§ã®Cã³ãŒããæžãããšã¯ã§ããŸããã
*((char *)0x1234) = âXâ; // 1234
, . Java/C# -, , , . , , JVM/MSIL « », , , , / . â !
, . . , C , â Java/.NET ( C++) .
, , reflection () , .
JVM- . , JRE â .
Singularity â C#, C++ . . Microsoft â , .
Singularity â SIP, software isolated process « ». Singularity , -, , â .
SIP (heap), ( GC, , GC ) . SIP , ( KaffeOS), . , SIP. , SIP â , . , , GC , .
CPU â , , «». Singularity «» , SIP' , , SIP' . , / , C++ . SIP ( ), , , .
SIP' , . , GC SIP' â . syscall .
SIP' «». â , UNIX' , . , , â - . . SIP' ( , -) .
, . ? SIP' ?
, SIP (, CD), MSIL-. (just-in-time, JIT) , Java .NET. , . Singularity â . .
MSIL CPU , « I/O » « », â - , . , , , . , â CPU .
OS - . : , iTunes , , iPod. , -, , â , -, .
SIP' , ( ) SIP'. â ? , ?
Singularity . , .NET, XML-, SIP' , . . , , .
Singularity
, :
- 80% Windows .
- Linux , 7 , .
- , « » , â â .
- , . « ».
Singularity - , , â Sing#- (Sing# «» C#), MSIL-. SIP, . , C# â , «overflow» .
MSIL , , - . , - DLL, , , . DLL (Singularity.DriverRuntime
) , Microsoft «trusted computing base», - DRM, . DLL, , . IoPortRange
, IoIrqRange
( ..) - .
Singularity , . . , â , ? ?
Singularity , , . .NET â , . XML- ( , ) (compile-time transform), , . â HAL (hardware abstraction layer).
, Singularity , . , ( ) â . , , .
?
, - ( ?). , , DMA- , .
DMA â Direct Memory Access ( ) â , RAM, CPU. , , , . , DMA CPU, MMU, , DMA- . , . Singularity .
, DRM! , ! CPU, Intel AMD, -, ( ) IOMMU. , MMU â , / DMA . IOMMU, DMA. ( DRM-). , , , .
, , DMA- - «».
?
2001- Microsoft . , . â , , , . Microsoft unit-, , . Microsoft. ?
, , . , . , , . $250 , «OK» . .
. , â .
, , : «, , â â, DMA, ( , , )». , ? . , , . BSOD, . , , â , .
, ( Singularity , SIP'), â . ? , . ( DoS' - ? ). , , - , , . , Microsoft, .