본문 바로가기



프로그래밍/프로그래밍

[단상] 286,386등의 오래된 장비를 왜 업그레이드 할 수 없는가?

코딩 강의에서 중반부 이후에 코드를 실습하다보면, 종종 제시된 예시와 다른 결과값을 낼때가 있어서, 이유를 찾아보면 강좌 만들 당시나. 강사의 컴퓨터가 현행 컴퓨터보다 느린 아키텍쳐를 사용할 경우에는 해당 코드를 현재 컴퓨터에서 돌리면 순서대로 작동이 안되는 경우가 드물지 않게 등장한다. 이를테면 1번 작업에 10초 소요되고 나서 2번 작업을 수행해야하는데 요즘 PC들은 워낙 빠르다보니 10초 지나기전에 2번 작업이 수행되어버리는것이다. 중간에 기다리는 코드를 넣으면 해결되겠지만, 짧으면 20년 길면 30년 이상된 프로그램 소스가 있을 가능성은 낮고, 해당 프로그램 제작사 또한 존재할 가능성은 더더욱 낮기 때문. 보통 공장에 납품되는 장비의 경우 장비에 맞춰서 일괄적으로 제작되는 경우가 대부분이기 때문에, 시스템이 변경되면 정상적으로 동작한다는 보장이 없다. 586시절까지는 터보 버튼이 있어서 이걸 누르면 느리게 동작하는 기능이 있었으나 이후 사장되어서 지금은 볼 수 없다. 논리적 동작 목적의 프로그램이라면 시행착오를 거치면서 수정해 볼 수는 있겠으나, 공장 같은곳에서 물리적 동작이 필요한 프로그램이라면 더욱 난처해진다. 한번의 실패가 기기의 고장 혹은 폐업을 고려해야될 정도로 문제를 일으킬 수 도 있기 때문이다. 램이나 CPU자체는 수명이 반영구적(당시 배선기술의 밀집도상 내구도가 상당히 높다)이고, 메인보드도 캐피시터 수리정도로 동작하는 제품들이 많지만, 거기에 연결된 장비들의 인터페이스 자체도 요즘 쓰이지 않는 장비들이 대부분이라는게 큰 문제이다. 관련된 이야기들을 들어보면 가장 문제가 되는 지점은 저장장치로 IDE HDD는 그래도 IDE SSD나 컨버터를 이용할 수 있지만, 간간히 3.5나 5.25인치 디스크를 이용하는 장비들도 여전히 현역으로 뛰고 있다는 것이다. 디스켓을 써본 사람들은 알겠지만 이 장비들의 내구성은 정말 형편없다는 것이 가장 큰 문제이다. 

결국 시스템의 전면적인 교체는 필연으로 일어날 수 밖에 없는 일이며, 이를 대비하여 적립해두는 시스템이 필요하다. 최근에는 아두이노와 같은 일반인들도 간단하게 배워서 어느정도 사용할 수 있는 저렴한 임베디드 장비들이 많이 나와있으므로 이것을 활용하는것도 좋은 선택이 될 수 있다.