• 大小: 478KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-11
  • 语言: 其他
  • 标签: UNIX  Network  programming  C  

资源简介

《UNIX网络编程 卷2:进程间通信(英文版·第2版)》是一部UNIX网络编程的经典之作。进程间通信(IPC)几乎是所有Unix程序性能的关键,理解IPC也是理解如何开发不同主机间网络应用程序的必要条件。《UNIX网络编程 卷2:进程间通信(英文版·第2版)》从对Posix IPC和System V IPC的内部结构开始讨论,全面深入地介绍了4种IPC形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号量)、共享内存(匿名共享内存、具名共享内存)及远程过程调用(Solaris 门、Sun RPC)。 结合代码学习效果更佳。

资源截图

代码片段和文件信息

/* include bw_door1 */
#include “unpipc.h“

void reader(int int);
void writer(int);
void server(void * char * size_t door_desc_t * size_t);

void *buf;
int totalnbytes xfersize contpipe[2];

int
main(int argc char **argv)
{
int i nloop doorfd;
char c;
pid_t childpid;
ssize_t n;

if (argc != 5)
err_quit(“usage: bw_door  <#loops> <#mbytes> <#bytes/write>“);
nloop = atoi(argv[2]);
totalnbytes = atoi(argv[3]) * 1024 * 1024;
xfersize = atoi(argv[4]);

buf = Valloc(xfersize);
Touch(buf xfersize);

unlink(argv[1]);
Close(Open(argv[1] O_CREAT | O_EXCL | O_RDWR FILE_MODE));
Pipe(contpipe); /* assumes full-duplex SVR4 pipe */

if ( (childpid = Fork()) == 0) {
/* 4child = client = writer */
if ( (n = Read(contpipe[0] &c 1)) != 1)
err_quit(“child: pi

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4907  2009-11-02 11:10  UNIX网络编程(第2卷)\Readme.txt
     目录           0  2017-12-22 22:13  UNIX网络编程(第2卷)\unpv22e\
     文件        4845  1997-10-11 05:45  UNIX网络编程(第2卷)\unpv22e\aclocal.m4
     目录           0  2017-12-22 22:13  UNIX网络编程(第2卷)\unpv22e\bench\
     文件        2285  1998-05-01 06:32  UNIX网络编程(第2卷)\unpv22e\bench\bw_door.c
     文件        3081  1998-05-02 00:44  UNIX网络编程(第2卷)\unpv22e\bench\bw_lat.sh
     文件        1279  1998-06-10 07:49  UNIX网络编程(第2卷)\unpv22e\bench\bw_pipe.c
     文件        1532  1998-06-10 07:56  UNIX网络编程(第2卷)\unpv22e\bench\bw_pxmsg.c
     文件         274  2011-11-06 07:58  UNIX网络编程(第2卷)\unpv22e\bench\bw_sunrpc.x
     文件         866  1998-05-01 03:02  UNIX网络编程(第2卷)\unpv22e\bench\bw_sunrpc_client.c
     文件         292  1998-05-01 05:47  UNIX网络编程(第2卷)\unpv22e\bench\bw_sunrpc_server.c
     文件        1400  1998-06-10 07:58  UNIX网络编程(第2卷)\unpv22e\bench\bw_svmsg.c
     文件         198  1998-03-11 03:34  UNIX网络编程(第2卷)\unpv22e\bench\graph.1
     文件         421  1998-03-11 03:49  UNIX网络编程(第2卷)\unpv22e\bench\graph.2
     文件        4141  1998-03-22 01:08  UNIX网络编程(第2卷)\unpv22e\bench\incr.sh
     文件        1497  1998-03-17 02:56  UNIX网络编程(第2卷)\unpv22e\bench\incr_fcntl1.c
     文件        1475  1998-03-20 02:21  UNIX网络编程(第2卷)\unpv22e\bench\incr_fcntl5.c
     文件        1246  1998-03-17 01:13  UNIX网络编程(第2卷)\unpv22e\bench\incr_pxmutex0.c
     文件        1210  1998-03-17 01:13  UNIX网络编程(第2卷)\unpv22e\bench\incr_pxmutex1.c
     文件        1552  1998-06-10 08:23  UNIX网络编程(第2卷)\unpv22e\bench\incr_pxmutex5.c
     文件        1191  1998-03-17 01:13  UNIX网络编程(第2卷)\unpv22e\bench\incr_pxsem1.c
     文件        1338  1998-03-20 02:55  UNIX网络编程(第2卷)\unpv22e\bench\incr_pxsem2.c
     文件        1309  1998-03-20 02:21  UNIX网络编程(第2卷)\unpv22e\bench\incr_pxsem5.c
     文件        1452  1998-03-20 02:56  UNIX网络编程(第2卷)\unpv22e\bench\incr_pxsem6.c
     文件        1606  1998-03-20 05:52  UNIX网络编程(第2卷)\unpv22e\bench\incr_pxsem7.c
     文件        1631  1998-03-20 06:07  UNIX网络编程(第2卷)\unpv22e\bench\incr_pxsem8.c
     文件        1471  1998-03-20 06:27  UNIX网络编程(第2卷)\unpv22e\bench\incr_pxsem9.c
     文件        1585  1998-06-09 10:46  UNIX网络编程(第2卷)\unpv22e\bench\incr_rwlock1.c
     文件        1818  1998-06-09 10:53  UNIX网络编程(第2卷)\unpv22e\bench\incr_rwlock2.c
     文件        2016  1998-03-20 02:21  UNIX网络编程(第2卷)\unpv22e\bench\incr_rwlock5.c
     文件        1532  1998-03-17 01:13  UNIX网络编程(第2卷)\unpv22e\bench\incr_svsem1.c
............此处省略513个文件信息

评论

共有 条评论