mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。
http://kenby.iteye.com/blog/1164700
4、Pips
管道两端可分别用描述字fd[0]以及fd[1]来描述,需要注意的是,管道的两端是固定了任务的。即一端只能用于读,由描述字fd[0]表示,称其为管道读端;另一端则只能用于写,由描述字fd[1]来表示,称其为管道写端。如果试图从管道写端读取数据,或者向管道读端写入数据都将导致错误发生。一般文件的I/O函数都可以用于管道,如close、read、write等等。
从管道中读取数据:
5、Socket
socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。
The domain parameter specifies a communication domain; this selects the protocol family which will be used for communication. These families are defined in <sys/socket.h>. The currently understood formats include:
Name | Purpose | Man page |
PF_UNIX,PF_LOCAL | Local communication | unix(7) |
PF_INET | IPv4 Internet protocols | ip(7) |
PF_INET6 | IPv6 Internet protocols | |
PF_IPX | IPX - Novell protocols | |
PF_NETLINK | Kernel user interface device | netlink(7) |
PF_X25 | ITU-T X.25 / ISO-8208 protocol | x25(7) |
PF_AX25 | Amateur radio AX.25 protocol | |
PF_ATMPVC | Access to raw ATM PVCs | |
PF_APPLETALK | Appletalk | ddp(7) |
PF_PACKET | Low level packet interface | packet(7) |
The socket has the indicated type, which specifies the communication semantics. Currently defined types are:
Some socket types may not be implemented by all protocol families; for example,SOCK_SEQPACKET is not implemented for AF_INET.