匷倧ãªããã©ãã³ãšæãçŸããããã©ãã³ãã¡ãïŒ ããããªäººãããã°ãããWindows Embeddedã®ã¹ãŒã©ãHabrã®ç¥æµã®æ¬ã«ãŸã èšé²ãããŠããªãããšãè¿°ã¹ãŸããã 䟡å€ã®ãªã人ã«ããã·ã¢ã®ééäŒç€Ÿã®æœèšã§ç¹å¥ã«é²åŒŸã®Windows®â¢ãã©ã®ããã«æ§ç¯ãããå®è£ ããããã«ã€ããŠã®1ã€ã®æçãªè©±ãèãããŠãã ããã
ã©ãããŠãããªäººçã«ãã©ãçããã®ã
ãã®ãããããæãããã°ã©ãããã®ã¡ãã»ã³ãžã£ãŒããã²ã©ãæ²ãããã¥ãŒã¹ãšãšãã«ãç§ãã¡ã®æ§ãç®ãªã·ã¹ãã ãœãããŠã§ã¢ã®äœãŸãã«å°çããŸããã å®éãåºåŒµäžã®ããã°ã©ããŒã¯è·å Žã§ãœãããŠã§ã¢ãæŽæ°ã§ããŸããã§ããã ããã¯ã·ã£ã€ã¿ã³ãåãå²ã¿ããŠã€ã«ã¹ãããã€ã®æšéŠ¬ããã«ããããŒãããã³åæã§åããŸããïŒç¡å®ã®ãŠãŒã¶ãŒã¯ãããšã¯é¢ä¿ãããŸããã§ããïŒã
ãã®ãœãããŠã§ã¢ã¯ãVC ++ 6 + MFC + WINAPIã§èšè¿°ããããä¿¡å·ã·ã¹ãã ã®èªåã¯ãŒã¯ã¹ããŒã·ã§ã³ã§ãã
ç§ãã¡ã®è³¢ãã«ãªãããã®ãããªãããã€ãåŠã¶ããšã¯ããœãã¡ãšåŒã°ããŸãã ãããŠãè£å€æã®è³¢è ãšã¹ã¿ãŒã²ã€ã¶ãŒã¯èšããŸããïŒ
ã¹ããŒã·ã§ã³ã«ã€ã³ã¿ãŒãããããªãããããŠã€ã«ã¹å¯ŸçãœãããŠã§ã¢ã¯ã€ã³ã¹ããŒã«ãããŸããã§ããïŒã¹ããŒã·ã§ã³ã¯ãã·ã¢å šåã«æ£ãã°ã£ãŠãããæŽæ°ã®ããã«ãªãã©ã€ã³ããŒã¹ã§æ è¡ããããšã¯ã©ãããããããªãã·ã§ã³ã§ã¯ãããŸããïŒã äžéšã®ã¹ããŒã·ã§ã³ã¯ã€ã³ãã©ãããã«ã¢ã¯ã»ã¹ã§ããŸããã€ã³ãã©ãããã«ã¯äŒæ¥ã®ãŠã€ã«ã¹å¯ŸçããããŸããã第äžã«ïŒãŸã£ãããªãã第äºã«ïŒã¢ã³ããŠã€ã«ã¹ãã·ãããã¯ã§å€ããŠè¯ãã§ãã
äžå®ã®æ°ã®ãŠãŒãã£ãªãã£ã䜿çšããåŸããã¹ã¯ãããWindowsãããèä¹ æ§ãšä¿¡é Œæ§ã®é«ãããããwin32äºæã®äœãã§çœ®ãæããããšã«ããŸããã é©åãªãã©ãããã©ãŒã å šäœãããWindows XP EmbeddedãéžæãããŸããã ãã®äžã«ãã§ã«ææããããå®éããã®ãããªã¯ãŒã«ãªã·ã¹ãã ããããŸããã
Windows XP Embeddedã¯ãWindows XP Professional Editionã«åºã¥ãçµã¿èŸŒã¿ã³ã³ããŒãã³ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§ãããç£æ¥çšãªãŒãã¡ãŒã·ã§ã³ã·ã¹ãã ãATMãå»çæ©åšããã£ãã·ã¥ã¬ãžã¹ã¿ãã¹ããããã·ã³ãVoIPã³ã³ããŒãã³ããªã©ãããŸããŸãªçµã¿èŸŒã¿ã·ã¹ãã ã§äœ¿çšããããã«èšèšãããŠããŸããæžã蟌ã¿ä¿è·ãã£ã«ã¿ãŒïŒEWFããã³FBWFïŒããã©ãã·ã¥ã¡ã¢ãªãCD-ROMããããã¯ãŒã¯ããã®èµ·åãç¬èªã®ã·ã¹ãã ã·ã§ã«ã®äœ¿çšãªã©ãè¿œå ã®åã蟌ã¿æ©èœãå«ãŸããŸãã
çŸåšWindows Embedded StandardãšããŠç¥ãããŠããŸãã
ã¹ããã€ãã®çª
Windows Embedded IDEã®çµ±åããŒã«ã§äœãã§ããããèããŸããã
- ãã£ã¹ã¯ãžã®æžã蟌ã¿ãç¡å¹ã«ãã
- ãŠãŒã¶ãŒã¢ã«ãŠã³ãã®æš©å©ãå¶éãã
- AWP以å€ãå®è¡ããæ©èœããŠãŒã¶ãŒãã奪ããã
- æªäœ¿çšã®ããŒããéãã
- å€éšUSBãã©ã€ãã®ããŠã³ããç¡å¹ã«ãã
- ã¯ãŒã¯ã¹ããŒã·ã§ã³ã®çŽæ¥äœæ¥ã«å¿ èŠã§ã¯ãªãã¢ããªã±ãŒã·ã§ã³ããã³ã·ã¹ãã ãœãããŠã§ã¢ãã·ã¹ãã ããé€å€ããïŒã¡ãã£ã¢ãã¬ãŒã€ãŒãOutlook Expressããã€ã³ãããšã¯ã¹ãããŒã©ãŒãªã©ïŒ
ããããããã¯ãã¹ãŠéå±ã§ã·ã³ãã«ã§ãã ãã¹ã¯ã¢ãžã¥ã©ãŒãœãããŠã§ã¢â¢ã®ã¢ã€ãã¢ã«è§ŠçºãããŸãããããã¯ãã¢ããªã±ãŒã·ã§ã³ãã·ã¹ãã ãœãããŠã§ã¢ãããã³æ§æããã¢ãžã¥ãŒã«ãã«åå²ããããšã§æ§æãããŠããŸãã ãã®ã¢ãããŒãã®å©ç¹ïŒ
- ãœãããŠã§ã¢æ§é ãããåçåãããŸã
- ãã䟿å©ãªãœãããŠã§ã¢ããŒãžã§ã³ç®¡çã·ã¹ãã ïŒãã®å¥è·¡ã®èšèããaã³ããŸãããã以äžè¯ãã¢ã€ãã¢ã¯ãããŸããã§ããïŒ
- å±é/ãœãããŠã§ã¢ã®æŽæ°é床ã®åäž-倧ããªãã¡ã€ã«ã¯ãå€ãã®å°ããªãã¡ã€ã«ãããéãæžã蟌ãŸããŸã
- ããšãã°ãã·ã¹ãã ã®æè»æ§ãåäž-ã·ã¹ãã ãœãããŠã§ã¢ïŒOSïŒã¯ãã¢ããªã±ãŒã·ã§ã³ããã°ã©ã ã«åœ±é¿ãäžããã«èªã¿åãå°çšã§ããŠã³ãã§ããŸãã
æãããªãã€ãã¹ã¯ãããŸãããããã¯æããã-玹ä»ããåã¶ã ããããQNââXïŒå ã ã¯ç£æ¥çšã³ã³ãã¥ãŒã¿ãŒçšã«ã¢ãžã¥ã©ãŒã·ã¹ãã ãéçºãããŠããïŒãWindowsã§ã·ã³ãã«ãã€èªç¶ã§ãã£ããšããäºå®ã¯çé çã®å°çã«ãªãããŠããã¯ã¬ãŒã³ã§æž¡ãããšããããã«èŠããŸããã ãã®çµæãå®è£ ãããããšãå€æããŸããããæåã«æåã®ãã®ãå¿ èŠã§ãã
Windowsããªãã³ã°
ã¿ã¹ã¯ããã€ã³ãã§ã©ã®ããã«è§£æ±ºããããïŒ
- ãã£ã¹ã¯ãžã®æžã蟌ã¿ããããã¯ããã«ã¯ãRAMã®ããŒã¿ãããã³ã°ã§EWFã䜿çšããŸã
é«åºŠãªæžã蟌ã¿ãã£ã«ã¿ãŒ-ããŒããã£ã¹ã¯ãžã®æžã蟌ã¿ã¢ã¯ã»ã¹ãã€ã³ã¿ãŒã»ããããèšå®ã«å¿ããŠãããã¡ãªã³ã°ãããã©ã€ããŒïŒ
- ç¹å¥ã«éžæãããé衚瀺ã»ã¯ã·ã§ã³
- RAMå
ãã®å Žåãä¿è·ãããããŒãã£ã·ã§ã³ãžã®å®éã®æžã蟌ã¿ã¯çºçããããŠãŒã¶ãŒã®èŠæ±ïŒããããã³ãããïŒã§ã®ã¿å®è¡ãããŸããMicrosoftãAPIãšæ¢è£œã®ãŠãŒãã£ãªãã£ewfmgrãæäŸããŸãã ãããã¡ãªã³ã°ã«ç¹å¥ãªã»ã¯ã·ã§ã³ã䜿çšããå ŽåãRAMã«ãããã¡ãªã³ã°ããå Žåã§ã¯ãªããããŒã¿ã¯åèµ·åã®éã«ä¿åãããŸãã
- å®çŸ©æžã¿ã®Windowsãã³ãã¬ãŒã-ãéåžžã®ãŠãŒã¶ãŒãããã¢ã«ãŠã³ããäœæããèªåãã°ãªã³ã«å ¥ããŸã
- ã¯ãŒã¯ã¹ããŒã·ã§ã³ãã·ã¹ãã ã·ã§ã«ãšããŠå®è¡ããã·ã§ã«ã¿ã€ãã®ã³ã³ããŒãã³ãïŒã·ã¹ãã ã·ã§ã«ïŒãäœæããŸãã explorer.exeãã·ã¹ãã ããé€å€ããŸãã ç¹ã«å·§åŠãªãŠãŒã¶ãŒã¯ãã¯ãŒã¯ã¹ããŒã·ã§ã³ãŠã£ã³ããŠã®1ã€ã®ãã¡ã€ã«ä¿åãã€ã¢ãã°ãããã£ã¬ã¯ããªæ§é ã衚瀺ã§ããŸããã
- ããã¯ããã°ã©ããŒã«ãšã£ãŠã®åé¡ã§ãïŒheheïŒ
- ã¬ã³ãŒããšå¶éä»ãã¢ã«ãŠã³ãã®ãã£ã«ã¿ãªã³ã°ãå¿ããªãã§ãã ãã
- ãªããªã ç§ã¯VBã®WHSæ¹èšã®å€§ãã¡ã³ã§ã¯ãªãã®ã§ã netsh.exeãã¡ã€ã¢ãŠã©ãŒã«ãåŒã£åŒµãããããã¡ã€ã«ã䜿çšããŸãã
- è¿œå ã®ã³ã³ããŒãã³ãã§ãããè¡ããŸãã-éèŠãªã³ã³ããŒãã³ãïŒã€ãŸããããŒããŠã§ã¢ã®äŸåé¢ä¿ã«å¿ããŠèªåçã«è¿œå ãããã³ã³ããŒãã³ã+ã¯ãŒã¯ã¹ããŒã·ã§ã³äœæ¥ã«å¿ èŠãªã€ã³ãã©ã¹ãã©ã¯ãã£ïŒã®ã¿ãå«ãXP Embeddedãããžã§ã¯ããäœæããŸãã
- å€éšUSBãã©ã€ãã®åæã¯ébarãªæ¹æ³ã§å®è¡ãããŸãããã€ãŸããUSBãã©ã€ãã®ãã©ã€ããŒãšæ°ããæ©åšã®ã€ã³ã¹ããŒã«ãŠã£ã¶ãŒãã¯ã·ã¹ãã ã€ã¡ãŒãžããé€å€ãããæªç¥ã®PnPããã€ã¹ãæ¥ç¶ããããšãã«ã¬ãžã¹ããªããŒãä»ããŠæ°ããæ©åšãŠã£ã¶ãŒãã®è¡šç€ºãç¡å¹ã«ãªããŸãã
PnPããã€ã¹ãç¡å¹ã«ããåé¡ã¯ããã€ãã® æ¹æ³ã§è§£æ±ºã§ããŸã ïŒãŸãdevconããããŸã ïŒããããã¯ãã®ã°ããŒãã«ãªæ§è³ªãã€ãŸã åæã«ãä»ã®äžæ£ãªåšèŸºæ©åšã¯USBãã©ã€ãã§ç¡å¹ã«ãªããŸãããUSBããŠã¹/ããŒããŒãã亀æããããšã¯å¯èœã§ãïŒãã©ã€ããŒã¯ã·ã¹ãã ã«ãããããžã¿ã«çœ²åãå«ãŸããŠããããããã®ãããªãã©ã€ããŒã¯èªåçã«ã€ã³ã¹ããŒã«ãããŸãïŒ
ç»åãããŠã³ããã
Windowsã«ã€ã¡ãŒãžãããŠã³ãããããã®ãœãããŠã§ã¢ãèŠã€ããã®ã¯é·ãèŠçã§ããã RAMãã©ã€ãã®å®è£ ã®ã¿ãç»å ŽããŸãããããã¯ç¢ºãã«ã¯ãŒã«ã§ãããããã§ã¯ãããŸããã vhdãã¡ã€ã«ãããŠã³ããããŠãŒãã£ãªãã£ãWindows Virtual Serverãã³ãã«ã«å«ãŸããŠããããšãæãåºããŸããããWinXPã«è¿œå ããæ¹æ³ãšããããåæ³ãã©ãããéãããšãã§ããŸããã§ããã äžçŽã®ãããžã§ã¯ãã¯ã»ãŒé ã®æµåã§èŠãããŠããŸããããGoogleã§åªãããã¡ã€ã«ãã£ã¹ã¯ãžã®ãªã³ã¯ãçªç¶çŸãããšããã©ãããã°è¡ãæžãããŠèªåã®ãã©ã€ããŒãéçºããªãããã«ããã®ããšæã£ãŠããŸããã ãã¹ãŠã®ç¹ã§æ©èœããŸã-ã€ã¡ãŒãžãè«çãã£ã¹ã¯ãšããŠããŠã³ãã§ããŸãïŒã¡ãã£ã¢ããšãã¥ã¬ãŒãããæ¹æ³ã¯ããããŸããããå¿ é ã§ã¯ãããŸããã§ããïŒããã©ã€ããŒãšããŠäœæãããXP Embeddedããããžã§ã¯ãã«ç°¡åã«è¿œå ã§ããŸããããã«ãã£ã¹ã¯ã管çããããã®ã³ã³ãœãŒã«ãŠãŒãã£ãªãã£ãå«ãŸããŠããŸãèµ·åã¹ã¯ãªããã§äœ¿çšããããã«å¿ èŠã§ãã äžè¬çã«-çŸããŒã»ã³ããããã
ãã©ã€ããŒã¯ã€ã³ã¹ããŒã«ãããŠããŸãããã€ã¡ãŒãžèªäœã¯ã©ãã§å ¥æã§ããŸããïŒ Windowsã§ã¯ddã䜿çšããvirtual / dev / nullããå¿ èŠãªãµã€ãºã®ç»åãäœæããŸãã ãã¡ã€ã«ãã£ã¹ã¯ã䜿çšããŠããããæ¥ç¶ããFSã®ãªãè«çãã£ã¹ã¯ãåç §ãããããã«NTFSãäœæããã³ã³ãã³ãããããã«æžã蟌ã¿ãŸãã
ã€ã¡ãŒãžã®1ã€ã«ããã°ãªã³åŸã«å®è¡ããã¹ã¿ãŒãã¢ããã¹ã¯ãªãããé 眮ããããã€ãã®èšå®ïŒæ§æãã¡ã€ã«ããã®IPã¢ãã¬ã¹ãç»é¢è§£å床ãªã©ã®èšå®ïŒãè¡ããŸãã ãã°ãªã³æãŸã§ã«ãã€ã¡ãŒãžãæ¢ã«ããŠã³ããããŠããããšã¯æããã§ãã ãããŠãããã§ç§ã¯ããããã®ãªãã·ã§ã³ãè©ŠããŠã¿ãŸãã-Schtasks ãããã¯ãã°ãªã³ã§ã¿ã¹ã¯ãå®è¡ããããšãã§ããŸãïŒããããããã¯ã©ããããããåžžã«åäœããŸããã§ããïŒã¢ããªã±ãŒã·ã§ã³ãœãããŠã§ã¢ïŒãªãã·ã§ã³ãšããŠãã¿ã¹ã¯ãã¹ã¯ãªãããããµãŒãã¹ã«è»¢éããããšã¯å¯èœã§ããããã®éã®ãªãC ++ãããã¹ã¯ãªããã®æ¹ãäœãšãªããããã§ãïŒã ãã®çµæãéåãã¡ãŒã -AutoExNtã¯ãã°ãªã³ã®åã«ããŠã³ããå®è¡ããã·ã¹ãã æ§æã¿ã¹ã¯ã¯ç®¡çè ã«ä»£ãã£ãŠæå·åãããcpauã¿ã¹ã¯ã䜿çšããŠå®è¡ãããŸãïŒèªåãã°ãªã³ã¯éåžžã®ãŠãŒã¶ãŒã¢ã«ãŠã³ãã§çºçããããïŒã ããã¯å®å®ããŠåäœããæåã®ãªãã·ã§ã³ã§ãããããã®æãŸã§ã«ãããã°ãè¡ããšéåžžã«ã²ã©ããªããã¡ãœããã®ãããããããŠãã®ãŸãŸã«ããŸããã
ããã«ã圌ã¯å°ããªã·ã³ãã«ãªã¹ã¿ãŒãã¢ãããŠãŒãã£ãªãã£ãéçºããŸããã Explorer Shellã¯ãããžã§ã¯ãããé€å€ãããã¬ãžã¹ããªã®äœæè ã®ããŒã¯èª°ãåŠçããªãã£ããããéå§æã«ããã°ã©ã ãå®è¡ããå¿ èŠããããŸããã
ããã§ãWindowsã·ã¹ãã ãœãããŠã§ã¢ã«å¯Ÿããç§ã®èŠçã¯åºæ¬çã«çµäºããŸããããã®ãã¹ãŠã®ãããããã¿ãŒã²ãããã·ã³ã«ã©ã®ããã«ã€ã³ã¹ããŒã«ãããããèããæãæ¥ãŸããã
å±é
Windows XP Embeddedã«ã¯ãéåžžã®Windows XPãšã¯ç°ãªãããã©ã€ããããŒãã£ã·ã§ã³åå²ããã³ãã©ãŒãããããããã®ããŒã«ãå«ãŸããŠããŸããã ã€ãŸã XPeã®ã€ã³ã¹ããŒã«ã§ã¯ããããžã§ã¯ããã£ã¬ã¯ããªæ§é ãFAT32 / NTFSã§ãã©ãŒããããããã¢ã¯ãã£ããšããŠããŒã¯ãããããŒãã£ã·ã§ã³ã®ã«ãŒãã«ã³ããŒããŸãïŒããŒããã©ã°ãèšå®ãããŸãïŒã XPeããã±ãŒãžã«ã¯ãããŒãã£ã·ã§ã³ã«å¿ èŠãªããŒã«ãå«ãWinPEãã£ã¹ã¯ãå«ãŸããŠããŸããããã®ãã£ã¹ã¯ã®äœ¿çšã·ããªãªã¯ããªããããŸãã§ãïŒããšãã°ããªã«ããªãã£ã¹ã¯ãšããŠäœ¿çšããããšã¯ã§ããŸããïŒã ãŠãŒã¶ãŒã«å¯Ÿãããã®ãããªæžå¿µãè³è³ããŠãMicrosoft補åãããã£ãŠXPeãå±éããªãããšã«ããŸããïŒç¡æã®Windows AIKãããããã§ãããMicrosoft補åã®ã©ã€ã»ã³ã¹å¶éãææ¡ããããšãã以åã®çµéšãããåŽã§äœããæ¢ãããšã«ããŸããïŒã
GNU / Linuxã§éãè©ŠããŠã¿ãããšã«ããŸããã ntfs-3gãã©ã€ããŒã¯ããªãé·ãéå®å®ããŠãããããèªäœã§åäœããŠããŸããïŒãšããã§ãããªãå¥åŠãªå Žæã§-Realtekã«ãããšããã«ãã¡ãã£ã¢ãã©ãããã©ãŒã çšã®SDKã§ã¯ãå€éšãã©ã€ãã®ããã©ã«ããã¡ã€ã«ã·ã¹ãã ãšããŠäœ¿çšãããŠããŸãïŒã Ubuntu LTS Live-CDãåããããŽãšUbuntuã®èšåãåé€ãïŒCanonicalã¯ã·ã¹ãã ã®å€§å¹ ãªå€æŽã®ããã«ãã®ãããªèŠä»¶ãæå±ããŠããããïŒãã«ã¹ã¿ãã€ãºãéå§ããŸããã é åžã®éžæã¯ãå人ã®å¥œã¿ã«ãã£ãŠæ±ºå®ãããŸããã
ãããã€ã¡ã³ãç°å¢ã®æåã®ããŒãžã§ã³ã¯ãzenityã䜿çšããŠãŠãŒã¶ãŒãšéä¿¡ããbashã¹ã¯ãªããã§ããã ã·ã³ãã«ã§äžåã UIã®é¢ã§ååã«ç¥æ§ããªããšããŠæåŠãããŸããã
2çªç®ã®ããŒãžã§ã³ã¯MonoïŒCïŒ-äŒæ¥æšæºïŒã§èšè¿°ãããŠãããGTKã®ã°ã©ãã£ãã¯èŠçŽ ã®ã»ãšãã©ãã¹ãŠãå«ãŸããŠããŸããã é«çåŒåå£ã¯ãUIããŸã ååã«ç¥èã§ã¯ãªããããŸã å®è¡å¯èœã§ãããšææããã
ã€ã³ã¹ããŒã«æé èªäœã¯ãå€éšãŠãŒãã£ãªãã£ã®åŒã³åºãã§æ§æãããŠããŸãããããŒã¯ã¢ãããntfsprogsããã±ãŒãžã®mkfs.ntfsïŒntfstoolsïŒããFSãäœæããrsyncã§ã€ã³ã¹ããŒã«ã¡ãã£ã¢ããããŒã¿ãã³ããŒããŸãã
次ã«ãåèµ·åããWindows Embeddedã®å±éã«çŽæ¥é²ã¿ãŸãã
ãããã«
çŸåšãWindows XP EmbeddedïŒWindows Embedded Standard 2009ïŒã¯é¢é£æ§ãæ¥éã«å€±ãã€ã€ãããŸãïŒãµããŒãã¯2015幎ãŸã§ç¶ç¶ããŸãïŒ-Windows Embedded 7ã«çœ®ãæããããŸãããWindowsEmbedded 7ã¯XPeãããã¯ããã«äŸ¿å©ã§ãããç§ã®ååã¯ããã䜿çšããŠéçºããŠããŸã圌ã¯èªåã®çµéšãïŒã§ããã°åœŒã«ïŒèª¬æããŸããã ãã®æªããã³ãã®ã³ã¬ã¯ã·ã§ã³ã§èª°ãã圹ã«ç«ã€ãã®ãèŠã€ããŠãããããšãé¡ã£ãŠããŸãã
çµè«ãšããŠãWindows Embeddedã«åœ¹ç«ã€ãªãœãŒã¹ãããã€ã玹ä»ããŸãã
- ãŸããããã¯ãã¡ããMSDNã®ããŒãã»ã¯ã·ã§ã³ã§ã
- ãã·ã¢ã®Windows Embeddedã®å ¬åŒãµãã©ã€ã€ã§ããäŒç€ŸãQuartãã®ãã·ã¢èªãã©ãŒã©ã ã ããããWindows Embeddedã§å¯äžã®äž»èŠãªãã·ã¢èªã®ãªãœãŒã¹ã§ãã
- ãŠãŒã¶ãŒã¹ã¯ãªãããšã³ã³ããŒãã³ãxpefiles.comã®åªãããªããžããªããããŸããããäœãæªãããšãèµ·ãããŸããã