개인용컴퓨터를 관리하는 도스프로그램. 이 도스를 정복하면 컴퓨터를 능수능란하게 다룰 수 있다는데….
개인용 컴퓨터(PC)를 쓰면서 도스(DOS)라는 말을 많이 듣는데 도스가 무엇인지 물어보면 제대로 답변하는 사람이 드물다.
도스를 모르면서 게임을 하고 워드프로세서로 글도 쓴다. 도대체 도스는 무엇일까. 또 컴퓨터에서 도스가 왜 필요한가. 도스에 대해 얼마나 알아야 컴퓨터를 능수능란하게 다룰 수 있는가.
도스란 디스크를 기반으로 하는 운영체제(Disk Operating System, DOS)의 약칭이다. 도스를 이해하기 위해 아파트나 건물의 관리실을 생각해보자. 관리실에는 수위를 비롯, 주차장을 관리하는 사람, 청소를 담당하는 사람, 건물의 고장난 부분을 수리하는 사람, 보일러실에서 냉난방을 담당하는 사람 등등 건물이나 아파트의 유지보수 및 관리를 위해 일하는 사람들이 있다.
컴퓨터에도 이렇게 컴퓨터 자체를 유지 관리하고 기본적인 운영을 도맡아 하는 전용 프로그램이 있어야 제대로 돌아가는데 이것을 운영체제(OS, Operating System)라 한다.
운영체제가 제대로 갖추어진 컴퓨터에 대해 생각해보자.
컴퓨터는 같은 속도, 같은 성능, 같은 기종이라 하더라도 매우 다양하게 쓰이고 있다. 국민학생은 컴퓨터를 오로지 게임기로만 여기고 밤낮 게임만 하는 경우가 종종 있다. 또 음악가는 미디(MIDI)라는 도구를 이용하여 컴퓨터로 작곡을 하고 편곡을 한다. 또 디자인 하는 분들은 컴퓨터를 이용해 도안을 하고 그림도 그린다. 소설가는 컴퓨터를 이용해 소설을 쓴다. 대학생들은 컴퓨터를 이용해 논문을 쓰고 보고서를 작성하기도 한다.
이렇게 하나의 컴퓨터라도 다양하게 사용될 수 있는데 이를 위해서는 각기 다른 프로그램을 필요로 한다. 그런데 이런 프로그램들이 저마다 컴퓨터의 기본적인 관리와 운영에 신경을 써야 한다면 프로그램의 크기는 매우 커지고 불필요한 중복도 생겨나게 될 것이다.
마치 학교에서 각 반마다 청소당번을 두고 학교 전체의 청소나 건물의 관리를 한다고 했을 때 아무래도 잘 안되는 것처럼 컴퓨터에 있어서도 각 프로그램을 설계하는 사람이 워드프로세서나 스프레드시트, 기타 자기가 주로 담당하는 프로그램 이외에 컴퓨터의 전반적인 운영에까지 일일이 신경을 써야 한다면 무리가 생길 것이다.
즉 프로그램을 만드는 사람마다 조금씩 편차가 있게 마련이고 사용자는 각 프로그램을 쓸때마다 상이한 운영방식에 적응하느라 무척 애를 먹을 것이다. 이 때문에 운영체제라는 것이 등장했다.
IBM은 자사 PC용 운영체제로 마이크로스프트(MS)사의 MS-DOS를 선택했고 이것은 PC 업계의 표준으로 군림했다. 그래서 어떤 이들은 도스에는 아예 MS-DOS밖에는 없는 줄로 알고 있다. 그러나 그렇지 않다.
우선 16비트급 운영체제만 해도 8비트 시절에 가장 널리 사용되던 운영체제인 CP/M의 제작사인 디지털리서치사의 DR-DOS가 있고, 우리나라에서 독자적으로 개발한 K-DOS도 있다. 서울대에서는 교수와 학생이 힘을 모아 SNU-DOS라는 것을 만들어 내기도 했는데, 이러한 여타의 도스들은 이에 대한 사람들의 낮은 인식과 호환성의 부족 등 몇가지 이유로 널리 보급되지 않고 있다.
다음으로 대형 컴퓨터에서는 유닉스(UNIX)라는 운영체제를 사용하기도 하고 요즈음 각광을 받고 있는 윈도우즈(Windows)도 하나의 운영체제로 볼 수 있다. 운영체제에 대한 이야기는 이만하고 이제 디스크에 관한 설명으로 넘어가 보자.
냉장고와 고등어
소프트웨어는 디스크에
가수 김창완의 노래 중에 '냉장고와 고등어'라는 곡이 있다. 자다가 목이 말라 문득 일어나 냉장고 문을 열어보았더니 냉장고에는 어머니가 아침 반찬거리로 고등어를 사다 놓으셨다는 것이다. 냉장고에 놓여진 고등어를 보고서 어머니의 따뜻한 사랑을 느낀다는 소박한 이야기인데, 이 노래를 필자는 매우 좋아한다. 그런데 느닷없이 냉장고와 고등어 이야기를 꺼내는 이유는 무엇일까.
우리가 당연하다고 느끼듯이 고등어는 냉장고에 둔다. 만일 고등어를 냉장고에 두지 않았더라면 노래에서처럼 맛있는 고등어구이를 먹을 수 없을는지도 모른다.
그러면 고철덩이에 불과한 컴퓨터 하드웨어를 움직이는 소프트웨어는 도대체 어디에 보관할까. 이에 대한 지식없이 컴퓨터를 사용하는 것은 집에 냉장고가 어디 있는지 알아보지도 않고 요리를 하겠다고 하는 것과 같다.
아무리 물이 잘 나오고, 가스레인지의 화력이 좋고, 칼과 도마는 물론 그릇이 제대로 갖추어졌다 하더라도 요리의 재료가 되는 음식물이 어디에 있는지 모르고서야 요리가 이루어질 수 없다. 특히 요즘처럼 인스턴트 식품이 발달되여 있는 상황에서는 요리할 필요도 거의 없다. 그저 냉장고를 열고 음식을 꺼내 먹기만 하면 된다.
컴퓨터에 있어서도 마찬가지다. 컴퓨터 하드웨어의 이모저모에 대해 조금 안다 하더라도 사용자에게 가장 중요한 것은 컴퓨터를 운용하는데 필요한 소프트웨어와 이것을 저장해두는 저장장치, 그리고 이를 다루는 방법 등이다.
테이프에서 노래가 나와
TOS에서 DOS로
어렸을 적에 내 목소리가 녹음기의 갈색 카세트 테이프에 녹음되어 재생되는 것을 보고 매우 신기해 하던 적이 있었다. 어떻게 소리가 저런 곳에 저장될까. 이런 의문이 한동안 가시질 않았다.
어떤 정보라도, 그것이 소리이건 그림이건 아니면 문자이건 녹음 테이프와 같은 마그네틱 데이프에 저장될 수 있다는 사실은 이제 상식에 속한다. 녹음테이프나 비디오 테이프, 지하철의 티켓 등은 모두 갈색 띠 모양의 마그네틱 테이프로 되어 있으니 모를 사람이 없을 것이다.
컴퓨터 소프트웨어, 즉 프로그램이나 데이터 같은 것들도 테이프에 저장된다. 그러나 보관장치로서의 테이프는 장점도 있지만 단점도 많다.
흔히 하는 경험이지만 자주 재생하다 보면 음질이나 화질이 떨어지기도 하고 테이프가 늘어나기도 하며 심지어는 끊어지기도 한다. 또 뒷부분에 있는 내용을 듣거나 보려면 테이프를 뒷부분까지 감아주어야 하는데 시간이 많이 걸린다.
노래나 영화처럼 앞에서 뒤까지 순차적으로 재생할 필요가 있을 때에는 크게 구애되진 않지만 만약 여기에 전화번호부를 저장해두었다고 한다면 한사람을 찾아내기 위해 앞으로 돌렸다가 뒤로 돌리고, 다시 되돌리고 정신이 없을 것이다.
테이프와 같은 이러한 정보재생방식을 순차적 접근(sequential access)방식이라 하는데 사용에 많은 불편이 따른다. 그래서 생각해낸 것이 전축판과 같은 구조다. 전축판은 녹음 테이프와 달라서 원하는 곡이 있으면 바로 그 곡이 담겨있는 위치에 전축 바늘을 가져다 놓기만 하면 된다. 전축판의 원리를 응용해 만들어낸 것이 바로 디스크 또는 디스켓이다.
개인용 컴퓨터에도 테이프에 프로그램을 담아 사용하던 시절이 있었다. 8비트 시절에는 카세트 테이프에 프로그램을 담아 게임도 하고 워드프로세싱도 하였다. 사실 컴퓨터를 사용한다는 것은 마치 녹음기에 테이프를 넣고 음악을 듣거나 VTR에 비디오 테이프를 넣고 영화를 보는 것과 같다. 따라서 컴퓨터 하드웨어에 내가 필요로 하는 소프트웨어를 찾아서 넣고 버튼을 눌러 컴퓨터 프로그램을 실행(play)시키면 된다.
그러므로 프로그램이 저장된 매체를 잘 다룰 줄 아는 것이 무엇보다 중요하다. 8비트 시절에 컴퓨터를 잘 사용하기 위해서는 토스(TOS, Tape Operating System) 즉 테이프 작동원리를 잘 알아야만 했다. 물론 프로그램이 변변한 것이 없었으니 컴퓨터 사용자가 프로그래머가 되어야 하는 상황이었고 이때 활약한 것이 베이식(BASIC)이라는 언어였다.
16비트 컴퓨터는 프로그램이나 데이터의 저장 매체로 테이프가 아닌 디스크를 사용하기 시작했다. 그래서 16비트 컴퓨터에서는 디스크를 기반으로 한 운영체제(도스)가 만들어진 것이다.
따라서 개인용 컴퓨터를 배운다는 것은 곧 도스를 배운다는 말과 통한다.
그런데 녹음기에 테이프를 넣고 플레이 버튼을 누르는 것처럼 단순하지 않으니 도스에 관한 책도 많고 도스를 가르치는 학원도 그렇게나 많은 것이 아니겠는가.
그도 그럴 것이 녹음기에 달린 버튼은 10개도 못되는데 컴퓨터에 달린 버튼은 1백1개(키보드의 글쇠수)나 되고 게다가 대부분의 키에는 두가지 이상의 기능이 겹쳐져 있으니 복잡하지 않을 수 없는 것이다.
펄럭거리면 플로피 딱딱한 건 하드
컴퓨터용 디스크를 만드는데 원래 테이프에서 그 모양만을 바꾸다 보니(긴 띠 모양에서 둥근 원반 모양) 다루기가 쉽지 않았다.
매우 얇아서 흐느적거리므로 취급하기가 만만치 않았던 것이다. 그래서 이 둥근원반에 조금 딱닥한 옷을 해입혔는데 이를 재킷(갈색의 마그네틱 매체를 둘러싸고 있는 검은 플라스틱)이라 한다. 그래도 전축판처럼 아주 딱딱하지는 않았으므로 플로피 디스크라는 이름이 붙게 되었다. 플로피(floppy)라는 말은 '유연하다'는 뜻이다.
그런데 우리가 이를 디스켓이라고 부르는 것은, 이를 최초로 발매하기 시작한 미국의 스리엠(3M)사가 자신들이 발매한 플로피 디스크에 디스켓(diskette)이라는 상표명을 붙여서 팔았기 때문이다.
우리 눈에 장사각형처럼 보이는 플로피 디스크는 사실상 재킷을 제거해 보면 둥근 원반 모양의 갈색물질로 되어있다. 컴퓨터에 이 디스켓을 넣으면 재킷은 가만히 있고 그 안에 있는 둥근 원반만 돌아간다.
속도와 용량을 향상시키려는 인간의 욕심은 끝이 없다. 테이프가 아닌 디스크를 사용함으로써 컴퓨터의 속도는 놀랄만큼 향상되었지만 역시 만족할 만한 수준은 못되었다. 왜냐하면 디스크를 빨리 돌릴수록 더 빨리 정보를 얻을 수 있는데 얇고 유연한 매체로는 한계가 있게 마련이었다. 이러한 재질의 특성은 고밀도 처리(같은 면적에 더 많은 정보를 저장하기 위해 필요한 조치)에도 한계로 작용하였다. 그리고 밖으로 빼내고 다시 집어넣고 하기 위해 한장 단위로 처리되다 보니 용량이 고정될 수밖에 없었다.
그래서 생각해낸 것이 딱딱한 디스크, 즉 하드 디스크(hard disk)였다. 하드 디스크는 금속원반에 자성물질(주로 산화철인데 갈색을 띤다)을 고밀도로 도포한 것으로 금속원반이 여러장 겹쳐 있는 경우가 많다.
녹음기가 테이프에서 소리를 재생해낼 때 헤드(head)를 사용하듯이 컴퓨터에 있어서도 플로피 디스크의 정보를 읽어들일 때 헤드를 사용하는데, 플로피 디스크가 양면이므로 동시에 두개의 헤드를 이용하였다. 그런데 하드 디스크의 경우 여러장의 원반을 포개 놓고 동시에 6~8개의 헤드를 사용해 저장속도와 읽고 쓰기 속도를 획기적으로 개선시킬 수 있었다.
더구나 단단한 금속이므로 아무리 빨리 돌려도 큰 무리가 없으므로 하드디스크는 플로피 디스크보다 5배나 빨리 돌릴 수 있다. 이밖에도 플로피 디스크는 정보를 읽거나 쓸 때만 돌아가지만 하드 디스크의 경우는 늘 고속으로 회전하고 있으므로 플로피 디스크 보다는 정보에 더 빨리 접근할 수 있다.
앰프 따로 CDP 따로
디스크를 돌리는 드라이브
요즘 한창 각광받는 매체 중에 콤팩트 디스크(CD)가 있다. 콤팩트 디스크는 깨끗한 음질과 몇번이고 재생해도 원래의 음질을 유지하는 강점을 가지고 있어 매우 급속하게 보급되고 있다.
그런데 콤팩트 디스크가 보급되던 초기에 어떤 사람들은 이것이 좋다는 말만 듣고 몇장 샀다가 무용지물로 만들고 말았는데 이들은 콤팩트 디스크를 돌릴수 있는 장비가 따로 필요하다는 생각을 하지 못했기 때문이었다. 기존의 전축 앰프에서 콤팩트 디스크를 이용하기 위해서는 콤팩트 디스크 플레이어(CDP, Compact Disk Player)가 필요한 것이다.
레코드판의 소리를 듣기 위해서 앰프 이외에 턴 테이블이 있어야 하는 것과 마찬가지로 무엇인가 돌려주는 것, 다시 말해 구동시켜주는 것이 필요하다. 같은 원리로 컴퓨터에서도 보조기억장치인 디스크를 구동시켜 주는 장치가 필요한데 이를 드라이브(drive)라고 한다.
플로피 디스크는 플로피 디스크 드라이브(FDD)가 구동시켜 주며 하드 디스크는 하드디스크 드라이브(HDD)가 구동시켜준다. 그런데 드라이브가 디스크를 돌려주는 것은 디스크에 담겨 있는 정보를 읽거나 쓰기 위한 것이지 그냥 맹목적으로 돌기만 하는 것은 아니다. 여기서 돌려주는 역할은 모터가 맡아서 하고, 읽거나 쓰는 역할은 헤드가 한다.
컴퓨터에서 문자뒤에 콜론(:)을 붙이면 이것이 드라이브의 명칭이 된다. 첫번째 플로피 디스크 드라이브는 통상적으로 A:으로, 두번째 플로피 디스크 드라이브는 드라이브 B:으로 지정된다. 하드 디스크는 일반적으로 C:으로 취급된다. 같은 원리로 두번째 하드 디스크는 D:이라 할 수 있다.
디스크에 담겨지는 내용물에 대한 이야기를 해보자.
앞에서 소프트웨어는 디스크에 담겨진다고 했다. 그런데 이 소프트웨어라는 말은 실상 가장 포괄적인 말이다. 이 세상에 존재하는 것을 궁극적으로 따져 올라가면 물질과 의식만이 남는다고 한다. 그런데 컴퓨터에서는 궁극적으로 존재하는 것은 하드웨어 아니면 소프트웨어다. 그러니 하드웨어 즉 기계적인 것이 아닌 것은 모두 소프트웨어라고 할 수 있다. 이렇듯 소프트웨어라는 말은 매우 포괄적이다. 그러면 소프트웨어는 무엇으로 구성되어 있을까.
프로그램과 데이터
도스 입장에서 보면 모두 파일
소프트웨어를 구성하는 두 요소는 프로그램과 데이터다. 사실 소프트웨어의 핵심은 바로 프로그램인데 그 이유는 프로그램이야말로 컴퓨터를 움직이는 명령을 기록해둔 것이기 때문이다. 이에 반해 데이터는 프로그램이 작업을 하기 위해 필요한 문장이나 숫자를 말한다. 따라서 프로그램과 데이터는 매우 다른 것이다.
우리는 흔히 하드웨어와 프로그램을 사용하여 우리에게 필요한 데이터를 얻어낸다. 그러므로 프로그램은 하드웨어의 특성을 잘 알고 이를 제어할 줄 아는 프로그래머들에 의해 만들어지고 데이터는 이를 사용하는 사용자들에 의해서 만들어진다.
그런데 프로그램이건 데이터건 디스크에 존재할 때에 우리는 그것을 파일(file)이라 부른다. 그러니까 역할을 중심으로 보면 프로그램과 데이터가 엄격하게 구분되지만 디스크를 관리해야 하는 도스의 입장에서는 모두가 그저 파일일 뿐이다. 그래서 우리는 똑같은 대상을 놓고서도, 그것을 디스크에서 지울 때는 '파일을 지운다'고 하며, 그것을 실행시킬 때는 '프로그램을 실행시킨다'고 말한다.
결국 디스크에 존재하는 것은 프로그램이나 데이터 모두 도스의 입장에서 보면 파일 뿐이다.
맨 먼저 알아야 할 dir 명령어
우리가 물리를 공부하면 물질의 가장 기초단위인 원자를 놓고 연구하고 화학공부를 한다면 원자가 여러개 모인 분자를 주연구 대상으로 하며, 생물을 연구할 때는 분자가 여러개 모인 세포를 주연구 대상으로 하게 된다.
컴퓨터 프로그래밍을 하는 사람들은 하나의 비트(bit)나 바이트(byte)를 조작하는법에 대해서 연구하지만 보통 컴퓨터 사용자의 경우에는 비트나 바이트보다는 파일단위로 일을 처리하게 된다. 또한 도스도 최소의 관리 단위가 파일이다.
그래서 도스는 보조기억장치에 존재하는 모든 것을 파일로 생각한다. 도스를 안다는 것은 이러한 파일을 지우고 복사하고 이름을 바꾸고 저장하고 하는 등등의 방법을 안다는 것을 의미한다. 이에 대해서는 다음호에 자세하게 알아보기로 하자.
컴퓨터를 켜면 제일 먼저 도스가 나와서 인사를 하는데 이것을 프롬프트(prompt)라고 한다 A>;... 또는 C>;..., C:\>;...등등의 모습으로 등장하는 프롬프트는 '재촉하다'라는 의미의 영어인데 우리에게 무엇인가 입력하기를 재촉하면서 밑줄(...)이 껌벅거린다. 이 상태에서 영어로 된 명령어를 입력하고 엔터키(enter key)를 치면 컴퓨터는 그 명령이 제대로 된 명령일 경우 어떤 반응을 보인다.
여기서 A>;는 플로피 디스크에서 작업할 수 있는 상황이라는 것을 말하고 C>; 또는 C:\>;는 하드 디스크에서 작업할 수 있는 상황이라는 것을 알려주는 것이다. 그럼 먼저 보조기억장치인 디스크에 어떤 파일들이 들어있는가를 알아야 하는데 이를 위한 명령어가 바로 dir이다.
형식 :A>; 또는 C>;에서 dir↲(↲는 엔터키를 친다는 의미)
그런데 디스크 안에 파일이 너무 많으면 화면이 위로 말려 올라가 앞에 있는 파일을 볼 수가 없게 된다. 이럴 때는 선택사항(option)을 붙여서 dir/w 또는 dir/p과 같이 명령을 준다. 여기서 /w와 /p는 각각 wide(옆으로 넓게)와 pause(한 화면씩 끊어서)의 줄임말이다. /(슬래시)는 어떤 명령어에 추가로 선택사항을 덧붙인다는 뜻이다.
명령어를 친 다음에는 엔터키를 꼭 눌러야 한다. 예전에는 이 엔터키를 리턴키(return key)라고 불렀는데 그 이유는 타자기에서 이 키가 다음 행의 첫열로 이동시켜주는 캐리지 리턴으로 쓰였기 때문이다.
컴퓨터의 경우 한 행의 끝 열로 커서가 이동하면 자동으로 다음 행의 첫열로 넘어가기 때문에 이 말은 아무런 의미도 없게 되었다. 그 대신에 어떤 명령어를 키보드로 쳐놓은 다음 이 키를 누름으로써 이 명령어가 중앙처리장치로 입력이 되어 실행할 수 있도록 하는 기능을 갖게 되었기 때문에 '입력하다'는 뜻의 엔터라는 말을 쓰게 되는 것이다.
여러분은 컴퓨터에 어떤 명령을 내린 후 반드시 엔터키로 마무리를 지어야 한다. 이제 디스크 드라이브에 디스켓을 집어넣고 dir 명령을 내려보자.