本书是一本将理论与实践有机结合的计算机工作原理实践指南,包含41个实践项目,涵盖了从电路设计到代码编写的广泛主题。通过本书,读者将实践构建数字电路、设计一个猜谜游戏、将十进制数字转换为二进制、检查虚拟内存使用情况、运行自己的Web服务器等,从引人入胜的实践项目中学习如何像软件工程师一样思考、用数据描述真实世界的概念,使用欧姆定律和基尔霍夫定律分析电路的特性,以及如何像计算机一样思考、一步一步地在脑海中执行一个程序。
计算机软件界大的变迁是从串行编程转向并行编程。其中,CUDA取得了巨大的进展。本书特别针对CUDA学习者而写。在保证程序正确性前提下,侧重于程序性能的调优。对于没有CUDA或者并行编程的任何经验的读者随着本书的深入,将越来越可以胜任CUDA的编程工作,帮助你从不知晓并行编程的程序员成长为能够全方位发掘CUDA潜力的专家。对已经熟悉并行编程概念和CUDA的程序员,本书包含丰富的学习材料,专设章节详细讨论GPU的体系结构,包括新的费米和开普勒硬件,以及如何将它们的效能发挥到极致。任何可以编写C或C++的程序员都可以在经过几个小时的简单训练后编写CUDA程序。通过本书的完整学习,你将从仅能得到数倍程序加速的CUDA编程新手成长为数十倍加速的高手。
本书涵盖数电、体系结构、汇编语言、编译器、操作系统等计算机核心课程的基础内容,结合项目实践能够对整个计算机学科建立宏观的理解,并能完成制作一个基本计算机系统的任务。
本书以Apache RocketMQ 4.9.5(编写本书时最新的4.x版本)为基础,从Apache RocketMQ 的实际使用、原理剖析,大规模消息集群下企业级落地的实践以及所面临的挑战,逐一由浅入深地进行讲解。 全书分3篇,共16章。基础篇包含第1~4章,主要讲解Apache RocketMQ 入门以及如何掌握Apache RocketMQ 的基础使用。原理篇包含第5~12章,主要讲解了消费原理、负载均衡原理、顺序消息原理等核心的RocketMQ部分。进阶篇包含第13~16章,主要讲解消息幂等、双活设计等进阶为架构师必须掌握的内容。讲解过程中抛弃了传统的源码解析这种较枯燥的手段,而是更多地利用以下方式帮助读者更快、更轻松地接受Apache RocketMQ的原理:通过近百张原创的手绘图,形象地描述Apache RocketMQ 的运作过程、原理;通过与Kafka、RabbitMQ等成熟的消息中间件产品做对比的方式,有助于读者对相关知识触类旁通,举一反
本书的目的在于呈现支持赛博物理系统交互仿真的SysML扩展的基本原理和技术路径,读者将从本书中理解并掌握与物理交互和信号流仿真的模型设计、仿真运用的关键问题以及解决思路,并可从与相关软件工具的应用介绍中得到有关模型开发、模型库建立的有益指南。在MBSE 应用中,工程实践人员将学习借助统一的系统建模语言解决跨学科交互仿真的建模技术问题。 同时,该书还可作为系统工程、赛博物理系统、自主系统等方向研究生的教材,使其有机会系 统地学习关于物理交互和信号流仿真的最新理论,并通过具体步骤、案例讲解等的指导,领悟 MBSE应用中所倡导的协同建模、协同仿真等相关新型技术的基本方法和实现方式。
本书介绍了一系列可用于构建可扩展系统的软件架构方法和分布式技术。本书内容分为四部分:第一部分是基础知识,包括实现可扩展系统的基本机制、分布式系统的基本特征以及并发编程的简介;第二部分重点介绍如何扩展处理请求的能力,涵盖通过诸多架构方法(更多的计算资源、负载均衡、分布式缓存、异步消息以及基于微服务的架构)来扩展系统;第三部分介绍扩展数据层的相关知识,这是分布式系统理论最突出的地方;第四部分介绍用于大规模处理流式事件的架构和技术。
μC/OS-III是源码公开的商用嵌入式实时操作系统内核,由著名的μC/OS-II发展而来。μC/OS-III针 对以ARM Cortex为代表的新一代CPtJ,面向带有可用于优先级查表的硬件指令(如,前导零计算指令)的 CPU的嵌入式应用。μC/OS-III允许利用这类高端CPU的特殊硬件指令来实现高效的任务调度算法,而无须 使用μC/OS-II的软件任务调度算法,而且μC/OS-II支持时间片轮转调度算法。从核心任务调度算法的改 变来看,μC/OS-III已经是一个全新的嵌入式RTOS内核。从μC/OS算起,该内核已有20余年应用史,在诸 多应用领域得到了广泛的认可。 JeanJ.Labrosse所著的《嵌入式实时操作系统μC/OS-Ⅲ》在保留对实时操作系统基本概念阐述的基础上,详细讲解μC/OS-III相比μC/OS -II所做的大量扩展与改进,如同时支持时间片轮转调度算法和基于优先级的可剥夺型任务 调度算法;用系统任务来
本书介绍Kafka的技术原理和应用技巧。内容包括如何安装和配置Kafka、如何使用Kafka API、Kafka的设计原则和可靠性保证,以及Kafka的一些架构细节,如复制协议、控制器和存储层。本书列举了一些 流行的Kafka应用场景,比如基于事件驱动的微服务系统的消息总线、流式处理应用程序和大规模数据管道。通过学习本书,你不仅能够深入理解这项大数据核心技术,还能够将所学知识付诸实践,在生产环境中 好地运行Kafka,并基于它构建稳健的高性能应用程序。
《原子教你玩 STM32 》有两个版本:库函数版本和寄存器版本。本书为寄存器版本,由浅入深,带领大家进入 STM32 的世界。本书总共分为 3 篇:①硬件篇,主要介绍本书的实验平台;②软件篇,主要介绍 STM32 开发软件的使用以及一些下载调试的技巧,并详细介绍几个常用的系统文件(程序);③实战篇,详细介绍 42 个实例,从简单的开始,循序渐进,带领大家慢慢掌握 STM32 。每个实例均配有软硬件设计,且附上实例代码以及详细注释,方便读者快速理解。本书是再版书,相比第 1 版,主要对硬件平台、开发环境、 SYSTEM 文件夹以及相关例程进行了更新。 本书配套资料可以供读者免费下载,包括详细原理图以及所有实例的完整代码。这些代码都有详细的注释,所有源码都经过严格测试;另外,源码有生成好的 .hex 文件,读者只需要通过串口下载到开发板即可看到实
邴哲松、李萌、邢东洋编著的《ARMLinux嵌入式网络控制系统》以嵌入式网络控制系统为设计目标,使用目前嵌入式开发中使用频率较高的ARM9和ARM7作为硬件平台的CPU,在软件上使用了嵌入式Linux、μC/OSII操作系统,并在其基础上移植了BOA服务器、SQLite数据库等软件。网络控制系统采用了基于Web服务器的设计方法,利用HTML和JavaApplet实现网络监控界面。 《ARMLinux嵌入式网络控制系统》以产品开发为线索由浅入深地详细介绍了嵌入式网络控制系统的实现过程。除了上述的软硬件平台外还对于嵌入式Linux的开发方法和网络编程进行了系统地讲解,并介绍了Eclipse软件平台的编译和调试方法。全书的各个环节都通过示例代码进行讲解,以便加深读者对知识的理解并提高实际的应用能力,进而达到学有所用、用有所成的目的。此外,全书硬件的选型都采用工业级芯片,特别适合
《AVR单片机实用程序设计》对AVR中档单片机升级换代产品ATmega16、ATmega8535的系统结构、特点、运行原理和指令系统等做了详细介绍,在此基础上给出众多具代表性的实用程序的设计及其使用方法,并提供详细程序清单。内容包括ATmega16/8535单片机硬件结构,升级后的功能特点以及运行原理;AVR单片机指令系统;软件DAA、定点运算以及数制转换子程序设计方法,并设计了使用乘法指令设计快速多字节乘法以及数制转换程序;各类实用程序(查表、线性插值、外设管理、通信、A/D转换、定时/计数器应用、可靠性设计、数/码制转换、串行器件多点测温、触摸屏、高性能液晶显示模块、红外通讯技术、带定时告警功能的串行实时钟芯片等)的设计使用方法,并对嵌入式系统程序设计及优化方法进行总结;AVR浮点程序库设计及使用;AVR单片机的编程功能以及由AVRJTAG接
\"本书系统介绍鲲鹏云服务基本概念、云服务类型、云服务解决方案、鲲鹏应用迁移、容器、容灾、上云流程等内容,让读者了解鲲鹏云的技术和生态。全书共7章,分别介绍云服务的概况、鲲鹏云基础云服务的主要类别、鲲鹏云解决方案、迁移应用到鲲鹏云、鲲鹏云容器和云容灾技术、华为云迁移等。 本书可以作为鲲鹏产业学院专业核心课程的教材,帮助学生了解大数据发展过程与基本知识,熟悉大数据框架的基本原理与发展现状,培养大数据平台设计、分析应用能力。本教材也可作为普通本科院校大数据、计算机等计算机类专业课程的选修课材料,以及作为高职高专计算机类专业的专业课程教材。 \"
本书编者倡导“自主编程”,以问题解决为主线,致力于提升读者的计算思维与编程技能,引导读者科学地学习算法。全书共分为四章: 章重点阐述数据抽象的方法及如何选择合适的数据结构,并介绍线性数据结构的基本应用;第二章通过生动的例子,详述了模拟、解析和贪心这三种策略,展示了如何结合严密的算法逻辑与实际操作经验来解决问题;第三章则以深入浅出的方式,讲解了“大化小”的思维方式,介绍了如何利用递推、分治和动态规划等算法来简化和解决复杂问题;第四章全面剖析了好算法的标准,并详细介绍了优化算法时间复杂度和空间复杂度的常用技巧。 本书可以作为数据结构和算法入门的培训教材,也可以作为准备参加全国信息学奥林匹克竞赛的学生赛前集训用书,还可以作为有一定编程语言基础的算法爱好者的参考书籍。