d라이브러리









무슨일이 일어날지 누구도 예측못해

2000년 1월 1일 컴퓨터는 1900년 1월 1일로 돌아간다. 현재 사용하고 있는 컴퓨터는 1998년을 두자리를 줄여 98년으로 쓰고 있기 때문에, 2000년이 되면 00년으로 표기된다. 따라서 00년으로 표기해온 1900년과 2000년을 구별할 수 없다. 이것이 바로 '밀레니엄 버그'(millenium bug) 혹은 'Y2K'(Y는 year, K는 1천을 뜻함)라고 부르는 '2천년 문제'다.
 

밀레니엄 버그


2000년 1월 1일 아침 시나리오

컴퓨터가 세상을 이토록 깊고 철저하게 지배해왔나. 2천년 문제를 앞두고 사람들은 놀라움을 금치 못하고 있다.

1996년 1월 7일 CNN 방송은 "인간은 2000년을 쉽게 맞이할지 모르지만, 컴퓨터는 00년(1900년)으로 돌아갈 것"이라며, 2000년에 지구촌에서 벌어질 한 예를 들었다. "2000년 1월 1일 새벽 뉴욕에서 아직 1999년에 머물고 있는 로스앤젤레스에 있는 친구에게 전화를 걸면, 전화회사 컴퓨터는 99년 동안의 통화료를 계산해 청구서를 보낼 것이다."

이 말이 해프닝처럼 들린다면, 1998년 2월 4일 미국의 유에스 투데이 신문에 실린 기사를 읽어볼 필요가 있다. 이날 연방항공국(FAA)은 2000년 초반에 컴퓨터 문제로 미국 항공기의 절반이 비행하지 못하는 사태가 벌어질 것이라고 경고하면서, 2천년 문제를 7%밖에 해결하지 못했다고 말했다.

4월 12일 영국의 일렉트로닉 텔레그라프에 실린 기사는 다른 의미에서 2천년 문제를 생각하게 한다. "스코틀랜드 구치소는 컴퓨터가 형량을 잘못 인식해 2000년 아침 모든 감방문이 열릴까 고민 중이다. 영국의 경우 감방문은 옛날부터 써오던 자물쇠로 잠겨 있는데 반해, 스코틀랜드의 경우 컴퓨터로 관리되고 있기 때문이다."

같은 날 영국의 더 타임스 신문은 2천년 문제 때문에 러시아에서 운영되는 65개의 원자력발전소가 폭발할 위험이 있다고 보고했다. 2000년 아침 인류는 체르노빌의 65배에 이르는 예약된 대형사고 뉴스를 접해야 할지 모른다.

다음날 미국의 시카고 데일리 트리뷴 신문에는 '최악의 시나리오'가 게재됐다. "2000년 1월 1일 아침 잠에서 깨어나면 전화는 불통이고, 자동차는 움직이지 않으며, 비행기는 공항에 앉아있고, 엘리베이터는 서서 움직이지 않을 것이다."

2천년 문제에 대한 공포스런 뉴스가 계속 보도되는 동안 이를 극복하려는 꿈마저 짓밟는 발표가 있었다. 4월 6일 미국, 일본, 유럽의 2백85개 금융기관으로 구성된 국제금융협회(IIF)는 "전세계 초대형 은행의 상당수가 밀레니엄 버그를 해결하는데 실패했다”고 밝힌 것. 이 발표는 밀레니엄 버그가 단순하게 해결할 사항이 아님을 내비쳤다.

더구나 우리나라의 경우 IMF 상황이 아닌가. 밀레니엄 버그 해결에 막대한 비용이 들어가 머뭇거리고 있는데, 무디스와 같은 신용평가회사는 올해부터 2천년 문제를 금융기관 평가항목에 넣겠다며 겁을 주었다.
 

항공기


2000년 문제로 덕보는 사람들

남의 불행은 나의 행복. 2천년 문제로 세상이 떠들썩할수록 돈을 버는 사람들이 있다. 제일 먼저 떠오르는 사람은 변호사다. 2천년 문제로 각종 분쟁이 발생할 것은 뻔한 일. 여기에 드는 소송비용은 전세계적으로 1조달러에 이를 것이라고 내다보고 있다.

두번째는 보험회사. 이미 외국 보험회사들은 2천년 문제로 발생할 기업의 손해를 보상해주는 신상품을 판매 중이라고 한다. 그러나 보험회사 역시 주업무를 컴퓨터로 처리하기 때문에 보험금을 놓고 고객과 다툼이 예상된다.

현재 가장 잘팔리는 직업은 코볼(COBOL) 프로그래머. 2천년 문제를 일으키는 대형 컴퓨터들은 주로 코볼이라는 언어로 만들어진 소프트웨어를 쓰고 있다. 이 코볼은 수치를 계산하는 곳, 즉 은행(금리), 보험회사(보험금), 국세청(세금)과 같은 곳에서 많이 쓰이고 있다.

그런데 다른 언어에 비해 코볼은 연도표기에 문제가 많아 밀레니엄 버그의 표적이 되고 있다. 코볼을 사용하는 컴퓨터가 2천년 문제를 일으키는 이유는 연도를 표기할 때 이를 단순히 수치 그 자체로만 인식하기 때문이다. 그러나 UNIX의 경우 기산점(예를 들면 1970년 1월 1일)을 두고 더해가기 때문에 2천년이 돼도 큰 문제가 되지 않는다.

얼마전까지 코볼 프로그래머들은 내리막길을 걸었다. 근래에 들어 C언어를 쓰는 UNIX 시스템이 기업에 많이 도입됐기 때문이다. 밀레니엄 버그가 문제가 되자 코볼 프로그래머들이 상종가를 구가하고 있다. 코볼을 배우는 프로그래머들이 거의 없기 때문이다. 결국 코볼을 쓸 수 있는 프로그래머가 적다는 것은 2천년 문제를 해결하는데 큰 난관이 되고 있다.

코볼 프로그래머와 더불어 2천년 문제를 찾아주는 소프트웨어 회사들도 신바람이 난다. 현재 사용하고 있는 컴퓨터와 데이터가 2000년이 오면 어떤 장애를 일으킬지를 미리 알아내는 소프트웨어는 많은 시간과 인력을 절약해주기 때문에 잘 팔릴 수밖에 없다. 2천년 문제는 이런 회사들이 과장하고 있다는 말도 있다.
 

밀레니엄 버그는 제일 먼저 은행 전산망을 파고들지 모른다.


2천년 문제 왜 생기나

요즘 하루가 다르게 컴퓨터의 성능과 용량이 커지고 있다. 그래서 컴퓨터 데이터의 크기가 그리 문제되지 않고, 여기에 신경을 쓰는 사람도 많지 않다. 그러나 컴퓨터가 처음 만들어질 때는 달랐다.

컴퓨터의 성능과 용량이 작기 때문에 데이터의 크기를 줄이는 일은 개발자의 최대 관심사였다. 압축기술이 발달한 것도 이 때문이다. 그래서 개발자들은 연도를 두자리로 표기해 메모리의 낭비를 줄였다. 밀레니엄 버그라는 시한폭탄을 만들어놓은 것이다.

2000년이 되면 은행에서는 어떤 일이 벌어질까. 예를 들어 1999년 12월에 예금을 해서 2000년 1월 찾는다고 하자. 그러면 컴퓨터는 거의 1백년 동안 예금을 한 것처럼 인식한다. 컴퓨터는 연도로 표기된 모든 데이터를 소팅(순차적으로 정리하는 컴퓨터의 기능)하기 때문이다.

또 은행에는 먼저 예금한 돈을 먼저 돌려주는 제도가 있다. 이를 선입선출제도라고 한다. 예를 들면 1997년 입금한 1백만원과 1998년에 입금한 1백만원이 있다고 하자.

1999년에 고객이 1백만원을 찾으려고 하면, 은행은 1997년에 입금한 돈을 먼저 돌려준다. 은행이자는 복리로 계산되기 때문에 은행 입장에서는 1997년에 입금한 돈을 1998년에 입금한 돈보다 먼저 돌려주는 것이 이익이기 때문이다. 그런데 2000년이 되면 먼저 입금한 돈과 나중에 입금한 돈이 바뀌기 때문에 은행에서는 혼란이 일어날 수밖에 없다.

밀레니엄 버그는 연도를 중요한 자료로 쓰고 있는 곳이면 어디에서나 말썽을 부린다. 정부의 경우 세금 계산, 주민등록 표기, 입학날짜, 투표권자 선정, 입영대상자 선정 등 다양한 문제를 안고 있다.

은행·증권·보험사에서는 예금과 적금의 이자 계산, 계좌 추적 및 실명제, 신용평가와 신용카드 발급, 대출자금 상환액, 대금 결제, 환율, 금리 등 연도와 시간을 고려하는 것이 많다.

교육계에서는 학적관리와 학사운영에 문제가 있다. 특히 산업체의 경우 임금, 재고 관리, 유통 관리, 가스 및 전력 공급 등의 분야에서 문제가 일어날 수 있다.

많은 사람들이 소프트웨어 문제만 해결하면 2천년 문제는 없어지는 것으로 생각한다. 그러나 의외의 사고를 칠 곳은 문제파악이 어렵고 관심도 낮은 비전산분야다. 컴퓨터 칩으로 구성된 공장 자동화 부분, 홈오토메이션 기기, 교통관제설비가 여기에 해당한다.

2천년 문제를 해결하려면 얼마가 들지 정확하게 추산하기는 매우 어렵다. 그만큼 컴퓨터가 사회 각 분야에서 많이 쓰이기 때문이다. 미국의 경우 전체적으로 밀레니엄 버그를 해결하는데 3천억-6천억달러가 들 것으로 내다보고 있다. 우리나라의 경우 약 8천3백억원으로 추산되고 있다.
 

마이크로소프트가 자랑했던 윈도 95에도 밀레니엄 버그가 있다.


한국, 실태 파악조차 못해

"밀레니엄 버그, 너무 과장된 것 같다. 연도가 문제가 되는 파일을 찾아 고치면 되는데, 요즘 밀레니엄 버그를 찾아주는 프로그램도 나와 있다. 문제는 돈이다."(삼성전자 K부장)

"납품을 하고 있는 중소기업이 문제다. 그래서 2000년 문제를 해결했는지, 해결하지 못했으면 언제까지 해결할 것인지 문서로 확인을 받고 있다. 책임 소재를 분명히 하기 위한 것이다."(한국코카콜라보틀링 MIS팀장)

"각군(軍)에 예상되는 문제점을 보고하라고 했는데, 보고서에서 문제를 지적한 부처는 거의 없었다. 현재 다시 상세히 검토해보라고 공문을 내려보낸 상황이다."(국방부 정보체계국 J중령)

"아직 문제가 무엇인지 파악도 못했다. 문제가 많다고 하는데, 구체적인 사례를 지적해주는 곳은 없고 돈만 필요하다고 한다."(국민회의 장영달의원실)

"현재 우리나라에서 2천년 문제를 정확하게 아는 실무자는 매우 적다. 대부분 프로그램을 수입해서 쓰기 때문이다. 프로그램을 직접 개발하지 않았기 때문에 고칠려고 해도 쉽지 않을 것이다. 2천년 문제는 2000년이 돼야 아는 것 아닌가?" 많은 전산담당자들이 공통적으로 말하는 의견이다.

이 말은 무슨 뜻일까. 큰 문제가 없다는 것일까, 속수무책이라는 것일까. 국무조정실의 '2천년 문제 대책 협의회'에서 4월 처음으로 시행하고 있는 2천년 문제 실태조사 결과가 나와봐야 알겠지만, 정부와 기업 등의 2천년 문제에 대한 대응은 지금까지 매우 미온적이었음을 확인할 수 있었다. 심지어 취재 중 기자에게 어떤 문제가 예상되냐고 물어오는 경우도 있었다. 문제가 눈에 띄면 해결이 가능하기 때문이다.

전산시스템이 비교적 잘돼 있다는 국민은행. 이곳의 전산시스템은 1997년에 도입한 IBM 9772R74 1대와 1995년에 도입된 IBM 901942 2대로 운영되고 있다. 앞의 기종은 270밉스(1밉스는 초당 1백만건 처리)이고, 뒤의 기종은 216밉스의 성능을 지니고 있다.

다행히 두 기종은 2천년 문제가 해결됐다고 IBM으로부터 확인받았다고 한다. 그리고 국민은행은 올 4월까지 예금과 적금의 연도 표기를 2자리에서 4자리로 바꿀 계획이라고 한다.

그런데 다른 은행은 어떤가. 은행 사이에 전산망이 통합돼 있기 때문에 한곳만 잘돼 있다고 문제가 해결되는 것이 아니기 때문이다. 여기에 대해 은행 관계자들은 우려하는 만큼 큰 문제가 없을 것이라고 말한다. 우선 현재 보유 중인 컴퓨터가 코볼을 쓰지 않는 최근 기종인데다가, 금융결제원을 통해 매일 돈의 흐름을 확인하기 때문에 연도표기 문제가 발생하지 않을 것이라고 보고 있다. 그래서 2000년이 와도 적금과 예금 계산이 잘못되지는 않을 것이라고 한다.

하지만 코볼을 사용하는 컴퓨터 기종을 많이 사용하고 있는 제2금융권의 경우 문제가 될 수 있다고 지적한다. 또 금융결제원이 2천년 문제를 해결하지 못할 경우 문제는 심각할 수 있다.

주민등록번호는 13자리로 표시하고 있다. 생년월일을 나타내는 앞의 6자리를 보면 연도를 2자리로 표기하는 것을 알 수 있다. 따라서 생년월일만 보면 2000년 문제가 제기된다.

그러나 주민등록번호는 보완책을 가지고 있다. 뒤의 7자리 중 첫자를 이용하는 방법이다. 이는 성(性)을 표시한다. 남자는 1, 여자는 2다. 1900년 이전에 태어난 사람의 경우 남자는 9, 여자는 0을 사용해왔다. 그러므로 2000년 이후에 태어난 사람들은 3(남자)과 4(여자)를 쓰면 된다고 지난해 내무부(현 행정자치부)에서 은행과 관련부서에 시달했다.

그런데 은행권이 이것은 미봉책이라고 반발하고 나섰다. 왜냐하면 3과 4는 은행권에서 관례적으로 사용해온 외국인 등록번호로 중복되기 때문이다.

현재 주민등록번호와 같이 13자리로 쓰는 인식번호는 매우 다양하다. 외국인 등록번호를 비롯해, 주민등록번호가 없는 부랑인에게 사용하는 의료보험번호(남자는 5, 여자는 6), 외국인 신용정보 등록번호(남자는 1, 여자는 2) 등이 있다.

그래서 정부는 중복된 번호를 확인하기 위해 검증번호를 사용하지만, 은행에서는 이를 활용하지 않고 있다. 은행이 반발하자 내무부에서는 12월 2일 "그러면 은행에서 알아서 하라"고 공문을 시달했다고 한다.

국방부에서는 1997년 3월 국방전산소장을 위원장으로 하는 2000년문제 대책팀이 발족했다. 그리고 4월에 기초조사를 해서 5월에 기본계획을 수립했다. 그러나 그후 일련의 과정이 실속없이 진행됐으며, IMF 때문에 예산조차 없는 실정이라고 한 관계자는 전한다.

우리나라의 국방과 관련, 밀레니엄 버그 때문에 문제가 되는 것은 일반 군수부품 관리, 재정관리, 그리고 C4I(Command, Control, Communications, Computers, Intelligence)라고 부르는 무기체계이다. 일반 군수부품은 현재 두자리로 연도를 표기하고 있다. 그러므로 도입부터 폐기까지의 관리가 문제가 될 수 있다. 그러나 2천년 문제가 발생한다고 하더라도 기록상의 문제만 발생하고, 물품이 없어지는 것이 아니기 때문에 크게 문제 삼을 필요는 없다. 재정관리 문제는 은행권이나 기업에서 겪는 문제와 같다.

심각한 것은 컴퓨터에 기반을 두고 있는 C4I라는 무기체계다. 언론에서 밀레니엄 버그 때문에 전쟁이 벌어질 수 있다고 지적하는 것은 이를 바탕으로 소설을 쓴 것이라고 담당자는 말한다. 만약 전투기나 폭격기가 먼거리를 연습비행할 경우 좌표와 시간을 잃어버릴 수 있기 때문이다.
 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

1998년 05월 과학동아 정보

  • 홍대길 기자

🎓️ 진로 추천

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