ã³ã³ãã¥ãŒã¿ãŒã®é»æºãå ¥ããåŸã®åäœãšã·ã¹ãã ã®èµ·åæ¹æ³ã«ã€ããŠèª¬æããŸãã å®éã®äŸãšããŠãå®éã«ã·ã¹ãã ãèµ·åããããã®éå§ç¹ã§ãããç¬èªã®ããŒãããŒããŒã®äœææ¹æ³ãæ€èšããŠãã ããã
ããŒãããŒããŒãšã¯äœã§ããïŒ
ããŒãããŒããŒã¯ãããŒããã©ã€ãã®æåã®ã»ã¯ã¿ãŒã«èšé²ãããããã°ã©ã ã§ãã BIOSã¯ãé»æºããªã³ã«ããçŽåŸã«ãæåã®ã»ã¯ã¿ãŒã®ãã¹ãŠã®å 容ãèªåçã«ã¡ã¢ãªã«èªã¿èŸŒã¿ãŸãã æåã®ã»ã¯ã¿ãŒã¯ããã¹ã¿ãŒããŒãã¬ã³ãŒããšãåŒã°ããŸãã å®éãããŒããã©ã€ãã®æåã®ã»ã¯ã¿ãŒã§äœããããŒãããå¿ èŠã¯ãããŸããã éçºè ããã®ãããªã¡ã«ããºã ã䜿çšããŠãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ãããŒãããããããã®ååã¯æŽå²çã«ç¢ºç«ãããŸããã
ããæ·±ãæœãæºåããã
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãç¬èªã®ããŒãããŒããŒãéçºããããã«å¿ èŠãªç¥èãšããŒã«ãããã³ã·ã¹ãã ã®ããŒãã«é¢ããæçšãªæ å ±ã«ã€ããŠèª¬æããŸãã
ããŒãããŒããŒãäœæããã«ã¯ãã©ã®èšèªãç¥ã£ãŠããå¿ èŠããããŸãã
ãŸã第äžã«ãã³ã³ãã¥ãŒã¿ãŒã®å®è¡äžãããŒããŠã§ã¢å¶åŸ¡ã¯äž»ã«ãå²ã蟌ã¿ããšããŠç¥ãããBIOSæ©èœãéããŠå®è¡ãããŸãã ã¢ã»ã³ãã©ãŒã§äžæãåŒãèµ·ããããšãã§ããã ãã§ã-ãã®èšèªã«å°ãªããšãå°ã粟éããŠããã°çŽ æŽãããã§ãããã ããããããã¯åææ¡ä»¶ã§ã¯ãããŸããã ãªãã§ïŒ ãæ··åã³ãŒãããã¯ãããžãŒã䜿çšããŠãé«ã¬ãã«ã®èšèšãšäœã¬ãã«ã®ããŒã ãçµã¿åãããããšãã§ããŸãã ããã¯ã¿ã¹ã¯ãå€§å¹ ã«åçŽåãããã®ã§ã¯ãããŸããã
ãã®èšäºã§ã¯ãäž»ã«C ++èšèªã䜿çšããŸãã ããããCãç¥ã£ãŠããã°ãå¿ èŠãªC ++èŠçŽ ãç°¡åã«åŠã¶ããšãã§ããŸãã äžè¬ã«ãCèšèªã®ç¥èããããã°ååã§ãããäŸã®ãœãŒã¹ã³ãŒããå€æŽããå¿ èŠããããŸãã
JavaãŸãã¯CïŒãç¥ã£ãŠããå Žåãæ®å¿µãªããããã¯ã¿ã¹ã¯ã«åœ¹ç«ã¡ãŸããã å®éã«ã¯ãã³ã³ãã€ã«åŸã«çæãããJavaããã³CïŒã³ãŒãã¯äžéã§ãã ç¹å¥ãªä»®æ³ãã·ã³ããããªãåŠçã«äœ¿çšããïŒJavaã®å Žåã¯Javaãã·ã³ãCïŒã®å Žåã¯.NETïŒãäžéã³ãŒããããã»ããµãŒã®åœä»€ã«å€æããŸãã å€æåŸãå®è¡ã§ããŸãã ãã®ãããªã¢ãŒããã¯ãã£ã«ãããæ··åã³ãŒããã¯ãããžãŒã®äœ¿çšã¯äžå¯èœã«ãªããŸãããããã䜿çšããŠç掻ã楜ã«ãããããJavaãšCïŒã¯ããã§ã¯åœ¹ã«ç«ã¡ãŸããã
ãããã£ãŠãåçŽãªããŒããŒãéçºããã«ã¯ãCãŸãã¯C ++ãç¥ã£ãŠããå¿ èŠããããŸãããŸããå°ãã¢ã»ã³ãã©ãŒãç¥ã£ãŠãããšäŸ¿å©ã§ãã
ã©ã®ã³ã³ãã€ã©ãå¿ èŠã§ãã
æ··åã³ãŒããã¯ãããžã䜿çšããã«ã¯ãå°ãªããšã2ã€ã®ã³ã³ãã€ã©ãå¿ èŠã§ããã¢ã»ã³ãã©ãšC / C ++ãããã³ãªããžã§ã¯ããã¡ã€ã«ïŒ.objïŒã1ã€ã®å®è¡å¯èœãã¡ã€ã«ã«çµåãããªã³ã«çšã§ãã
ããã§ã¯ãããã€ãã®ç¹å¥ãªãã€ã³ãã«ã€ããŠè©±ããŸãããã ããã»ããµãŒæäœã«ã¯ãå®ã¢ãŒããšä¿è·ã¢ãŒãã®2ã€ã®ã¢ãŒãããããŸãã ãªã¢ã«ã¢ãŒãã¯16ãããã§ãããããã€ãã®å¶éããããŸãã ä¿è·ã¢ãŒãã¯32ãããã§ããããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«ãã£ãŠå®å šã«äœ¿çšãããŸãã ã³ã³ãã¥ãŒã¿ãèµ·åããã°ããã®ãšããããã»ããµã¯16ãããã¢ãŒãã§å®è¡ãããŸãã ãããã£ãŠãããã°ã©ã ãäœæããŠå®è¡å¯èœãã¡ã€ã«ãååŸããã«ã¯ã16ãããã¢ãŒãã®ã¢ã»ã³ãã©ãŒçšã®ã³ã³ãã€ã©ãŒãšãªã³ã«ãŒãå¿ èŠã§ãã C / C ++ã®å Žåã16ãããã¢ãŒãã®ãªããžã§ã¯ããã¡ã€ã«ãäœæã§ããã³ã³ãã€ã©ã®ã¿ãå¿ èŠã§ãã
ææ°ã®ã³ã³ãã€ã©ã¯32ãããã¢ããªã±ãŒã·ã§ã³çšã«äœæãããŠããããã䜿çšã§ããŸããã
16ãããã¢ãŒãçšã®ç¡æã®åçšã³ã³ãã€ã©ãããã€ãè©ŠããMicrosoftã®è£œåãéžæããŸããã ã³ã³ãã€ã©ãŒãšã¢ã»ã³ãã©ãŒçšã®ã¢ã»ã³ãã©ãŒãCããã³C ++ã¯ãMicrosoft Visual Studio 1.52ã«å«ãŸããŠãããäŒç€Ÿã®å ¬åŒWebãµã€ãããããŠã³ããŒãã§ããŸãã å¿ èŠãªã³ã³ãã€ã©ã«é¢ãã詳现ã以äžã«ç€ºããŸãã
ML 6.15ã¯ã16ãããã¢ãŒãçšã®Microsoftã®ã¢ã»ã³ãã©ã³ã³ãã€ã©ã§ãã
LINK 5.16ã¯ã16ãããã¢ãŒãçšã®COMãã¡ã€ã«ãäœæã§ãããªã³ã«ãŒã§ãã
CL -16ãããã¢ãŒãçšã®CãC ++ã³ã³ãã€ã©ã
ããã€ãã®ä»£æ¿ãªãã·ã§ã³ã䜿çšããããšãã§ããŸãã
DMCã¯ã16ãããããã³32ãããã®ããžã¿ã«ç«æã¢ãŒãçšã®ã¢ã»ã³ãã©ãCãC ++ãã³ã³ãã€ã«ããããã®ç¡æã®ã³ã³ãã€ã©ã§ãã
LINKã¯ãDMCã³ã³ãã€ã©çšã®ç¡æã®ãªã³ã«ã§ãã
ããŒã©ã³ãã®è£œåãããã€ããããŸãã
BCC 3.5-16ãããã¢ãŒãã®ãã¡ã€ã«ãäœæã§ããCãC ++ã³ã³ãã€ã©ã
TASMã¯ã16ãããã¢ãŒãçšã®ã¢ã»ã³ãã©ã³ã³ãã€ã©ã§ãã
TLINKã¯ã16ãããã¢ãŒãçšã®COMãã¡ã€ã«ãäœæã§ãããªã³ã«ãŒã§ãã
ãã®èšäºã®ãã¹ãŠã®ã³ãŒãäŸã¯ãMicrosoftã®ããŒã«ã䜿çšããŠéçºãããŸããã
ã·ã¹ãã ã®èµ·åæ¹æ³
åé¡ã解決ããããã«ãã·ã¹ãã ã®ããŒãæ¹æ³ãèŠããŠããå¿ èŠããããŸãã
ã·ã¹ãã ã®èµ·åæã«ã·ã¹ãã ã®ã³ã³ããŒãã³ããã©ã®ããã«çžäºäœçšããããç°¡åã«èããŠã¿ãŸãããã
ã³ã³ãããŒã«ãã¢ãã¬ã¹0000ïŒ7C00ã«è»¢éãããåŸããã¹ã¿ãŒããŒãã¬ã³ãŒãïŒMBRïŒã¯äœæ¥ãéå§ãããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã®èªã¿èŸŒã¿ãéå§ããŸãã
ã³ãŒãã£ã³ã°ã«ç§»ããŸããã
次ã®ã»ã¯ã·ã§ã³ã§ã¯ãäœã¬ãã«ã®ããã°ã©ãã³ã°ã«çŽæ¥é¢äžããŸã-ç¬èªã®ããŒãããŒããŒãäœæããŸãã
ããã°ã©ã ã¢ãŒããã¯ãã£
ç§ãã¡ã¯èªåçšã®ããŒãããŒããŒãéçºããŠããŸãã ãã®ã¿ã¹ã¯ã¯æ¬¡ã®ãšããã§ãã
- ã¢ãã¬ã¹0000ã®ã¡ã¢ãªãžã®æ£ããããŒãïŒ7 C00ã
- é«æ°Žæºèšèªã§äœæããé¢æ°ã®BootMainãåŒã³åºããŸãã
- ãHelloãworld ...ããšãããã¬ãŒãºãäœã¬ãã«ãã衚瀺ããŸãã
ããã°ã©ã ã®ã¢ãŒããã¯ãã£ã
æåã®ãªããžã§ã¯ãã¯StartPointã§ãããããã¯ã¢ã»ã³ãã©ãŒå°çšã«èšè¿°ãããŠããŸããé«æ°Žæºèšèªã«ã¯å¿ èŠãªåœä»€ããªãããã§ãã ããã«ãããã³ã³ãã€ã©ã«äœ¿çšããã¡ã¢ãªã®çš®é¡ãšãèªã¿åãåŸã«å®è¡ããå¿ èŠãããRAMå ã®åœä»€ã®ã¢ãã¬ã¹ãéç¥ãããŸãã ãŸããããã»ããµã®ã¬ãžã¹ã¿ãä¿®æ£ããé«ã¬ãã«èšèªã§èšè¿°ãããBootMainé¢æ°ã«å¶åŸ¡ãæž¡ããŸãã
次ã®ãªããžã§ã¯ãã§ããBootMainã¯mainã®é¡äŒŒç©ã§ãããããã¯ãã¹ãŠã®ããã°ã©ã æ©èœãéäžããã¡ã€ã³æ©èœã§ãã
CDisplayããã³CStringã¯ã©ã¹ã¯ãããã°ã©ã ã®æ©èœéšåãåŠçããç»é¢ã«ã¡ãã»ãŒãžã衚瀺ããŸãã åã®å³ã§ãããããã«ãCDisplayã¯ã©ã¹ã¯ãã®äœæ¥ã§CStringã¯ã©ã¹ã䜿çšããŸãã
éçºç°å¢
ããã§ã¯ãMicrosoft Visual Studio 2005ãŸãã¯2008ã®æšæºéçºç°å¢ã䜿çšããŸããä»ã®ããŒã«ã䜿çšã§ããŸãããããã2ã€ã®ããŒã«ã¯ãããã€ãã®èšå®ãããã°ãç°¡åãã€äŸ¿å©ã«ã³ã³ãã€ã«ããŠåäœããŸãã
ãŸããäž»ãªäœæ¥ãè¡ãMakefileãããžã§ã¯ããäœæããå¿ èŠããããŸãã
ãã¡ã€ã«->æ°èŠ\ãããžã§ã¯ã->äžè¬\ã¡ã€ã¯ãã¡ã€ã«ãããžã§ã¯ã
BIOSå²ã蟌ã¿ãšã¹ã¯ãªãŒã³ã¯ãªãŒãã³ã°
ç»é¢ã«ã¡ãã»ãŒãžã衚瀺ããã«ã¯ãæåã«ã¡ãã»ãŒãžãã¯ãªã¢ããå¿ èŠããããŸãã ãã®ç®çã®ããã«ç¹å¥ãªBIOSå²ã蟌ã¿ã䜿çšããŸãã
BIOSã¯ããããªã«ãŒããããŒããŒããã·ã¹ãã ãã£ã¹ã¯ãªã©ã®ããŒããŠã§ã¢ãæäœããããã®å€æ°ã®å²ã蟌ã¿ãæäŸããŸãã åå²ã蟌ã¿ã®æ§é ã¯æ¬¡ã®ãšããã§ãã
int [number_of_interrupt];
ããã§ããnumber_of_interruptãã¯å²ã蟌ã¿çªå·ã§ãã
åå²ã蟌ã¿ã«ã¯ãåŒã³åºãããåã«èšå®ããå¿ èŠãããããã€ãã®ãã©ã¡ãŒã¿ãŒããããŸãã ããã»ããµã®ã¬ãžã¹ã¿ã¯ahã§ãããåžžã«çŸåšã®å²ã蟌ã¿ã®æ©èœã®æ°ãæ åœããŸããéåžžãä»ã®ã¬ãžã¹ã¿ã¯çŸåšã®æäœã®ä»ã®ãã©ã¡ãŒã¿ã«äœ¿çšãããŸãã ã¢ã»ã³ãã©ã§å²ã蟌ã¿çªå·10hãã©ã®ããã«æ©èœããããèŠãŠã¿ãŸãããã 00é¢æ°ã䜿çšããŠããããªã¢ãŒããå€æŽããç»é¢ãã¯ãªã¢ããŸãã
mov al, 02h; 80x25 () mov ah, 00h; int 10h;
ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããå²ã蟌ã¿ãšæ©èœã®ã¿ãèæ ®ããŸãã å¿ èŠãªãã®ïŒ
int 10h, function 00h â ; int 10h, function 01h â ; int 10h, function 13h â ;
ãæ··åã³ãŒãã
C ++ã³ã³ãã€ã©ã¯çµã¿èŸŒã¿ã¢ã»ã³ãã©ããµããŒãããŠããŸããã€ãŸããé«ã¬ãã«èšèªã§ã³ãŒããèšè¿°ããå Žåãäœã¬ãã«èšèªã䜿çšããããšãã§ããŸãã é«ã¬ãã«ã§äœ¿çšãããã¢ã»ã³ãã©ãŒåœä»€ã¯ãasmæ¿å ¥ãšãåŒã°ããŸãã ãããã¯ãããŒã¯ãŒãã__asmããšã¢ã»ã³ãã©ãŒåœä»€ã®ãããã¯ã§æ§æãããŠããŸãã
__asm ; , ASM { ; ⊠; } ;
æ··åã³ãŒãã®äŸã瀺ãããã«ãã¹ã¯ãªãŒã³ã¯ãªãŒãã³ã°ãå®è¡ãããããC ++ã§èšè¿°ãããã³ãŒããšçµã¿åããããåè¿°ã®ã¢ã»ã³ãã©ã³ãŒãã䜿çšããŸãã
void ClearScreen() { __asm { mov al, 02h; 80x25 () mov ah, 00h; int 10h; } }
Cstringã®å®è£
CStringã¯ã©ã¹ã¯ãæååãåŠçããããã«èšèšãããŠããŸãã StrlenïŒïŒã¡ãœãããå«ãŸããŠããŸãããã®ã¡ãœããã¯ãæååãžã®ãã€ã³ã¿ãŒããã©ã¡ãŒã¿ãŒãšããŠåãåãããã®æååã®æåæ°ãè¿ããŸãã
CDisplayã¯ã©ã¹ã¯ãç»é¢ã§åäœããããã«èšèšãããŠããŸãã ããã€ãã®ã¡ãœãããå«ãŸããŠããŸãã
- TextOutïŒïŒ-ç»é¢ã«è¡ã衚瀺ããŸãã
- ShowCursorïŒïŒ-ç»é¢äžã®è¡šç€ºã«ãŒãœã«ãå¶åŸ¡ããŸãïŒè¡šç€ºãé衚瀺ã
- ClearScreenïŒïŒ-ãããªã¢ãŒããå€æŽããç»é¢ãã¯ãªã¢ããŸãã
// CString.h #ifndef __CSTRING__ #define __CSTRING__ #include "Types.h" class CString { public: static byte Strlen(const char far* inStrSource); }; #endif // __CSTRING__ // CString.cpp #include "CString.h" byte CString::Strlen(const char far* inStrSource) { byte lenghtOfString = 0; while(*inStrSource++ != '\0') { ++lenghtOfString; } return lenghtOfString; }
CDisplay-å®è£
// CDisplay.h #ifndef __CDISPLAY__ #define __CDISPLAY__ // // colors for TextOut func // #define BLACK 0x0 #define BLUE 0x1 #define GREEN 0x2 #define CYAN 0x3 #define RED 0x4 #define MAGENTA 0x5 #define BROWN 0x6 #define GREY 0x7 #define DARK_GREY 0x8 #define LIGHT_BLUE 0x9 #define LIGHT_GREEN 0xA #define LIGHT_CYAN 0xB #define LIGHT_RED 0xC #define LIGHT_MAGENTA 0xD #define LIGHT_BROWN 0xE #define WHITE 0xF #include "Types.h" #include "CString.h" class CDisplay { public: static void ClearScreen(); static void TextOut( const char far* inStrSource, byte inX = 0, byte inY = 0, byte inBackgroundColor = BLACK, byte inTextColor = WHITE, bool inUpdateCursor = false ); static void ShowCursor( bool inMode ); }; #endif // __CDISPLAY__ // CDisplay.cpp #include "CDisplay.h" void CDisplay::TextOut( const char far* inStrSource, byte inX, byte inY, byte inBackgroundColor, byte inTextColor, bool inUpdateCursor ) { byte textAttribute = ((inTextColor) | (inBackgroundColor << 4)); byte lengthOfString = CString::Strlen(inStrSource); __asm { push bp mov al, inUpdateCursor xor bh, bh mov bl, textAttribute xor cx, cx mov cl, lengthOfString mov dh, inY mov dl, inX mov es, word ptr[inStrSource + 2] mov bp, word ptr[inStrSource] mov ah, 13h int 10h pop bp } } void CDisplay::ClearScreen() { __asm { mov al, 02h mov ah, 00h int 10h } } void CDisplay::ShowCursor( bool inMode ) { byte flag = inMode ? 0 : 0x32; __asm { mov ch, flag mov cl, 0Ah mov ah, 01h int 10h } }
Types.h-å®è£
Types.hã¯ãããŒã¿åãšãã¯ãå®çŸ©ãå«ãããããŒãã¡ã€ã«ã§ãã
// Types.h #ifndef __TYPES__ #define __TYPES__ typedef unsigned char byte; typedef unsigned short word; typedef unsigned long dword; typedef char bool; #define true 0x1 #define false 0x0 #endif // __TYPES__
BootMain.cpp-å®è£
BootMainïŒïŒã¯ããã°ã©ã ã®ã¡ã€ã³é¢æ°ã§ãããæåã®ãšã³ããªãã€ã³ãã§ãïŒmainïŒïŒã«é¡äŒŒïŒã äž»ãªäœæ¥ã¯ããã§è¡ãããŸãã
// BootMain.cpp #include "CDisplay.h" #define HELLO_STR "\"Hello, worldâŠ\", from low-level..." extern "C" void BootMain() { CDisplay::ClearScreen(); CDisplay::ShowCursor(false); CDisplay::TextOut( HELLO_STR, 0, 0, BLACK, WHITE, false ); return; }
StartPoint.asm-å®è£
;------------------------------------------------------------ .286 ; CPU type ;------------------------------------------------------------ .model TINY ; memory of model ;---------------------- EXTERNS ----------------------------- extrn _BootMain:near ; prototype of C func ;------------------------------------------------------------ ;------------------------------------------------------------ .code org 07c00h ; for BootSector main: jmp short start ; go to main nop ;----------------------- CODE SEGMENT ----------------------- start: cli mov ax,cs ; Setup segment registers mov ds,ax ; Make DS correct mov es,ax ; Make ES correct mov ss,ax ; Make SS correct mov bp,7c00h mov sp,7c00h ; Setup a stack sti ; start the program call _BootMain ret END main ; End of program
å šéšãŸãšããŸããã
COMãââã¡ã€ã«ãäœæãã
ã³ãŒããéçºãããã®ã§ã16ãããOSã®ãã¡ã€ã«ã«å€æããå¿ èŠããããŸãã ãã®ãããªãã¡ã€ã«ã¯.COMãã¡ã€ã«ã§ãã ã³ãã³ãã©ã€ã³ããã³ã³ãã€ã©ãŒãèµ·åããå¿ èŠãªãã©ã¡ãŒã¿ãŒãæž¡ããŠãããã€ãã®ãªããžã§ã¯ããã¡ã€ã«ãååŸã§ããŸãã 次ã«ããªã³ã«ãŒãå®è¡ããŠããã¹ãŠã®.COMãã¡ã€ã«ãæ¡åŒµåä»ãã®1ã€ã®å®è¡å¯èœãã¡ã€ã«ã«å€æããŸãã ã³ã ãã®äœæ¥ã¯æèœãªãªãã·ã§ã³ã§ãããããã»ã©ç°¡åã§ã¯ãããŸããã
ãã®ããã»ã¹ãããèªååããŸãããã ãããè¡ãã«ã¯ã.batãã¡ã€ã«ãäœæããå¿ èŠãªãã©ã¡ãŒã¿ãŒãšãšãã«å¿ èŠãªã³ãã³ããæžã蟌ãå¿ èŠããããŸãã
ã³ã³ãã€ã©ãšãªã³ã«ãŒããããžã§ã¯ããã£ã¬ã¯ããªã«é 眮ããŸãã åããã£ã¬ã¯ããªã«ãäŸã«åŸã£ãŠããããã¡ã€ã«ãäœæããå ¥åããŸãïŒVC152ã®ä»£ããã«ä»»æã®ãã£ã¬ã¯ããªã䜿çšã§ããŸããäž»ãªããšã¯ãã³ã³ãã€ã©ãšãªã³ã«ããã®äžã«ããããšã§ãïŒã
.\VC152\CL.EXE /AT /G2 /Gs /Gx /c /Zl *.cpp .\VC152\ML.EXE /AT /c *.asm .\VC152\LINK.EXE /T /NOD StartPoint.obj bootmain.obj cdisplay.obj cstring.obj del *.obj
çµã¿ç«ãŠ-èªåå
ãã®ã»ã¯ã·ã§ã³ã®æåŸã®ã¹ããããšããŠãMicrosoft Visual Studio 2005ã2008ãããããã³ã³ãã€ã©ããµããŒãããéçºç°å¢ã«å€ããæ¹æ³ã説æããŸãã ãããè¡ãã«ã¯ããããžã§ã¯ãã®ããããã£ã«ç§»åããŸãïŒ Project-> Properties-> Configuration Properties \ General-> Configuration Type ã
[ æ§æãããã㣠]ã¿ãã«ã¯ã[ å šè¬ ]ã[ ãããã°]ãããã³[ NMake ]ã®3ã€ã®é ç®ãå«ãŸããŠããŸã ã NMakeãéžæãã Build Command Lineããã³Rebuild Command Linã§ãbuild.batããžã®ãã¹ãæå®ããŸãã
ãã¹ãŠãæ£ããå®äºããããF7ããŒãŸãã¯Ctrl + F7ããŒãæŒããŠã³ã³ãã€ã«ã§ããŸãã ãã®å Žåããã¹ãŠã®é¢é£æ å ±ãåºåãŠã£ã³ããŠã«è¡šç€ºãããŸãã ããã§ã®äž»ãªå©ç¹ã¯ãã¢ã»ã³ããªã®èªååã ãã§ãªããã³ãŒãå ã®ãšã©ãŒïŒååšããå ŽåïŒã®ç£èŠã§ããããŸãã
ãã¹ããšãã¢ã³ã¹ãã¬ãŒã·ã§ã³
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãããŒãããŒããŒã®åäœã確èªããæ¹æ³ããã¹ããšãããã°ãå®è¡ããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ããŒãããŒããŒã®ç¢ºèªæ¹æ³
å®éã®ããŒããŠã§ã¢ã§ããŸãã¯ãããã®ç®çã®ããã«éçºãããä»®æ³ãã·ã³ã§ããVMwareã䜿çšããŠãããŒãããŒããŒã確èªã§ããŸãã å®éã®ããŒããŠã§ã¢ã§ãã¹ãããããšã«ãããä»®æ³ãã·ã³ãšåæ§ã«æ©èœããããšã確信ã§ããŸãã ãã¡ãããVmWareã¯ãã¹ããšãããã°ã®åªããæ¹æ³ã§ãããšèšããŸãã äž¡æ¹ã®æ¹æ³ãæ€èšããŸãã
ãŸããããŒãããŒããŒãä»®æ³ãã£ã¹ã¯ãŸãã¯ç©çãã£ã¹ã¯ã«æžã蟌ãããŒã«ãå¿ èŠã§ãã ç§ã®ç¥ãéããç¡æã®åçšã³ã³ãœãŒã«ãšGUIã¢ããªã±ãŒã·ã§ã³ãããã€ããããŸãã NTFS 3.66ã®ãã£ã¹ã¯ãšã¯ã¹ãããŒã©ãŒïŒFATã®ãã£ã¹ã¯ãšã¯ã¹ãããŒã©ãŒãšåŒã°ããFATã®ããŒãžã§ã³ïŒã䜿çšããŠWindowsã§åäœããNorton Disk Editor 2002ã䜿çšããŠMS-DOSã§åäœããŸããã
NTFS 3.66çšã®ãã£ã¹ã¯ãšã¯ã¹ãããŒã©ãŒã«ã€ããŠèª¬æããã®ã¯ãæãç°¡åãªæ¹æ³ã§ãããç®çã«æãé©ããŠããããã§ãã
VmWareä»®æ³ãã·ã³ã䜿çšãããã¹ã
ä»®æ³ãã·ã³ã®äœæ
VmWareãœãããŠã§ã¢ããŒãžã§ã³5.0ã6.0以äžãå¿ èŠã§ãã ããŒãããŒããŒããã¹ãããã«ã¯ãæå°ãã£ã¹ã¯ãµã€ãºïŒããšãã°ã1 GbïŒã§æ°ããä»®æ³ãã·ã³ãäœæããŸãã NTFSãã¡ã€ã«ã·ã¹ãã ã«ãã©ãŒãããããŸãã 次ã«ããã©ãŒããããããããŒããã©ã€ããä»®æ³ãã©ã€ããšããŠVmWareã«ãããããå¿ èŠããããŸãã ãããè¡ãã«ã¯ã次ãéžæããŸãã
ãã¡ã€ã«->ä»®æ³ãã£ã¹ã¯ã®ããããŸãã¯åæ...
ãã®åŸããŠã£ã³ããŠã衚瀺ãããŸãã ããã§[ããã]ãã¿ã³ãã¯ãªãã¯ããå¿ èŠããããŸãã 衚瀺ããã次ã®ãŠã£ã³ããŠã§ããã£ã¹ã¯ãžã®ãã¹ãæå®ããå¿ èŠããããŸãã ãã©ã€ãæåãéžæã§ããããã«ãªããŸããã
ãèªã¿åãå°çšã¢ãŒãã§ãã¡ã€ã«ãéãïŒæšå¥šïŒãããã¯ã¹ã®ãã§ãã¯ãå€ãããšãå¿ããªãã§ãã ããã äžèšã®ãã¹ãŠã®æ瀺ãå®äºããããããŒã¿ã®ç Žæãé²ãããã«ããã©ã€ããèªã¿åãå°çšã¢ãŒãã§äœ¿çšå¯èœã«ããå¿ èŠããããŸãã
ãã®åŸãWindowsã®éåžžã®è«çãã©ã€ããšåæ§ã«ãä»®æ³ãã·ã³ãã©ã€ãã§äœæ¥ã§ããŸãã ããã§ãNTFS 3.66çšã®ãã£ã¹ã¯ãšã¯ã¹ãããŒã©ãŒã䜿çšããŠãäœçœ®0ããããŒãã¬ã³ãŒããæžã蟌ãå¿ èŠããããŸãã
NTFSçšãã£ã¹ã¯ãšã¯ã¹ãããŒã©ãŒã®äœ¿çš
ããã°ã©ã ãéå§ããåŸããã©ã€ãã«ç§»åããŸãïŒ[ãã¡ã€ã«]-> [ãã©ã€ã]ïŒã 衚瀺ããããŠã£ã³ããŠã§ãè«çãã©ã€ãã®ã»ã¯ã·ã§ã³ã«ç§»åããäœæãããã©ã€ãïŒç§ã®å Žåã¯ZïŒãéžæããŸãã
次ã«ã16é²ã³ãã³ããšããŠè¡šç€ºã®ã¡ãã¥ãŒé ç®ãéžæããŸãã 衚瀺ããããã®ãŠã£ã³ããŠã§ã¯ãã»ã¯ã¿ãŒã«åå²ããã16ãããè¡šçŸã§ãã£ã¹ã¯æ å ±ã確èªã§ããŸãã ä»ã¯ãã£ã¹ã¯ã空ãªã®ã§ã0ãããããŸããã
次ã«ãããŒãããŒããŒãæåã®ã»ã¯ã¿ãŒã«æžã蟌ãå¿ èŠããããŸãã åã®å³ã«ç€ºãããã«ãããŒã«ãŒãäœçœ®00ã«èšå®ããŸãã ããŒãããŒããŒãã³ããŒããã«ã¯ãã¡ãã¥ãŒé ç®[ ç·šé ]- > [ãã¡ã€ã«ãã貌ãä»ã ] ã³ãã³ãã䜿çšããŸãã éãããŠã£ã³ããŠã§ããã¡ã€ã«ãžã®ãã¹ãæå®ãã[ éã ]ãã¯ãªãã¯ããŸãã ãã®åŸãæåã®ã»ã¯ã¿ãŒã®å 容ãå€æŽãããåçã«ç€ºãããŠããããã«èŠããã¯ãã§ã-ãã¡ãããã³ãŒãå ã§äœãå€æŽããªãã£ãå Žåã
ãŸããã»ã¯ã¿ãŒã®å é ãã1FEã®äœçœ®ã«çœ²å55AAhãæžã蟌ãå¿ èŠããããŸãã ãããè¡ããªããšãBIOSã¯æåŸã®2ãã€ãããã§ãã¯ããæå®ããã眲åãèŠã€ããããããã®ã»ã¯ã¿ãŒã¯èµ·åå¯èœã§ã¯ãªããšèŠãªããã¡ã¢ãªã«ããŒãããŸããã
ç·šéã¢ãŒãã«åãæ¿ããã«ã¯ã F2ããŒãæŒããŠå¿ èŠãªæ°å-55AAh眲åãæžã蟌ã¿ãŸãã ç·šéã¢ãŒããçµäºããã«ã¯ã ESCãæŒããŸãã
次ã«ãèšé²ãããããŒã¿ã確èªããå¿ èŠããããŸãã
èšé²ãé©çšããã«ã¯ã [ããŒã«]-> [ãªãã·ã§ã³]ã«ç§»åãã[ ã¢ãŒã]é ç®ã«ç§»åããŠãèšé²æ¹æ³-[ ä»®æ³æžã蟌㿠]ãéžæãã[ æžã蟌㿠]ãã¿ã³ãã¯ãªãã¯ããŸãã
æåŸã«ãã»ãšãã©ã®å®åã¢ã¯ã·ã§ã³ãå®äºãããã®èšäºã®æåããéçºããå 容ã確èªã§ããŸãã VwWareã«æ»ã£ãŠä»®æ³ãã£ã¹ã¯ãåæããŸãïŒ[ãã¡ã€ã«]-> [ä»®æ³ãã£ã¹ã¯ã®ããããŸãã¯åæ...]ãã¯ãªãã¯ããŠ[åæ]ãã¯ãªãã¯ããŸãïŒã
ä»®æ³ãã·ã³ãèµ·åããŸãããã ãã·ã³ã³ãŒãã®é åã®æ·±ããããããªãã¿ã®ç·ãã©ã®ããã«è¡šç€ºãããããããããŸã-"Hello World ..."ãäœã¬ãã«... "ã
å®éã®ããŒããŠã§ã¢ã§ã®ãã¹ã
å®éã®ããŒããŠã§ã¢ã§ã®ãã¹ãã¯ãä»®æ³ãã·ã³ã§ã®ãã¹ããšã»ãŒåãã§ãããäœããæ©èœããªãå Žåã¯ãæ°ããä»®æ³ãã·ã³ãäœæããããã埩å ã«å€ãã®æéãå¿ èŠã«ãªããŸãã ããŒã¿ã倱ãããšãªãããŒãããŒããŒããã§ãã¯ããã«ã¯ïŒãã¹ãŠçºçããå¯èœæ§ããããŸãïŒããã©ãã·ã¥ãã©ã€ãã䜿çšããããšããå§ãããŸãããæåã«ã³ã³ãã¥ãŒã¿ãŒãåèµ·åããBIOSã«ã¢ã¯ã»ã¹ããŠããã©ãã·ã¥ãã©ã€ãããã®èµ·åããµããŒãããŠããããšã確èªããå¿ èŠããããŸãã 圌ã圌ããµããŒãããŠããã°ããã¹ãŠãé 調ã§ãã ããã§ãªãå Žåã¯ããã¹ããä»®æ³ãã¹ããã·ã³ã«å¶éããå¿ èŠããããŸãã
NTFS 3.66ã®ãã£ã¹ã¯ãšã¯ã¹ãããŒã©ãŒã§ããŒãããŒããŒããã©ãã·ã¥ãã©ã€ãã«æžã蟌ãããã»ã¹ã¯ãä»®æ³ãã·ã³ã®å Žåãšåãã§ãã è«çããŒãã£ã·ã§ã³ã§ã¯ãªããããŒããã©ã€ãèªäœãéžæããã ãã§ãã
ãããã«
ãã®èšäºã§ã¯ãããŒãããŒããŒãšã¯äœããBIOSãã©ã®ããã«æ©èœããããã·ã¹ãã ã®ããŒãæã«ã·ã¹ãã ã®ã³ã³ããŒãã³ããã©ã®ããã«çžäºäœçšãããã調ã¹ãŸããã å®çšçãªéšåã§ã¯ãç¬èªã®ã·ã³ãã«ãªããŒãããŒããŒãéçºããæ¹æ³ãç解ããŸããã Microsoft Visual Studio 2005ã2008ã䜿çšããŠãæ··åã³ãŒããã¯ãããžãŒãšãã«ãèªååããã»ã¹ã®ãã¢ãè¡ããŸããã
ãã¡ãããããã¯äœã¬ãã«ã®ããã°ã©ãã³ã°ãšãã巚倧ãªãããã¯ã«æ¯ã¹ãŠã»ãã®å°ããªéšåã§ããããã®èšäºã«èå³ãããã°ãããã¯ã¯ãŒã«ã§ãã
UPDïŒ ãœãŒã¹ãªã³ã¯