Как работает компьютер: ввод, обработка, память и результат

Компьютер получает ввод, выполняет команды программы, использует данные и выдаёт результат. Когда вы печатаете букву, клавиатура сообщает о нажатии, работающая программа обрабатывает его с участием процессора и оперативной памяти, а экран показывает изменение текста. Чтобы буква появилась на экране, сохранять файл на накопителе после каждого нажатия не требуется.

Разберём один понятный случай: открыт текстовый редактор, курсор стоит в пустой строке, вы нажимаете клавишу с буквой. Через мгновение буква видна в документе. За этим коротким действием стоят разные части компьютера, и у каждой своя задача. Компьютером здесь может быть ноутбук или другое устройство: объяснение не сводится к отдельному системному блоку.

Нажатие — это ввод, а не готовая картинка

Клавиатура относится к устройствам ввода. Она передаёт компьютеру сведения о действии пользователя. При нажатии клавиши на экран не отправляется маленькая фотография буквы. Устройство сообщает о событии, а дальнейший результат зависит от программы и ситуации.

Например, в текстовом редакторе нажатие может добавить символ в строку. В другой программе та же клавиша может выполнять команду. Если поле для текста не выбрано, ожидаемая буква может вообще не появиться. Это не означает, что клавиатура перестала быть устройством ввода. Она выполняет свою часть работы, а программа определяет, как использовать полученное действие.

Что сообщает компьютеру о нажатии клавиши? Устройство ввода — в нашем примере клавиатура. Мышь, сенсорный экран и сканер тоже могут передавать данные компьютеру, хотя передают их по-разному. Обзор аппаратных частей IBM относит такие устройства к вводу, а экран, принтер и динамики — к выводу.

Команды программы и работа процессора

Программа — это инструкции, по которым компьютер выполняет задачу. Текстовый редактор задаёт, что делать с введённым символом: как добавить его в документ и подготовить изображение текста для экрана. Программа не является ещё одной клавишей или деталью корпуса. Это не физическое устройство, хотя для работы ей нужны физические части компьютера.

Процессор выполняет команды программы и необходимые вычисления. В нашем случае он участвует в обработке нажатия и изменении данных открытого документа. Он не «понимает», что вы сочиняете письмо другу, и не решает по-человечески, какая мысль должна быть следующей. Он действует по инструкциям работающих программ.

Важно не путать программу с её результатом. Текстовый редактор — программа. Набранная строка — данные, с которыми она работает. Видимая буква на экране — результат вывода в этот момент. Один и тот же компьютер может выполнять другие программы, и тогда нажатия клавиш будут вести к другим результатам.

Ввод, обработка и вывод на примере набора текста описаны в материале Khan Academy. Эта последовательность полезна для первого знакомства с устройством компьютера, но между нажатием и появлением буквы не нужно воображать одного «главного работника», который сам выбирает ответ.

Что хранится во время работы

Пока текстовый редактор открыт, компьютеру нужно удерживать данные, с которыми он работает сейчас: в том числе состояние документа. Для такой текущей работы служит оперативная память. Процессор обращается к рабочим данным, выполняя инструкции программы.

Где находятся данные, с которыми процессор работает сейчас? В оперативной, или рабочей, памяти. Это не то же самое, что длительное хранение файла. Оперативная память нужна для текущей работы программ; накопитель нужен, чтобы файлы и программы сохранялись надолго. IBM различает эти роли памяти и накопителя.

Можно представить рабочий стол и шкаф с документами. На столе лежит то, с чем вы заняты прямо сейчас; в шкафу находятся материалы для длительного хранения. Открыв документ, вы берёте его для работы, меняете текст, а затем сохраняете новую версию. Но сравнение не следует понимать буквально. Процессор не сидит за столом, не читает письмо как человек и не принимает человеческих решений: он выполняет команды программы. Кроме того, «положить файл в шкаф» — не описание точного физического движения внутри компьютера.

Эта граница аналогии особенно важна, когда ребёнок спрашивает, «знает» ли компьютер содержание текста. В нашем примере достаточно сказать: программа обрабатывает данные по своим правилам, процессор выполняет её инструкции, а на экране появляется результат. Для объяснения нажатия клавиши не требуется приписывать устройству собственное намерение.

Когда нужен накопитель

Допустим, вы напечатали строку «До встречи в субботу». Она появилась на экране, и вы хотите вернуться к ней позже. Тогда документ нужно сохранить как файл. Накопитель удерживает файлы и программы для длительного использования. Благодаря этому сохранённый документ можно снова открыть после завершения текущей работы.

Зачем нужен накопитель? Для длительного хранения файлов и программ. Это отдельная задача, а не обязательное последнее звено каждого нажатия клавиши. Буква может появиться на экране до того, как вы сохраните изменённый документ. Если закрыть работу без сохранения, не следует рассчитывать, что видимый текст обязательно останется в файле.

Есть удобная проверка смысла этих слов без технического опыта. Спросите: «Что я вижу сейчас?» — результат работы программы на экране. «С чем компьютер работает сейчас?» — с данными в рабочей памяти. «Что я хочу открыть позже?» — файл, который следует сохранить на накопителе. Вопросы касаются разных задач, поэтому ответы не стоит заменять одним словом «память».

При этом накопитель не превращает готовый текст в изображение на экране сам по себе. Чтобы открыть сохранённый файл, нужна программа, которая получит его данные и покажет их человеку через устройство вывода. Физические части работают вместе, но каждая выполняет свою роль.

Экран показывает результат

Экран — устройство вывода. В примере с набором текста он показывает букву в строке, положение курсора и остальную видимую часть окна. То, что вы видите, — результат работы нескольких звеньев, а не действие одного экрана. Если выключить изображение, программа не станет клавиатурой; если убрать ввод, экран не начнёт сам писать нужное слово.

Другой способ вывода — звук через динамики или печать на принтере. Они помогают понять слово «вывод»: компьютер может представить результат человеку не только на мониторе. Но для нашего случая достаточно экрана. Мы следим за одним нажатием и одной появившейся буквой, чтобы не смешивать разные задачи.

ЧастьЕё работа в примере с текстом
ВводКлавиатура сообщает о нажатии клавиши.
ПроцессорВыполняет команды работающей программы.
Оперативная памятьУдерживает данные, нужные для текущей работы.
НакопительХранит сохранённые файлы и программы длительное время.
ВыводЭкран показывает изменившийся текст.
ПрограммаОпределяет, как обработать ввод и представить результат.

Таблица описывает роли, а не строгую очередь из шести обязательных остановок. Особенно важно место накопителя: он нужен для сохранения файла, но не для того, чтобы каждое отдельное нажатие стало видимым. Клавиатура и экран — физические устройства; программа — инструкции и правила обработки. Процессор и память тоже физические части, которые помогают эти инструкции выполнять.

Вся цепочка на одном примере

Представьте, что в открытом документе уже написано «Привет». Вы ставите курсор после слова и нажимаете клавишу с восклицательным знаком. Клавиатура передаёт ввод. Программа, в которой открыт документ, обрабатывает действие; процессор выполняет её команды, используя рабочие данные в оперативной памяти. Экран показывает «Привет!». Если вы хотите увидеть именно эту версию документа позже, сохраняете файл на накопителе.

Пример позволяет заметить и типичную ошибку: «Раз я вижу текст, значит, он уже сохранён». Видимость на экране и длительное хранение — разные вещи. Другая ошибка — считать процессор единственной важной частью. Без ввода он не получит вашего действия, без программы не будет нужных инструкций, без памяти не сможет работать с текущими данными, а без вывода вы не увидите результат.

После разговора о командах можно показать ребёнку, что последовательность действий сама по себе заслуживает внимания. В материале «Игры на уроках информатики без компьютера» собраны способы поработать с инструкциями без устройства. Это не проверка работы настоящего процессора, а отдельный способ разобраться, почему порядок команд имеет значение.