<열린마당> "Y2k" 대책

 2000년을 앞두고 20XX년과 19XX년을 구별하지 못하는 이른바 컴퓨터2000년(Y2k)문제가 정보통신업계에 최대 관심사로 떠오르고 있다. 「둠스 데이(Dooms Day)」 혹은 「밀레니엄 버그(Millennium Bug)」로 불리는 이 문제는 컴퓨터가 20세기와 21세기를 구별하지 못해 일어나는 일종의 컴퓨터 혼란이다.

 「다음에」라는 의미의 밀레니엄 버그는 그동안 정부의 홍보로 이에 대한 인식이 많이 확산됐으나 일반적으로 연도표기를 두자리에서 네자리로 바꿔야 한다는 정도로 이해되고 있다.

 요즘 개인용 컴퓨터는 대부분 연도표기가 네자리로 돼 있지만, 그 이전의 컴퓨터 시스템은 연도표기가 두자리로 된 경우가 많다.2000년이 됐을 때 가상할 수 있는 일은 컴퓨터가 2000년을 00년으로 인식함에 따라 일상의 모든 분야에 걸쳐 연산처리의 오류를 일으킬 수 있는 점이다.

 최근 이의 해결을 위해 정부와 업계가 머리를 맞대고 있으나 문제가 그리 간단하지만은 않은 것 같다. 두자리 연도표기를 처리하는 컴퓨터 프로그램에 네자리 연도표기 컴퓨터 프로그램을 연결하면 상호작동을 중지하거나 오작동을 일으킬 수 있고, 날짜 데이터를 연산·비교 처리하는 모든 하드웨어와 소프트웨어가 작동을 거부하거나 오작동을 일으킬 수 있다.이러한 컴퓨터의 오작동이나 오류는 두자리 연도표기 칩이 내장된 모든 전자기기, 원자력 발전소 노심제어, 항공기 관제, 고속전철 제어, 은행의 입금·인출과 이자계산, 항공·선박의 예약과 통제시스템, 자동화 공장의 기기, 신용카드 조회기록, 대학의 학적부, 병원의 진료기록, 주민등록정보와 같은 행정전산망 등 거의 모든 분야에 영향을 끼칠 수 있다.

 이 혼란의 해결방법은 발생원인을 찾아 제거하는 것이다. 문제해결의 핵심은 메모리 양을 절약하기 위해 과거 프로그램을 제작할 때 두자리로 했던 연도표기를 네자리로 교체하는 것이다. 즉 프로그램을 구성한 코드 중 연도표기가 된 코드를 찾아 수정하는 것이다. 연도표기된 코드는 일단 프로그램 작성자료인 소스코드를 바탕으로 수작업 또는 검색 프로그램을 작동시켜 찾는다. 작성자료가 남아있지 않더라도 통상적인 프로그램 작성법에 따라 만들어졌다면 추적이 가능하지만 개인이 특수하게 만든 프로그램은 수정작업이 곤란할 때도 있다. 수정해야 할 코드는 일부지만 일단 연도표기 코드를 찾거나 수정할 때는 프로그램을 모두 검색해야 한다.

 수정할 코드를 찾은 후 수작업을 통해 네자리로 교체하거나 자동 수정 프로그램으로 고친다.

 그렇다고 수정 프로그램만 있다고 해서 2000년 문제가 해결되는 것은 아니다. 두자리 연도표기를 네자리로 고치는 수정 프로그램을 작동하기 위해서는 소스코드 마련 등 사전정지 작업에 해당하는 노력이 필요하다. 수정 후에는 검증과 테스트를 거쳐야 하는데 Y2k문제 해결비용의 절반이상을 테스트 비용에 쏟아부어야 할 만큼 중요한 과정이다. 밀레니엄 버그는 현재 응용 프로그램과 데이터베이스가 있는 정보기술(IT)부문, 자동화시스템의 각종 마이크로칩, 전자기기와 연관된 비IT부문 모두에 관련된 문제다.

 정부에서는 2000년 문제 해결을 위해 전담대책반을 설치, 공공부문과 민간부문의 2000년 문제 발생 예상시스템을 점검해 부문별 대책을 수립·추진하고 있다.

 일반적으로 Y2k문제 발생이 IT부문으로 예상되기 때문에 대책도 IT부문으로 집중될 것으로 예상된다. 그러나 비IT부문에서의 Y2k문제 발생도 소흘히 할 수 없기 때문에 이에 대한 대책도 빈틈없이 강구돼야 할 것이다.

<김동주 과학기술부 기술정보과장>


브랜드 뉴스룸