VC¿¡¼­ ¿î¿µÃ¼Á¦ ¸¸µé±â °¡À̵å
 (Make your own Operating System On VC++ !)
  »ó¼¼Á¦¸ñ: ¿¹Á¦ ºÎÆ®¼½ÅÍ ºÐ¼® ¹× OS ºôµåÇϱâ^^

For the advanced technology  

 AiRPAGE ¸ÞÀÎ >> PROJECT ¸ÞÀÎ >> OS PAGE ¸ÞÀÎ >> µ¹¾Æ°¡±â


¹¹?  
¾î·Æ°Ô¸¸ ¿©°ÜÁö´ø ¿î¿µÃ¼Á¦ÀÇ º£ÀÏÀÌ ¹þ°ÜÁö°í ÀÖ½À´Ï´Ù. À̰͵µ À¯ÇàÀϱî¿ä? ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ¶ó¸é ¾Ë°í ½Í¾îÁö°í, ±¸ÇöÇØ º¸°íÇ ¿î¿µÃ¼Á¦. ±×¼ÓÀ» µé¿©´Ùº¸°í ¿¬±¸ÇÏ¸ç ½º½º·Î Á¦ÀÛÇØ º¸´Â »çÀÌÆ®µéÀÌ °è¼Ó ´Ã°í ÀÖ½À´Ï´Ù. Àú¿ª½Ã ±× ¸¸µé±âÀÇ ½ÃÀÛÀ» Á¶½É½º·´°Ô ¿­¾î º¸·Á ÇÕ´Ï´Ù. ¿©±â-Àú±â, À̰÷-Àú°÷, ¾Õ-µÚ-¿·Áý¿¡¼­ ««È÷ ¾òÀº Á¤º¸µéÀ» Åä´ë·Î(¾î¼¸é Â¥Áý±â(^^)·Î º¸ÀÏ ¼öµµ ÀÖÁö¸¸) ÇѸò ÇØº¸°íÇ ¸¶À½¿¡ ±ÛÀ» ½á º¾´Ï´Ù.

¾Æ·¡ÀÇ ³»¿ëµéÀº Á¦°¡ Á÷Á¢ ÀÛ¼ºÇÑ ºÎÆ®¼½ÅÍ ÄÚµåÀÇ °£´ÜÇÑ ¼³¸í°ú ÄÄÆÄÀÏ ¹æ¹ý ±×¸®°í x86 Protected Mode·Î Æ÷ÆÃµÈ ¥ìC/OS-II¼Ò½º¸¦ °¡Áö°í ºôµåÇÏ´Â ¼³¸íÀ» °¡Áö°í ÀÖ½À´Ï´Ù.

ÀÌ °­Á´ Àý´ë·Î ±â¼úÀûÀÎ ³»¿ëÀÌ ¾ø½À´Ï´Ù. ¾î¼ÀÄÚµåÀÇ Áö½Ä°ú ºÎÆ®¼½ÅÍ, Ä¿³Î¿¡ °üÇÑ ¾î´ÀÁ¤µµÀÇ Áö½ÄÀ» °®Ãß¾ú´Ù´Â °¡Á¤ÇÏ¿¡ ³»¿ëÀ» ÁøÇàÇÏ°Ô µË´Ï´Ù. ´ÜÁö ¿¹Á¦·Î Á¦½ÃÇÑ Äڵ带 ÄÄÆÄÀÏ Çϰí, ½ÇÁ¦ ¿î¿µÃ¼Á¦Ã³·³ µ¿ÀÛÇÏ´Â ¸ð½ÀÀ» º¸¿©ÁÜ À¸·Î½á Visual C++ȯ°æÇÏ¿¡¼­µµ ¿î¿µÃ¼Á¦ °³¹ß ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» º¸À̱â À§ÇÔÀÔ´Ï´Ù.
¸¸¾à, ±×·¯ÇÑ °ÍµéÀÇ °³³äÀÌ ÇÊ¿äÇÏ´Ù¸é ¸ÕÀú À§ÀÇ ¸Þ´º¿¡¼­ PROJECT -> OS PAGE¿¡ ¸µÅ©µÈ ¿©·¯ ÀڷḦ Âü°í ÇϽñ⠹ٶø´Ï´Ù. ¹°·Ð ¿¹Àü¿¡ Bellona¶ó´Â ¿î¿µÃ¼Á¦¸¦ ¸¸µå½Å ¿ÀÀçÁØ´ÔÀÇ °­ÁÂ¿Í ¼­ÀûÀÌ ÀÌ¿Í À¯»çÇÕ´Ï´Ù¸¸, ±× ³»¿ë¿¡´Â VC 5.0ÀÇ È¯°æ°ú Á¶±ÝÀº º¹ÀâÇÑ ºÎÆ®¼½ÅÍ¿¡ ÀÇÇØ Ä¿³ÎÀÌ ·ÎµåµË´Ï´Ù. ³ª¸§´ë·ÎÀÇ ÀÌÀ¯°¡ ÀÖ°Ú½À´Ï´Ù¸¸, ±×¿Í´Â »ó°ü¾øÀÌ ÀÌ °­Á´ ¼ø¼öÇÏ°Ô VC 6.0ÀÇ È¯°æ¿¡¼­ Ä¿³ÎÁ¦ÀÛÀÌ °¡´ÉÇÔÀ» º¸À̱â À§ÇÑ ³»¿ëÀÓÀ» ´Ù½Ã Çѹø ÁÖÁö½ÃÄÑ µå¸³´Ï´Ù.


Áغñ¹°  
 


 - ȯ°æ
	Microsoft Windows¢ç 98, 2000, XP¿¡¼­ Å×½ºÆ® µÇ¾ú½À´Ï´Ù. 

 - Tool
	Borland-C++¢ç 3.0(2.0µµ µË´Ï´Ù^^) [Turbo-C¢ç 2.0 download]
	Microsoft Visual C++¢ç 6.0
	Microsoft Macro Assembler¢ç 6.11 (´Ù¸¥ ¹öÀüÀº ¾ÈµË´Ï´Ù.)
	NASM 0.98.36 (´Ù¸¥¹öÀüµµ ±¦ÂúÀ»Áö(?) ¸ð¸¨´Ï´Ù.^^) [NASM site link]

 - Source
	¥ìC/OS-II(Port : x86 Protected Mode) [UCOS-ii(intel port) Site link]
	LestatOS(TM) Boot Sector [bootsect.asm download]
	 : ÀåÁøÈ£(devilnis@nownuri.net)´Ô²²¼­ °í¸¿°Ôµµ ¹ö±×¸¦ Çϳª ÁöÀûÇØ Áּ̽À´Ï´Ù. ¼öÁ¤¹öÀüÀÔ´Ï´Ù.^^
	Boot Sector¸¦ µð½º±RÀÇ Á© ù¼½ÅÍ¿¡ ¿Å°ÜÁÖ´Â C ¼Ò½º [scopy.c download]
	À©µµ¿ì ȯ°æ¿¡¼­ ºÎÆ® ¼½ÅÍ Á¤º¸¸¦ ÀÐ°í ½áÁÖ´Â À¯Æ¿¸®Æ¼ [GSector.exe download]

 


±¸¼º  

¿ì¸®°¡ ºôµåÇØº¼ Àüü ¸ñ·Ï ±¸¼ºÀº ´ëÃæ ÀÌ·¸½À´Ï´Ù.

- ¥ìC/OS-II Ä¿³Î À̹ÌÁö
- Ä¿³Î À̹ÌÁö¸¦ ·ÎµåÇÒ ºÎÆ®¼½ÅÍ

À§ÀÇ Áغñ¹°µéÀº ¸ðµÎ ¿¹Á¦·Î ´Ù·ïº¼ À§¿¡¼­ ³ª¿­ÇÑ ¿î¿µÃ¼Á¦¿Í ºÎÆ®¼½Å͸¦ ºôµåÇϱâ À§ÇÔÀÔ´Ï´Ù.
¥ìC/OS-II Ä¿³Î À̹ÌÁö¸¦ ºôµåÇÏ´Â ¹æ¹ýÀº UCOS-II À¥ »çÀÌÆ®ÀÇ http://www.micrium.com/intel/index.html ÆäÀÌÁö¸¦ Âü°íÇÏ½Ã¸é µË´Ï´Ù. °Å±â¿£ Jean Louis Gareau°¡ Á¦ÀÛÇÑ ºÎÆ®¼½ÅÍ¿Í Ä¿³ÎÀ̹ÌÁö ±×¸®°í Ä¿³ÎÀ̹ÌÁö ·Î´õ ¼Ò½º¿Í ŽºÅ© ¼Ò½º°¡ ÀÖ½À´Ï´Ù. À̸¦ Âü°í·Î ÇÏ´Â ÀÌÀ¯´Â ÀåÁ¡ÀÌ Ä¿³ÎÁ¦ÀÛ ÀÛ¾÷À» Visual Cȯ°æ¿¡¼­ ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
	
¥ìC/OS-II¿¡ °üÇØ Á» ´õ ¾Ë°í ½ÍÀ¸½Ã´Ù¸é, http://www.micrium.com/»çÀÌÆ®¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù. ¾ÆÁÖ ¼ÒÇüÀÎ ¸®¾óŸÀÓ Ä¿³ÎÀ̸鼭µµ Ź¿øÇÑ ½ºÄÉÁ층 ¾Ë°í¸®Áò°ú ¿©·¯ ½Ã½ºÅÛ¿¡ À¯¿¬ÇÏ°Ô Æ÷ÆÃµÈ ¿î¿µÃ¼Á¦ÀÔ´Ï´Ù.

 

 


 ::TOP


±¸Çö  
 

ÀÚ, ±×·³ ½ÃÀÛÇÕ´Ï´Ù!
Á¦°¡ Á¦ÀÛÇÑ ºÎÆ®¼½ÅÍ´Â NYAOSºÎÆ®¼½Å͸¦ Âü°íÇß½À´Ï´Ù.
ºÎÆ®¼½ÅÍ ¼³¸í : bootsect.asm

ºÎÆ® ¼½ÅÍ´Â BIOS¿¡ ÀÇÇØ (¹°¸®ÁÖ¼Ò)0x7C00¹øÁö¿¡ ·Îµå µË´Ï´Ù. 512 BYTEÀÇ Å©±â¸¦ °¡Á®¾ß Çϸç, ÆÄÀÏÀÇ ³¡Àº 0x55,0xaaij¸¯ÅͰ¡ Æ÷ÇԵ˴ϴÙ. ±×¸®°í µð½ºÅ©ÀÇ Á© ù¹øÂ° ¼½ÅÍ¿¡ À§Ä¡½ÃŰ¸é µÇ´Âµ¥¿ä, ÀÌ¿ÕÀÌ¸é ÆÄÀϽýºÅÛÁ¤º¸¸¦ Æ÷ÇÔÇÔÀ¸·Î½á À©µµ¿ì/¸®´ª½º³ª µµ½ºµî¿¡¼­ Á¢±ÙÇÒ ¼ö ÀÖ´Â Æí¸®ÇÔÀ» ÀÌ¿ëÇØµµ µÇ°ÚÁÒ. ¹«½¼ ¸»ÀÌ³Ä Çϸé, Ä¿³Î À̹ÌÁö¸¦ ³ªÁß¿¡ ¿Ï¼ºÇØ º¸½Ã¸é ¾Æ½Ã°ÚÁö¸¸, À̹ÌÁö¸¦ ƯÁ¤ ¼½ÅÍ¿¡ À§Ä¡ ½ÃÄÑ µÎ°í ºÎÆ®·Î´õ°¡ ·ÎµåÇÏ´Â ¹æ½ÄÀº ¼Ò½º°¡ °£´ÜÇÒ ¼öµµ ÀÖÁö¸¸, ¾÷µ¥ÀÌÆ® µÈ Ä¿³ÎÀ» ¸Å¹ø ±×·¸°Ô À§Ä¡½ÃŰ´À´Ï Â÷¶ó¸® Àû´çÇÑ ÆÄÀÏÀ̸§À¸·Î º¹»ç¸¸ ½ÃÄÑ ÁÖ´õ¶óµµ ºÎÆ®¼½ÅͰ¡ ¾Ë¾Æ¼­ Ä¿³ÎÀ» ·ÎµåÇÑ´Ù¸é ¸¹ÀÌ ÆíÇÏ´Ù´Â °ÍÀ» ´À³¢½Ç °Ì´Ï´Ù. ±×·¸±â¿¡ ºÎÆ®¼½ÅÍÀÇ ¼Ò½º ùºÎºÐÀº ÆÄÀϽýºÅÛ Á¤º¸¸¦ ä¿ó´Ï´Ù.
	fatOEM       db "LestatOS"               ; OEM
	fatSectSize  dw 0x200                    ; Bytes per sector = 512
	fatClustSize db 1                        ; Sectors per cluster
	fatRessect   dw 1                        ; # of reserved sectors
	fatFatCnt    db 2                        ; # of fat copies
	fatRootSize  dw 224                      ; size of root directory
	fatTotalSect dw 2880                     ; total # of sectors if < 32 meg
	fatMedia     db 0xF0                     ; Media Descriptor
	fatFatSize   dw 9                        ; Size of each FAT
	fatTrackSect dw 18                       ; Sectors per track
	fatHeadCnt   dw 2                        ; number of read-write heads
	fatHidenSect dd 0                        ; number of hidden sectors
	fatHugeSect  dd 0                        ; if fatTotalSect is 0 this value is
                                         ; the number of sectors
	fatBootDrv   db 0                        ; holds drive that the fat came from
	fatReserv    db 0                        ; not used for anything
	fatBootSign  db 29h                      ; boot signature 29h
	fatVolID     dd 0		         ; Disk volume ID also used for temp
                                         ; sector # / # sectors to load
	fatVoLabel   db "LestatOS",13,10,0       ; Volume Label
	fatFSType    db "FAT12   "               ; File System type
¹°·Ð ºÎÆ®¼½ÅͰ¡ ÇÏ´Â Á©Ã³À½ µ¿ÀÛÀº Á¡ÇÁÀÔ´Ï´Ù. È®ÀåÀÚ°¡ COMÀÎ ÆÄÀÏÀÇ Æ÷¸ä°ú ºñ½ÁÇÕ´Ï´Ù. Á¡ÇÁ¸¦ ³¡³»°í ÀÎÅÍ·´Æ®¸¦ µð½º¿¡ÀÌºí ½ÃŲ ÈÄ ÇöÀç ºÎÆ®µÈ µå¶óÀ̺êÀÇ Á¤º¸¸¦ ¾ò¾î ¿É´Ï´Ù. Áï, ¹ÙÀÌ¿À½º´Â DL·¹Áö½ºÅÍ¿¡ ÇöÀç ºÎÆ®µÈ µå¶óÀ̺êÀÇ Á¤º¸¸¦ ´ã¾Æ µÓ´Ï´Ù. dl¿¡ 0x00ÀÌ µé¾îÀÖÀ¸¸é Aµå¶óÀ̺ê, 0x80À̸é Cµå¶óÀ̺ê ÀÔ´Ï´Ù.
	mov ax,0x9000                ; put stack at 0x91000
	mov ss,ax
	mov sp,0x1000
±×·±´ÙÀ½ À§Ã³·³ ½ºÅذø°£À» Àâ¾Æ ÁÝ´Ï´Ù. ³Ë³ËÈ÷ ¸Þ¸ð¸®ÀÇ Àú À§ÂÊÀ¸·Î ¸»ÀÌÁÒ^^ ÀÌÈÄ, Ç÷ÎÇÇ ÄÁÆ®·Ñ·¯¸¦ ÃʱâÈ­ Çϰí, ¿¡·¯¸é ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇϸ鼭 ¸®º×À» ÇѴٰųª ÇÏ´Â ·çƾÀº ¸ÕÀú ¸»¾¸µå¸° NYAOSÀÇ ºÎÆ®¼½ÅÍ ¼Ò½º ¼³¸íÀ» Âü°í ÇϽñ¸¿ä(^^). º»ÀÎÀÌ ¼öÁ¤/»ðÀÔÇÑ Áß¿ä ºÎºÐµéÀÇ ¼³¸íÀ» ÀÌ¾î ³ª°¡°Ú½À´Ï´Ù.^^
	MOV	AX,0x8000      		;80000¹øÁö·Î À̵¿...
	MOV	ES,AX                              
	XOR	DI,DI                              
	MOV	AX,0x07C0                            
	MOV	DS,AX                              
	XOR	SI,SI                              
	MOV	CX,0x0100                            
	REPZ	                                   
	MOVSW	           
            
	JMP 0x8000:go		;0x8000:go ÀÇ À§Ä¡·Î Á¡ÇÁ            
            
   go:	mov ax,0x8000
	mov ds,ax  
À§ÀÇ ÄÚµå´Â ÇöÀç ¸Þ¸ð¸®ÀÇ 0x07c0:0x0000ÀÇ À§Ä¡¿¡ ÀÖ´Â ºÎÆ®¼½ÅÍ Äڵ带 ¹°¸®ÁÖ¼Ò0x80000¹øÁö·Î À̵¿½Ãŵ´Ï´Ù. À̵¿ÀÌ ³¡³­ÈÄ ´ç¿¬È÷ ¼öÇàµÈ ÄÚµåÀÇ ´ÙÀ½À¸·Î Á¡ÇÁ¸¦ ÇØ¾ß°ÚÁÒ? ±×·¸±â¿¡ JMP 0x8000:go ¸í·ÉÀ» ³»¸³´Ï´Ù. ±×¸®°í DS·¹Áö½ºÅ͸¦ À̵¿µÈ ¼¼±×¸ÕÆ® À§Ä¡ 0x8000À¸·Î ¼¼Æ® ÇÕ´Ï´Ù.
	
ÀÌÈÄ, ·çÆ® µð·ºÅ丮ºÎÅÍ ÆÄÀÏÀ̸§À¸·Î ÁöÁ¤µÈ Ä¿³ÎÀ̹ÌÁö¸¦ °Ë»öÇϰí, ãÀ¸¸é ¹°¸®ÁÖ¼Ò0x40000¹øÁö¿¡ À̹ÌÁö¸¦ ·Îµå ÇÕ´Ï´Ù. Ä¿³ÎÀ̹ÌÁö ±îÁö ·ÎµåµÈ ¸Þ¸ð¸®ÀÇ ¸ð½ÀÀº ¾Æ·¡¿Í °°½À´Ï´Ù.
	
±×·± ´ÙÀ½ Ç÷ÎÇÇ µð½ºÅ© µå¶óÀ̺êÀÇ ¸ðÅ͸¦ ¾Æ·¡ÀÇ ÄÚµå¿Í °°ÀÌ ²ô°í,
	mov al, 0x0c
	mov dx, 0x03fe
	out dx, al
ÁËÃÑÀûÀ¸·Î Ä¿³Î À̹ÌÁö¸¦ ´Ù½Ã ÃÖÇÏÀ§ 0x0000:0000¹øÁö·Î À̵¿ ½ÃŲ ÈÄ, ¹°¸®ÁÖ¼Ò 0x01000¹øÁö·Î Á¡ÇÁ ÇÕ´Ï´Ù. 0x1000¹øÁöºÎÅÍ Ä¿³ÎÀ̹ÌÁöÀÇ ½ÇÁ¦ Äڵ尡 ½ÃÀ۵DZ⠶§¹®ÀÔ´Ï´Ù. (ÄÄÆÄÀÏ µÈ Ä¿³ÎÀ̹ÌÁö¸¦ ´ýÇÁÇØ º¸½Ã¸é ¾Ð´Ï´Ù.^^)
	cli
            
	MOV	AX,0x0000      		;40000¹øÁö¿¡¼­ 0x0000:0000À¸·Î À̵¿...
	MOV	ES,AX                              
	XOR	DI,DI                              
	MOV	AX,0x4000                            
	MOV	DS,AX                              
	XOR	SI,SI                              
	MOV	CX,0x7000                            
	REPZ	                                   
	MOVSW                    
            
	mov ax,0x0000               ; set segment registers and jump
	mov es,ax
	mov ds,ax
	jmp 0x0000:0x1000
¾Æ·¡ÀÇ ±×¸²Àº ºÎÆ®¼½ÅÍ¿Í Ä¿³ÎÀ̹ÌÁö°¡ ·ÎµåµÈ ÈÄ ÀüüÀûÀΠȣÃâ ¼ø¼­¸¦ º¸¿© ÁÝ´Ï´Ù. Á¦ÀÏ ¸ÕÀú ºÎÆ®¼½ÅÍ´Â Entry.asm¿¡ ÀÇÇØ ÄÄÆÄÀÏ µÈ Entry.obj·Î Á¡ÇÁÇÏ°Ô µÇ¸ç Entry.obj´Â Ä¿³ÎÀÇ mainÇÔ¼ö¸¦ È£ÃâÇÏ°Ô µË´Ï´Ù.
Entry.asmÀÌ ÇÏ´Â ÀÏÀº CPU¸¦ º¸È£¸ðµå·Î º¯È¯ÇÔ°ú µ¿½Ã¿¡ GDT,IDT¸¦ ¼¼ÆÃÇÏ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ±×ÀÛ¾÷ÀÌ ³¡³ª¸é °ð¹Ù·Î Ä¿³ÎÀÇ mainÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.
	



½ÇÀü! (Build)

³×^^; ÀÌÁ¦ºÎÅÍ ½ÇÁ¦·Î ºÎÆ®¼½ÅÍ¿Í ¿î¿µÃ¼Á¦¸¦ ºôµåÇØ º¾½Ã´Ù. ¸ÕÀú, ºÎÆ®¼½Å͸¦ ÄÄÆÄÀÏ ÇÏ´Â ¹æ¹ýÀº ¾Æ·¡¿Í °°½À´Ï´Ù. nasmÀÌ ´ç¿¬È÷ ¼³Ä¡µÇ¾î ÀÖ¾î¾ß °ÚÁÒ?
: (bootsect.asm ÄÄÆÄÀÏ ¹æ¹ý)
	
ºÎÆ®¼½Å͸¦ µð½º±RÀÇ Ã¹¹øÂ° ¼½ÅÍ¿¡ ¿Å±â´Â ¹æ¹ýÀº ¸î°¡Áö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é µµ½ºÀÇ µð¹ö°Å¿¡¼­ ¾Æ·¡¿Í °°ÀÌ Çϼŵµ »ó°ü¾ø½À´Ï´Ù.
: (bootsect¸¦ µð½º±RÀÇ Ã¹¹øÂ° ¼½ÅÍ¿¡ ¿Å±â´Â ¹æ¹ý)
	
±×·¸Áö¸¸, Á»´õ ¸ÚÁö°Ô- ¿ì¸®¸¸ÀÇ ¿î¿µÃ¼Á¦ ÀνºÅç·¯¸¦ ¸¸µé°í ½Í´Ù¸é, ºÎÆ®¼½Å͸¦ º¹»çÇØÁÖ´Â Äڵ带 °¡Áö°í À־ ³ª»ÚÁø ¾Ê°ÚÁÒ? scopy.cÀÇ ÄÚµå´Â ¾Æ·¡¿Í °°ÀÌ °£´ÜÇÕ´Ï´Ù.
	//***************START************************
	#include "bios.h"
	#include "stdio.h"
 
	void main() 
	{ 
  	      FILE *in; 
 	       unsigned char buffer[520]; /* ¹öÆÛ¸¦ Àâ°í */
 
	        if((in = fopen("bootsect", "rb"))==NULL) /* bootsect ÆÄÀÏÀ» ¹ÙÀ̳ʸ®·Î ¿¬´ÙÀ½ */
        	{ 
                	printf("Error loading file\n"); 
        	        exit(0); 
 	       } 
 
	        fread(&buffer, 512, 1, in); /* 512¹ÙÀÌÆ®¸¦ Àаí */
 
 	       while(biosdisk(3, 0, 0, 0, 1, 1, buffer)); /* µð½ºÅ©ÀÇ Ã¹¼½ÅÍ¿¡ ¾¹´Ï´Ù */
 
        	fclose(in); 
	} 
	//***************E N D************************
¾Æ·¡ÀÇ ¹æ¹ýÀ¸·Î scopy.c¸¦ ÄÄÆÄÀÏ ÇÕ´Ï´Ù.
: (scopy.c ÄÄÆÄÀÏ ¹æ¹ý)
	
ÄÄÆÄÀÏµÈ scopy.exe¿Í °°Àº µð·ºÅ丮¿¡ ÄÄÆÄÀÏµÈ bootsectÆÄÀÏÀÌ ÀÖÀ¸¸é ´ÜÁö, scopy.exe¸¦ ½ÇÇàÇÏ´Â °Í¸¸À¸·Î µð½º±RÀÇ Ã¹¹øÂ° ¼½ÅÍ¿¡ bootsect°¡ ¿Å°ÜÁý´Ï´Ù.

±×¸®°í, Entry.asmÀ» ÄÄÆÄÀÏ ÇØ¾ß°ÚÁÒ? nmake°¡ ¼¼ÆÃµÇ¾î ÀÖ´Ù¸é, Entry.asmµð·ºÅ丮¿¡¼­ ¾Æ·¡±×¸²°ú °°ÀÌ nmake¸¸ ½ÇÇàÇÏ¸é µË´Ï´Ù.
: (Entry.asm ÄÄÆÄÀÏ ¹æ¹ý)
	
¸¸¾à, ±×·¸Áö ¾Ê´Ù¸é, ¾Æ·¡ ±×¸²Ã³·³ ml.exe ÆÄÀÏÀ» Entryµð·ºÅ丮¿¡ º¹»çÇÑ ÈÄ ¿É¼Ç°ú ÇÔ²² ml.exe¸¦ ½ÇÇàÇÕ´Ï´Ù.
: (Entry.asm ÄÄÆÄÀÏ ¹æ¹ý)
	
ml.exe°¡ PathµÇ¾î ÀÖ´Ù¸é, Visual C¿¡¼­ MyTask.dsw ÇÁ·ÎÁ§Æ®´Â Á¦´ë·Î ÄÄÆÄÀÏÀÌ µÇ¾î MyTask.IMG ÆÄÀÏÀ» »ý¼ºÇÒ °Ì´Ï´Ù. ¸¸¾à ±×·¸Áö ¾Ê´Ù¸é, ml.exe¸¦ MyTaskµð·ºÅ丮¿¡ º¹»çÇÑ ÈÄ¿¡ F7۸¦ ´­·¯ ºôµåÇϼ¼¿ä. (¹°·Ð! ÇÁ·ÎÁ§Æ® ¸®¼Ò½º µ“¿¡¼­ os_cpu_a.asm¸¦ ¼±ÅÃÇϰí Project -> Setting¿¡¼­ ÄÄÆÄÀÏ·¯ ÆÐ½º¸¦ ¼öÁ¤Çϼŵµ µË´Ï´Ù.)
	

ÀÚ, ÀÌÁ¦ ºôµå´Â ¸ðµÎ ³¡³µ½À´Ï´Ù. ºÎÆ®¼½ÅͱîÁö µð½º±R¿¡ ¿Å°å´Ù¸é, MyTask.IMGÆÄÀϸ¸ µð½º±R¿¡ º¹»çÇØ ÁÖ¸é µË´Ï´Ù. ¸¸¾à, MyTask.Img¶ó´Â Ä¿³ÎÀ̹ÌÁö À̸§ÀÌ ¸¶À½¿¡ ¾Èµç´Ù¸é bootsect.asmÀÇ ¼Ò½ºÄÚµåÀÇ Á© ¾Æ·§ÁÙ ±Ùó¸¦ º¸½Ã¸é 'MyTask__IMG'¶ó´Â µ¥ÀÌÅͰ¡ º¸Àϰ̴ϴÙ. À̺κÐÀ» 12Ä­¿¡ ¸ÂÃç¼­ ¹Ù²ã ÁÖ½Ã¸é µË´Ï´Ù. Áï, Ä¿³ÎÀ̹ÌÁö¸¦ 1.IMG¶ó´Â ÆÄÀÏ·Î ¸í¸íÇÏ°í ½Í´Ù¸é, '1_______IMG'·Î ¹Ù²Ù½Ã¸é µË´Ï´Ù.(¿©±â¼­ '_'´Â °ø¹éÀÔ´Ï´Ù.) ÀÌÁ¨, ¸ðµç °ÍÀÌ ÁغñµÈ µð½º±RÀ» °¡Áö°í ºÎÆÃ¸¸ ÇÏ½Ã¸é µË´Ï´Ù. ÀÚÁÖ ¼öÁ¤Çϰí, ºÎÆÃÇÏ°í ¶Ç ¿¡·¯¸¦ È®ÀÎÇÑ ÈÄ ´Ù½Ã ºÎÆÃÇÏ´Â °úÁ¤ÀÌ ³Ê¹« ¹ö°Ì½À´Ï´Ù. ±×·²¶© VMware¢ç³ª BochsµîÀ» »ç¿ëÇÏ½Ã¸é ÆíÇÒ °Ì´Ï´Ù.(ÀúÀÇ °æ¿ì¿£ Bochsº¸´Ü VMware¢ç°¡ Á»´õ Àß µ¿ÀÛÇÏ´Â °Í °°¾Ò½À´Ï´Ù.)
 

 


ÀÌÁ¦ ¸ôÇϳª?

^^; ÀÌÁ¦ ¸ô ÇÏ´Ù´Ï¿ä. ÀÌÁ¨ ÀڽŸ¸ÀÇ Ä¿³Î ¾Ë°í¸®ÁòÀ» °³¹ßÇÏ¿© ¿î¿µÃ¼Á¦¸¦ ¸¸µå¼Å¾ßÁÒ.(¤»...) Áï, ucos-ii.objÆÄÀÏÀ» Á¦°ÅÇÏ°í ±âŸ Task°ü·Ã ¼Ò½ºµéÀ» Á¦°ÅÇϰųª ¼öÁ¤Çؼ­ ÀڽŸ¸ÀÇ ¿î¿µÃ¼Á¦¸¦ ¸¸µå´Â °Ì´Ï´Ù. ¹°·Ð, ±âÁ¸ Ä¿³ÎÀ» ±×´ë·Î ÀÌ¿ëÇϼŵµ »ó°ü¾ø½À´Ï´Ù. ÀڽŸ¸ÀÇ UI¸¦ °³¹ßÇÏ¿© Æ÷ÆÃÇϰí, Á» ´õ ³ª¾Æ°¡¼­ ÆÄÀÏ ½Ã½ºÅÛ, ³×Æ®¿÷ ±×¸®°í »ç¿îµå °ü·Ã µå¶óÀ̹öµµ ÀÛ¼ºÇØ º¸´Â µî °¥±æÀÌ ¸Ö´ä´Ï´Ù.
À̱۷ΠÀÎÇØ ±× ¸ðµç ÀýÂ÷³ª ±æÀ» Á¶±ÝÀÌ¶óµµ º¸¾ÒÀ¸¸é ÇÏ´Â ¹Ù¶÷ÀÔ´Ï´Ù.
°ÇÅõ¸¦ º÷´Ï´Ù!

2003.09.02 À̰ǿì

 ::TOP


 


±âŸ Áú¹®&´äº¯ : [ PROJECT -> Áú¹®&´äº¯ °Ô½ÃÆÇ ] Âü°í ÀÚ·á : - µð½ºÅ© ºÎÆÃ À̹ÌÁö ¸¸µé±â °¡À̵å - PC º¸È£¸ðµå·Î Æ÷ÆÃµÈ uCOS-II ¿¡ ÀÎÅÍ·´Æ® Ãß°¡ ¿¹Á¦ Âü°í »çÀÌÆ® : - ¿ÀÀçÁØ´ÔÀÌ ÀÛ¼ºÇϽŠBellona ¿î¿µÃ¼Á¦ »çÀÌÆ®ÀÔ´Ï´Ù. http://www.bellona2.com/ - ±âŸ °ü·Ã»çÀÌÆ®´Â PROJECT -> OS PAGE¿¡ ¿¬°áµÈ ¸µÅ©¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.

 ::TOP