全书共五篇,以从易到难的顺序详细剖析了Linux内核开发的核心技术。“知识储备篇”介绍了Linux的数据结构、中断处理、内核同步和时间计算等内容,这些是理解后续章节的前提;之后通过“内存管理篇”“文件系统篇”“进程管理篇”详细介绍了Linux的三大核心模块;最后的“综合应用篇”则融合了前面诸多模块知识展示了Linux内核开发在操作系统、智能设备、驱动、通信、芯片、云计算和人工智能等热点领域的应用。书中的重点、难点均配有图表、代码和实战案例,力求直观、清晰。 学习本书的读者需要熟悉C语言,建议对Linux内核有一定了解。推荐初学者按照本书的编排顺序阅读,而熟悉Linux内核的读者可以跳过知识储备篇,直接从三大核心模块篇进行阅读。 本书深入浅出、配图丰富,可作为Linux初中级读者系统学习Linux内核开发的指导手册,也可作为从事嵌入
本书讲解了Linux驱动开发的基础知识以及所用到的开发环境,全书分为22章,其内容涵盖了各种Linux子系统,包含内存管理、PWM、RTC、IIO和IRQ管理等,还讲解了直接内存访问和网络设备驱动程序的实用方法。在学完本书之后,读者将掌握设备驱动开发环境的概念,并可以从零开始为任何硬件设备编写驱动程序。 阅读本书需要具备基本的C语言程序设计能力,且熟悉Linux基本命令。本书主要是为嵌入式工程师、Linux系统管理员、开发人员和内核黑客而设计的。无论是软件开发人员,还是系统架构师或制造商,只要愿意深入研究Linux驱动程序开发,阅读本书后都将有所收获。
《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操作系统内部工作原理的开发者、系统管理员及安全研
本书首先介绍MATLAB语言程序设计的基本内容,在此基础上系统介绍各个应用数学领域的问题求解,如基于MATLAB的微积分问题、线性代数问题、积分变换与复变函数问题、非线性方程与**化问题、常微分方程与偏微分方程问题、数据插值与函数逼近问题、概率论与数理统计问题的解析解和数值解方法等;还介绍了较新的非传统方法,如模糊逻辑与模糊推理、神经网络、深度学习、进化寻优算法、小波分析、粗糙集数据处理及分数阶微积分的计算方法等。 本书可作为一般读者学习和掌握MATLAB语言的教科书,高等学校理工科各类专业的本科生和研究生学习计算机数学语言的教材或参考书,可供科技工作者、教师学习和应用MATLAB语言解决实际数学问题时参考,还可作为读者查询数学问题求解方法的手册。
汽车中软件部分的比重正稳步提升。 软件中的运行时行为-Timing(时间性能测量)这一部分与此同时呈爆发性增长。造成此状况的原因有很多:软件中越来越多的部分与安全性相关,系统本身变得越来越复杂,而且大多数情况下的多核应用比预期的要困难。现代汽车领域中的控制器单元仍旧不能忽略时间性能测量这一主题。时间性能测量问题分析及解决的成本毫无疑问是非常高的,尤其是在项目后期。此外,安全规范如 ISO 26262 规定了涉及嵌入式软件时间性能的要求。这本书介绍了基础内容,以便于用正确的时间性能测量方法去开发软件或者解决严重的时间性能测量问题。它同时着眼于各种各种分析方法,涵盖了开发过程中的所有阶段,并通过大量实际范例以及针对开发者工作的具体建议来为其理论奠定基础。 即使书中大部分实际范例出自汽车行业领域,但其全部内
本书是UNIX网络编程的经典之作。书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户 服务器程序的各种设计方法也作了完整的探讨,*后还深入分析了流这种设备驱动机制。 本书内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
嵌入式微处理器功能强大、节能和低成本与嵌入式Linux系统的灵活性结合,促使业界许多公司基于嵌入式微处理器开发出了很多新产品。本书教读者基于设备树嵌入式Linux系统如何开发设备驱动程序。读者将学习编写不同类型的Linux驱动程序,以及与内核和用户空间交互的应用程序程序接口(API)和方法。本书以实战为核心,阐述了Linux内核基础知识,将编写大约30个驱动程序并移植到三种不同的微处理器上。本书在实验部分中基于NXP i.MX7D、Microchip SAMA5D2和Broadcom BCM2837三种不同微处理器详细阐述了驱动程序的开发的实现,读者可参考实验部分选择开发和测试自己的驱动程序。在阅读本书之前,建议读者先购买一个基于这些微处理器之一的开发板,板上至少应有一个SPI和I2C控制器,例如Raspberry Pi3模型B板。
在编程界所使用的文本编辑器中,vi及其衍生品可能是重要的一类。在这本书的更新版中,Unix和Linux用户将学习到vi和Vim("vi improved")的文本编辑基础知识,以及每个编辑器的高级编辑工具。作者Arnold Robbins和Elbert Hannah介绍了Vim的版本,包括8.0和8.2。 如果你是一名程序员或计算机分析员,或是在工作中要用到浏览器或命令行界面,使用Vim可以提高你的工作效率,简化复杂的任务。你将学习多窗口编辑、全局搜索和替换以及适用于程序员的利器,同时了解如何编写交互式宏和脚本来扩展编辑器 所有内容都采用了简单易懂的行文风格,这也正是本书之所以被誉为经典佳作的原因。
本书对Linux命令行进行详细的介绍,全书内容包括4个部分,*部分由Shell的介绍开启命令行基础知识的学习之旅;第二部分讲述配置文件的编辑,如何通过命令行控制计算机;第三部分探讨常见的任务与工具;第四部分全面介绍Shell编程,读者可通过动手编写Shell脚本掌握Linux命令的应用,从而实现常见计算任务的自动化。通过阅读本书,读者将对Linux命令有更加深入的理解,并且可以将其应用到实际的工作中。 本书适合Linux初学人员、Linux系统管理人员及Linux爱好者阅读。
本书讲述了Linux系统及其他UNIX风格的操作系统上的程序开发,主要内容包括标准Linux C语言函数库和由不同的Linux或UNIX标准指定的各种工具的使用方法,大多数标准Linux开发工具的使用方法,通过DBM和MySQL数据库系统存储Linux中的数据,为X视窗系统建立图形化用户界面等。本书通过先介绍程序设计理论,再以适当的例子和清晰的解释来阐明它的方式,帮助读者掌握相关的知识。 本书适合Linux的初学者及希望利用Linux进行开发的程序人员阅读,也适合作为高等院校计算机相关专业师生的参考教材。
本书适合具有一定 Zabbix 应用经验并想要进一步理解 Zabbix 工作机制的读者阅读,包括相关企业的运维人员、技术主管、架构师、产品经理和决策者。 本书内容分为 4 篇:基础篇、高阶篇、实践篇、集成篇。 基础篇:第 1 ~ 5 章,主要介绍 Zabbix 的发展史、基础架构、安装部署和使用、基础功能及特性。 高阶篇:第 6 ~ 13 章,主要总结当下比较流行的 Zabbix 高可用架构,探讨 Zabbix 监控数据库的选型、 Zabbix 常用命令,以及 Zabbix 的一些高级用法,如各组件之间的安全加密、自动发现功能、 Zabbix 宏等,并在后浅谈了一下 Zabbix 的性能优化。 实践篇:第 14 ~ 24 章,主要以监控实战为主,通过对不同监控对象(操作系统、数据库、中间件、应用、硬件设备、网络设备、存储设备、虚拟化、公有云、私有云)的监控过程来详细讲解。另外,本篇还包括与 Prometheu
本书对大前端技术栈进行了全面的讲解,以实战驱动教学,内容涉及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个企业级实战项目,为打造企业刚需人才。 本书适合初、中级前端开发者、渴望了解前端知识整体脉络的程序员,以及希望突破瓶颈进一步提升的工程师阅读。
本书延续了《UNIX系统管理技术手册》前几版的讲解风格,以当前主流的Linux发行版本为例,把Linux系统管理技术分为4个部分分别进行介绍。第一部分(基础管理)对UNIX和Linux系统进行了简介,涵盖了运行单机系统所需的大部分知识和技术。第二部分(连网)讲解了UNIX系统上使用的协议和服务器的相关技术。第三部分(存储)讲解了如何解决数据存储和管理的问题。第四部分(运维)介绍了系统管理员在工作中经常碰到的问题。 本书适用范围广泛,无论是Linux的初学者还是具有丰富经验的Linux专业技术人员可从本书中获益。
本书借助OpenEuler操作系统,全面的向读者介绍如何使用OpenEuler操作系统,内容涵盖Linux管理员的基础操作管理,涉及Linux shell的基础命令使用、OpenEuler下的用户与组的管理及权限管理,涉及OpenEuler环境下的磁盘、文件系统、LVM、RAID组的管理及使用,涉及进程管理和软件安装等基础内容。 本书借助OpenEuler操作系统,向读者介绍了常用的Linux网络服务管理内容。涵盖OpenEuler下的服务管理、网络管理、SSH服务管理、FTP服务管理、Samba/NFS服务管理,ISCSI服务管理、GlusterFS文件系统管理、Apache/Nginx服务管理以及OpenEuler环境下的日志内容管理等。 本书借助OpenEuler操作系统,阐述了在OpenEuler环境下的系统安全等问题,通过对iptables、firewalld防火墙的管理与设置,对系统进行安全加固处理。通过selinux对系统内资源使用进行安全管理。 本书定位于Linux操作系统爱好者参考用书,以及高
《高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例》以Linux运维平台下的开源应用软件为中心,涉及Linux运维的各个方面,主要从系统基础运维、系统性能调优、智能运维监控、运维实战案例4个方面展开介绍。本书贯穿实战、实用、通俗、易懂的特点,在内容上注重实战化,通过真实的生产环境从多个方面介绍运维工作中的方方面面。通过真实案例的学习,可以使读者深入地掌握Linux运维技术的各种经验和技巧,从而真正提高企业的实战能力。 全书贯穿了由点及线、由线及面的学习方法,既可以满足初学者参考学习,也可以帮助有一定基础的中高级Linux运维管理人员进阶,使不同层次的读者都能从本书受益。
本书讲述了一个64位多核操作系统的自制过程。此操作系统自制过程是先从虚拟平台构筑起一个基础框架,随后再将基础框架移植到物理平台中进行升级、完善与优化。为了凸显64位多核操作系统的特点,物理平台选用搭载着Intel Core-i7处理器的笔记本电脑。与此同时,本书还将Linux内核的源码精髓、诸多官方白皮书以及多款常用协议浓缩于其中,可使读者在读完本书后能够学以致用,进而达到理论联系实际的目的。 全书共分为16章。第1~2章讲述了操作系统的基础概念和开发操作系统需要掌握的知识;第3~5章在虚拟平台下快速构建起一个操作系统模型;第6~16章将在物理平台下对操作系统模型做进一步升级、优化和完善。 本书既适合在校学习理论知识的初学者,又适合在职工作的软件工程师或有一定基础的业余爱好者。
本书是被誉为UNIX编程 圣经 的Advanced Programming in the UNIX Environment一书的第3版。在本书第2版出版后的8年中,UNIX发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据新的标准对内容进行了修订和增补,反映了新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。 本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX/Linux程序员都是一本不可或缺的参考书。