图书介绍

UNIX程序设计教程【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

UNIX程序设计教程
  • 赵克佳等编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7302043418
  • 出版时间:2001
  • 标注页数:567页
  • 文件大小:80MB
  • 文件页数:581页
  • 主题词:UNIX操作系统(学科: 程序设计) UNIX操作系统 程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

UNIX程序设计教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 UNIX导论1

1.1 UNIX简史1

1.1.1 UNIX的诞生1

前言页1

1.1.2 UNIX的早期发展2

1.1.3 BSD UNIX3

1.1.4 系统V UNIX4

1.1.5 UNIX的商业化4

1.2.1 SVID5

1.2 标准5

1.2.2 POSIX6

1.2.3 X/Open6

1.2.4 C标准8

1.3 UNIX基本概念8

1.3.1 程序和进程8

1.3.2 内核10

1.3.3 shell11

1.3.4 特权用户12

1.3.5 系统调用与库函数13

1.4 C库15

1.4.1 头文件15

1.4.2 保留字17

1.4.3 特征测试宏18

1.5 系统信息19

1.5.1 机器标识19

1.5.2 硬件/软件类型识别21

1.6.1 一般能力限制值22

1.6 系统能力限制22

1.6.2 系统和文件特征选项26

1.6.3 sysconf,pathcon和fpathconf函数28

1.7 错误处理32

第2章 标准输入输出37

2.1 输入/输出基本概念37

2.2 流和FILE对象39

2.3 打开和关闭流40

2.4.1 字符I/O43

2.4 读和写流43

2.4.2 行I/O45

2.4.3 读回退49

2.4.4 块I/O50

2.5 文件定位52

2.6 文件结束和错误57

2.7 流缓冲58

2.8.1 格式输出64

2.8 格式I/O64

2.8.2 格式输入70

2.9 临时文件75

第3章 低级输入/输出79

3.1 文件描述字79

3.2 open、creat和close函数80

3.3 文件输入输出84

3.3.1 read函数84

3.3.2 write函数85

3.4 设置描述字的文件位置87

3.5 dup和dup2函数90

3.6 fdopen和fileno91

3.7 文件控制函数fcntl92

3.7.1 重复文件描述字93

3.7.2 文件描述字标签94

3.7.3 文件状态标签95

3.8 非阻塞I/O99

第4章 文件与目录102

4.1 文件102

4.1.1 stat、fstat、lstat函数103

4.2 文件类型105

4.2.1 普通文件105

4.2.2 目录106

4.2.3 链接与link函数106

4.2.4 符号链接与symlink和readlink函数108

4.2.5 特别文件110

4.2.6 测试文件的类型112

4.3 文件的用户和用户组113

4.3.1 chown、fchown和lchown函数116

4.4.1 文件访问权限118

4.4 文件方式118

4.4.2 调整用户ID和调整组ID121

4.4.3 sticky位122

4.4.4 文件方式位小结123

4.5 确定和改变文件方式124

4.5.1 umask函数125

4.5.2 chmod和fchmod函数126

4.5.3 access函数128

4.6 文件大小130

4.6.1 截断文件132

4.7 文件时间134

4.7.1 utime和utimes函数135

4.8 文件的删除与换名138

4.8.1 删除文件和目录138

4.8.2 文件改名140

4.9 目录操作142

4.9.1 工作目录142

4.9.2 创建目录145

4.9.3 读目录流146

4.9.4 对目录流的随机访问149

第5章 UNIX进程环境151

5.1 main函数151

5.2 命令行参数151

5.2.1 命令行参数的语法约定152

5.2.2 扫描命令行参数中的选项153

5.3 环境变量156

5.3.1 环境表156

5.3.2 访问环境158

5.4 终止进程160

5.4.1 出口状态160

5.4.2 终止前的清理161

5.4.3 流产程序162

5.5 存储分配163

5.5.1 进程的地址空间164

5.5.2 简单存储分配165

5.5.3 释放分配的存储单元168

5.5.4 其他存储分配函数169

5.6 setjmp和longump函数170

5.7.1 查看与设置资源限制175

5.7 进程资源175

5.7.2 资源使用统计178

5.7.3 进程优先权179

5.8 用户信息183

5.8.1 用户名183

5.8.2 用户数据基185

5.8.3 组数据基188

6.1 进程创建193

第6章 进程控制193

6.2 执行一个新程序199

6.3 等待进程完成204

6.4 进程终止与僵死进程210

6.5 system函数214

6.6 进程组217

6.7 会晤期219

6.8 控制终端220

6.9 作业控制222

6.9.1 作业控制的概念223

6.9.2 实现作业控制的shell224

6.9.3 示例shell中用到的数据结构226

6.9.4 shell的初始化227

6.9.5 发送作业228

6.9.6 放置作业于前台或后台231

6.9.7 暂停的和终止的作业233

6.9.8 继续被暂停的作业235

6.10 进程的用户身份236

6.10.1 调整进程的身份238

第7章 日期与时间246

7.1 处理机时间246

7.1.1 clock函数246

7.1.2 times函数248

7.2 定时与睡眠252

7.2.1 设置定时器252

7.2.2 睡眠256

7.3 日历时间256

7.3.1 取系统时间257

7.3.2 高分辨率时间函数258

7.3.3 分解的日历时间260

7.3.4 格式化日期与时间263

7.4 时区267

7.4.1 用TZ环境变量指定时区267

7.4.2 Tzset函数与相关的变量269

第8章 信号处理270

8.1 信号概念270

8.2 UNIX信号273

8.2.1 程序错误类信号274

8.2.2 程序中止类信号275

8.2.3 闹钟类信号277

8.2.4 I/O类信号277

8.2.5 作业控制类信号277

8.2.6 操作错误类信号279

8.2.7 其他信号279

8.2.8 sys-siglist[]数组与psignal函数280

8.3.1 signal函数282

8.3 指定和改变信号的动作282

8.3.2 进程初启时的信号动作285

8.3.3 不可靠信号286

8.3.4 sigaction函数287

8.4 信号句柄292

8.4.1 正常返回的信号句柄292

8.4.2 终止进程的句柄293

8.5 生成信号294

8.5.1 raise函数294

8.5.2 kill函数295

8.6 阻塞信号297

8.6.1 信号集操作298

8.6.2 信号屏蔽299

8.6.3 检查悬挂信号302

8.7 等待信号304

8.7.1 pause函数304

8.7.2 sigsuspend函数305

8.8 使用分开的信号栈308

8.9 信号句柄编程技巧312

8.9.1 句柄内非局部控制转移313

8.9.2 可重入函数317

8.9.3 紧相邻的多个信号319

8.9.4 被信号中断了的系统调用322

8.9.5 原子数据访问324

8.10 SA_SIGINFO标志326

第9章 低级终端I/O332

9.1 需要改变终端调置的例子332

9.2.1 终端I/O的历史335

9.2 低级终端I/O基础335

9.2.2 终端硬件模式336

9.2.3 异步串行通信337

9.2.4 加工和非加工输入方式339

9.2.5 输入输出队列339

9.2.6 流控制341

9.3 POSIX.1 GTI控制界面341

9.3.1 termios数据结构341

9.3.2 GTI控制函数343

9.4.1 输入方式344

9.4 终端属性标志344

9.4.2 输出方式346

9.4.3 控制方式347

9.4.4 局部方式348

9.4.5 特殊字符350

9.4.6 stty命令353

9.5 终端标识354

9.6 获取和设置终端属性358

9.8 非加工方式输入362

9.7 加工方式输入362

9.9 设置波特率369

9.10 行控制函数370

9.11 串行端口程序设计373

第10章 高级I/O377

10.1 文件锁377

10.1.1 fcntl文件锁操作378

10.1.2 锁的请求、释放和测试381

10.1.3 文件锁与进程和文件的关系389

10.1.4 死锁390

10.1.5 建议锁与强制锁392

10.2 流394

10.2.1 流概貌394

10.2.2 流消息类型和优先级397

10.2.3 访问流399

10.2.4 流控制操作函数ioctl402

10.3 信号驱动的I/O404

10.4 多路转接I/O406

10.4.1 select函数407

10.4.2 poll410

10.5 异步I/O412

10.5.1 异步I/O控制块413

10.5.2 指定信号414

10.5.3 异步I/O函数414

10.5.4 异步I/O之例417

10.6 I/O方式小结420

10.7 readv和writev424

10.8 存储映射I/O425

11.1 管道433

第11章 进程间通信433

11.1.1 创建管道434

11.1.2 父子进程间管道通信435

11.1.3 连接标准输入和标准输出的管道440

11.1.4 popen和pclose函数441

11.1.5 管道I/O的原子性443

11.2 FIFL特别文件443

11.2.1 创建FIFO444

11.2.2 FIFO操作446

11.2.3 FIFO用于客户/服务通信450

11.3 系统V IPC455

11.3.1 关键字和标识456

11.3.2 ipc-perm结构457

11.3.3 ipcs和ipcrm命令458

11.4 消息队列459

11.4.1 初始化消息队列464

11.4.2 控制消息队列464

11.4.3 发送和接收消息467

11.5 信号量471

11.5.1 信号量的初始化473

11.5.2 信号量控制475

11.5.3 信号量操作478

11.6 共享存储483

11.6.1 共享存储段的访问和控制484

11.6.2 共享存储段的连接和分离487

12.1 套接字493

12.1.1 套接字的域、类型和协议493

第12章 套接字与网络通信493

12.1.2 创建套接字495

12.1.3 关闭套接字498

12.2 套接字地址499

12.2.1 主机的IP地址499

12.2.2 主机名502

12.2.3 服务与端口号506

12.2.4 套接字地址数据结构509

12.3 字节顺序511

12.4 协议数据库513

12.5 命名套接字516

12.6 套接字通信模式519

12.7 流套接字操作521

12.7.1 请求连接522

12.7.2 接收连接524

12.7.3 多客户528

12.7.4 getsockname和getpeername534

12.7.5 send和recv537

12.8 套接字选项539

12.9.1 TCP带外数据541

12.9 带外数据541

12.9.2 带外数据的发送和接收543

12.9.3 带外数据标志547

12.10 数据报套接字操作550

12.10.1 sendto和recvrfom551

12.10.2 数据报套接字客户/服务之例552

12.10.3 使用connect558

12.11 超时处理559

附录 函数索引562

热门推荐