Ввід/вивід
З Вікіпедії, безкоштовно encyclopedia
Ввід/вивід, введення-виведення (англ. I/O, input/output) в інформатиці — взаємодія між обробником інформації (наприклад, комп'ютер) і зовнішнім світом, який може представляти як людина, так і будь-яка інша система обробки інформації. Введення, ввід — сигнал або дані, отримані системою, а вивід — сигнал або дані, надіслані нею (або з неї). Термін також може використовуватися як позначення (або доповнення до позначення) певної дії: «виконувати введення / виведення» означає виконання операцій введення або виведення. Пристрої введення-виведення використовуються людиною (або іншою системою) для взаємодії з комп'ютером. Наприклад, клавіатури та миші — спеціально розроблені комп'ютерні пристрої введення, а монітори та принтери — комп'ютерні пристрої виводу. Пристрої для взаємодії між комп'ютерами, як модеми та мережеві карти, зазвичай служать пристроями введення і виведення одночасно.
Ця стаття не містить посилань на джерела. (січень 2020) |
Варто відзначити, що призначення пристрою як пристрою введення або виведення залежить від перспективи. Миші та клавіатури приймають фізичну дію, здійснювану людиною-користувачем (до речі, щодо нього це будуть дії з виведення інформації), і перетворює його в сигнали, зрозумілі комп'ютеру. Виведення інформації з цих пристроїв є введенням її в комп'ютер. Аналогічно, принтери та монітори отримують на вході сигнали, які виводить комп'ютер. Потім вони перетворять ці сигнали в такий вигляд, який людина зможе побачити чи прочитати. Для людей-користувачів процес читання або перегляду подібних варіантів представлення інформації є введенням або отриманням інформації.
У комп'ютерній архітектурі об'єднання процесора та основної пам'яті (тобто пам'яті, з якої процесор може читати та записувати в неї прямо за допомогою особливих інструкцій) становить «мозок» комп'ютера, і з цієї точки зору, будь-який обмін інформацією з цим об'єднанням, наприклад, з дисковим накопичувачем, має на увазі введення-виведення. Процесор і його супутні електронні кола реалізують введення-виведення з розподілом пам'яті, використовувані в низькорівневому програмуванні при реалізації драйверів пристроїв.
Високорівнева операційна система і програмне забезпечення використовують інші, більш абстрактні концепції та примітиви введення-виведення. Наприклад, більшість операційних систем реалізують прикладні програми через концепцію файлів. Мови програмування Сі та C++, а також операційні системи сімейства Unix, традиційно абстрагують файли та пристрої у вигляді потоків даних, з яких можна читати та в які можна записувати, або і те й інше разом. Стандартна бібліотека мови Сі реалізує функції для роботи з потоками для введення і виведення даних.