Linux操作系统应用编程

Linux操作系统应用编程
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2021-04
版次: 1
ISBN: 9787115559753
定价: 59.80
装帧: 平装
开本: 其他
纸张: 胶版纸
页数: 252页
字数: 427千字
80人买过
  • 本书从原理性和实用性出发,从初学者的角度全面而详细介绍了Linux操作系统的基本概念和常用命令的使用。阐述的内容都是针对初学者完成日常工作所必需的各个方面,包括Linux的基本概念、常用命令、文件系统、屏幕编辑器、进程管理、shell程序设计、数据管理工具、集成编译工具、系统调用接口与应用程序开发、进程间通信和线程控制等,*后给出了一组综合设计实验。本书各章都有大量的实例讲述,各章末尾也有练习题,可帮助读者由浅入深、循序渐进地学习Linux操作系统,理论联系实际,快速上手实践,逐步达到熟练掌握Linux操作系统的使用技巧以及提高应用开发能力的目的。 本书编写组成员现为电子科技大学信息与软件工程学院操作系统课程组教师,长期从事与操作系统密切相关的教学、科研、应用开发和社会服务等方面的工作,主要研究领域包括操作系统、大型机系统、数据处理、云计算、嵌入式系统等。

    编写组成员曾先后参加完成了国家“六五”“七五”和“八五”科技攻关项目,对UNIX操作系统的内核有深入的了解,属于国内最早一批从事该领域研究的人员。此后又参加完成多项涉及金融、航空、通信、铁路、地质和生产制造等领域的应用开发工作,在UNIX/Linux操作系统应用方面积累了丰富的经验。

    编写组成员长期讲授“操作系统基础”“UNIX/Linux操作系统内核结构”“UNIX/Linux操作系统基础”“基于UNIX/Linux操作系统的编程技术”和“嵌入式系统”等课程,具有丰富的操作系统类课程的教学经验。

    2004年编写组成员参与的“计算机操作系统系列课程改革与建设”获电子科技大学优秀教学成果奖;2005年“计算机操作系统”课程被评为四川省精品课程;2006年“计算机操作系统”课程被评为国家级精品课程。多人次获得电子科技大学优秀主讲教师、专业核心课程骨干教师等称号。

    编写组成员参与完成了国家级教改项目“大型主机应用型创新人才培养模式的研究与实践”,参与组建了国内高校第一个大型主机系,率先系统地开设了“大型机操作系统”“z/Linux操作系统”“AIX操作系统”“大型机系统”和“大型机应用基础”等课程,并承担完成了多门“教育部-IBM精品课程”建设任务。 第1章 Linux操作系统基础 1

    1.1 引言 1

    1.1.1 什么是Linux 1

    1.1.2 Linux的发展历程 1

    1.1.3 Linux操作系统的组成 2

    1.1.4 Linux操作系统的版本 4

    1.2 Linux操作系统的运行模式与功能特征 5

    1.2.1 Linux操作系统的运行模式 5

    1.2.2 Linux操作系统的功能特征 5

    1.3 用户与登录 6

    1.3.1 Linux用户管理 6

    1.3.2 登录系统 7

    1.4 Linux命令基础 7

    1.4.1 简单命令 7

    1.4.2 通用命令格式 8

    1.4.3 命令行更正和程序终止 8

    1.4.4 联机手册 8

    1.5 文件与进程 8

    1.6 练习 9

    第2章 Linux文件系统 11

    2.1 文件系统的结构 11

    2.1.1 组织结构 11

    2.1.2 起始目录与当前工作目录 11

    2.1.3 路径名 12

    2.1.4 标准目录与文件 12

    2.2 文件的定义与分类 13

    2.2.1 文件的定义 13

    2.2.2 文件的分类 13

    2.3 目录操作命令 14

    2.3.1 创建目录 14

    2.3.2 删除目录 15

    2.3.3 修改当前目录 15

    2.3.4 查看当前目录 15

    2.3.5 列出指定目录 15

    2.4 文件操作命令 17

    2.4.1 显示文件内容 17

    2.4.2 复制文件 17

    2.4.3 移动文件 18

    2.4.4 删除文件 18

    2.4.5 打印文件 18

    2.4.6 格式化输出文件 18

    2.4.7 链接文件 18

    2.4.8 基本实用程序 19

    2.5 文件的权限管理 20

    2.5.1 文件的权限种类 20

    2.5.2 文件权限的检测与修改 21

    2.5.3 文件所有权的修改 21

    2.6 文件名置换 21

    2.7 练习 22

    第3章 vi编辑器 23

    3.1 vi编辑器概述 23

    3.1.1 vi编辑器的基本工作流程 23

    3.1.2 vi编辑器的工作模式 23

    3.2 vi编辑器的屏编工作模式 24

    3.2.1 命令模式 24

    3.2.2 文本输入模式 24

    3.3 屏编vi的使用方法 24

    3.3.1 vi的启动与退出 24

    3.3.2 vi的常用命令 25

    3.4 行编edit的使用方法 26

    3.4.1 进入行编 26

    3.4.2 退出行编 27

    3.4.3 行编的常用命令 27

    3.5 vi命令的选项 28

    3.6 练习 28

    第4章 Shell的交互功能和进程管理 30

    4.1 Shell的功能与分类 30

    4.1.1 Shell的功能简介 30

    4.1.2 Shell的分类 30

    4.1.3 Shell的启动和执行过程 31

    4.1.4 Shell可识别的命令类型 32

    4.2 Shell的内部命令 34

    4.3 标准输入/输出重定向 36

    4.3.1 标准输入/输出 36

    4.3.2 标准输入重定向 37

    4.3.3 标准输出重定向 38

    4.3.4 标准错误输出重定向 39

    4.3.5 管道 40

    4.4 Shell的变量 40

    4.4.1 Shell的环境变量 40

    4.4.2 Shell的系统变量 43

    4.4.3 Shell的用户自定义变量 45

    4.4.4 清除变量 45

    4.5 Shell的引用符 45

    4.5.1 双引号的使用 46

    4.5.2 单引号的使用 46

    4.5.3 反撇号的使用 47

    4.5.4 花括号的使用 47

    4.6 进程的状态和监控 47

    4.6.1 进程的状态及其转换 48

    4.6.2 获取进程状态信息命令ps 49

    4.6.3 暂停进程运行命令sleep 50

    4.6.4 作业控制命令fg和jobs 50

    4.6.5 终止进程运行命令kill 52

    4.7 练习 54

    第5章 Shell程序设计 55

    5.1 Shell编程语言简介 55

    5.1.1 编写Shell脚本的基本过程 55

    5.1.2 执行Shell脚本 56

    5.2 Shell语句的分类 57

    5.2.1 说明性语句 58

    5.2.2 功能性语句 58

    5.2.3 结构性语句 61

    5.3 Shell的结构性语句 61

    5.3.1 测试语句test 61

    5.3.2 条件语句if…then…fi 62

    5.3.3 条件语句if…then…else…fi 63

    5.3.4 多路分支语句case…esac 64

    5.3.5 循环语句for…do…done 65

    5.3.6 循环语句while…do…done 66

    5.3.7 循环语句until…do…done 67

    5.3.8 循环控制语句continue和break 68

    5.4 Shell函数 69

    5.5 命令组的应用规则与限制 71

    5.5.1 Shell命令组的标准输出重定向 71

    5.5.2 Shell命令组的标准输入重定向 72

    5.5.3 while命令组的循环条件 74

    5.6 练习 74

    第6章 数据查找和筛选工具 76

    6.1 正则表达式 76

    6.1.1 正则表达式的定义 76

    6.1.2 正则表达式中的元字符 77

    6.1.3 正则表达式应用示例 77

    6.2 流编辑器sed简介 78

    6.2.1 什么是流编辑器 78

    6.2.2 sed命令的基本格式 79

    6.2.3 sed命令中的行编命令基本格式 79

    6.2.4 sed命令的出错信息和退出状态 80

    6.2.5 sed命令应用示例 81

    6.3 数据处理器awk简介 82

    6.3.1 数据记录和数据域 82

    6.3.2 awk命令的基本格式 83

    6.3.3 格式化输出 84

    6.3.4 awk的命令文件 85

    6.4 练习 85

    第7章 多模块链接与集成编译工具GNU make 87

    7.1 多模块程序设计 87

    7.1.1 多模块程序的常见自动构建系统 91

    7.1.2 基于GNU make的构建系统 93

    7.2 make程序的基本功能和运行流程 95

    7.2.1 GNU make是如何工作的 95

    7.2.2 指定Makefile 95

    7.2.3 Makefile概述 95

    7.2.4 指定目标 96

    7.2.5 控制make执行的函数 96

    7.2.6 make支持的选项及退出码 97

    7.3 Makefile规则 98

    7.3.1 规则的格式 99

    7.3.2 在规则中使用通配符 100

    7.3.3 文件搜寻 100

    7.3.4 伪目标 101

    7.3.5 自动生成依赖性 102

    7.4 在Makefile中执行命令 104

    7.4.1 显示命令 104

    7.4.2 命令执行顺序 104

    7.4.3 命令出错 105

    7.4.4 嵌套执行make 105

    7.5 变量定义和使用 106

    7.5.1 变量的基础 107

    7.5.2 变量中的变量 107

    7.5.3 使用条件判断 109

    7.6 练习 110

    第8章 文件管理与输入/输出调用 112

    8.1 虚拟文件系统 112

    8.1.1 基本概念 112

    8.1.2 文件系统在存储设备上的表现形式 113

    8.1.3 虚拟文件系统涉及的内核对象 114

    8.1.4 内核对象间的联系 118

    8.1.5 虚拟文件系统的典型系统调用 119

    8.2 文件I/O 123

    8.2.1 打开文件 124

    8.2.2 创建文件 125

    8.2.3 关闭文件 125

    8.2.4 文件读写位置 125

    8.2.5 读文件 126

    8.2.6 写文件 127

    8.3 文件和目录的属性与权限 127

    8.3.1 获取当前工作目录路径 128

    8.3.2 读取目录文件 128

    8.3.3 获取与解析文件属性 130

    8.3.4 文件和目录访问权限 133

    8.3.5 创建与删除目录 133

    8.4 练习 134

    第9章 进程控制 136

    9.1 运行环境和进程的标识 136

    9.1.1 进程基本概念 136

    9.1.2 进程描述符 136

    9.2 进程的创建和退出 140

    9.2.1 进程的创建 140

    9.2.2 进程的退出 145

    9.3 进程的等待与睡眠 147

    9.3.1 wait函数 147

    9.3.2 waitpid函数 148

    9.4 进程的执行 150

    9.4.1 exec函数簇 150

    9.4.2 进程的执行与文件共享 153

    9.5 进程的属性修改 156

    9.5.1 进程USERID的修改 156

    9.5.2 进程GROUPID的修改 158

    9.6 进程的调度 158

    9.6.1 基本概念 158

    9.6.2 进程调度的时机与方式 160

    9.6.3 常用的进程调度算法 161

    9.6.4 进程调度策略 165

    9.6.5 主要函数 167

    9.7 练习 175

    第10章 进程间通信 177

    10.1 管道 177

    10.1.1 基本概念 177

    10.1.2 使用管道 178

    10.1.3 创建和关闭管道 182

    10.1.4 从管道中读取数据和向管道中写入数据 183

    10.2 信号灯 187

    10.2.1 信号灯概述 187

    10.2.2 信号灯与内核 187

    10.2.3 操作信号灯 188

    10.2.4 信号灯限制 190

    10.2.5 竞争问题 191

    10.3 消息队列 191

    10.3.1 什么是消息队列 191

    10.3.2 消息队列类型 192

    10.3.3 消息队列相关函数 194

    10.3.4 如何利用消息队列进行客户端和服务器的通信 196

    10.4 共享存储 199

    10.4.1 什么是共享存储 199

    10.4.2 获得共享存储函数 200

    10.4.3 删除共享存储段 203

    10.4.4 如何将进程挂接到共享存储上 203

    10.4.5 如何查看系统的共享存储资源 204

    10.4.6 信号量 205

    10.5 练习 209

    第11章 线程及线程控制 211

    11.1 什么是线程 211

    11.2 线程的创建和终止 212

    11.2.1 线程的创建 212

    11.2.2 线程的终止 213

    11.3 线程的同步与互斥 214

    11.3.1 基本概念 214

    11.3.2 死锁 214

    11.3.3 互斥量 216

    11.4 线程的属性与限制 218

    11.4.1 线程的属性 218

    11.4.2 线程的限制 219

    11.5 Linux操作系统下的多线程编程 220

    11.5.1 概念介绍 220

    11.5.2 多线程的实现 220

    11.5.3 线程之间的数据处理 222

    11.6 练习 229

    第12章 综合实验 230

    12.1 设备驱动程序与设备文件 230

    12.2 Linux操作系统设备类型 231

    12.3 Linux操作系统设备驱动的特性 233

    12.4 Linux操作系统设备驱动程序的组成部分 233

    12.5 Linux内核模块与设备驱动程序开发实验 234

    12.5.1 实验目的 234

    12.5.2 实验原理 234

    12.5.3 实验步骤 236

    12.6 Linux操作系统字符设备驱动程序开发实验 237

    12.6.1 实验目的 237

    12.6.2 实验原理 237

    12.6.3 实验步骤 242

    12.7 Linux操作系统块设备驱动程序开发实验 243

    12.7.1 实验目的 243

    12.7.2 实验原理 243

    12.7.3 实验步骤 250

    参考文献 251
  • 内容简介:
    本书从原理性和实用性出发,从初学者的角度全面而详细介绍了Linux操作系统的基本概念和常用命令的使用。阐述的内容都是针对初学者完成日常工作所必需的各个方面,包括Linux的基本概念、常用命令、文件系统、屏幕编辑器、进程管理、shell程序设计、数据管理工具、集成编译工具、系统调用接口与应用程序开发、进程间通信和线程控制等,*后给出了一组综合设计实验。本书各章都有大量的实例讲述,各章末尾也有练习题,可帮助读者由浅入深、循序渐进地学习Linux操作系统,理论联系实际,快速上手实践,逐步达到熟练掌握Linux操作系统的使用技巧以及提高应用开发能力的目的。
  • 作者简介:
    本书编写组成员现为电子科技大学信息与软件工程学院操作系统课程组教师,长期从事与操作系统密切相关的教学、科研、应用开发和社会服务等方面的工作,主要研究领域包括操作系统、大型机系统、数据处理、云计算、嵌入式系统等。

    编写组成员曾先后参加完成了国家“六五”“七五”和“八五”科技攻关项目,对UNIX操作系统的内核有深入的了解,属于国内最早一批从事该领域研究的人员。此后又参加完成多项涉及金融、航空、通信、铁路、地质和生产制造等领域的应用开发工作,在UNIX/Linux操作系统应用方面积累了丰富的经验。

    编写组成员长期讲授“操作系统基础”“UNIX/Linux操作系统内核结构”“UNIX/Linux操作系统基础”“基于UNIX/Linux操作系统的编程技术”和“嵌入式系统”等课程,具有丰富的操作系统类课程的教学经验。

    2004年编写组成员参与的“计算机操作系统系列课程改革与建设”获电子科技大学优秀教学成果奖;2005年“计算机操作系统”课程被评为四川省精品课程;2006年“计算机操作系统”课程被评为国家级精品课程。多人次获得电子科技大学优秀主讲教师、专业核心课程骨干教师等称号。

    编写组成员参与完成了国家级教改项目“大型主机应用型创新人才培养模式的研究与实践”,参与组建了国内高校第一个大型主机系,率先系统地开设了“大型机操作系统”“z/Linux操作系统”“AIX操作系统”“大型机系统”和“大型机应用基础”等课程,并承担完成了多门“教育部-IBM精品课程”建设任务。
  • 目录:
    第1章 Linux操作系统基础 1

    1.1 引言 1

    1.1.1 什么是Linux 1

    1.1.2 Linux的发展历程 1

    1.1.3 Linux操作系统的组成 2

    1.1.4 Linux操作系统的版本 4

    1.2 Linux操作系统的运行模式与功能特征 5

    1.2.1 Linux操作系统的运行模式 5

    1.2.2 Linux操作系统的功能特征 5

    1.3 用户与登录 6

    1.3.1 Linux用户管理 6

    1.3.2 登录系统 7

    1.4 Linux命令基础 7

    1.4.1 简单命令 7

    1.4.2 通用命令格式 8

    1.4.3 命令行更正和程序终止 8

    1.4.4 联机手册 8

    1.5 文件与进程 8

    1.6 练习 9

    第2章 Linux文件系统 11

    2.1 文件系统的结构 11

    2.1.1 组织结构 11

    2.1.2 起始目录与当前工作目录 11

    2.1.3 路径名 12

    2.1.4 标准目录与文件 12

    2.2 文件的定义与分类 13

    2.2.1 文件的定义 13

    2.2.2 文件的分类 13

    2.3 目录操作命令 14

    2.3.1 创建目录 14

    2.3.2 删除目录 15

    2.3.3 修改当前目录 15

    2.3.4 查看当前目录 15

    2.3.5 列出指定目录 15

    2.4 文件操作命令 17

    2.4.1 显示文件内容 17

    2.4.2 复制文件 17

    2.4.3 移动文件 18

    2.4.4 删除文件 18

    2.4.5 打印文件 18

    2.4.6 格式化输出文件 18

    2.4.7 链接文件 18

    2.4.8 基本实用程序 19

    2.5 文件的权限管理 20

    2.5.1 文件的权限种类 20

    2.5.2 文件权限的检测与修改 21

    2.5.3 文件所有权的修改 21

    2.6 文件名置换 21

    2.7 练习 22

    第3章 vi编辑器 23

    3.1 vi编辑器概述 23

    3.1.1 vi编辑器的基本工作流程 23

    3.1.2 vi编辑器的工作模式 23

    3.2 vi编辑器的屏编工作模式 24

    3.2.1 命令模式 24

    3.2.2 文本输入模式 24

    3.3 屏编vi的使用方法 24

    3.3.1 vi的启动与退出 24

    3.3.2 vi的常用命令 25

    3.4 行编edit的使用方法 26

    3.4.1 进入行编 26

    3.4.2 退出行编 27

    3.4.3 行编的常用命令 27

    3.5 vi命令的选项 28

    3.6 练习 28

    第4章 Shell的交互功能和进程管理 30

    4.1 Shell的功能与分类 30

    4.1.1 Shell的功能简介 30

    4.1.2 Shell的分类 30

    4.1.3 Shell的启动和执行过程 31

    4.1.4 Shell可识别的命令类型 32

    4.2 Shell的内部命令 34

    4.3 标准输入/输出重定向 36

    4.3.1 标准输入/输出 36

    4.3.2 标准输入重定向 37

    4.3.3 标准输出重定向 38

    4.3.4 标准错误输出重定向 39

    4.3.5 管道 40

    4.4 Shell的变量 40

    4.4.1 Shell的环境变量 40

    4.4.2 Shell的系统变量 43

    4.4.3 Shell的用户自定义变量 45

    4.4.4 清除变量 45

    4.5 Shell的引用符 45

    4.5.1 双引号的使用 46

    4.5.2 单引号的使用 46

    4.5.3 反撇号的使用 47

    4.5.4 花括号的使用 47

    4.6 进程的状态和监控 47

    4.6.1 进程的状态及其转换 48

    4.6.2 获取进程状态信息命令ps 49

    4.6.3 暂停进程运行命令sleep 50

    4.6.4 作业控制命令fg和jobs 50

    4.6.5 终止进程运行命令kill 52

    4.7 练习 54

    第5章 Shell程序设计 55

    5.1 Shell编程语言简介 55

    5.1.1 编写Shell脚本的基本过程 55

    5.1.2 执行Shell脚本 56

    5.2 Shell语句的分类 57

    5.2.1 说明性语句 58

    5.2.2 功能性语句 58

    5.2.3 结构性语句 61

    5.3 Shell的结构性语句 61

    5.3.1 测试语句test 61

    5.3.2 条件语句if…then…fi 62

    5.3.3 条件语句if…then…else…fi 63

    5.3.4 多路分支语句case…esac 64

    5.3.5 循环语句for…do…done 65

    5.3.6 循环语句while…do…done 66

    5.3.7 循环语句until…do…done 67

    5.3.8 循环控制语句continue和break 68

    5.4 Shell函数 69

    5.5 命令组的应用规则与限制 71

    5.5.1 Shell命令组的标准输出重定向 71

    5.5.2 Shell命令组的标准输入重定向 72

    5.5.3 while命令组的循环条件 74

    5.6 练习 74

    第6章 数据查找和筛选工具 76

    6.1 正则表达式 76

    6.1.1 正则表达式的定义 76

    6.1.2 正则表达式中的元字符 77

    6.1.3 正则表达式应用示例 77

    6.2 流编辑器sed简介 78

    6.2.1 什么是流编辑器 78

    6.2.2 sed命令的基本格式 79

    6.2.3 sed命令中的行编命令基本格式 79

    6.2.4 sed命令的出错信息和退出状态 80

    6.2.5 sed命令应用示例 81

    6.3 数据处理器awk简介 82

    6.3.1 数据记录和数据域 82

    6.3.2 awk命令的基本格式 83

    6.3.3 格式化输出 84

    6.3.4 awk的命令文件 85

    6.4 练习 85

    第7章 多模块链接与集成编译工具GNU make 87

    7.1 多模块程序设计 87

    7.1.1 多模块程序的常见自动构建系统 91

    7.1.2 基于GNU make的构建系统 93

    7.2 make程序的基本功能和运行流程 95

    7.2.1 GNU make是如何工作的 95

    7.2.2 指定Makefile 95

    7.2.3 Makefile概述 95

    7.2.4 指定目标 96

    7.2.5 控制make执行的函数 96

    7.2.6 make支持的选项及退出码 97

    7.3 Makefile规则 98

    7.3.1 规则的格式 99

    7.3.2 在规则中使用通配符 100

    7.3.3 文件搜寻 100

    7.3.4 伪目标 101

    7.3.5 自动生成依赖性 102

    7.4 在Makefile中执行命令 104

    7.4.1 显示命令 104

    7.4.2 命令执行顺序 104

    7.4.3 命令出错 105

    7.4.4 嵌套执行make 105

    7.5 变量定义和使用 106

    7.5.1 变量的基础 107

    7.5.2 变量中的变量 107

    7.5.3 使用条件判断 109

    7.6 练习 110

    第8章 文件管理与输入/输出调用 112

    8.1 虚拟文件系统 112

    8.1.1 基本概念 112

    8.1.2 文件系统在存储设备上的表现形式 113

    8.1.3 虚拟文件系统涉及的内核对象 114

    8.1.4 内核对象间的联系 118

    8.1.5 虚拟文件系统的典型系统调用 119

    8.2 文件I/O 123

    8.2.1 打开文件 124

    8.2.2 创建文件 125

    8.2.3 关闭文件 125

    8.2.4 文件读写位置 125

    8.2.5 读文件 126

    8.2.6 写文件 127

    8.3 文件和目录的属性与权限 127

    8.3.1 获取当前工作目录路径 128

    8.3.2 读取目录文件 128

    8.3.3 获取与解析文件属性 130

    8.3.4 文件和目录访问权限 133

    8.3.5 创建与删除目录 133

    8.4 练习 134

    第9章 进程控制 136

    9.1 运行环境和进程的标识 136

    9.1.1 进程基本概念 136

    9.1.2 进程描述符 136

    9.2 进程的创建和退出 140

    9.2.1 进程的创建 140

    9.2.2 进程的退出 145

    9.3 进程的等待与睡眠 147

    9.3.1 wait函数 147

    9.3.2 waitpid函数 148

    9.4 进程的执行 150

    9.4.1 exec函数簇 150

    9.4.2 进程的执行与文件共享 153

    9.5 进程的属性修改 156

    9.5.1 进程USERID的修改 156

    9.5.2 进程GROUPID的修改 158

    9.6 进程的调度 158

    9.6.1 基本概念 158

    9.6.2 进程调度的时机与方式 160

    9.6.3 常用的进程调度算法 161

    9.6.4 进程调度策略 165

    9.6.5 主要函数 167

    9.7 练习 175

    第10章 进程间通信 177

    10.1 管道 177

    10.1.1 基本概念 177

    10.1.2 使用管道 178

    10.1.3 创建和关闭管道 182

    10.1.4 从管道中读取数据和向管道中写入数据 183

    10.2 信号灯 187

    10.2.1 信号灯概述 187

    10.2.2 信号灯与内核 187

    10.2.3 操作信号灯 188

    10.2.4 信号灯限制 190

    10.2.5 竞争问题 191

    10.3 消息队列 191

    10.3.1 什么是消息队列 191

    10.3.2 消息队列类型 192

    10.3.3 消息队列相关函数 194

    10.3.4 如何利用消息队列进行客户端和服务器的通信 196

    10.4 共享存储 199

    10.4.1 什么是共享存储 199

    10.4.2 获得共享存储函数 200

    10.4.3 删除共享存储段 203

    10.4.4 如何将进程挂接到共享存储上 203

    10.4.5 如何查看系统的共享存储资源 204

    10.4.6 信号量 205

    10.5 练习 209

    第11章 线程及线程控制 211

    11.1 什么是线程 211

    11.2 线程的创建和终止 212

    11.2.1 线程的创建 212

    11.2.2 线程的终止 213

    11.3 线程的同步与互斥 214

    11.3.1 基本概念 214

    11.3.2 死锁 214

    11.3.3 互斥量 216

    11.4 线程的属性与限制 218

    11.4.1 线程的属性 218

    11.4.2 线程的限制 219

    11.5 Linux操作系统下的多线程编程 220

    11.5.1 概念介绍 220

    11.5.2 多线程的实现 220

    11.5.3 线程之间的数据处理 222

    11.6 练习 229

    第12章 综合实验 230

    12.1 设备驱动程序与设备文件 230

    12.2 Linux操作系统设备类型 231

    12.3 Linux操作系统设备驱动的特性 233

    12.4 Linux操作系统设备驱动程序的组成部分 233

    12.5 Linux内核模块与设备驱动程序开发实验 234

    12.5.1 实验目的 234

    12.5.2 实验原理 234

    12.5.3 实验步骤 236

    12.6 Linux操作系统字符设备驱动程序开发实验 237

    12.6.1 实验目的 237

    12.6.2 实验原理 237

    12.6.3 实验步骤 242

    12.7 Linux操作系统块设备驱动程序开发实验 243

    12.7.1 实验目的 243

    12.7.2 实验原理 243

    12.7.3 实验步骤 250

    参考文献 251
查看详情
12
相关图书 / 更多
Linux操作系统应用编程
LiteOS轻量级物联网操作系统实战 微课视频版
魏杰
Linux操作系统应用编程
Linux综合实训案例教程
陈智斌;梁鹏;肖政宏
Linux操作系统应用编程
Linux操作系统项目化教程
周秀丽;张徐超;周密
Linux操作系统应用编程
Linux操作系统
刘睿;包大宏;兰晓天;李吉桃;王仕杰;吴晓清;张宏洲;杨云江
Linux操作系统应用编程
Linux C语言程序设计(微课视频版)
张同光;田文强;荆春棋;田乔梅;陈明
Linux操作系统应用编程
Linux虚拟化——原理、方法和实战(KVM+Docker+OpenStack)
吴光科;李建尧;柯宇霖
Linux操作系统应用编程
Linux源码趣读
闪客
Linux操作系统应用编程
Linux自动化运维实战(Linux开发书系)
吴光科;彭威城;文·S
Linux操作系统应用编程
Linux云计算——Kubernetes实战
吴光科;程浩;刑亚飞
Linux操作系统应用编程
Linux运维从入门到精通
明日科技
Linux操作系统应用编程
Linux操作系统项目化教程(第2版)
洪伟 主编;丁传炜 谢鹏 副主编
Linux操作系统应用编程
Linux企业高性能架构实战
吴光科;曹森;赵瑞丰