图书介绍
操作系统实践 基于Linux的应用与内核编程PDF|Epub|txt|kindle电子书版本网盘下载
![操作系统实践 基于Linux的应用与内核编程](https://www.shukui.net/cover/30/30957029.jpg)
- 房胜,李旭健,黄玲等编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302405276
- 出版时间:2015
- 标注页数:304页
- 文件大小:41MB
- 文件页数:323页
- 主题词:Linux操作系统-程序设计
PDF下载
下载说明
操作系统实践 基于Linux的应用与内核编程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 linux概述1
1.1 linux的发展1
1.1.1 linux概念1
1.1.2 linux和unix的渊源1
1.1.3 与linux相关的协议和标准3
1.2 linux的内核架构4
1.2.1 linux操作系统结构4
1.2.2 linux内核体系结构5
1.2.3 内核版本和获取6
1.2.4 内核源代码目录结构7
1.3 linux的主要版本9
1.3.1 linux版本介绍9
1.3.2 ubuntu的首次使用10
1.4 本章小结15
习题15
第2章 linux基本命令与应用16
2.1 认识命令行16
2.1.1 terminal16
2.1.2 命令用法初体验18
2.1.3 其他虚拟终端20
2.1.4 相关概念22
2.2 使用文本文件24
2.2.1 创建文本文件24
2.2.2 查看文本文件内容27
2.2.3 查找及统计28
2.3 目录和文件30
2.3.1 目录及文件的基本操作30
2.3.2 文件权限35
2.4 管理用户和用户组39
2.4.1 相关配置文件39
2.4.2 相关操作40
2.5 其他常见命令42
2.5.1 挂载和卸载设备42
2.5.2 安装和卸载软件44
2.6 本章小结45
习题46
练习46
第3章 从hello linux程序开始47
3.1 hello linux47
3.1.1 hello_linux的诞生47
3.1.2 linux平台c语言编码风格48
3.1.3 开发工具49
3.2 gcc编译52
3.2.1 单文件的编译52
3.2.2 多个源文件的编译55
3.2.3 其他介绍56
3.3 gdb调试57
3.3.1 gdb介绍58
3.3.2 使用gdb调试c语言文件59
3.4 本章小结64
习题64
练习64
第4章 利用makefile管理一个工程65
4.1 第一个makefile65
4.1.1 利用make编译一个程序文件65
4.1.2 利用make编译多个程序文件66
4.2 makefile的基本概念与规则68
4.2.1 makefile的基本概念68
4.2.2 规则69
4.3 本章小结72
习题72
练习72
第5章 linux系统中的时间73
5.1 时间表示73
5.1.1 linux系统时间73
5.1.2 linux应用程序时间函数74
5.2 利用程序显示系统时间76
5.2.1 常用时间函数76
5.2.2 高级时间函数78
5.3 时间的测量与计时79
5.3.1 时间测量79
5.3.2 计时器80
5.4 本章小结81
习题81
练习81
第6章 多进程程序开发82
6.1 进程概念82
6.2 进程的创建83
6.3 连续调用多次fork函数85
6.4 启动外部程序86
6.5 本章小结87
习题87
练习87
第7章 进程间通信88
7.1 概述88
7.2 管道通信89
7.2.1 管道概述89
7.2.2 无名管道90
7.2.3 命名管道94
7.3 套接字通信99
7.3.1 用文件套接字实现本地进程通信99
7.3.2 用网络套接字实现网络进程通信103
7.4 本章小结106
习题106
练习106
第8章 利用qt开发gui应用程序107
8.1 qt及qt creator107
8.1.1 qt简介107
8.1.2 qt creator108
8.1.3 qt的安装和启动109
8.1.4 qt creator的界面组成110
8.2 用qt creator完成一个gui项目112
8.2.1 创建qt gui项目112
8.2.2 程序的运行115
8.3 信号和槽116
8.3.1 信号和槽的概念116
8.3.2 用信号-槽机制响应gui事件116
8.3.3 关于信号-槽的进一步说明117
8.4 qt设计师118
8.4.1 简介118
8.4.2 qt设计师的功能119
8.5 本章小结119
习题120
练习120
第9章 mysql数据库121
9.1 安装mysql121
9.2 mysql的基本用法122
9.2.1 mysql管理122
9.2.2 数据库操作122
9.2.3 数据类型124
9.2.4 表操作125
9.2.5 创建一个数据库127
9.3 使用c语言访问mysql数据库129
9.3.1 连接数据库129
9.3.2 执行sql语句130
9.3.3 处理数据135
9.4 本章小结137
习题137
练习137
第10章 linux综合应用138
10.1 概述138
10.1.1 系统需求138
10.1.2 本章内容结构139
10.2 原型设计139
10.2.1 添加资源文件139
10.2.2 界面设计139
10.2.3 界面布局142
10.2.4 添加动作142
10.3 系统设计144
10.3.1 系统架构145
10.3.2 客户端功能设计145
10.3.3 服务器功能设计145
10.4 系统实现146
10.4.1 数据结构(通信协议)146
10.4.2 客户端实现146
10.4.3 服务器端实现147
10.4.4 几点说明148
10.5 linux应用综合实训148
10.6 本章小结149
第11章 构建linux内核系统150
11.1 概述150
11.2 内核初始化151
11.3 内核配置152
11.4 内核构建153
11.5 本章小结154
练习154
第12章 添加最简单的linux内核模块155
12.1 用户态与内核态155
12.1.1 c/c++应用程序的运行机制155
12.1.2 linux内核模块156
12.2 添加最简单的linux内核模块157
12.2.1 lkm代码框架157
12.2.2 lkm编译159
12.2.3 kello.c的编译、添加和删除160
12.2.4 lkm与c应用程序的差异161
12.3 printk和某些常见宏162
12.3.1 实时显示内核模块运行信息162
12.3.2 显示位置信息163
12.4 本章小结163
练习163
第13章 基于proc的linux进程控制块信息读取164
13.1 proc伪文件系统164
13.1.1 proc中的文件164
13.1.2 proc中文件的内容165
13.1.3 proc伪文件系统介绍167
13.2 linux中的进程控制块168
13.2.1 linux进程控制块task_struct169
13.2.2 进程重要信息解读170
13.3 通过proc读取linux进程信息172
13.3.1 创建proc文件172
13.3.2 基于seq_file机制的proc文件操作173
13.3.3 task_struct信息读取过程176
13.3.4 tasklist内核模块编译和添加178
13.3.5 tasklist内核模块工作流程178
13.4 task_struct重要信息180
13.4.1 linux进程调度策略180
13.4.2 进程优先级181
13.4.3 进程控制块中的其他信息182
13.5 向proc文件写入数据183
13.5.1 用户空间和内核空间之间传递数据183
13.5.2 内核空间内存分配183
13.5.3 proc文件的写操作函数185
13.6 本章小结185
习题186
练习186
第14章 posix多任务及同步机制187
14.1 fork创建进程187
14.1.1 fork创建进程的流程187
14.1.2 fork/exec创建进程的流程190
14.1.3 fork进阶问题192
14.2 posix线程机制194
14.2.1 posix概述194
14.2.2 posix线程创建195
14.3 posix多线程及同步机制198
14.3.1 多个线程的资源竞争访问198
14.3.2 posix同步机制200
14.4 条件变量与生产者-消费者问题202
14.4.1 同步与互斥202
14.4.2 posix条件变量203
14.4.3 条件变量在生产者-消费者问题中的应用204
14.5 本章小结206
习题207
练习208
第15章 用户态和内核态信号量209
15.1 信号量与同步问题209
15.1.1 信号量概述209
15.1.2 同步问题210
15.2 posix信号量212
15.2.1 无名信号量213
15.2.2 有名信号量214
15.2.3 posix信号量用于线程同步问题215
15.2.4 posix信号量用于进程间同步218
15.2.5 linux中的信号量技术223
15.3 内核信号量和内核线程224
15.3.1 linux内核信号量224
15.3.2 linux内核线程224
15.3.3 内核信号量和线程的例子226
15.3.4 linux内核同步技术228
15.4 本章小结229
习题229
练习229
第16章 基于共享内存的进程间通信231
16.1 共享内存231
16.2 共享内存映射文件234
16.2.1 单个进程的内存映射文件234
16.2.2 多个进程间的内存映射文件的同步235
16.3 posix共享内存对象237
16.4 本章小结239
习题239
练习240
第17章 linux内存管理241
17.1 linux物理内存管理机制241
17.1.1 内存结点node242
17.1.2 内存结点zone242
17.1.3 物理页框page243
17.2 ia32的寻址机制244
17.2.1 ia32的段机制244
17.2.2 ia32的页面映射机制247
17.2.3 ia32中的控制寄存器以及pae、pse248
17.3 ia32结构上的linux地址映射机制250
17.3.1 linux中段地址映射机制250
17.3.2 ia32 linux段地址映射实验252
17.3.3 ia32 linux页地址映射256
17.3.4 ia32 linux页地址映射实验259
17.4 linux进程地址空间263
17.4.1 linux中进程的虚拟地址空间263
17.4.2 获取进程虚拟地址空间信息267
17.4.3 linux中进程的虚拟存储区域vma268
17.4.4 获取进程的虚拟内存区域信息270
17.4.5 linux中进程、内存和文件的关系272
17.5 本章小结274
习题275
练习276
第18章 linux设备驱动程序277
18.1 概述277
18.1.1 设备管理基本概念277
18.1.2 linux字符设备管理279
18.2 字符设备cmos驱动程序282
18.2.1 cmos rtc信息282
18.2.2 获取cmos rtc信息的驱动程序内核模块282
18.2.3 cmos rtc驱动程序内核模块测试284
18.3 基于内存映射的杂项设备驱动程序286
18.3.1 linux中的杂项设备286
18.3.2 设备驱动中的内存映射286
18.3.3 基于内存映射的杂项设备驱动程序287
18.3.4 测试289
18.4 本章小结289
习题290
练习290
第19章 linux虚拟文件系统292
19.1 概述292
19.1.1 vfs在linux中的作用293
19.1.2 vfs支持的文件系统类型293
19.1.3 vfs的基本数据结构294
19.2 vfs对象的操作296
19.2.1 注册文件系统296
19.2.2 文件系统装载297
19.2.3 与进程相关的文件系统数据结构298
19.2.4 从当前进程访问linux内核vfs文件系统299
19.3 proc文件系统300
19.3.1 主要数据结构300
19.3.2 proc文件系统的操作302
19.4 本章小结303
习题303
练习303
参考文献304