-2

Несколько вдохновленный ответом, который я дал о подсветке клавиатуры, я теперь спрашиваю: нужны ли компьютерам какие-либо входные данные (клавиатура, мышь, сенсорная панель, сканер, микрофон, джойстик и т.д.) Или выходные данные (принтер, дисплей, динамики и т.д.)?

Я вспоминаю старую аксиому из C/C++, которая примерно говорит о том, что они не ожидают какого-либо устройства ввода или вывода, присутствующего в машине (именно поэтому, IMO, нет собственной и стандартной поддержки терминальных интерфейсов),

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

В конце концов, компьютер можно оставить на свое усмотрение, но в этом случае мы ничего не получим от него. Я полагаю, что серверная стойка может считаться системой без ввода / вывода, за исключением того, что если это сервер, он связывается с сетью, поэтому он что-то выводит.

Некоторые современные компьютеры не могут работать даже без клавиатуры (я привожу пример своей материнской платы, которая отказывается работать без клавиатуры).

Я действительно пытался искать в Интернете для этого, но большинство сайтов имеют только общие советы или рекомендации по продукту. Либо этот вопрос настолько же очевиден, либо просто не задан.


Обновление текущего статуса (по сути, сумма всех сказанных вещей):

  • Определение ввода и вывода имеет решающее значение для ответа на этот вопрос. Предполагая самые широкие термины (то есть ввод как информация, поступающая и выводимая как информация), верно следующее:

    • Хотя компьютеру не нужны никакие входные или выходные данные, без них он был бы бесполезен .
    • При этом компьютеру может потребоваться только ввод и вывод в течение времени, необходимого для ввода команд / данных и извлечения обработанных данных.
    • Внутренне компьютер должен передавать информацию между его компонентами (CPU, RAM, HDD и т.д.), Чтобы он функционировал (спасибо keltari за указание на это).
  • Если принять более строгие определения ввода и вывода (например, только из HID), тогда компьютерам может не понадобиться какое-либо такое устройство (например, серверная стойка или удаленный компьютер) в прямой форме.

7 ответов7

4

Я +1 ответил Хеннесу, но я хочу добавить, что все зависит от определения устройства ввода / вывода. Мышь и клавиатура являются устройствами ввода, но они попадают в категорию устройств интерфейса человека (HID). Компьютеры могут работать и работают без HID. Многие серверы работают без клавиатуры, мыши, монитора и других подключенных к ним HID. Они не требуются для работы компьютера.

Тем не менее, почти каждая часть компьютера в некотором роде является устройством ввода / вывода. Процессор, ОЗУ, шина, жесткий диск, DVD-привод и т.д. Принимают некоторую форму ввода и вывода данных. Даже в корпусах компьютеров есть термометры, которые измеряют температуру и выводят эти данные на компьютер. Однако эти операции ввода / вывода не видны пользователю.

Так что все сводится к тому, как вы определяете ввод / вывод.

4

Нет, компьютерам не нужно устройство ввода или вывода.
Они довольно бесполезны без какого-либо устройства вывода.

На том же примечании: ни один не делает языки программирования.
GCL (защищенный командный язык) даже не имеет команды для вывода чего-либо.

1

Компьютеры - это системы, предназначенные для приема, обработки и создания выходных данных. Практически любая система подобна этой, будь то электрические системы, системы сточных вод и т.д.

Чтобы компьютер даже запускал программу, он должен взаимодействовать с ПЗУ и ОЗУ. Можно считать эту довольно интегральную функцию операцией ввода-вывода - некоторые ЦП действительно не имеют разницы между обращением к ОЗУ и вводом-выводом с их точки зрения. Таким образом, для процессора, самой "важной" части компьютера, для его выполнения необходим ввод / вывод.

Я вспоминаю старую аксиому из C/C++, которая примерно говорит о том, что они не ожидают какого-либо устройства ввода или вывода, присутствующего в машине (именно поэтому, IMO, нет собственной и стандартной поддержки терминальных интерфейсов),

Неточный. Они не ожидают какого-либо конкретного устройства ввода или вывода. Если ваша программа не предназначена просто для записи циклов или остановки системы в бесконечном цикле, в конечном итоге она будет использовать функции, предназначенные для записи в stdin или stdout. C/C++ просто не говорит / не заботится о том, что это за устройства, но предполагает, что некоторые средства существуют. Можно утверждать, в какой степени стандартные библиотеки являются "частью" C/C++, но у вас не будет серьезной программы без стандартных библиотек C/C++ или других эквивалентных библиотек.

В конце концов, компьютер можно оставить на свое усмотрение, но в этом случае мы ничего не получим от него. Я полагаю, что серверная стойка может считаться системой без ввода / вывода, за исключением того, что если это сервер, он связывается с сетью, поэтому он что-то выводит.

То, что в системе нет клавиатуры, мыши или монитора, еще не означает, что у нее нет других устройств ввода-вывода, как вы понимаете. Ваши самые первые компьютеры были машинами пакетной обработки, которые были запрограммированы на одну задачу и выполняли эту задачу для каждого входа (т. Е. Перфокарты), а затем останавливались по окончании ввода. Вещи, которые не видны, если не разобрать машину, также могут рассматриваться как устройства ввода-вывода, такие как встроенная вспышка.

Некоторые современные компьютеры не могут работать даже без клавиатуры (я привожу пример своей материнской платы, которая отказывается работать без клавиатуры).

Ваша материнская плата и все основные операционные системы будут нормально работать без клавиатуры (вы можете отключить ее после того, как BIOS установит управление Windows, и Windows не будет беспокоиться). Это ваш BIOS, который жалуется. В вашей системе может быть установлен параметр «Остановка при ошибках: все, кроме клавиатуры», который необходимо установить.

1

Несколько лет назад я создал MicroPE x64 - чрезвычайно утонченный PE. Я фактически удалил поддержку большей части аппаратного обеспечения, включая мыши, CD-ROM, сенсорные панели и т.д. Единственное, что я сохранил, была поддержка клавиатуры для ввода команд в командную строку. Однако мне бы не понадобилась поддержка клавиатуры для этого. Я мог бы легко модифицировать систему, чтобы запускать пакет после запуска и выполнять ее задачи автоматически без какого-либо вмешательства пользователя или какого-либо вмешательства. Конечно, мне пришлось бы сначала создать пакет и ввести значимые команды, но, тем не менее, при достаточном уровне автоматизации машина могла бы работать практически вечно после ее настройки.

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

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

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

0

В какой-то момент во время построения программист должен ввести (хотя бы один раз) программу, иначе устройство ничего не сделает. Следовательно, компьютеры должны иметь какую-то возможность "ввода", даже если это происходит до выполнения каких-либо инструкций.

Было бы совершенно бессмысленно создавать компьютеры без предоставления им инструкций.

0

нормально работает (вы можете отключить необходимость клавиатуры в биосе) серверы (как вы сказали) являются одним из примеров, кроме сети, нет ввода / вывода. конечно, когда вы останавливаете даже это, компьютер не стоит много, потому что вы не можете его использовать, но он работает

0

У меня есть компьютер в моем шкафу, который работает годами без подключенных устройств ввода или вывода (технически говоря). Он выполняет некоторые функции сервера, и я время от времени подключаюсь к нему.

Итак, для вашего резюме:

  • Хотя компьютеру не нужны никакие входные или выходные данные, без них он был бы бесполезен.
  • При этом компьютеру может потребоваться только ввод и вывод в течение времени, необходимого для ввода команд / данных и извлечения обработанных данных.

Если учесть сетевой ввод / вывод, то да, бесполезно. В противном случае, учитывая мой пример выше, компьютер не имеет ввода или вывода, и это весьма полезно.

редактировать только что видел ваш 4-й параграф, извините.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .