王朝百科
分享
 
 
 

UNIX环境高级编程

王朝百科·作者佚名  2010-04-22  
宽屏版  字体: |||超大  

UNIX环境高级编程

版权信息丛书名: 图灵计算机科学丛书

作者: (美)史蒂文斯,(美)拉戈 著,尤晋元,张亚英,戚正伟 译

出 版 社: 人民邮电出版社

出版时间: 2006-5-1

字数: 1271000

页数: 758

开本: 16

I S B N : 9787115147318

分类: 图书 >> 计算机/网络 >> 操作系统/系统开发 >> UNIX Solaris

定价:¥99.00

内容简介本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。

本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。

作者简介

W.Richard Stevens,备受赞誉的技术作家,生前著有多种经典的传世之作,包括《UNIX网络编程》(两卷本)、《TCP/IP详解》(三卷本)和本书第1版。

尤晋元,上海交通大学计算机科学及工程系教授、博士生导师。在科研方面,主要从事操作系统和分布对象计算技术方面的研究;在教学方面,长期承担操作系统及分布计算等课程的教学工作。主编和翻译了多本操作系统教材和参考书,包括《UNIX操作系统教程》、《UNIX高级编程技术》、《UNIX环境高级编程》和《操作系统:设计与实现》等。

图书目录第1章UNIX基础知识1

1.1引言1

1.2UNIX体系结构1

1.3登录1

1.4文件和目录3

1.5输入和输出6

1.6程序和进程8

1.7出错处理10

1.8用户标识12

1.9信号14

1.10时间值15

1.11系统调用和库函数16

1.12小结17

习题18

第2章UNIX标准化及实现19

2.1引言19

2.2UNIX标准化19

2.2.1ISO C19

2.2.2IEEE POSIX20

2.2.3Single UNIX Specification25

2.2.4FIPS26

2.3UNIX系统实现26

2.3.1SVR426

2.3.24.4BSD27

2.3.3FreeBSD27

2.3.4Linux27

2.3.5Mac OS X28

2.3.6Solaris28

2.3.7其他UNIX系统28

2.4标准和实现的关系28

2.5限制29

2.5.1ISO C限制29

2.5.2POSIX限制30

2.5.3XSI限制32

2.5.4sysconf、pathconf和fpathconf函数32

2.5.5不确定的运行时限制38

2.6选项42

2.7功能测试宏44

2.8基本系统数据类型45

2.9标准之间的冲突45

2.10小结46

习题46

第3章文件I/O47

3.1引言47

3.2文件描述符47

3.3open函数48

3.4creat函数49

3.5close函数50

3.6lseek函数50

3.7read函数53

3.8write函数54

3.9I/O的效率54

3.10文件共享56

3.11原子操作59

3.12dup和dup2函数60

3.13sync、fsync和fdatasync函数61

3.14fcntl函数62

3.15ioctl函数66

3.16/dev/fd67

3.17小结68

习题68

第4章文件和目录71

4.1引言71

4.2stat、fstat和lstat函数71

4.3文件类型72

4.4设置用户ID和设置组ID74

4.5文件访问权限75

4.6新文件和目录的所有权77

4.7access函数77

4.8umask函数79

4.9chmod和fchmod函数81

4.10粘住位83

4.11chown、fchown和lchown函数84

4.12文件长度85

4.13文件截短86

4.14文件系统86

4.15link、unlink、remove和rename函数89

4.16符号链接91

4.17symlink和readlink函数94

4.18文件的时间94

4.19utime函数95

4.20mkdir和rmdir函数97

4.21读目录98

4.22chdir、fchdir和getcwd函数102

4.23设备特殊文件104

4.24文件访问权限位小结106

4.25小结106

习题107

第5章标准I/O库109

5.1引言109

5.2流和FILE对象109

5.3标准输入、标准输出和标准出错110

5.4缓冲110

5.5打开流112

5.6读和写流114

5.7每次一行I/O116

5.8标准I/O的效率117

5.9二进制I/O119

5.10定位流120

5.11格式化I/O121

5.12实现细节125

5.13临时文件127

5.14标准I/O的替代软件130

5.15小结130

习题130

第6章系统数据文件和信息133

6.1引言133

6.2口令文件133

6.3阴影口令136

6.4组文件137

6.5附加组ID138

6.6实现的区别139

6.7其他数据文件139

6.8登录账户记录140

6.9系统标识141

6.10时间和日期例程142

6.11小结146

习题146

第7章进程环境147

7.1引言147

7.2main函数147

7.3进程终止147

7.4命令行参数151

7.5环境表152

7.6C程序的存储空间布局152

7.7共享库154

7.8存储器分配154

7.9环境变量157

7.10setjmp和longjmp函数159

7.11getrlimit和setrlimit函数164

7.12小结168

习题168

第8章进程控制171

8.1引言171

8.2进程标识符171

8.3fork函数172

8.4vfork函数176

8.5exit函数178

8.6wait和waitpid函数179

8.7waitid函数183

8.8wait3和wait4函数184

8.9竞争条件185

8.10exec函数188

8.11更改用户ID和组ID192

8.12解释器文件196

8.13system函数200

8.14进程会计203

8.15用户标识208

8.16进程时间208

8.17小结210

习题211

第9章进程关系213

9.1引言213

9.2终端登录213

9.3网络登录216

9.4进程组218

9.5会话219

9.6控制终端220

9.7tcgetpgrp、tcsetpgrp和tcgetsid函数221

9.8作业控制222

9.9shell执行程序225

9.10孤儿进程组228

9.11FreeBSD实现230

9.12小结231

习题232

第10章信号233

10.1引言233

10.2信号概念233

10.3signal函数240

10.4不可靠的信号242

10.5中断的系统调用244

10.6可重入函数246

10.7SIGCLD语义248

10.8可靠信号术语和语义250

10.9kill和raise函数251

10.10alarm和pause函数252

10.11信号集256

10.12sigprocmask函数258

10.13sigpending函数259

10.14sigaction函数261

10.15sigsetjmp和siglongjmp函数266

10.16sigsuspend函数268

10.17abort函数274

10.18system函数276

10.19sleep函数280

10.20作业控制信号282

10.21其他特征284

10.22小结285

习题285

第11章线程287

11.1引言287

11.2线程概念287

11.3线程标识288

11.4线程的创建288

11.5线程终止291

11.6线程同步297

11.7小结311

习题311

第12章线程控制313

12.1引言313

12.2线程限制313

12.3线程属性314

12.4同步属性318

12.5重入324

12.6线程私有数据328

12.7取消选项331

12.8线程和信号333

12.9线程和fork336

12.10线程和I/O339

12.11小结340

习题340

第13章守护进程341

13.1引言341

13.2守护进程的特征341

13.3编程规则342

13.4出错记录345

13.5单实例守护进程348

13.6守护进程的惯例350

13.7客户进程-服务器进程模型354

13.8小结354

习题354

第14章高级I/O355

14.1引言355

14.2非阻塞I/O355

14.3记录锁357

14.4STREAMS370

14.5I/O多路转接379

14.5.1select和pselect函数381

14.5.2poll函数384

14.6异步I/O386

14.6.1系统V异步I/O386

14.6.2BSD异步I/O387

14.7readv和writev函数387

14.8readn和writen函数389

14.9存储映射I/O390

14.10小结395

习题396

第15章进程间通信397

15.1引言397

15.2管道398

15.3popen和pclose函数403

15.4协同进程408

15.5FIFO412

15.6XSI IPC415

15.6.1标识符和键415

15.6.2权限结构416

15.6.3结构限制417

15.6.4优点和缺点417

15.7消息队列418

15.8信号量422

15.9共享存储427

15.10客户进程-服务器进程属性432

15.11小结434

习题434

第16章网络IPC:套接字437

16.1引言437

16.2套接字描述符437

16.3寻址439

16.3.1字节序440

16.3.2地址格式441

16.3.3地址查询442

16.3.4将套接字与地址绑定449

16.4建立连接450

16.5数据传输452

16.6套接字选项464

16.7带外数据466

16.8非阻塞和异步I/O467

16.9小结468

习题468

第17章高级进程间通信469

17.1引言469

17.2基于STREAMS的管道469

17.2.1命名的STREAMS管道472

17.2.2唯一连接473

17.3UNIX域套接字476

17.3.1命名UNIX域套接字477

17.3.2唯一连接478

17.4传送文件描述符482

17.4.1经由基于STREAMS的管道传送文件描述符484

17.4.2经由UNIX域套接字传送文件描述符486

17.5open服务器版本1493

17.6open服务器版本2498

17.7小结505

习题505

第18章终端I/O507

18.1引言507

18.2综述507

18.3特殊输入字符512

18.4获得和设置终端属性516

18.5终端选项标志516

18.6stty命令522

18.7波特率函数523

18.8行控制函数524

18.9终端标识524

18.10规范模式529

18.11非规范模式532

18.12终端的窗口大小537

18.13termcap,terminfo和curses539

18.14小结540

习题540

第19章伪终端541

19.1引言541

19.2概述541

19.3打开伪终端设备544

19.3.1基于STREAMS的伪终端547

19.3.2基于BSD的伪终端549

19.3.3基于Linux的伪终端551

19.4pty_fork函数553

19.5pty程序555

19.6使用pty程序559

19.7高级特性564

19.8小结565

习题565

第20章数据库函数库567

20.1引言567

20.2历史567

20.3函数库568

20.4实现概述569

20.5集中式或非集中式572

20.6并发574

20.7构造函数库574

20.8源代码575

20.9性能598

20.10小结600

习题601

第21章与网络打印机通信603

21.1引言603

21.2网络打印协议603

21.3超文本传输协议605

21.4打印假脱机技术605

21.5源代码607

21.6小结644

习题645

附录A函数原型647

附录B其他源代码677

附录C部分习题答案685

参考书目709

索引715

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有