本书是将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的 优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。
本书是知名度颇高的Linux入门书《鸟哥的Linux私房菜基础学习篇》的新版,全面而详细地介绍了Linux操作系统。 全书分为五部分:*部分着重说明计算机的基础知识、Linux的学习方法,如何规划和安装Linux主机以及CentOS 7.x的安装、登录与求助方法;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全非常重要的Linux账号的管理、磁盘配额、高级文件系统管理、计划任务以及进程管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 本书内容丰富全面,基本概念的讲解非常细致,深入浅出。各种功能和命令的介绍,都配以大量的实例操
内容简介 这是一本从架构视角讲解如何构建大型分布式系统的著作,是超级畅销书《深入理解Java虚拟机》的作者周志明多年架构和研发经验的总结,得到了多位行业资深架构专家的联袂推荐。 全书共16章,分为演进中的架构、架构师的视角、分布式的基石、不可变基础设施和技术方法论五部分。 第1部分 演进中的架构(第1章) 着重介绍了软件开发历史中多种主流架构风格出现的契机、解决的问题以及带来的新缺陷。 第二部分 架构师的视角(第2~5章) 总结了一名架构师应该在架构设计时思考哪些问题,有哪些主流的解决方案和行业标准做法,各种方案有什么优缺点,不同的解决方法会带来什么不同的影响,等等。 第三部分 分布式的基石(第6~10章) 重点讨论了 不同架构风格是应该在技术规范上统一,还是由应用系统自行解决 这个问题,给出了解决思路、方法
这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为Web、数据库、客户端、控制台和嵌入式应用程序设计最佳的高级结构。全书分为六部分,涵盖了设计和架构、编程范式(结构化编程、面向对象编程、函数式编程)、设计原则(单一职责原则、开闭原则、里氏替换原则、接口隔离原则)、组件原则(重定位技术、组件内聚、组件耦合)、架构(独立性、划分边界、边界剖析、分层和边界、整洁架构、整洁嵌入式架构),以及实现细节和案例研究。本书是软件架构师、系统分析师、系统设计师、软件经理以及执行他人设计的程序员的之作。
这是一本关于Linux命令行与shell脚本编程的系统性教程,主要包括四大部分 :Linux命令行、shell脚本编程基础、高级shell脚本编程,以及创建和管理实用的脚本。本书这一版针对Linux系统的新特性进行了更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你能轻松写出自己的shell脚本。 本书适合Linux系统管理员及相关开发人员阅读。
《MATLAB科技绘图与数据分析》结合作者多年的数据分析与科研绘图经验,详细讲解MATLAB在科技图表制作与数据分析中的使用方法与技巧。全书分为3部分,共12章,第1部分(第1~3章)主要讲解MATLAB的基础知识,包括MATLAB的操作环境、文件操作、程序设计等;第2部分(第4~8章)结合MATLAB在数据可视化方面的功能,详细讲解MATLAB中的图窗信息、二维图绘制、三维图绘制、专业图绘制、句柄图形对象等科技绘图方面的知识;第3部分(第9~12章)讲解数据描述性分析、插值与拟合、回归分析、优化问题求解等 内容。《MATLAB科技绘图与数据分析》还配套提供了近300个示例的教学视频与上机练习资源文件,可帮助读者大大提升学习效率。 《MATLAB科技绘图与数据分析》注重实操,示例丰富,图表精美,适合从事数据可视化与数据分析的科研工程技术人员、工程师,以及高校相
本书共15章,主要内容如下。第1章:主要介绍Revit在BIM中的应用及相关的功能介绍和基础操作。第2章:主要主要介绍标高轴网的创建,为建模做铺垫。第3章:主要介绍墙于门窗模型创建基础知识。第4章:主要介绍墙构件中的幕墙,并对其进行深入讲解。第5章:主要介绍楼板天花板模型的创建。第6章:主要介绍屋顶模型的创建。第7章:主要介绍基础及柱梁的创建。第8章:主要介绍楼梯坡道的创建。第9章:主要介绍栏杆的创建。第10章:主要介绍族模型的创建。第11章:主要介绍体量与场地模型的创建。第12章:主要介绍房间面积与洞口绘制。
本书是面向操作系统导论课程的经典书籍,从第1版至今被国内外众多高校选作教材。全书共九个部分,相较于上一版增加了三个部分,并且优化了各章的编排顺序。本书不仅详细讲解进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版在移动操作系统、多核系统、虚拟化和NVM外存等方面做了大幅更新,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
本书讲解了Linux驱动开发的基础知识以及所用到的开发环境,全书分为22章,其内容涵盖了各种Linux子系统,包含内存管理、PWM、RTC、IIO和IRQ管理等,还讲解了直接内存访问和网络设备驱动程序的实用方法。在学完本书之后,读者将掌握设备驱动开发环境的概念,并可以从零开始为任何硬件设备编写驱动程序。 阅读本书需要具备基本的C语言程序设计能力,且熟悉Linux基本命令。本书主要是为嵌入式工程师、Linux系统管理员、开发人员和内核黑客而设计的。无论是软件开发人员,还是系统架构师或制造商,只要愿意深入研究Linux驱动程序开发,阅读本书后都将有所收获。
罗布乐思(Roblox)Studio 是融合了3D 引擎、社交、云存储的开发工具,是优质的游戏化教育工具,为各大编程赛事和夏令营提供技术支持。罗布乐思自2019 年被引进中国,一直深耕青少年市场,打造用户生产内容的平台,持续构建完全沉浸的数字社区,向着真正的 元宇宙 世界迈进。 本书是官方的罗布乐思开发指南。本书旨在帮助读者学会: (1)使用内置的地形和照明工具构建身临其境的自然环境; (2)建模和导入资源、模型、装备和纹理; (3)使用Lua 脚本编写游戏、动画和相机移动; (4)为交互元素设计 GUI; (5)通过跨平台游戏将个人游戏分享到多个平台。 本书语言简单易懂,内容循序渐进,并在每章结尾设置常见问题及其解决方案、测验和答案等环节,帮助读者时刻回顾与检验所学知识; 并且设置练习环节,鼓励读者独立练习,动手巩固开发技能。
全书共五篇,以从易到难的顺序详细剖析了Linux内核开发的核心技术。“知识储备篇”介绍了Linux的数据结构、中断处理、内核同步和时间计算等内容,这些是理解后续章节的前提;之后通过“内存管理篇”“文件系统篇”“进程管理篇”详细介绍了Linux的三大核心模块;最后的“综合应用篇”则融合了前面诸多模块知识展示了Linux内核开发在操作系统、智能设备、驱动、通信、芯片、云计算和人工智能等热点领域的应用。书中的重点、难点均配有图表、代码和实战案例,力求直观、清晰。 学习本书的读者需要熟悉C语言,建议对Linux内核有一定了解。推荐初学者按照本书的编排顺序阅读,而熟悉Linux内核的读者可以跳过知识储备篇,直接从三大核心模块篇进行阅读。 本书深入浅出、配图丰富,可作为Linux初中级读者系统学习Linux内核开发的指导手册,也可作为从事嵌入
你已经具备了Linux基础,想进一步学习服务器架设吗?还想了解如何维护和管理你的服务器吗?《鸟哥的Linux私房菜 服务器架设篇(第三版修订)》是你最佳的选择。 目前有关Linux架设的书籍大多只教读者如何架设服务器,很少涉及服务器的维护、管理以及遇到问题时的应对策略。结果是,一旦服务器遭受攻击,人们就会手忙脚乱。因此,作者首先从系统基础和网络基础开始讲解,然后讨论网络攻击和防火墙保护主机,最后才介绍服务器的架设。 《鸟哥的Linux私房菜:第三版修订. 服务器架设篇》共分为四篇:第一篇是服务器搭建前的进修专区,主要介绍架设服务器之前必须具备的基本知识。阅读完这一篇后,无论你使用何种方式连接Internet,都不会有问题;第二篇是主机的简易安全防护措施,鸟哥会告诉你如何保护你的主机,养成良好的操作习惯,使你的主机免受
本书剖析了Windows核心组件行为方式的 内部原理 ,主要内容包括服务设备驱动程序和应用程序的系统机制(ALPC、对象管理器、同步、WNF、WoW64 和处理器执行模型)、底层硬件架构(陷阱处理、分段和侧信道漏洞)、 Windows 虚拟化技术(包括基于虚拟化的安全、如何防范操作系统漏洞),以及操作系统为进行管理、配置和诊断所实现的底层机制细节,缓存管理器和文件系统驱动程序如何交互以提供对文件、目录和磁盘的可靠支持等。
内容简介这是一本能指导零计算机基础的读者轻松理解计算机软硬件和操作系统工作原理,从而自己动手从0到1编写出一个操作系统的著作。作者在操作系统领域深度耕耘20余载,不仅一直奋斗在百度等企业一线,而且一直致力于操作系统的教育和布道,希望能帮助和指导越来越多的人,尤其是青少年,能从学生时代开始学习操作系统,能从底层原理真正理解操作系统,改变我国基础软件受制于人的现状。本书不仅是作者悟透操作系统本质、厚积薄发的成果,而且是他将复杂的操作系统原理化繁为简、举重若轻,成功指导自己9岁的孩子从0到1编写出一个操作系统的过程的全面复盘和复现。本书驱散了操作系统的迷雾,让操作系统不再神秘和高不可攀,让每一个怀揣操作系统梦的中国人都能理解并实现自己的操作系统。全书一共14章,逻辑上分为上下两篇。上篇(第1~5
随着半导体技术和芯片技术的飞速发展,能运行嵌入式 Linux系统的 MPU 芯片价格也在不断降低,ARM 架构 的芯片在手机、工业控制、物联网、自动驾驶等领域得到了广泛应用。以前大量使用 MCU 的地方也开始使用嵌入式 Linux地系铁统刷。卡的闸机、汽车充电桩的操作面板、物联网网关等都有嵌入式 Linux的身影,各企业对嵌入式 Linux开发 人才的需求也急剧增加。相比单片机开发,嵌入式 Linux开发难度要大很多。尤其是重要的驱动开发,嵌入式 Linux内核采用面向对象思路设计,且已开发大量驱动框架,开发人员需要掌握这些驱动框架的使用,编写出符合嵌 入式 Linux要求的驱动。 本书从基本的点灯程序到网络驱动的编写,涵盖了 Linux开发的三大驱动类型:字符设备驱动、块设备驱动 和网络设备驱动。本书的一大特色就是涵盖了全设备树开发,除了开始的几个为了讲解嵌入式 Linux如何操作
本书对Linux命令行进行详细的介绍,全书内容包括4个部分,*部分由Shell的介绍开启命令行基础知识的学习之旅;第二部分讲述配置文件的编辑,如何通过命令行控制计算机;第三部分探讨常见的任务与工具;第四部分全面介绍Shell编程,读者可通过动手编写Shell脚本掌握Linux命令的应用,从而实现常见计算任务的自动化。通过阅读本书,读者将对Linux命令有更加深入的理解,并且可以将其应用到实际的工作中。 本书适合Linux初学人员、Linux系统管理人员及Linux爱好者阅读。
这是一本从实战角度介绍FastAPI web开发的入门与进阶型技术书。本书没有过多的理论介绍,完全从一线工作角度入手,介绍日常web开发需要掌握的相关知识。本书共分为4篇16章: 第1篇是基础篇,主要介绍FastAPI的基础知识,包括FastAPI的基本信息、安装使用、常规操作、中间件、数据库相关内容。作为初学者,掌握这部分内容就可以快速上手使用FastAPI,处理各种日常问题。 第二篇是进阶篇,主要围绕与FastAPI相关的高级技能展开,包括异常处理、功能扩展、安全认证、性能、测试等相关内容。 第三篇是实战篇,主要从案例的角度对FastAPI在典型应用场景中的落地进行分享,包括短链应用、websocket、基于公众号的挂号系统等应用场景。 第四篇是部署篇,这部分重点介绍如何实现FastAPI的自动化部署,这数据高阶人员技能。本篇提供了三种自动化部署方式。
嵌入式 Linux涉及的知识点很多,对初学者的基础要求高,在知识储备的广度和深度上都对学习者提出了很高 的要求。大多数转型嵌入式 Linux开发的朋友都是以前从事单片机开发工作的工程师,因此如何从单片机开发工 程师转型为嵌入式 Linux开发工程师,这个过程非常重要。 单片机 工 程 师 大 多 数 都 是 在 Windows环 境 下 工 作,使 用 集 成 IDE 编 写 并 编 译 代 码,然 后 在 IDE 上 通 过 DownLoad按钮一键下载代码到单片机中。至于集成IDE是怎么组织源文件,又是怎么编译的并不清楚。 本书就以单片机工程熟悉的 裸机 开发为例,讲解如何在 Ubuntu下搭建开发环境,如何使用 VScode编写程 序,如何使用 make工具编译源码。通过这些操作,大家就可以对集成式IDE与开源开发环境有很清晰的认识。当 掌握了开发方式以后,剩下的就是通过大量的裸机案例来加深对I.MX6ULL 这颗芯片的认识,了解各
《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)
Linux是目前最流行的操作系统之一,而Ubuntu是众多Linux发行版中的佼佼者。它以开源、稳定和广泛的社区支持等特点,被广泛用于桌面系统、服务器和二次开发的生产环境。《Ubuntu Linux系统管理与运维实战》使用Ubuntu 22.04 LTS版本,通过由浅入深、循序渐进的方式讲解Ubuntu系统管理与运维技能。 《Ubuntu Linux系统管理与运维实战》共分13章,内容包括了解Ubuntu、安装Ubuntu、桌面环境、文件系统基础知识、文件和目录管理、用户和权限管理、系统启动和关闭、服务和进程管理、软件包管理、磁盘和文件系统管理、高级网络管理、网络服务管理以及系统安全。 《Ubuntu Linux系统管理与运维实战》内容精练、重点突出、实例丰富,适合Linux初学者、运维人员、应用开发人员、网络管理人员和应用部署人员作为参考书。《Ubuntu Linux系统管理与运维实战》也可作为高等院校或高职高
本书通过定制系统和标准产品的开发案例,介绍如何结合软件工程和项目管理的知识,按照标准化、工程化的方式协同完成软件的开发。其中定制系统的开发案例涉及售前咨询、项目准备、需求分析与设计、测试验证、上线培训等,给出了每个环节需要的理论、方法、工具、标准和交付物。标准产品的研发案例则涉及构建具有随需应变能力系统的设计思路、建模方法等。 本书是《大话软件工程 需求分析与软件设计》一书的姊妹篇,本书主讲案例,后者主讲方法,本书是后者中理论和方法的落地实践。 数字化转型是现今企业IT发展的新目标,数字化转型需要大量培养数字化时代所需的人才和技能,本书可作为培养软件公司和客户企业双方人才的培训教材,如软件工程师(包括需求、设计、开发、实施)、产品经理、项目经理、企业数字化转型的业务骨干人才等。
用读一本小说的心态来阅读本书,你会对整个操作系统的体系结构和逻辑细节有非常清晰的认识,从此爱上并阅读更多的操作系统源码。第1部分:进入内核前的苦力活。覆盖从开机到运行到Linux中的main函数的关键流程解析,帮你清晰认识Intel CPU的体系结构。第2部分: 大战 前期的初始化工作。讲述main中的各种初始化函数,这些函数是操作系统各个模块的交互桥梁,为理解后续操作系统各个模块的运作原理打好基础。第3部分:一个新进程的诞生。讲述从内核态切换至用户态,并建立起第一个用户进程的全部过程。学完这部分,你将会理解一个多进程的操作系统是如何建立和运作的。第4部分:shell程序的到来。主要讨论如何将磁盘中存储的shell程序加载到内存中来,并最终交给CPU去执行。通过这个过程你会看清一个程序从存储到硬盘到最终被执行的全部过程。第5部分
Linux C/C 编程在Linux应用程序开发中占有重要的地位,掌握这项技术将在就业竞争中立于不败之地。《Linux C与C 一线开发实践》内容针对初中级读者,贴近软件公司一线开发实践。全书厚达620多页,知识点丰富,内容翔实,并配套示例源码、作者QQ群答疑服务。 《Linux C与C 一线开发实践》共分为16章,内容包括Linux概述、搭建开发环境、C 语言基础、Linux文件编程、多进程编程、进程间通信、C Web编程、多线程基本编程、多线程高级编程、Linux下的库、TCP/IP基础、套接字基础、TCP套接字网络编程、UDP套接字网络编程、原始套接字网络编程,以及并发聊天服务器项目实战等。 《Linux C与C 一线开发实践》适合想全面学习Linux环境下C/C 语言编程的读者,既可作为初中级开发人员的案头查阅与参考手册,也适合作为高等院校或高职高专相关课程的教学参考书。