书籍详情
实用UNIX编程
作者:(美)Kay A.Robbins,(美)Steven Robbins著;刘宗 等译
出版社:机械工业出版社
出版时间:1999-09-01
ISBN:9787111073819
定价:¥38.00
内容简介
本书提供了在UNIX环境下的编程技术,特别为进程管理、并发和通信中许多基本概念提供了编程指导。本书用大量实例和图示阐述了UNIX操作系统中的抽象概念,为UNIXC编程人员提供了很好的参考。本书可作为计算机专业本科生和研究生的教材或参考书,也可作为自学UNIX操作系统的参考书。
作者简介
暂缺《实用UNIX编程》作者简介
目录
目 录
译者序
前言
第一篇 基础知识
第1章 并发
1.1多道程序设计和多重任务处理
1.2应用层次上的并发
1.2.1中断
1.2.2信号
1.2.3输入和输出
1.2.4线程和资源共享
1.2.5分布式计算网络
1.3UNIX标准
1.4UNIX中的编程
1.5使函数安全
1.6练习:参数数组
1.7附加读物
第2章 程序和进程
2.1可执行程序的布局
2.2静态对象
2.3进程ID
2.4进程状态
2.5进程创建和UNIXfork
2.6wait系统调用
2.7exec系统调用
2.8后台进程和守护进程
2.9进程环境
2.10UNIX中的进程终止
2.11临界区
2.12练习:进程链
2.13练习:进程扇
2.13.1runsim的说明
2.13.2测试runsim程序
2.14练习:简单的biff
2.15练习:新闻biff
2.15.1Biffing一个单个文件
2.15.2列表对象的创建
2.16附加读物
第3章 文件
3.1目录和路径
3.1.1读取目录
3.1.2搜索路径
3.1.3UNIX文件系统
3.2UNIX的文件表示
3.2.1目录表示
3.2.2链接
3.3文件句柄表示
3.3.1文件描述符
3.3.2文件指针和缓冲
3.3.3文件描述符的继承
3.4过滤程序和重定向
3.5管道
3.6读和写文件
3.7非阻塞的I/O
3.8select调用
3.9FIFO
3.10特殊文件——音频设备
3.11练习:遍历目录
3.12练习:proc文件系统
3.13练习:音频
3.14练习:终端控制
3.15附加读物
第4章 工程:令牌环
4.1形成一个环
4.2简单通信
4.3令牌的互斥
4.4通过投票的互斥
4.5匿名环上的领袖选举
4.6用于通信的令牌环
4.7流水线预处理器
4.8并行令牌算法
4.8.1图像滤波
4.8.2矩阵乘法
4.9可伸缩环
4.10附加读物
第二篇 异步事件
第5章 信号
5.1发送信号
5.2信号屏蔽和信号集合
5.3sigaction函数
5.4pause函数和sigsuspend函数
5.5一个例子——biff
5.6系统调用和信号
5.7siglongjmp和sigsetjmp函数
5.8实时信号
5.9异步I/O
5.10练习统计运行时间
5.11练习文件系统二进程
5.12练习:假脱机一个“慢 设备
5.13附加读物
第6章 工程:计时器
6.1UNIX中的计时器
6.2间隔计时器
6.2.1Spec1170的间隔计时器
6.2.2POSIX的间隔计时器
6.3工程概述
6.4简单的计时器
6.5设置五个独立计时器中的一个
6.5.1mytimers对象
6.5.2hardware timer对象
6.5.3主程序的实现
6.5.4showall对象
6.6多计时器
6.6.1设置多计时器
6.6.2对多计时器进行测试
6.7多处理器的安全执行
6.8cron工具
6.9POSIX计时器实现
6.10附加读物
第7章 工程:解剖shell
7.1一个简单的shell
7.2重定向
7.3管道线
7.4信号
7.5进程组、会议和控制终端
7.6在ush中处理后台进程
7.7作业控制
7.8ush的作业控制
7.8.1作业列表对象
7.8.2ush的作业列表
7.8.3ush中的作业控制
7.9附加读物
第三篇 并发
第8章 临界区和信号量
8.1原子操作
8.2信号量
8.2.1用TestAndSet实现信号量
8.2.2无须“忙等待”信号量
8.2.3AND同步机制
8.3POSIX信号量
8.3.1无名信号量的初始化
8.3.2POSIX信号量操作
8.3.3有名信号量
8.4系统V中的信号量
8.4.1信号量集
8.4.2信号量创建
8.4.3系统V信号量操作
8.4.4信号量控制
8.4.5信号量状态
8.5信号量和信号
8.6练习:POSIX无名信号量
8.7练习:POSIX有名信号量
8.8练习:许可权管理
8.9练习:系统V共享存储器
8.9.1系统V共享存储器的综述
8.9.2软管道实现的规格说明
8.10练习:系统V消息队列
8.11附加读物
第9章 POSIX线程
9.1问题的引出:监视文件描述符
9.1.1简单轮询
9.1.2消除忙等的异步I/O
9.1.3使用select来消除忙等
9.1.4使用po11来消除忙等
9.1.5多线程
9.2POSIX线程
9.3基本线程管理
9.4用户线程与内核线程
9.5线程属性
9.6练习:并行文件拷贝
9.7附加读物
第10章 线程同步
10.1互斥
10.2信号量
10.3条件变量
10.4信号处理和线程
10.5练习:线程化打印服务
10.6附加读物
第11章 工程:简化的并行虚拟机
11.1简化的并行虚拟机
11.2NTPVM 工程概貌
11.2.1START TASK 包
11.2.2DATA包
11.2.3DONE包
11.3分派程序的I/O和测试
11.4无输入的单任务
11.5顺序任务
11.5.1版本A:非线程分派程序的实现
11.5.2版本B:线程分派程序的实现
11.6并发任务
11.6.1版本A:用select和po11来实现
11.6.2版本B:用线程来实现
11.7广播和BARRIER
11.8Terminate和Signals
11.9附加读物
第四篇 通信
第12章 客户机/服务器通信
12.1客户机/服务器策略
12.2通用Internet通信接口
12.2.1UICI服务器
12.2.2UICI客户机
12.2.3UICI实现
12.3网络通信
12.4UICI的套接口实现
12.5传输层接口
12.6流
12.7UICI的流实现
12.8UICI的线程安全
12.9练习:音频传输
12.10练习:Ping服务器
12.11附加读物
第13章 工程:Internet广播
13.1多路传输概述
13.2单向通信
13.3双向通信
13.4传输缓冲区
13.5多路传输缓冲区
13.6网络接收器
13.7收听与关闭
13.8网络广播者
13.9信号处理
13.10附加读物
第14章 远程过程调用
14.1基本操作
14.2将简单局域调用转换为RPC
14.3改进的远程伪随机数服务
14.4服务状态与有效请求
14.5远程有效文件服务
14.6联编与命名服务
14.7失败
14.8NFS——网络文件系统
14.9线程与远程过程调用
14.10练习:无状态文件服务
14.11附加读物
第15章 工程:元组空间
15.1Linda语言
15.2Richard:一种简化的Linda语言
15.3简单的Richard元组空间
15.3.1元组数据结构
15.3.2表示元组空间
15.3.3元组空间操作
15.3.4转换为远程服务器
15.4黑板:一个元组空间应用
15.4.1n皇后问题
15.4.2贪婪回溯算法
15.4.3黑板与agent
15.5Richard中的活动元组
15.5.1简化的设计
15.5.2与eval的通信
15.6以元组空间作为Richard中的元组
15.7Richard多线程服务器
15.8附加读物
第五篇 附录
附录A UNIX基础
A.1获得帮助
A.1.1系统调用与C库函数
A.1.2UNIX命令与实用程序
A.1.3与man相关的命令
A.2编译
A.3Makefiles
A.4头文件
A.5链接与库
A.6调试帮助
A.7用户环境
A.8附加读物
附录B UICI实现
B.1UICI原型
B.2Socket实现
B.3TLI实现
B.4流实现
B.5线程安全UICI实现
译者序
前言
第一篇 基础知识
第1章 并发
1.1多道程序设计和多重任务处理
1.2应用层次上的并发
1.2.1中断
1.2.2信号
1.2.3输入和输出
1.2.4线程和资源共享
1.2.5分布式计算网络
1.3UNIX标准
1.4UNIX中的编程
1.5使函数安全
1.6练习:参数数组
1.7附加读物
第2章 程序和进程
2.1可执行程序的布局
2.2静态对象
2.3进程ID
2.4进程状态
2.5进程创建和UNIXfork
2.6wait系统调用
2.7exec系统调用
2.8后台进程和守护进程
2.9进程环境
2.10UNIX中的进程终止
2.11临界区
2.12练习:进程链
2.13练习:进程扇
2.13.1runsim的说明
2.13.2测试runsim程序
2.14练习:简单的biff
2.15练习:新闻biff
2.15.1Biffing一个单个文件
2.15.2列表对象的创建
2.16附加读物
第3章 文件
3.1目录和路径
3.1.1读取目录
3.1.2搜索路径
3.1.3UNIX文件系统
3.2UNIX的文件表示
3.2.1目录表示
3.2.2链接
3.3文件句柄表示
3.3.1文件描述符
3.3.2文件指针和缓冲
3.3.3文件描述符的继承
3.4过滤程序和重定向
3.5管道
3.6读和写文件
3.7非阻塞的I/O
3.8select调用
3.9FIFO
3.10特殊文件——音频设备
3.11练习:遍历目录
3.12练习:proc文件系统
3.13练习:音频
3.14练习:终端控制
3.15附加读物
第4章 工程:令牌环
4.1形成一个环
4.2简单通信
4.3令牌的互斥
4.4通过投票的互斥
4.5匿名环上的领袖选举
4.6用于通信的令牌环
4.7流水线预处理器
4.8并行令牌算法
4.8.1图像滤波
4.8.2矩阵乘法
4.9可伸缩环
4.10附加读物
第二篇 异步事件
第5章 信号
5.1发送信号
5.2信号屏蔽和信号集合
5.3sigaction函数
5.4pause函数和sigsuspend函数
5.5一个例子——biff
5.6系统调用和信号
5.7siglongjmp和sigsetjmp函数
5.8实时信号
5.9异步I/O
5.10练习统计运行时间
5.11练习文件系统二进程
5.12练习:假脱机一个“慢 设备
5.13附加读物
第6章 工程:计时器
6.1UNIX中的计时器
6.2间隔计时器
6.2.1Spec1170的间隔计时器
6.2.2POSIX的间隔计时器
6.3工程概述
6.4简单的计时器
6.5设置五个独立计时器中的一个
6.5.1mytimers对象
6.5.2hardware timer对象
6.5.3主程序的实现
6.5.4showall对象
6.6多计时器
6.6.1设置多计时器
6.6.2对多计时器进行测试
6.7多处理器的安全执行
6.8cron工具
6.9POSIX计时器实现
6.10附加读物
第7章 工程:解剖shell
7.1一个简单的shell
7.2重定向
7.3管道线
7.4信号
7.5进程组、会议和控制终端
7.6在ush中处理后台进程
7.7作业控制
7.8ush的作业控制
7.8.1作业列表对象
7.8.2ush的作业列表
7.8.3ush中的作业控制
7.9附加读物
第三篇 并发
第8章 临界区和信号量
8.1原子操作
8.2信号量
8.2.1用TestAndSet实现信号量
8.2.2无须“忙等待”信号量
8.2.3AND同步机制
8.3POSIX信号量
8.3.1无名信号量的初始化
8.3.2POSIX信号量操作
8.3.3有名信号量
8.4系统V中的信号量
8.4.1信号量集
8.4.2信号量创建
8.4.3系统V信号量操作
8.4.4信号量控制
8.4.5信号量状态
8.5信号量和信号
8.6练习:POSIX无名信号量
8.7练习:POSIX有名信号量
8.8练习:许可权管理
8.9练习:系统V共享存储器
8.9.1系统V共享存储器的综述
8.9.2软管道实现的规格说明
8.10练习:系统V消息队列
8.11附加读物
第9章 POSIX线程
9.1问题的引出:监视文件描述符
9.1.1简单轮询
9.1.2消除忙等的异步I/O
9.1.3使用select来消除忙等
9.1.4使用po11来消除忙等
9.1.5多线程
9.2POSIX线程
9.3基本线程管理
9.4用户线程与内核线程
9.5线程属性
9.6练习:并行文件拷贝
9.7附加读物
第10章 线程同步
10.1互斥
10.2信号量
10.3条件变量
10.4信号处理和线程
10.5练习:线程化打印服务
10.6附加读物
第11章 工程:简化的并行虚拟机
11.1简化的并行虚拟机
11.2NTPVM 工程概貌
11.2.1START TASK 包
11.2.2DATA包
11.2.3DONE包
11.3分派程序的I/O和测试
11.4无输入的单任务
11.5顺序任务
11.5.1版本A:非线程分派程序的实现
11.5.2版本B:线程分派程序的实现
11.6并发任务
11.6.1版本A:用select和po11来实现
11.6.2版本B:用线程来实现
11.7广播和BARRIER
11.8Terminate和Signals
11.9附加读物
第四篇 通信
第12章 客户机/服务器通信
12.1客户机/服务器策略
12.2通用Internet通信接口
12.2.1UICI服务器
12.2.2UICI客户机
12.2.3UICI实现
12.3网络通信
12.4UICI的套接口实现
12.5传输层接口
12.6流
12.7UICI的流实现
12.8UICI的线程安全
12.9练习:音频传输
12.10练习:Ping服务器
12.11附加读物
第13章 工程:Internet广播
13.1多路传输概述
13.2单向通信
13.3双向通信
13.4传输缓冲区
13.5多路传输缓冲区
13.6网络接收器
13.7收听与关闭
13.8网络广播者
13.9信号处理
13.10附加读物
第14章 远程过程调用
14.1基本操作
14.2将简单局域调用转换为RPC
14.3改进的远程伪随机数服务
14.4服务状态与有效请求
14.5远程有效文件服务
14.6联编与命名服务
14.7失败
14.8NFS——网络文件系统
14.9线程与远程过程调用
14.10练习:无状态文件服务
14.11附加读物
第15章 工程:元组空间
15.1Linda语言
15.2Richard:一种简化的Linda语言
15.3简单的Richard元组空间
15.3.1元组数据结构
15.3.2表示元组空间
15.3.3元组空间操作
15.3.4转换为远程服务器
15.4黑板:一个元组空间应用
15.4.1n皇后问题
15.4.2贪婪回溯算法
15.4.3黑板与agent
15.5Richard中的活动元组
15.5.1简化的设计
15.5.2与eval的通信
15.6以元组空间作为Richard中的元组
15.7Richard多线程服务器
15.8附加读物
第五篇 附录
附录A UNIX基础
A.1获得帮助
A.1.1系统调用与C库函数
A.1.2UNIX命令与实用程序
A.1.3与man相关的命令
A.2编译
A.3Makefiles
A.4头文件
A.5链接与库
A.6调试帮助
A.7用户环境
A.8附加读物
附录B UICI实现
B.1UICI原型
B.2Socket实现
B.3TLI实现
B.4流实现
B.5线程安全UICI实现
猜您喜欢