dbo:abstract
|
- Asynchronní vstup/výstup (asynchronní V/V, z angličtiny i asynchronní I/O) je v oboru počítačů označení pro takovou podobu vstupu/výstupu, při které které mohou být během čekání na dokončení vstupního/výstupního datového přenosu souběžně prováděny jiné procesy. Vstupně/výstupní operace jsou obvykle řádově časově náročnější než operace prováděné procesorem v operační paměti. Tedy například od okamžiku, kdy procesor předá požadavek na data, do okamžiku, kdy jsou data připravena a posílána zpět, mohou uplynout milióny taktů, tedy procesor mohl vykonat milióny instrukcí. Proto je požadavek na poskytování asynchronního V/V jedním za základních požadavků na služby operačního systému. V nejjednodušší podobě (například na systému CP/M) bývá implementován přinejmenším takzvaný , který může mít v základní podobě podobu prostého líného aktivního čekání. Pokročilejší platformy a operační systémy obvykle využívají , které aktivní čekání nevyžaduje a je tak efektivnější. Na úrovni operačního systému dále zlepšuje využití hardwaru multitasking uživatelských procesů. Asynchronní vstup a výstup může být rovněž podporován na úrovni uživatelských procesů a to tehdy, pokud může programátor využívat více vláken nebo pokud operační systém nabízí ve svém programovém rozhraním také systémová volání pro asynchronní vstup/výstup. Příkladem struktur pro řízení běhu pro podporu asynchronního V/V je dvojice klíčových slov async/await dostupná v řadě moderních programovacích jazyků. (cs)
- In computer science, asynchronous I/O (also non-sequential I/O) is a form of input/output processing that permits other processing to continue before the transmission has finished. A name used for asynchronous I/O in the Windows API is overlapped I/O. Input and output (I/O) operations on a computer can be extremely slow compared to the processing of data. An I/O device can incorporate mechanical devices that must physically move, such as a hard drive seeking a track to read or write; this is often orders of magnitude slower than the switching of electric current. For example, during a disk operation that takes ten milliseconds to perform, a processor that is clocked at one gigahertz could have performed ten million instruction-processing cycles. A simple approach to I/O would be to start the access and then wait for it to complete. But such an approach (called synchronous I/O, or blocking I/O) would block the progress of a program while the communication is in progress, leaving system resources idle. When a program makes many I/O operations (such as a program mainly or largely dependent on user input), this means that the processor can spend almost all of its time idle waiting for I/O operations to complete. Alternatively, it is possible to start the communication and then perform processing that does not require that the I/O be completed. This approach is called asynchronous input/output. Any task that depends on the I/O having completed (this includes both using the input values and critical operations that claim to assure that a write operation has been completed) still needs to wait for the I/O operation to complete, and thus is still blocked, but other processing that does not have a dependency on the I/O operation can continue. Many operating system functions exist to implement asynchronous I/O at many levels. In fact, one of the main functions of all but the most rudimentary of operating systems is to perform at least some form of basic asynchronous I/O, though this may not be particularly apparent to the user or the programmer. In the simplest software solution, the hardware device status is polled at intervals to detect whether the device is ready for its next operation. (For example, the CP/M operating system was built this way. Its system call semantics did not require any more elaborate I/O structure than this, though most implementations were more complex, and thereby more efficient.) Direct memory access (DMA) can greatly increase the efficiency of a polling-based system, and hardware interrupts can eliminate the need for polling entirely. Multitasking operating systems can exploit the functionality provided by hardware interrupts, whilst hiding the complexity of interrupt handling from the user. Spooling was one of the first forms of multitasking designed to exploit asynchronous I/O. Finally, multithreading and explicit asynchronous I/O APIs within user processes can exploit asynchronous I/O further, at the cost of extra software complexity. Asynchronous I/O is used to improve energy efficiency, and in some cases, throughput. However, it can have negative effects on latency and throughput in some cases. (en)
- En la informática, la E/S asíncrona (también llamada E/S no secuencial) es una forma de procesamiento de entrada/salida que permite que otros procesos continúen antes de que una transmisión finalice. Las operaciones de entrada y salida (E/S) en una computadora pueden ser extremadamente lentas comparados con el procesamiento de datos. Un dispositivo de E/S puede incorporar dispositivos mecánicos que deben moverse de forma física, como por ejemplo un disco duro que debe buscar una pista sobre la cual leer o escribir; lo cual suele ser increíblemente lento si se compara con conmutar una señal eléctrica binaria. Por ejemplo, durante una operación de disco duro que pueda durar 10 milisegundos, un procesador que este funcionando a tan solo un gigahercio sería capaz de ejecutar 10 millones de ciclos. Un enfoque simple para realizar E/S sería iniciar la operación y simplemente esperar a que finalice. Pero tal operación (llamada E/S síncrona o E/S bloqueante) bloquearía el progreso de un programa mientras la operación se completa, lo cual dejaría a los recursos del sistema inactivo. Cuando un programa realiza muchas operaciones de E/S (tales como un programa que depende fundamentalmente en la entrada de un usuario), esto significa que el procesador podría llegar a pasar mucho tiempo inactivo esperando a a que dichas operaciones se completen. Alternativamente, es posible iniciar una operación de E/S y luego realizar procesamiento que no depende de dicha operación mientras esta se completa. Este enfoque es llamado entrada/salida asíncrona, y se basa en que solo las operaciónes que dependen de los resultados de la operación E/S requieren esperar a que se complete, mientras que cualquier otra operación que no depende de estos resultados puede continuar ejecutandose. Muchas operaciones de sistemas operativos existen para facilitar la implementación de la E/S Asíncrona a varios niveles. De hecho, una de las funciones principales de los sistemas operativo (excepto los más rudimentarios) es la capacidad de realizar al menos una forma básica de E/S asíncrona, aunque esto podría no ser particularmente aparente para el usuario o el programador. En la solución más simple por software, se realiza un sondeo sobre el hardware cada ciertos intervalos para verificar si esta listo para la siguiente operación. El acceso directo a memoria (DMA) puede incrementar la eficiencia de un sistema basado en sondeos, y el uso de interrupciónes de hardware eliminan la necesidad de sondeos completamente. La asíncronia de E/S es deseable para mejorar el rendimiento, la latencia y/o la capacidad de respuesta.
* Datos: Q752741 (es)
- 非同期I/O (英: asynchronous I/O) とは、入出力の処理を、その要請元のプロセス・スレッドとは独立に(非同期に)行う、入出力のAPIの類型である。 (ja)
- 컴퓨터 과학에서 비동기 입출력(asynchronous I/O) 또는 비순차 입출력(non-sequential I/O)은 데이터 전송을 마치기 전에 기타 프로세스가 계속하도록 허가하는 입출력 처리의 한 형태이다. 컴퓨터에서의 입출력 기능은 데이터 처리 시 보다 상당히 느릴 수 있다. 모든 입출력 장치는 읽기나 쓰기를 위해 트랙을 찾는 하드 드라이브와 같이 물리적으로 움직여야 하는 기계 장치를 포함할 수 있다. 즉, 전기 회로를 전환하는 것 보다 종종 더 느리다. 이를테면, 디스크 작업 수행에 10 밀리초가 소요되는 동안 1 기가헤르츠 클럭의 프로세서는 10,000,000 명령 처리 사이클을 수행할 수 있다. 입출력에 대한 단순 접근은 액세스를 시작하고 끝날 때까지 기다리는 것이다. 그러나 이러한 접근(동기 입출력)은 통신 중에 프로그램의 진행을 가로막아, 시스템 자원을 유휴 상태로 만들어버린다. 프로그램이 수많은 입출력 동작을 취할 때, 프로세서는 입출력 동작이 끝날 때까지 기다리는 유휴 시간 대부분을 소모할 수 있다. 한편, 통신을 시작한 다음 입출력이 끝날 것을 요구하지 않는 처리를 수행할 수 있다. 이러한 접근은 비동기 입출력으로 부른다. 비동기 입출력을 사용하면 스루풋, 레이턴시, 반응 속도를 개선할 수 있다. (ko)
- 异步I/O是计算机操作系统对输入输出的一种处理方式:发起I/O请求的线程不等I/O操作完成,就继续执行随后的代码,I/O结果用其他方式通知发起I/O请求的程序。与异步I/O相对的是更为常见的“同步(阻塞)I/O”:发起I/O请求的线程不从正在调用的I/O操作函数返回(即被阻塞),直至I/O操作完成。 (zh)
- В информатике асинхронный ввод/вывод является формой неблокирующей обработки ввода/вывода, который позволяет процессу продолжить выполнение не дожидаясь окончания передачи данных. Входные и выходные (I/O) операции на компьютере могут быть весьма медленными, по сравнению с обработкой данных. Устройство ввода/вывода может быть на несколько порядков медленнее, чем оперативная память. Например, во время дисковой операции, которой требуется десять миллисекунд для выполнения, процессор, который работает на частоте один гигагерц, может выполнить десять миллионов циклов команд обработки. (ru)
- Асинхронний або неблокуючий ввід/вивід — це форма обробки вводу/виводу, яка дозволяє виконувати інші процеси ще до того як закінчиться передавання даних. Операції вводу/виводу на комп’ютері можуть бути надзвичайно повільними порівняно з обробкою даних. Пристрій вводу/виводу може містити механічні частини які повинні фізично переміщуватись, наприклад жорсткий диск, який шукає доріжку для запису чи читання. Це часто на порядки повільніше ніж перемикання електричного струму. Наприклад під час дискової операції що займає десять мілісекунд, процесор що має частоту в один гігагерц може виконати десять мільйонів циклів виконання інструкцій. Простішим підходом до вводу/виводу є запитати доступ, і чекати на отримання даних. Але такий підхід (що називається синхронним, чи блокуючим) зупиняє роботу програми на час виконання вводу/виводу, призводячи до простоювання обчислювальних ресурсів. Коли програма робить багато операцій вводу/виводу, процесор майже ввесь свій час може проводити очікуючи на завершення виконання цих операцій. Альтернативою є почати комунікацію, а потім виконати процеси що не потребують результатів її завершення. Цей підхід називають вводом/виводом. Будь-яка задача що насправді залежить від результатів вводу-виводу все ще очікуватиме завершення комунікації, але інші процеси зможуть продовжувати роботу. В операційних системах існує багато функцій на різних рівнях, призначених для реалізації асинхронного I/O. Насправді, у всіх, окрім найбільш рудиментальних операційних систем, головною функцією є забезпечення хоча б базових форм асинхронного I/O, хоча це може бути не надто видимим для користувача чи програміста. В найпростішому програмному рішенні, статус пристрою постійно з певними інтервалами, щоб визначити чи готовий пристрій до наступної операції. (Наприклад CP/M працювала таким чином. Семантика її системних викликів не вимагала більш складної структури вводу/виводу, хоча більшість реалізацій були складнішими та ефективнішими). Прямий доступ до пам’яті може значно збільшити ефективність систем що базуються на опитуванні, а можуть взагалі усунути потребу в опитуванні. Багатозадачні операційні системи можуть використовувати функціональність яка надається апаратними перериваннями, при цьому ховаючи складність обробки переривання від користувача. був першою формою багатозадачності створеної для експлуатації асинхронного вводу виводу. Асинхронний ввід/вивід використовується для збільшення пропускної здатності, та швидкості реагування на події. (uk)
|
rdfs:comment
|
- 非同期I/O (英: asynchronous I/O) とは、入出力の処理を、その要請元のプロセス・スレッドとは独立に(非同期に)行う、入出力のAPIの類型である。 (ja)
- 异步I/O是计算机操作系统对输入输出的一种处理方式:发起I/O请求的线程不等I/O操作完成,就继续执行随后的代码,I/O结果用其他方式通知发起I/O请求的程序。与异步I/O相对的是更为常见的“同步(阻塞)I/O”:发起I/O请求的线程不从正在调用的I/O操作函数返回(即被阻塞),直至I/O操作完成。 (zh)
- В информатике асинхронный ввод/вывод является формой неблокирующей обработки ввода/вывода, который позволяет процессу продолжить выполнение не дожидаясь окончания передачи данных. Входные и выходные (I/O) операции на компьютере могут быть весьма медленными, по сравнению с обработкой данных. Устройство ввода/вывода может быть на несколько порядков медленнее, чем оперативная память. Например, во время дисковой операции, которой требуется десять миллисекунд для выполнения, процессор, который работает на частоте один гигагерц, может выполнить десять миллионов циклов команд обработки. (ru)
- Asynchronní vstup/výstup (asynchronní V/V, z angličtiny i asynchronní I/O) je v oboru počítačů označení pro takovou podobu vstupu/výstupu, při které které mohou být během čekání na dokončení vstupního/výstupního datového přenosu souběžně prováděny jiné procesy. Vstupně/výstupní operace jsou obvykle řádově časově náročnější než operace prováděné procesorem v operační paměti. Tedy například od okamžiku, kdy procesor předá požadavek na data, do okamžiku, kdy jsou data připravena a posílána zpět, mohou uplynout milióny taktů, tedy procesor mohl vykonat milióny instrukcí. (cs)
- In computer science, asynchronous I/O (also non-sequential I/O) is a form of input/output processing that permits other processing to continue before the transmission has finished. A name used for asynchronous I/O in the Windows API is overlapped I/O. Asynchronous I/O is used to improve energy efficiency, and in some cases, throughput. However, it can have negative effects on latency and throughput in some cases. (en)
- En la informática, la E/S asíncrona (también llamada E/S no secuencial) es una forma de procesamiento de entrada/salida que permite que otros procesos continúen antes de que una transmisión finalice. Las operaciones de entrada y salida (E/S) en una computadora pueden ser extremadamente lentas comparados con el procesamiento de datos. Un dispositivo de E/S puede incorporar dispositivos mecánicos que deben moverse de forma física, como por ejemplo un disco duro que debe buscar una pista sobre la cual leer o escribir; lo cual suele ser increíblemente lento si se compara con conmutar una señal eléctrica binaria. Por ejemplo, durante una operación de disco duro que pueda durar 10 milisegundos, un procesador que este funcionando a tan solo un gigahercio sería capaz de ejecutar 10 millones de cic (es)
- 컴퓨터 과학에서 비동기 입출력(asynchronous I/O) 또는 비순차 입출력(non-sequential I/O)은 데이터 전송을 마치기 전에 기타 프로세스가 계속하도록 허가하는 입출력 처리의 한 형태이다. 컴퓨터에서의 입출력 기능은 데이터 처리 시 보다 상당히 느릴 수 있다. 모든 입출력 장치는 읽기나 쓰기를 위해 트랙을 찾는 하드 드라이브와 같이 물리적으로 움직여야 하는 기계 장치를 포함할 수 있다. 즉, 전기 회로를 전환하는 것 보다 종종 더 느리다. 이를테면, 디스크 작업 수행에 10 밀리초가 소요되는 동안 1 기가헤르츠 클럭의 프로세서는 10,000,000 명령 처리 사이클을 수행할 수 있다. 입출력에 대한 단순 접근은 액세스를 시작하고 끝날 때까지 기다리는 것이다. 그러나 이러한 접근(동기 입출력)은 통신 중에 프로그램의 진행을 가로막아, 시스템 자원을 유휴 상태로 만들어버린다. 프로그램이 수많은 입출력 동작을 취할 때, 프로세서는 입출력 동작이 끝날 때까지 기다리는 유휴 시간 대부분을 소모할 수 있다. 한편, 통신을 시작한 다음 입출력이 끝날 것을 요구하지 않는 처리를 수행할 수 있다. 이러한 접근은 비동기 입출력으로 부른다. (ko)
- Асинхронний або неблокуючий ввід/вивід — це форма обробки вводу/виводу, яка дозволяє виконувати інші процеси ще до того як закінчиться передавання даних. Операції вводу/виводу на комп’ютері можуть бути надзвичайно повільними порівняно з обробкою даних. Пристрій вводу/виводу може містити механічні частини які повинні фізично переміщуватись, наприклад жорсткий диск, який шукає доріжку для запису чи читання. Це часто на порядки повільніше ніж перемикання електричного струму. Наприклад під час дискової операції що займає десять мілісекунд, процесор що має частоту в один гігагерц може виконати десять мільйонів циклів виконання інструкцій. (uk)
|