第一部分简介  第1章简介2  1.1概述2  1.2进程、线程与信息共享3  1.3IPC对象的持续性4  1.4名字空间5  1.5fork、exec和exit对IPC对象的影响7  1.6出错处理:包裹函数8  1.7Unix标准9  1.8书中IPC例子索引表11  1.9小结13  习题13  第2章PosixIPC14  2.1概述14  2.2IPC名字14  2.3创建与打开IPC通道16  2.4IPC权限18  2.5小结19  习题19  第3章SystemVIPC20  .3.1概述20  3.2key_t键和ftok函数20  3.3ipc_perm结构22  3.4创建与打开IPC通道22  3.5IPC权限24  3.6标识符重用25  3.7ipcs和ipcrm程序27  3.8内核限制27  3.9小结28  习题29  第二部分消息传递  第4章管道和FIFO32  4.1概述32  4.2一个简单的客户-服务器例子32  4.3管道32  4.4全双工管道37  4.5popen和pclose函数39  4.6FIFO40  4.7管道和FIFO的额外属性44  4.8单个服务器,多个客户46  4.9对比迭代服务器与并发服务器50  4.10字节流与消息51  4.11管道和FIFO限制55  4.12小结56  习题57  第5章Posix消息队列58  5.1概述58  5.2mq_open、mq_close和mq_unlink函数59  5.3mq_getattr和mq_setattr函数61  5.4mq_send和mq_receive函数64  5.5消息队列限制67  5.6mq_notify函数68  5.7Posix实时信号78  5.8使用内存映射I/O实现Posix消息队列85  5.9小结101  习题101  第6章SystemV消息队列103  6.1概述103  6.2msgget函数104  6.3msgsnd函数104  6.4msgrcv函数105  6.5msgctl函数106  6.6简单的程序107  6.7客户-服务器例子112  6.8复用消息113  6.9消息队列上使用select和poll121  6.10消息队列限制122  6.11小结124  习题124  第三部分同步  第7章互斥锁和条件变量126  7.1概述126  7.2互斥锁:上锁与解锁126  7.3生产者-消费者问题127  7.4对比上锁与等待131  7.5条件变量:等待与信号发送132  7.6条件变量:定时等待和广播136  7.7互斥锁和条件变量的属性136  7.8小结139  习题139  第8章读写锁140  8.1概述140  8.2获取与释放读写锁140  8.3读写锁属性141  8.4使用互斥锁和条件变量实现读写锁142  8.5线程取消148  8.6小结153  习题153  第9章记录上锁154  9.1概述154  9.2对比记录上锁与文件上锁157  9.3Posixfcntl记录上锁158  9.4劝告性上锁162  9.5强制性上锁164  9.6读出者和写入者的优先级166  9.7启动一个守护进程的独一副本170  9.8文件作锁用171  9.9NFS上锁173  9.10小结173  习题174  第10章Posix信号量175  10.1概述175  10.2sem_open、sem_close和sem_  unlink函数179  10.3sem_wait和sem_trywait函数180  10.4sem_post和sem_getvalue函数180  10.5简单的程序181  10.6生产者-消费者问题186  10.7文件上锁190  10.8sem_init和sem_destroy函数191  10.9多个生产者,单个消费者193  10.10多个生产者,多个消费者19
2017/1/14 5:24:31 42.17MB 操作系统
1
本书以作者成功的软件设计和实现的经验系统地论述了使用C++语言进行并行与分布式编程的技术,对并行与分布式编程中固有的问题提出了多种处理方案。
本书的主要内容有:并发编程的乐趣;
并行和分布式编程的挑战;
将C++程序分成多个任务;
将C++程序分成多个线程;
任务间并发的同步;
通过PVM为C++增加并行编程能力;
错误处理、异常和软件可靠性;
C++分布式面向对象编程;
MPI与使用模板的SPMD和MPMD模型;
可视化并发和分布式系统设计;
设计支持并发的组件;
实现面向agent的体系结构;
使用PVM、线程和C++组件的黑板体系结构。
除此之外,本书还提供了包含Pthread线程库的新POSIX/UNIXIEEE标准,可供编程人员参考。
本书适合于计算机编程人员、软件开发人员、设计人员、研究人员和软件设计师阅读,也可作为希望使用C++进行并行与分布式软件开发的计算机专业学生的入门教材。
2016/1/19 20:50:48 63.94MB c++ multi-thread
1
Windows用户的初步说明gprbuild的构建说明可能具有轻微的UNIX风格,但可以在Windows平台上使用完整的Cygwin安装程序使用。
后者使构建gprbuild更为简单,但不需要使用它。
自举gprbuild需要gprbuild来构建...因此,如果您还没有安装gprbuild,并且您已经安装了GNAT,那么我们还提供了一种轻松引导的方法。
下载XML/Ada源(从),以及gprconfig知识库(从)。
运行bootstrap.sh脚本(为POSIX系统编写),指定安装位置以及XML/Ada和gprconfig_kb的源。
该脚本将构建并安装gprbuild。
例如,要构建gprbuild并将其安装到当前工作目录中的./bootstrap中,请运行:$./bootstrap.sh--with-xmlada=../xmlada--with-kb
2019/2/2 15:38:17 1.03MB Ada
1
POSIX2007edition
2019/3/11 9:21:27 9.37MB posix unix
1
实验目的Linux操作系统中shell是用户与系统内核沟通的中介,它为用户使用操作系统的服务提供了一个命令界面。
用户在shell提示符($或#)下输入的每一个命令都由shell先解释,然后传给内核执行。
本实验要求用C语言编写一个简单的shell程序,希望达到以下目的:用C语言编写清晰易读、设计优良的程序,并附有详细的文档。
熟悉使用Linux下的软件开发工具,例如gcc、gdb和make。
在编写系统应用程序时熟练使用man协助手册。
学习使用POSIX/UNIX系统调用、对进程进行管理和完成进程之间的通信,例如使用信号和管道进行进程间通信。
理解并发程序中的同步问题。
锻炼在团队成员之间的交流与合作能力。
2.实验要求1.ysh解释程序的重要特征本实验要实现一个简单的命令解释器,也就是Linux中的shell程序。
实验程序起名为ysh,要求其设计类似于目前流行的shell解释程序,如bash、csh、tcsh,但不需要具备那么复杂的功能。
ysh程序应当具有如下一些重要的特征:能够执行外部程序命令,命令可以带参数。
.。
能够执行fg、bg、cd、history、exit等内部命令。
使用管道和输入输出重定向。
支持前后台作业,提供作业控制功能,包括打印作业的清单,改变当前运行作业的前台/后台状态,以及控制作业的挂起、中止和继续运行。
除此之外,在这个实验中还须做到:使用make工具建立工程。
使用调试器gdb来调试程序。
提供清晰、详细的设计文档和解决方案。
2017/9/7 2:01:14 296KB shell程序
1
linux网络编程教学视频下载。
包含tcp/ip基础知识,socket网络编程,systemV信号量,systemv共享内存,posix音讯队列,posix共享内存
2017/5/18 14:16:31 47B linux socket
1
Linux/UNIX零碎编程接口权威巨著,无出其右;
涵盖500多个零碎调用和库函数;
示例清晰完整,解释巨细靡遗;
涵盖当前UNIX标准(POSIX.1-2001/SUSv3和POSIX.1-2008/SUSv4);
众多业内专家人士联袂推荐;
Linux/UNIX开发人员的案头必备,注定成为新的经典;
2020/1/11 16:48:49 182.09MB linux 系统编程
1
ACE自适配通信环境(AdaptiveCommunicationEnvironment)是一种面向对象(OO)的工具包,它实现了通信软件的许多基本的设计模式。
ACE的目标用户是在UNIX和Win32平台上开发高功能通信服务和应用的开发者。
ACE简化了使用进程间通信、事件多路分离、显式动态链接和并发的OO网络应用和服务的开发。
通过在运行时将服务与应用动态链接进应用,并在一个或多个进程或线程中执行这些服务,ACE使系统的配置和重配置得以自动化。
本论文描述ACE的结构和功能,并使用来自像电信、企业级医学成像和WWW服务这样的领域的例子阐释核心的ACE特性。
ACE可以自由使用,并正在被用于许多商业项目(比如爱立信、Bellcore、西门子、摩托罗拉、柯达,和McDonnellDouglas),以及许多学院和工业研究项目。
ACE已被移植到多种OS(操作系统)平台上,包括Win32和大多数的UNIX/POSIX实现。
此外,同时有C++和Java版本的ACE可用。
2015/2/27 11:45:36 5.72MB ACE 入门 中文 c++
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡