IO发生时涉及的对象和步骤:对象:对于一个网络IO,涉及到了两个对象,一个是进程,另一个是系统内核。当一个read发生时,会进行一下步骤步骤:数据的准备(即等待)将数据从内核拷贝到应用进程中几种I/O模型的区别一般就在以上两个阶段有所不同下面介绍了5种不同的I/O模型:阻..
分类:
其他好文 时间:
2016-05-23 22:52:47
阅读次数:
193
IO 大多数的应用程序都要与外部设备进行数据交换,最常见的外部设备包含磁盘和网络。IO就是指应用程序对这些设备的数据输入与输出,Java语言定义了许多类专门负责各种方式的输入、输出,这些类都被放在java.io包中。 File类 File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与 ...
分类:
编程语言 时间:
2016-05-20 19:19:51
阅读次数:
207
上面主要讲解了java IO类及其如何使用,本篇主要讲NIO原理。NIO原理阻塞IO非阻塞与阻塞也就是我们常说的IO与NIO。在聊非阻塞前,我们先来看看网络通讯中的阻塞。常见的网络 IO 通讯流上面是一个网络通信IO流程图,何为阻塞呢 ?
在以上过程中若连接还没到来,那么 accept 会阻塞 , 程序运行到这里不得不挂起, CPU 转而执行其他线程。
在以上过程中若数据还没准备好, read 会一...
分类:
编程语言 时间:
2016-05-18 18:42:10
阅读次数:
290
1、前言 在网络编程中,阻塞、非阻塞、同步、异步经常被提到。unix网络编程第一卷第六章专门讨论五种不同的IO模型,Stevens讲的非常详细,我记得去年看第一遍时候,似懂非懂,没有深入理解。网上有详细的分析:http://blog.csdn.net/historyasamirror/article ...
分类:
其他好文 时间:
2016-05-18 16:06:36
阅读次数:
193
最近朋友推荐,学习了libiop这个网络库,作者封装的很全面,代码很简洁 适合初学者学习基于事件驱动的网络io 先看看iop_def.h, 这里面定义了常用的数据结构 tag_iop_base_t 主要用于管理所有事件,每个事件是一个iop_t, maxio表示最大的文件描述符, free_list ...
分类:
其他好文 时间:
2016-05-13 07:45:34
阅读次数:
126
参考 http://www.cnblogs.com/Anker/p/3254269.html 及网络编程卷1第6章
网络IO模型详细分析
常见的IO模型有阻塞、非阻塞、IO多路复用,异步。以一个生动形象的例子来说明这四个概念。周末我和女友去逛街,中午饿了,我们准备去吃饭。周末人多,吃饭需要排队,我和女友有以下几种方案:
(1)我和女友点完餐后,不知道什么时候能做好,只好坐在餐厅里...
分类:
其他好文 时间:
2016-05-12 21:00:05
阅读次数:
151
本文以virtio网络驱动为例,分析virtio驱动是如何处理网络IO的,驱动的定义如下
static struct virtio_device_id id_table[] = {
{ VIRTIO_ID_NET, VIRTIO_DEV_ANY_ID },
{ 0 },
};
static unsigned int features[] = {
VIRTIO_NET_F...
分类:
Web程序 时间:
2016-05-10 07:12:41
阅读次数:
199
原文转自:http://blog.chinaunix.net/uid-27105712-id-3270102.html 在Linux 开发中,有几个关系到性能的东西,技术人员非常关注:进程,CPU,MEM,网络IO,磁盘IO。本篇文件打算详细全面,深入浅出。剖析文件IO的细节。从多个角度探索如何提高 ...
分类:
系统相关 时间:
2016-05-07 15:03:33
阅读次数:
201
阻塞I/O(bloking I/O) 阻塞IO的特点就是在IO执行的两个阶段(recvfrom和数据从内核空间转移到用户空间)都被block了 非阻塞I/O(non-bloking I/O) 非阻塞 IO的特点是用户进程需要不断的主动询问kernel数据是否准备好。 多路复用I/O(multiple ...
分类:
其他好文 时间:
2016-05-03 22:07:31
阅读次数:
218
Memcache 是什么? Memcache 是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个Ha ...
分类:
系统相关 时间:
2016-04-25 14:48:50
阅读次数:
331