Ivan Ruzanovã®å ±åã«ãããšãäŒè°ã Platform 2009 ãã®ãWindows-ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®äœææ¹æ³ããantonmsããã§ã«
æžããŠããããã«ããã©ãããã©ãŒã ããã®ã¬ããŒããå©çšå¯èœã«ãªããŸããã ãããã®ããã€ããèŠãŠãç§ãæã奜ããªãã®ãå
±æããããšæããŸãã éåžžã®habr-userã®å¿ãããšãæåã®ã¬ããŒãèšé²ã®æéïŒ1æé20åïŒãèæ
®ããŠã以äžã«è³æã®è©³çްãªãã¬ãŒã³ããŒã·ã§ã³ã瀺ããŸãã
- Windowsã®å±¥æŽ
- 仿¥ã®Windows
- Windowséçº
- Windows 7ã«ãŒãã«ã®å€æŽ
- Windowsã¡ã³ããã³ã¹ã®æŽæ°/ä¿®æ£
Windowsã®å±¥æŽ
Windows NTã®éçºãå§ãŸã£ãã®ã¯20幎以äžåã®1988幎11æã§ãã åã§ã¯ãMicrosoft
ã Windows NTã
賌å
¥/çãã ãšãã ã ãã¡ãããããã§ã¯ãããŸããã æ°ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§äœæ¥ããããã«ãMicrosoftã¯
DECã«å€åãã
DEC VAX VMSãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®éçºè
ã®1人ã§ããDave CutlerãæåŸ
ããŸããã 1988幎ã«ã¯ãæ°ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã éçºããŒã ã¯ããã12人ã§ããã®äžã«ã¯Dave Cutlerãšãšãã«ãDEC VAX VMSã®éçºã«åå ããå
DECåŸæ¥å¡ãããŸããã ãããŠãæ°ããWindows NTã®ãã¹ãŠã®ã³ãŒãã¯Microsoftã«ãã£ãŠæžãããŸããã
ãNTããšããç¥èªã¯ãNew TechnologiesããšããŠããŒã±ãã£ã³ã°ã衚ããŠããŸãããèšèšããã¥ã¡ã³ãã§ã¯ãŸã£ããç°ãªããã®ãæå³ããŸãã å®éãWindows NTã¯æ°ãã
Intel i860ããã»ããµçšã«éçºããããã®ã§ã1988幎ã«ã¯ãŸã ãªãªãŒã¹ãããŠããŸããã ã³ãŒãåã¯
ãN10ãïŒ NT enïŒã§ããã
æåã®ããŒãžã§ã³-Windows NT 3.1ã¯ã5幎åŸã®1993幎ã«ãªãªãŒã¹ãããŸããã ãã®æç¹ã§ãããŒã ã«ã¯ãã§ã«250人ã®éçºè
ãããŸããã
仿¥ã®Windows
- 10å人ã®ãŠãŒã¶ãŒ
- 1å4000äžè¡ã®ã³ãŒãïŒãã¹ãã³ãŒããšããŒã«ãå«ãïŒ
Windowsã³ãŒãã¯éåžžã«ç°ãªããŸãã äžéšã¯20幎åã«æžããããã®ã§ãäžéšã¯çŸåšã®ããŒãžã§ã³ã§ã®ã¿ç»å Žãããã®ã§ãã ããšãã°ãWindows Vistaã®ããã€ã¹ã®WebãµãŒãã¹ïŒWSDïŒã³ãŒãã¯æåã®ããŒãžã§ã³ã«ååšãã GDIã³ãŒãã¯éçºã®æçµæ®µéã«ãããã»ãšãã©å€æŽãããŠããŸãããDirectXã³ãŒãã¯æ¢ã«ååã«éçºãããŠããŸãããçŸåšæŽ»çºã«å€æŽãããŠããŸãã - 8000人ã®éçºè
- 36èšèªã®ããŒã«ã©ã€ãº
- 20幎ã®éçº
Windowséçº
20ã30幎åãWaterfallããã°ã©ãã³ã°ææ³ã¯1ã€ãã䜿çšãããŠããŸããã§ããã æ¬¡ã®ã·ãŒã±ã³ã¹ã§ãã
仿§âèšèšâå®è£
âãã¹ãâé
ä¿¡ã
ãããããã®ãããªæ¹æ³è«ã¯å°ããªãããžã§ã¯ãã§ã®ã¿æ©èœããŸãã çŸåšã®Windowsã®ãããªè£œåã«ã¯ãä»ã®æ¹æ³è«ãå¿
èŠã§ãã
ããããã¹ãŠã®æ¹æ³ã«ã¯ãé·æãšçæã®äž¡æ¹ããããŸãã ããŒã ã®èŠæš¡ãšã³ã³ããŒãã³ãã®éçºæ®µéã«å¿ããŠãç°ãªãWindowséçºããŒã ãç°ãªãéçºæ¹æ³è«ãé©çšããŸãã
Windowsã§ã¯ãäžè¬ã«è£œåãšããŠã補åãµã€ã¯ã«ã¢ãã«ã䜿çšãããŸãã
- 3ã4ãæ
- æéäž-ãæ»ã
ãã®èŠæš¡ã®è£œåãéçºããéã®æå€§ã®åé¡ã¯ãéçºã«æéããããããšã§ãã åææ®µéã§ã¯ãçŸåšã®æéãšæ¢åã®ææ®µã«ååšããåé¡ã解決ãããŸãã ããããäžå®ã§ããå¯äžã®ããšã¯ããã¹ãŠãå€åãããšããããšã§ãã é·å¹Žã«ãããéçºïŒ
- èŠä»¶ã倿ŽãããŸã
- æ©äŒãå€ãã
- å€åã¹ã±ãžã¥ãŒã«ãå€ãããŸã
- ãããžã§ã¯ãã倿ŽãããŸã
- ãŠãŒã¶ãŒã倿ŽãããŸã
ããŸããŸãªããŒã ãããŸããŸãªæ¹æ³ã§éçºãè¡ããšããäºå®ã«ããããããããæ®éçãªãã«ãŒã«ããããŸãã
- ãã¹ã¿ãŒåãã®äžéããŒãžã§ã³ïŒãã€ã«ã¹ããŒã³ãããŒã¿ãCTPïŒã®ãªãªãŒã¹
- çããµã€ã¯ã«ã§ã®å
éšã¢ã»ã³ããªã®ãªãªãŒã¹ïŒ1æ¥ïŒ
- èšèšã®ã·ã³ãã«ããšä¿¡é Œæ§
- å人ããã³ããŒã ã®ã³ãŒãèªã¿åã
- åäœãã¹ã
- æ€èšŒè©Šéš
- äžéã¢ã»ã³ããªã¯é«å質ã§ããå¿
èŠããããŸãïŒæžãããŠãããã®ã¯æ©èœããã¯ãã§ãïŒ
ç§ã¯ãWindows 7ãã«ã6801ãèªå®
ã®ã³ã³ãã¥ãŒã¿ãŒã®ã¡ã€ã³OSãšããŠäœ¿çšããŠ1ãæä»¥äžããã®ã¢ã»ã³ããªã«ã€ããŠè¯å®çãªå°è±¡ãåããããšã«æ³šæããŸãã
Windowséçºããã»ã¹å
šäœã¯ãæ¯æ¥ã®ãã«ããäžå¿ã«æ§ç¯ãããŠããŸãã
- ããã¯è£œåã®ãã«ã¹ã§ãã
- éçºã¯æ¢ãŸããªã
- æ¯æ¥ã®èªåãã¹ã
- æ©æçµ±å
- éçºè
ã®è²¬ä»»
- èŠããã®è£œåç¶æ
æã
ããœãŒã¹ã³ãŒããã©ã³ãã¯1ã€ãããªãããã¹ãŠã®éçºè
ãããã«çŽæ¥å€æŽãå ããŸããã çŸåšãéçºããŒã ã¯éåžžã«å€§ãããããæ©èœããŸããã å€ãã®ãã©ã³ãããµããŒããããŠããããã®äžã«ã¯ã¡ã€ã³ãã©ã³ãã§ããWinMainããããŸãã åã©ãã«ã¯ã倿Žãçµ±åãããç¬èªã®ããŒã«ã«éçºãã©ã³ãããããŸãã æéã®çµéãšãšãã«æ€èšŒããã倿Žã¯ãWinMainã«çµ±åãããŸãã
æ¯æ¥ã®éçºãµã€ã¯ã«ïŒ
- 15:00-çµ±åãèš±å¯ãããŠãããœãŒã¹ã³ãŒã管çã·ã¹ãã ã®å€æŽ
- ãã«ã6ããŒãžã§ã³ïŒç¡æ/ãã§ãã¯æžã¿-x86ãx64ãIA64ïŒ
- 18:00-ãã¹ãçšã«æ°ããããŒãžã§ã³ãå©çšå¯èœ
- æ°ããããŒãžã§ã³ã¯ããã¹ãã®ããã«æ°åã®ã¯ãŒã¯ã¹ããŒã·ã§ã³ãšãµãŒããŒã«ã€ã³ã¹ããŒã«ãããŸãã
- èªåã¹ãã¬ã¹ãã¹ã
- 05:00-ãã¹ãã¬ããŒããåæãããé害ã蚺æãããŸã
- 09:00-èŠçŽã¬ããŒãã¯èªåçã«ããŒã ã«éä¿¡ãããŸã
- 09:30-ç®æšãèšå®ããããã®ããŒã ãªãŒããŒã®æŠèŠäŒè°
ã»ãšãã©ã®äžçŽç®¡çè
ãå«ããã¹ãŠã®ãããžã§ã¯ãåå è
ã¯ãäœæ¥äžïŒããã³éåžžã¯èªå®
ïŒã®ã³ã³ãã¥ãŒã¿ãŒã§äžéããŒãžã§ã³ã䜿çšããŸãã
Windowsã¯äœã«æžãããŠããŸããïŒ
- CãC ++ãCïŒãã¢ã»ã³ãã©ãŒïŒx86ãx64ãIA64ïŒ
ã¢ã»ã³ãã©ãŒã¯ããããªãã§ã¯å®è¡ã§ããªãç¶æ³ã§ãããªãéãããç¯å²ã§äœ¿çšãããŸãã - Visual StudioãSource Insightããã«ããnmake
- ãœãŒã¹ãã-ãœãŒã¹ç®¡çã·ã¹ãã
- WinDbgãKDãNTSD-ãããã¬ãŒ
ãã«ããªã©ã®å€ãã®å
éšããŒã«ã¯ã
microsoft.com / whdc / devtoolsããããŠã³ããŒãã§ããŸãã
Windows 7ã«ãŒãã«ã®å€æŽ
Windows 7ã«ãŒãã«ã«ã¯ã次ã®å€æŽãå ããããŠããŸãã
- ãªãã¡ã¯ã¿ãªã³ã°
Windowsã§ã°ã©ãã£ãã¯ãµãã·ã¹ãã ãåé€ã§ããªãã®ã¯ãªãã§ããïŒ
æè¡çãªèгç¹ãããã®è³ªåã«å¯Ÿããçãã¯ãWindowsã®ã°ã©ãã£ãã¯ã¹ãµãã·ã¹ãã ã¯ç¬ç«ããŠããããWin32ãµãã·ã¹ãã ã®äžéšã§ãããšããããšã§ãã
Windows 7ã¯ãäŸåé¢ä¿ãè§£æ¶ããããã«å€ãã®äœã¬ãã«ã³ã³ããŒãã³ãããªãã¡ã¯ã¿ãªã³ã°ããŸããã ããã¯ãŠãŒã¶ãŒã«ã¯ç®ç«ãããæ°ããDllã®ã¿ã衚瀺ãããŸããããšãã°ã kernel32.dll㯠kernel32.dllãškernelbase.dllã«åå²ãããŸãã
ãã®ããŒãã£ã·ã§ã³ã«ããã MinWin ïŒãã£ã¹ã¯ããã20ã¡ã¬ãã€ãïŒãšåŒã°ããæå°ã®ã³ã¢ãå²ãåœãŠãããšãã§ããŸããã - x86ããã³x64ã®EFIãµããŒãïŒVista SP1ãšåæ§ïŒ
å€ãã®ã¡ãŒã«ãŒã¯ãEFIãåªå
ããŠBIOSãåé€ããããšããŠããŸãã - VHDïŒä»®æ³ããŒããã£ã¹ã¯ïŒããã®èµ·å
- 䞊åããã€ã¹ã®åæåãšãµãŒãã¹ã®éå§
WindowsãããŒããããšããããã€ã¹ããªãŒã®æ§ç¯ã«ã¯ããªãæéãããããŸãã PNPãããŒãžã£ãŒã¯ããã¹ãã©ã€ããŒïŒPCIãUSBãFireWireãªã©ïŒãããŒãªã³ã°ããŠã䜿çšããŠããããã€ã¹ã調ã¹ãŸãã ãããŠãã»ãšãã©ã®å Žåãããã»ããµã¯ããã€ã¹ãå¿çããïŒãŸãã¯å¿çããªãïŒã®ãåŸ
ã¡ãŸãã å®éããã¹äžã®ããã€ã¹ãç¹å®ããã«ã¯ãããããã€ã³ã¿ãã¥ãŒããå¿
èŠããããŸãã ããããã§ããã°ã圌ãã¯çããŸãããããã§ãªããã°ãããªãã¯åŸ
ããªããã°ãªãããããã»ããµã¯ã¢ã€ãã«ç¶æ
ã§ãã ãããã®ã¿ã¹ã¯ã䞊è¡ããŠå®è¡ãããšãããŒãæéãççž®ãããŸãã - ã¹ã±ãžã¥ãŒã©ããDispatcherããã¯ãåé€ããã¡ã¢ãªãããŒãžã£ãŒããPFNããã¯ãåé€ãã
é廿°å¹Žéãããã»ããµã®ã¯ããã¯é床ã¯åäžããŠããããéçºã¯1ã€ã®ã³ã¢ã¬ãã«ãšã·ã¹ãã ã¬ãã«ïŒãã«ãã³ã¢ïŒã®äž¡æ¹ã§äžŠåå®è¡åœä»€ã®æ°ãå¢ããæ¹åã«é²ãã§ããŸãã ãã®ç¹ã§ãã¹ã±ãŒãªã³ã°ãæ¹åããããã«å€ãã®äœæ¥ãè¡ãããŸããã
ã«ãŒãã«å
ã«ãã£ã2ã€ã®æãããããªããã¯ããã®Dispatcherããã¯ãšPFNããã¯ã¯åé€ãããŸããã
ã¹ã¬ããã®ç¶æ
ã倿Žãããšãã«ãã¹ã±ãžã¥ãŒã©ããã£ã¹ãããã£ããã¯ã䜿çšããŸããã ãã®ããã¯ã¯åé€ããããåŸ
æ©ãã¹ã¬ããã®ã¹ããŒã¿ã¹ã¯ããã€ãã«åå²ãããŸããã- åŸ
æ©äžïŒé²è¡äž
- åŸ
æ©äžïŒå®äº
- ä¿çäžïŒãã£ã³ã»ã«æžã¿
ç©çã¡ã¢ãªããŒãžã®å±æ§ã倿Žãããšãã«PFNããã¯ã䜿çšãããŸããã ãã«ãããã»ããµã·ã¹ãã ã§ã¯ãåããã»ããµããã®ããã¯ãžã®ã¢ã¯ã»ã¹ãèŠæ±ãããããå€å€§ãªæéãè²»ãããŸããã - 256åã®è«çããã»ããµãŒã®ãµããŒã
以åã¯ãWindowsã§ã¯ãã·ã³ã¯ãŒããã¢ãã£ããã£ãã¹ã¯ãšããŠäœ¿çšãããŠããŸããã ããã¯ãç¡æã®ããã»ããµãèŠã€ããã®ãéåžžã«ç°¡åã ã£ãããã§ããåãããã¯ããã»ããµã衚ããŸãã ãããã£ãŠã32ãããã·ã¹ãã ã§ã¯32åã®è«çããã»ããµã64ãããã·ã¹ãã ã§ã¯64åã®è«çããã»ããµããµããŒããããŠããŸããã
Windows 7ã§ã¯ãã¢ãã£ããã£ãã¹ã¯ã»ã°ã¡ã³ãã¢ãã«ãžã®ç§»è¡ã®çµæã256åã®è«çããã»ããµã®ãµããŒããå¯èœã«ãªããŸããã ããã»ããµã¯ã°ã«ãŒã/ã»ã°ã¡ã³ãã«ã°ã«ãŒãåããå§ããŸããã åã°ã«ãŒãã«ã¯æå€§64åã®ããã»ããµãå«ããããšãã§ããŸãã ãã®çµæãäžäœäºææ§ãåŸãããå€ãããã°ã©ã ã¯1ã€ã®ã°ã«ãŒãã®ããã»ããµã®ã¿ããèªèãããæ°ããã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããæ°ããããã°ã©ã ã¯ã·ã¹ãã å
ã®ãã¹ãŠã®ããã»ããµã§åäœããŸãã - çãšãã®æ¹åïŒããã»ããµãœã±ããã®ç¡å¹å仿¥ãã©ãããããã®ææè
ã ãã§ãªããããŒã¿ã»ã³ã¿ãŒã®ææè
ã«ãšã£ãŠãçãšãã®æ·±å»ãªåé¡ããããŸãã ç±³åœã§ã¯ãé»åã®2ïŒ
ãã³ã³ãã¥ãŒã¿ãŒããŒã¿ã»ã³ã¿ãŒã§æ¶è²»ãããŠããŸãã ãããã®å€ãã¯ãäœããŠãŒã¶ãŒã¢ã¯ãã£ããã£ïŒé±æ«ïŒã®éããµãŒããŒã®äžéšãã·ã£ããããŠã³ããŸãã
ããã»ããµãœã±ããå
šäœãåæããã»ãããæ°åããšã«1ã³ã¢ãããã¯ããã«æçã§ããããšãããã£ãã ãã®å Žåããœã±ãããµããŒãã€ã³ãã©ã¹ãã©ã¯ãã£å
šäœïŒã¡ã¢ãªã³ã³ãããŒã©ãŒïŒãç¡å¹ã«ã§ããŸãã
Windowsã¡ã³ããã³ã¹ã¢ããããŒã
以åã¯ãæŽæ°ã¯å€ãã®å Žå环ç©çïŒçޝç©çïŒã§ããã ããã¯ã誀ã£ãã³ãŒããã³ã³ããŒãã³ãã®æ©ææŽæ°ã«å«ãŸããŠããå ŽåãåŸã®ããŒãžã§ã³ã«ããã®ã³ãŒããå«ãŸããããšãæå³ããŠããŸããã ãã ãããã¹ãŠã®ãŠãŒã¶ãŒããã¹ãŠã®æŽæ°ãå¿
èŠãšããããã§ã¯ãªããæ§æãç°ãªããŸãã
çŸåšãWindowsã§ã®ãªãªãŒã¹ïŒRTMïŒåŸããœãŒã¹ã³ãŒãã«ã¯2ã€ã®ããŒãžã§ã³ããããŸãã
- RTM GDRïŒäžè¬é
åžãªãªãŒã¹ïŒ
çã®ããã®ãããã®ããã€ãã®å€æŽãå«ãŸããŠããŸãã äž»ã«ã»ãã¥ãªãã£ã®ä¿®æ£ã - RTM LDRïŒéå®é
åžãªãªãŒã¹ïŒ
æŽæ°ããã°ã©ã ã®ã€ã³ã¹ããŒã«äžã«ãWindows Updateã¯ã©ã€ã¢ã³ãã¯å¿
èŠãªãã©ã³ããéžæããããããã³ãŒããã€ã³ã¹ããŒã«ããŸãã
ã»ãã¥ãªãã£æŽæ°ããã°ã©ã ãäœæãã
ã»ãã¥ãªãã£æŽæ°ããã°ã©ã ã®äœæäœæ¥ã¯ãè匱æ§ã®çºèŠããå§ãŸããŸãã å
éšã®ã»ãã¥ãªãã£ããŒã ãã»ãã¥ãªãã£ããŒãããŒãéçºè
ãªã©ãããŸããŸãªæ€åºæ¹æ³ããããŸãã è匱æ§ãçºèŠããããšã2ã€ã®äžŠåããã»ã¹ãéå§ãããŸãã
- ãã¹ãŠã®ãã©ãããã©ãŒã ã®ãããéçº
- ããªãã·ã§ã³ããæ€çŽ¢
ãã¹ãŠã®ãã©ãããã©ãŒã ã§åæ§ã®è匱æ§ãªãã·ã§ã³ã®å€§èŠæš¡ãªæ€çŽ¢ã åäžã®ã³ãŒãã§ã¯ãªããé¡äŒŒã®ã³ãŒããæ€çŽ¢ããŸãã
ãããã®éçºåŸããã®ã³ãŒãã®æ€èšŒãéå§ãããŸãã ããããå®äºãããšãä¿®æ£ãã¢ã»ã³ããªã«çµ±åãããã¢ã»ã³ããªããã¹ãã®ããã«éä¿¡ãããŸãã
- æåããã³èªåã³ã³ããŒãã³ããã¹ã
- ãã¡ã€ã«åœ¢åŒã®æªã¿ããããã¯ãŒã¯ã³ã³ããŒãã³ããªã©ã®èªåãã¹ã ïŒ100äžãè¶
ãããªãã·ã§ã³ïŒ
- äžäœäºææ§ãã¹ããå«ãã·ã¹ãã å
šäœã®ãã¹ã
ãã¹ãŠã®åè³ªåºæºãæºãããããã®ã¿ããWindows Updateããã³ããŠã³ããŒãã»ã³ã¿ãŒã§ã®ãªãªãŒã¹ãèš±å¯ãããŠããŸãã
æåŸãŸã§èªãã§ãããã¿ããªã«æè¬=ïŒ