本书是将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的 优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。
本书共13章,操作系统部分涉及内存管理、进程管理、文件系统、同步管理,以及系统调用。SoC(即片上系统)部分涉及SoC启动的过程、设备模型、设备树原理、电源模块、时钟模块、引脚模块、时间模块和中断模块,这些模块都是芯片运行的基本要求。作者站在一线开发者的角度先剖析了Kernel 6.6的实现原理,然后结合恩智浦i.MX9芯片的SoC 硬件原理,由浅入深地讲解了操作系统和SoC 的深层原理。 本书适合互联网开发从业人员、芯片开发相关人员阅读,也适合计算机及相关专业的在校学生作为专业参考书阅读。
本书是知名度颇高的Linux入门书《鸟哥的Linux私房菜基础学习篇》的新版,全面而详细地介绍了Linux操作系统。 全书分为五部分:*部分着重说明计算机的基础知识、Linux的学习方法,如何规划和安装Linux主机以及CentOS 7.x的安装、登录与求助方法;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理、磁盘配额、高级文件系统管理、计划任务以及进程管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 本书内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操
本书涵盖动态系统分析、经典控制理论与现代控制理论的核心内容。其中,经典控制理论以拉普拉斯变换为数学工具,通过传递函数分析系统的表现并进行控制器的设计;现代控制理论则是以状态空间方程为研究对象,以微分方程和线性代数为数学工具,从时域的角度分析系统的表现并设计系统的控制器。 本书在多个章节对比讲解两种理论之间的区别与联系。本书的目标是以简单的语言讲述复杂的知识,希望本书可以引起读者对控制理论的兴趣,并掌握控制理论的核心精神所在,为未来深入学习其他相关知识打下基础。同时,本书的 实战性 很强,大部分章节以一个实际例子入手,从开发者的角度展开分析并引出知识点。
《MATLAB科技绘图与数据分析》结合作者多年的数据分析与科研绘图经验,详细讲解MATLAB在科技图表制作与数据分析中的使用方法与技巧。全书分为3部分,共12章,第1部分(第1~3章)主要讲解MATLAB的基础知识,包括MATLAB的操作环境、文件操作、程序设计等;第2部分(第4~8章)结合MATLAB在数据可视化方面的功能,详细讲解MATLAB中的图窗信息、二维图绘制、三维图绘制、专业图绘制、句柄图形对象等科技绘图方面的知识;第3部分(第9~12章)讲解数据描述性分析、插值与拟合、回归分析、优化问题求解等 内容。《MATLAB科技绘图与数据分析》还配套提供了近300个示例的教学视频与上机练习资源文件,可帮助读者大大提升学习效率。 《MATLAB科技绘图与数据分析》注重实操,示例丰富,图表精美,适合从事数据可视化与数据分析的科研工程技术人员、工程师,以及高校相
这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为Web、数据库、客户端、控制台和嵌入式应用程序设计最佳的高级结构。全书分为六部分,涵盖了设计和架构、编程范式(结构化编程、面向对象编程、函数式编程)、设计原则(单一职责原则、开闭原则、里氏替换原则、接口隔离原则)、组件原则(重定位技术、组件内聚、组件耦合)、架构(独立性、划分边界、边界剖析、分层和边界、整洁架构、整洁嵌入式架构),以及实现细节和案例研究。本书是软件架构师、系统分析师、系统设计师、软件经理以及执行他人设计的程序员的之作。
这是一本关于Linux命令行与shell脚本编程的系统性教程,主要包括四大部分 :Linux命令行、shell脚本编程基础、高级shell脚本编程,以及创建和管理实用的脚本。本书这一版针对Linux系统的新特性进行了更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你能轻松写出自己的shell脚本。 本书适合Linux系统管理员及相关开发人员阅读。
本书作为一本初学编程者的入门书,帮助读者了解整个计算机系统背后的思想。全书共分为三部分:第一部分偏体系结构,主要讨论冯诺依曼体系架构下的CPU计算过程。第二部分偏操作系统,主要介绍同时运行多道程序的抽象。第三部分偏数据结构与计算理论,主要介绍红黑树与lambda表达式。
内容简介 这是一本从架构视角讲解如何构建大型分布式系统的著作,是超级畅销书《深入理解Java虚拟机》的作者周志明多年架构和研发经验的总结,得到了多位行业资深架构专家的联袂推荐。 全书共16章,分为演进中的架构、架构师的视角、分布式的基石、不可变基础设施和技术方法论五部分。 第1部分 演进中的架构(第1章) 着重介绍了软件开发历史中多种主流架构风格出现的契机、解决的问题以及带来的新缺陷。 第二部分 架构师的视角(第2~5章) 总结了一名架构师应该在架构设计时思考哪些问题,有哪些主流的解决方案和行业标准做法,各种方案有什么优缺点,不同的解决方法会带来什么不同的影响,等等。 第三部分 分布式的基石(第6~10章) 重点讨论了 不同架构风格是应该在技术规范上统一,还是由应用系统自行解决 这个问题,给出了解决思路、方法
全书共五篇,以从易到难的顺序详细剖析了Linux内核开发的核心技术。“知识储备篇”介绍了Linux的数据结构、中断处理、内核同步和时间计算等内容,这些是理解后续章节的前提;之后通过“内存管理篇”“文件系统篇”“进程管理篇”详细介绍了Linux的三大核心模块;最后的“综合应用篇”则融合了前面诸多模块知识展示了Linux内核开发在操作系统、智能设备、驱动、通信、芯片、云计算和人工智能等热点领域的应用。书中的重点、难点均配有图表、代码和实战案例,力求直观、清晰。 学习本书的读者需要熟悉C语言,建议对Linux内核有一定了解。推荐初学者按照本书的编排顺序阅读,而熟悉Linux内核的读者可以跳过知识储备篇,直接从三大核心模块篇进行阅读。 本书深入浅出、配图丰富,可作为Linux初中级读者系统学习Linux内核开发的指导手册,也可作为从事嵌入
《ggplot2科技绘图:基于R语言的数据可视化》详细讲解R语言中的ggplot2绘图包在科研图表制作中的使用方法与技巧。全书共11章。第1、2章讲解R语言的基础知识和数据基本操作,为读者奠定坚实的基础;第3~9章则专注于ggplot2包的详细讲解,内容包括ggplot2绘图系统、注释与页面布局、创建基本图表、创建统计图表、添加几何元素到图表、统计变换绘图,以及标度函数的应用;第10、11章对多个拓展包进行详细介绍,尤其是ggpubr包,帮助读者在科研图表制作和数据展示方面得到进一步提升。 《ggplot2科技绘图:基于R语言的数据可视化》结构合理,叙述详细,示例丰富,既可以作为从事数据分析处理的科研工程技术人员的自学用书,也可以作为大中专院校相关专业的教学参考书。
本书基于Linux 2.6.34内核详细介绍了Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面内容。主要内容包括:进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。同时本书也涵盖了Linux 2.6内核中颇具特色的内容,包括CFS调度程序、抢占式内核、块I/O层以及I/O调度程序等。本书采用理论与实践相结合的路线,能够带领读者快速走进Linux内核世界,真正开发内核代码。本书适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。
"《ARM嵌入式Linux系统开发详解(第3版)》是获得大量读者好评的 Linux典藏大系 中的《ARM嵌入式Linux系统开发详解》的第3版。本书由浅入深,全面、系统地介绍基于ARM体系结构的嵌入式Linux系统开发涉及的方方面面知识,并给出53个典型实例和5个综合案例供读者实战演练。本书提供707分钟配套教学视频、程序源代码、思维导图、教学PPT、习题参考答案和软件工具等超值配套资源,帮助读者高效、直观地学习。 本书共25章,分为4篇。第1篇基础知识,包括嵌入式系统入门、嵌入式软硬件系统、ARM处理器、嵌入式Linux、软件开发环境搭建、第一个Linux应用程序;第2篇应用开发,包括Linux应用程序开发基础、多进程和多线程开发、网络通信应用、串口通信编程、嵌入式GUI程序开发、软件项目管理;第3篇系统分析,包括ARM体系结构及开发实例、深入Bootloader、解析Linux内核、嵌
本书旨在帮助读者更好地应对算法面试,提高算法和编程能力。书中按专题精选了LeetCode平台的一系列的热点算法题,并详细解释其求解思路和过程。全书分为三个部分,第Ⅰ部分为数据结构及其应用,以常用数据结构为主题,深入讲解各种数据结构的应用方法和技巧。第Ⅱ部分为算法策略及其应用,以基本算法设计方法和算法设计策略为主题,深入讲解各种算法设计策略的应用方法和技巧。第Ⅲ部分为经典问题及其求解,以实际中的一些问题为主题,深入讲解这些问题多种求解方法。 本书适合于需要进行算法面试的读者,通过阅读本书可以掌握算法面试中求解问题的方法和技巧,提升自己的算法技能和思维方式,从而在面试中脱颖而出。同时可以作为《数据结构》和《算法设计与分析》课程的辅导书,也可以供各种程序设计竞赛和计算机编程爱好者研习。 目录
本书是一本致力于最新Web开发技术的实战指南。本书紧跟行业的最新发展趋势,全面而深入地阐述了Spring Boot 3和Vue 3在企业级应用开发中的集成与应用。全书共分为8章,从Spring Boot 3的基础入门到Vue 3的高级应用,再到前后端通信、测试与部署,每一章的内容都经过精心设计,以确保读者能够掌握关键的技能。第8章特别提供了一个综合案例,展示如何综合运用全书知识来构建一套完整的应用系统。 本书不仅深度解析了如何利用Spring Boot 3和Vue 3构建高效和响应式的Web应用程序,还专注于实际场景的应用,并为读者提供了直接将理论知识应用于实践的机会。无论是初学者还是寻求提升的开发者,都能在本书中获得所需的知识。 本书适合Web开发初学者、前端和后端开发人员,以及希望通过实战项目提升技能的专业人士。同时,本书也适合作为高等院校相关专业的教材及
本书是面向操作系统导论课程的经典书籍,从第1版至今被国内外众多高校选作教材。全书共九个部分,相较于上一版增加了三个部分,并且优化了各章的编排顺序。本书不仅详细讲解进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版在移动操作系统、多核系统、虚拟化和NVM外存等方面做了大幅更新,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
《TypeScript Vue.js前端开发从入门到精通》以一个一线前端架构师的视角,深入浅出地介绍TypeScript与Vue.js整合开发大型前端应用的全部技术细节。全书共17个章节,主要内容包括TypeScript基础、面向对象编程、Vue中的模板、组件属性和方法、用户交互处理、组件基础与进阶、Vue响应性编程、动画技术、脚手架Vue CLI和Vite工具的使用、Element Plus UI组件库以及基于Vue的网络框架vue-axios的应用等。此外,本书还涵盖Vue路由管理和状态管理的内容,并通过实战编程技术论坛系统项目的开发,让读者巩固所学的知识,全面提升自己的前端开发技能。 《TypeScript Vue.js前端开发从入门到精通》还提供了丰富的配书资源,包括教学视频、源代码、代码导读手册,这些资源可以让读者学习更轻松和高效。 《TypeScript Vue.js前端开发从入门到精通》面向TypeScript与Vue.js初学者和有一到两年经验的
LangChain大模型应用开发 《LangChain大模型应用开发》帮助读者在项目中探索微调、提示工程以及部署和监控的实践时,解锁LLM的全部潜力。无论你是构建创意写作工具、开发复杂的聊天机器人,还是制作尖端的软件开发辅助工具,《LangChain大模型应用开发》都将是你的路线图,帮助你自信且创造性地掌握生成式人工智能的变革力量。 主要内容 ●使用LangChain创建LLM应用,如问答系统和聊天机器人 ●理解变换模型和注意力机制 ●使用pandas和Python自动进行数据分析和可视化 ●掌握提示工程以提高LLM性能 ●微调LLM并了解释放其力量的工具 ●将LLM作为服务部署,并应用评估策略 ●使用开源LLM与文档本地互动,以防止数据泄露 大模型应用解决方案 基于ChatGPT和GPT-4等Transformer架构的自然语言处理 Transformer正在颠覆AI领域。市面上有这么平台和Transformer模型,哪
本书由知名编译与操作系统专家海纳撰写,将沉淀20余年的Linux系统研究所得倾注书中。本书用不到1万行代码复现了Linux 0.12内核,打通了 古早 工具链障碍,模块实现环环相扣,带你穿透 迷雾 ,窥见Linux系统设计的绚丽 天光 。 本书共8章,从逻辑上分为四部分。第一部分(第1和2章)是基础知识,介绍开发内核所需的基础知识,包括开发环境和调试环境的搭建,以及i386保护模式等。第二部分(第3~6章)是核心模块,逐步实现进程、中断、系统调用、内存管理、字符设备驱动和块设备驱动等模块。第三部分(第7章)是文件系统,涵盖Minix文件系统、管理inode、管理普通文件、管理目录、文件链接、执行程序等内容。第四部分(第8章)是系统服务接口,介绍一些重要的函数,这部分不是内核的主要部分,但为了让shell程序正确地运行,这些函数也是必须实现的。
《DevOps持续万物2:DevOps组织能力成熟度评估》是一本深入探讨DevOps实践、理论和应用的专业书籍。本书以DevOps的核心理念为基础,提供了一套全面的组织能力成熟度评估框架,帮助组织评估和提升其在软件开发和运维中的协同效率。书中详细介绍了持续审计、持续SLA以及持续AI等关键概念,并结合丰富的图表、案例分析和实践指南,为读者展示了如何在DevOps环境中实现持续改进和创新。 DevOps,即开发(Development)与运维(Operations)的结合,是一种文化和实践的变革,旨在打破传统软件开发和运维之间的隔阂,实现更快速、更高质量的软件交付。DevOps的实施对于组织和项目管理具有重要意义。 提高效率:通过自动化流程和工具,DevOps可以显著减少从开发到部署的时间,提高软件交付的速度。 增强协作:DevOps鼓励开发、测试和运维团队之间的紧密合作,打破信息孤岛
内容简介这是一本能指导零计算机基础的读者轻松理解计算机软硬件和操作系统工作原理,从而自己动手从0到1编写出一个操作系统的著作。作者在操作系统领域深度耕耘20余载,不仅一直奋斗在百度等企业一线,而且一直致力于操作系统的教育和布道,希望能帮助和指导越来越多的人,尤其是青少年,能从学生时代开始学习操作系统,能从底层原理真正理解操作系统,改变我国基础软件受制于人的现状。本书不仅是作者悟透操作系统本质、厚积薄发的成果,而且是他将复杂的操作系统原理化繁为简、举重若轻,成功指导自己9岁的孩子从0到1编写出一个操作系统的过程的全面复盘和复现。本书驱散了操作系统的迷雾,让操作系统不再神秘和高不可攀,让每一个怀揣操作系统梦的中国人都能理解并实现自己的操作系统。全书一共14章,逻辑上分为上下两篇。上篇(第1~5
本书结合当前高等院校创新实践课程,给出100个综合实际案例,其主要开发方向为智能安防、家居生活、健康监测、音乐控制等,案例包括项目背景、创新描述、功能及总体设计、产品展示、元器件清单、问题及解决办法。 本书案例的内容先模块后代码,创新思维与实践案例相结合,以满足不同层次人员的需求;同时,本书附有实际项目的硬件设计图和软件实现代码,可供读者自我学习和自我提高使用。 本书可作为高等院校信息与通信工程及相关专业的本科生教材,也可以作为智能硬件爱好者创新手册使用,还可以为创客的需求产生、分析产品、设计生产、实现产品提供帮助。对于从事物联网创新开发和设计的专业技术人员,本书也可以作为主要的技术参考书。
用读一本小说的心态来阅读本书,你会对整个操作系统的体系结构和逻辑细节有非常清晰的认识,从此爱上并阅读更多的操作系统源码。第1部分:进入内核前的苦力活。覆盖从开机到运行到Linux中的main函数的关键流程解析,帮你清晰认识Intel CPU的体系结构。第2部分: 大战 前期的初始化工作。讲述main中的各种初始化函数,这些函数是操作系统各个模块的交互桥梁,为理解后续操作系统各个模块的运作原理打好基础。第3部分:一个新进程的诞生。讲述从内核态切换至用户态,并建立起第一个用户进程的全部过程。学完这部分,你将会理解一个多进程的操作系统是如何建立和运作的。第4部分:shell程序的到来。主要讨论如何将磁盘中存储的shell程序加载到内存中来,并最终交给CPU去执行。通过这个过程你会看清一个程序从存储到硬盘到最终被执行的全部过程。第5部分
《C# 11和.NET 7入门与跨平台开发(第7版)》将为你学习C# 11和.NET 7奠定坚实的基础,使你能够自信地构建应用程序和服务。学习完本书,你将能够创建丰富的Web应用,并能牢牢掌握面向对象编程技术,进而能在此基础上进行项目开发。 ● 使用Blazor、Razor Pages、MVC模式和 ASP.NET Core的其他特性构建丰富的Web应用 ● 利用面向对象编程构建自己的类型 ● 编写、测试和调试函数 ● 使用LINQ查询和操作数据 ● 使用Entity Framework Core模型在应用程序中集成和更新数据库 ● 使用最新的技术,包括Web API和最小API,构建和消费强大的服务
全书分为3篇。第1篇介绍编译器基础知识,包括中间表示,重点介绍SSA、数据流分析、支配、循环等知识,此外还介绍了LLVM的后端描述语言TableGen。第二篇剖析分LLVM代码生成,其中对代码生成的每一步骤都有提及,着重介绍指令选择、指令调度、寄存器分配和编译优化。同时还以BPF后端为例总结了如何基于LLVM开发一款新后端的编译器。第三篇附录主要总结了LLVM代码生成过程中使用的IR、BPF指令集以及如何在Linux运行BPF应用,Pass和PassManager的运行机制等知识。通过阅读本书,读者理解和掌握LLVM代码生成过程,可以根据本书指导为基于LLVM开发一款新后端的编译器。同时本书还介绍了各种编译过程中使用到的算法,读者可以根据场景对算法进行增强从而达到性能优化目的。