답변:
Methinks .com 및 .exe 확장의 의미에 대해 약간 혼란스러워합니다.
두 기능 모두 명령처럼 똑같이 잘 작동합니다. 실제로 DOS 하위 디렉토리에서 보면 .com 파일과 .exe 파일이 흩어져있는 것을 볼 수 있습니다. .com 파일 만 COMmands라고 생각하여이 문제를 혼동하지 마십시오. 그냥 명명 규칙.
MSDOS의 CP / M 뿌리와 관련이 있습니다. 프로그램 크기가 64k로 제한되어 있고 더 큰 프로그램이 스스로를 메모리로 페이징해야했기 때문에 ... COMmands를 고려했습니다. 하지만 고맙게도 우리는 CP / M의 한계를 넘어 새로운 한계에 직면했습니다 ...하지만 그것은 또 다른 이야기입니다.
잘하면이 도움이됩니다.
다른 유형의 EXE 파일이 있습니다. 일부는 MS-DOS에서 실행될 수 있고 다른 일부는 Windows가 필요할 수 있습니다. MS-DOS에서 실행할 수있는 것은 변환 할 필요가 없습니다.
Windows 용으로 컴파일 된 EXE 파일은 명령 줄 인수를 받아들이고 콘솔 출력을 생성하더라도 DOS에서는 실행되지 않습니다. Windows 기능 및 API (응용 프로그램 프로그래밍 인터페이스)에 의존하여 올바르게 작동합니다.
DOS에서 Windows EXE 파일을 실행하려고하면 다음 메시지가 표시됩니다.
This program cannot be run in MS-DOS mode.
:-(
불행히도이를 달성 할 수있는 도구는 거의 없으며 (예 : 2 개만 가능) 다양한 형식 (예 : Windows 9x + PE)을 지원할 수있는 도구가 적습니다.
다른 모든 대답은 좋다. DOS의 옛날 COM 실행 파일이 L1 캐시에로드되었다는 것을 알려주는 것이 좋을 것이다. DOS 시간에 멀티 태스킹에 가장 가까운 것이었다.
예 : Mouse.com이 캐시 메모리에로드되었으므로 실행중인 다른 모든 후속 프로그램이 마우스를 사용할 수있었습니다.
386 프로세서가 16 ~ 64KB의 캐시를 지원할 수 있음
486 프로세서의 경우 8KB 캐시가 CPU 다이에 직접 통합되었습니다. 이 캐시는 느린 마더 보드 또는 L2 (Level 2) 캐시와 구별하기 위해 레벨 1 또는 L1 캐시라고 불렀습니다. 이 마더 보드 캐시는 훨씬 더 크며 가장 일반적인 크기는 256KB입니다.
386, 486, 그리고 x86의 격동하는 시간 동안, 386 시대에 필요한 모든 COM을로드 할 수있는 충분한 L1 캐시가 없었기 때문에 마우스, 사운드, CDROM, MEMCACHE에 대해 생각해 보면 일부 DOS 게임이 486에서 올바르게 실행되지 않았습니다. 예를 들어 마우스로 게임을 즐기려면 사운드가없는 게임을 선택해야합니다.
.exe
파일?