본문으로 건너뛰기

가상화에 관한 대화

교수 : 이제 운영체제의 세 주제 중 첫 번째 주제인 가상화에 대해 이야기 할 시간이 되었네.

학생 : 훌륭한 교수님, 가상화가 뭐죠?

교수 : 복숭아가 하나 있다고 상상해 보자.

학생 : 복숭아요? (잘 모르겠다는 듯이)

교수 : 그래, 복숭아. 자 이제 그 복숭아를 진짜 복숭아라 하자. 이 복숭아를 먹고 싶은 사람은 많아. 우리는 그들 각각에게 복숭아를 주고 싶은 거야. 그래야 모두 행복해 할테니까. 먹고 싶은 사람들에게 주는 복숭아를 가상 복숭아라고 부르자. 어떻게든 우리는 하나의 진짜 복숭아로부터 많은 가상 복숭아를 만들어야 해. 그리고 중요한 사실 : 이 환상에서, 먹고 싶은 사람들은 진짜 복숭아를 가지고 있는 것처럼 보이지만 실제로는 그렇지 않다는 것이다.

학생 : 그래서 모르는 사이에 복숭아를 공유한다는 말이죠?

교수 : 옳지! 정확히 그말이야.

학생 : 그런데 어쨌든 복숭아는 하나 밖에 없잖아요.

교수 : 그렇지... 근데?

학생 : 그게, 만일 제가 다른 사람과 복숭아를 공유한다면, 알아차릴 수 있을 것 같은데요.

교수 : 아, 그거! 좋은 지적이야. 그러나 먹고 싶은 사람들은 눈치채지 못한다는 거지. 대부분의 시간 동안 그들은 낮잠을 자거나 다른 일을 하고 있지. 따라서 이 시간 동안 자네는 복숭아를 낚아채서 다른 사람에게 줄 수 있는 거지. 이렇게 해서 여러 개의 가상 복숭아가 있다는 환상, 사람마다 하나씩 복숭아를 가지고 있는 환상을 만들어 내는 거지.

학생 : 나쁜 캠페인 구호처럼 들리는군요. 컴퓨터에 대해서 얘기하고 있는 거 맞죠, 교수님?

교수 : 자네는 좀 더 구체적인 예를 원하고 있군. 좋은 생각이야! 자원 중에서 가장 기본적인 것을 예로 들자고. 바로 CPU. 시스템에 딱 한 개의 CPU만 존재한다고 가정하자. 물론 현재는 둘 또는 넷 또는 그 이상의 CPU를 가진 시스템도 있지만. 가상화는 이 한 개의 CPU를 각 응용 프로그램에게 여러 개의 CPU인 것처럼 보이도록 하는 일을 하지. 그래서 각 응용 프로그램은 자신만 사용하는 CPU를 가지게 되었다고 생각하지만 실제로는 한 개의 CPU만 있는 거지. 그렇게 운영체제는 멋진 환상을 만들어 내는 거야. CPU를 가상화 한거지.

학생 : 와우! 마치 마술 같군요. 조금 더 얘기해 주세요. 그게 어떻게 동작하죠?

교수 : 젊은이, 천천히, 시간은 충분하다네. 자네도 시작할 준비가 된 것 같은데.

학생 : 예, 어느 정도는. 교수님께서 복숭아 얘기를 또 할까봐 약간 걱정되는 것도 사실입니다.

교수 : 너무 걱정하지 말게. 나는 복숭아를 좋아하지도 않는다네. 오케이, 자 시작하자고....