全书共五篇,以从易到难的顺序详细剖析了Linux内核开发的核心技术。“知识储备篇”介绍了Linux的数据结构、中断处理、内核同步和时间计算等内容,这些是理解后续章节的前提;之后通过“内存管理篇”“文件系统篇”“进程管理篇”详细介绍了Linux的三大核心模块;最后的“综合应用篇”则融合了前面诸多模块知识展示了Linux内核开发在操作系统、智能设备、驱动、通信、芯片、云计算和人工智能等热点领域的应用。书中的重点、难点均配有图表、代码和实战案例,力求直观、清晰。 学习本书的读者需要熟悉C语言,建议对Linux内核有一定了解。推荐初学者按照本书的编排顺序阅读,而熟悉Linux内核的读者可以跳过知识储备篇,直接从三大核心模块篇进行阅读。 本书深入浅出、配图丰富,可作为Linux初中级读者系统学习Linux内核开发的指导手册,也可作为从事嵌入
本书讲解了Linux驱动开发的基础知识以及所用到的开发环境,全书分为22章,其内容涵盖了各种Linux子系统,包含内存管理、PWM、RTC、IIO和IRQ管理等,还讲解了直接内存访问和网络设备驱动程序的实用方法。在学完本书之后,读者将掌握设备驱动开发环境的概念,并可以从零开始为任何硬件设备编写驱动程序。 阅读本书需要具备基本的C语言程序设计能力,且熟悉Linux基本命令。本书主要是为嵌入式工程师、Linux系统管理员、开发人员和内核黑客而设计的。无论是软件开发人员,还是系统架构师或制造商,只要愿意深入研究Linux驱动程序开发,阅读本书后都将有所收获。
本书由知名编译与操作系统专家海纳撰写,将沉淀20余年的Linux系统研究所得倾注书中。本书用不到1万行代码复现了Linux 0.12内核,打通了 古早 工具链障碍,模块实现环环相扣,带你穿透 迷雾 ,窥见Linux系统设计的绚丽 天光 。 本书共8章,从逻辑上分为四部分。第一部分(第1和2章)是基础知识,介绍开发内核所需的基础知识,包括开发环境和调试环境的搭建,以及i386保护模式等。第二部分(第3~6章)是核心模块,逐步实现进程、中断、系统调用、内存管理、字符设备驱动和块设备驱动等模块。第三部分(第7章)是文件系统,涵盖Minix文件系统、管理inode、管理普通文件、管理目录、文件链接、执行程序等内容。第四部分(第8章)是系统服务接口,介绍一些重要的函数,这部分不是内核的主要部分,但为了让shell程序正确地运行,这些函数也是必须实现的。
本书为Linux之父林纳斯 托瓦兹的自传。书中以林纳斯 托瓦兹对人生和社会走向的独特理解(生存、社会秩序、娱乐)为线索,在讲述林纳斯 托瓦兹成长经历的同时,阐述他对技术、自由、信息共享以及创造激情的体会与感悟,以及黑客精神与商业现实之间的冲突的深入思考,描绘出了以 自由与激情 为主导价值和内在驱动的黑客人生信仰模式,是了解林纳斯成功之路与人生哲学,以及Linux操作系统幕后故事的佳作。 本书适合计算机相关从业者阅读,也作为对Linux系统、黑客精神感兴趣的读者的参考资料。
系统编程是指编写系统软件,其代码在底层运行,直接跟内核和核心系统库对话。 《Linux系统编程(第 2版)》是一本关于Linux系统编程的教程,也是一本介绍Linux系统编程的手册,还是一本如何实现更优雅更快代码的内幕指南。全书分为11章和2个附录,详细介绍了Linux系统编程基本概念、文件I/O、缓冲I/O、高 级文件I/O、进程管理、高 级进程管理、线程、文件和目录管理、信号和时间等主题。附录给出了gcc和GNU C提供的很多语言扩展,以及推荐阅读的相关书目。 《Linux系统编程(第 2版)》的作者是Linux内核专业人士,多本技术图书的作者。《Linux系统编程(第 2版)》需要在C编程和Linux编程环境下工作的程序员阅读,对于想要巩固基础或了解内核的高 级编程人员,《Linux系统编程(第 2版)》也很有参考价值。
《Linux就该这么学(第2版)》源自日均访问量近60000次的线上同名课程,口碑与影响力俱佳,旨在打造简单易学且实用性强的轻量级Linux入门教程。 《Linux就该这么学(第2版)》在上一版的基础上进行了大量的更新,基于红帽RHEL 8系统编写,且内容适用于CentOS、Fedora等系统。本书共分为20章,内容涵盖了部署Linux系统,常用的Linux命令,与文件读写操作有关的技术,使用Vim编辑器编写和修改配置文件,用户身份与文件权限的设置,硬盘设备分区、格式化以及挂载等操作,部署RAID磁盘阵列和LVM,firewalld防火墙与iptables防火墙的区别和配置,使用ssh服务管理远程主机,使用Apache服务部署静态网站,使用vsftpd服务传输文件,使用Samba或NFS实现文件共享,使用BIND提供域名解析服务,使用DHCP动态管理主机地址,使用Postfix与Dovecot部署邮件系统,使用Ansible服务实现自动化运维,
本书介绍了嵌入式Linux系统开发过程中,从底层系统支持到上层GUI应用的方方面面,内容涵盖Linux操作系统的安装及相关工具的使用、配置,嵌入式编程所需要的基础知识(交叉编译工具的选项设置、Makefile语法、ARM汇编指令等),硬件部件的使用及编程(囊括了常见硬件,?热?UART、I*IC、LCD等),U-Boot、Linux内核的分析、配置和移植,根文件系统的构造(包括移植busybox、glibc、制作映象文件等),内核调试技术(比如添加kgdb补丁、栈回溯等),驱动程序编写及移植(LED、按键、扩展串口、网卡、硬盘、SD卡、LCD和USB等),GUI系统的移植(包含两个G UI系统:基于Qtopia和基于X),应用程序调试技术。 本书从**简单的点亮一个LED开始,由浅入深地讲解,使读者**终可以配置、移植、裁剪内核,编写驱动程序,移植GUI系统,掌握整个嵌入式Linux系统的开发方法。 本书由浅入深
本书对Linux命令行进行详细的介绍,全书内容包括4个部分,*部分由Shell的介绍开启命令行基础知识的学习之旅;第二部分讲述配置文件的编辑,如何通过命令行控制计算机;第三部分探讨常见的任务与工具;第四部分全面介绍Shell编程,读者可通过动手编写Shell脚本掌握Linux命令的应用,从而实现常见计算任务的自动化。通过阅读本书,读者将对Linux命令有更加深入的理解,并且可以将其应用到实际的工作中。 本书适合Linux初学人员、Linux系统管理人员及Linux爱好者阅读。
嵌入式微处理器功能强大、节能和低成本与嵌入式Linux系统的灵活性结合,促使业界许多公司基于嵌入式微处理器开发出了很多新产品。本书教读者基于设备树嵌入式Linux系统如何开发设备驱动程序。读者将学习编写不同类型的Linux驱动程序,以及与内核和用户空间交互的应用程序程序接口(API)和方法。本书以实战为核心,阐述了Linux内核基础知识,将编写大约30个驱动程序并移植到三种不同的微处理器上。本书在实验部分中基于NXP i.MX7D、Microchip SAMA5D2和Broadcom BCM2837三种不同微处理器详细阐述了驱动程序的开发的实现,读者可参考实验部分选择开发和测试自己的驱动程序。在阅读本书之前,建议读者先购买一个基于这些微处理器之一的开发板,板上至少应有一个SPI和I2C控制器,例如Raspberry Pi3模型B板。
本书以开源软件为基础,全面介绍了UNIX/Linux安全运维的各方面知识。*篇从UNIX/Linux系统日志、Apache等各类应用日志的格式和收集方法讲起,内容涵盖异构网络系统日志收集和分析工具使用的多个方面;第二篇列举了二十多个常见网络故障案例,每个案例完整地介绍了故障的背景、发生、发展,以及*终的故障排除过程。其目的在于维护网络安全,通过开源工具的灵活运用,来解决运维实战工作中的各种复杂的故障;第三篇重点讲述了网络流量收集监控技术与OSSIM在异常流量监测中的应用。 本书使用了大量开源工具解决方案,是运维工程师、网络安全从业人员不可多得的参考资料。
本书概述了Linux的发展历史,探讨了Linux的设计哲学,综述了Intel平台以及Linux的主要开发工具和几种常用的数据结构,而后从Linux的引导和初始化入手,详细论述了Linux各主要组成部分的设计原理、管理结构和技术演变,包括中断处理、时钟管理、物理内存管理、进程管理、虚拟内存管理、互斥与同步、进程间通信、虚拟文件系统、物理文件系统等,并深入探讨了Linux各组成部分之间的组织关系。《Linux原理与结构》内容取材于作者长期的教学和科研实践,涵盖了Linux发展过程中的多个版本,逻辑性强,抽象层次高,可作为硕士研究生与高年级本科生的教材或教学参考书,也可供Linux研究和开发人员参考使用。
本书延续了《UNIX系统管理技术手册》前几版的讲解风格,以当前主流的Linux发行版本为例,把Linux系统管理技术分为4个部分分别进行介绍。第一部分(基础管理)对UNIX和Linux系统进行了简介,涵盖了运行单机系统所需的大部分知识和技术。第二部分(连网)讲解了UNIX系统上使用的协议和服务器的相关技术。第三部分(存储)讲解了如何解决数据存储和管理的问题。第四部分(运维)介绍了系统管理员在工作中经常碰到的问题。 本书适用范围广泛,无论是Linux的初学者还是具有丰富经验的Linux专业技术人员可从本书中获益。
掌握Linux命令行操作,不仅是轻松驾驭Linux系统的基础,还是开展Python数据分析、数据库管理、后端开发等工作的基本功。 本书是专门为命令行初学者打造的学习手册,注重趣味性、实用性,逻辑清晰、图文并茂。书中总结了大量命令行表格与核心知识点,以方便大家快速掌握Linux命令行的使用方法。本书结合丰富的代码示例,详细地讲解了如何通过简单、方便的命令行操作解决实际问题,提升工作效率。书中内容主要分为两部分,共8章,包括命令行环境搭建、文件系统及其管理、应用和包管理、命令行及shell强化、文本处理、数据分析、Vim文本编辑、进程管理和工作空间组织。 本书面向从其他平台过渡到Linux的新用户、初级Linux系统管理员、Linux系统爱好者,以及对数据分析和开源技术感兴趣的读者。
《高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例》以Linux运维平台下的开源应用软件为中心,涉及Linux运维的各个方面,主要从系统基础运维、系统性能调优、智能运维监控、运维实战案例4个方面展开介绍。本书贯穿实战、实用、通俗、易懂的特点,在内容上注重实战化,通过真实的生产环境从多个方面介绍运维工作中的方方面面。通过真实案例的学习,可以使读者深入地掌握Linux运维技术的各种经验和技巧,从而真正提高企业的实战能力。 全书贯穿了由点及线、由线及面的学习方法,既可以满足初学者参考学习,也可以帮助有一定基础的中高级Linux运维管理人员进阶,使不同层次的读者都能从本书受益。
在IT产业链中开源的理念已成为绝大多数企业的共识。随着开源技术的不断进步与创新,云计算也逐步深入到了每个互联网企业的内部。但是,随之而来的便是管理成本的提高,大量的物理或者虚拟主机需要管理与维护,如何能够更好地实现自动化运维,成为企业需要迫切解决的问题。行业中自动化运维的软件很多,Puppet、Saltstack、Ansible等让我们在云时代依然可以轻松管理和维护设备与业务,然而像Ansible这样的自动化工具,虽然已经内置了很多模块,但是在解决每个企业的个性化需求时还需要编写自动化脚本。本书将围绕Linux系统中*常用的Shell脚本语言,讲解如何通过Shell编写自动化、智能化脚本。全书以案例贯穿,对每个知识点都可以找到与之对应的案例,完成本书中的每个案例对于未来在企业中的实际应用极具意义。另外,在本书中配套有很多游戏案例,通过
本书基于CentOS 8编写,共分9章,分别是:Linux基础,快速上手Linux,Linu 阶,Shell编程,使用Docker实现Linux应用容器化,Kubernetes容器编排与运维,Hadoop集群构建与运维,Spark集群构建、配置及运维,使用Zabbi 行系统监控。此外,本书还提供配套的《Linux快速入门与实战—扩展阅读与实践》免费电子书,以及介绍虚拟机使用方法的免费高清视频资源。 本书精选Linux知识点,以容器和大数据等Linux热点应用方向为切入点,帮助读者快速入门Linux的使用,扎实掌握Linux在系统运维、容器、容器编排和大数据等应用方向的实用技术。 本书既可作为Linux学习者、云计算和大数据从业者的技术参考书,也可以作为高等院校云计算和大数据相关专业的教材。
本书以 良许 老师为主角,帮助读者轻松解析Linux的系统结构和项目应用,不仅涵盖了Linux的安装、命令、文件、目录、系统、磁盘、用户和Shell编程等操作知识,还收录了软件包管理、进程管理、系统设置、日志管理、网络设置、系统安全与维护、部署网站等核心技术。书中配备【知识拓展】【动手练一练】等辅助教学环节,以极具实践性的案例帮助读者巩固所学知识。同时,随书赠送所有实例文件和教学视频(扫码即可观看),以及电子教案、Linux相关学习资料等海量资源,以近似于手把手授课的立体化教学方式增强了读者的阅读体验,并且还提高了本书的知识含量和价值。 本书既可以作为Linux开源爱好者和Linux用户的学习指南,也可以作为大中专院校和培训机构相关专业的培训教程。
本书由知名编译与操作系统专家海纳撰写,将沉淀20余年的Linux系统研究所得倾注书中。本书用不到1万行代码复现了Linux 0.12内核,打通了“古早”工具链障碍,模块实现环环相扣,带你穿透“迷雾”,窥见Linux系统设计的绚丽“天光”。 本书共8章,从逻辑上分为四部分。 部分( 和2章)是基础知识,介绍开发内核所需的基础知识,包括开发环境和调试环境的搭建,以及i386保护模式等。第二部分(第3~6章)是核心模块,逐步实现进程、中断、系统调用、内存管理、字符设备驱动和块设备驱动等模块。第三部分(第7章)是文件系统,涵盖Minix文件系统、管理inode、管理普通文件、管理目录、文件链接、执行程序等内容。第四部分(第8章)是系统服务接口,介绍一些重要的函数,这部分不是内核的主要部分,但为了让shell程序正确地运行,这些函数也是必须实现的。
随着开源技术的不断进步与创新,在整个IT行业中,越来越多的企业愿意采用开源产品,而基于Linux的操作系统为这些开源产品提供了一个极佳的操作平台。本书将基于Linux操作系统这样一个基础平台,讲解如何实现各种开源产品的应用案例。全书主要从运维工作中的应用服务入手,全面讲解Linux操作系统及各种软件服务的运维方案。 现在的商业环境是一个充满竞争的环境,很多企业的业务量在不断地增长,对服务质量的要求也越来越高。特别是互联网企业,为了满足客户更高的要求,提升客户使用体验,IT?部门维护的设备往往数以万计,如此庞大的设备维护量,通常会让IT管理人员头疼不已。本书介绍的自动化运维内容可以让我们快速掌握简单的大规模批量运维方法。仅仅依靠自动化运维还不足以发挥出这些设备的能效,因此,我们还需要将各个服务器设备有机地
《Linuz Qt GUI开发详解--基于Nokia Qt SDK》由李彬编著,本书详细介绍了Linux-FQt用户界面开发的重要的核心知识。全书共分为5章20节,涉及Qt基础控件的使用,开发工具的使用,信号与槽机制的探秘,GUl换肤和多国语言支持的实现,Qt事件驱动机制,多进程和多线程编程技术, Qt串口编程技术,QtWebKit模块的高级编程技术,浏览器JavaScript对象扩展技术,QWebPlugin-Factory的使用,基于NPAPI标准的跨浏览器插件开发技术,MySQL和SQLife数据库在Qt中的应用及XML解析技术,QNetwork AccessManager及其相关类的使用等。《工程师经验手记·Linuz Qt GUI 开发详解:基于Nokia QtSDK》在编写相关知识点时尽量通过例子来演示 知识点的应用,尽量用通俗易懂的话来阐述知识点,每一章都会通过项目实例来强化读者对该章知识点的掌握和提高读者的实战水平及经验。 《Linuz Qt GUI开发详解--基于Nok
随着云原生技术的流行和普及,除了传统的Linux高可用集群技术,云原生的负载均衡技术在产品或系统中的比重也越来越大,因此本书基于这两方面讲解Linux集群的实现。 书中内容除了介绍传统的Linux集群和分布式系统以外,还介绍了微服务环境(包括Kubernetes和Mesos)下各组件(如Kong和Istio)的用法,以及如何在复杂的项目环境中保证Linux集群服务的高可用。 在实际工作中,系统架构设计绝不轻松,成熟的架构实现都是经过生产环境逐渐演变完善的。 本书也以笔者维护过的高并发、高流量网站架构与秒杀系统说明了网站的系统架构设计思想。书中内容都是基于项目实践或工作内容提炼而来的,相信对读者会有一定的启发!
徐英慧、马忠梅、王磊、王琳编著的《ARM9嵌入 式系统设计--基于S3C2410与Linux(第3版普通高校十 二五规划教材)》针对在嵌入式市场上颇具竞争力的 ARM9处理器——s3c2410和开放源码的Linux操作系统 ,讲述嵌人式系统的概念、软硬件的开发和调试手段 、嵌入式Linux驱动程序和应用程序的开发以及图形 用户界面MiniGUI的移植和应用。第3版的开发环境为 Realview MDK和IAREWARM,开发平台为EL-ARM-860 。 本书的特点是集嵌入式系统开发的理论知识和实 验教学于一体,并结合北京精仪达盛科技有限公司的 开发板,给出了大量实例。 本书可作为高等院校嵌入式系统课程的教材,也 可作为对嵌入式系统开发感兴趣的读者的人门教材, 同时还可以作为从事ARM嵌入式系统应用开发工程师 的参考书。
本书以Fedora 30为蓝本,全面系统地介绍了Linux系统的使用、管理与开发。全书共分为三部分:第壹部分介绍Linux的基本知识,使读者快速认识Linux,熟悉Linux操作环境,掌握Linux的基本操作;第二部分介绍软硬件管理、网络管理、网络服务的配置、安全管理、系统定制以及如何对系统进行管理与监视;第三部分介绍Linux下常用的软件开发工具和开发环境,帮助读者迅速了解Linux平台上软件开发的方法和步骤。