1 父子进程的程序空间 子进程获得父进程的数据空间、堆、栈的副本,即不共享这些空间 父子进程共享正文段 不过现在又很多实现采用COW写时复制技术,即共享空间,发生修改时只为修改区域制作副本2 文件共享 父子进程各自维护进程表项(记录有文件描述符、文件描述符标志、文件表指针) 父子进程共享文件表(记录...
分类:
系统相关 时间:
2014-12-04 17:45:30
阅读次数:
215
1. 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。(阻塞)2. 同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。(立即返回)3. 异步事件阻塞I/O: 用户进程可以对I/O事件进行阻塞,但是...
分类:
其他好文 时间:
2014-12-03 22:52:31
阅读次数:
146
O_DSYNC:每次write都等待物理I/O完成,但是如果写操作不影响读取刚写入的数据,则不等待文件属性更新O_RSYNC:每个以文件描述符作为参数的read操作等待,直到所有对文件同一部分的未决写操作完成O_SYNC:每次write都等到物理I/O完成,包括write引起的文件属性的更新O_SY...
分类:
其他好文 时间:
2014-12-03 11:55:38
阅读次数:
215
sys V 的IPC 对象:对于内核中创建的文件对象,就是文件标识符(它引用了文件对象的全部信息)在进程中文件描述符一般使用当前最小可用值。
对于IPC标识符返回的是索引的整数值,它是全局变量的流水号,在系统中唯一分配的,若果在创建的IPC对象没有关闭,他会全局存在,只有在系统关闭的时候才关闭,这样会造成内存空间的资源被占用。...
分类:
其他好文 时间:
2014-12-02 09:03:19
阅读次数:
311
管道
Linux管道(pipe)提供一种单向(半双工)的进程间通讯机制。管道有一个读端和一个写端。从写端写入的数据可以重读端读出来。函数pipe()创建一个管道,返回两个文件描述符,fd[0]是读端,f[1]是写端。如下图
管道的读写可以使用Linux标准IO操作接口进行,例如read、write等。从图1不难看出,数据一直缓存在内核中直到被读取出来。
单个进程的管道几乎没有任何用处...
分类:
其他好文 时间:
2014-12-02 00:10:17
阅读次数:
301
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,...
分类:
系统相关 时间:
2014-12-01 22:09:54
阅读次数:
189
stat, fstat, fstatat 和 lstat函数:stat函数返回与pathname命名文件相关的信息结构;fstat函数返回已在文件描述符fd打开文件的相关信息;lstat函数与stat函数类似,但当命名文件是一个符号链接时,返回该符号链接的相关信息;fstatat函数为相对于当前打开...
分类:
其他好文 时间:
2014-11-27 23:34:32
阅读次数:
370
在POSIX标准中提供了函数open, read, write, lseek以及close提供不带缓冲的IO,这些函数都是使用文件描述符;
在Linux/Unix系统中将标准输入复制到标准输出简单实现如下:
#include
#define BUFFSIZE 4096
int
main(int argc, char **argv)
{
int n;
char b...
分类:
其他好文 时间:
2014-11-26 21:00:13
阅读次数:
171
套接字类型与协议设置 我们先了解一下创建套接字的那个函数 int socket(int domain,int type,int protocol);成功时返回文件描述符,失败时返回-1.其中,domain是套接字使用中的协议族(Protocol Family)信息。type套接字类型里面的数据传.....
分类:
其他好文 时间:
2014-11-23 22:57:12
阅读次数:
197
select函数允许程序同时在多个底层文件描述符下等待输入完成,这意味着终端仿真程序可一直阻塞到有事可做为止。select系统调用原型:1 #include 2 #include 3 4 int select(int nfds, fd_set *readfds, fd_set *write...
分类:
其他好文 时间:
2014-11-22 17:15:05
阅读次数:
181