商家名称 | 信用等级 | 购买信息 | 订购本书 |
GNU/LINUX环境编程(第2版) [平装] | |||
GNU/LINUX环境编程(第2版) [平装] |
《GNU/LINUX环境编程(第2版)》:浅显易懂,容易理解的Linux编程基础
聚焦Linux编程利器——GNU工具和库
全面覆盖各种有用的API
配套资源包含《GNU/LINUX环境编程(第2版)》代码和所有API
M.Tim Jones是一名嵌入式软件架构师,也是多部畅销书的作者,代表作有AI Application Programming,BSD Sockets Proqramming from a Multilanguage Perspective,Artificial Intelligence:A Systems Approach,还发表过大量技术文章。他的工程背景很丰富,曾经为太空船开发过内核,也开发过嵌入式系统架构和联网协议。Tim目前在科罗拉多Longmont的Emulex公司担任顾问工程师。
第Ⅰ部分 导论
第1章 GNU/Linux的历史
概述
Unix操作系统的历史
GNU/LINUX的历史
Linux的发行
小结
参考文献
第2章 GNU/Linux系统架构
概述
系统架构概要
Linux内核的架构
小结
资源
第3章 自由软件开发
概述
开源证书
开源开发的问题
小结
参考文献
资源
第4章 Linux虚拟化与仿真
概述
什么是虚拟化?
虚拟化简史
虚拟化的意义
虚拟化的分类
开源虚拟化解决方案
小结
第Ⅱ部分 GNU工具
第5章 GNU编译工具链
概述
GCC优化器
调试选项
其他工具
小结
第6章 应用GNU make构建软件
概述
Makefile变量
小结
第7章 库的构建与使用
概述
什么是库?
生成静态库
共享库的生成
动态加载库
工具
小结
动态库API
第8章 用automake/affcoconf打包
概述
小结
第9章 GNU/Linux的源码控制
概述
源码控制的定义
源码控制范例
有用的源码控制工具
小结
参考文献
资源
第10章 应用Gnuplot进行数据可视化
概述
Gnuplot
小结
资源
第Ⅲ部分 应用程序开发主题
第11章 GNU/Linux的文件操作
概述
GNU/Linux的文件操作
探究文件操作API
基础API
小结
文件操作API
第12章 管道编程
概述
管道模型
详细介绍
小结
管道编程API
第13章 套接字编程简介
概述
网络的分层模型
套按字编程的范式
应用程序示例
套接字API小结
其他传输协议
多语言视角
小结
套接字编秆API
参考文献
资源
第14章 GNU/Linux进程模型
概述
GNU/Linux进程
旋风式简介
传统的进程API
系统命令
小结
proc文件系统
资源
API小结
第15章 POSIX线程(P线程)编程
概述
P线程API
构建使用线程的应用程序
小结
参考资料
API小结
第16章 消息队列IPC
概述
消息队列简介
消息队列API
用户工具
小结
消息队列API函数
第17章 旗语同步
概述
旗语理论
GNU/Linux旗语快速简介
旗语API
用户工具
小结
旗语API
第18章 共享内存编程
概述
快速了解共享内存
共享内存API
使用共享内存区段
用尸工具
小结
参考文献
共享内存API
第19章 高级文件操作
概述
列举目录
小结
高级文件操作API
第20章 其他应用程序开发主题
概述
Linux错误报告
小结
API小结
第Ⅳ部分 GNU/Linux的shell与脚本
第21章 GNU/Linux标准命令
概述
重定向
小结
第22章 Bourne-Again shell(Bash)
概述
bash脚本
条仆结构
循环结构
输入与输山
函数
示例脚木
其他脚本语言
小结
资源
第23章 使用sed进行编辑
概述
剖析一个简单的脚本
sed空间(缓冲器)
典型的sed命令行选项
正则表达式
操作范围
基本的sed指令
小结
一些有用的sed单行程序
资源
第24章 使用awk进行文本处理
概述
命令行awk
脚本awk
其他awk样式
小结
有用的awk单行程序
第25章 使用flex和bison
生成解析器
概述
司法分析和语法处理
词法分析器和解析器的通信
flex工具
bison工具
一个简单的语法
在bison十编写语法
连接语法解析器和词法分析器
构建一个简单的配置解析器
配置文件词法分析器
个局图像
小结
第26章 Ruby脚本编程
概述
Ruby简介
Ruby快速示例
语言元素
高级功能
Ruby作为嵌入式语言
小结
资源
第27章 Python脚本编程
概述
Python简介
Python快速示例
语言元素
高级功能
小结
资源
第28章 GNU/Linux管理基石出
概述
Linux文件系统浏览
套件管理
内核更新
小结
第V部分调试与测试
第29章 软件单元测试框架
概述
单元测试
单元测试框架
小结
资源
第30章 用GDB进行调试
概述
为GDB进行编译
其他GDB调试主题
小结
资源
第31章 代码硬化
概述
代码硬化技术
源码检查丁具
代码跟踪
小结
资源
第32章 用GNU gcoy进行覆盖测试
概述
什么是gcov
准备映像
使用gcov工具
gcov可用的选顶
注意事项
小结
参考文献
资源
第33章 用GNU gprof进行
性能分析
概述
什么是性能分析
什么是gproE
准备映像
使用gprof工具
注意事项
小结
参考文献
第34章 高级调试主题
概述
内存调试
交叉引用工具
用ltrace跟踪系统调用
动态挂接GDB
小结
资源
附录缩写与部分缩写词
GNU/Linux是操作系统中的“瑞士车刀”。从最小的设备(如苹果的iPod)到最大的设备(如;IBM的“蓝色基因”巨型机)中部可以看到它的踪影。你会发现GNU/Linux运行在很多不同的架构中,从老式的x86处理器到PlayStation3使用的cell处理器,不一而举。本书提供GNU/Linux操作系统上的应用程序开发的基础知识。无论你是为iPod还是BlueGene开发应用程序,所需要的编程概念与API均可以在本节中找到。
本书内容
本书全面介绍GNU/Linux环境下应用程序丌发的所有知识。全书五部分,包含GNU工具、应用程序开发、shell与脚本、调试与硬化及——些介绍性的主题,如虚拟化基础。
具体包含以下主题。
GNU/Linux架构与虚拟机制。
GNU工具,如GCC、make、automake/autoconf、源代码拧制系统、GNU Debugger以及GNUplot。
应用程序开发基础,如库(静态的和动态的)、文件管理、管道、套接字、编程等。
GNU/Linux进程模型(包括线程)和POSIX IPC机制(消息序列、旗语及共享内存)。
shell与脚本基础,从相应的GNU/Linux命令到Bash、Ruby以及Python。sed和awk文本管理,flex和bison语法分析器生成。
本书还覆盖调试和硬化技术,包括软件测试工具、覆盖测试和利用GCov和GProf的剖析及内存调试工具(如valgrind等)。
本书配套资源
本书面向的读者
如果你想学习如何开发运行与GNU/Linux操作系统有关的应用程序,或者想扩充知识以进入更高深的开发领域,那么本书就是为你而写的,本节适合GNU/Linux初级和中级程序开发人员阅读与参考。书中覆盖相关的工具、API及开发技术,并通过大量实例来阐明如何使用GNU/Linux的API。
插图:
完全虚拟化
完全虚拟化方法为客户操作系统创建一个虚拟机实例,使客户操作系统可以不加修改地运行。虚拟机模拟底层硬件的某些部分,捕捉需要由管理程序(虚拟机监视器)进行仲裁的调用。这种虚拟化模式如图4.1所示。
完全虚拟化要求所有的操作系统都是针对同一处理器架构开发的,这是一个很普通的要求,实验性的或开发中的系统可能不能满足这一点。运行中各个操作系统都不加改动并且不知道它是在一个虚拟平台上执行。此外,完全虚拟化可以在支持虚拟化的硬件上运行。虚拟化当中最大的问题是如何处理特殊的特权模式指令。这些指令必须被正确捕捉并且由管理程序处理。所以在一个未加修改的操作系统中(没有虚拟化硬件),必须找出这些调用并转换为管理程序调用。这个过程称为代码扫描,其结果是向原始代码中找到的特权捕获指令处插入管理程序调用代码。
准虚拟化
最近的公告修改了“准虚拟化”的定义。早期的准虚拟化方法要求对修改客户操作系统,使得操作系统知道它实际上已经被虚拟化了。这意味着更高的性能(因为不必进行代码扫描),但也限制了能被虚拟化的操作系统(见图4.5)。
但是现在,准虚拟化的定义已经变化了。拥有了支持虚拟化的硬件,操作系统的修改不再必要。这意味着所有的操作系统都可以被虚拟化,因为虚拟化对各个客户操作系统都是透明的(见图4.6)。
喜欢GNU/LINUX环境编程(第2版) [平装]请与您的朋友分享,由于版权原因,读书人网不提供图书下载服务