d라이브러리









디스크를 잘 관리하려면…

기초부터 다시 시작하는 PC교실⑥

컴퓨터 메모리에 들어있는 내용은 전원을 내리는 순간 감쪽같이 사라져 버리므로 어떤 자료를 영구히 보존하기 위해서는 디스크(disk)라는 장치가 필요하다. 자료를 영구적으로 저장하는 매체인 디스크에 대해 상세히 살펴보기로 하자.

우선 메모리에 있는 내용이 어떻게 해서 전원을 내리는 순간 사라져 버리고 디스크에 일단 저장된 내용이 영구히 기록되는가를 생각해보자.

컴퓨터의 핵심소자라 하면 반도체 메모리를 빼놓을 수 없는데 메모리는 이름 그대로 입력된 정보를 보관하는 장소다. 우리가 메모리로 사용하는 디램(D-RAM, dynamic RAM으로 S-RAM이라 부르는 static RAM과 차이가 있다)은 트랜지스터 하나에 콘덴서 하나가 결합되어 하나의 셀(하나의 기억장소로서 하나의 비트가 저장된다)을 구성하는데, 반도체는 그 특성상 전기가 흐를 때만 도체로서의 역할을 하고 전기가 흐르지 않으면 돌덩어리에 불과하다. 그 대신 모든 흐름이 전기적으로 이루어지기 때문에 속도는 엄청나게 빠를 수 밖에 없다.

컴퓨터를 사용하다보면 어떤 정보를 영구적으로 보존해야 할 필요성이 생겨난다. 이를테면 프로그램을 작성했을 때라든지, 컴퓨터를 이용해 자료를 입력했을때 이 내용이 보존되지 않으면 아무런 의미가 없다. 그래서 메모리의 전자적 기억방식이 갖는 한시성(限時性)을 극복하기 위해 자기적 기록방식이 연구되었다. 사실 전기에서 자기가 유도된다는 것은 국민학생조차 다 아는 사실이다. 가장 간단한 예가 쇠못에 코일을 감아서 코일의 양쪽 끝에 전원을 연결하면 쇠못이 자석이 되는 실험인데, 국민학교 시절 이 실험을 해보고 신기해 하던 기억이 날 것이다. 우리 생활의 주변에서 자기적 방식으로 기록된 매체를 찾는 것은 어려운 일이 아니다. 녹음 테이프라든가 비디오 테이프는 물론이고, 요즈음은 공중전화카드나 전철표조차도 자기적 방식을 이용하고 있다.

자기적 기록방식이 전기적 기록방식과 다른 점이 무엇일까. 그것은 전기적 기록이 일시적인데 비해 자기적 기록은 영구적이라는 것이다.

예를 들어 우리가 어떤 노래를 녹음 테이프에 담아 두었다면 이 녹음 테이프에는 특별한 조작을 가하지 않는 한 계속 그 소리가 저장된다. 이것은 자석을 그대로 내버려두면 계속 자석으로서의 성질을 가지고 있는 것과 관련이 있다. 그러므로 컴퓨터 메모리가 기억하고 있는 전기적인 정보(이것은 높은 전압과 낮은 전압의 두가지 상태의 연속으로 구성된 정보이며 높은 전압은 1, 낮은 전압은 0에 해당하는 디지털 신호다)를 전자기 유도를 담당하는 디스크 드라이브의 헤드를 이용해 미세한 산화철 가루의 자화상태로 바꾸어둠으로써 정보를 영구적으로 저장해두는 것이다.
 

(그림1) 컴퓨터에서 'A'라는 문자가 기록되는 과정

계속 돌아가는 하드디스크

좀더 구체적으로 생각해보자. 우선 둥근 모양의 디스크를 생각하기 전에 일직선으로 된 테이프에 정보가 저장되는 메커니즘을 이해해보자. 일직선으로 된 테이프를 원형의 디스크로 바꾸는 것은 매우 쉬운 일이므로 단순한 형태인 테이프를 가지고 상상하는 편이 이해하기 쉽다.

일직선 테이프의 표면에는 아주 작은 쇳가루(산화철)가 칠해져 있다. 그래서 대부분의 테이프나 디스크가 녹슨 쇠와 비슷한 진한 갈색을 띠게 되는 것이다. 이 쇳가루는 우리 눈에 보이지 않을 정도로 작지만 확대해보면 조미료 입자처럼 가늘고 길게 생겼다. 이것이 하나하나 자화되면 한쪽끝은 N극이 되고 다른 한쪽끝은 S극이 된다(모든 자석=자화된 물질은 한쪽이 N극이고 다른 한쪽이 S극이다).

녹음기 헤드나 디스크의 헤드가 전기적 신호(높은 전압과 낮은 전압의 연속되는 신호)를 받으면 헤드가 접촉하고 있는 부분에는 자화가 이루어지게 되는데 높은 전압(이를 1이라고 하자)에 해당하는 부분은 산화철 입자의 N극이 위로 가게 되고 S극은 아래로 향하며, 반대로 낮은 전압(이를 0이라 하자)이 들어오면 자화가 이루어지면서 산화철 입자의 S극이 위를 향하고 N극이 아래를 향하게 된다. 일단 이렇게 산화철들의 N극과 S극이 전기적 신호에 대응해 자화가 되면 이것은 강한 자석이 영향을 미쳐 N극과 S극의 정렬상태를 흐트러 놓거나 헤드가 재차 다른 내용의 정보를 기록하기 전에는 영구히 자신의 기록상태가 보존된다.

또한 전기와 자기의 변환은 일방적이지 않고 쌍방향성을 가지므로 자화기록 상태를 전기신호로 변화하는 것 역시 가능하다. 그러므로 자화기록된 상태를 헤드가 접촉하게 되면 N극과 S극의 정렬상태에 대응해 전류가 유도된다. 이렇게 전기적 신호를 자화시키는 것은 디스크의 입장에서 보면 정보를 쓰는 것이고, 디스크에 자화된 상태를 전기적 신호로 바꾸는 것은 디스크의 정보를 읽는 것이라고 할 수 있다. 그러므로 디스크나 테이프에 쓰기는 물론 읽기도 가능하다.

자기적 방식은 정보를 영구적으로 보관할 수 있을 뿐 아니라 얼마든지 정보를 갱신하는 것도 가능하기 때문에 매우 편리하며, 산화철을 이용하므로 값도 싸다. 그리고 산화철 입자 하나의 크기를 작게 해서 단위 면적안에 얼마나 많은 양을 도포(塗布)해두느냐에 따라 디스크에 저장할 수 있는 정보용량이 달라진다. 기술이 발달함에 따라 요즈음은 매우 작은 크기의 디스크에 어마어마한 양의 정보를 담아둘 수 있게 되었다.

플로피디스크와 하드디스크가 정보의 저장용량과 속도면에서 차이가 나는 이유는 재질이나 작동구조가 다르기 때문이다. 우선 하드디스크는 산화철을 도포할 수 있는 디스크가 알루미늄합금으로 되어 있기 때문에 하드(hard)라는 이름이 붙었다. 이렇게 단단한 재질에는 고밀도 처리가 가능할 뿐 아니라 고속회전도 가능하다. 저속보다는 고속회전이 정보를 더 빨리 찾아내는데 도움이 된다. 실제로 플로피디스크는 보통 3백rpm의 속도로 회전하는데 하드디스크는 최소 3천6백rpm의 속도를 가지므로 읽고 쓰기의 속도가 다를 수밖에 없다. 특히 하드디스크는 컴퓨터를 켜놓으면 계속 회전하게 되어 있다. 정보를 읽거나 쓸 때만 회전하는 플로피디스크의 경우 막상 자료를 읽거나 쓰는데 드는 시간보다 회전을 시켜 일정한 속도에 도달할 때까지 걸리는 시간이 길기 때문에 자료처리 속도가 느리다.

테이프 디스크 등의 자기적인 기록매체는 전기적인 기록매체에 비해 속도가 느리다. 그도 그럴 것이 헤드와 디스크의 물리적인 접촉이 이루어져야만 정보를 읽거나 쓸 수 있기 때문이다.

둥근 디스크가 더 낫다

앞에서는 이해를 돕기 위해 디스크와 테이프를 동일하게 취급했다. 그러나 이제 그 차이점을 알아볼 차례다.

여러분의 집에는 대부분 전축이 있을 것이다. 전축에는 대개 녹음테이프를 들을 수 있는 녹음기도 달려 있고, 전축판(디스크)을 들을 수 있는 턴테이블도 있다. 녹음테이프와 디스크의 차이를 생각해보면 왜 컴퓨터 저장장치가 원반 모양을 하게 되었는지 알 수 있다.

초창기의 컴퓨터 저장매체는 테이프였다. 그런데 테이프가 갖는 문제점은 저장된 정보를 순차적으로밖에 접근하지 못한다(sequential access)는 것이다. 즉 테이프를 녹음기에 걸어놓고 첫번째 곡을 듣다가 마지막 곡을 듣고자 하면 테이프를 뒷부분으로 감아주지 않으면 안된다. 또한 첫번째 곡이 있는 곳에서 세번째 곡이 있는 곳까지 감아주는 것이 다섯번째 곡이 있는 곳까지 감아주는 것보다는 빠르다. 비디오 테이프도 녹음테이프와 같은 방식이기 때문에 비디오를 다 본 다음 처음으로 감아주려면 꽤나 시간이 걸린다.

디스크의 경우는 좀 다르다. 원하는 곡을 선택하려면 원하는 위치에 바늘을 올려놓으면 된다. 첫번째 곡을 듣다가 세번째 곡으로 이동하거나, 다섯번째 곡으로 이동하거나 걸리는 시간은 마찬가지다. 디스크의 제일 뒷부분에 바늘이 있다고 하더라도 제일 앞부분으로 옮겨놓는 시간이 얼마 걸리지 않는다. 디스크는 이렇게 원하는 위치를 임의적으로 접근하는 것이 가능한 장치다. 어느 쪽이 컴퓨터 저장매체로 더 빠르고 편한지는 이미 판가름났다.

전축판과 컴퓨터 디스크는 완전히 서로 다른 점이 몇가지 있다. 우선 전축판은 읽기만 가능하고 쓰기가 안된다. 전축판의 가늘고 긴 홈을 따라 바늘이 움직이면서 소리를 재생해내므로 재생만 가능할 뿐 전축판에 소리를 기록하는 것은 불가능하다. 그러나 컴퓨터 디스크는 바늘 대신에 녹음기의 헤드와 비슷하게 생긴 장치를 이용하므로 읽기는 물론 쓰기도 가능하다.

전축판은 앞면과 뒷면이 있기는 하지만 바늘이 하나이므로 앞면을 다 듣고 뒷면을 들으려면 뒤집어야 하지만 디스크의 경우 디스크 한 장당 헤드가 두개씩이므로(하드디스크의 경우 디스크가 여러 장 들어있다) 디스크 사용시 뒤집을 필요가 없다.

디스크용량을 결정하는 요소들-트랙과 섹터
 

(표1) 플로피디스크의 종류


디스크는 트랙(track)이라고 하는 동심원들로 나누어져 이 트랙에 자료가 저장된다. 트랙은 다시 섹터(sector)라는 보다 작은 영역으로 구분된다(그림2). 각 섹터는 일정한 바이트를 저장한다. 1섹터에는 0.5KB, 즉 5백12바이트가 저장된다. 디스크의 트랙과 섹터수는 형태에 따라 다르다. 플로피디스크의 경우 (표1)과 같은 네가지로 되어 있지만 하드 디스크의 경우는 용량에 따라 매우 다양하다.

우리가 자주 사용하는 5.25인치 고밀도(HD) 디스켓의 경우 어떻게 해서 1.2MB의 정보가 저장될 수 있는가 생각해보자. 우선 디스켓은 앞면과 뒷면 두 면을 가지고 있다. 한 면당 80개의 트랙을 만들 수 있고, 다시 한 트랙은 15개의 섹터로 구분된다. 한 섹터에는 5백12바이트(0.5KB)가 기록될 수 있으므로 이 수치들을 각각 곱하면 몇 바이트가 저장될 수 있는지를 계산할 수 있다.

2(면)×80(트랙)×15(섹터)×512(바이트)=1,228,800바이트=1.2MB

원래 5.25인치나 3.5인치 배밀도(DD) 디스켓은 XT기종에서 사용하던 것이다. XT기종은 고밀도(HD)를 인식하지 못한다. AT기종 이상에서는 배밀도, 고밀도를 가리지 않고 읽고 쓸 수 있다. 분명히 알아야 할 사항은 AT기종 이상에서 기본은 고밀도 디스켓이라는 것이다. 가령 디스켓을 초기화(format)할 때 별다른 말이 없으면 컴퓨터는 배밀도를 집어넣고 초기화를 해도 고밀도일 때와 똑같이 처리한다. 이렇게 되면 초기화하는 시간도 오래 걸리고 잘 되지도 않는다. 억지로 초기화가 끝나서 자료가 저장되더라도 에러가 많이 발생한다.

하드디스크나 플로피디스크를 사용하기 전에 디스크가 파일을 저장할 수 있도록 포맷을 해야 한다. 포맷을 한다는 것은 디스크의 면을 앞서 말한 바와 같이 트랙과 섹터로 구분을 한다는 의미다.
 

(그림2) 디스크의 트랙과 섹터


초기화 명령어-FORMAT

포맷을 하는 것은, 우리가 공책을 사면 이미 줄이 그어져 있어 여기에 글씨를 써 넣기만 하면 되지만 백지를 사면 우리가 동일한 간격의 줄을 그어 사용할 필요가 있는 것과 마찬가지다. 그런데 하드디스크와 플로피디스크는 포맷을 할 때 차이가 있다. 하드디스크는 플로피디스크의 수십 수백배 저장용량을 가지는 대용량 매체이므로 물리적인 구조가 복잡하다. 따라서 포맷도 3단계를 거쳐야 된다. 여러분의 컴퓨터에 장착된 하드디스크는 아마도 판매한 사람들에 의해 3단계의 포맷과정을 거쳐서 여러분에게 전달되었을 것이다. 사용자가 직접 하드디스크를 포맷하는 일은 별로 없다.

플로피디스크의 경우는 포맷한 상태로 판매하는 경우가 거의 없기 때문에 사용자가 항상 사용전에 포맷을 해야 한다. 플로피디스크의 포맷은 간단하게 된다. 포맷을 하려면 디스켓을 드라이브에 넣고 도스의 외부명령어인 FORMAT을 실행시키면 된다.

C :\DOS>;FORMAT A : [엔터]
만약 3백60KB짜리 DD디스켓을 포맷하려면 /4라는 옵션을 붙여주어야 한다.
C :\DOS>;FORMAT A :/4 [엔터]

한번 포맷된 디스크는 다시 포맷할 필요가 없다. 포맷된 디스크의 자료를 지울 때는 도스의 DEL 명령을 사용하면 된다. 자료가 담겨있는 디스크를 포맷시켜 버리면 디스크에 있는 모든 내용은 사라져 버린다. 그러나 오래된 플로피디스크에 있는 정보를 읽을 수 없다면 이 디스켓을 새 디스켓이라고 생각하고 포맷을 시키면 다시 사용할 수 있다. 디스크를 포맷하면 모든 데이터가 파괴되지만 그 디스크를 새 디스크처럼 다시 사용할 수 있게 된다.

포맷할 때 아예 부팅까지 할 수 있는 디스켓을 만들수 있다. 평소에 부팅가능한 플로피디스크를 만들어 두었다가, 하드디스크에 있는 부팅영역이 바이러스 등으로 파괴되었을 경우 사용하면 편리하다.

C :\DOS>;FORMAT A :/S [엔터]

이와 같이 /S 옵션만 붙이면 부팅가능한 디스켓이 된다. S는 시스템(System)파일이 담겨있다는 의미다.
 

(그림3) 디스켓의 구조(5.25인치)


이름붙이기와 보기-LABEL, VOL

디스켓을 사면 디스켓의 앞면에 붙일 수 있도록 라벨(label)을 주는데 여기에 디스켓의 이름을 적어 붙여놓으면 된다. 그러나 이렇게 붙여놓은 라벨은 디스켓에 저장된 내용이 바뀌면 내용을 지우고 그 위에 다시 쓰거나 뜯어내고 다른 것을 붙여야하므로 지저분해진다.

디스켓의 라벨을 이렇게 디스켓의 표면에 필기구로 적어야만 하는 것은 아니다. 우리가 파일에 이름을 붙이듯이 디스크에도 이름을 붙여 디스크의 내부에 기록해둘 수 있다. 포맷을 하고 나면 다음과 같이 물어온다.

Volume label(11 characters, ENTER for none)?

이때 자신이 원하는 디스켓 명칭을 영문이나 숫자 기호 등을 써서 11자 이내로 적을 수 있다. 그런데 만약 이미 이름을 붙여 사용하고 있는 디스켓의 이름을 바꾸려면 어떻게 해야할까. 이때 이름을 바꾸기 위해 포맷을 한다면 그야말로 '빈대 한 마리 잡으려다 초가삼간 다 태우는' 격이다. 이러한 경우를 위해 도스의 외부 명령어로 LABEL이라는 명령어가 준비되어 있다. 만약 포맷할 때 A드라이브에 EXAMPLE이라는 이름이 붙어 있었는데 이를 DONGA로 바꾸고자 한다면

C :\DOS>;LABEL A :[엔터]
명령을 입력하고 나면 다음과 같은 메시지가 나온다.
Volume in drive A is EXAMPLE
Volume label(11 characters, ENTER for none)?

이때에 DONGA라고 입력하고 엔터키를 누르면 된다. 이때에 아무것도 입력하지 않고 단지 엔터키만 친다면 원래 있던 이름만 지워진다.

미국 사람들은 디스켓을 공책이나 책으로 생각하는 모양인지 이를 볼륨명칭이라고 한다. 볼륨이란 책 또는 권을 의미하는 것인데 여기서 VOL이라는 명령어가 나온다. VOL명령어는 VOLume에서 나온 것으로 단지 디스크의 명칭을 보여주기만 하는 단순한 명령어다. DIR FORMAT CHKDSK 등을 실행하면 볼륨명칭이 나오므로 잘 실행하지는 않지만 간단히 디스켓의 명칭을 보기만 하려면 VOL 명령과 함께 보고자 하는 드라이브 명칭을 입력하고 엔터를 치면 된다.

VOL A : [엔터]
만약 VOL만을 입력하면 현재의 드라이브 볼륨명을 보여준다.

디스크복사-DISKCOPY

우리는 이미 파일의 복사에 대해 자세히 알아본 바 있다. 이번에는 디스크의 복사를 생각해보자. 디스크의 복사는 파일의 복사와는 달리 알아 두어야 할 점이 몇가지 있다.

디스크의 복사는 하드디스크에는 해당이 안된다. 그러므로 하드디스크를 하드디스크로 복사하기 위해서는 파일복사 명령인 COPY나 COPY보다 좀 빠르고 편리한 XCOPY(COPY와 달리 이것은 도스의 외부명령어다)를 이용해야 한다.

다음으로 디스크간의 복사가 이루어지기 위해서는 원본 디스크와 대상 디스크 사이의 용량이 일치해야 한다. 한쪽이 작거나 크면 복사가 이루어지지 않는다. 흔히 대상 디스켓의 용량이 원본 디스켓의 용량보다 크면 복사가 이루어질 것으로 생각하는데 결코 복사되지 않는다. 이럴 때는 파일복사를 이용해야 한다.

세번째는 DISKCOPY 명령을 사용하면 대상 디스크를 별도로 포맷할 필요가 없다. 앞에서 디스크에 처음으로 자료를 기억시키려면 포맷을 해주어야 한다고 했는데 이때만은 예외다. 이것은 DISKCOPY라는 명령이 어떻게 복사를 하는가 하는 특성을 잘 반영해주는 현상이다. 즉 파일의 복사가 복사할 파일의 내용만을 복사하는데 비해 디스크 복사는 정보가 담겨있는 내용은 내용대로 복사하고 공백으로 남겨져 있는 부분은 공백으로 더구나 공백이 포맷되어 있으므로 포맷된 내용 그대로를 복사해준다.

이러한 디스크 복사 방식을 이미지 복사(image copy)라고 한다. 이미지 복사 방식은 포맷을 하지 않아도 되므로 매우 편리하지만 문제점도 없지 않다. 그것은 대상 디스크에 어떤 정보가 들어 있을 때 생기는 문제인데, 대상 디스크에 어떤 자료가 들어있는지 아랑곳하지 않고 원본 디스크에 있는 내용을 그대로 복사하기 때문에 원래 대상 디스크에 있던 자료는 아무런 경고도 없이 파괴되어 버린다.

넷째로 디스크 복사는 하나의 드라이브로 이루어질수 있는데 원본 디스켓에서 읽은 내용은 잠시 주기억장치인 메모리에 기억되었다가 드라이브에서 원본 디스크를 빼고 대상 디스켓을 넣으면 메모리에 있는 내용이 대상 디스켓에 복사되는 방식으로 기록된다. 그러므로 상용메모리 6백40KB를 넘는 2HD 디스켓을 복사하고자 하면 원본 디스켓과 대상 디스켓을 몇번씩이나 갈아끼워야 한다.

디스크 복사 명령을 사용해보자.
C :\DOS>;DISKCOPY A : A :[엔터]

복사가 이루어진후 자료가 들어있는 디스켓에 다른 내용이 더 기록되기를 원치 않는다면 디스켓 오른쪽 윗부분에 있는 쓰기방지 홀에 테이프를 붙여두면 된다. 이 구멍이 막히면 드라이브는 이를 감지해 디스켓에서 읽기만 할 뿐 쓰지는 않으므로 자료를 안전하게 보관할 수 있다.

디스크를 초기화하기 위해서 FORMAT 명령을 내리면서 부팅이 되는 디스켓으로 만들려면 /S라는 옵션만 주면 된다고 했다. 그러므로 디스켓의 경우 쉽게 부팅 디스켓을 만들 수 있다. 그러나 하드디스크에 다른 자료들은 멀쩡한데 하드디스크로 부팅이 안된다면 어떻게 하겠는가. 하드디스크를 부팅 디스크로 만들기 위해서 포맷을 한다면 어떻게 될까.

부팅디스켓을 만들자-SYS

하드디스크를 포맷하는 것은 물리포맷 분할 논리포맷의 3단계를 거치지만 물리포맷과 분할에 이상이 없을 때는 도스의 FORMAT 명령으로 포맷이 이루어진다. 초보자들의 경우 포맷할 대상을 지정해주지 않아서 하드디스크를 포맷해버리는 경우가 종종 있는데 결국 하드디스크도 FORMAT 명령을 주면 모든 자료가 다 지워지면서 포맷이 되기는 한다.

여기에 /S 옵션을 붙여주면 결국 하드디스크도 부팅디스크로 만들어질 것이다. 그러나 이미 하드디스크에 있던 정보는 어디서 찾겠는가. 그러므로 이것도 앞에서 말했던 '빈대 한마리' 이야기와 비슷해진다. 그래서 어떤 디스크를 부팅이 가능한 디스크로 만들어 주는 명령어가 따로 있다. 그 명령어가 바로 SYS 명령어다. SYS 다음에는 자기가 원하는 드라이브의 명칭을 적어주면 된다. 만약 하드디스크가 부팅이 되지 않는다면 부팅이 되는 디스켓으로 일단 부팅한 다음 도스의 SYS 명령이 있는 곳으로 디렉토리를 옮겨간 다음 SYS C : <;엔터>;라고 하면 된다.

A>;C : <;엔터>;
C>;CD DOS<;엔터>;
C>;SYS C : <;엔터>;

여기서 SYS는 SYStem에서 S만을 딴 것이다. 대개 부팅되는 디스켓을 시스템 디스크라고 하는데 여기에는 시스템 파일이 들어 있기 때문이다.

시스템 디스켓은 구급약과도 같아서 하드디스크가 간혹 부팅되지 않을 경우 플로피드라이브에 넣고 부팅을 시켜주어야 한다. 여기에 SYS와 같이 하드디스크를 부팅 디스크로 만들어 줄 수 있는 파일이나, 바이러스를 검색해서 퇴치하는 백신프로그램, 그리고 하드디스크의 이상을 진단하는 진단프로그램 등을 넣어둔 후 쓰기방지탭을 붙여서 보관해둔다면 요긴하게 쓸 수 있다.

1993년 01월 과학동아 정보

  • 이형열 대표

🎓️ 진로 추천

  • 컴퓨터공학
  • 정보·통신공학
  • 소프트웨어공학
이 기사를 읽은 분이 본
다른 인기기사는?