图书介绍

Solaris系统编程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

Solaris系统编程
  • (加)Rich Teer著;云巅工作室译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111185714
  • 出版时间:2006
  • 标注页数:855页
  • 文件大小:37MB
  • 文件页数:869页
  • 主题词:

PDF下载


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

下载说明

Solaris系统编程PDF格式电子书版下载

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

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

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

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

图书目录

目录1

译者序1

前言1

第一部分 综述1

第1章 Solaris系统1

1.1 引言1

1.2 登录2

1.3 shell2

1.4 文件、目录和文件系统3

1.5 输入和输出7

1.6 程序、进程和线程10

1.7 错误处理14

1.8 用户标识15

1.9 信号16

1.10 UNIX时间值18

1.11 系统调用和库函数19

1.12 64位编程概述21

1.12.1 编写纯64位的程序22

1.12.2 编译和安装64位的程序26

1.12.3 大文件的编译环境27

1.12.4 过渡期的大文件编译环境28

1.13 小结29

练习29

第2章 Solaris简史31

2.1 引言31

2.2 初期SunOS31

2.3 SunOS之后:Solaris32

2.4 标准32

2.4.1 ANSI/ISO/IEC C32

2.4.3 IEEE POSIX33

2.4.2 System V接口定义33

2.4.5 单一UNIX规范34

2.4.4 开放组的XPG434

2.5 Solaris 2.535

2.6 Solaris 2.636

2.7 Solaris 736

2.8 Solaris 836

2.9 Solaris 936

2.10 Solaris标准遵守情况37

2.11 编译符合标准的应用程序37

2.12 小结38

练习38

3.1 引言39

3.2.1 测试字符类成员资格39

3.2 处理字符类39

第3章 实用工具函数39

第二部分 基本主题39

3.2.2 改变字符类成员资格41

3.2.3 字符类小结42

3.3 处理字符串43

3.3.1 得到字符串的长度44

3.3.2 比较字符串45

3.3.3 连接字符串48

3.3.4 复制字符串50

3.3.5 字符串查找函数51

3.3.6 生成字符串的副本56

3.3.7 把一个字符串分割成标记56

3.3.8 转换字符串的函数59

3.3.9 把字符串转换成数字61

3.4.1 比较字节数组64

3.4 处理字节数组64

3.3.10 把数字转换成字符串64

3.4.2 复制字节数组65

3.4.3 查找字节数组65

3.4.4 初始化字节数组66

3.5 动态内存66

3.5.1 内存对齐66

3.5.2 分配动态内存67

3.5.3 释放动态内存69

3.6 其他内存管理包70

3.6.1 malloc库70

3.6.2 bsdmalloc库71

3.6.3 mapmalloc库72

3.6.4 watchmalloc共享对象72

3.6.5 比较malloc库73

3.7.1 产生临时文件名75

3.7 临时文件75

3.7.2 创建临时文件76

3.8 分析命令行参数77

3.9 错误报告82

3.10 挂起进程84

3.11 小结84

练习84

第4章 基本的文件I/O85

4.1 引言85

4.2 文件描述符85

4.3 open函数85

4.4 creat函数87

4.5 close和closefrom函数87

4.6 lseek和llseek函数88

4.7 tell函数90

4.9 write和pwrite函数91

4.8 read和pread函数91

4.10 readn和writen函数92

4.11 I/O效率93

4.12 文件共享94

4.13 原子的操作96

4.14 dup和dup2函数97

4.15 fcntl函数99

4.16 ioctl函数107

4.17 fdwalk函数107

4.18 直接I/O108

4.19 /dev/fd文件系统110

4.20 小结111

练习111

5.2 文件流、数据类型和常量112

第5章 标准I/O库112

5.1 引言112

5.3 标准输入、标准输出和标准错误输出113

5.4 打开文件流113

5.5 关闭文件流114

5.6 读和写115

5.6.1 字符输入函数115

5.6.2 字符输出函数116

5.6.3 行输入函数116

5.6.4 行输出函数117

5.6.5 二进制I/O117

5.7 流状态118

5.8 格式化I/O119

5.8.1 格式输出119

5.8.2 格式输入120

5.8.3 格式转换规范121

5.9 定位流128

5.8.4 C语言转义序列128

5.10 文件流锁定130

5.11 缓冲134

5.12 标准I/O的效率136

5.13 小结140

练习140

第6章 日期和时间操作141

6.1 引言141

6.2 转换时间的复杂性141

6.3 获得当前时间142

6.4 设置当前时间144

6.5 获得当前时区144

6.6 UNIX时间和日历时间的转换146

6.6.2 gmtime和gmtime_r函数147

6.6.1 localtime和localtime_r函数147

6.6.3 mktime函数148

6.7 格式日期I/O149

6.7.1 将日期转换成格式字符串149

6.7.2 将格式字符串转换成日期153

6.8 小结155

练习155

第7章 用户和组156

7.1 引言156

7.2 用户名156

7.3 用户ID159

7.4 组ID162

7.5 组成员资格164

7.6 口令文件166

7.7 影像口令文件170

7.8 读取和加密口令175

7.9 组文件180

7.10 utmpx和wtmpx文件184

7.11 utmp和wtmp文件189

7.12 lastlog文件189

7.13 shells文件191

7.14 小结192

练习192

第8章 系统信息和资源限制193

8.1 引言193

8.2 系统信息和识别193

8.3 系统资源限制198

8.4 每个进程的资源限制207

8.5 资源控制工具209

8.6 资源控制示例215

8.7 资源使用信息222

8.8 使用/proc文件系统确定资源使用信息226

8.9 确定系统的平均负荷233

8.10 小结234

练习235

第9章 安全的C编程236

9.1 引言236

9.2 缓冲区溢出236

9.3 程序的环境237

9.4 防御性编程238

9.5 最小特权原则238

9.6 使用chroot“监牢”240

9.7 编写安全程序的技巧242

9.8 小结244

练习245

10.2.1 dirname函数247

10.2 路径名组件247

10.2.2 basename函数247

第三部分 输入/输出247

10.1 引言247

第10章 文件和目录247

10.3 stat、fstat和lstat函数249

10.4 文件类型250

10.5 set-user-ID和set-group-ID252

10.6 粘着位253

10.7 文件访问权限254

10.8 access函数255

10.9 umask函数257

10.10 chmod和fchmod函数258

10.11 chown、fchown和lchown函数260

10.12 文件尺寸261

10.14 文件系统262

10.13 文件截取262

10.15 link和unlink函数265

10.16 remove和rename函数267

10.17 符号链接268

10.18 解析可能包含符号链接的路径271

10.18.1 resolvepath函数271

10.18.2 realpath函数271

10.19 symlink和readlink函数272

10.20 文件时间273

10.21 改变文件的访问时间和修改时间275

10.21.1 utime函数275

10.21.2 utimes函数275

10.22 创建和删除目录277

10.23 读取目录277

10.23.1 opendir和fdopendir函数277

10.23.2 readdir和readdir_r函数278

10.23.4 closedir函数279

10.23.3 seekdir、rewinddir和telldir函数279

10.23.5 ftw和nftw函数282

10.24 chdir、fchdir和getcwd函数286

10.25 chroot和fchroot函数287

10.26 特殊文件288

10.27 sync和fsync函数290

10.28 综合讨论291

10.29 小结295

练习296

第11章 使用文件系统297

11.1 引言297

11.2 磁盘术语297

11.3.1 getmntent、getmntany和getextmntent函数298

11.3 已挂载的文件系统表298

11.3.2 hasmntopt函数301

11.3.3 resetmnttab函数302

11.3.4 putmntent函数303

11.4 mntfs文件系统ioctl命令303

11.5 文件系统默认值305

11.5.1 getvfsent系列函数305

11.5.2 添加项到/etc/vfstab308

11.6 挂载和卸载文件系统308

11.6.1 mount函数308

11.6.2 umount和umount2函数312

11.7 获得文件系统的状态314

11.7.1 statvfs和fstatvfs函数314

11.7.2 ustat函数316

11.8 读取文件系统数据结构317

11.8.1 超级块318

11.8.2 索引节点表322

11.8.3 柱面组325

11.9 小结330

练习330

第12章 终端I/O331

12.1 引言331

12.2 终端I/O概述331

12.3 特殊的输入字符338

12.4 获得和设置终端属性341

12.5 终端选项标志343

12.6 波特率函数347

12.7 行控制函数348

12.7.1 tcdrain函数348

12.7.4 tcsendbreak函数349

12.7.2 tcflow函数349

12.7.3 tcflush函数349

12.8 终端标识350

12.8.1 ctermid和ctermid_r函数350

12.8.2 isatty函数350

12.8.3 ttyname和ttyname_r函数351

12.9 规范模式354

12.10 非规范模式356

12.11 终端窗口尺寸361

12.12 设备无关的终端控制363

12.13 小结364

练习364

第13章 高级I/O365

13.1 引言365

13.2 非阻塞I/O365

13.3 记录锁定368

13.4 使用fcntl的记录锁定369

13.5 使用lockf的记录锁定372

13.6 死锁和活锁372

13.7 锁继承性和释放375

13.8 强制锁与建议锁的比较375

13.9 STREAMS I/O子系统377

13.10 STREAMS消息379

13.11 putmsg和putpmsg函数380

13.12 getmsg和getpmsg函数381

13.13 STREAMS ioctl操作384

13.14 使用read和write的STREAMS I/O386

13.14.1 从STREAMS设备中读取386

13.14.2 写入到STREAMS设备386

13.15 I/O多路复用387

13.16 select函数388

13.17 poll函数391

13.18 /dev/poll设备驱动程序393

13.19 异步I/O396

13.20 和STREAMS设备文件一起的异步I/O396

13.21 和其他文件一起的异步I/O397

13.21.1 aioread和aiowrite函数397

13.21.2 aiowait函数398

13.21.3 aiocancel函数398

13.22 readv和writev函数398

13.23 sendfile和sendfilev函数400

13.23.1 sendfile函数401

13.23.2 sendfilev函数403

13.24 内存映射的I/O406

13.25 mmap和munmap函数406

13.27 madvise函数412

13.26 mprotect函数412

13.28 msync函数413

13.29 在内存中锁定页面413

13.29.1 mlock和munlock函数414

13.29.2 mlockall和munlockall函数414

13.29.3 plock函数414

13.30 memcntl函数416

13.31 内存映射I/O的小结418

13.32 访问控制列表418

13.33 acl和facl函数419

13.34 aclfromtext和acltotext函数420

13.35 aclcheck函数422

13.36 aclfrommode和acltomode函数424

13.37 aclsort函数425

13.38 扩展的文件属性425

13.39 openat和attropen函数426

13.40 fstatat函数428

13.41 unlinkat函数429

13.42 renameat函数429

13.43 fchownat函数430

13.44 futimesat函数430

13.45 改变扩展属性文件权限431

13.46 小结432

练习432

第四部分 进程和进程控制433

第14章 UNIX进程的环境433

14.1 引言433

14.2 进程启动433

14.3 进程终止434

14.3.1 exit和_exit函数434

14.3.2 atexit函数435

14.4 命令行参数437

14.5 环境变量439

14.5.1 getenv函数439

14.5.2 putenv函数439

14.6 C程序的内存布局441

14.7 共享的对象442

14.8 内存分配444

14.8.1 sbrk函数444

14.8.2 brk函数444

14.9 setjmp和longjmp函数444

14.9.1 自动变量、寄存器变量和易变的变量447

14.9.2 _setjmp和_longjmp函数449

14.9.3 使用自动变量时的常见错误449

练习450

14.11 小结450

14.10 资源限制450

第15章 进程控制451

15.1 引言451

15.2 进程标识符451

15.2.1 getpid函数451

15.2.2 getppid函数451

15.3 fork和fork1函数452

15.4 vfork函数457

15.5 exit和_exit函数458

15.6 wait函数459

15.7 waitpid函数461

15.8 wait3和wait4函数463

15.9 waitid函数464

15.10 竞争条件464

15.11 exec函数468

15.11.2 execv函数470

15.11.3 execle函数470

15.11.1 execl函数470

15.11.4 execve函数471

15.11.5 execlp函数471

15.11.6 execvp函数472

15.11.7 exec函数的总结474

15.12 解释程序文件475

15.13 system函数479

15.14 进程记账482

15.15 小结486

练习487

16.1 引言488

16.2 终端登录488

第16章 进程关系488

16.3 网络登录489

16.4 进程组490

16.5 会话492

16.6 控制终端494

16.7 tcgetpgrp和tcsetpgrp函数495

16.8 tcgetsid函数495

16.9 作业控制496

16.10 程序的外壳执行499

16.11 孤立的进程组502

16.12 小结504

练习505

第17章 信号506

17.1 引言506

17.2 信号概念506

17.3 signal函数512

17.4 不可靠的信号515

17.5 可靠的信号516

17.6 sigset函数516

17.7 pause函数518

17.8 sighold、sigrelse、sigignore和sigpause函数518

17.9 中断的系统调用519

17.10 可重入函数520

17.11 比较SIGCHLD和SIGCLD信号523

17.12 kill、killpg、raise、sigsend和sigsendset函数525

17.13 alarm函数527

17.14 间隔计时器533

17.15 POSIX信号536

17.16 信号集537

17.17 sigprocmask函数537

17.18 sigpending函数539

17.19 sigaction函数541

17.20 sigfpe函数548

17.21 sigsetjmp和siglongjmp函数551

17.22 sigsuspend函数554

17.23 sigwait函数559

17.24 abort函数561

17.25 重新审视system函数562

17.26 重新审视sleep函数568

17.27 作业控制信号571

17.28 软件信号573

17.29 备选信号栈575

17.30 系统信号消息578

17.31 sig2str和str2sig函数580

17.32 小结583

练习583

18.2 守护程序的特性584

第18章 守护进程584

18.1 引言584

18.3 错误日志585

18.4 STREAMS log驱动器585

18.5 syslog工具589

18.6 成为守护程序592

18.7 仅启动守护程序的一个副本596

18.8 小结598

练习599

第五部分 进程间通信601

第19章 使用管道和FIFO的进程间通信601

19.1 引言601

19.2 管道601

19.3 popen和pclose函数609

19.4 协作进程617

19.5 FIFO622

19.6 迭代服务器与并行服务器630

19.7 小结631

练习631

第20章 System V进程间的通信工具632

20.1 引言632

20.2 System V IPC的概念632

20.3 System V消息队列636

20.4 System V信号量集649

20.5 System V共享内存663

20.6 性能比较673

20.7 小结678

练习678

21.1 引言679

21.2 传递文件描述符679

第21章 高级进程间通信679

21.3 开放的服务器(版本1)682

21.4 客户-服务器连接函数688

21.5 开放的服务器(版本2)692

21.6 小结697

练习697

第22章 门698

22.1 引言698

22.2 基本门函数699

22.3 门信息函数711

22.4 门的高级功能715

22.5 门客户或门服务器的提前终止724

22.6 小结730

练习730

23.1 引言731

23.2 伪终端概述731

第23章 伪终端731

第六部分 伪终端731

23.3 打开伪终端设备735

23.4 pty_fork函数738

23.5 pty程序740

23.6 使用pty程序745

23.7 高级特征751

23.8 小结758

练习758

附录759

附录A 国际化和本地化基本知识759

附录B BSD源代码兼容性包767

附录C 函数小结773

附录D 其他源代码829

附录E 部分练习题答案836

热门推荐