MS-DOS

MS-DOS마이크로소프트 디스크 오퍼레이팅 시스템(MicroSoft Disk Operating System)의 약자로, 마이크로소프트에서 만든 도스를 의미한다.

1 시스템 구동 방식[편집]

MS-DOS로 컴퓨터부팅하기 위해서는 최소한 세 가지 파일이 필요하다. IO.SYS, MSDOS.SYS, COMMAND.COM이 바로 그것. IO.SYS 파일이 하드웨어와 가장 밀접하게 붙어 있는 파일이며, 기계어로 직접 하드웨어를 구동시켜주는 역할을 하는 파일이다. MSDOS.SYS는 기계어와 일반 명령어의 번역을 담당하는 파일이며, 앞의 두 파일만 있어도 일단 컴퓨터가 부팅이 되기는 한다.(물론 아무것도 할 수는 없는 상태로 부팅된다.) 사용자에게 가장 밀접하게 와 닿는 파일은 COMMAND.COM 파일로 해당 파일에 MS-DOS의 내부 명령어가 모두 내장되어 있어 기본적인 기능을 할 수 있게 된다. 즉 IO.SYS 파일이 하드웨어가 돌아가는 기본적인 준비를 하게 한다면 MSDOS.SYS 파일이 이제 명령어를 받아들일 준비를 하게 되며, COMMAND.COM파일이 사용자가 사용할 수 있는 명령을 대기시켜 놓고 앞의 두 파일로 넘겨주는 역할을 하게 되는 것으로 기본적인 부팅과정이 끝나게 되는 것이다. 여기에 CONFIG.SYS 파일이 있다면 여기에서 메모리 사용 설정 등을 잡아서 사용할 수 있게 되며, 마지막으로 AUTOEXEC.BAT 파일이 있다면 이 파일을 우선적으로 실행시키는 것으로 기본적인 사용자 설정이나 사용자가 하나하나 손으로 명령을 입력해서 실행해야 하는 것 들을 자동으로 할 수 있게 해 준다. 앞의 3 파일은 사용자가 수정이 불가능한 파일이지만, 뒤의 두 파일은 사용자가 직접 편집이 가능한 파일이다.

2 명령어[편집]

윈도우 95로 넘어가기 이전의 버전인 한글 MS-DOS 6.20 버전 기준으로 서술한다.

  • 파일명의 길이와 확장자의 길이 : MS-DOS에서 파일명의 길이는 8Byte(영어 및 숫자 여덟 글자, 한글 네 글자), 확장자는 3바이트로 정해져 있다. 이를 초과하는 것은 불가능하며, 파일 이름에 공백이 들어가거나 금지된 특수문자(*,.?/\ 등)가 들어가는 것도 불가능하다. 또한 파일명에 특정 입력장치를 의미하는 con, prn의 이름을 사용하는 것도 불가능
  • 와일드 카드 : MS-DOS에서는 파일의 이름을 하나하나 쳐서 해당 파일을 찾거나 지우거나 하는 것이 일반적이지만 와일드카드라는 것을 사용해서 해당 글자를 지정하지 않고 모두 읽어내는 것이 가능하다. ?와 *가 있는데 ?는 글자 1개당 적용되는 와일드카드이며, *는 글자수에 관계없이 모든 문자를 포함하는 와일드카드이다.

2.1 내부 명령어[편집]

부팅 파일인 COMMAND.COM 파일에 내장되어 있는 명령어들이다.

  • dir : 아마 MS-DOS를 배워본 사람이라면 가장 먼저 배워본 명령어일 것이다. 윈도우의 명령 프롬프트에서도 여전히 살아 있는 명령어이기도 하다. 해당 디렉토리에 들어 있는 하위 디렉토리와 파일명을 보여준다
    • dir /a : 모든 파일을 죄다 보여줌(/aa : 저장가능 파일을 보여줌, /as : 시스템 속성 파일을 보여줌, ah : 숨김 파일을 보여줌, ar : 읽기 전용 파일을 보여줌)
    • dir /s : 하위 디렉토리의 파일을 보여줌
    • dir /w : 파일의 이름을 가로로 배열하여 보여줌
    • dir /p : 한 화면단위로 페이지를 끊어서 보여줌
  • cd(chdir) : 명령 프롬프트의 디렉토리 위치를 바꾸는 명령어.
  • md(mkdir) : 새로 디렉토리를 만든다
  • rd(rmdir) : 디렉토리를 지운다. 단, 해당 디렉토리가 텅 비어 있어야 삭제가 가능하다
  • del(delete) : 파일을 지우는 명령어. 특정 파일 이름을 뒤에 입력하여야 한다. 물론 와일드카드를 사용해서 대량 삭제도 가능
  • copy : 파일을 복사하라는 명령어
    • copy con 파일명.확장자 : 해당 파일명과 확장자를 가지는 파일을 만들 수 있다.
  • comp : 서로 다른 두 파일을 비교하는 명령어
  • ver : MS-DOS의 버전번호를 보여준다
  • vol : 해당 디스크의 볼륨(Label)을 보여준다.
  • path : 해당 명령어로 디렉토리를 지정해 주면 꼭 그 디렉토리에 들어가지 않아도 그 디렉토리 안에 들어가 있는 파일의 실행이 가능하게 된다.
  • prompt : 명령 프롬프트의 모양을 바꿀 수 있게 해 주는 명령어. 보통 prompt $p$g를 가장 많이 썼었다. 해당 명령어를 실행하면 디스크 드라이브와, 지금 자리하고 있는 디렉토리 위치를 보여준다. 이외에 prompt $t를 붙이면 현재 시각을 표시해 주는 등의 표시를 할 수 있다. 다음은 그 목록
    • prompt "텍스트" : 입력한 텍스트로 새 명령 프롬프트를 지정한다.
    • prompt $A : &
    • prompt $B : |
    • prompt $C : (
    • prompt $D : 현재 날짜
    • prompt $E : 명령줄 모양 제거
    • prompt $F : )
    • prompt $G : >
    • prompt $H : 명령입력 라인을 왼쪽으로 한칸씩 들여쓴다. 첫 글자가 오른쪽 끝에 가 붙고 다음 글자부터 줄바꿈이 되는 방식
    • prompt $L : <
    • prompt $N : 현재 드라이브 위치 표시
    • prompt $P : 현재 드라이브 및 경로 표시
    • prompt $Q : =
    • prompt $S : 공백, 명령 입력줄이 한칸 띄어쓰기 처리된다.
    • prompt $T : 현재 시간 표시
    • prompt $V : 도스 버전 번호 윈도우 CMD에서는 윈도우 버전을 보여준다.
    • prompt $ :
    • prompt $$ : $
  • type : 파일의 내용을 화면에 출력해 준다. 사용은 "type 파일명"이며 파일 이름은 확장자까지 모두 다 타이핑해주어야 한다.

2.2 외부 명령어[편집]

MS-DOS의 외부 명령어는 COMMAND.COM에 내장된 명령어가 아닌 DOS 디렉토리에 들어가서 구동되는 파일의 형태로 되어 있는 명령어들이다. 일종의 응용프로그램인 셈 뒤쪽의 확장자를 굳이 타이핑하지 않아도 실행이 가능하며, 확장자는 .COM이나 .EXE로 이루어져 있다. 다음의 명령어는 MS-DOS 5.0이후 버전 기준이다.

  • attrib.com : 파일의 속성을 변경시켜줄 수 있는 명령 파일.
    • attrib + 파일속성 파일명 /옵션 : 파일의 속성을 부여한다
    • attrib - 파일속성 파일명 /옵션 : 파일의 속성을 해제한다
    • 파일의 속성은 다음 과 같다. a : 저장가능 파일, r : 읽기 전용 파일, s : 시스템 파일, h : 숨김 파일
    • 스위치는 다음과 같이 붙는다 : /s : 하위 디렉토리를 포함한다.
  • edit.com : 파일(주로 텍스트 파일이나 확장자가 .BAT인 배치파일)을 편집할 수 있게 해 주는 프로그램이다. 어찌보면 메모장 소프트웨어의 역할과 비슷하다
  • hbios.com : 한글 MS-DOS에서 한글을 사용할 수 있게 해 주는 파일. 해제는 hbios/u를 치면 되었다.
  • format.com : 말 그대로 포맷하는 것. 스위치를 통해서 여러 가지 특수한 포맷을 할 수 있다. 사용법은 format 드라이브: /옵션
    • format a: /q : 빠른 포맷. 그냥 디스크를 지워버리기만 하는 것이다.
    • format a: /s : MS-DOS 구동 디스크를 만들어주는 포맷. 이 포맷이 완료되면 해당 디스크의 루트 디렉토리에 IO.SYS, MSDOS.SYS, COMMAND.COM파일이 들어가게 된다.
    • format a: /u : 복구 불가능 포맷. 디스크를 가능한 완전히 지워버리라는 얘기이며, 이 스위치를 쓰면 일단 일반적인 방법으로는 내용을 되살릴 수 없다(물리적인 방법을 동원하면 되기는 한다)
  • unformat.exe : 포맷한 디스크를 포맷 이전으로 되돌리는 명령어.
  • fdisk.com : 하드디스크의 파티션을 잡아주는 명령어.
  • diskcopy.com : 2개의 디스크를 완전히 같은 것으로 만드는 명령어. 기본적으로 플로피 디스크에 사용되었으며, 두 디스크의 용량이 동일해야만 했다.
  • diskcomp.com : 2개의 디스크를 서로 비교해 주는 명령어. 보통 위의 diskcopy가 제대로 수행되었는지 확인하는 용도로 사용한다.
  • qbasic.com
  • more.com
  • sort.com
  • chkdsk.exe : 체크디스크. 쉽게 얘기해서 오류 난 섹터를 찾아내서 오류를 잡아주는 역할을 한다.
  • defrag.exe : 조각모음 프로그램이다.

3 메모리 관리 파일[편집]

메모리 관리 파일은 루트 디렉토리의 CONFIG.SYS 파일을 통해서 구동된다. 구동법은 CONFIG.SYS 파일 내부에 DEVICE=파일경로 및 파일명(및 기타 옵션)을 지정하는 것으로 사용가능하다.

본래 MS-DOS는 인텔 8088 프로세서와 640KB의 램을 기초로 설계[1]했기 때문에 80286 프로세서 이후 그 이상의 RAM이 추가되도 인식할 수 없어서, MS-DOS에서 실제 메모리(RAM)를 인식하고 XMS와 EMS의 메모리를 배정하기 위하여 사용한다. MS-DOS 4.01, 5.0부터 추가되었다.

  • himem.sys : 컴퓨터에서 UMA를 넘어서는 RAM 영역(고위 메모리 영역; High Memory Area)을 쓸 수 있게 해 주는 파일, 버전 5.0부터 추가되었다. himem.sys로 설정되는 메모리 영역을 XMS라고 한다. 먼저 구동되지 않으면 EMM386으로 설정되는 영역이 제한되므로, 항상 EMM386보다 우선하여 구동되어야 한다. 때문에 CONFIG.SYS 내부의 DEVICE 명령어 맨 윗줄에 자리하게 된다.
  • emm386.exe : 컴퓨터의 메모리 중 기본 메모리 640KB이상 1024KB이하의 영역(상위 메모리 영역; Upper Memory Area)을 쓸 수 있게 해 주는 파일, 버전 4.01부터 추가되었다. emm386으로 설정되는 메모리 영역을 EMS라고 하며, 상위 메모리 영역뿐 아니라 고위 메모리 영역도 EMS로 설정할 수 있다.
  • ramdrive.sys : 컴퓨터의 메모리를 램디스크로 만들 수 있게 해 주는 파일

4 기타[편집]

  • MS-DOS에서의 파일명의 길이는 8Byte, 확장자는 3Byte로 제한된다.
  • 한글의 경우 완성형 한글체제를 사용하며 1글자당 2Byte로 처리한다. 이런 이유로 MS-DOS에서 한글을 사용하려면 컴퓨터 사양이 최소 16bit이상의 성능인 AT(80286)급부터 가능했다.
  • MS-DOS의 실행파일 확장자는 .COM, .EXE, .BAT 세 종류가 있다. 만일 한 디렉토리 네에 이름이 같고 확장자만 서로 다른 3개의 파일이 있을 때 파일명을 타이핑하면 COM파일이 우선순위를 가지고 실행된다. EXE와 BAT만 있으면 EXE가 우선순위를 가진다.

5 각주

  1. 당시 빌게이츠는 컴퓨터의 메모리로 640KB도 과분하다고 생각했다고 한다.