图书介绍

红旗LINUX系统开发技术【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

红旗LINUX系统开发技术
  • 北京中科红旗软件技术有限公司编著 著
  • 出版社: 北京:石油工业出版社
  • ISBN:9787502193881
  • 出版时间:2013
  • 标注页数:453页
  • 文件大小:135MB
  • 文件页数:469页
  • 主题词:Linux操作系统

PDF下载


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

下载说明

红旗LINUX系统开发技术PDF格式电子书版下载

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

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

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

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

图书目录

1 Linux软件开发工具1

1.1 gcc和g++1

1.1.1全局选项2

1.1.2语言选项3

1.1.3预处理程序选项4

1.1.4汇编程序选项:-Wa, option6

1.1.5连接程序选项6

1.1.6目录选项8

1.1.7优化选项8

1.1.8调试选项8

1.1.9警告选项9

1.2 gnu make9

1.2.1 make命令的输入文件10

1.2.2 gnu make的使用16

1.3 autoconf17

1.3.1 configure.in文件的获得18

1.3.2 aclocal.m4文件和acsite.m4文件的获得23

1.3.3 configure脚本的生成24

1.3.4 configure脚本的执行24

1.3.5软件包的发行和使用26

1.3.6 autoconf的流程框图26

1.4 automake27

1.4.1编写Makeflile.am文件27

1.4.2修改configure.in文件32

1.4.3执行automake32

1.4.4 automake应用示例33

1.5 gdb33

1.5.1 gdb的命令行选项及参数34

1.5.2 gdb的内部命令36

1.5.3 gdb应用示例43

2 文件系统47

2.1文件系统简介47

2.1.1概述47

2.1.2文件模式48

2.1.3进程的umask51

2.2 Linux文件系统简介52

2.2.1 EXT2文件系统的结构53

2.2.2超级块53

2.2.3组描述符54

2.2.4 inode54

2.2.5目录结构55

2.2.6 EXT2磁盘空间的分配策略56

2.2.7 EXT3文件系统的改进56

2.2.8 EXT4文件系统58

2.3基本文件操作60

2.3.1文件描述符和流60

2.3.2打开关闭文件61

2.3.3文件共享63

2.3.4顺序文件读写65

2.3.5随机文件读写68

2.3.6其他文件操作70

2.4 inode的操作75

2.4.1查询inode信息75

2.4.2存取权限78

2.4.3文件所有权79

2.4.4时间属性80

2.4.5 EXT2扩展属性80

2.5特殊文件83

2.5.1硬连接和符号连接83

2.5.2创建设备文件和管道84

2.5.3 /dev/fd85

3 目录操作86

3.1当前目录86

3.1.1获得当前目录86

3.1.2设置当前目录87

3.1.3改变根目录87

3.2创建删除目录88

3.3浏览目录88

3.4名字匹配92

3.4.1使用子进程92

3.4.2内部匹配93

4 高级I/O操作96

4.1同时进行多个I/O操作(I/O复用)96

4.1.1轮询方式96

4.1.2使用非阻塞I/O97

4.1.3效率较高的I/O复用99

4.1.4系统调用poll102

4.2内存映像103

4.2.1分配页面104

4.2.2建立内存映像104

4.2.3内存与磁盘的同步107

4.3给内存区加锁108

4.4文件加锁109

4.4.1文件锁109

4.4.2记录锁110

4.4.3死锁114

4.4.4锁的继承与释放114

4.4.5建议锁与强制锁115

4.5非连续区域读写116

5 系统数据文件和系统信息117

5.1简介117

5.2密码文件117

5.2.1 /etc/passwd文件和passwd结构117

5.2.2有关的函数接口119

5.2.3密码的shadow机制122

5.3组(groups)123

5.3.1 /etc/group文件和group结构123

5.3.2有关的函数接口124

5.3.3附加组126

5.4其他数据文件129

5.5有关用户登录的系统文件129

5.6系统标识131

5.7系统时钟132

6 进程模型与进程关系136

6.1进程136

6.2线程136

6.3启动例程136

6.4终止进程137

6.5 atexit函数138

6.6命令行参数140

6.7环境变量列表140

6.8 C程序在内存中的分布141

6.9共享库142

6.10内存分配机制143

6.11环境变量的访问与修改144

6.12 setjmp和longjmp函数145

6.13使用局部变量的问题147

6.14 getrlimit和setrlimit函数148

6.15 getrusage函数151

6.16终端登录152

6.16.1 4.3+BSD终端登录152

6.16.2 SVR4终端登录153

6.16.3 4.3 + BSD网络登录154

6.17进程组154

6.18会话155

6.19控制终端156

6.20 tcgetpgrp和tcsetpgrp函数157

6.21作业控制157

6.22程序在shell下的运行159

6.23孤儿进程组160

6.24 4.3 + BSD对进程关系实现162

7 进程控制164

7.1进程标识164

7.2 fork函数164

7.3 exit函数168

7.4 wait和waitpid函数170

7.5 wait3和wait4函数173

7.6竞争条件174

7.7 exec函数175

7.8 setuid和setgid函数179

7.9 setreuid和setregid函数180

7.10 seteuid和setegid函数180

7.11 system函数181

7.12 getlogin函数183

7.13 times函数183

7.14守护进程185

7.14.1守护进程的特点185

7.14.2守护进程的例子186

7.14.3 syslog函数187

8 进程间通信190

8.1管道和命名管道190

8.1.1管道190

8.1.2流管道204

8.1.3 FIFO205

8.2 System V IPC210

8.2.1 System V IPC访问方式210

8.2.2消息队列213

8.2.3信号量219

8.2.4共享内存226

8.2.5 System V IPC使用总结237

9 信号处理239

9.1概述239

9.2 Linux系统中的信号240

9.3对信号的处理242

9.3.1设置信号处理函数242

9.3.2系统对信号的处理244

9.3.3不可靠的信号245

9.3.4信号的阻塞246

9.3.5向进程发送信号246

9.3.6用定时器使进程睡眠247

9.3.7信号与系统调用250

9.3.8信号集251

9.3.9使用信号集屏蔽信号251

9.3.10设置信号的处理函数252

9.3.11非局部跳转254

9.3.12屏蔽信号并使进程等待255

9.3.13使进程退出256

9.3.14等待一个进程结束257

9.3.15 实现函数system的一种方法258

9.3.16实现函数sleep的一种方法260

9.3.17作业控制信号261

10 终端及伪终端编程262

10.1引言262

10.1.1终端262

10.1.2终端驱动程序262

10.1.3系统与终端之间的关系262

10.1.4版本263

10.2 Unix/Linux中的终端263

10.2.1概述263

10.2.2控制终端264

10.2.3数据传输265

10.2.4正则模式和非正则模式265

10.2.5正则模式下的编辑键266

10.3终端的应用程序设计268

10.3.1终端的打开与读写268

10.3.2库函数ttyname和isatty273

10.3.3 termios结构275

10.3.4利用ioctl系统调用对终端进行控制281

10.3.5通过13个termios系统调用对终端进行控制286

10.3.6非正则模式298

10.3.7终端与SIGHUP信号304

10.3.8终端窗口大小304

10.3.9 ctermid306

10.3.10 termcap、 terminfo和curses307

10.3.11 stty命令308

10.4程序tty_ transfer的设计309

10.4.1总体描述309

10.4.2头文件、常量定义和main函数310

10.4.3 serial_ conn函数312

10.4.4文件传输函数316

10.4.5 tty_ transfer的使用320

10.5终端管理的发展321

10.5.1数据结构的变化321

10.5.2流的概念的提出321

10.6基于STREAMS的终端子系统322

10.6.1流的概念322

10.6.2基于STREAMS终端的优点323

10.6.3线路规程模块324

10.6.4硬件仿真模块329

10.7伪终端程序设计330

10.7.1伪终端简介330

10.7.2 SVR4中的ptym_ open和ptys_ open333

10.7.3 BSD中的ptym_open和ptys_ open336

10.7.4 pty_ fork339

10.7.5 pty编程举例343

10.7.6 Linux下的伪终端例程348

10.7.7远程方式和分组方式349

10.7.8基于STREAMS的伪终端子系统349

11 socket编程355

11.1协议支持355

11.1.1网络基础知识355

11.1.2 Linux系统网络模块的结构356

11.1.3关于网络地址357

11.2几个工具函数357

11.3 socket编程的基本流程和要用到的函数358

11.3.1服务器端程序的基本操作359

11.3.2客户端程序的基本操作361

11.4 Unix域socket361

11.4.1 Unix域地址362

11.4.2 Unix域socket服务程序362

11.4.3客户程序364

11.4.4运行Unix域socket示例程序365

11.4.5用socketpair函数建立未命名Unix域socket365

11.4.6用Unix域socket在进程间传递文件描述符366

11.5 TCP/IP网络编程370

11.5.1关于字节序371

11.5.2 IPv4地址371

11.5.3 Socket编程中的IP地址结构372

11.5.4十进制点式IP地址与二进制IP地址间的转换372

11.5.5使用域名373

11.5.6域名解析示例374

11.5.7查询服务程序的端口号376

11.5.8 TCP服务程序示例378

11.5.9 TCP client application380

11.6 socket出错常量381

12 守护进程383

12.1守护进程简介383

12.2 syslogd守护进程383

12.3 syslog函数384

12.4 daemon_ init函数386

12.4.1 fork387

12.4.2 setsid387

12.4.3忽略SIGHUP并再次调用fork387

12.4.4改变工作目录并清除文件创建掩码387

12.4.5关闭所有打开的描述符388

12.4.6打开syslog388

12.5 Inetd守护进程388

12.6如何编制一个由inetd启动的服务器程序390

12.6.1程序390

12.6.2配置/etc/services文件391

13 多线程编程393

13.1概念393

13.1.1线程393

13.1.2内核线程与用户层线程394

13.1.3进程、LWP和线程395

13.1.4线程的优势403

13.2多线程编程基础404

13.2.1概念404

13.2.2线程的创建和终止405

13.2.3线程的合并和分离408

13.2.4线程属性410

13.2.5其他414

13.3线程之间的互斥与同步416

13.3.1线程互斥与同步的概念416

13.3.2互斥锁416

13.3.3利用条件变量实现同步421

13.3.4利用互斥锁和条件变量实现同步426

13.4线程编程中的其他问题429

13.4.1线程的私有变量429

13.4.2初始化函数436

13.4.3撤销其他线程的执行437

13.4.4清场函数440

13.4.5线程的信号操作445

13.4.6 Semaphore.c446

热门推荐