COM 파일

파일 확장자 .com은 다양한 컴퓨터 시스템에서 다른 목적으로 사용되어 왔다. 초기에, 이 용어는 "명령 파일"을 대표하는 말이었으며 운영 체제에 내보낼 명령어를 포함하는 텍스트 파일이었다. 1970년대로 거슬러 올라가서, 디지털 이큅먼트 코퍼레이션 미니컴퓨터 및 메인프레임 컴퓨터 시스템에 실용적으로 쓰이게 되었다.

마이크로컴퓨터의 도입과 더불어, 확장자 .com으로 끝나는 파일의 사용은 점차 바뀌어 갔다. MS-DOS 호환 도스와 8 비트 CP/M에서 COM 파일은 단순히 실행 파일의 종류이다.

이 파일 형식의 이름은 파일 확장자 .com에서 나온 것이며(최상위 도메인 .com과 헷갈리지 말 것) 각 파일에 쓰이는 초기의 확장자였다. 그러나 CP/M과 매우 초기의 MS-DOS 버전을 제외하고는 파일 형식과 파일 확장자 사이의 실제적인 통합은 없었다.

플랫폼 지원 
이 포맷은 여전히 현대의 윈도우 기반의 플랫폼의 실행 파일이지만 MS-DOS 가상 구현 체계에서 돌아간다. x64 계열의 운영 체제에서는 이러한 가상 구현 체계가 없으므로 실행되지 않는다. (역자 주: 가상 구현에 대해서는 NTVDM 참조)

COM 파일은 또한 도스박스와 같은 도스 에뮬레이터를 사용하여 실행할 수 있다. 이 에뮬레이터는 모든 플랫폼에서 지원한다. "COM"은 "core image"(코어 이미지)의 준말이며, 이러한 .com 파일이 컴퓨터에서 실행할 수 있는 기본 명령어에 대한 코드를 포함했기 때문에 "command"(명령어)로 해석되기도 한다.

이진 포맷 
COM 포맷은 가장 단순한 실행 포맷이며, 메타데이터는 없고, 코드와 데이터만 포함하고 있으며 일부 세그먼트의 오프셋 0x0100에서 로드되어 실행된다. 세그멘테이션 모델이 잘 동작하기 때문에 구조 배치가 필요하지 않다. 파일 크기가 파일 시스템의 최대 용량을 지원하는 EXE 파일과는 달리 COM의 최대 지원 용량은 65536바이트(64키비바이트)이다.

실행 우선도 
실행 파일로는 EXE, COM, BAT 등이 있다. 이를테면, 한 디렉터리가 COM 파일과 EXE 파일이 확장자만 다르고 같은 이름을 가지고 있다고 하면 이 경우 COM 파일이 우선하여 실행된다.

외부 링크 
  John Elliott's article on the extended CP/M-80 3.0 COM file header 

도스 기술
실행 파일 포맷