맨위로가기

도스

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

도스(DOS)는 디지털 리서치의 CP/M을 기반으로 개발된 운영 체제로, IBM PC 호환 기종에서 널리 사용되었다. MS-DOS는 IBM PC 출시와 함께 표준 운영 체제로 자리 잡았으며, 윈도우 95의 등장과 함께 사용이 급격히 감소했다. 현재는 FreeDOS, DR-DOS 등의 파생 운영 체제와 도스 에뮬레이터가 존재하며, 임베디드 시스템 및 오래된 게임 실행 등에 활용된다. 도스는 명령 줄 인터페이스를 사용하며, 파일 시스템(FAT)과 메모리 관리 방식을 갖추고 있다. 다양한 응용 프로그램과 개발 도구가 출시되었으며, OS/2 및 윈도우에서도 가상 머신을 통해 도스 에뮬레이션을 지원한다.

더 읽어볼만한 페이지

  • 도스 - 배치 파일
    배치 파일은 MS-DOS, 윈도우, OS/2 운영 체제에서 명령 인터프리터가 순차적으로 명령을 실행하도록 하는 스크립트 파일로, 시스템 초기화 및 환경 설정에 활용되었으며, 동적인 환경 변수, 조건 분기, 루프 등의 프로그래밍 기능을 지원한다.
  • 도스 - 디스크 파티션
    디스크 파티션은 물리적인 하드 디스크를 독립적인 영역으로 나누어 여러 파일 시스템을 구성하고 접근 제어 및 장애 격리를 통해 시스템 안정성과 관리 효율성을 높이는 과정 또는 결과이다.
  • 디스크 운영체제 - MS-DOS
    MS-DOS는 마이크로소프트가 개발한 개인용 컴퓨터용 디스크 운영 체제로, IBM PC의 표준 운영 체제로 널리 사용되었으며, 단일 작업 환경과 명령줄 인터페이스를 특징으로 한다.
  • 디스크 운영체제 - CP/M
    CP/M은 게리 킬달이 개발한 8비트 마이크로컴퓨터용 운영체제로, 플로피 디스크 기반의 다양한 하드웨어 플랫폼에서 작동하며, 뛰어난 이식성과 방대한 소프트웨어 라이브러리를 바탕으로 1980년대 초반 널리 사용되었으나, MS-DOS의 부상으로 시장 점유율을 잃었지만 MS-DOS와 초기 윈도우 운영체제에 영향을 미쳤다.
  • 미국의 발명품 - 텔레비전
    텔레비전은 움직이는 영상과 소리를 전기 신호로 변환하여 전송하고 수신 측에서 다시 영상과 소리로 바꾸는 기술을 이용한 매체로, 닙코프 원판을 이용한 초기 기계식 방식에서 음극선관 발명을 통해 전자식으로 발전하여 디지털 기술과 다양한 디스플레이 기술 발전을 거쳐 현재에 이르렀으며 사회, 문화, 경제적으로 큰 영향을 미치지만 건강 문제 및 부정적 콘텐츠 노출 등의 부작용도 존재한다.
  • 미국의 발명품 - 태양 전지
    태양전지는 빛 에너지를 전기 에너지로 변환하는 장치로, 기술 발전을 거듭하여 발전 효율이 크게 향상되었고 다양한 분야에 응용되고 있으며, 고집광 태양전지와 페로브스카이트 태양전지 등의 새로운 기술 개발과 투자가 지속적으로 요구되는 지속 가능한 에너지원이다.
도스
개요
MS-DOS 6.22 스크린샷
MS-DOS 6.22 스크린샷
개발사마이크로소프트
종류디스크 운영 체제
라이선스독점 소프트웨어
상세 정보
커널 종류모놀리식 커널
사용자 인터페이스명령 줄 인터페이스
지원 CPUx86
출시일1981년 8월
최신 버전MS-DOS 6.22 (1994년)
역사
개발 시작1980년대 초
기반 운영 체제86-DOS
영향 받은 운영 체제마이크로소프트 윈도우
기타 정보
언어어셈블리어, C 언어
상태단종

2. 역사

디지털 리서치CP/M은 도스의 원형으로, 8비트 개인용 컴퓨터에서 널리 사용되었다. 애플 II애플 도스를, MSX는 MSX-DOS를 사용했지만, 이들도 나중에 CP/M을 지원했다. IBM-PC에서는 CP/M을 모방한 QDOS로부터 PC-DOS와 MS-DOS가 나왔으며, CP/M-86을 바탕으로 DR-DOS가 개발되었다.

IBM PC DOS (별도 판매된 MS-DOS)와 그 전신인 86-DOS는 인텔 8086 16비트 프로세서에서 실행되었다. MS-DOS는 CP/M 애플리케이션을 쉽게 포팅할 수 있도록 8비트 인텔 8080 및 Zilog Z80 마이크로컴퓨터용 CP/M과 유사하게 개발되었다.[3]

IBM인텔 8088 마이크로프로세서를 사용한 IBM PC를 출시하면서 운영 체제가 필요했다. 존 오펠 회장은 메리 맥스웰 게이츠를 통해 빌 게이츠를 소개받았고, IBM은 디지털 리서치에 연락하여 회의를 가졌으나 CP/M 사용 협상은 결렬되었다. 디지털 리서치는 로열티 기반 판매를 원했지만, IBM은 단일 라이선스와 "PC DOS"로의 이름 변경을 원했다. 게리 키달은 이를 거절했고, IBM은 철수했다.[4][5]

IBM은 다시 빌 게이츠에게 접근했고, 빌 게이츠는 시애틀 컴퓨터 프로덕츠에 접근했다. 팀 패터슨S-100 버스인텔 8086 CPU 카드 테스트를 위한 QDOS를 개발했다. 마이크로소프트는 86-DOS를 인수하여 1981년 MS-DOS를 출시했다.

MS-DOS는 1년 만에 70개 이상의 회사에 라이선스되었고,[6] IBM PC 호환 기종의 표준 운영 체제가 되었다. IBM은 PC DOS를 계속 개발했고, 디지털 리서치는 CP/M-86과 유사한 운영 체제가 판매되는 것을 알고 법적 조치를 위협했다. IBM은 PC DOS 또는 CP/M-86 선택을 제안했고, CP/M은 PC DOS보다 비싸 판매량이 저조했다.[4]

마이크로소프트는 원래 MS-DOS를 OEM에만 판매했다. 초기 PC는 100% IBM PC 호환이 아니었기 때문에 DOS는 시스템별 장치 드라이버 코드(IO.SYS)와 DOS 커널(MSDOS.SYS) 간 분리 구조를 가졌다. 1990년대 초 대부분의 PC가 IBM PC 표준을 준수하게 되자 MS-DOS 5.0부터 소매 버전을 판매하기 시작했다.

1980년대 중반, 마이크로소프트는 멀티태스킹 버전의 DOS를 개발했다.[7][8] "유럽 MS-DOS 4"라고 불리는 이 버전은 ICL을 위해 개발되었고, 선점형 멀티태스킹, 공유 메모리, 장치 도우미 서비스 및 New Executable("NE") 형식 실행 파일을 지원했지만, 이후 버전의 DOS에서 사용되지 않았다.

디지털 리서치는 Concurrent DOS, FlexOS, DOS Plus, Multiuser DOS, DR DOS 등으로 CP/M-86에서 잃은 시장을 되찾으려 시도했다. 디지털 리서치는 노벨에 인수되었고, DR DOS는 PalmDOS, 노벨 도스, 칼데라 오픈도스, Lineo, DeviceLogics로 이어졌다.

Gordon Letwin은 1995년에 "DOS는 IBM을 만족시키기 위한 일회성 제품이었다"라고 썼다. 마이크로소프트는 Xenix 도입 전 임시 해결책으로 예상하고, MS-DOS를 개선하여 XEDOS와 구별할 수 없게 만들 계획이었다.[9][10]

그러나 IBM은 DOS를 대체하려 하지 않았고,[11] AT&T가 Unix를 판매하기 시작한 후, 마이크로소프트와 IBM은 OS/2를 개발하기 시작했다.[12] 두 회사는 OS/2와 Windows를 놓고 의견 불일치를 겪었고,[13] DOS 시스템 개발이 분리되었다.[14] MS-DOS의 마지막 소매 버전은 MS-DOS 6.22였고, 이후 Windows 95, 98, Me의 일부가 되었다. PC DOS의 마지막 소매 버전은 PC DOS 2000이었지만, IBM은 OEM 및 내부 용도로 PC DOS 7.10을 개발했다.

FreeDOS 프로젝트는 1994년 6월 26일에 시작되었는데, 마이크로소프트가 더 이상 MS-DOS를 판매하거나 지원하지 않겠다고 발표했을 때이다. 짐 홀은 오픈 소스 대체물 개발을 제안했고, 팻 빌라니와 팀 노먼 등이 합류했다. 2006년 9월 3일에 FreeDOS 1.0 배포판이 출시되었다. GPL에 따라 사용할 수 있으며, FreeDOS는 라이선스 수수료나 로열티를 요구하지 않는다.[15][16]

초기 버전의 마이크로소프트 윈도우는 MS-DOS에서 실행되었다.[26] 1990년대 초반, 윈도우 그래픽 셸은 새로운 DOS 시스템에서 널리 사용되었다. 1995년, 윈도우 95는 별도의 DOS 라이선스가 필요 없는 독립형 운영 체제로 번들로 제공되었다. 윈도우 95(및 윈도우 98과 ME)는 기본 OS 커널로 자리를 잡았지만, MS-DOS 구성 요소는 호환성을 위해 유지되었다. 윈도우 95와 98에서는 ME와 달리, 윈도우를 시작하지 않고 MS-DOS 구성 요소를 실행할 수 있었다.[17][18][19] 윈도우를 사용하기 위해 더 이상 DOS가 필요하지 않게 되면서, 대다수의 사용자는 DOS를 직접 사용하는 것을 중단했다.

2. 1. 초기의 도스

디지털 리서치CP/M은 도스의 원형으로 여겨진다. 8비트 개인용 컴퓨터에서 널리 사용된 CP/M은 MS-DOS의 개발에 큰 영향을 미쳤다.[3] 애플 II애플 도스, MSX는 MSX-DOS를 사용했지만, 이들 역시 나중에 CP/M을 지원했다.

IBM인텔 8088 마이크로프로세서를 사용한 IBM PC를 출시하면서 운영 체제가 필요했다. IBM은 당초 디지털 리서치와 CP/M 사용 협상을 진행했으나, 라이선스 조건에 대한 이견으로 결렬되었다.[4][5]

시뮬레이션된 SCP 86-DOS 세션


이후 IBM은 빌 게이츠에게 접근했고, 빌 게이츠는 다시 시애틀 컴퓨터 프로덕츠에 접근했다. 시애틀 컴퓨터 프로덕츠의 프로그래머 팀 패터슨은 CP/M-80의 변형인 QDOS(Quick and Dirty Operating System)를 개발했다. 마이크로소프트는 50000USD에 86-DOS를 인수하여 1981년 MS-DOS를 출시했다.[6]

MS-DOS는 1년 만에 70개 이상의 회사에 라이선스되었고,[6] IBM PC 호환 기종의 사실상 표준 운영 체제가 되었다. 디지털 리서치는 CP/M-86을 기반으로 DR-DOS를 개발하여 MS-DOS와 경쟁했다. DR-DOS는 이후 노벨 도스, 칼데라 오픈도스 등으로 이름을 변경하며 명맥을 이어갔다.

현재는 DR-DOS의 후기작인 오픈도스와, 공개 도스 프로젝트인 프리도스가 개발되어 도스의 명맥을 잇고 있다. 프리도스 프로젝트는 1994년에 시작되었으며, 2006년에 1.0 배포판이 출시되었다.[15][16]

2. 2. 쇠퇴

마이크로소프트 윈도우 초기 버전은 별도 버전의 도스 위에서 실행되었다.[59] 1990년대 초, 윈도우의 그래픽 셸은 도스 시스템에서 많이 사용되었다. 1995년에 윈도우 95가 별도의 도스 라이선스를 요구하지 않는 독립형 운영 체제로 출시되었다. 윈도우 95(및 윈도우 98과 ME)는 기본 OS 커널을 인계받았지만, MS-DOS 구성 요소는 호환성을 위해 그대로 남겨두었다. 윈도우 95와 98에서는 윈도우 미와 달리, 윈도우를 시작하지 않고 MS-DOS 구성 요소를 실행할 수 있었다.[17][18][19] 윈도우 NT 계열 운영 체제가 널리 사용되면서, 윈도우 사용을 위해 더 이상 도스가 필요없게 되자 PC 사용자들 다수가 도스를 직접 사용하는 일은 중단되었다. 한국에서는 1990년대 중반 윈도우 95의 보급과 함께 도스의 사용이 급격히 감소했으며, 2000년대 이후로는 대부분의 사용자가 윈도우 운영 체제를 사용하게 되었다.

2. 3. 계속된 이용

2012년을 기준으로, 프리도스, DR-DOS, ROM-DOS, PTS-DOS, RxDOS, REAL/32와 같은 도스 운영 체제를 이용할 수 있다. , HP를 포함한 일부 컴퓨터 제조업체들은 FreeDOS를 OEM 운영 체제로 포함한 컴퓨터들을 판매한다.[54][55]

하드웨어에 직접 접근하는 도스 구조는 임베디드 장치에서 이용할 때 매우 이상적이다. 최신 판의 DR-DOS가 현재에도 이 시장에 초점을 두고 있다.[56] ROM-DOS가 캐논 파워샷 프로 70의 임베디드 시스템에 사용되었다.[57]

리눅스 하에서 도스 프로그램들을 거의 네이티브 속도로 구동할 수 있는 DOSEMU라는 리눅스 네이티브 가상 머신을 이용하여 여러 도스 사본들을 실행할 수 있다. 도스박스를 포함하여 여러 버전의 유닉스에서 도스를 구동하기 위한 다른 수많은 에뮬레이터들이 있다.[60][58] 마이크로소프트 윈도우 하에서도 게임이나 다른 도스용 소프트웨어를 구동할 수 있는데, 현대 버전은 도스와의 완전한 호환성이 결여되어 있기 때문이다. 현대의 운영 체제에서 오래된 게임을 즐기도록 고안된 도스박스가 대표적인 예이다.[59][60]

도스박스

3. 설계

MS-DOS는 재진입성이 없는 기본 커널 기능들을 갖춘 단일 사용자, 싱글태스킹 운영 체제이다. 즉, 한 번에 하나의 프로그램만 해당 커널 기능들을 사용할 수 있으며, 도스 자체는 하나 이상의 프로그램을 한 번에 실행할 수 있게 하는 기능이 없다. 도스 커널은 문자 입출력, 파일 관리, 메모리 관리, 프로그램 적재 및 종료와 같이 프로그램을 위한 다양한 함수를 제공한다.

도스는 기본적으로 배치 파일(파일 확장자.BAT)을 통해 셸 스크립트 기능을 제공한다. 배치 파일은 텍스트 파일로서, 문서 편집기를 이용해서 작성이 가능하다. 컴파일된 프로그램과 동일한 방식으로 실행되며, 배치 파일의 각 줄을 명령 단위로 실행한다. 배치 파일은 GOTO와 조건문 같은 여러 내부 명령을 이용할 수 있다.[62]

이 운영 체제는 문자 기반 응용 프로그램 개발을 허용하는 API를 제공하지만, 그래픽 카드, 프린터, 마우스와 같은 하드웨어 대부분의 접근을 위한 것은 아니다. 프로그래머가 직접 하드웨어에 접근하려면 각 프로그램이 개별 하드웨어 주변기기에 맞는 자체 장치 드라이버를 갖추어야 했다. 하드웨어 제조업체는 사양을 공개하여 대중화된 응용 프로그램들을 위한 장치 드라이버를 사용할 수 있도록 보증해야 했다.[63]

3. 1. 개요

MS-DOS 및 관련 운영 체제는 주로 인텔 x86 호환 CPU를 갖춘 컴퓨터, 특히 IBM PC 호환 기종에서 동작한다. 도스는 단일 사용자, 싱글태스킹 운영 체제로, 한 번에 하나의 프로그램만 실행할 수 있다. 도스 커널은 문자 입출력, 파일 관리, 메모리 관리, 프로그램 적재 및 종료와 같은 다양한 기능을 프로그램에 제공한다.[28]

도스는 기본적으로 배치 파일(파일 확장자.BAT)을 통해 셸 스크립트 기능을 제공한다. 배치 파일의 각 줄은 실행할 프로그램으로 해석된다. 배치 파일은 GOTO 및 조건문과 같은 내부 명령을 사용할 수도 있다.[28]

이 운영 체제는 문자 기반 응용 프로그램 개발을 허용하는 API를 제공하지만, 그래픽 카드, 프린터, 마우스와 같은 하드웨어 대부분에 접근할 수 있는 것은 아니다. 이 때문에 프로그래머는 하드웨어에 직접 접근해야 했으며, 일반적으로 각 응용 프로그램이 각 하드웨어 주변 장치에 대한 자체 장치 드라이버 세트를 갖게 되었다. 하드웨어 제조업체는 인기 있는 응용 프로그램용 장치 드라이버를 사용할 수 있도록 사양을 공개했다.[29]

3. 2. 부트 시퀀스

PC 호환 컴퓨터의 부트스트랩 로더는 디스크의 첫 섹터인 Track0에 위치한다. 롬 바이오스는 이 섹터를 0000h:7C00h 메모리에 불러들인다.[64] 로드된 부트 섹터가 마스터 부트 레코드(MBR)로 간주되면, 자신을 메모리의 0000h:0600h에 재할당한다.[64] 그렇지 않으면 이 단계는 무시된다. 0000h:7C00h에 위치하는 섹터 콘텐츠는 현재 VBR을 이룬다. VBR은 운영 체제에 특화되어 있으며, 일반적으로 다른 도스 버전끼리 교환할 수 없다.

현대의 도스 버전에서 VBR은 IO.SYS/IBMBIO.COM 파일의 처음 3개의 섹터만 메모리에 불러들인다. 로드된 부분에는 다른 부트 로더가 포함되며, 이는 0000h:0500h에 저장된 루트 디렉터리 정보를 이용하여 메모리의 나머지 부분을 읽어들인다. 도스 시스템 초기화 코드가 내장 장치 드라이버를 초기화한 다음 MS-DOS 시스템의 MSDOS.SYS에 위치한 도스 커널을 메모리로 불러들인다. 윈도우 9x의 경우, 도스 시스템 초기화 코드, 내장 장치 드라이버, 도스 커널은 하나의 IO.SYS 파일에 병합되어 있으며, MSDOS.SYS는 텍스트 구성 파일로 사용된다.

그 뒤 CONFIG.SYS 파일을 읽어 구성 매개변수들을 구문 분석한다. SHELL 변수는 COMMAND.COM을 기본으로 하는 셸의 위치를 지정한다. 셸을 불러들여 실행한다. 그 뒤 시작 배치 파일 AUTOEXEC.BAT이 셸에 의해 실행된다.[65][66]

MS-DOS 7.0부터는 IO.SYS 및 MSDOS.SYS가 단일 파일 IO.SYS로 결합되었으며, MSDOS.SYS는 CONFIG.SYS 및 AUTOEXEC.BAT와 유사한 구성 파일이 되었다.

3. 3. 파일 시스템

도스는 8.3 파일 이름을 지원하는 파일 시스템을 사용한다. 파일 이름은 8자, 확장자는 3자까지 가능하다. 도스 2부터 계층적 디렉터리가 지원되기 시작했다. 각 디렉터리 이름도 8.3 형식이지만, 도스 내부의 현재 디렉터리 구조(CDS) 테이블 때문에 최대 디렉터리 경로 길이는 64자로 제한된다. 드라이브 이름을 포함한 전체 경로의 최대 길이는 "drive:\path\filename.ext" 형식으로 80자이다.

도스는 파일 할당 테이블(FAT) 파일 시스템을 사용한다. 초기에는 드라이브 당 최대 4078개의 클러스터를 지원하는 FAT12를 사용했다. 도스 3.0에서는 16비트 할당 엔트리를 사용하여 최대 65518개의 클러스터를 지원하는 FAT16을 지원하기 시작했다. 컴팩 MS-DOS 3.31에서는 32 MiB 드라이브 제한을 없애고 최대 512 MiB를 지원하는 FAT16B를 추가했다. 이후 MS-DOS 7.1 (윈도우 9x의 도스 구성 요소)에서는 32비트 할당 엔트리를 사용하는 FAT32를 지원하여 최대 137GiB 이상의 하드 드라이브를 지원하게 되었다. 한국에서는 FAT32 파일 시스템이 윈도우 98, 윈도우 Me와 함께 널리 사용되었다.

도스 3.1부터는 파일 리디렉터 지원이 추가되었다. 초기에는 네트워크 지원을 위해 사용되었으나, 나중에는 MSCDEX를 이용해 CD-ROM 드라이브를 지원하는 데 사용되었다. IBM PC DOS 4.0에는 설치 가능한 파일 시스템(IFS) 지원 기능이 있었지만, 사용되지 않아 도스 5.0에서 제거되었다.

3. 3. 1. 드라이브 명명 규칙

도스에서 드라이브는 문자로 식별한다. 표준 관례로 "A"와 "B"는 플로피 드라이브에 할당하고, 하드 드라이브는 "C"와 "D"로 할당하였다. 도스는 드라이브 당 하나의 활성 파티션만 지원했다.[35]

하드 드라이브 지원이 확대되면서, 각 드라이브의 활성 주 파티션에 먼저 문자를 할당하고, 확장 파티션의 논리 드라이브에 문자를 할당했다. 그 후, 다른 비활성 주 파티션에 문자를 부여했다. 마지막으로, 광 디스크 드라이브, RAM 디스크 등에도 문자를 할당했다. 문자 할당은 드라이버 로드 순서대로 발생하지만, 드라이버가 도스에 다른 문자 할당을 지시할 수도 있다. (예: 네트워크 드라이브는 알파벳 끝 쪽에 가까운 문자 할당).[35]

3. 3. 2. 예약된 장치 이름

도스에는 내부 문자 장치로 점유하고 있어 파일 이름으로 사용할 수 없는 예약 장치명이 있다. 이러한 예약어에는 CON, AUX, PRN, NUL, COM1, LPT1 등이 있다.[67] 이러한 제한은 여러 윈도우 버전에도 영향을 미치면서 충돌이나 보안 취약성을 야기하기도 한다.[67]

파일 또는 폴더의 이름을 짓거나 이름을 바꿀 때 예약된 이름을 사용하려고 하면 나타나는 오류 메시지


장치명설명
CON콘솔용
AUX보조용
PRN프린터용[68]
NUL널 장치용. 86-DOS 1.10 및 PC DOS 1.0에 추가.
COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9직렬 통신 포트
LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9라인 프린터



이러한 이름(NUL 제외)은 모든 버전의 MS-DOS, PC-DOS 및 DR-DOS에서 계속 지원되고 있다.[38] `LST`는 MS-DOS 1.25의 일부 OEM 버전에서 사용되었고, HP Portable Plus용 MS-DOS 2.11의 HP OEM 버전에서는 `LPT1` 및 `LPT2` 외에도 `COM1`에서 `COM3`까지, `LPT2`의 별칭으로 `LST`를, `COM2`의 별칭으로 `82164A`를 지원했다.[40][41] 또한 플로터용 `PLT`도 지원했다.[40][41]

`COM2`, `LPT2`, `LPT3` 및 `CLOCK$` (일부 MS-DOS 2.11 버전에서는 여전히 `CLOCK`으로 명명됨[39][40][41]) 시계 장치가 DOS 2.0에 도입되었으며, `COM3` 및 `COM4`는 DOS 3.3에 추가되었다.[38]

`AUX`는 일반적으로 `COM1`을, `PRN`은 `LPT1`(`LST`)을 기본값으로 사용하지만,[38] 일부 버전의 DOS에서는 다른 직렬 또는 병렬 장치를 가리키도록 변경할 수 있다.[40][41][42]

파일 이름이 콜론(`:`)으로 끝나는 경우 (예: `NUL:`)는 관례적으로 장치 이름을 나타내지만, 콜론은 실제로 내장 장치 드라이버 이름의 일부가 아니다.

3. 4. 메모리 관리

도스는 원래 인텔 8086/8088 프로세서용으로 설계되었으므로 최대 1MB의 램(RAM)에만 직접 접근할 수 있었다. PC 아키텍처로 인해 최대 640KB만 사용 가능했으며(기본 메모리), 그 중 상위 384KB가 예약되어 있었다.

추가적인 메모리에 접근할 수 있도록 여러 방법이 개발되었다. 첫 번째는 부가 카드에 있는 메모리에 예약된 상위 메모리 영역의 64KiB 페이지 프레임을 통해 접근할 수 있도록 설계된 확장 메모리 사양(EMS)이었다.[1] 80386 및 이후 시스템은 EMM386과 같은 가상 8086 모드(V86) 모드 메모리 관리자를 사용하여 부가 카드 없이 확장 메모리에서 확장 메모리를 만들 수 있었다.[2] 두 번째 방법은 80286 및 이후 시스템을 위한 확장 메모리 사양(XMS)이었다. 이는 확장 메모리에서 데이터를 복사하고, 메모리의 첫 번째 메가바이트 바로 위에 있는 65,520바이트의 HMA에 접근하고, 상위 메모리 블록 영역에 접근하는 방법을 제공했다. 일반적으로 XMS 지원은 HIMEM.SYS 또는 EMS도 지원하는 QEMM 또는 386MAX와 같은 V86 모드 메모리 관리자에 의해 제공되었다.[3]

DOS 5부터[4] DOS는 CONFIG.SYS의 `DOS=HIGH` 문을 통해 커널 코드와 디스크 버퍼를 HMA에 로드하여 HMA를 직접 활용할 수 있었다. DOS 5+는 또한 CONFIG.SYS의 `DOS=UMB` 문을 통해 사용 가능한 상위 메모리 블록의 사용을 허용했다.[5]

4. 사용자 인터페이스

도스는 명령 줄 인터페이스를 사용한다. 사용자는 명령 프롬프트에 파일 이름을 입력하여 프로그램을 실행할 수 있다. 도스는 시스템 유틸리티와 같은 몇 가지 프로그램을 포함하고 있으며, 이와 관련되지 않은 내부 명령어들도 제공한다.[69]

사용자에게 더 친숙한 환경을 제공하기 위해, 많은 소프트웨어 제조업체들은 메뉴나 아이콘 기반 인터페이스를 제공하는 파일 관리자 프로그램들을 개발했다. 마이크로소프트 윈도우가 대표적인 예인데, 마이크로소프트 윈도우 9x가 프로그램 로더를 기본 내장하면서 가장 많이 쓰이는 PC 호환 프로그램 로더로서 도스를 대체하였다. 텍스트 사용자 인터페이스 프로그램에는 Mdir, 노턴 커맨더, 도스 내비게이터, 볼코프 커맨더, 쿼터데스크 DESQview, 사이드킥 등이 있다. 그래픽 사용자 인터페이스 프로그램에는 디지털 리서치의 그래픽 인바이런먼트 매니저(본래 CP/M용으로 작성됨)와 GEOS가 있다.

주요 도스 시스템 제조업체들은 자체 환경 관리자를 포함하기 시작했다. MS-DOS/IBM DOS 4는 도스 셸을 포함하였고,[70] 이듬해에 출시된 DR DOS 5.0은 GEM 기반의 뷰맥스를 포함하였다.[71]

4. 1. 종료 후 상주 프로그램 (TSR)

도스는 멀티태스킹 운영 체제가 아니지만, 종료 후 상주 프로그램(TSR)을 제공하여 여러 프로그램들이 메모리에 상주할 수 있게 도와준다.

이러한 프로그램들은 시스템 타이머나 키보드 인터럽트를 후킹하여 백그라운드에서 작업을 수행하게 하거나 현재 실행 중인 프로그램을 적시에 호출할 수 있게 한다. PRINT 명령어는 이를 수행하여 백그라운드 인쇄 스풀링을 구현하였다. 볼랜드 사이드킥도 이 기법을 사용한다.[72]

종료 후 상주 프로그램들은 기본적으로 이용할 수 없는 기능을 제공하는 데에도 사용되었다. CED와 도스키와 같은 프로그램들은 COMMAND.COM에서 사용할 수 있는 기능 이상으로 명령 줄 편집 기능을 제공하였다. 마이크로소프트 CD-ROM 확장(MSCDEX)과 같은 프로그램들은 CD-ROM 디스크의 파일을 접근할 수 있게 하였다.

일부 TSR들은 초기 수준의 태스크 전환을 수행할 수 있었다. 예를 들어, 셰어웨어 프로그램 백 앤드 포스(1990년)는 단축키를 이용하여 현재 실행 중인 프로그램의 상태를 디스크에 저장하고, 다른 프로그램을 불러와 전환할 수 있었다.

5. 소프트웨어

도스는 PC 호환 플랫폼으로서, 다양한 응용 프로그램과 개발 도구가 출시되어 널리 사용되었다. 주요 소프트웨어는 다음과 같다.

종류소프트웨어설명
워드 프로세서워드퍼펙트, 워드스타워드퍼펙트는 현재 윈도우용으로도 제작된다. 워드스타는 초기 워드 프로세서 중 하나이다.
스프레드시트로터스 1-2-3기업에서 많이 이용되었고 IBM PC의 성공에 기여하였다.[73]
데이터베이스dBase초기 데이터베이스 프로그램 중 하나이다.
통신 프로그램ProComm, Qmodem, Telix모뎀 통신 프로그램이다.
개발 도구터보 파스칼, 터보 C, 마이크로소프트 매크로 어셈블러터보 파스칼, 터보 C는 볼랜드통합 개발 환경의 일부이고, 마이크로소프트 매크로 어셈블러는 마이크로소프트 개발 소프트웨어의 일부이다.
기타노턴 커맨더, PKZIP노턴 커맨더는 파일 관리 유틸리티이고, PKZIP은 파일 압축 유틸리티이다.



이 외에도 개선된 치환 기능을 제공하는 4DOS, 16비트 그래픽 도스 웹 브라우저아라크네, 8비트 컴퓨터의 베이직 인터프리터 환경을 따른 BASICA, GW-BASIC, 초기 프레젠테이션 그래픽스 디자인 프로그램인 하버드 그래픽스, 디스크 및 시스템 유틸리티 모음인 노턴 유틸리티, PC 툴스, 도스 메모리 관리 유틸리티인 QEMM, 386MAX, 팝업 개인 정보 관리자인 사이드킥, ASCII나 HEX 형태로 파일을 볼 수 있는 LIST 유틸리티 등이 있다.

6. OS/2, 윈도우 하의 도스

초기 버전의 마이크로소프트 윈도우는 MS-DOS에서 실행되었다.[26] 1990년대 초반, 윈도우 그래픽 셸은 새로운 DOS 시스템에서 널리 사용되었다. 1995년, 윈도우 95는 별도의 DOS 라이선스가 필요 없는 독립형 운영 체제로 번들로 제공되었다. 윈도우 95(및 윈도우 98과 ME)는 기본 OS 커널로 자리를 잡았지만, MS-DOS 구성 요소는 호환성을 위해 유지되었다. 윈도우 95와 98에서는 ME와 달리, 윈도우를 시작하지 않고 MS-DOS 구성 요소를 실행할 수 있었다.[17][18][19] 윈도우를 사용하기 위해 더 이상 DOS가 필요하지 않게 되면서, 대다수의 사용자는 DOS를 직접 사용하는 것을 중단했다.

OS/2 및 윈도우의 도스 에뮬레이션은 네이티브 애플리케이션과 거의 동일한 방식으로 실행된다. 모든 드라이브와 서비스에 접근할 수 있으며, 호스트의 클립보드 서비스도 사용할 수 있다. 파일 시스템 등의 드라이버는 호스트 시스템에 있기 때문에, 도스 에뮬레이션은 도스 호출을 OS/2 또는 윈도우 시스템 호출로 변환하는 도스 API 변환 계층만 제공하면 된다. 일반적으로 변환 계층은 BIOS 호출을 변환하고 많은 도스 프로그램에서 일반적으로 사용하는 일반적인 I/O 포트 접근을 가상화한다.

Windows 3.1 및 9x에서 도스 가상 머신은 WINOLDAP에서 제공한다. WinOldAp은 프로그램의 PIF 파일과 윈도우가 로드될 때의 시스템 상태를 기반으로 가상 머신을 생성한다. 문자 및 그래픽 모두 도스 그래픽 모드를 캡처하여 창에서 실행할 수 있다. 도스 애플리케이션은 WinOldAp에서 추가로 게시된 호출에 접근하여 윈도우 클립보드를 사용할 수 있으며, WinOldAp 그래픽을 통해 텍스트를 붙여넣을 수 있다.

OS/2 및 Windows NT의 에뮬레이트된 도스는 도스 5를 기반으로 한다. 기본 구성(config.sys 및 autoexec.bat)이 있지만 세션별로 대체 파일을 사용할 수 있다. 일반적으로 타사이지만 이러한 파일에서 드라이버를 로드하여 호스트 시스템에 접근할 수 있다.

OS/2 2.x 이상에서 도스 에뮬레이션은 DOSKRNL에서 제공한다. 이것은 IBMBIO.COM과 IBMDOS.COM을 결합한 파일을 나타내며, 시스템 호출은 OS/2 윈도잉 서비스를 통해 전달된다. 도스 프로그램은 자체 환경에서 실행되며, 대부분의 도스 유틸리티는 \OS2 디렉토리에 있는 바운드 DOS/OS2 애플리케이션에서 제공된다. OS/2는 수정된 윈도우 사본(Win-OS/2)을 사용하여 윈도우 3.1 애플리케이션을 실행할 수 있다. 이러한 수정 사항을 통해 윈도우 3.1 프로그램은 OS/2 데스크톱에서 원활하게 실행되거나 도스에서 윈도우를 시작하는 것과 유사하게 WinOS/2 데스크톱을 시작할 수 있다.

OS/2는 '드라이브 A:에서 도스'(VMDISK)를 허용한다. 이것은 MS-DOS 6.22 또는 PC DOS 5.00과 같은 실제 도스이다. 도스 부팅 디스크를 만들고, OS/2의 여러 드라이버를 추가한 다음 특수 이미지를 만든다. 이런 방식으로 부팅된 도스는 시스템에 대한 모든 권한을 가지지만 하드웨어에 대한 자체 드라이버를 제공한다. OS/2 드라이버가 없는 CD-ROM 드라이브에 접근하는 데 이러한 디스크를 사용할 수 있다.

1993년 이후의 모든 32비트(IA-32) 버전의 Windows NT 제품군에서 도스 에뮬레이션은 가상 도스 머신(NTVDM)을 통해 제공된다. 64비트(IA-64 및 x86-64) 버전의 윈도우는 NTVDM을 지원하지 않으며 16비트 도스 애플리케이션을 직접 실행할 수 없다. DOSbox와 같은 타사 에뮬레이터를 사용하여 해당 시스템에서 도스 프로그램을 실행할 수 있다.

참조

[1] 서적 DOS the Easy Way EasyWay Downloadable Books 1988-01-01
[2] 웹사이트 Dictionary.com http://www.dictionar[...]
[3] 뉴스 Mary Gates, 64; Helped Her Son Start Microsoft https://www.nytimes.[...] 2023-04-11
[4] 인터뷰 The rest of the story: How Bill Gates beat Gary Kildall in OS war, Part 1 http://www.podtech.n[...]
[5] 서적 Just Say No to Microsoft https://archive.org/[...] No Starch Press 2005-01-01
[6] 간행물 Bill Gates, Microsoft and the IBM Personal Computer https://books.google[...] 1982-08-23
[7] 웹사이트 Did you know that OS/2 wasn't Microsoft's first non Unix multi-tasking operating system? http://blogs.msdn.co[...]
[8] 웹사이트 Larry Osterman's Biography http://blogs.technet[...]
[9] 간행물 Of IBM, Operating Systems, and Rosetta Stones https://archive.org/[...] 1982-01-01
[10] 간행물 The Unix Tutorial / Part 3: Unix in the Microcomputer Marketplace https://archive.org/[...] 1983-10-01
[11] 간행물 Unix and the Single User https://books.google[...] 1984-12-10
[12] 뉴스그룹 What's happening to OS/2 https://groups.googl[...] 1995-08-17
[13] 뉴스 Microsoft Widens Its Split With I.B.M. Over Software https://www.nytimes.[...] 1991-07-27
[14] 뉴스 I.B.M. Executive Describes Price Pressure by Microsoft https://www.nytimes.[...] 1999-05-28
[15] 웹사이트 The past, present, and future of the FreeDOS Project http://www.linuxdevi[...] 2002-03-25
[16] 웹사이트 History of FreeDOS http://www.freedos.o[...] freedos.org 2006-09-23
[17] 웹사이트 Finding The DOS In Windows 95 http://www.smartcomp[...] 1996-03-01
[18] 웹사이트 What was the role of MS-DOS in Windows 95? https://devblogs.mic[...] 2007-12-24
[19] 웹사이트 Description of Restarting Computer in MS-DOS Mode http://support.micro[...] 2007-01-19
[20] 웹사이트 Home http://rxdos.sourcef[...]
[21] 웹사이트 Jim Hall's blog - 2007 http://www.freedos.o[...] 2007-07-13
[22] 웹사이트 Dell PCs Featuring FreeDOS http://www.dell.com/[...]
[23] 웹사이트 DR-DOS Embedded DOS http://www.drdos.com[...]
[24] 뉴스 Datalight DOS Selected for Canon's New Line of Digital Still Cameras http://findarticles.[...] Business Wire 1999-08-24
[25] 웹사이트 DOSEMU Home http://www.dosemu.or[...] 2007-05-05
[26] 웹사이트 HOW TO: Coax retro DOS games to play on Vista http://apcmag.com/ho[...] 2006-10-13
[27] 웹사이트 DOSBox Information http://www.dosbox.co[...]
[28] 웹사이트 Batch File Help http://www.computerh[...] computerhope.com
[29] 웹사이트 ZINGTECH - Guide to the New Game Programmer http://www.zingtech.[...]
[30] 웹사이트 The Master Boot Record (MBR) and What it Does http://www.dewassoc.[...]
[31] 웹사이트 Reverse-Engineering DOS 1.0 – Part 1: The Boot Sector « pagetable.com http://www.pagetable[...]
[32] 웹사이트 CONFIG.SYS Commands http://academic.ever[...]
[33] 웹사이트 The DOS Boot Process http://www.pcguide.c[...] 2001-01-01
[34] 웹사이트 misc.txt http://www.arl.wustl[...]
[35] 웹사이트 Drive Letter Assignment and Choosing Primary vs. Logical Partitions http://pcguide.com/r[...] 2001-04-17
[36] 웹사이트 Microsoft Windows MS-DOS Device Name DoS Vulnerability http://www.juniper.n[...] 2008-09-02
[37] 웹사이트 DOS device names definition https://www.pcmag.co[...] PC Magazine 2008-09-02
[38] 웹사이트 MS-DOS Device Driver Names Cannot be Used As File Names http://support.micro[...] Microsoft 2003-05-12
[39] 웹사이트 Microsoft DOS V1.1 and V2.0: /msdos/v20source/SKELIO.TXT, /msdos/v20source/HRDDRV.ASM http://www.computerh[...] Computer History Museum, Microsoft 2013-12-19
[40] 서적 Hewlett-Packard - Technical Reference Manual - Portable PLUS https://archive.org/[...] Hewlett-Packard Company, Portable Computer Division 2016-11-27
[41] 서적 Hewlett-Packard - Technical Reference Manual - Portable PLUS http://www.jeffcalc.[...] Hewlett-Packard Company 2016-11-27
[42] 웹사이트 Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT http://www.uni-bonn.[...] 2009-03-29
[43] 서적 DOS the Easy Way EasyWay Downloadable Books
[44] 서적 DOS the Easy Way https://books.google[...] EasyWay Downloadable Books
[45] 서적 Dvorak's Guide to DOS and PC Performance Osborne McGraw-Hill 1991
[46] 웹사이트 Back and Forth 1.47 http://archives.scov[...] 2013-08-05
[47] 웹사이트 Whatever Happened To Lotus 1-2-3? http://www.crn.com/i[...] 2008-07-12
[48] 서적 DOS the Easy Way https://archive.org/[...] EasyWay Downloadable Books
[49] 서적 DOS the Easy Way https://archive.org/[...] EasyWay Downloadable Books
[50] 웹사이트 Dictionary.com http://www.dictionar[...]
[51] 웹인용 Finding The DOS In Windows 95 http://www.smartcomp[...] 2008-07-12
[52] 웹인용 What was the role of MS-DOS in Windows 95? http://blogs.msdn.co[...] 2014-02-05
[53] 웹인용 Description of Restarting Computer in MS-DOS Mode http://support.micro[...] 2014-02-05
[54] 웹인용 Jim Hall's blog - 2007 http://www.freedos.o[...] 2008-06-12
[55] 웹인용 Dell PCs Featuring FreeDOS http://www.dell.com/[...] 2008-06-14
[56] 웹인용 DR-DOS Embedded DOS http://www.drdos.com[...] 2008-09-26
[57] 뉴스 Datalight DOS Selected for Canon's New Line of Digital Still Cameras http://findarticles.[...] Business Wire 2008-09-26
[58] 웹인용 DOSEMU Home http://www.dosemu.or[...] 2008-07-03
[59] 웹인용 HOW TO: Coax retro DOS games to play on Vista http://apcmag.com/ho[...] 2008-07-03
[60] 웹인용 DOSBox Information http://www.dosbox.co[...] 2008-05-18
[61] 웹인용 DOS Games on Vista http://www.winvistat[...] 2008-09-02
[62] 웹인용 Batch File Help http://www.computerh[...] computerhope.com 2008-09-10
[63] 웹인용 ZINGTECH - Guide to the New Game Programmer http://www.zingtech.[...] 2008-09-02
[64] 웹인용 The Master Boot Record (MBR) and What it Does http://www.dewassoc.[...] 2016-07-09
[65] 웹인용 CONFIG.SYS Commands http://academic.ever[...] 2016-07-09
[66] 웹인용 The DOS Boot Process http://www.pcguide.c[...] 2008-09-02
[67] 웹인용 Microsoft Windows MS-DOS Device Name DoS Vulnerability http://www.juniper.n[...] 2008-09-02
[68] 웹사이트 DOS device names definition https://www.pcmag.co[...] PC Magazine 2008-09-02
[69] 서적 DOS the Easy Way EasyWay Downloadable Books
[70] 서적 DOS the Easy Way http://books.google.[...] EasyWay Downloadable Books
[71] 서적 Dvorak's Guide to DOS and PC Performance Osborne McGraw-Hill
[72] 웹사이트 b_f_147.zip http://archives.scov[...] 2013-11-05
[73] 웹인용 Whatever Happened To Lotus 1-2-3? http://www.crn.com/i[...] 2002-02-01



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com