0:00:16.027,0:00:17.238 여러분은 컴퓨터가 0:00:17.238,0:00:18.659 키보드와 모니터뿐이 아니라는 것을 0:00:18.659,0:00:20.742 처음 깨달았을 때를 기억하십니까? 0:00:20.742,0:00:23.325 마우스 클릭과 비디오 실행 사이에 0:00:23.325,0:00:25.598 무언가가 여러분의 의도를 잡아내어 0:00:25.598,0:00:26.428 이해하고 0:00:26.428,0:00:28.264 실행합니다. 0:00:28.650,0:00:30.270 그 무언가가 무엇일까요? 0:00:30.270,0:00:32.006 그렘린이 한 짓 일까요? 0:00:32.006,0:00:33.665 우리가 전자만큼 작아져서 0:00:33.665,0:00:35.141 마우스를 클릭하는 순간으로 0:00:35.141,0:00:37.894 들어간다고 상상해 봅시다. 0:00:37.894,0:00:39.531 마우스를 분해해 보면 0:00:39.531,0:00:42.193 마우스는 아주 간단한 기계입니다. 0:00:42.193,0:00:43.444 몇 개의 버튼과 0:00:43.444,0:00:46.747 움직임과 거리를 감지하는[br]시스템을 가지고 있죠. 0:00:46.747,0:00:48.163 여러분은 빛과 센서로 감지하는 0:00:48.163,0:00:50.868 광 마우스를 갖고 있는지도 모르겠군요. 0:00:50.868,0:00:52.958 그러나 옛날 마우스는 단단한 고무공과 0:00:52.958,0:00:54.576 플라스틱 바퀴로 감지했습니다. 0:00:54.576,0:00:56.325 똑같은 개념입니다. 0:00:56.325,0:00:57.914 마우스의 버튼을 누르면 0:00:57.914,0:00:59.716 마우스의 위치 정보를 0:00:59.716,0:01:01.825 컴퓨터로 보냅니다. 0:01:01.825,0:01:03.491 마우스를 눌렀다는 정보를 받으면 0:01:03.491,0:01:06.880 그걸 기초적인[br]입출력 하위 시스템이 처리합니다. 0:01:06.880,0:01:09.444 이 하위 시스템은 컴퓨터의 눈, 귀, 0:01:09.444,0:01:12.053 입, 손처럼 행동합니다. 0:01:12.053,0:01:13.958 무엇보다도 하위 시스템은 컴퓨터가 0:01:13.958,0:01:16.443 주변 환경과 교류하는 방법을 제공합니다. 0:01:16.443,0:01:18.090 하위시스템은 또[br]중앙 처리 장치가 방해 요소에 0:01:18.090,0:01:21.501 압도당하지 않도록 [br]완충제 역할을 합니다. 0:01:21.501,0:01:23.811 이 경우에는 입출력 하위시스템이 0:01:23.811,0:01:25.942 마우스 클릭이 매우 중요하다고 결정해서 0:01:25.942,0:01:28.939 중앙 처리 장치에 끼어듭니다. 0:01:28.939,0:01:31.521 "어이, 중앙 처리 장치! 여기 클릭했어." 0:01:31.952,0:01:34.327 CPU, 중앙 처리 장치는 0:01:34.327,0:01:36.522 전체 컴퓨터의 뇌 역할을 합니다. 0:01:36.522,0:01:39.072 뇌가 여러분 몸을 다 차지하지 않듯이 0:01:39.072,0:01:41.577 CPU도 컴퓨터 전체를 차지하지 않지만 0:01:41.577,0:01:44.262 CPU가 모든 것을 운영하죠. 0:01:44.262,0:01:46.506 그리고 CPU가 하는 일은 0:01:46.506,0:01:48.444 메모리에서 지시를 받아 0:01:48.444,0:01:50.451 실행하는 것입니다. 0:01:50.451,0:01:52.380 그래서 여러분이 글자를[br]치고, 치고, 치고 0:01:52.380,0:01:53.610 정말 빨리 쳐서 0:01:53.610,0:01:55.088 1분에 낱말 60개를 치면 0:01:55.088,0:01:57.090 CPU는 1초에 수십억개의 지시 사항을 0:01:57.090,0:01:59.137 불러오고 실행합니다. 0:01:59.137,0:02:02.176 네, 1초당 수십억입니다. 0:02:02.176,0:02:04.982 마우스를 스크린 위에서 움직이고 0:02:04.982,0:02:07.145 데스크톱에 있는 시계를 작동시키고 0:02:07.145,0:02:08.892 인터넷 라디오를 켜고 0:02:08.892,0:02:11.145 여러분이 하드 드라이브에서 편집하는[br]파일들을 관리하는 지시 따위, 0:02:11.145,0:02:12.900 그 밖에도 훨씬 많습니다. 0:02:12.900,0:02:16.590 컴퓨터 CPU는 엄청나게 많은 일들을[br]동시에 해냅니다. 0:02:16.743,0:02:17.613 "그런데 어머나 0:02:17.613,0:02:18.909 지금 매우 중요한 마우스 클릭 정보가 0:02:18.909,0:02:20.030 들어오고 있어! 0:02:20.030,0:02:22.560 모든 걸 멈추고 클릭을 처리하자!" 0:02:23.207,0:02:24.604 CPU가 하는 일마다 0:02:24.604,0:02:26.336 프로그램이 있습니다. 0:02:26.336,0:02:28.058 마우스, 0:02:28.058,0:02:29.092 시계, 0:02:29.092,0:02:30.303 인터넷 라디오, 0:02:30.303,0:02:33.136 그리고 키보드가 보내는 글자를[br]처리하는 프로그램이 있습니다. 0:02:33.136,0:02:35.688 각 프로그램은 처음에는[br]사람이 읽을 수 있는 0:02:35.688,0:02:37.906 프로그램 언어로 만들어졌습니다. 0:02:37.906,0:02:38.765 자바(Java) 나 0:02:38.765,0:02:39.798 C++, 0:02:39.798,0:02:41.219 파이톤(Python) 같이 말이죠. 0:02:41.219,0:02:43.741 그러나 사람이 읽을 수 있는 프로그램은[br]너무 많은 공간을 차지하고 0:02:43.741,0:02:47.450 컴퓨터에게 필요없는 정보가 많아서 0:02:47.450,0:02:49.191 이걸 컴파일해서 작게 만들고 0:02:49.191,0:02:52.653 메모리 안에 1과 0의 정보로 저장합니다. 0:02:52.653,0:02:55.410 CPU는 마우스 클릭을 처리하는 법에 대한 0:02:55.410,0:02:57.411 지침이 필요한 것을 깨닫습니다. 0:02:57.411,0:02:59.380 그래서 마우스 프로그램 주소를 찾아서 0:02:59.380,0:03:01.755 메모리에 저장된 지침을 0:03:01.755,0:03:04.625 달라고 메모리 하위시스템에게 요청합니다. 0:03:05.287,0:03:07.216 마우스 장치 드라이버의 지침을 각각 0:03:07.216,0:03:09.742 때맞게 가져와서 실행합니다. 0:03:09.742,0:03:12.113 이야기는 여기서 끝이 아닙니다! 0:03:12.113,0:03:14.654 모니터 화면의 버튼 그림 위로 0:03:14.654,0:03:16.216 커서가 움직이면 0:03:16.216,0:03:18.177 CPU는 마우스가 클릭된 것을 감지하고 0:03:18.177,0:03:21.248 그 버튼이 무엇인지 알기 위해 0:03:21.248,0:03:23.353 CPU는 메모리에게[br]모니터 프로그램을 요청합니다. 0:03:23.353,0:03:25.601 그리고 나서 CPU는 메모리에게 0:03:25.601,0:03:27.437 버튼 프로그램을 요청해야 하는데 0:03:27.437,0:03:28.948 이 말은 CPU가 버튼과 연결되어있는 0:03:28.948,0:03:30.688 비디오를 보여주기 위해 모니터 프로그램을 0:03:30.688,0:03:32.860 다시 필요로 한다는 뜻입니다. 0:03:32.860,0:03:34.742 그렇게 비디오가 실행됩니다. 0:03:34.742,0:03:37.487 클릭하면 스크린에 있는 버튼에[br]빛이 들어오는 것을 0:03:37.487,0:03:39.472 여러분이 보기도 전에 0:03:39.472,0:03:41.379 아주 많은 프로그램이[br]관여한다고 생각하면 됩니다. 0:03:41.379,0:03:43.848 그래서 마우스를 클릭하는 단순한 일은 0:03:43.848,0:03:46.216 컴퓨터 구조에서 중요한 부분을 0:03:46.216,0:03:48.196 다 사용한다는 뜻입니다. 0:03:48.196,0:03:49.238 주변 장치들, 0:03:49.238,0:03:51.047 기본적인 입출력 시스템, 0:03:51.047,0:03:52.379 중앙 처리 장치, 0:03:52.379,0:03:53.154 프로그램들, 0:03:53.154,0:03:54.140 그리고 메모리가 이런 일을 하고 있습니다. 0:03:54.140,0:03:56.133 그렘린이 아니고요.