2015년 1월 20일 화요일

도스의 특징

MS-DOS 특징 개요

(예전의 도스월드에 있던 자료를 따로 보관해 두었다가 올립니다)
MS-DOS의 특징을 한 단어로 표시하자면, FAT16 파일 시스템을 사용하는 운영체제라는 것이다. FAT16이라는 단어 속에는 파일명은 8.3의 원칙을 따라야 하고 1개의 파티션 크기가 최대 2GB까지만 설정 가능하다라는 의미가 포함된 것이다. 


MS-DOS는 FAT32, NTFS, HPFS 시스템을 인식하지 못한다.

MS-DOS 6.22까지의 모든 MS-DOS는 FAT16 파일 시스템을 사용하고 윈도우즈 95 OSR2부터 지원하는 FAT32와 윈도우즈 NT/2000/XP의 파일 시스템인 NTFS, 그리고 OS/2의 파일 시스템인 HPFS는 인식하지 않는다. 따라서, 이전 HDD에 FAT32 또는 NTFS를 사용하는 윈도우즈 9x/Me/NT/2000/XP가 설치되어 있고 이러한 운영체제를 완전히 삭제할 필요가 있는 경우, A드라이브에 MS-DOS 6.x의 부팅 디스크를 삽입하고 A드라이브로 부팅하더라도 HDD에 있는 운영체제를 삭제할 수 없다. 아니 정확하게 말하자면, MS-DOS가 모르는 파일 시스템이 HDD에 있어 C드라이브 조차 보이질 않는다. 이런 경우, 자료실에 있는 DELPART.EXE와 같은 파티션 삭제 전용 프로그램을 사용하여 삭제하여야 한다. 그리고, 1대의 PC에 윈도우즈 9x와 MS-DOS와 Multi-Booting을 시도한다면 반드시 C드라이브는 FAT16이어야 한다. MS-DOS와 윈도우즈9x/Me/NT/2000/XP의 시스템 파일들은 Setup시 D드라이브에 D:\DOS 또는 D:\Windows(또는 D:\WinNT)와 같은 디렉토리를 생성하여 설치할 수 있으나 부팅에 필요한 시스템 파일(IO.SYS, MSDOS.SYS 등)은 항상 C드라이브에 저장되므로 Multi-Booting을 시도하는 경우, C드라이브는 모두 인식할 수 있는 파일 시스템인 FAT16이어야 한다. 


파일명과 디렉토리명은 항상 8.3이어야 한다.

윈도우즈 95부터는 최대 255자까지의 파일명, 디렉토리명이 가능하지만 MS-DOS 6.22까지의 파일명과 디렉토리명은 반드시 8.3의 규칙을 지켜야한다. 물론, 확장명이 없는 파일도 존재가 가능하다. 즉, MS-DOS 6.22까지의 파일명(디렉토리명 포함)은 반드시 최대 파일명 8자와 확장명 3자의 원칙을 지켜서 생성되어야 한다. 

가령 윈도우즈 98의 원본 CD를 살펴보면, 모든 파일명은 8.3의 원칙에 맞는 파일들뿐이다. 8.3이라는 최소의 원칙을 지킴으로써 FAT16인 MS-DOS 부팅 디스크로 PC가 부팅되더라도 CD-ROM에 저장되어 있는 파일들을 정확하게 Access할 수 있는 것이다. 

그리고, 디렉토리명도 확장명을 가질 수 있다. 대부분의 PC사용자들은 디렉토리명은 확장명이 없는 것으로 알고 있으나, 실제로 그렇게 사용하지 않을뿐이지 분명히 확장명을 가질 수 있다. 다음을 참조하기 바란다. 

C:\DOS>md test.ok
C:\DOS>cd test.ok
C:\DOS\TEST.OK>_ 



1개 파티션의 최대 크기는 2GB이다.

MS-DOS 6.22까지 포함되어 있는 FDISK.EXE는 FAT16의 파티션 생성할 수 있는데 1개 파티션의 크기는 최대 2GB이다. 예를들어, 50GB인 HDD를 PC에 설치하여 MS-DOS만을 사용한다고 하면 C드라이브(2GB), D드라이브(2GB), E드라이브(2GB), ... Z드라이브(2GB)까지 하더라도 44GB만 사용할 수 있다. 즉, 절대로 50GB 전체를 사용할 수 없는 것이다. 

 

FAT16
FAT32
NTFS
Partition Size
Cluster Size
Partition Size
Cluster Size
Partition Size
Cluster Size
0MB ~ 32MB
512Byte
0MB ~ 259MB
512Byte
0MB ~ 512MB
512 Byte
32MB ~ 64MB
1KB
260MB ~ 511KB
1KB
513MB ~ 1024MB
1KB
65MB ~ 127MB
2KB
512MB ~ 8191MB
4KB
1025MB ~ 2048MB
2KB
128MB ~ 255MB
4KB
8GB ~ 16GB
8KB
2049MB ~ 4096MB
4KB
256MB ~ 511MB
8KB
16GB ~ 32GB
16KB
4097MB ~ 8192MB
8KB
512MB ~ 1023MB
16KB
32GB ~ 2TB
32KB
8193MB ~ 16384MB
32KB
1024MB ~ 2GB
32KB
-
-
16384MB 이상
64KB



Root디렉토리에 존재할 수 있는 최대 파일 갯수는 512개이다.

FAT16에서 디렉토리를 포함하여 Root디렉토리에 존재할 수 있는 최대 파일 갯수는 512개이다. 즉, C드라이브의 Root에 파일이 512이상일 경우 MS-DOS는 정상적으로 인식하지 못한다. 따라서, 많은 파일들이 생성될 경우 디렉토리를 생성하여 저장하는 것이 바람직하다. 



MS-DOS의 시스템 파일은 IO.SYS, MSDOS.SYS, COMMAND.COM이다.

MS-DOS의 시스템 파일은 IO.SYS, MSDOS.SYS, COMMAND.COM이다. MS-DOS 6.0부터는 Double Space를 지원하므로, DBLSPACE.BIN이라는 파일도 시스템 파일에 속한다. 물론, MS-DOS 6.20부터는 Double Space 대신에 Drive Space를 지원하므로 DRVSPACE.BIN도 시스템 파일이라 볼 수 있다. 특히, IO.SYS, MSDOS.SYS, COMMAND.COM 파일만 디스크에 존재하면, 그 디스크는 부팅 가능하다. 그러나 이 IO.SYS와 MSDOS.SYS는 디스크의 특정 위치에 존재하여야 부팅 가능한데, 이 2개의 파일이 디스크의 특정 위치에 존재하여 부팅 가능한 디스크가 되기 위해서는, SYS.COM 명령을 이용하여야 한다. SYS.COM명령을 수행하면 IO.SYS, MSDOS.SYS, COMMAND.COM와 DBLSPACE.BIN(or DRVSPACE.BIN)가 디스크로 복사된다. 



방금전에 입력한 내용을 반복할 때는 F3 키를 누른다.

F3키를 누르면 방금전에 입력한 내용이 다시 명령 프롬프트에 나타난다. 잘알려지지 않은 기능이지만 유용하게 사용될 때가 있다. 

C:\DOS>copy emm396.exe a:\ (←EMM386.EXE라는 파일명을 잘못입력하였다.)
Bad command or file name 

(위에서 그냥 F3을 누르면 방금전의 모든 문장이 나타난다.)
C:\DOS>copy emm396.exe a:\ 

(이번에는, 위에서 copy emm38 까지만 입력하고)
C:\DOS>copy emm38 

(F3키를 누르면 완전한 문장이 완성되었다.)
C:\DOS>copy emm386.exe a:\
 


MS-DOS는 대소문자를 구별하지 않는다.

MS-DOS는 파일명이나 디렉토리명, 드라이브명에서 대소문자를 구별하지 않는다. 

C:\DOS>copy EMM386.exe a:\
(명령은 잘 수행된다.) 

(아래의 명령들은 위의 명령과 동일의 작업을 수행한다.)
C:\DOS>COPY Emm386.Exe A:\
C:\DOS>CopY EmM386.eXe a:\ 

(디렉토리에서도 대소문자를 구별하지 않는다.)
C:\DOS>mD tEST
C:\DOS>cd Test
C:\DOS\TEST>_ 



모든 실행파일은 실행파일이 있는 디렉토리에서 실행해야 한다.

기본적으로 MS-DOS 내부명령(참고로, 내부명령은 메모리에 존재하기 때문에 어떠한 디렉토리에서도 실행된다)외의 모든 명령(MS-DOS 외부명령 포함한 모든 응용프로그램)이 실행되기 위해서는 실행파일이 존재하는 디렉토리에서 실행하여야 한다. 예를 들어보면, (C:/HNC 디렉토리에 HWP.EXE파일이 있을 때)

C:/HNC>dir hwp.exe
HWP.EXE 

C:/HNC>cd c:\dos 

C:/DOS>hwp
Bad command or file name 

C:/DOS>c:\hnc\hwp
HWP 프로그램이 정상적으로 실행된다. 

즉, C:/DOS에는 HWP.EXE가 없기 때문에 HWP 프로그램이 실행되지 않지만, 비록 현재 경로가 다른 디렉토리일지라도 HWP.EXE가 있는 완전한 경로명(여기서는 C:\HNC\이다)을 앞에 입력하고 실행파일명을 입력하여 실행하면 그 프로그램은 정상적으로 실행된다. 그러나, 매번 이렇게 완전한 경로명을 입력하면 정말 번거스럽다. 이러한 번거스런운 작업은 내부명령인 SET를 이용하여 PATH라는 환경변수를 이용하면 쉽고 편리하게 실행파일을 실행할 수 있다. 

C:/DOS>set path=c:\dos;c:\hnc 

C:/DOS>hwp
HWP 프로그램이 정상적으로 실행된다. 

이것 또한 그리 쉽지 않다. 간단하게 HWP프로그램만을 예를 들어서 그런것이지 PC를 켜고 나서 여러가지 많은 프로그램들의 경로명을 매번 위처럼 set path=...처럼 입력하는 것도 고된 일이다. PC를 켜고 MS-DOS가 시작되면 항상 set path=...가 시작되도록 하자. 바로 AUTOEXEC.BAT파일에 입력하여 두는 것이다.
(물론, HWP가 정상적으로 설치되면 AUTOEXEC.BAT에 설치된 디렉토리가 환경변수 PATH에 자동적으로 추가된다.) 

C:/>c:\dos\edit c:\autoexec.bat
(EDIT.COM이 실행하여 C:/에있는 AUTOEXEC.BAT파일을 읽어들인다.) 

set path=c:\dos;c:\hnc;c:\mdir;c:\norton;c:\tc 

위 부분을 입력하고 저장하고 EDIT.COM을 빠져 나온다. PC를 재시작시키면 자동적으로 AUTOEXEC.BAT가 실행되기 때문에 set path=...부분도 자동적으로 실행된다. 이제 C:\HNC, C:\MDIR, c:\NORTON, C:\TC 디렉토리 안에 있는 실행파일은 어떠한 디렉토리에 있어도 실행된다. 



MS-DOS의 OEM 및 Version별 시스템 파일명은 조금씩 다르다.

MS-DOS가 사용된 OEM회사의 DOS Version별 시스템 파일은 약간이 다릅니다. 대부분 IO.SYS, MSDOS.SYS 또는 IBMBIO.COM, IBMDOS.COM 입니다. 

OEM Versions 시스템 파일명
 AT&T 3.1, 3.2, 3.30a IBMBIO.COM, IBMDOS.COM
 Bluechip 3.2 IOSYS.COM, MSDOS.COM
 Compaq 1.1, 1.11 IBMBIO.COM, IBMDOS.COM
 Compaq 2.01+ IBMBIO.COM, IBMDOS.COM
 Dell 3.3 IO.SYS, MSDOS.SYS
 DTK 4.01 IO.SYS, MSDOS.SYS
 EPC/EMPAC 4.01 IO.SYS, MSDOS.SYS
 HP Vectra 3.2 IBMBIO.COM, IBMDOS.COM
 ITT 2.11, 3.10 IBMBIO.COM, IBMDOS.COM
 IBM All IBMBIO.COM, IBMDOS.COM
 Intel 4.01 IO.SYS, MSDOS.SYS
 Lyi-Cheng 4.01 IO.SYS, MSDOS.SYS
 Microsoft All IO.SYS, MSDOS.SYS
 NCR 2.11 IO.SYS, MSDOS.SYS
 NCR 3.20 IBMBIO.COM, MSDOS.COM
 Northgate 4.0 IO.SYS, MSDOS.SYS
 Parcorp 3.3 IO.SYS, MSDOS.SYS
 Phoenix 4.01 IO.SYS, MSDOS.SYS
 Sperry 3.2 IO.SYS, MSDOS.SYS
 Tandy 2.11 IO.SYS, MSDOS.SYS
 Tandy 3.1, 3.2, 3.3 IBMBIO.COM, IBMDOS.COM
 Telex 3.21 IO.SYS, MSDOS.SYS
 Wang 2.11 IO.SYS, MSDOS.SYS
 Wyse 3.1, 3.21, 3.3 IBMBIO.COM, IBMDOS.COM
 Zenith 2.11, 3.21 IBMBIO.COM, IBMDOS.COM
 

댓글 없음:

댓글 쓰기