엠에스도스
엠에스도스(MS-DOS)는 미국 마이크로소프트(MS; Microsoft) 회사가 만든 도스(DOS) 운영체제이다.
목차
개요
MS-DOS는 Microsoft Disk Operating System의 줄임말로 마이크로소프트사에서 개발한 것이다. 1981년 8월 처음 PC에 올려져서 제공되었고 1995년 개발이 중단되기 전까지 몇 차례의 판올림이 있었다. 사상 최초로 대중화됬던 운영체제이다. 이후 윈도 95가 출시 된 후로부터는 윈도 제품의 일부로 제공되었고 윈도 미에 기본 내장되있는 8.0버전까지 나왔다. 이후 개발이 중단되었다.
등장 배경
1980년 7 월경 IBM은 개인용 컴퓨터의 개발에 착수 했다. 그러나 IBM의 주력 상품인 범용 컴퓨터에 비하면 극소수의 직원과 적은 예산밖에 주어지지 않았다. 프로젝트 리더 필립 돈 에스토릿지(Don Estridge)는 가급적 신속하게 상품화가 나오기 위해 소프트웨어는 자체 개발하지 않고 모든 외부에서 조달할 방침을 세웠다. 당시 마이크로소프트는 BASIC 인터프리터와 어셈블러 및 각종 언어 컴파일러등을 개발하고 그 제품의 대부분이 당시의 개인용 컴퓨터 시장에서 사실상의 표준 OS인 디지털 리서치의 CP/M에서 작동하는 것이었다. IBM은 마이크로소프트에 대해 처음에는 BASIC 같은 언어 제품의 개발을 의뢰 했다. OS에 대해서도 8086 대응 버전의 CP/M을 마이크로소프트에 주려고 했다. 그러나 그들은 CP/M 소스 권리를 갖고 있지 않았기 때문에 빌 게이츠의 조언에 따라 디지털 리서치와 협상 하기로 했다. 그러나 디지털 리서치와 협상은 잘되지 않고 결국 마이크로소프트 자신이 OS를 개발 하기로 했다. 마이크로소프트는 OS의 개발 경험은 없었기 때문에, 같은 무렵 CP/M 이 8086에 독자적으로 이식 작업을하고 있던 시애틀 컴퓨터 프로덕츠사의 QDOS를 인수하여 IBM PC 용으로 개조 한다. 이후 여러가지 이름으로 불렸지만 1983년 2.0버전부터 MS-DOS명칭이 일원화 되었다.[1]
역사
MS-DOS는 팀 패터슨이 작성한 시애틀 컴퓨터 프로덕츠 소유의 86-DOS[2]에서 이름이 바뀐 것이다.
버전
- 1.0 1981년 : 최초의 IBM PC에 탑재된 첫 버전(PC-DOS)
- 1.25 1982년 : MS-DOS라는 이름으로 출시된 IBM PC 호환기종용 첫 버전
- 2.0 1983년 : 하위 디렉토리, 핸들 기반 파일 운용, 명령어 입출력 리다이렉션, 파이프 등을 지원. 마이크로소프트는 경로명 구분 문자를 대부분의 도스나 CP/M 프로그램에서 명령 스위치로 사용하고 있는 슬래시(/) 대신 역슬래시(\)로 사용하기로 했다. 하드 디스크와 360KB 플로피 디스크 드라이브 지원
- 2.01 1983년
- 2.11 1983년 : 영어 이외의 언어와 날짜 형식 지원
- 2.25 1985년 : 한글과 일본어 한자 지원 확대. 동아시아 나라에만 출시
- 3.0 1984년 : PC AT를 지원함. 1.2MB 플로피 디스크 및 최대 32 메가바이트의 하드 디스크 파티션 지원(한 개의 기본 파티션과 한 개의 논리 드라이브 지원)
- 3.1 1984년 : 마이크로소프트 네트워킹 지원
- 3.2 1986년 : 3.5 인치 720KB 플로피 디스크 드라이브 지원
- 3.3 1987년 : 여러 개의 논리 드라이브 지원
- 3.31 1987년
- 4.0 1988년 : 도스 셸 제공
- 5.0 1991년 : 메모리 관리, 전체 화면 편집기, QBasic 프로그래밍 언어, 온라인 도움말, 작업 전환 기능이 추가된 도스 셸 등 제공
- 6.00 1993년 : 더블스페이스, 영문 사용자 메시지 지원(한글판), 조합형 한글 코드 페이지(1361) 지원(한글판)
- 6.20 1993년
- 6.21 1994년 : 스택 일렉트로닉스와의 소송으로 인해 더블스페이스 기능 제외
- 6.22 1994년 : 단일 제품으로는 마지막 버전. 더블스페이스 대신 동일한 기능의 드라이브스페이스 제공
- 7.0 1995년 : 윈도 95에 내장됨. MSDOS.SYS의 기능이 IO.SYS에 통합되어, MSDOS.SYS에는 참고용 텍스트만이 들어있다. LBA(논리 블록 어드레싱) 지원. DOSLFN 등의 별도 드라이버를 이용하면 긴 파일 이름을 사용할 수 있다.
- 7.1 1998년 : 윈도 95 OSR2와 그 이후 버전 및 윈도 98, 윈도 98 SE에 내장됨. FAT32 파일 시스템 지원
- 8.0 2000년 : 윈도 미에 내장됨. 또한 윈도 XP, 윈도 비스타, 윈도 7에서 플로피 디스크를 포맷할 때 'MS-DOS 시동 디스크 만들기'를 선택하면 이 버전의 최소한의 파일을 포함한 MS-DOS가 디스크에 설치된다. 이 버전의 MS-DOS는 7.1버전에 비해 향상된 점도 있으나 몇 가지 중요한 제한점을 지니고 있다. 이는 아래와 같다.
7.1 버전에 비해 향상된 점
- IO.SYS 파일이 압축되어 줄어든 크기로 인해 부팅이 빨라졌다.
- IO.SYS 파일에 XMS 지원이 내장되어 HIMEM.SYS 파일이 필요하지 않다.
- IO.SYS 파일에 디스크 캐시 기능이 내장되어 디스크 입출력 성능이 향상되었다.[3]
7.1 버전에 비해 제한된 점
- 하드디스크에서 시동할 경우 리얼 모드로 부팅 할 수 없다.
- 시동 디스크로 시동할 경우 EMM386.EXE를 불러올 수 없기 때문에 EMS 및 UMB를 사용할 수 없다.
- SYS.COM 명령어를 통해 이동식 디스크를 시동 디스크로 만들 수 없다.
- FORMAT.COM 명령어에 /S 옵션이 제거되어 시동 디스크를 만들 수 없다.
특징
MS-DOS의 특징을 한 문장으로 표시하자면, FAT16 파일 시스템을 사용하는 운영체제라는 것 이다. FAT16이라는 단어 속에는 파일명은 8.3의 원칙을 따라야 하고 1개의 파티션 크기가 최대 2GB까지만 설정 가능하다라는 의미가 포함된 것 이다.[4]
MS-DOS 6.22까지의 모든 MS-DOS는 FAT16 파일 시스템을 사용하고 윈도 95 OSR2부터 지원하는 FAT32와 윈도 NT/2000/XP의 파일 시스템인 NTFS, 그리고 OS/2의 파일 시스템인 HPFS는 인식하지 않는다. 따라서, 이전 하드디스크에 FAT32 또는 NTFS를 사용하는 윈도 9x/Me/NT/2000/XP가 설치되어 있고 이러한 운영체제를 완전히 삭제할 필요가 있는 경우, A드라이브에 MS-DOS 6.x의 부팅 디스크를 삽입하고 A드라이브로 부팅하더라도 하드디스크에 있는 운영체제를 삭제할 수 없다. 정확하게 말하자면, MS-DOS가 모르는 파일 시스템이 하드디스크에 있어 C드라이브 조차 보이질 않는다. 이런경우 파티션 삭제 전용 프로그램을 사용하여 삭제하여야 한다. 그리고, 1대의 PC에 윈도 9x와 MS-DOS와 멀티부팅을 시도한다면 반드시 C드라이브는 FAT16이어야 한다. MS-DOS와 윈도 9x/Me/NT/2000/XP의 시스템 파일들은 셋업시 D드라이브에 D:\DOS 또는 D:\Windows와 같은 디렉토리를 생성하여 설치할 수 있으나 부팅에 필요한 시스템 파일은 항상 C드라이브에 저장되므로 멀티부팅을 시도하는 경우, C드라이브는 모두 인식할 수 있는 파일 시스템인 FAT16이어야 한다.[4]
- 파일명과 디렉토리명은 항상 8.3이어야 한다.
윈도 95부터는 최대 255자까지의 파일명, 디렉토리명이 가능하지만 MS-DOS 6.22까지의 파일명과 디렉토리명은 반드시 8.3의 규칙을 지켜야한다. 물론, 확장명이 없는 파일도 존재가 가능하다. 즉, MS-DOS 6.22까지의 파일명(디렉토리명 포함)은 반드시 최대 파일명 8자와 확장명 3자의 원칙을 지켜서 생성되어야 한다.[4]
- 1개 파티션의 최대 크기는 2GB이다.
MS-DOS 6.22까지 포함되어 있는 FDISK.EXE는 FAT16의 파티션 생성할 수 있는데 1개 파티션의 크기는 최대 2GB이다.[4]
- MS-DOS는 대소문자를 구별하지 않는다.
MS-DOS는 파일명이나 디렉토리명, 드라이브명에서 대소문자를 구별하지 않는다.[4]
- 모든 실행파일은 실행파일이 있는 디렉토리에서 실행해야 한다.
기본적으로 MS-DOS 내부명령외의 모든 명령이 실행되기 위해서는 실행파일이 존재하는 디렉토리에서 실행하여야 한다.[4]
- 저용량 PC를 기준으로 만들었기 때문에 속도가 다른 운영 체제와 비교해본다면 빠르다.[5]
파일 시스템
시스템 파일
시스템 파일은 MS-DOS의 핵심 파일로 주변장치의 입출력과 시스템 전체를 통제한다. 부팅시 반드시 필요하며, 부팅 후 메모리에 항상 적재되어 있다. 시스템 파일에는 MSDOS.SYS와 IO.SYS가 있으며 각 파일은 다음과 같은 기능을 수행한다.
- MSDOS.SYS : 프로세스 관리, 메모리 관리, 주변장치 관리, 파일 관리 등의 파일 입출력 시스템 호출을 담당한다.
- IO.SYS : MSDOS.SYS의 입출력 요구에 따라 실제 입출력 처리를 담당한다.
명령어 처리기
명령어를 해독하여 실행하는 파일. COMMOND.COM 파일이 사용된다. 사용자와 MSDOSl.SYS를 서로 연결시켜 주는 역할을 한다. 부팅시 반드시 필요하며, 부팅 후 메모리에 항상 적재되어있다.
자동 일괄 처리 파일
부팅 시 먼저 수행 될 일정하고 반복적인 명령들을 일괄적으로 모아 놓은 파일. AUTOEXEC.BAT 파일이 사용된다. 부팅시 자동으로 실행되지만, 반드시 필요한 파일은 아니다.
환경 설정 파일
작업을 수행하는데 필요한 컴퓨터 시스템의 환경 설정을 위한 파일. CONFIG.SYS 파일이 사용된다. 부팅시 반드시 필요한 파일은 아니다.[6]
명령어
내부 명령어
실행과정이 간단하고 기본적인 기능을 수행하는 것. 메모리에 항상 상주하는 명령어이다. COMMAND.COM에 포함되어 있고 처리속도가 빠르다.[6] 주요 명령어는 다음과 같다.
- DIR : 파일 목록을 표시한다.
- COPY : 파일을 복사한다.
- TYPE : 파일의 내용을 표시한다.
- REN : 파일의 이름을 변경한다.
- DEL : 파일을 삭제한다.
- MD : 디렉터리를 생성한다.
- CD : 디렉터리의 위치를 변경한다.
- RD : 디렉터리를 삭제한다.
- CLS : 화면의 내용을 지운다.
- VER : 버전을 표시한다.
- PATH : 파일의 탐색 경로를 지정한다.
외부 명령어
실행 과정이 복잡하거나 자주 사용하지 않는 것. 디스크에 파일로 저장되어 있다. 실행 파일을 디스크에서 찾아 메모리로 옮긴 후 실행하여 처리속도가 느리다.[6] 주요 명령어는 다음과 같다.
- UNDELETE : 삭제한 파일을 복원한다.
- SYS : 시스템 파일을 복사한다.
- ATTRIB : 파일을 속성을 변경한다.
- MOVE : 파일을 이동한다.
- FIND : 파일을 찾는다.
- FORMAT : 디스크 표면을 트랙과 섹터로 나누어 초기화 시킨다.
- UNFORMAT : 포맷한 디스크를 복원한다.
- CHKDSK : 디스크 상태를 점검한다.
- DISKCOPY : 디스크 단위로 복사한다.
- DISKCOMP : 디스크를 비교한다.
장점과 단점
장점
MS-DOS는 초기 IBM PC를 위해 만들어진 운영체제인 만큼 요즘의 Windows와는 달리 텍스트, 문자를 기반으로 명령어를 직접 입력하는 방식을 작동하게 되어 있다. Windows와 달리 컴퓨터에 존재하는 프롬프트 명령어 입력 위치에 DOS의 명령어를 직접 입력을 해야만 작동하게 된다. 이러한 방식을 CUI(Character User Interface)이라고 부른다. 개인 컴퓨터용으로 운영체제가 만들어졌기 때문에 Single-User과 Single-Tasking으로 이용되는데, 하나의 컴퓨터에는 한명만이 사용이 가능하고 한 번에 하나의 프로그램만 실행이 된다. 파일 시스템은 트리구조로 이루어져 있다. DOS의 또 다른 장점으로는 저용량 PC를 기준으로 만들었기 때문에 속도가 다른 운영 체제와 비교해본다면 빠르다고 할 수 있다. 비록 지원하는 기능이 충분하지 않고 단지 디스크를 구동시켜 주는 역할만 했지만, DOS가 있었을 때 출시된 다른 운영 체제들과는 비교해보면 비교적 더 빠른 속도로 처리를 하였다.[5]
단점
- DOS는 명령어 입력 방식으로 동작하므로 사용자가 DOS의 모든 명령어를 암기하고 있어야 하는 점. 처음 컴퓨터에 전원을 넣고 프롬프트를 본다면 “C:/>” 이외에는 다른 명령어는 아무것도 나타나지 않는다. 명령어를 다 알고 있다면 상관이 없겠지만, 그런 사람은 너무 드물고 심지어 전문가들도 모든 명령어를 외우기는 힘든 부분이다. 그런 부분을 따졌을 때 컴퓨터 초보자들에게는 이런 점이 매우 당황시켰을 것이다. 숙련된 사용자 일지라고 모든 명령어들을 암기하고 있어야 하는 것이 커다란 단점이다.
- DOS가 지원하는 메모리와 디스크의 용량에 한계가 있다는 점. DOS는 최대 640KB의 기본 메모리와 2GB의 디스크 용량밖에 지원하지 못한다. 그러나 점차 시간이 지나고 컴퓨터가 많이 발전하면서 하드웨어의 용량이 증가함에 따라 DOS가 지원하는 메모리 용량도 같이 증가를 해야만 사용이 가능한데, 그 메모리 용량은 시간이 지나도 지원할 수 있는 메모리와 디스크의 용량은 일정했다. 이에 다른 하드웨어나 소프트웨어를 사용하지 못하게 됨으로써 이용하는 사람들이 점차 줄어들었다.
- 16bit 모드에서 운영되는 단일 사용자, 단일 태스크 운영체제라는 점. 하나의 컴퓨터에 하나의 프로그램만 실행한다면 문제가 없겠지만, 시간이 지나면서 하나의 작업을 여러 사람이 같이 작업해야 되는 일도 생기고 한 사람이 여러 가지 작업을 같이 해야 되는 상황이 생기기 시작했다. 다른 운영체제에서는 이러한 상황에 대해서 멀티태스킹이 가능하지만, MS-DOS에서는 그런 작업이 불가능하기 때문에 점차 사람들이 이용하지 않았다.[5]
평가
현 시대에서는 사용하기가 힘든 운영체제인 건 분명하다. 하지만 컴퓨터가 초기에 이용된 시대에 맞게 만들어져서 사용되어왔기에 사람들에게 최초로 대중화된 운영체제이고 지금 존재하는 운영체제에 상당히 많은 영향을 준 것은 분명하다.[5]
각주
- ↑ 발걸음을 멈추는곳, 〈MS DOS의 기능과 역사〉, 《티스토리》, 2013-11-06
- ↑ Doug Conner, 〈Father of DOS Still Having Fun at Microsoft〉, 《Micronews》, 2010-02-09
- ↑ Microsoft, 〈Improving "Cold Boot" Time for System Manufactures〉, 《Microsoft》, 2001-12-04
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 Sirjhswin, 〈도스의 특징〉, 《Memories of DOS》, 2009-05-07
- ↑ 5.0 5.1 5.2 5.3 hkimscil, 〈MS-DOS (Disk Operating System)〉, 《컴리서치넷위키》, 2016-07-01
- ↑ 6.0 6.1 6.2 코딩팩토리, 〈(OS) MS-DOS란 무엇인가?(MS-DOS총정리)〉, 《티스토리》, 2019-02-14
참고자료
- 마이크로소프트 공식 홈페이지 - https://www.microsoft.com/ko-kr/
- Doug Conner, 〈Father of DOS Still Having Fun at Microsoft〉, 《Micronews》, 2010-02-09
- Microsoft, 〈Improving "Cold Boot" Time for System Manufactures〉, 《Microsoft》, 2001-12-04
- 〈MS-DOS〉, 《위키백과》
- hkimscil, 〈MS-DOS (Disk Operating System)〉, 《컴리서치넷위키》, 2016-07-01
- Sirjhswin, 〈도스의 특징〉, 《Memories of DOS》, 2009-05-07
- 코딩팩토리, 〈(OS) MS-DOS란 무엇인가?(MS-DOS총정리)〉, 《티스토리》, 2019-02-14
- 발걸음을 멈추는곳, 〈MS DOS의 기능과 역사〉, 《티스토리》, 2013-11-06
같이 보기