Linux教程 GNU C 程序观察 pdf电子书籍下载百度云

Linux教程 GNU C 程序观察 pdf电子书籍下载百度云

Linux教程 GNU C 程序观察 pdf电子书籍下载百度云

Linux教程 GNU C 程序观察 pdf电子书籍下载百度云

Linux教程 GNU C 程序观察 pdf电子书籍下载百度云

Linux教程 GNU C 程序观察 pdf电子书籍下载百度云

 

Linux教程 GNU C 程序观察pdf百度网盘下载地址?

本书所讨论的内容是“C语言程序设计”类课程的后续知识,涉及C程序在Linux教程环境下经过GCC编译/链接生成可执行文件以及在系统中运行的问题。本书能使读者在面对C程序的工程实践问题时,做到心中有数、处处不存疑。

全书共7章,第1章介绍环境准备,第2章介绍C程序的预处理、编译、汇编和链接的全过程,并介绍了一点关于GCC编译命令及编译选项、GDB调试初步概念,第3章专注于编译环节,即从C到汇编的转换,第4章专注于链接过程,第5章介绍可执行文件在系统中运行时,观察进程与系统的关系、进程对库的调用、程序异常行为等问题,第6、7章介绍一些性能剖析方法,包括GCC自带工具、库函数打桩方法、valgrind及perf工具的简单使用等,第8章介绍一个综合性的实例,即如何将HDFS文件系统使用的gzip压缩,从利用zlib库在CPU上计算转换成利用FPGA卡的过程。该实例涉及库的使用和修改、makefile以及相应的C程序实现等多方面知识,让读者从一个工程需求的角度考察其方案与实现。每章后面都有一些练习题,其中有一个与zlib库相关的任务贯穿了各章,读者通过这个连贯的练习将各章知识融会贯通。

/* 条目添加者注:大家可以看一下本书的前言,对于了解本书的定位和本书与作者其它书籍的关联有帮助。 */

前言

我们在系统软件的教学和学生培养中,深感教材的缺乏。以往只能在项目实践中,让学生通过网络上的零散资料来完成相关知识的补充学习,然后才能参与到项目中。我们认为,计算机作为实践性很强的学科,如果教学和实验不能紧密联系具体的系统,无法面对和解决工程问题,就不能算成功。Linux教程系统作为一个开源的资源,为我们提供了良好的机会,可以将底层系统软件的相关技术细节完全呈现出来。为此,我们的第一步计划是提供最基本的一条学习通路,将应用程序和系统打通,形成系统软件技术学习丛书,其进阶学习流程如下。

学生在完成C语言程序设计、数据结构和算法课程的学习之后,可以通过本书补充C程序与系统的知识。C语言程序设计作为“上半部”知识,而本书作为“下半部”知识,从而形成C程序自身完整的知识结构。

然后将视角从一个程序扩展到整个系统中,需要面对多个进程并发的操作系统环境。此时仅靠本科操作系统原理性课程的学习仍是不够充分的。一方面,可以通过《操作系统之编程观察》(清华大学出版社,书号978-7-302-48973-3)介绍的用proc文件系统提供的内核运行数据,直观地观察Linux教程操作系统的进程调度与均衡、进程间通信、内存管理和文件系统等行为,加深理论概念的认识;另一方面从《操作系统原型: xv6分析与实验》(即将出版)对操作系统实现中的关键机制进行探索,掌握其编码实现的关键细节,弄懂操作系统编码实现的最核心知识。

最后,在有需要的时候学习《Linux教程技术内幕》(清华大学出版社,书号978-7-302-45100-6)。通过对真实的、完善的(相对于xv6的原型代码而言)、稳定的Linux教程内核代码进行学习,掌握Linux教程内核实现细节并可以尝试根据工程需要对Linux教程系统进行修改增强。

上述4个相关联、递进的知识板块及学习安排,是我们在PHPC(个人高性能计算机)系统研制的学生培养过程中积累下来的,希望能对有志于投身系统软件开发的读者有所帮助。

编者

2018年4月Linux教程 GNU C程序观察

我们在当前的C语言程序设计教学工作中,对C语言的语法和编程技术虽然都已经讨论得非常充分,但是作为计算机的“系统观”的建立,只能说仅完成了一半的任务。从C语言如何转换到汇编语言进而生成机器码形式的可执行文件,以及可执行文件如何装入内存并在操作系统环境中运行的细节,对大多数完成本科课程学习的学生而言,仍未达到解惑的程度。学生也许可以通过在网络上找到的业界大牛们提供的零散材料,自行建立起相应的认识,但这毕竟是一个耗时和低效的学习过程。

本书希望将上述知识,组织成一个相对完整、便于学习与实践的材料,在计算机系统课程学习中(例如深圳大学的“计算机系统2”)作为实验补充材料,让学生全面接触从C语言转换到汇编、进而生成机器码形式的可执行文件直至运行的全过程。在这种学习安排下,即使学生未修学编译原理课程,也能大致理解编译过程所使用的代码转换模板、链接中的符号解析和重定位等知识。除此之外,本书也介绍了程序在系统中运行的各种行为、代码调试和性能剖析工具的使用,对程序生成过程和运行过程都进行细致的观察——类似于电路与系统课程使用的万用表、示波器和频谱仪。有了这些“测量工具”后,C语言的实验教学才能从当前的“犹抱琵琶半遮面”的境况,变得相对完整起来。

罗秋明

于深大荔园

2020.1

本书获得深圳市科创委基础研究项目JCYJ20170302153920897云环境中的异构存储资源分配与性能优化研究、JSGG20170822110100205基于开放技术的可信多路高端计算系统研发的资助。感谢深圳大学计算机与软件学院“计算机系统2”课程组的老师,大家一起完成了广东服教育厅应用型人才培养课程建设项目“计算机系统系列核心课程”的实验内容和教学材料的准备工作,其中的部分工作正是本书的内容。特别感谢刘刚老师在相关实验的设计开发中给予的帮助。

还要感谢2018级的研究生杜海鑫、张靖、吴坤鑫和沙士豪三位同学,他们承担了部分书稿的整理、校对和实验代码的设计及检验等工作。其中,杜海鑫同学完成了第8章zlib库的代码开发和部分撰写工作,并对第4章、第5章和第8章内容进行整理和校对。吴坤鑫同学提供了7.2节、7.3节和7.4节的材料。张靖同学负责第1章、第2章和第3章材料的校对,沙士豪同学负责第6章和第7章材料的校对。

在上述老师和同学的大力支持下,本书终于完稿并与读者见面。再次对他们表示衷心的感谢!

Linux教程教程作者简介:

深圳大学计算机与软件学院副教授,广东服国产高性能计算系统工程技术研究中心副主任、深圳市服务计算与应用重点实验室常务副主任,长期从事高性能计算研究。华中科技大学计算机科学与技术博士学位。著《OpenMP编译原理及实现技术》《Linux教程技术内幕》《操作系统之编程观察》译《Intel Parallel Studio环境下的并行程序设计》。发表论文40多篇(含SCI/EI索引多篇),承担和参与国家、服、市科研项目多项,2009-2010年参与基于龙芯3多核处理器的万亿次个人高性能计算机KD-60研制2011~2012年参与基于龙芯3号8核处理器的普及型高性能计算机KD-90研制,上述成果通过安徽服科技厅鉴定。2004-今,深圳大学计算机与软件学院从事科研与教学工作,本科及研究生课程:《操作系统》《现代操作系统》《操作系统课程设计》《计算机体系结构》《Inte... 深圳大学计算机与软件学院副教授,广东服国产高性能计算系统工程技术研究中心副主任、深圳市服务计算与应用重点实验室常务副主任,长期从事高性能计算研究。华中科技大学计算机科学与技术博士学位。著《OpenMP编译原理及实现技术》《Linux教程技术内幕》《操作系统之编程观察》译《Intel Parallel Studio环境下的并行程序设计》。发表论文40多篇(含SCI/EI索引多篇),承担和参与国家、服、市科研项目多项,2009-2010年参与基于龙芯3多核处理器的万亿次个人高性能计算机KD-60研制2011~2012年参与基于龙芯3号8核处理器的普及型高性能计算机KD-90研制,上述成果通过安徽服科技厅鉴定。2004-今,深圳大学计算机与软件学院从事科研与教学工作,本科及研究生课程:《操作系统》《现代操作系统》《操作系统课程设计》《计算机体系结构》《Intel并行编程工具》等。

Linux教程教程目录:

第1章实验环境构建 1

第2章程序编译与运行 38

第3章数据、运算与控制 86

第4章链接与可执行文件 161

第5章链接脚本与makefile 252

第6章程序运行 284

第7章性能剖析 327

第8章综合实例:HDFS中实现zlib库的旁路 377

第1章实验环境构建1

第2章程序编译与运行38

第3章数据、运算与控制86

第4章链接与可执行文件161

第5章链接脚本与makefile252

第6章程序运行284

第7章性能剖析327

第8章综合实例:HDFS中实现zlib库的旁路377

linux教程书籍PDF百度网盘下载

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/linux%e6%95%99%e7%a8%8b-gnu-c-%e7%a8%8b%e5%ba%8f%e8%a7%82%e5%af%9f-pdf%e7%94%b5%e5%ad%90%e4%b9%a6%e7%b1%8d%e4%b8%8b%e8%bd%bd%e7%99%be%e5%ba%a6%e4%ba%91.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2022年7月4日 下午1:56
下一篇 2022年7月4日 下午1:56

猜你喜欢