全书共五篇,以从易到难的顺序详细剖析了Linux内核开发的核心技术。“知识储备篇”介绍了Linux的数据结构、中断处理、内核同步和时间计算等内容,这些是理解后续章节的前提;之后通过“内存管理篇”“文件系统篇”“进程管理篇”详细介绍了Linux的三大核心模块;最后的“综合应用篇”则融合了前面诸多模块知识展示了Linux内核开发在操作系统、智能设备、驱动、通信、芯片、云计算和人工智能等热点领域的应用。书中的重点、难点均配有图表、代码和实战案例,力求直观、清晰。 学习本书的读者需要熟悉C语言,建议对Linux内核有一定了解。推荐初学者按照本书的编排顺序阅读,而熟悉Linux内核的读者可以跳过知识储备篇,直接从三大核心模块篇进行阅读。 本书深入浅出、配图丰富,可作为Linux初中级读者系统学习Linux内核开发的指导手册,也可作为从事嵌入
本书讲解了Linux驱动开发的基础知识以及所用到的开发环境,全书分为22章,其内容涵盖了各种Linux子系统,包含内存管理、PWM、RTC、IIO和IRQ管理等,还讲解了直接内存访问和网络设备驱动程序的实用方法。在学完本书之后,读者将掌握设备驱动开发环境的概念,并可以从零开始为任何硬件设备编写驱动程序。 阅读本书需要具备基本的C语言程序设计能力,且熟悉Linux基本命令。本书主要是为嵌入式工程师、Linux系统管理员、开发人员和内核黑客而设计的。无论是软件开发人员,还是系统架构师或制造商,只要愿意深入研究Linux驱动程序开发,阅读本书后都将有所收获。
本书是面向操作系统导论课程的经典书籍,从第1版至今被国内外众多高校选作教材。全书共九个部分,相较于上一版增加了三个部分,并且优化了各章的编排顺序。本书不仅详细讲解进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版在移动操作系统、多核系统、虚拟化和NVM外存等方面做了大幅更新,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
《Linux UNIX系统编程手册(上、下册)》是介绍Linux与UNIX编程接口的权 威之作。Linux编程资 深专业人士Michael Kerrisk在书中详细描述了Linux UNIX系统编程所涉及的系统调用和库函数,并辅之以全而清晰的代码示例。《Linux UNIX系统编程手册(上、下册)》涵盖了逾500个系统调用及库函数,并给出逾200个程序示例,另含88张表格和115幅示意图。 《Linux UNIX系统编程手册(上、下册)》总共分为64章,主要讲解了高效读写文件,对信号、时钟和定时器的运用,创建进程、执行程序,编写安全的应用程序,运用POSIX线程技术编写多线程程序,创建和使用共享库,运用管道、消息队列、共享内存和信号量技术来进行进程间通信,以及运用套接字API编写网络应用等内容。 《Linux UNIX系统编程手册(上、下册)》在汇聚大批 Linux专有特性(epoll、inotify、 proc)的同时,还特意强化了对UNIX标准(POSIX、SUS)
本书基于Windows 10和Windows Server 2016编写,深入解析Windows操作系统的系统架构、进程、线程、内存管理等知识,旨在帮助读者了解Windows 10和Windows Server 2016操作系统内部工作原理,使之在针对Windows平台开发应用程序时,可以更好地理解不同设计机制间的关系。 本书先介绍Windows的基本概念和工具以及Windows的架构和主要组件,然后详细介绍进程和作业、内存管理、I/O系统等内容,*后介绍Windows内置的安全机制以及用于阻止滥用的各种缓解措施。 本书辅以大量实验,并给出了具体步骤,可供读者自行尝试,让他们通过内核调试器、Sysinternals工具和专为本书内容开发的其他工具一窥Windows的工作原理,进而能够将这些知识应用于改进应用程序设计、调试以及系统性能和支持。 本书适合希望了解Windows 10和Windows Server 2016操作系统内部工作原理的开发者、系统管理员及安全研
在过去的十几年中,软件测试技术的演进突破了曾经的局限,发生了翻天覆地的变化,在新的领域有了更广泛的应用场景。 本书从现代软件测试技术的视角,深入探讨近年来涌现和快速发展的测试技术,以及在快速变化的技术环境中依然保持高度相关性和实践价值的方法论与技巧。本书内容主要包括现代软件测试的工程理念,测试策略、分析和设计,测试与系统架构的关系,各项测试技术精要,自动化测试框架的设计与实现,AI产品、大数据产品、区块链、图形图像相关测试技术,以及大模型赋能下的测试智能化等。 我们希望这是一本软件测试技术领域的 百科全书 ,无论你是希望在专业领域不断精进的技术专家,还是希望打下扎实基础的入门读者,都能从本书中汲取宝贵的经验。
FPGA正在掀起一场数字信号处理的变革。 《数字信号处理的FPGA实现(第4版)》旨在讲解前端数字信号处理算法的高效实现。首先概述了当前的FPGA技术、器件以及用于设计先进DSP系统的工具。 《数字信号处理的FPGA实现(第4版)》第1章的案例研究是40多个设计示例的基础。随后几章阐述了计算机算法的概念、理论、FIR和IIR滤波器的实现、多抽样率数字信号系统、DFT和FFT算法、未来很可能实现的高级算法以及自适应滤波器等。每一章都包含练习。附录中给出了Verilog源代码和术语。 《数字信号处理的FPGA实现(第4版)》新增内容: 超过10个使用VHDL和Verilog设计的新的系统级案例研究 新增一章专门介绍图像和视频处理 更新后的AlteraQuartus和全新的ModeISim仿真工具 XilinxAtlys板卡和ISIM仿真支持 有符号定点数和浮点数IEEE库示例 概述
欢迎使用更高效的方式来学习PHP和MySQL。PHP曾经是最流行的Web开发语言,许多世界领先的网站(如Facebook、维基百科和WordPress)都是用它编写的。PHP运行在Web服务器端,通过使用存储在MySQL数据库中的数据,使得网站可以为每一位访问者显示不同的定制页面。书中采用简单、直观的图示化讲解风格,并辅以简短的代码示例,使得读者能够轻松地使用PHP和MySQL开发网站;网站具有丰富的功能,允许访问者注册为会员、创建文章、编辑文章、上传图片、管理个人资料、发表评论或 点赞 帖子等等。 ● 学习内容 阅读和编写PHP代码 使用MySQL数据库存储数据 创建适合每位访问者的页面 构建内容管理系统或社交网络 ● 传授技能 管理内容 注册成为会员 上传图片和媒体 评论和点赞 ● 在线支持 www.phpandmysql.com 在线运行代码示例 下载完整示例网站 额外参考资料
C#的应用领域极广,是编程语言中的翘楚。作为畅销的C#系列图书的最新版本,本书涵盖C#12和.NET 8的所有最新功能,将帮助你夯实基础,让你自信地使用最新C#和.NET构建项目。 《C# 12和.NET 8入门与跨平台开发(第8版)》讨论面向对象编程、编写函数、测试函数调试函数及实现接口等主题;介绍.NETAPI,这些API可执行多种任务,如管理和查询数据,使用文件系统、序列化。你可用ASP.NET Core来构建和部署本书列举的跨平台示例应用程序,如网站和服务 《C# 12和.NET 8入门与跨平台开发(第8版)》示例中融入了.NET 8的增强功能,使用类型别名和主构造函数来实现简洁的、表达力强的代码。你将使用新增的、内置的保护子句来可靠地处理错误,并探索ASP.NET Core 8中简化的缓存实现。 你还将看到,在发布过程中使用原生的AOT编译能够缩短启动时间和减少内存占用。你还将使用Visua Studio
《代码大全2(纪念版)》作为名家经典著作,是一本完整的软件构建手册,涵盖软件构建过程中的所有细节。它从软件质量和编程思想等方面论述软件构建的各个主题,并详细论述主流的新技术、高屋建瓴的观点和通用的概念,还含有丰富而典型的程序示例。本书所论述的技术不仅填补了初级与中高级编程技术之间的空白,同时还为程序员提供了一个有关编程技巧的信息来源。 《代码大全2(纪念版)》对经验丰富的程序员、技术带头人、自学的程序员及几乎不懂太多编程技巧的学生大有帮助。无论是什么背景的读者,都可以通过阅读和领会本书,在更短的时间内更轻松地写出更好、更简洁和更优雅的程序。 进度失控,几乎是每一个软件开发项目挥之不去的噩梦。如何从容赶急,如何通过正确的开发策略和原则,避免典型错误,有效地进行风险管理,从多个方面
本书是UNIX网络编程的经典之作。书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户 服务器程序的各种设计方法也作了完整的探讨,*后还深入分析了流这种设备驱动机制。 本书内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
国内大部分的开发者和公司都从事的是应用层的开发,平时大家更多关注的是应用层的开发技术。但应用层是建立在CPU和内存等硬件、操作系统内核、语言运行时的基础之上的。如果缺乏对这些底层知识的理解,驾驭技术的能力就无法精进,也很难开发出高性能、高稳定性的应用。 本书主要包括CPU和内存硬件、进程创建和调度原理、虚拟内存底层机制、Go 用户态协程实现、容器cgroup资源限制,以及throttle、CPU利用率和负载等性能指标统计原理等内容,最后过渡到性能优化手段,带领大家修炼底层内功,掌握高性能原理。
本书对 Linux 作系统早期内核(V0.12)全部源代码文件进行了详 细、全面的注释和说明,旨在帮助读者用较短的时间对 Linux 的工作机理 获得全面而深刻的理解,为进一步学习和研究现代 Linux 系统打下坚实的 基础。虽然分析的版本较低,但该内核已能够正常编译运行,并且其中已 包括了 Linux 工作原理的精髓。书中首先概要地介绍了 Linux 内核发展历 史,说明了各内核版本之间的主要区别和改进,给出了选择 0.12 版内核源 代码作为研究对象的原因。然后给出了阅读内核源代码所需的相关基础知 识,概要介绍了运行 Linux 系统的 PC 硬件组成结构、编写内核使用的汇编 语言和 C 语言扩展部分,并且重点说明了 80x86 处理器在保护模式下运行 的编程方法。接着介绍了内核代码概况,给出了内核源代码目录树结构, 并依据该组织结构对所有内核程序和文件进行了详细描述和
成为解决方案架构师,必须熟练掌握各类技术栈,洞悉业务流程,本书将带你了解成为一名成功的解决方案架构师所需要了解的基本概念、设计原则和模式、架构考量以及相关的新技术。 本书是一部深度解读并实践解决方案架构师这一角色的综合性指南。书中不仅详细介绍了设计支柱、高级设计模式、反模式以及现代软件设计的云原生方面的知识,还阐述了解决方案架构师在不同层次的任务和责任——从技术架构设计的基本原则到实际项目中的难点突破,再到面对新兴技术挑战时的应对手段,都有着详尽而实用的解说。同时,作者并未忽视那些在架构设计之外同样至关重要的软技能,如沟通协调、团队领导力、创新能力,以及对于行业趋势的敏锐度等,这些都是决定一位解决方案架构师能否在实践中游刃有余、脱颖而出的关键品质。 相较于第1版,第2版与时俱进地
《乐高机械结构设计》详细讲解了6大类100多款乐高机械结构作品,包括齿轮机构、连杆机构、传动机构、机械手、变速箱和综合装配等几种类别。一书在手,可以基本掌握常用的机械结构设计方法。本书尝试在乐高科技零件和机械结构设计之间建立一座桥梁,为机械原理的物化表现提供一套解决方案。想学习、加强结构设计的乐高爱好者和机械专业的学生都可一读。本书采用互联网 设计理念,读者随时可以通过手机扫码获得在线技术支持,使阅读、使用本书不再有任何障碍和困难。 《乐高机械结构设计》的目标读者是乐高机器人、机械结构爱好者、高校机械类专业学生、机械设计从业人士。跟随本书中的案例进行搭建、设计,可以让读者在充满趣味的过程中掌握很多机械结构设计知识。 《乐高简单机械创意设计》定位于乐高入门级培训和技术指导,讲解了5个
本书着重介绍Armv8-M架构以及Cortex-M23和Cortex-M33处理器的可用功能。该书涵盖了一系列主题内容,包括指令集、程序员模型、中断处理、操作系统支持和调试功能。本书通过一系列实例演示了如何为Cortex-M23和Cortex-M33处理器创建软件,使嵌入式软件开发人员对Armv8-M架构有所了解。本书还详细介绍了TrustZone?技术,包括该技术如何有利于物联网应用的安全、操作、该技术如何影响处理器的硬件(如内存架构、中断处理等),以及创建安全软件的各种其他注意事项。
《Linux从入门到精通(第3版)》是获得大量读者好评的 Linux典藏大系 中的经典畅销书《Linux从入门到精通》的第3版。《Linux从入门到精通》第2版累计30次印刷,印数超过10万册,多次被评为清华大学出版社 年度畅销书 ,还曾获得 51CTO读书频道 颁发的 最受读者喜爱的原创IT技术图书奖 ,并被ChinaUnix技术社区大力推荐。《Linux从入门到精通(第3版)》基于新发布的Ubuntu 22.04,循序渐进地向读者介绍Linux的基础应用、系统管理、网络应用、娱乐与办公、程序开发、服务器配置和系统安全等相关知识。《Linux从入门到精通(第3版)》提供教学视频、思维导图、教学PPT、习题参考答案和软件工具等超值配套资源,帮助读者高效、直观地学习。 《Linux从入门到精通(第3版)》共27章,分为7篇。第1篇 基础知识 ,包括Linux概述、Linux的安装、Linux的基本配置、桌面环境。第2篇 系
本书是介绍Arduino基础入门以及应用的权威手册,适合新手入门使用,也适合有经验的开发者查漏补缺。第1章从最基础的Arduino开发环境搭建讲起,第2章着重讲解了Arduino所用开发语言的基础语法,第3章讲解了用代码实现数学运算。后续各章则通过一个个应用场景将各个技术点逐一展开介绍,不但提供了完整的代码,而且详细解释了涉及的技术原理。本书的最后三章(即第16~18章)则介绍了开发中常用的高级技巧。
本书讲述了Linux系统及其他UNIX风格的操作系统上的程序开发,主要内容包括标准Linux C语言函数库和由不同的Linux或UNIX标准指定的各种工具的使用方法,大多数标准Linux开发工具的使用方法,通过DBM和MySQL数据库系统存储Linux中的数据,为X视窗系统建立图形化用户界面等。本书通过先介绍程序设计理论,再以适当的例子和清晰的解释来阐明它的方式,帮助读者掌握相关的知识。 本书适合Linux的初学者及希望利用Linux进行开发的程序人员阅读,也适合作为高等院校计算机相关专业师生的参考教材。
本书对大前端技术栈进行了全面的讲解,以实战驱动教学,内容涉及HTML5 CSS3模块、JS模块、jQuery模块、Bootstrap模块、Node.js模块、Ajax模块、ES6新标准、Vue框架、UI组件和模块化编程等。本书厚度有限,但学习的空间无限。 全书共分为五个阶段,共18章。阶段走进前端之HTML5 CSS3(第1~6章),第二阶段探索JS的奥秘(第7~8章),第三阶段PC端整栈开发(第9~11章),第四阶段ES6 Node 工程化(第12~14章)和第五阶段Vue技术栈(第15~18章)。书中引入了丰富的实战案例,实际性和系统性较强,能够很好地帮助读者提升就业竞争力。书中还引入了3个企业级实战项目,为打造企业刚需人才。 本书适合初、中级前端开发者、渴望了解前端知识整体脉络的程序员,以及希望突破瓶颈进一步提升的工程师阅读。
嵌入式微处理器功能强大、节能和低成本与嵌入式Linux系统的灵活性结合,促使业界许多公司基于嵌入式微处理器开发出了很多新产品。本书教读者基于设备树嵌入式Linux系统如何开发设备驱动程序。读者将学习编写不同类型的Linux驱动程序,以及与内核和用户空间交互的应用程序程序接口(API)和方法。本书以实战为核心,阐述了Linux内核基础知识,将编写大约30个驱动程序并移植到三种不同的微处理器上。本书在实验部分中基于NXP i.MX7D、Microchip SAMA5D2和Broadcom BCM2837三种不同微处理器详细阐述了驱动程序的开发的实现,读者可参考实验部分选择开发和测试自己的驱动程序。在阅读本书之前,建议读者先购买一个基于这些微处理器之一的开发板,板上至少应有一个SPI和I2C控制器,例如Raspberry Pi3模型B板。