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请求完成之后,与之...
  • fuyuehua22
  • fuyuehua22
  • 2014年03月07日 15:39
  • 608

Socket编程模型之重叠IO(Overlapped I/O)模型

Winsock2的发布使得Socket I/O有了和文件I/O统一的接口。我们可以通过使用Win32文件操纵函数ReadFile和WriteFile来进行Socket I/O。伴随而来的,用于普通文件...
  • caoshiying
  • caoshiying
  • 2016年10月20日 20:23
  • 1809

socket通信之六:Overlapped I/O 事件通知模型实现的客户/服务器模型

1.基于事件通知模型的Overlapped I/O(重叠IO模型) 概括一点说,重叠模型是让应用程序使用重叠数据结构(WSAOVERLAPPED),一次投递一个或多个Winsock I/O请求。针...
  • u012501459
  • u012501459
  • 2015年09月02日 21:12
  • 1385

设备I/O之OVERLAPPED(zz)

设备I/O之OVERLAPPEDOVERLAPPED,顾名思义为重叠,乍一看会很奇怪,重叠?谁跟谁重叠?似乎在WIN32的Programming中没有这个概念呀?要讨论这个问题就要追溯到对设备I/O的...
  • xiaoxiongli
  • xiaoxiongli
  • 2008年01月15日 20:29
  • 556

Windows Overlapped I/O详解

http://www.cnblogs.com/skyofbitbit/p/3650140.html I/O设备处理必然让主程序停下来干等I/O的完成, 对这个问题有 方法一:使用另一...
  • huangkangying
  • huangkangying
  • 2017年06月23日 10:56
  • 369

在Linux下编写异步I/O的模型探讨

在Linux下编写异步I/O的模型探讨 需要首先说明的是异步I/O和多路复用同步I/O(如通过select函数在连接池中选择任一完成的端口)是有本质差异的,虽然两种方式都能提高效率。 异步I/...
  • hubi0952
  • hubi0952
  • 2013年03月23日 13:34
  • 1218

Win 32 多线程程序设计学习笔记之六:异步I/O(Overlapped I/O)

某些时候 overlapped I/O 可以取代多线程的功用。然而,overlapped I/O 加上completion ports,常被设计为多线程处理,以便在一个“受制于 I/O 的程序”(所谓...
  • u012501459
  • u012501459
  • 2013年11月26日 16:16
  • 883

[转载] Overlapped I/O

转自 http://dev.csdn.net/article/28/28265.shtmHuangRG [原作]     重叠I/O也是一种异步I/O,同样也支持Win32的其它对象,当然在Winso...
  • codemon
  • codemon
  • 2005年09月17日 15:19
  • 1594

OVERLAPPED I/O

OVERLAPPED 与 FILE_FLAG_OVERLAPPED overlapped I/O Overlapped介绍 利用win32所谓的overlapped I/O特征,可以并...
  • fendouzhe
  • fendouzhe
  • 2011年10月20日 15:53
  • 596

Overlapped I/O with APCs

  • wangfengfan1
  • wangfengfan1
  • 2015年07月26日 19:34
  • 247
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Overlapped I/O from wikipedia
举报原因:
原因补充:

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