도스
1. 개요
1. 개요
도스는 디스크 운영 체제를 가리키는 일반 명사이다. 동시에 텍스트 기반(CLI)의 대표적인 초기 개인용 컴퓨터 운영 체제를 통칭하는 용어로도 널리 사용된다. CP/M부터 MS-DOS에 이르기까지 다양한 종류가 존재하며, 이들은 검은 화면에 키보드로 명령어를 입력하는 문자 입력 인터페이스를 공통적으로 가진다.
이 운영 체제들은 8.3 파일 체제라는 독특한 파일 시스템을 사용한다. 이는 파일 이름을 영문 기준 최대 8자, 확장자를 3자까지만 지정할 수 있는 제한으로, 당시의 기술적 한계를 반영한 특징이다. 이러한 제약은 이후 마이크로소프트 윈도우가 긴 파일 이름을 지원하면서도 호환성을 위해 특별한 규칙(예: '~1' 형식)으로 남게 되었다.
MS-DOS는 마이크로소프트가 개발한 가장 대표적인 도스로, IBM PC와 함께 크게 성공했다. 윈도우 3.1까지의 마이크로소프트 윈도우는 MS-DOS 상에서 실행되는 응용 프로그램에 불과했다. 이후 윈도우 95, 윈도우 98, 윈도우 미에 해당하는 윈도우 9x 계열은 개조된 MS-DOS 위에 구동되는 형태였으나, 윈도우 NT 계열(윈도우 XP 이후)로 완전히 전환되면서 도스는 운영 체제의 주류에서 사라지게 되었다.
현대의 윈도우에 포함된 명령 프롬프트(cmd.exe)는 외형이 비슷할 뿐 근본적으로 다른 프로그램이며, 진정한 도스 환경은 FreeDOS와 같은 호환 운영 체제나 가상 머신을 통해 경험할 수 있다.
2. 종류
2. 종류
2.1. CP/M
2.1. CP/M
CP/M(Control Program for Microcomputers)은 디지털 리서치에서 개발된 CLI 기반의 운영 체제이다. 이 시스템은 초기 8비트 개인용 컴퓨터 시장에서 사실상의 표준으로 자리 잡았으며, 이후 등장하는 MS-DOS를 비롯한 다양한 도스 계열 운영 체제의 기반이 되었다. CP/M은 인텔 8080 및 Z80 마이크로프로세서를 사용하는 컴퓨터에서 널리 사용되었다.
CP/M의 구조는 이후 운영 체제 설계에 큰 영향을 미쳤다. 시스템은 기본 입출력 시스템(BIOS), 기본 디스크 운영 시스템(BDOS), 그리고 콘솔 명령 처리기(CCP)라는 세 가지 주요 구성 요소로 이루어져 있었다. 이러한 모듈식 설계는 서로 다른 하드웨어에 이식하기 쉽게 만들어 주었으며, 이는 CP/M이 다양한 컴퓨터 플랫폼에서 성공할 수 있는 핵심 요인이 되었다.
파일 시스템 측면에서 CP/M은 8.3 파일 체제의 초기 형태를 사용했다. 사용자는 파일 이름에 최대 8자, 확장자에 최대 3자를 사용할 수 있었다. 이 제한은 당시의 기술적 한계와 저장 매체의 특성을 반영한 것이었으며, 이후 MS-DOS를 거쳐 오랜 시간 동안 컴퓨팅 환경에 영향을 미쳤다.
CP/M의 영향력은 IBM이 IBM PC를 개발하면서 새로운 국면을 맞이했다. IBM은 원래 CP/M을 채택하려 했으나, 최종적으로는 CP/M과 유사한 86-DOS(QDOS)를 기반으로 한 MS-DOS를 선택했다. 이 결정은 마이크로소프트의 부상을 결정짓는 계기가 되었고, CP/M은 점차 시장 점유율을 잃게 되었다. 그러나 CP/M이 초기 마이크로컴퓨터 생태계에 미친 공헌과 설계적 유산은 지속적으로 평가받고 있다.
2.2. MS-DOS
2.2. MS-DOS
MS-DOS는 마이크로소프트가 개발한 도스 계열의 대표적인 운영 체제이다. IBM PC 호환기종의 표준 운영 체제로 자리 잡으며 1980년대와 1990년대 초반 개인용 컴퓨터 시장을 지배했다. 그 기원은 시애틀 컴퓨터 프로덕츠의 86-DOS(원래 이름은 QDOS)를 마이크로소프트가 인수하여 IBM에 공급한 데서 비롯된다. 이 시스템은 디지털 리서치의 CP/M 운영 체제와 개념적으로 유사했으며, 초기 IBM PC의 하드웨어에 맞게 수정 및 발전되었다.
MS-DOS의 핵심 특징은 CLI 기반의 텍스트 인터페이스와 8.3 파일 체제를 사용한다는 점이다. 사용자는 검은 화면의 프롬프트에 DIR, COPY, DEL과 같은 명령어를 직접 입력하여 파일 관리나 프로그램 실행을 해야 했다. 이러한 단순하고 가벼운 구조는 당시 제한된 하드웨어 자원에서 효율적으로 작동할 수 있게 해주었지만, 동시에 사용자에게 진입 장벽이 되기도 했다.
마이크로소프트 윈도우와의 관계는 MS-DOS의 역사에서 매우 중요하다. 초기 버전인 윈도우 1.0부터 윈도우 3.1까지는 MS-DOS 상에서 실행되는 그래픽 사용자 인터페이스 응용 프로그램에 불과했다. 이후 윈도우 95, 윈도우 98, 윈도우 미로 이어지는 윈도우 9x 계열은 개조된 MS-DOS(7.x~8.x)를 기반으로 구동되었으나, 점차 독립적인 운영 체제로서의 성격을 강화해 나갔다.
마이크로소프트의 윈도우 NT 커널 기반 운영 체제(윈도우 2000, 윈도우 XP 등)가 본격적으로 보급되면서 MS-DOS는 독립적인 운영 체제로서의 생명력을 잃었다. NT 계열에는 MS-DOS 커널이 포함되지 않으며, 명령 프롬프트(cmd.exe)는 외형만 비슷할 뿐 근본적으로 다른 프로그램이다. 그러나 MS-DOS는 현대 윈도우의 파일 경로 규칙이나 하위 호환성 구조에 깊은 유산을 남겼다.
2.3. DR-DOS
2.3. DR-DOS
DR-DOS는 디지털 리서치(Digital Research)가 개발한 MS-DOS 호환 운영 체제이다. 원래 CP/M-86의 후속으로 기획되었으나, IBM PC 호환기기 시장에서 마이크로소프트의 MS-DOS가 사실상의 표준이 되자, 이와의 호환성을 중점으로 개발 방향을 전환하였다. DR-DOS는 MS-DOS와의 높은 호환성을 유지하면서도 메모리 관리나 디스크 압축 같은 추가 기능을 제공하여 일부 사용자들에게 인기를 끌었다.
주요 버전으로는 DR DOS 5.0과 6.0이 있으며, 특히 DR DOS 6.0은 도스 환경에서 고급 메모리 관리와 디스크 압축 기능을 내장한 것으로 유명하다. 이는 당시 MS-DOS의 기능적 한계를 보완하는 장점으로 작용했다. 이후 디지털 리서치가 노벨에 인수되면서 Novell DOS로 이름이 바뀌었고, 다시 칼데라와 라인오로 판권이 이전되며 Caldera OpenDOS 등의 이름으로도 불렸다.
DR-DOS의 역사는 MS-DOS와의 호환성 경쟁과 법적 분쟁이 얽혀 있다. 마이크로소프트는 윈도우가 DR-DOS에서 정상적으로 작동하지 않도록 하는 코드를 포함시켰다는 의혹을 받았으며, 이는 후에 반독점법 소송의 쟁점이 되기도 했다. 현재 DR-DOS의 권리는 드라이스뎅 사에 있으며, 상용 및 임베디드 시장을 대상으로 한 버전이 여전히 유지보수되고 있다.
2.4. FreeDOS
2.4. FreeDOS
FreeDOS는 1994년에 시작된 MS-DOS 호환 오픈 소스 운영 체제 프로젝트이다. 당시 마이크로소프트가 MS-DOS의 개발을 중단하고 윈도우로 완전히 전환하자, 이를 대체할 자유 소프트웨어가 필요하다는 생각에서 제임스 할란이 시작했다. 이 프로젝트의 주요 목표는 완전한 MS-DOS 호환성을 유지하면서도 현대적인 하드웨어와 소프트웨어에서도 구동될 수 있는 무료 도스 환경을 제공하는 것이다.
FreeDOS는 GNU 일반 공중 사용 허가서 하에 배포되며, 누구나 자유롭게 사용, 수정, 배포할 수 있다. 이 운영 체제는 IBM PC 호환기종과의 높은 호환성을 유지하며, 특히 레거시 소프트웨어를 실행하거나 임베디드 시스템을 구축하는 데 유용하게 쓰인다. 또한 가상 머신 환경에서 역사적 교육이나 소프트웨어 테스트 목적으로도 널리 활용된다.
FreeDOS의 구성 요소는 커널(커널)인 kernel.sys, 그리고 COMMAND.COM을 대체하는 셸인 FreeCOM 등으로 이루어져 있다. 이 프로젝트는 전 세계의 자원봉사 개발자들에 의해 지속적으로 유지보수되고 있으며, 패키지 관리자를 통해 다양한 유틸리티 소프트웨어와 응용 소프트웨어를 설치할 수 있는 생태계를 갖추고 있다.
현재 FreeDOS는 DR-DOS와 함께 현존하는 주요 도스 계열 운영 체제 중 하나로, 고전 PC 게임 구동이나 산업용 장비 제어 등 특정 분야에서 실용적으로 사용되고 있다. 이는 도스가 현역 운영 체제였던 시대의 소프트웨어와 하드웨어를 보존하고 계속 활용할 수 있는 길을 제공한다는 점에서 중요한 의미를 가진다.
2.5. 기타 DOS
2.5. 기타 DOS
"기타 DOS"에는 MS-DOS와 직접적인 호환성은 없지만, 디스크 운영 체제라는 일반 명사로서의 도스 범주에 속하는 다양한 운영 체제들이 포함된다.
애플 II 컴퓨터를 위해 애플에서 개발한 애플 도스와 그 후속작인 프로 도스가 대표적이다. MSX 컴퓨터용으로 마이크로소프트가 개발한 MSX-DOS는 외관과 명령어 체계는 MS-DOS 1.0을 모방했으나, 내부적으로는 CP/M과의 호환성을 지녀 애플리케이션 인프라를 활용했다. 아타리 8비트 및 아타리 ST 시리즈용 아타리 도스와, 샤프의 X68000 컴퓨터 전용 휴먼68k 등도 주요한 기타 DOS에 속한다.
이들 운영 체제는 특정 하드웨어 플랫폼에 최적화되어 개발되었으며, CLI 기반의 사용자 인터페이스와 8.3 파일 체제를 공통적으로 사용하는 경우가 많았다. PC-9801 시리즈 전용으로 개발된 앨리스 도스와 같은 변종 DOS들도 존재하여, 특정 컴퓨터 아키텍처에서 더 나은 성능을 제공하기 위해 등장했다.
이러한 다양한 DOS들은 개인용 컴퓨터 초기 시장이 하드웨어별로 분화되어 있었음을 보여주는 사례이다. 이후 IBM PC 호환기종과 MS-DOS가 시장을 지배하면서 이들 플랫폼 특화 DOS들은 점차 그 입지를 잃게 되었다.
3. 특징
3. 특징
3.1. CLI 기반 인터페이스
3.1. CLI 기반 인터페이스
도스의 가장 큰 특징은 CLI 기반 인터페이스이다. 사용자는 검은 화면에 표시되는 프롬프트에 키보드로 명령어를 직접 입력하여 시스템을 조작한다. 이는 마우스를 사용하는 그래픽 사용자 인터페이스와는 대조되는, 초기 개인용 컴퓨터 운영 체제의 전형적인 모습이었다. 모든 작업은 특정 명령어와 그에 따른 옵션이나 매개변수를 정확히 입력해야만 수행될 수 있었다.
이러한 텍스트 기반 환경은 시스템 자원을 적게 사용하고 빠른 반응 속도를 제공하는 장점이 있었다. 사용자는 디렉터리 이동, 파일 복사 및 삭제, 프로그램 실행 등 모든 작업을 일련의 명령어 조합으로 처리했다. 그러나 동시에 사용자가 모든 명령어와 문법을 외우고 있어야 하는 높은 진입 장벽을 형성했으며, 시각적인 피드백이 제한적이었다.
도스의 CLI 환경은 이후 마이크로소프트 윈도우의 명령 프롬프트에 그 형태를 일부 계승했다. 그러나 명령 프롬프트는 외형만 비슷할 뿐, 내부 커널과 구조는 완전히 다르다. 현대의 파워셸은 이 명령줄 인터페이스의 진화된 형태로 볼 수 있다.
3.2. 8.3 파일 체제
3.2. 8.3 파일 체제
도스 운영 체제의 대표적인 특징 중 하나는 8.3 파일 체제를 사용한다는 점이다. 이는 파일 이름이 최대 8자, 그리고 점(.) 뒤에 오는 확장자가 최대 3자로 구성되어야 하는 제한적인 파일 명명 규칙을 의미한다. 이 체제는 CP/M 운영 체제의 파일 시스템에서 유래했으며, MS-DOS를 비롯한 대부분의 도스 계열 운영 체제가 이를 채택했다. 당시 컴퓨터의 메모리와 저장 공간이 제한적이었기 때문에 파일 시스템의 구조를 단순하게 유지하기 위한 실용적인 선택이었다.
이러한 제약은 사용자에게 불편을 초래했으며, 긴 파일 이름을 가진 문서나 프로그램을 다루기 어렵게 만들었다. 예를 들어, "business_plan_2024.docx"와 같은 파일은 도스 환경에서 "BUSINES~1.DOC"와 같이 앞의 6자와 물결표(~), 순서를 나타내는 숫자로 축약되어 인식되었다. 윈도우 95와 윈도우 98과 같은 윈도우 9x 계열 운영 체제는 긴 파일 이름(Long File Name, LFN)을 지원했지만, 내부적으로는 하위 호환성을 위해 8.3 형식의 짧은 파일 이름도 함께 유지했다.
8.3 파일 체제의 유산은 현대 운영 체제에서도 일부 남아있다. 윈도우 NT 계열(윈도우 XP 이후)의 명령 프롬프트나 특정 시스템 파일 경로에서 이 형식의 축약 이름을偶尔 확인할 수 있다. 이는 완전히 새로운 파일 시스템을 설계한 윈도우 NT가 과거의 소프트웨어 및 시스템과의 호환성을 유지해야 했기 때문이다. 결국, 8.3 파일 체제는 초기 개인용 컴퓨터 시대의 기술적 한계를 보여주는 동시에, 하위 호환성의 중요성을 일깨워주는 역사적 특징으로 기록된다.
3.3. 윈도우와의 관계
3.3. 윈도우와의 관계
마이크로소프트 윈도우의 초기 버전들은 MS-DOS와 밀접한 관계를 가졌다. 윈도우 3.1까지는 윈도우 자체가 MS-DOS 상에서 실행되는 하나의 응용 프로그램에 불과했다. 사용자는 먼저 도스 프롬프트로 컴퓨터를 부팅한 후, 'WIN' 명령어를 입력해야만 그래픽 사용자 인터페이스인 윈도우를 실행할 수 있었다.
이 관계는 윈도우 95, 윈도우 98, 윈도우 미로 대표되는 윈도우 9x 계열에서 변화했다. 이 시리즈는 내부적으로 개조된 MS-DOS 7.x~8.x를 기반으로 구동되었지만, 부팅 과정이 단순화되어 사용자에게는 도스 단계가 거의 노출되지 않았다. 그러나 여전히 도스는 하부 구조로 존재했으며, 시스템 종료 메뉴를 통해 'MS-DOS 모드로 재시작'하는 기능을 제공해 기존 도스용 프로그램을 실행할 수 있도록 했다.
윈도우 NT 커널을 기반으로 한 윈도우 XP 이후의 운영 체제부터는 근본적인 변화가 일어났다. NT 계열은 처음부터 도스를 포함하지 않은 독자적인 커널로 설계되었다. 따라서 윈도우 XP 이후 버전에서 제공되는 명령 프롬프트(cmd.exe)는 외형만 비슷할 뿐, MS-DOS와는 전혀 다른 프로그램이다. 32비트 윈도우에서는 NTVDM이라는 호환성 계층을 통해 일부 도스 프로그램을 실행할 수 있었지만, 64비트 버전에서는 이 기능이 완전히 제거되었다.
이러한 역사적 과정을 통해, 도스는 독립적인 운영 체제로서의 지위를 상실했지만, 그 명령어 체계와 개념의 일부는 윈도우의 명령 프롬프트를 통해 유산으로 남아 있다. 현대의 파워셸이 명령줄 인터페이스의 새로운 표준으로 자리 잡고 있지만, 여전히 많은 시스템 관리 명령어는 도스 시대의 구문을 계승하고 있다.
4. 명령어
4. 명령어
도스의 명령어는 사용자가 키보드로 직접 입력하여 시스템을 제어하는 기본적인 수단이다. CLI 환경에서 모든 작업은 특정 명령어를 프롬프트에 입력하고 실행하는 방식으로 이루어진다. 주요 명령어는 파일 시스템 관리, 디렉터리 탐색, 프로그램 실행, 시스템 설정 등 기본 운영 체제 기능을 수행한다.
파일과 디렉터리를 다루는 명령어가 핵심을 이룬다. DIR 명령은 현재 디렉터리의 파일 목록을 보여주며, CD 명령으로 디렉터리를 이동할 수 있다. 파일을 복사하는 COPY, 이름을 변경하는 REN, 삭제하는 DEL 명령이 자주 사용된다. 또한 FORMAT 명령은 디스크를 초기화하고, FDISK 명령은 하드 디스크 파티션을 관리하는 등 시스템 유지보수 기능도 제공한다.
이러한 명령어들은 배치 파일이라는 스크립트에 기록하여 자동화할 수 있다. .BAT 확장자를 가진 배치 파일은 일련의 도스 명령어를 순차적으로 실행하며, 초기 시스템 시작을 담당하는 AUTOEXEC.BAT 파일이 대표적이다. 명령어 인터프리터인 COMMAND.COM(또는 4DOS 같은 대체 프로그램)이 이러한 명령어와 배치 파일을 해석하고 실행하는 역할을 담당했다.
윈도우의 명령 프롬프트(cmd.exe)는 외형과 기본 명령 체계를 도스에서 차용했지만, 내부 커널은 완전히 다르다. 현대의 윈도우에서는 도스 명령어의 상당수가 호환성을 위해 유지되고 있지만, 파워셸 같은 더 강력한 스크립팅 환경으로 점차 대체되고 있는 추세이다.
5. 역사
5. 역사
5.1. 초기 발전
5.1. 초기 발전
도스의 초기 발전은 1970년대 후반 개인용 컴퓨터의 등장과 함께 시작되었다. 최초의 성공적인 디스크 운영 체제는 디지털 리서치가 1974년에 개발한 CP/M이다. CP/M은 8비트 인텔 8080 및 Z80 마이크로프로세서를 사용하는 초기 마이크로컴퓨터에서 널리 채택되었으며, 사실상의 산업 표준이 되었다. 이 시스템은 CLI 기반의 사용자 인터페이스와 간단한 파일 관리 체계를 제공하여 당시 컴퓨팅 환경의 기초를 마련했다.
1980년대 초, IBM이 새로운 개인용 컴퓨터(PC)를 개발하면서 운영 체제를 찾게 되었다. IBM은 처음에 CP/M을 라이선스하려 했으나 협상이 지연되자, 대안을 모색하게 된다. 이 시기에 시애틀 컴퓨터 프로덕츠는 인텔 8086 프로세서용으로 'QDOS'(Quick and Dirty Operating System)라는 CP/M과 유사한 운영 체제를 개발했으며, 이는 나중에 86-DOS로 이름이 바뀌었다.
마이크로소프트는 IBM과의 계약을 위해 86-DOS의 라이선스를 취득한 후, 이를 대폭 수정하고 개선하여 MS-DOS 1.0을 탄생시켰다. 1981년 IBM PC와 함께 'PC DOS'라는 이름으로 출시된 이 운영 체제는 IBM PC의 폭발적인 성공과 함께 시장을 주도하게 되었다. MS-DOS는 CP/M의 기본 개념을 계승하면서도 IBM PC 하드웨어에 특화되어 더 나은 성능과 호환성을 제공했다.
이러한 초기 발전을 통해 DOS는 개인용 컴퓨터의 필수 운영 체제로 자리 잡았으며, 이후 수많은 호환기종(IBM PC 호환기종)에서 표준 플랫폼이 되었다. MS-DOS의 성공은 마이크로소프트의 성장에 결정적인 계기가 되었고, 이후 윈도우 그래픽 환경의 토대를 제공하는 결과로 이어졌다.
5.2. 윈도우 통합 및 쇠퇴
5.2. 윈도우 통합 및 쇠퇴
1990년대 초반까지 마이크로소프트 윈도우는 MS-DOS 상에서 실행되는 응용 프로그램에 불과했다. 그러나 윈도우 3.1이 널리 보급되면서 윈도우 자체가 사실상의 운영 체제로 인식되기 시작했고, 사용자 인터페이스의 중심은 점차 그래픽 사용자 인터페이스(GUI)로 이동했다.
이러한 변화는 윈도우 95, 윈도우 98, 윈도우 미로 이어지는 윈도우 9x 계열에서 더욱 뚜렷해졌다. 이들 시스템은 내부적으로 개조된 MS-DOS 7.x~8.x를 기반으로 구동되었지만, MS-DOS의 역할은 윈도우를 부팅하기 위한 하부 구조로 한정되었다. 사용자 대부분은 윈도우 환경에서 모든 작업을 처리했으며, 순수한 도스 모드로 전환하여 명령어를 직접 입력하는 경우는 점차 사라져갔다. 하지만 기존 도스용 소프트웨어 호환성을 위해 윈도우 98까지는 시스템 종료 메뉴에 'MS-DOS 모드로 다시 시작' 옵션이 유지되었다.
도스의 쇠퇴는 윈도우 NT 커널 기반 운영 체제의 등장으로 결정적이 되었다. 윈도우 2000과 윈도우 XP부터 본격적으로 보급된 NT 계열은 설계 단계부터 MS-DOS를 포함하지 않은 완전히 새로운 커널을 채용했다. 이로 인해 도스는 더 이상 운영 체제의 핵심 부분이 아닌 호환성 계층의 하나로 전락했다. 2001년 윈도우 XP가 대중화되면서 도스는 역사의 뒤안길로 사라졌으며, 현대 마이크로소프트 윈도우의 명령 프롬프트(cmd.exe)는 비슷한 명령어 체계를 가졌을 뿐, 근본적으로 다른 프로그램이다.
5.3. 현대의 유산
5.3. 현대의 유산
도스는 현대 컴퓨팅 환경에서도 그 유산을 남기고 있다. 마이크로소프트 윈도우의 명령 프롬프트(cmd.exe)는 사용자 인터페이스와 기본 명령어 체계에서 도스의 영향을 강하게 받았다. 또한, 윈도우 NT 계열 운영 체제에서 32비트 버전까지 제공되던 NTVDM(Windows NT Virtual DOS Machine)은 구형 도스 응용 프로그램을 실행할 수 있는 호환성 계층이었다.
도스의 직접적인 후계 운영 체제로는 FreeDOS가 활발히 개발되고 있으며, 특히 임베디드 시스템이나 레거시 소프트웨어를 구동해야 하는 특수한 환경에서 사용된다. 이는 도스가 가진 경량성과 단순함이 현대에도 유용하게 쓰일 수 있음을 보여준다. 또한, 리눅스나 유닉스 계열의 터미널 환경은 도스의 CLI(명령 줄 인터페이스) 철학을 이어받아 텍스트 기반의 강력한 제어 방식을 고수하고 있다.
도스의 기술적 제약에서 비롯된 8.3 파일 체제의 영향도 완전히 사라지지 않았다. 긴 파일 이름을 지원하는 현대 파일 시스템에서도 하위 호환성을 위해 짧은 파일 이름을 생성하는 기능이 남아 있는 경우가 있다. 이처럼 도스는 개인용 컴퓨터 운영 체제의 초기 형태로서, 사용자 인터페이스, 파일 관리 방식, 시스템 아키텍처에 걸쳐 지속적인 영향을 미치고 있다.
