当前位置:首页 > 工业技术
UNIX平台下C语言编程
UNIX平台下C语言编程

UNIX平台下C语言编程PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:喻志虎编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2001
  • ISBN:7302047952
  • 页数:427 页
图书介绍:
《UNIX平台下C语言编程》目录

第1章 UNIX基础 1

1.1 登录 2

1.2 shell 3

1.3 文件和目录 4

1.3.1 文件系统 4

1.3.2 目录层次 6

1.3.3 设备 8

1.4 I/O 10

1.4.1 文件描述符(file descriptor) 10

1.4.2 I/O 11

1.5 进程(process) 14

1.5.1 什么是进程 14

1.5.2 进程标识号 14

1.5.3 一个进程控制的实例 14

1.6.2 进程对信号的处理 16

1.6.1 什么是信号 16

1.6 信号(signal) 16

1.6.3 一个关于信号的实例 17

1.7 UNIX标准 18

1.7.1 ANSIC 18

1.7.2 POSIX 23

1.7.3 XPG3/4 26

1.7.4 UNIX标准的未来 27

第2章 文件系统与文件I/O 29

2.1 文件系统构造 30

2.1.1 第二代扩展文件系统(EXT2) 30

2.1.2 索引节点(inode) 32

2.1.3 超块(super block) 34

2.1.4 组标志符 35

2.1.5 目录和目录项 35

2.1.6 文件定位 37

2.1.7 改变文件系统中文件的大小 37

2.1.8 虚拟文件系统(VFS) 38

2.2 文件I/O 40

2.2.1 文件描述符 40

2.2.2 open函数 40

2.2.3 create函数 44

2.2.4 read函数 45

2.2.5 write函数 46

2.2.6 lseek函数 47

2.2.7 close函数 50

2.2.8 dup和dup2函数 51

2.2.9 fcntl函数 51

2.2.10 ioctl函数 54

2.3 文件系统或I/O其他相关主题 55

2.3.1 系统数据文件 55

2.3.2 登录记帐 59

2.3.3 系统标识 59

2.3.4 时间和日期 59

第3章 高级文件操作 63

3.1 文件类型与文件模式 64

3.1.1 文件类型 64

3.1.2 文件模式 64

3.2 目录项属性 65

3.2.1 stat/fstat/lstat函数 65

3.3 目录读取 68

3.3.1 opendir/readdir/closedir函数 68

3.3.2 rewinddir/seekdir/telldir/scandir函数 69

3.4 文件和目录的访问许可 70

3.4.1 access函数 70

3.4.3 chmod/fchmod函数 73

3.4.4 黏着位(sticky bit) 74

3.4.5 chown/fchown/lchown函数 74

3.5 目录及目录项操作 75

3.5.1 truncate/ftruncate函数 75

3.5.2 link/symlink函数 76

3.5.3 unlink函数 79

3.5.4 mkdir/rmdir/mknod函数 80

3.5.5 remove/rename函数 83

3.5.6 readlink函数 84

3.5.7 chdir/fchdir/getcwd函数 84

3.5.8 utime函数 85

3.6 其他 87

3.6.1 特殊设备文件 87

3.6.2 sync和fsync函数 88

3.6.3 mount和umount函数 89

第4章 高级I/O 91

4.1 直接I/O端口读写 92

4.2 非阻塞I/O 93

4.3 记录锁定 95

4.3.1 概念 95

4.3.2 fcntl锁 95

4.3.3 锁的继承和释放 98

4.3.4 建议锁与强制锁 99

4.4 I/O多工 102

4.4.1 基本概念 102

4.4.2 select和poll函数 103

4.5 内存映射 109

4.5.1 基本概念 109

4.5.2 mmap/unmmap函数 109

第5章 进程 113

5.1 基本概念 114

5.1.1 进程的定义 114

5.1.2 进程状态 114

5.2 进程环境 116

5.2.1 main函数 116

5.2.2 命令行参数及popt库 118

5.2.3 环境变量 121

5.2.4 C程序的内存布局 123

5.2.5 共享库 124

5.2.6 内存分配 126

5.2.7 程序的长跳转 127

5.2.8 进程的资源限制 129

5.3 进程控制 130

5.3.1 基本概念 130

5.3.2 进程创建 133

5.3.3 进程终止 137

5.3.4 进程同步 138

5.3.5 进程运行 141

5.3.6 system函数 144

5.3.7 进程时间 146

5.4 守护进程 148

5.4.1 基本概念 148

5.4.2 错误输出 149

5.4.3 守护进程的建立 151

第6章 信号 153

6.1.2 信号的产生条件 154

6.1.1 信号 154

6.1 基本概念 154

6.1.3 POSIX定义的信号 155

6.1.4 可重入性和中断系统调用 156

6.1.5 信号机制 157

6.2 不可靠信号 158

6.2.1 signal函数 158

6.2.2 不可靠信号的问题 160

6.3 可靠信号 161

6.3.1 术语和原语 161

6.3.2 信号集及其操作 162

6.3.3 可靠信号系统调用 163

6.4 与信号相关的系统调用 171

6.4.1 kill系统调用 171

6.4.2 pause系统调用 172

6.4.3 alarm/setitimer系统调用 173

6.4.4 abort系统调用 175

6.4.5 system系统调用 176

6.4.6 sleep系统调用 177

第7章 进程间通信 179

7.1 基本概念 180

7.1.1 进程阻塞 180

7.1.2 共享资源 180

7.1.3 锁定 180

7.2 管道 180

7.2.1 什么是管道 180

7.2.2 用C建立和使用管道 182

7.2.3 有名管道 188

7.3 文件与记录锁定 191

7.3.1 基本概念 191

7.3.2 System V的咨询锁定 192

7.3.3 BSD的咨询锁定 193

7.3.4 其他锁技术 195

7.4.1 概述 199

7.4 System V IPC 199

7.4.2 相关命令 200

7.5 消息队列 200

7.5.1 基础 200

7.5.2 消息队列函数 202

7.5.3 实例 208

7.6 信号量 211

7.6.1 基础 211

7.6.2 信号量函数 214

7.6.3 实例 218

7.7 共享内存 224

7.7.1 基础 224

7.7.2 相关函数 224

7.7.3 实例 226

7.7.4 综合实例 229

第8章 Berkeley Socket 241

8.1.1 结构模型 242

8.1 TCP/IP协议简述 242

8.1.2 IP协议 243

8.1.3 TCP和UDP协议 245

8.2 Socket基础 245

8.2.1 Socket的历史 245

8.2.2 Socket的功能 246

8.2.3 Socket类型 247

8.2.4 Socket描述符 249

8.2.5 转换函数 249

8.3 基本Socket调用 250

8.3.1 Socket函数 250

8.3.2 conncet函数 252

8.3.3 bind函数 254

8.3.4 listen函数 255

8.3.5 accept函数 256

8.3.6 send和sendto函数 257

8.3.7 recv和recvfrom函数 258

8.3.8 close函数 259

8.3.9 shutdown函数 259

8.3.10 read和write函数 260

8.3.11 gethostbyaddr等函数 260

8.3.12 inet_aton等函数 262

8.3.13 getprotoent函数 263

8.3.14 getservbyname函数 265

8.3.15 getsockopt和setsockopt函数 267

8.3.16 poll函数 270

8.3.17 select函数 271

8.4 常用报文头结构 272

8.4.1 IP 272

8.4.2 TCP 274

8.4.3 UDP 274

8.4.4 ICMP 275

8.5.1 获得本机IP 276

8.5.2 如何使用DNS 277

8.5.3 文件流方式 278

8.5.4 读取一行语句 279

8.5.5不定长参数 280

8.5.6 以Daemon方式运行 281

8.5.7 端口重用 281

8.5.8 用户登录及权限设置 282

8.5.9 路由跟踪 283

8.6 Client/Server模式 303

8.6.1 基本知识 303

8.6.2 程序结构 308

8.6.3 应用实例分析 312

第9章 多线程编程 323

9.1.1 术语定义 324

9.1.2 多线程的优点 324

9.1 基础知识 324

9.1.3 多线程结构 325

9.1.4 多线程的标准 327

9.2 多线程编程 328

9.2.1 线程库 328

9.2.2 创建线程(基本篇) 330

9.2.3 获取线程号和放弃执行 331

9.2.4 挂起或继续执行线程 331

9.2.5 向线程发信号 332

9.2.6 设置本线程的信号掩模 332

9.2.7 终止线程 333

9.2.8 等待线程结束 333

9.2.9 简单的例程 334

9.2.10 维护线程专有数据 335

9.2.11 创建线程(高级特性) 339

9.2.12 获得最小堆栈 341

9.2.13 设置线程的同时性等级 341

9.2.14 获取或设定线程的优先级 342

9.2.15 线程调度 343

9.3 同步对象编程 344

9.3.1 互斥锁 344

9.3.2 条件变量 350

9.3.3 多读单写锁 358

9.3.4 信号灯 361

9.3.5 进程间同步 366

第10章 脚本编程 369

10.2 Perl变量 370

10.2.1 标量变量 370

10.1 Perl概述 370

10.2.2 数组 373

10.2.3 关联数组 374

10.3.1 赋值(Assignment)运算符 376

8.5 socket实例分析 376

10.3 Perl的运算符 376

10.3.2 算术(Arithmetic)运算符 377

10.3.3 数值(Numeric Values)关系运算符 377

10.3.4 字符串(String Values)关系运算符 377

10.3.5 逻辑(Logical)运算 378

10.3.6 其他常用的运算符 379

10.3.7 常用的文件数据(File test)运算符 379

10.4.1 从STDIN输入 380

10.4.2 从<>输入 380

10.4 基本输入输出 380

10.4.3 向STDOUT输出 381

10.5 控制结构 381

10.5.1 选择性控制结构 381

10.5.2 循环性控制结构 385

10.6 常规表达式 391

10.7 函数 398

10.7.1 用户函数 398

10.7.2 常用系统函数 401

附录A selfdef.h头文件 411

附录B 编译和调试 415

相关图书
作者其它书籍
返回顶部