0:00:15.353,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 было что-то, что cхватило ваш замысел, 0:00:25.598,0:00:26.428 поняло его, 0:00:26.428,0:00:27.880 и сделало его настоящим? 0:00:28.650,0:00:30.270 Что это? 0:00:30.270,0:00:32.007 Это гремлины? 0:00:32.007,0:00:33.665 Давайте представим,[br]что мы можем уменьшиться 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 то увидите, что это на самом деле[br]очень простая машина. 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 производящая эти измерения[br]с помощью света и датчиков, 0:00:50.868,0:00:52.958 но более старые модели делали это[br]с помощью резинового мячика 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 По существу, она[br]предоставляет компьютеру способ 0:01:13.958,0:01:16.443 взаимодействия с окружающей средой. 0:01:16.443,0:01:18.090 Но она также действует как буфер, 0:01:18.090,0:01:21.501 чтобы предотвращать перегрузку ЦПУ[br]отвлекающими факторами. 0:01:21.501,0:01:23.811 В этом случае подсистема[br]ввода-вывода решает, 0:01:23.811,0:01:25.942 что ваше нажатие мыши[br]достаточно важно, 0:01:25.942,0:01:28.939 поэтому она генерирует прерывание ЦПУ. 0:01:28.939,0:01:31.075 «Эй, процессор![br]Я здесь получила нажатие». 0:01:31.952,0:01:34.327 ЦПУ, или центральное[br]процессорное устройство, — 0:01:34.327,0:01:36.522 это мозги всего компьютера. 0:01:36.522,0:01:39.072 Так же, как ваш мозг[br]не занимает всё ваше тело, 0:01:39.072,0:01:41.577 ЦПУ не занимает весь компьютер, 0:01:41.577,0:01:44.262 но он тем не менее всем заправляет. 0:01:44.262,0:01:46.506 И работа ЦПУ, вся его работа — 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 около 60 слов в минуту, 0:01:55.088,0:01:57.090 ЦПУ осуществляет выборку и выполнение 0:01:57.090,0:01:59.137 миллиардов инструкций в секунду. 0:01:59.137,0:02:02.176 Да, миллиардов каждую секунду: 0:02:02.176,0:02:04.982 инструкции для перемещения[br]мыши на экране, 0:02:04.982,0:02:07.145 для запуска виджета часов[br]на вашем рабочем столе, 0:02:07.145,0:02:08.892 для проигрывания вашего[br]Интернет-радио, 0:02:08.892,0:02:11.145 для управления файлами, которые вы [br]редактируете на жёстком диске, 0:02:11.145,0:02:12.900 и многое, многое другое. 0:02:12.900,0:02:16.160 ЦПУ вашего компьютера —[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 Давайте теперь всё бросим[br]и займёмся этим»! 0:02:23.207,0:02:24.604 Существуют программы для всего, 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 на человекочитаемом[br]языке программирования, 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 и содержат большое количество ненужной[br]для компьютера информации, 0:02:47.450,0:02:49.191 поэтому они компилируются,[br]уменьшаются 0:02:49.191,0:02:52.653 и хранятся в битах[br]единиц и нулей в памяти. 0:02:52.653,0:02:55.410 ЦПУ понимает, что ему[br]необходимы инструкции 0:02:55.410,0:02:57.411 по обработке нажатия этой мыши, 0:02:57.411,0:02:59.380 так что оно ищет[br]адрес программы мыши 0:02:59.380,0:03:01.755 и отправляет запрос[br]в подсистему памяти 0:03:01.755,0:03:04.179 для получения инструкций,[br]хранящихся там. 0:03:05.287,0:03:07.216 Каждая инструкция в драйвере[br]устройства мыши 0:03:07.216,0:03:09.742 должным образом выбрана и выполнена. 0:03:09.742,0:03:12.113 И это далеко не конец истории! 0:03:12.113,0:03:14.654 Так как ЦПУ узнаёт,[br]что мышь была нажата, 0:03:14.654,0:03:16.216 когда курсор был на рисунке 0:03:16.216,0:03:18.177 кнопки на экране монитора, 0:03:18.177,0:03:21.248 ЦПУ просит у памяти[br]программу монитора, 0:03:21.248,0:03:23.353 чтобы узнать, что это за кнопка. 0:03:23.353,0:03:25.601 Затем ЦПУ должен попросить у памяти 0:03:25.601,0:03:27.437 программу для кнопки, 0:03:27.437,0:03:28.948 что означает, что ЦПУ снова нужна 0:03:28.948,0:03:30.688 программа монитора, 0:03:30.688,0:03:32.860 чтобы показать видео,[br]связанное с кнопкой, 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 прежде чем вы вообще увидите,[br]как загорается 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 означает посещение[br]всех важных компонентов 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 И гремлины здесь ни при чём.