수요일, 6월 13, 2007

앞으로 나올 꿈의 PC

제목은 거창하게 썼지만 내용은 별거 아닙니다.

어제 집에서 전화가 와서 받은 내용은 집 컴퓨터가 부팅이 안된다는 것. 이 상황은 언젠가 올 수 있는 상황이긴 한데, 문제는 우리의 PC라는 것이 그다지 stable하다거나 robust하지 않다는 것. 즉, 아주 사소한 문제(언제든 우연히 발생할 수 있는 문제)로인해 컴퓨터 전체를 사용하지 못하는 경우가 발생할 수 있다는 것이 문제다.

윈도우에서야 별의별 메커니즘을 통해 stability나 robustness를 속이려 하지만 그건 눈가림에 지나지 않음을 대략 알 수 있다. 그래서 앞으로는 PC를 설계할 때에도 현재 고급 서버들에서 사용되는 이중화 기능이 들어가야 할 듯하다.

자, 그럼 미래 PC를 한 번 설계해 보자. 설계에 필요한 요구사항은 다음과 같다.

1. "진짜" failsafe 모드

안전모드라고도 할 수 있겠지만, Window$의 안전모드는 왠지 안전하지 않은 듯 한 느낌이 든다. failsafe모드는 fail에 대해 SAFE(!) 해야 하는데, 어제 전화 상으로 통화해본 바로는 안전모드나 일반 모드나 먹통되기는 똑같았다더라.

그러기 위해서는 먼저 OS와 App와의 완전한 분리가 필수적이다. 하드웨어 장치구동, OS 기능패치 등등... OS를 다룰 수 있는 권한은 아예 부팅시에 따로 지정하던지 해서 별도로 지정을 해 둬야 한다. 즉, 일반적으로 사용하고 있는 유저 권한으로는 OS기능 파트를 아예 건드릴 수 없도록 해 둬야 한다.

이게 보장이 돼야 응용프로그램을 완전히 배제시킨 failsafe모드가 존재할 수 있는 것이다. 지금의 윈도우는 시시한 소프트웨어 설치를 하더라도 "시스템을 재시작해야 합니다"라는 메시지가 뜨는데, 이건 아니라고 본다.

2. 데이터 분리

OS, 응용 바이너리, OS Tunable Parameter, 응용 설정, 개인설정, 개인 데이터 등의 데이터들이 완전히 분리되어야 하고, 별도로 이동이 가능해야 한다. 물론 각각은 보안상태를 유지해서 권한이 없는 사용자의 접근 자체를 차단해야 한다.

3. 유지보수 체계

자, 그 다음은 유지보수체계다. 실제 24시간 주 7일 살아있어야 하는 시스템이라면 no SPOF와 온라인 유지 보수 등이 들어가겠고, 실제 통신서비스 수준이라면 Fault-Tolerant까지 가야 하겠지만 PC에서 그런걸 바랄 순 없겠다. 다만, 자동차 수준의 체계는 갖춰져야 하지 않나 생각된다.

그렇다면 '자동차 수준의 유지보수체계'란 뭐냐? 그건 자주 일어날만한 HW 고장은 예비품(혹은 비상품) 보관, 나머지 잘 일어나지 않지만 일어날 경우 컴퓨터 사용이 안되는 경우라면 출동 서비스를 의미한다.



... 자 그럼 위 결과에 따라 설계를 해 보자.

  • PC는 대략적으로 지금과 유사하지만 하드 디스크는 기본적으로 RAID가 들어가야 한다. 잘 나가는 부분이고 나갔을 경우 치명적이니까...(스페어 타이어 개념)
  • OS는 PC의 내장 Flash에서 로딩이 된다. 업데이트를 하거나 바꾸기 위해서는 파일이 갖춰진 상태에서 Firmware upgrade형식을 따라야 한다. 나머지 일반적인 패치는 그냥 하드디스크의 OS파트에서 하되 하드디스크 OS를 제외하고 failsafe 모드를 띄울 수 있어야 한다. 즉, Flash에서 로딩되는 OS만으로 기본적인 shell은 떠줘야 한다.
  • 응용프로그램은 HDD에 설치가 된다. 사용자 데이터 부분은 별도의 파티션에 존재한다. 백업과 복구는 failsafe 모드에서 충분히 가능해야 한다. 즉, 뭔가 바이러스 침투로 인해 응용프로그램이 엉망이 되고 다른게 돌지 않더라도 사용자 데이터 부분(중에서 살릴 수 있는 부분)은 failsafe모드에서 다른 매체(예를 들어 USB메모리나 외장 하드)로 복사가 가능해야 한다.

이에 걸맞는 출동 보험 서비스도 생각해 볼 수 있겠다. 각종 인터넷 서비스 업체와 연계해서 전화만 하면 기본적인 업무시간 접수/익일 출동 서비스나 프리미엄급인 24시간 접수/3시간 출동 서비스와 연계... 만약 응용프로그램이 엉망이라면 출동 서비스 옵션에 노트북 대여... 이거 사업감인데...?

댓글 없음: