本书是将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的 优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。
一个好的架构就像一个好的制度,我们不会时时刻刻感受到它的存在,但在关键时刻,它决定了系统能够到达的高度。本书浓缩了携程公司的整个技术架构,可以帮助读者了解支撑一家大型企业所需要的核心技术产品,以及它们的架构和面临的挑战。本书由携程的一线研发工程师们精心编写,他们对携程各个领域的技术实践了如指掌,本书所提到的各种系统离不开他们的耕耘。在给读者呈现携程架构实践的同时,也希望本书能给读者带来一些警示和启发,共同推动技术的进步。不同领域的架构关注点各有侧重,但是方法论是相通的。希望读者通过本书了解携程的架构实践,拓宽视野,丰富自己的架构工具箱,在遇到难题时,看看其他领域的解决思路,就可能碰撞出意想不到的 火花 。
和第2版相比,本版内容上的变化是,从以IA32和x86-64为基础转变为完全以x86-64为基础。主要更新如下: ? 基于x86-64,大量地重写代码,首次介绍对处理浮点数据的程序的机器级支持。 ? 处理器体系结构修改为支持64位字和操作的设计。 ? 引入更多的功能单元和更复杂的控制逻辑,使基于程序数据流表示的程序性能模型预测更加可靠。 ? 扩充关于用GOT和PLT创建与位置无关代码的讨论,描述了更加强大的链接技术(比如库打桩)。 ? 增加了对信号处理程序更细致的描述,包括异步信号安全的函数等。 ? 采用函数,更新了与协议无关和线程安全的网络编程。
本书是将计算机软件和硬件理论结合讲述的经典教程,内容覆盖计算机导论、体系结构和处理器设计等多门课程。本书的大优点是为程序员描述计算机系统的实现细节,通过描述程序是如何映射到系统上,以及程序是如何执行的,使读者更好地理解程序的行为为什么是这样的,以及造成效率低下的原因。
本书讲述了一个64位多核操作系统的自制过程。此操作系统自制过程是先从虚拟平台构筑起一个基础框架,随后再将基础框架移植到物理平台中进行升级、完善与优化。为了凸显64位多核操作系统的特点,物理平台选用搭载着Intel Core-i7处理器的笔记本电脑。与此同时,本书还将Linux内核的源码精髓、诸多官方白皮书以及多款常用协议浓缩于其中,可使读者在读完本书后能够学以致用,进而达到理论联系实际的目的。 全书共分为16章。第1~2章讲述了操作系统的基础概念和开发操作系统需要掌握的知识;第3~5章在虚拟平台下快速构建起一个操作系统模型;第6~16章将在物理平台下对操作系统模型做进一步升级、优化和完善。 本书既适合在校学习理论知识的初学者,又适合在职工作的软件工程师或有一定基础的业余爱好者。
陈泰红、肖婧、冯伟编*的《嵌入式多核DSP应 用开发与实践》从C66x的内核架构、关键外设、多核 编程等方面进行翔实介绍,同时通过基于CCS V5 simulator软件仿真以及TMDXEVM6678L EVM硬件仿真 的实例精解,从*多细节上介绍基于TMS320C6678的 电路设计开发和boot设计,给出用实例测试的片内外 设应用测试程序,*后介绍中科院某所基于 TMS320C6678的星载毫米波SAR-GMTI系统数字中频接 收机的总体设计。 本书适合于广大DSP爱好者、大学高年级学生、 研究生,以及从事DSP等嵌入式技术开发的企业工程 技术人员参考。
阿尔伯特陈*作的《嵌入式实时系统--调度分析和验证/嵌入式系统译丛》面向嵌入式实时系统,较系统地论述基本的实时调度算法、调度性分析方法,说明引入形式化方法的必要性,并为实时系统设计提供一个清晰的形式化方法基础。其核心是面向实时系统的形式化分析(forreal analysis)及验证。全书特别列举了大量关于安全关键系统的工程实例,从简单系统(如温度控制系统、面包机和电饭煲)到高度复杂系统(如飞机和航天飞机),通过将上述形式化方法成功应用于这些工程项目,有助于加深读者对嵌入式实时系统分析和验证方法的理解和运用。 本书面向高等院校本科生和研究生,作为“嵌入式系统”、“实时系统”相关专业课程教材或教学参考书使用;也可面向业界从业者和研究人员,作为参考书使用。
《基于模型的设计及其嵌入式实现(第2版)》以基于模型的设计为主线,讲述了M 代码的快速编写与调试,用户界面的创建,浮点Simulink/Stateflow模型的建立、调试与验证,用户自定义模块的生成;详细介绍了基于模型设计的全过程,主要有需求分析与跟踪、模型的检查与设计验证、浮点模型到定点模型的转换、模型嵌入式C代码的自动生成、软件/处理器/硬件在环测试,整个过程满足DO 178B航空电子规范,可显著提高工作效率、降低开发成本,并且增强了代码的安全性与鲁棒性,避免了产品开发的潜在市场风险。
本书是一本通俗易懂的直播系统开发入门书籍。通过本书读者可以从零开始学习搭建直播系统。本书分为三部分,*部分(第1章)主要介绍Nginx,包括什么是Nginx,为什么要选择Nginx,在特定的环境下如何安装、配置及使用Nginx。第二部分(第2~4章)主要介绍基于Nginx的Nginx-rtmp-module、FFmpeg组件的安装与配置,并完整地搭建了一个简单的直播系统。第三部分(第5~7章)主要介绍在多终端下如何使用不同技术建立基于直播的SDK,并介绍多种SDK相关技术框架。本书适合对直播系统开发有兴趣的人员、高级语言开发者、音/视频开发入门者。
《微软System Center 2012 R2私有云部署实战》是国内本System Center 2012 R2中文技术图书,全书通过对Hyper-V 2012 R2虚拟化软件和System Center 2012 R2系统管理套件的讲解,逐步深入“微软私有云”的核心功能和服务,帮助读者在实际工作中规划、实施、部署和运维“微软私有云”。 在System Center 2012 R2系统管理套件中,SCVMM2012 R2是为关键的一个组成部分,它可以提供基础的虚拟机级别的云服务,同时也是容易实现的一项云服务。《微软System Center 2012 R2私有云部署实战》会对该组件进行彻底的剖析,从部署到常见的运维方法都会详细介绍。 除此之外,《微软System Center 2012 R2私有云部署实战》还针对SCCM2012 R2和SCOM2012 R2等组件进行了介绍,它们分别为微软私有云提供了软件更新、补丁升级、系统监控等众多功能。 《微软System Center 2012 R2私有云部署实战》适合网络系统
Git是一款免费、开源的分布式版本控制系统,早由LinilusTorvalds创建,用于管理Linux内核开发,现已成为分布式版本控制的主流工具。 《Git版本控制管理(第2版)》是学习掌握Git的*教程,总共分为21章,其内容涵盖了如何在多种真实开发环境中使用Git;洞察Git的常用案例、初始任务和基本功能;如何在集中和分布式版本控制中使用Git;使用Git管理合并、冲突、补丁和差异;获得诸如重新定义变基(rebasing)、钩子(hook)以及处理子模块(子项目)等的高级技巧;Git如何与SVN版本库交互(包括SVN向Git的转换);通过GitHub导航、使用开源项目,并对开源项目做贡献。 《Git版本控制管理(第2版)》适合需要进行版本控制的开发团队成员阅读,对Git感兴趣的开发人员也可以从中获益。
《iOS开发指南:从零基础到App Store上架(第2版)》采用全新的iOS 7 API,详细介绍了*的iOS 7开发相关的知识点。《iOS开发指南:从零基础到App Store上架(第2版)》共分为4个部分:部分为基础篇,介绍了iOS的一些基础知识;第二部分为网络篇,介绍了iOS网络开发相关的知识;第三部分为进阶篇,介绍了iOS高级内容、商业思考等;第四部分为实战篇,从到有地介绍了两个真实的iOS应用:MyNotes应用和2016里约热内卢奥运会应用。书中包括了100多个完整的案例项目源代码,大家可以到本书网站http://www.iosbook1.com下载。 《iOS开发指南:从零基础到App Store上架(第2版)》适合iOS开发人员阅读。
本书的内容主要包括7个主题:操作系统简介、进程、存储器、I/O设备、文件系统、操作系统安全和分布式操作系统。每一部分都从多个视角分析了主题的基本原理、应用分析、详细设计,以及Inferno和Linux的实现。在详细讨论Inferno和Linux的这些章节中,主要侧重与内核中相对较小的一部分,这些部分用于说明在原理章节中涉及的技术与原理。书中介绍的每个函数都分成了小段,然后以更详细的方式描述这些小段。这样就能详细地学习独特内核的一些关键内容。本书除了基本的原理之外,还重点介绍了9个操作系统CTSS、Multics、RT-11、第6版UNIX、4.3BSD、VMS、Windows NT、TinyOS和Xen。这些示例操作系统,作为主线贯穿整本书。通过重点研究这些操作系统示例,从高层次的方式来研究操作系统的开发者如何将标准技术转化为实践。从而在实践的基础上再次提升理论。使理论和实践
本书从网络攻防实战的角度,对Web漏洞扫描利用及防御进行全面系统的研究,由浅入深地介绍了在渗透过程中如何对Web漏洞进行扫描、利用分析及防御,以及在漏洞扫描及利用过程中需要了解和掌握的基础技术。 全书共分10章,包括漏洞扫描 基础知识、域名信息收集、端口扫描、指纹信息收集与目录扫描、Web漏洞扫描、Web常见漏洞分析与利用、密码扫描及暴力破解、手工代码审计利用与漏洞挖掘、自动化的漏洞挖掘和利 用、Web漏洞扫描安全防御,基本涵盖了Web漏洞攻防技术体系的全部内容。书中还以一些典型漏洞进行扫描利 用及实战,通过漏洞扫描利用来还原攻击过程,从而可以针对性地进行防御。 本书实用性和实战性较强,可作为计算机本科专业或培训机构相关专业的教材,也可作为网络安全从业者 及爱好者的参考读物。
本书基于Vue.js 3展开,介绍了应用实例、组件、模板、计算属性、监听器、指令、表单、事件、数据绑定、路由、依赖注入、自定义样式、动画、渲染函数、测试、响应式编程等,还介绍了Vue CLI、TypeScript、Animate.css、Mocha、Vue Router、Naive UI、vue-axios等内容。Vue.js 3完全支持TypeScript,使读者可以采用类、面向对象的方式进行编程。在本书的后会手把手带领读者一起从零开始实现一个完整的企业级 新闻头条 客户端应用。本书技术前瞻、面向实战、实例丰富。
进化算法是一种人工智能.自然界中观察到的诸如自然选择、物种迁移、鸟群、人类文化、和蚁群等优化过程启发我们开发出进化算法. 本书讨论进化优化算法的理论、历史、数学和编程.主要包括遗传算法、遗传规划、蚁群优化、粒子群优化、差分进化、基于生物地理学优化以及其他多种算法. 以一种直观但理论上严谨的方式介绍进化算法,同时重视算法的实施. 仔细讨论了较新的进化算法,包括反向学习、人工鱼群、细菌觅食以及其他多种算法. 每章都配有练习题,教师可以在线获得习题答案. 借助简单的例子帮助读者直观理解理论. 从作者的网页上可以得到主要的源代码. 介绍分析进化算法的数学技巧,包括马尔可夫建模和动态系统建模. 本书适合作为高年级本科生和研究生的教材, 对工程和计算机科学领域的研究人员也大有裨
本书既是关于操作系统概念、结构和机制的教材,目的是尽可能清楚和全面地展示现代操作系统的本质和特点;也是讲解操作系统的经典教材,不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代*流行的操作系统Windows 8、UNIX、Android、Linux为例,展现了当代操作系统的本质和特点。全书共分背景知识、进程、内存、调度、输入/输出和文件、嵌入式系统六部分,内容包括计算机系统概述、操作系统概述、进程描述和控制、线程、并发性:互斥和同步、并发:死锁和饥饿、内存管理、虚拟内存、单处理器调度、多处理器和实时调度、I/O管理和磁盘调度、文件管理、嵌入式操作系统、虚拟机、计算机安全技术、分布式处理、客户/服务器和集群等。此外,本书配套网站提供了及时、生动的材料。
本书从原理和实践角度全面介绍如何设计分布式系统。内容包括节点、通信、并发与并行、面向对象的分布式架构、面向服务的分布式架构、面向消息的分布式架构、 EST 风格的架构、微服务架构、 Serverless 架构、 Cloud Native 架构、虚拟化与容器技术、分布式计算、分布式存储、分布式监控、分布式版本控制、数据一致性、分布式事务、安全性、可用性等,内容丰富、案例新颖,相关理论与技术实践较为前瞻。本书*后还提供了一个综合实战案例,手把手教读者如何来基于Spring Cloud 技术来实现微服务架构。
本书系统全面地介绍了Linux指令在企业生产环境中的实战应用技巧。主要内容包括Linux指令概述,CentOS操作系统生产环境标准化安装及实际运维部署,CentOS系统对比Windows系统的启动流程,Linux初、中、高级运维指令,并结合正则表达式将指令运用到实际工作环境中。本书最后详细介绍了Linux系统安全加固及内核核心参数优化等内容。书中精选的上千个实例均来自于作者在Linux系统运维领域的一线实战经验。
《嵌入式操作系统内核调度:底层开发者手册》从程序员的角度设计、编写嵌入式操作系统,实现了内核调度功能。作者按照介绍原理、设计编码、举例验证的顺序逐一介绍各功能的编写方法,为读者理解和应用嵌入式操作系统提供了一种全新的思路。 本手册共分7章,第1章概述操作系统的基本概念;第2章介绍编写操作系统任务调度程序所需具备的基本知识;第3章讲解如何编写非抢占式嵌入式操作系统Wanlix;第4章和第5章讲解编写实时抢占式嵌入式操作系统Mindows的方法;第6章讲解在4种操作系统下分别编写相同结构的任务调度程序;第7章简述进程机制,并使用线程模拟多进程。 本手册可供从事嵌入式开发工作的程序员、高等院校本科生及研究生参考,适合具有一定C语言基础的读者阅读。