최신 기사 추천 기사 연재 기사 마빡 리스트
서로솥귀 추천0 비추천0






1999.1.4.월

딴지 과학부 자문 위원 서로솥귀





1. Y2K Bug란 무엇인가?


흔히 1차원적인 넘뇬들은 Y2K 버그가 IBM PC의 시간칩 에러라고 단순하게 말한다. 그렇다면 시간칩을 안쓰는 컴시스템들은 에러가 안 난다는 이야기인데 이 말은 21세기 명랑과학입국에 절대로 용서할 수 없는 망언이여 명랑사회 이룩에 졸라 장애가 되는 말이다 이 기회에 딴지가 Y2K에 대해 사정없이 알려줄란다. 딴지가 아니면 어서 알려주리오...


2. 필연







집체만 했던 최초의 컴퓨터 <에니아악~>


퍼스널 컴퓨터의 시초는 77년 애플 I 이다.


이 때 시스템의 램은 4K였다. 그후에 16K로 32K로 계속 업그레이드가 되지만 처음 만들어낸 시스템의 램은 4096 byte인 4K였다.


이 때는 램이 무지하게 비싼 시절이었다. 퍼스널 컴퓨터가 이 정도였고 메인프레임으로 불렸던 IBM의 졸라 덩치 큰 컴퓨터들은 그나마 조금 사정이 나았으나 그래도 지금의 개인 컴퓨터보다 훨씬 몬했다. 


그 이전에는 어떠하였나. 이 당시에는 램 1K가 말 그대로 금값이었다. 만들기도 힘들지만 만드는 곳도 별로 없던 그런 시절이었다. 이것은 프로그램이 최대한 크기에 최적화되어야 한다는 것을 의미한다. 그러니까 무조건 작게 만들어야 했다 이거다.


참고로 튜링(Alan Turing;1912-1954)이라는 인공지능을 연구하여 이름을 날렸던 학자가 한 말을 적어본다.
 








우리가 2K의 메모리를 확보할 수 있다면 인공지능을 구현하는 데에 아무런 장애가 없을 것이다.


지금 시점에서 보면 졸라 우습지 않은가? 


이러한 이유로 어떻게 하든지 프로그램과 데이터의 크기를 줄여야 될 필요가 있있던 것이다. 그러나 이러한 하드웨어의 열악한 상황에서도 소프트웨어의 기본적 이론은 계속적으로 발전하였다.


자, 무엇이 필연인지 알려줄 때가 되었다.


이렇게 메모리가 비싼 상황에서, 연도를 2자리로 표기하는것 즉, 1960년을 60으로 표기하는 것은 메모리를 절약하기 위한 테크닉이었던 것이다. 원고지 한장 사다가 1960이라고 써보고 60이라고도 써보라. 1960년은 4칸 차지하고 60은 2칸 차지한다. 무언가 깨달은 바가 있으신가. 1K의 램이 ( 200자 원고지 5장 분량!!!! ) 아쉬웠던 시절 컴퓨터 소프트웨어의 선구자들은 2000년은 무척 멀게 느껴졌고 반면에 램 값은 무척 비쌌던 이유로 연도 뒤의 2자리만 사용하기로 자연스럽게 마음을 먹었다.


이러한 분위기가 Y2K에러를 만들어 내게된다. 선배를 열라 본받던 똘마니들도 아무런 생각없이 2자리만 쓰게 되었다. 소프트웨어만 그랬을까? 아니다. 그 후로 나오는 시간칩들도 마찬가지로 영향을 받았다. 적어도 칩이 지원한다고 하더라도 BIOS나 OS에서 2000년을 무시한 것이다.


3. 악습


그 이후로도 2자리로 표기하는 것이 당연시 된 것이 문제였다. 그러던 중 시골에서 공부에만 전념하던 언 촌 교수가 우연히 2000년이 되면 수많은 소프트웨어들이 에러를 내게 된다는 점을 발견해 내게 된다.


도대체 그 교수가 문제를 지적하기 전까지 다른 프로그래머들은 발견해 내지 못했다는 것인가? 그렇다. 공식적으로는 그렇다. Y2K는 그 문제가 가져올 결과만 연구대상이 아니라 사실은 문제의 발생, 악습의 유지, 발견에 이르는 과정 자체가 사회학적인 연구 대상이 될 필요가 있다.


어떤 넘뇬들은 엔지니어들은 알고 있었으나 무엇에 홀린 듯이 2자리를 계속 고집하였다고 이야기 하는데 그넘이 그넘이다. 그러므로 이 문제가 공식화되기 이전의 시스템은 99%의 순도로서 에러를 가지고 있다고 생각하면 된다. 문제가 밝혀진 이후에도 에러가 계속 만들어 졌다.


4. 그리고 파국(카타스트로피)의 발생


예를 보도록 하자. 언 넘이 1991년 1월부터 2000년 12월까지 한달에 10만원씩 적금을 부었다. 원금을 계산하라.


졸라 쉬운 문제가 아닐 수 없다. 10년동안 매월 10만원씩 집어넣었다. 필자는 복리, 연리 같은거 계산 못 하므로 수준에 맞는 문제를 골랐다.


10 x 12 x 100,000 = 12,000,000


여기서 10이 문제가 된다.


이는 적금을 시작한 년도 - 적금을 끝낸 년도 + 1로 계산하면 된다는 것을 여러 뇬넘들은 알고 있을 것이다.


 2000 - 1991 + 1 = 10


그러나 Y2K bug는 여기서 골 잡는 결과를 가져오게 한다.


 00 - 91 + 1 = -90


연도의 뒷자리 두개를 가지고 계산을 하다보니까 엉뚱한 결과가 나오게 되는 것이다. -90이 적금을 부은 햇수로 계산되다 보니까 위의 원금 계산을 다시 하면 다음과 같은 결과가 나오게 된다.


 -90 x 12 x 100,000 = -108,000,000


돈은 열심히 부어 넣었는데 빚만 늘은 결과를 낳는다. 다시 한번 이 계산은 실제 상황이 아니라 연습 문제임을 알린다.


2000년이 되면 버그가 수정되지 않은 시스템들이 급격하게 상태가 변하게 된다. 어제까지 잘 돌아가던 시스템이 2000년 1월 1일 계산이 틀려지면서 예금이 빚으로 바뀔 수도 있으며 이자율이 완벽히 틀려질 수도 있다. 이렇게 작은 변화에 의한 급격한 상태의 전환을 카타스트로피라고 한다.


여기서 말하는 카타스트로피라는 용어는 Catastrophe Theory에서 사용하는 개념으로서 Rene Thom이라는 프랑스의 잘난 수학자가 연구해낸 수학적인 모델이다. 두가지 상태 즉, 안정과 불안정한 상태에서 급격한 변이를 의미하는 것으로서 관심있는 사람은 다음의 링크에 접속해 보시기기 바란다.
 
[Catastrophe Theory]
 


5. 어떤 기기들이 에러를 낼 수 있는가?


일단 집에 있는 퍼스날 컴퓨터부터 의심하는게 순서다. OS가 완벽하게 Y2K문제를 수정하지 못했다면 그 위에 돌아가는 application들도 당근 안전할 수가 없다.


만일 Windows 95/98/NT를 사용하고 있다면 M$(Micro$oft)에 목숨이 걸려 있다 하겠다. 이 넘들이 얍삽하게 Windows 2000이라는 다음 버전을 준비하고 있는데 그 아래 버전은 어떻게 지원하나 두고 보겠다. 도스용 프로그램들은 당연히 Y2K 버그가 있다고 생각하시기 바란다.


다음으로 컴퓨터라고 불릴 만한 시스템은 모두 의심하기 바란다. 수정되지 않은 시스템들은 모두 의심의 대상이라고 생각하는 것이 옳다. 메인프레임, 워크스테이션등등이다.


전자 손목시계 스케쥴러들 많이 가지고 있을 것이다. 그거 Y2K 문제가 수정되었는지 확인해 보는 것이 신상에 좋을 것이다.


엘리베이터도 날짜를 체크하는 시스템이 있다는 보고가 있다. 본기자 같으면  1999. 12. 31 오후 11시에서 2000년 1월 1일 오전 1시까지(이하 요주 시간대로 약칭)는 엘리베이터를 안 타겠다. 앞에 타는 뇬넘이 안전하게 내려갔는지 확인하고 타는 것이 순서일 것이다. 먼저탄 뇬넘이 골로 가시면 명복이나 빌어주고...


또 비행기가 떨이지는 데에는 비행기만이 문제가 아니라는 사실을 우리는 알고 있다. 괌에서 떨어진 KAL기 같은 경우에는 관제탑에서 제대로 경보만 보내 주었어도 여럿 뇬넘 살릴 수 있었을 것이라고들 이야기 한다. 그때의 시스템 에러는 소프트웨어 에러의 일종으로 알려져 있는데 Y2K Bug가 더 황당하면 황당했지 덜하지는 않을 것이다. 본 기자 같으면 요주 시간대에 비행을 해야 한다면 하루 이틀 미루겠다. 요주 시간대에 그 복잡한 시스템들이 어떻게 문제를 일으킬지 아무도 장담하지 못한다.


핵발전소는 예로써 우크라이나에서 대처하는 방식을 보면 참으로 가공할 만하다. Y2K Bug 발견하는데는 성공했으나 수정할 돈이 없으므로 1999년 12월 마지막날에 핵발전소를 끄겠다는 방법을 밝혔다. 졸라 확실한 방법이라고 생각한다. 괜히 터뜨려서 여러 뇬넘 죽이기보다는 어둠 속에서 몇개월이고 견디는 방법을 택했다. 존경할 만하다.


이에 반해 우리나라의 핵발전소는 어떠한 대책을 수립했는지 모르겠다. 하기야 웃자리에 있는 아자씨들은 문제에 대해서 쉽게 생각하는 경향이 많다. 엔지니어들이 죽어도 위험하다고 갈궈도 윗대가리들은 인생을 어렵게 살지 말라고 항상 부드럽게 이야기하곤 한다.













1) 2)
3) 4)

핵이 터지면 우리가 사는 집은 어케 될 것인가.. 이렇게 된다..


발전소 역시 요주의 대상이다. 핵발전소 만큼은 안 위험하겠지만 유럽 등지에서 가장 걱정하는 문제는 발전소의 시스템에 이상이 생겨서 전력공급이 끊어지는 사태이다. 요즘에 전기로 안 돌아가는 장비가 없다. 끊어지고 나서 비상발전으로 해결하고 그 사이에 문제를 해결하면 된다는 생각은 하지 말기 바란다. 하루 이틀에 문제가 해결이 안된다. 특히 독일 아해들이 방방뜨고 있는데 그건 러시아에서 전력을 많이 수입해 오고 있기 때문이란다. 전력 끊어지면 공장 문닫고 실업율 올라가고... 이건 장난이 아닌 문제다.


지하철 역시 요주 시간대에 안타는게 좋다. 우리나라 지랄철 중 가장 많은 문제를 일으키는 지하철 2호선만 보더라도 문제를 해결했는지 안했는지 잘 모르겠다. 했으면 방법이 문제인데 모든 시스템을 2000년으로 세팅해놓고 운행을 해보았는지 모르겠다. 이러한 리허설을 행하지 않은 시스템은 일단 의심하는 것이 좋다. 괜히 통조림 찌그러지듯이 맛이 가는 것은 인생에 큰 아픔이 될것이다.


미슬의 경우 발사 스케쥴 때문에 시스템에 시간 칩이 들어가 있을 것이다.(적어도 미슬 내에 없더라도 그놈을 발사하는 발사대에는 들어가 있을 것이다.) 그놈이 예측 불허의 결과를 낳을 수 있다. 미국 넘들은 자신의 잠재적인 위험을 가지고 있는 장비, 설비들은 정비되어가고 있다고 자신하고 러시아, 중국의 미슬과 핵발전소를 걱정하고 있다. 우리나라에는 사용 연한이 넘은 미슬이 약 200기 정도 있다. 확인해 보지 않으면 좃된다. 결국 인천에서 개발된지 40년 지난 나이키-허큘리스 미슬(미국, 58년 개발)이 오발사고를 일으키지 않았던가?


FA(Factory Automation)장비들도 의심해볼만 하다. 특히 1990년대에 FA용 컨트롤 보드로 IBM PC가 많이 들어갔다. 다른 PC와 다른 점은 이넘은 PC처럼 보이지 않는다는데에 있다. 보통 PC와는 전혀 다른 케이스에 싸여 있을 것이다. 일하다가 치어 죽지 않으려면 1월1일에 잘 쉬고 돌아와서 일하기전에 시스템 키는 데에 주의하기 바란다. 본기자가 알기로는 NC선반에도 IBM PC가 들어 가는 것을 본적이 있다.


집에 있는 VCR에 예약 녹화기능이 있을 것이다. 그놈이 2000년이후에 어떻게 되는지 제조회사에 문의하기 바란다. 터지는 놈은 아니지만 즐거운 인생에 장애가 될 수 있다.


6. 어떤 파국(카타스트로피)을 맞이하게 되는가?


현재 예측은 엄청나게 많으며 가능성은 무궁무진하다. 연도를 계산할 수 있는 모든 시스템을 의심하고 있는상황이다. 위의 상황을 토대로 한 최악의 시나리오는 다음과 같다.







1) 미슬이 자동으로 발사되며 이로 인해 국가간 국지전 또는 전면전이 시작될 수 있다. 또 핵발전소는 과열로 인해 녹아내려 방사능 물질이 유출 된다.

2) 철도 운행 시스템의 마비로 인한 교통 대란이 일어나며, 비행기의 계속적인 추락으로 인해 대규모의 인명사고가 발생한다


3) 발전소의 송전은 멈추게 되고 도시는 암흑에 싸이며 공포상태가 발생, 곳곳에 약탈범들이 들끓고 치안부재 상태에 이른다.


4) 미국넘들 은행은 Y2K의 버그를 잡았다고 자신하고 있었으나 국외의 가난한 나라들이 보내온 자료들은 그렇지 못하다. 2000년이 1900으로 표기되어 보내진 데이터는 국제금융 시스템을 급격히 붕괴시키며 모든 거래를 수작업으로 하기 시작한다.


5) 곡물 거래 시스템 역시 마비되어 국지적으로 폭등, 폭락, 부족, 누적 사태를 빚어내어 결국 기아와 파산으로 이어지는 결과를 낳는다.



7. 그 외에도 여러가지가 있을 수 있겠다.


Y2K 버그는 낮은 확율의 예측할 수 없는 결과의 문제가 아니다. 충분히 높은 확율의 골 때리는 결과의 문제이므로 주의하지 않으면 좃선일보의 첫 글자가 된다.


아마게돈을 부르짖는 사람 혹은 문제를 부정적으로 생각하지 말라는 사람들이 있다. 하지만 본기자의 생각으로는 Y2K 버그는 충분히 주의해야 한다.


미국넘들은 일본넘들이 충분히 대처하지 못하고 있다고 나불거리고 있는 상황에서 우리나라야 더 말할 필요도 엄따. 참고로 미국에서 현재 예상하고 있는 비용한 3좃 딸러정도다. 우리나라에서 10년을 수출해바라 그 정도가 되나. 울나라 언넘은 우리나라 시스템은 상대적으로 신기종이 많으므로 비용이 적게들 것이라고 나불거린다.


똥꼬에 무좀이 걸릴 발언이다. 모든 시스템을 테스트하기 전에는 그따우 이야기를 하는 것이 아니다. 나중에 서로 책임을 미루는 사태가 또 일어나기 전에 결벽증 걸린 넘모양 시스템을 체크해 보아햐 할 필요가 있다. 기계는 인간성이 엄따. 인생을 어렵게 살지 말라고 컴퓨터에게 충고해 보아야 소용엄따. 컴퓨터는 컴퓨터답게 다루어야 한다.  


8. 다음 이야기는 ...


여러분이 좀더 많은 데이터를 원한다면 전문가들의 조언을 좀더 모아보겠다. 이 글은 Y2K 버그에 대한 경각심을 일깨우고저 쓴 글이다. 조심해서 문제를 넘어서고 나면 아무 일도 없게된다. 그런데 우리는 조용함을 싫어하는 것처럼 보인다. 꼭 문제를 일으키고 난리를 쳐야 사는 맛이 나는 모양이다.


그 외에 생각할 수 있는 Y2K 버그에 의한 문제점들이 생각나시는 분들은 바로 바로 게시판에 한 줄 땡겨 주시기 바란다. 이거 중지를 모아 모든 가능성에 대처해야 하는 일이다..



 


- 딴지 과학부 자문 위원 서로솥귀
(
StaRac@medidas.co.kr )

Profile
딴지일보 공식 계정입니다.