Overlapped I/O from wikipedia

翻译 2015年07月08日 14:03:13

 

 

Overlapped I/O is an asynchronous I/O extension of the Windows APIs, which was introduced in Windows NT.
Utilizing overlapped I/O requires passing an OVERLAPPED structure to API functions that normally block, including  Winsock WSASend() and WSARecv().
The requested operation is initiated by a function call which returns immediately, and is completed by the OS in the background.
The caller may optionally specify a Win32 event handle to be raised when the operation completes.
Alternatively, a program may receive notification of an event via an I/O completion port, which is the preferred method of receiving notification when used in symmetric multiprocessing environments or when handling I/O on a large number of  sockets.
Overlapped I/O is particularly useful for sockets . It is not well supported in Windows 9x.
The Unix equivalent of overlapped I/O is the POSIX asynchronous I/O API (AIO).

 

Overlapped I/O 是Windows API的一个异步I/O操作的拓展.在Windows NT中被引入.
使用Overlapped I/O 需要传递一个 OVERLAPPED structure 到 创建socket 参数中,以及Winsock WSASend() and WSARecv() 函数中.
被OVERLAPPED struct 初始化的WSASend() and WSARecv() 函数调用时,会立刻返回.并且通过操作系统在背后完成.
函数调用者可以指定一个Win32 Event Handle  解决 I/O 操作完成时的事件.
程序也可以通过完成端口来接收到一个I/O操作完成的通知.当在一个多核系统中处理大量socket事件通过I/O完成端口来接收I/O操作完成事件是首先选择的方法.
Overlapped I/O 对于Socket特别有用途.但是在windows 9x中支持的不是很好.
在Unix系统中, The POSIX asychronous I/O (AIO) 和Overlapped I/O功能差不多.

 

小结: Overlapped I/O 实质上就是一种异步I/O模型,在Unix 系统中为AIO模型

重叠(Overlapped)I/O模型

与介绍过的其他模型相比,重叠I/O模型提供了更好的系统性能。这个模型的基本设计思想是允许应用程序使用重叠数据结构一次投递一个或者多个异步I/O请求(即所谓的重叠I/O)。提交的I/O请求完成之后,与之...

socket通信之七:Overlapped I/O 完成例程模型实现的客户/服务器模型

前一篇介绍了重叠IO的一种实现方式即基于事件通知的方式,这一篇介绍另外一种方式,即使用完成例程的方式实现重叠IO,首先声明这种方式比事件通知的方式简单多了。 用完成例程来实现重叠I/O比用事...

Overlapped I/O

Overlapped I/O  重叠I/O也是一种异步I/O,同样也支持Win32的其它对象,当然在Winsock中可以发挥很大的作用。使用Overlapped开发支持一定数量的Socket的应...

Socket overlapped I/O versus blocking/nonblocking mode

Article ID: 181611 - View products that this article applies to. This article was previously publ...
  • pud_zha
  • pud_zha
  • 2012年09月29日 10:27
  • 1687

[使用重叠IO的命名管道服务器示例]Named Pipe Server Using Overlapped I/O

http://msdn.microsoft.com/en-us/library/aa365603(v=vs.85).aspx

重叠(overlapped)I/O模型

重叠I/O模型是异步IO模型。  先简单说明下 同步IO和异步IO操作, 同步IO模型: 当一个线程启动一个I/O操作时,进入等待状态,等到IO操作完成结束后,才继续执行。 异步IO模型,...

Overlapped I/O模型深入分析

原文地址:http://www.cppblog.com/Lee7/archive/2008/01/07/40650.html 简述:     Overlapped I/O也称Asynchronou...

重叠IO overlapped I/O 运用详解

I/O设备处理必然让主程序停下来干等I/O的完成, 对这个问题有 方法一:使用另一个线程进行I/O。这个方案可行,但是麻烦。                即 CreateThread(…………)...

Overlapped I/O 学习

1、Overlapped I/O 的含义 Overlapped I/O 是WIN32的一项技术,可以让操作系统进行I/O操作而不阻塞的程序执行,并且I/O操作完成时通知程序。 事实上Overl...

Overlapped I/O 和 完成端口等异步IO在内核中的通知方式

By Fanxiushu  2013, 引用和转载请注明原作者 写这篇文章的动机:是因为最近在应用程序中调用DeviceIoControl读写自己做的一个驱动程序的数据,传输的数据包很多。 老的处...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Overlapped I/O from wikipedia
举报原因:
原因补充:

(最多只允许输入30个字)