Computer >> 컴퓨터 >  >> 시스템 >> Mac

DOS(디스크 운영 체제)란? 역사와 작동 원리, 그리고 남겨진 유산

DOS(Disk Operating System, 디스크 운영 체제)는 디스크 드라이브에서 실행되는 운영 체제(OS)를 말합니다. 이 용어는 특정 계열의 디스크 운영 체제를 가리키기도 하는데, 그중 가장 널리 알려진 것이 MS-DOS(Microsoft DOS)입니다. MS-DOS는 1995년까지 개인용 컴퓨터(PC)의 핵심 운영 체제로 자리 잡았으며, 이후 그래픽 사용자 인터페이스(GUI) 기반으로 더욱 사용자 친화적인 Windows 95가 등장하면서 그 인기가 점차 줄어들었습니다.

DOS의 역사

1940~50년대의 초기 컴퓨터에는 디스크 드라이브가 없었습니다. 대신 특정 연산을 수행하도록 하드웨어 자체에 회선이 고정되어 있었죠. 이후 컴퓨터는 펀치 카드 같은 종이 매체를 통해, 그다음에는 자기 테이프를 통해 메모리에 명령어를 저장하는 방식으로 발전했습니다. 당시 컴퓨터 메모리 공간은 매우 제한적이었기 때문에, 컴퓨터를 제어하는 명령어를 플로피 디스크나 내장 하드 디스크 드라이브(HDD) 같은 디스크 드라이브에 옮겨 담는 것은 최첨단 기술로 여겨졌습니다.

운영 체제란 컴퓨터의 하드웨어 구성 요소(메모리, 프로세서 등)와 주변 장치를 제어하는 명령을 제공하고, 다른 소프트웨어 프로그램이 동작할 수 있는 환경을 만들어 주는 소프트웨어입니다. 이러한 명령은 HDD나 다른 저장 매체에 저장될 수 있습니다. DOS는 컴퓨터의 HDD에서 실행되는 운영 체제의 한 종류로, 명령줄 인터페이스(CLI)를 제공하여 사용자가 키보드로 명령어를 입력함으로써 시스템과 각종 구성 요소에 접근하고 제어할 수 있게 해 줍니다. CLI를 사용한다는 점이 바로 디스크 운영 체제와 현대의 GUI 기반 운영 체제를 구분하는 가장 큰 차이점입니다.

'DOS'라는 용어는 여러 유사한 명령줄 기반 디스크 운영 체제를 설명할 때도 사용됩니다. 코모도어 64, 아타리 800, 애플 II 같은 초기 컴퓨터들은 각각 Commodore Business Machines DOS, Atari DOS, Apple DOS라는 디스크 운영 체제를 탑재하고 있었습니다. 또한 IBM 메인프레임용 운영 체제인 DOS/360은 1966년 처음 등장했지만, 1980년대 개인용 컴퓨터에서 사용된 8086 기반 DOS와는 관련이 없습니다.

디스크 운영 체제의 작동 원리

컴퓨터 전원을 켜면 '부팅 과정'이라 불리는 여러 단계를 거치게 됩니다. 디스크 운영 체제를 실행할 때 표준적으로 거치는 부팅 단계는 다음 여섯 가지입니다.

  1. 읽기 전용 메모리(ROM)의 부트스트랩 로더가 마스터 부트 레코드(Master Boot Record)를 읽고 제어권을 넘깁니다.
  2. 부트 레코드가 디스크 운영 체제를 메모리에 적재하고, OS가 시스템의 제어권을 가져옵니다.
  3. 컴퓨터는 자기 디스크에 저장된 데이터를 주 메모리인 RAM(랜덤 액세스 메모리)으로 전송합니다.
  4. 동시에 모니터나 프린터처럼 컴퓨터에 연결된 외부 장치로도 데이터를 전송합니다.
  5. 컴퓨터는 문자 입출력(I/O), 메모리 관리, 프로그램 적재 및 종료, 키보드를 통한 사용자 입력 처리 등을 위한 다양한 응용 프로그래밍 인터페이스(API)를 제공합니다.
  6. 운영 체제는 파일 시스템 관리 기능도 제공하여 저장 장치上的 파일을 조직화하고 읽고 씁니다. 이 관리 시스템은 디렉터리, 하위 디렉터리, 파일로 이루어진 계층 구조를 사용합니다.

DOS와 명령줄 인터페이스(CLI)

DOS는 GUI가 아닌 문자 기반 인터페이스를 사용하기 때문에, 사용자는 파일을 찾거나 특정 프로그램을 실행하는 등 원하는 동작을 명령줄에 텍스트 형태로 직접 입력해야 합니다. 명령줄 방식은 복잡하고 번거로울 수 있어, 비그래픽 운영 체제는 점차 사라지는 추세입니다.

그럼에도 불구하고 비그래픽 운영 체제는 최소한의 시스템 자원만 사용하기 때문에 가볍고 빠르며 유연하다는 장점이 있습니다. 또한 운영 체제의 표준 명령어에 능숙한 사용자에게는 GUI 기반 OS보다 오히려 편리할 수 있습니다. 특히 다음과 같은 작업을 수행할 때 유용합니다.

  • 하드웨어 또는 소프트웨어 문제 해결(트러블슈팅)
  • 손상된 HDD에서 데이터 복구
  • HDD 파티션 생성
  • 백신 소프트웨어 실행
  • 레거시(구형) 소프트웨어 실행
  • 시스템 BIOS 설정 및 구성
  • 파일/데이터 백업 설정
  • 시스템 날짜/시계 설정 변경

DOS의 주요 특징

모든 디스크 운영 체제가 공통적으로 지닌 핵심 특징은 다음과 같습니다.

  • CLI: 어떤 DOS에도 GUI는 존재하지 않으므로 마우스 입력은 받지 않습니다. 모든 명령을 명령줄 프롬프트에 텍스트로 입력하는 문자 기반 인터페이스 시스템입니다.
  • 프롬프트: 디스크 운영 체제는 현재 디렉터리(폴더)의 위치를 알려주고 사용자가 키보드로 다양한 명령을 입력할 수 있게 해 주는 시각적 메시지, 즉 프롬프트를 제공합니다.
  • 관리 기능: DOS는 컴퓨터의 파일, 입출력(I/O) 시스템, 메모리를 관리하는 데 유용합니다.
  • 배치 파일: 디스크 운영 체제는 배치 파일을 지원합니다. 배치 파일은 일련의 명령 묶음을 자동화하여 작업을 단순화하고 시간과 노력을 절약할 수 있는 매크로입니다.
  • 커널: DOS 커널은 운영 체제의 두뇌 역할을 합니다. 메모리 할당, 파일 접근 등 컴퓨터의 근본적인 동작을 관리하고, 컴퓨터와 프로그램이 서로 상호작용할 수 있는 인터페이스를 제공합니다.
  • 데이터 복구 기능: DOS로 컴퓨터를 부팅하면 시스템 충돌이나 하드 드라이브 손상 같은 예기치 못한 상황에서 데이터를 복구하는 데 도움이 됩니다.

DOS의 한계

한때 어디에나 존재했던 운영 체제였지만, DOS에는 몇 가지 분명한 한계가 있습니다.

  • 내장 보안 기능 부재: 파일 소유권이나 권한 같은 내장 보안 기능이 없습니다.
  • 멀티유저·멀티태스킹 미지원: 단일 작업(single-task) 운영 체제인 디스크 운영 체제는 멀티유저와 멀티태스킹을 지원하지 않습니다. 따라서 기본 입출력 시스템과 하드웨어에 직접 접근할 수 있다는 장점에도 불구하고, 한 번에 하나의 프로그램만 실행할 수 있습니다.
  • 사용하기 까다로운 인터페이스: 사용자가 명령어를 직접 입력해야 하는 CLI 환경에서는 프로그램 실행과 각종 OS 작업에 필요한 명령어를 모두 기억해야 합니다.
  • 예상치 못한 결과: 명령어 입력 시 사소한 실수 하나가 의도하지 않은 결과를 초래할 수 있습니다. 예를 들어 현재 디렉터리의 파일 목록을 보려고 cd \디렉터리명을 입력하면, 이 명령은 목록을 보여주는 것이 아니라 현재 작업 디렉터리를 해당 디렉터리로 변경합니다. 폴더의 내용을 나열하려면 dir 명령을 사용해야 합니다.
  • 느린 디스크 디렉터리 정보 갱신: MS-DOS 같은 일부 디스크 운영 체제는 응용 프로그램이 파일을 닫기 전까지 디스크 디렉터리 정보를 갱신하지 않습니다. 이로 인해 파일이 안전하지 않은 상태로 머물며 프로그래밍 문제가 발생할 수 있습니다.

자주 사용되는 DOS 명령어

MS-DOS는 대소문자를 구분하지 않으므로 명령어를 대문자든 소문자든 자유롭게 입력할 수 있습니다. 반면 다른 디스크 운영 체제 중에는 대소문자를 구분하는 CLI도 있습니다. 대표적인 DOS 명령어는 다음과 같습니다.

명령어기능사용 예
cd디렉터리 변경명령줄에 cd c:\techtarget을 입력하면 작업 디렉터리가 c:\techtarget으로 변경됩니다.
cls화면의 모든 내용을 지우고 명령 프롬프트만 남김명령줄에 cls를 입력합니다.
copy하나 이상의 파일을 다른 위치로 복사copy c:\techtarget\file.txt c:\techtarget\file2.txt를 입력하면 file.txt가 file2.txt로 복사됩니다.
del하나 이상의 파일 삭제del c:\techtarget\file2.txt를 입력하면 해당 파일이 삭제됩니다.
deltree디렉터리와 그 안의 모든 파일·하위 디렉터리 삭제deltree c:\techtarget\drafts를 입력하면 drafts 디렉터리와 포함된 모든 파일·하위 디렉터리가 삭제됩니다.
dir디렉터리 내 파일과 디렉터리 목록 표시dir c:\techtarget을 입력하면 해당 디렉터리의 파일·디렉터리 목록이 표시됩니다.
format디스크를 DOS용으로 포맷format e:를 입력하면 e: 드라이브의 디스크가 DOS에서 사용 가능하도록 포맷됩니다.
help사용 가능한 명령어 목록 또는 특정 명령어의 상세 정보 표시help del을 입력하면 del 명령어의 정보와 사용법이 표시됩니다. 대부분의 명령어에는 도움말에 설명된 선택적 스위치(옵션)가 있습니다.
mkdir 또는 md새 하위 디렉터리 생성mkdir c:\techtarget\drafts를 입력하면 c:\techtarget 아래에 drafts 하위 디렉터리가 생성됩니다.
move파일이나 디렉터리를 다른 디렉터리 또는 드라이브로 이동move c:\techtarget\file.txt c:\techtarget\drafts\file.txt를 입력하면 파일이 drafts 폴더로 이동됩니다.
ren 또는 rename파일 또는 디렉터리 이름 변경ren c:\techtarget\file.txt c:\techtarget\file2.txt를 입력하면 파일 이름이 file2.txt로 변경됩니다.
type파일 내용을 화면에 표시type c:\myfile.txt를 입력하면 myfile.txt 파일의 내용이 화면에 출력됩니다.
*여러 파일에 공통으로 포함된 하나 이상의 문자를 대체하는 와일드카드 문자copy c:\techtarget\*.txt c:\techtarget\drafts를 입력하면 .txt 확장자를 가진 모든 파일이 drafts 폴더로 복사됩니다.
?파일 이름의 단일 문자를 대체하는 와일드카드 문자copy c:\techtarget\document?.txt c:\techtarget\drafts를 입력하면 document1.txt, document2.txt 등의 파일이 drafts 폴더로 복사됩니다.

DOS의 탄생 배경과 미래

1970년대 마이크로프로세서의 등장은 컴퓨팅 혁명의 시작이었고, 개인용 컴퓨터(PC) 시장은 급성장하기 시작했습니다. IBM은 1981년 8월 IBM 5150 Personal Computer를 출시했는데, 신형 컴퓨터의 개발 속도를 높이기 위해 여러 구성 요소를 다른 회사들로부터 라이선스하기로 결정했습니다.

IBM이 처음 검토한 운영 체제는 Digital Research의 CP/M-86이었지만, 비밀유지협약(NDA)과 라이선스 문제로 의견이 맞지 않으면서 IBM은 Microsoft가 보유한 CP/M과 유사한 운영 체제를 선택하게 됩니다. 이 OS가 바로 QDOS(86-DOS)였습니다.

Microsoft는 1980년 QDOS(86-DOS)의 판매 권리를 확보했습니다. 이 운영 체제는 Seattle Computer Products(SCP)의 팀 패터슨(Tim Paterson)이 개발한 것으로, 원래 'Quick and Dirty OS'의 약자인 QDOS라고 불렸습니다. 숫자 '86'은 이 OS가 인텔 8086 프로세서와 함께 사용되도록 설계되었다는 사실을 가리킵니다. 1981년 SCP를 떠나 Microsoft로 이직한 패터슨은 IBM PC용 PC-DOS 버전의 86-DOS 개발에 참여했고, PC-DOS는 인텔 8086 기반 PC에 널리 설치된 최초의 DOS가 되었습니다.

Microsoft는 PC-DOS와 거의 동일한 자체 버전인 MS-DOS를 만들어 1981년 처음 출시했습니다. PC 판매량이 증가하면서 MS-DOS의 보급률도 함께 높아졌습니다. 이후 버전들은 성능이 개선되었고, 외국어 및 확장 문자 지원, 대용량 HDD 지원 같은 추가 기능이 포함되었습니다. 후속 버전에서는 메모리 관리가 강화되고, 향상된 텍스트 편집기가 탑재되었으며, 네트워크 지원 기능도 제공되었습니다.

Microsoft가 처음 Windows를 MS-DOS용 GUI로 선보였을 때, 초기 사용자는 DOS 프롬프트에 'WIN'이라고 입력해야 Windows 프로그램을 실행할 수 있었습니다. 이후 Windows는 MS-DOS 위에서 돌아가는 GUI 프로그램에서 완전한 운영 체제로 진화하며 기본 OS의 자리를 차지했습니다. 다만 소비자용 Windows가 win.com을 통한 DOS 부팅 의존성을 완전히 벗어난 것은 Windows XP에 이르러서였습니다.

MS-DOS의 마지막 소매 판매 버전은 MS-DOS 6.22였고, PC-DOS의 마지막 소매 출시판은 PC-DOS 2000입니다. 이후 MS-DOS는 Windows에 번들로 포함되어 별도의 소프트웨어 라이선스가 필요 없게 되었습니다. 지금도 Windows에서 MS-DOS 인터페이스를 에뮬레이트하는 명령 프로세서를 통해 실행할 수 있습니다. 또한 MS-DOS를 기반으로 호환되는 오픈소스 버전인 FreeDOS도 존재합니다. 그 밖에 DR-DOS, ROM-DOS, PTS-DOS(PhysTechSoft DOS) 같은 변종들도 있습니다.

수많은 레거시 응용 프로그램을 지원해야 하기 때문에, 디스크 운영 체제는 당분간 계속 사용될 것으로 보입니다. 오늘날 DOS는 기기 독립성(machine independence)을 제공하고, 무료 또는 오픈소스 OS의 경우 라이선스 비용이 전혀 들지 않기 때문에 간단한 임베디드 시스템 등 다양한 용도로 활용될 수 있습니다.

다만 이러한 레거시 운영 체제는 현대적인 사이버 공격에 대응하기 어려운 심각한 보안 문제를 안고 있습니다. SQL 인젝션, 중간자(man-in-the-middle, MitM) 공격, 제로데이 취약점은 물론, 바이러스·웜·랜섬웨어·트로이목마 같은 전통적인 공격으로부터 이를 보호하기가 쉽지 않습니다.

디스크 운영 체제는 개인용 컴퓨팅 초기 발전에 지대한 공헌을 했습니다. 최초 개발 이후 약 55년이 지난 오늘날에도 DOS는 컴퓨팅 역사상 가장 중요한 운영 체제 중 하나로 그 위상을 지니고 있습니다.

참고: 디스크 운영 체제를 나타내는 약어는 항상 세 글자 모두 대문자인 'DOS'입니다. 소문자 'o'가 들어간 'DoS'는 서비스 거부(denial of service) 공격의 약어로, 비정상적으로 많은 요청을 전송해 시스템 자원을 고갈시켜 정상적인 사용자의 접근을 막는 네트워크 공격 방식을 의미합니다.