Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Ввод и вывод

«Ввод/вывод», он же «input/output», он же сокращённо «I/O», является концептуальной основой функционирования цифровой техники и программного обеспечения.

В любом чипсете, от скромного ARM в смартфоне до серверного с шестнадцатью ядрами, постоянно происходит обмен данными с оперативной памятью, накопителями, контроллерами, адаптерами, приложениями, драйверами и вообще с чем угодно. Без этого «I/O» не заработает ни одна программа, ни одна «железка». Поэтому никому не повредят общие представления о данном понятии. Формированием таковых и займёмся.

Суть простыми словами

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

Много чего идёт из модема, сканера, сетевой карты, адаптеров Wi-Fi и Bluetooth, веб-камеры, микрофона. Под управлением программного обеспечения, конечно, ведь для каждой «железки» нужен драйвер.

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

Если же говорить о взаимодействии человека с вычислительным устройством, то следует упомянуть один интересный момент: некоторые технические средства могут служить одновременно и для вывода данных, и для ручного ввода команд. Самый наглядный пример — сенсорный дисплей.

BIOS

BIOS расшифровывается как «Basic input-output system», то бишь, базовая система обсуждаемых «input» и «output». Это программная «прошивка» (Firmware) одной из микросхем в компьютере, которая активируется сразу после включения питания. Её основные задачи: заставить работать основное оборудование, в том числе клавиатуру, монитор и дисководы, а также найти на накопителях операционную систему.

Так вот, BIOS непременно задействует дисплей (в текстовом режиме), небезосновательно считая его важнейшим устройством вывода, и начинает «опрашивать» оборудование. Вы можете заметить, как в это время мигают индикаторы на клавиатуре. Причём, на экране будет подсказка, мол, нажмите клавишу такую-то, если желаете войти в настройки BIOS. И не медлите, у вас есть пара секунд.

Никто ничего не нажал — значит, пора взглянуть на последовательность, с которой проверяются накопители на предмет наличия на них загрузчика ОС. После чего можно «умывать руки» и передавать управление компьютером этому самому загрузчику, который активирует нормальные, полнофункциональные драйверы и для дисплея, и для всего остального. (Выводя их, разумеется, из файлов.)

Приложения

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

Хотя, откровенно говоря, тут не всё безоблачно. Если браузер, установленный на вашем компьютерном устройстве, является дырявым и небезопасным, то команду на запуск чего-либо может подать вирус. (Обычно в качестве проверки браузера на надёжность пытаются открыть «Калькулятор», это классический тест.) То же самое относится к прочему софту, например, к просмотрщикам документов PDF, способным исполнять скрипты без разрешения.

Итак, всё запустилось, данные обработались и теперь просятся наружу — их надо куда-то выгрузить: показать на дисплее, записать на диск в виде файла, отправить в сеть, а то и всё перечисленное одновременно.

Чёрные дыры и прочая утилизация

Бывают случаи, когда какие-то данные, вываливаемые в результате деятельности программы, на дисплее совершенно не нужны. Например, запустили в консоли команду — а она принялась захламлять экран всякими подробностями. Тогда вывод делают невидимым.

Обратимся к скриптам, как наиболее наглядным и простым средствам постижения азов. Для отключения вывода следует указать в начале исполняемого кода @echo off (в Bat-файлах для Windows) или set +v в Shell-скриптах для Unix-подобных ОС.

Другая ситуация: данные нужны, но в удобной форме, а не как стремительный поток на дисплее. Тогда их вместо экрана выводят в файл. Вот так: имя_программы_с_параметрами > имя_файла

К примеру, запишем в виде текстового файла статистику сетевых подключений в GNU/Linux: netstat -p --inet > stats.txt. В терминале вы ничего не увидите, зато обнаружите в своей домашней директории этот самый stats.txt. Открывайте и изучайте без спешки.

Ну и, наконец, выводимое вообще никому не нужно (бывает и так). Тогда в Bat-файле: имя_программы > null, в Shell-скрипте: имя_программы >/dev/null. Всё исчезнет в чёрной дыре «нулевого устройства».

Заключение

Да, от «input» и «output» никуда не деться. Возьмём, к примеру, обычный медиаплеер. Казалось бы, простенькое устройство. Однако вы выбираете музыкальную композицию — осуществляете ввод команды. В ответ вшитая в микросхему программа задействует кодек и пересылает данные из файла в аналогово-цифровой преобразователь, трансформируя нули и единицы в электрические колебания звуковых частот — начинается воспроизведение.

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

Автор: vanilinkin, специально для xBB.uz, 12.09.2012


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2012-09-12 05:39:26

Метки материала: ввод, вывод, электроника, информационные технологии, информация, ит, it, информатика, компьютерные технологии, компьютерная техника, данные, цифровые технологии, электротехника и электроника, информация и информатика, понятия информационных технологий

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2017, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.