


定价:59.8元
印次:1-1
ISBN:9787302718284
出版日期:2026.06.01
印刷日期:2026.06.04
图书责编:黄芝
图书分类:教材
"本书全面、系统地介绍系统级编程原理及在分布式网络通信中的应用和实现,是编程技术的提高篇。全书共9章,主要包括两部分内容。第一部分循序渐进、由浅入深地帮助读者掌握系统级编程及网络通信基础知识,通过介绍软件系统的构造过程,回答大型软件系统是如何编译和如何自动构造的,同时详细介绍了系统级软件在实现过程中所涉及的进程、线程、资源共享及网络通信等基础知识,通过系统的介绍和实例演示,帮助读者从零开始建立起系统级编程的认知和实践能力。在分布式系统实现过程中,基于第一部分所介绍的基础技术及套接字通信产生了一批更高层的分布式系统技术架构,如远程过程调用技术(RPC)、基于SOAP的服务计算、RESTful、微服务架构等。本书第二部分重点介绍上述已有的主流分布式系统框架,针对大型分布式系统的实现,开发者可借助上述常用分布式系统架构和技术,更加快速、高效地构建分布式应用。 本书内容详尽明晰,难易适度,既可作为在校专科生、本科生及研究生的编程类课程教材,也可作为从事系统级软件开发从业人员或有意考取系统开发相关证书的应试人员的参考书。 "
李传煌,教授,博导,浙江省科技创新领军人才。现任浙江工商大学科技部部长、网络与通信工程研究所所长。曾任信电学院副院长、网络信息中心副主任。研究方向为新一代网络、算力网络与边缘计算。主持国家级项目3项,参与多项国家级重点项目,联合制定RFC6956等国际标准,发表论文50余篇,授权专利37项。
前言 在实现一个大型软件系统时,大规模的源文件是如何编译的?软件系统是如何自动构造的?编写能实现分布式通信的系统级软件还需要掌握哪些知识?已基本掌握数据结构及基本编程语言的刚入门的初级编程人员,一般只会简单的函数级编程,往往希望能进一步解答上述问题。系统级编程涉及众多知识点,分散在分布式系统、操作系统、网络通信等多门传统课的教材中,本书是一本全面、系统介绍系统级编程相关知识要点的书籍,让这些初级编程者能循序渐进地向系统级编程进阶。 本书站在网络通信的角度讲述系统级编程,将分散在多门传统课教材中的编程知识点,按照技术原理到具体实现的思路汇聚形成新的体系,同步以项目化的形式配以清晰的实践案例和丰富的样例代码库。 通过本书的学习,初级编程人员不但可以学会网络编程的基本知识、设计思想和方法,更重要的是,能够站在更高层面看待分布式通信编程技术原理,建立系统级编程概念,学会分布式网络通信的系统级程序设计的通用方法,从而步入系统级编程的大门,迅速上手系统级软件和企业级项目的开发。 本书主要包括两部分,第一部分循序渐进、由浅入深地帮助读者掌握系统级编程及网络通信基础知识,通过介绍软件系统的构造过程,回答大型软件系统是如何编译和如何自动构造的,同时详细介绍了系统级软件在实现过程中所涉及的进程、线程、资源共享及网络通信、套接字编程等基础知识,通过系统的介绍和实例演示,帮助读者从零开始建立起系统级编程的认知和实践能力 。随着学习的深入,参与实际的项目开发,读者将能够设计和编写出更复杂的软件系统。本部分所介绍的系统级编程基础方法,特别是在计算、...
目录
程序源码
第一部分系统级编程及网络通信基础
第1章系统级软件构建基础
1.1软件构建系统过程中常用的编译工具
1.1.1GCC编译器的基本工作过程
1.1.2GCC编译器的使用
1.1.3软件构建系统过程中的补充说明
1.2基于make的构建工具
1.2.1Makefile的入门示例
1.2.2Makefile详解
1.2.3make的工作原理
1.3基于CMake的构建工具
1.3.1CMake的安装
1.3.2CMake的原理
1.3.3CPack的打包
1.4CMake构建软件综合实例
1.4.1项目结构
1.4.2实例实现
1.4.3运行结果
1.5本章小结
1.6习题1
第2章系统级软件多任务编程技术
2.1概述
2.1.1并行与并发
2.1.2进程与线程
2.1.3多任务协同
2.2多进程编程实践——以Linux平台为例
2.2.1进程控制
2.2.2消息队列
2.3多线程编程实践——以Linux平台为例
2.3.1线程控制
2.3.2线程协同
2.3.3线程池
2.4本章小结
2.5习题2
第3章系统级软件开发中的死锁问题
3.1死锁概述
3.2死锁的解决策略
3.3编程技巧与实践
3.4本章小结
3.5习题3
第4章软件系统网络通信的实现
4.1网络通信基础
4.1.1OSI参... 查看详情
通过本书的学习,初级编程人员不但可以学会网络编程的基础知识、设计思想和方法,更能站在更高层面看待分布式通信编程技术原理,建立系统级编程概念,学会分布式网络通信的系统级程序设计的通用方法,从而步入系统级编程的大门,迅速上手系统级软件和企业级项目的开发。





