参考:http://www.man7.org/linux/man-pages/man2/eventfd.2.html一、简介简单来说,这个函数就是创建一个用于事件通知的文件描述符。它类似于pipe,但是不像pipe一样需要两个描述符,它只需要一个描述就可以实现进程间通信了。详细的介绍请看参考资料。二...
分类:
系统相关 时间:
2015-08-25 21:06:36
阅读次数:
420
进程:(1)进程的经典概念就是执行中的一个程序的实例。(2)系统中的每一个程序都是运行在进程的上下文中。(3)上下文:由程序正确运行所需的状态组成,这个状态包括:存放在存储器中的代码和数据,它的栈,通用目的寄存器,程序计数器,环境变量,以及打开的文件描述符等等。
分类:
系统相关 时间:
2015-08-25 16:21:09
阅读次数:
177
(一):creat 系统调用:创建文件的系统调用 调用方法: #include #include #include int creat(const char* path,mode_t mode); 其中path是文件描述符,mode是文件的权限. 完全等价于近代的open()调用 fd = o...
分类:
系统相关 时间:
2015-08-21 18:56:04
阅读次数:
198
linux的内核将所有的外部设备都看作一个文件来操作,对一个文件的读写操作会调用内核提供的系统命令
,返回一个file descriptor(fd,文件描述符)。而对一个socket的读写也会有相应的描述符,成为socketfd
(socket描述符),描述符就是一个数字,它指向内核中的一个结构体(文件路径,数据区等一些属性)。
根据unix编程对I/O模型的分类,unix提...
分类:
Web程序 时间:
2015-08-18 22:45:17
阅读次数:
179
1. 管道和重定向文件描述符0:一个程序的标准输入文件描述符1:标准输出文件描述符2:标准错误输出>操作符:把标准输出重定向到一个文件。>>操作符:将输出内容附加到一个文件中。|操作符:连接进程。2. 作为程序设计语言的shell2.1 创建脚本注释以#符号开始。#!字符告诉系统同一行上紧跟在它后面...
分类:
系统相关 时间:
2015-08-18 14:00:35
阅读次数:
162
进程是一个独立的资源分配单元,不同进程(这里所说的进程通常指的是用户进程)之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程的资源(例如打开的文件描述符)。
但是,进程不是孤立的,不同的进程需要进行信息的交互和状态的传递等,因此需要进程间通信(
IPC:Inter Processes Communication )。
进程间通信的目的:
...
分类:
系统相关 时间:
2015-08-16 23:10:08
阅读次数:
184
poll系统调用和select类似,也是在指定时间内轮询一定数量的文件描述符,以测试其中是否有就绪者。poll和select效率差不多,只是其使用接口相对简单些,poll不在局限于1024个文件描述符,poll监听事件和触发事件分开,event表示监听事件,revents表示触发的事件。相比select不用每一次都需要重新设置监听事件。
#include
int poll(struct ...
分类:
其他好文 时间:
2015-08-13 12:10:46
阅读次数:
91
read过程 :磁盘数据——>内核态缓冲区(内核态数据可能写回磁盘)——>用户态缓冲区(用户态数据可能被交换到交换区或写回到内核态缓冲区) 一个用户态进程 会有一个文件描述符数组,进程每次open一个文件就会在数...
分类:
系统相关 时间:
2015-08-12 19:56:10
阅读次数:
160
转载自Linux epoll模型,这篇文章讲的非常详细!定义: epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。因为它会复用文件描述符集合来传递...
分类:
系统相关 时间:
2015-08-11 23:19:01
阅读次数:
398
转自http://www.cnblogs.com/zhuwbox/p/4222382.htmlpoll 与 select 很类似,都是对描述符进行遍历,查看是否有描述符就绪。如果有就返回就绪文件描述符的个数将。poll 函数如下: #include int poll(struct pollfd...
分类:
系统相关 时间:
2015-08-11 23:02:51
阅读次数:
154