本书基于Linux 2.6.34内核详细介绍了Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面内容。主要内容包括:进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。同时本书也涵盖了Linux 2.6内核中颇具特色的内容,包括CFS调度程序、抢占式内核、块I/O层以及I/O调度程序等。本书采用理论与实践相结合的路线,能够带领读者快速走进Linux内核世界,真正开发内核代码。本书适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。
全书共五篇,以从易到难的顺序详细剖析了Linux内核开发的核心技术。“知识储备篇”介绍了Linux的数据结构、中断处理、内核同步和时间计算等内容,这些是理解后续章节的前提;之后通过“内存管理篇”“文件系统篇”“进程管理篇”详细介绍了Linux的三大核心模块;最后的“综合应用篇”则融合了前面诸多模块知识展示了Linux内核开发在操作系统、智能设备、驱动、通信、芯片、云计算和人工智能等热点领域的应用。书中的重点、难点均配有图表、代码和实战案例,力求直观、清晰。 学习本书的读者需要熟悉C语言,建议对Linux内核有一定了解。推荐初学者按照本书的编排顺序阅读,而熟悉Linux内核的读者可以跳过知识储备篇,直接从三大核心模块篇进行阅读。 本书深入浅出、配图丰富,可作为Linux初中级读者系统学习Linux内核开发的指导手册,也可作为从事嵌入
通告: 本书第11页,第六行链接已经失效,替换为: http://pan.baidu.com/s/1cFrl2e 密码:ezs2 本书介绍了Linux设备驱动开发理论、框架与实例,详细说明了自旋锁、信号量、完成量、中断顶/底半部、定时器、内存和I/O映射以及异步通知、阻塞I/O、非阻塞I/O等Linux设备驱动理论,以及字符设备、块设备、tty设备、I2c设备、LCD设备、音频设备、USB设备、网络设备、PCI设备等Linux设备驱动架构中各个复杂数据结构和函数的关系,并讲解了Linux驱动开发的大量实例,使读者能够独立开发各类Linux设备驱动。
本书由知名编译与操作系统专家海纳撰写,将沉淀20余年的Linux系统研究所得倾注书中。本书用不到1万行代码复现了Linux 0.12内核,打通了 古早 工具链障碍,模块实现环环相扣,带你穿透 迷雾 ,窥见Linux系统设计的绚丽 天光 。 本书共8章,从逻辑上分为四部分。第一部分(第1和2章)是基础知识,介绍开发内核所需的基础知识,包括开发环境和调试环境的搭建,以及i386保护模式等。第二部分(第3~6章)是核心模块,逐步实现进程、中断、系统调用、内存管理、字符设备驱动和块设备驱动等模块。第三部分(第7章)是文件系统,涵盖Minix文件系统、管理inode、管理普通文件、管理目录、文件链接、执行程序等内容。第四部分(第8章)是系统服务接口,介绍一些重要的函数,这部分不是内核的主要部分,但为了让shell程序正确地运行,这些函数也是必须实现的。
本书共11章,以企业级应用为出发点,从云计算与云存储、对象存储,到MinIO的部署、MinIO服务端控制台管理、身份认证与数据加密、存储桶的通知与监控、数据备份与故障处理、SDK与API部署、MinIO静态资源服务器,再到MinIO企业级应用案例与优化技巧、MinIO企业级集群架构部署等多个方面,通过实用的案例和通俗易懂的语言,向读者展示了利用MinIO在企业中快速、高效地布局存储应用的全流程。同时,随书赠送MinIO分布式配置文件、各操作系统安装包(含信创ARM)、各操作系统客户端、MinIO多活分布式架构图、负载均衡官方推荐配置和Python SDK测试代码等海量学习资源,并对相关重点、难点提供了扫码看视频的服务,以帮助读者全面理解MinIO。 本书的读者对象包括云计算工程师、数据工程师和数据科学家、系统管理员以及软件开发人员等群体。云计算工程师可以通过本
本书是一本面向系统工程师的实践指南,皆在帮助他们获得Linux内核中BPF虚拟机的专业知识。通过本书,你不仅可以深入了解BPF程序的生命周期,熟悉日常工作所需的基本概念,增强有关性能优化、网络和安全方面的知识。还可以学习如何编写观测和修改内核行为的应用程序,以及通过代码注入的方式对内核事件进行监控、跟踪和安全观测等内容。同时,本书展示了相关的C、Go和Python代码示例。每次学习BPF技术时,我们都需要翻阅许多博客文章、手册以及Internet上的各种资料。 本书的目的就是将分散在各处的知识汇总在一起,以方便后续BPF爱好者能更好地学习这一技术。
本书对 Linux 作系统早期内核(V0.12)全部源代码文件进行了详 细、全面的注释和说明,旨在帮助读者用较短的时间对 Linux 的工作机理 获得全面而深刻的理解,为进一步学习和研究现代 Linux 系统打下坚实的 基础。虽然分析的版本较低,但该内核已能够正常编译运行,并且其中已 包括了 Linux 工作原理的精髓。书中首先概要地介绍了 Linux 内核发展历 史,说明了各内核版本之间的主要区别和改进,给出了选择 0.12 版内核源 代码作为研究对象的原因。然后给出了阅读内核源代码所需的相关基础知 识,概要介绍了运行 Linux 系统的 PC 硬件组成结构、编写内核使用的汇编 语言和 C 语言扩展部分,并且重点说明了 80x86 处理器在保护模式下运行 的编程方法。接着介绍了内核代码概况,给出了内核源代码目录树结构, 并依据该组织结构对所有内核程序和文件进行了详细描述和
Linux是世界上流行的开源操作系统。Linux系统编程技术将使你能够使用自己的系统程序扩展Linux操作 系统,并与系统上的其他程序进行通信。 本书探讨了Linux文件系统及其基本命令、内置手册页、GNU编译器集合(GCC)和Linux系统调用;讲述了如何处理程序中的错误,以及如何捕获错误并打印错误相关信息;介绍了在系统上读写文件的多种方法,包括使用流和文件描述符。随着学习的不断深入,你将深入研究创建进程、创建僵尸进程和守护进程,并学习使用systemd处理守护进程的方法;了解如何创建共享库,并探索不同类型的进程间通信(IPC);还将学习如何使用POSIX线程编写程序,以及如何使用GNU调试器(GDB)和Valgrind调试程序。 学完本书,你将能够在Linux系统中开发自己的系统程序,包括守护进程、工具、客户端和过滤器。 通过阅读本书,你将: ◎ 了解如何使
《高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例》以Linux运维平台下的开源应用软件为中心,涉及Linux运维的各个方面,主要从系统基础运维、系统性能调优、智能运维监控、运维实战案例4个方面展开介绍。本书贯穿实战、实用、通俗、易懂的特点,在内容上注重实战化,通过真实的生产环境从多个方面介绍运维工作中的方方面面。通过真实案例的学习,可以使读者深入地掌握Linux运维技术的各种经验和技巧,从而真正提高企业的实战能力。 全书贯穿了由点及线、由线及面的学习方法,既可以满足初学者参考学习,也可以帮助有一定基础的中高级Linux运维管理人员进阶,使不同层次的读者都能从本书受益。
嵌入式微处理器功能强大、节能和低成本与嵌入式Linux系统的灵活性结合,促使业界许多公司基于嵌入式微处理器开发出了很多新产品。本书教读者基于设备树嵌入式Linux系统如何开发设备驱动程序。读者将学习编写不同类型的Linux驱动程序,以及与内核和用户空间交互的应用程序程序接口(API)和方法。本书以实战为核心,阐述了Linux内核基础知识,将编写大约30个驱动程序并移植到三种不同的微处理器上。本书在实验部分中基于NXP i.MX7D、Microchip SAMA5D2和Broadcom BCM2837三种不同微处理器详细阐述了驱动程序的开发的实现,读者可参考实验部分选择开发和测试自己的驱动程序。在阅读本书之前,建议读者先购买一个基于这些微处理器之一的开发板,板上至少应有一个SPI和I2C控制器,例如Raspberry Pi3模型B板。
Linux操作系统上的用户态编程是通过系统调用提供的接口,将原本需要在Linux内核中或者对Linux内核进行多次系统调用才能实现的功能,放到内核之外来实现,从而保证内核的稳定性,获得更强的可拓展性,并且可以将Linux内核的传染性开源协议隔离。 全书共分9章,第1、2章从用户态与内核态的基本概念入手,简要介绍C语言标准库编程以及各种C语言标准库。第3章深入介绍系统调用的概念和计算机架构、特权级与硬件资源访问限制的关系,以及内核中系统调用的处理方式。第4章涵盖了系统调用与C语言标准库的关系,介绍如何基于Linux系统调用实现C语言标准库。第5章深入介绍了Linux系统用户态驱动API的使用和分析,包括Userspace I/O (UIO)接口的使用和VFIO等用户态驱动接口的使用。第6~9章涵盖了高性能网卡Linux用户态驱动分析、用户态文件系统FUSE分析、用户态线程——协程
本系列图书内容概览本系列图书共三本,分别为《Linux权威指南:从小白到系统管理员 上册(原书第2版)》《Linux权威指南:从小白到系统管理员 下册(原书第2版)》《Linux权威指南:网络服务详解(原书第2版)》,每本书的内容都紧密相扣,相互衔接,共同构成一个连贯且递进的整体。在《Linux权威指南:从小白到系统管理员 上册(原书第2版)》中,主要介绍操作系统的基础知识,特别是与Linux相关的部分,并探索系统管理员的Linux哲学,为后面的学习做准备。在《Linux权威指南:从小白到系统管理员 下册(原书第2版)》中,聚焦于资深系统管理员的一系列高级知识。在《Linux权威指南:网络服务详解(原书第2版)》中,你将在现有虚拟网络中再创建一个虚拟机作为服务器来完成后续的学习任务。它还将取代虚拟网络中虚拟路由器的一些功能。本系列图书与其
《Linux从入门到精通(视频教学版)》以Linux发行版CentOS 7.7为基础,从基本的系统安装开始讲起,然后逐步介绍Linux系统的常用操作命令,以及软件和服务的安装与使用,并在后介绍Shell脚本的使用和防火墙的管理规则。其中重点介绍Linux系统日常维护命令的使用,带领读者系统地学习Linux的操作,帮助他们从一个 小白 成长为一个初级系统管理员。 《Linux从入门到精通(视频教学版)》分为13章:初识Linux系统,文件管理和目录管理,账户管理和权限管理,磁盘管理,网络管理,进程管理和计划任务,软件包的安装,DHCP服务和DNS服务,文件服务,Web服务,LNMP架构部署,Shell脚本,firewalld防火墙。 《Linux从入门到精通(视频教学版)》对每个Linux命令都配以示例进行实操演练,特别适合Linux入门读者阅读,也适合需要系统学习Linux系统的运维人员、测试人员和开发人员
鸟哥著的《鸟哥的LINUX私房菜(基础学习篇第4版)》是知名度颇高的Linux入门书《鸟哥的Linux私房菜基础学习篇》的新版,全面而详细地介绍了Linux操作系统。 全书分为五部分: 部分着重说明计算机的基础知识、Linux的学习方法,如何规划和安装Linux主机以及CentOS 7.x的安装、登录与求助方法;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全 重要的Linux账号的管理、磁盘配额、 文件系统管理、计划任务以及进程管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 本书内容丰富全面,基本概念的讲解 细致,深入浅出。各
本书以 良许 老师为主角,帮助读者轻松解析Linux的系统结构和项目应用,不仅涵盖了Linux的安装、命令、文件、目录、系统、磁盘、用户和Shell编程等操作知识,还收录了软件包管理、进程管理、系统设置、日志管理、网络设置、系统安全与维护、部署网站等核心技术。书中配备【知识拓展】【动手练一练】等辅助教学环节,以极具实践性的案例帮助读者巩固所学知识。同时,随书赠送所有实例文件和教学视频(扫码即可观看),以及电子教案、Linux相关学习资料等海量资源,以近似于手把手授课的立体化教学方式增强了读者的阅读体验,并且还提高了本书的知识含量和价值。 本书既可以作为Linux开源爱好者和Linux用户的学习指南,也可以作为大中专院校和培训机构相关专业的培训教程。
本书主要以结构化方法介绍如何在开发或操作中使用Linux。本书还提供了使用这个开源操作系统改进工作流程的技巧,并讲解了如何获得现代终端、shell和命令的实际操作经验,如何使用Linux网络,如何管理工作负载,如何实现现代Linux可观测性。本书还讲述了如何使用容器、systemd、现代文件系统以及诸如Flatcar和Bottlerocket等不可变发行版以现代方式运行Linux应用程序。本书适合开发人员、软件架构师和站点可靠性工程师阅读。
本书基于 的统信UOS服务器版介绍Linux操作系统及其维护,所介绍的内容也适用于openEuler(华为欧拉)、AnolisOS(阿里龙蜥)、CentOS、AlmaLinux、Rocky Linux、Oracle Linux等其他Linux发行版套件。全书共9章,主要内容包括Linux简介,统信UOS的部署,Linux基本命令,用户概述、文件权限与文本编辑,文件处理、重定向与操作符,Linux软件包管理,Linux进程管理与系统监控,Linux网络管理,Linux磁盘管理等。 本书虽然以Linux为例,但书中介绍的知识点也可以用于MINIX、FreeBSD等符合POSIX规范的UNIX系统。 本书适合想要系统、全面地学习Linux技术的初学人员,也适合具有一定Linux使用经验的读者。
本书由知名编译与操作系统专家海纳撰写,将沉淀20余年的Linux系统研究所得倾注书中。本书用不到1万行代码复现了Linux 0.12内核,打通了“古早”工具链障碍,模块实现环环相扣,带你穿透“迷雾”,窥见Linux系统设计的绚丽“天光”。 本书共8章,从逻辑上分为四部分。 部分( 和2章)是基础知识,介绍开发内核所需的基础知识,包括开发环境和调试环境的搭建,以及i386保护模式等。第二部分(第3~6章)是核心模块,逐步实现进程、中断、系统调用、内存管理、字符设备驱动和块设备驱动等模块。第三部分(第7章)是文件系统,涵盖Minix文件系统、管理inode、管理普通文件、管理目录、文件链接、执行程序等内容。第四部分(第8章)是系统服务接口,介绍一些重要的函数,这部分不是内核的主要部分,但为了让shell程序正确地运行,这些函数也是必须实现的。
本书基于CentOS 8编写,共分9章,分别是:Linux基础,快速上手Linux,Linu 阶,Shell编程,使用Docker实现Linux应用容器化,Kubernetes容器编排与运维,Hadoop集群构建与运维,Spark集群构建、配置及运维,使用Zabbi 行系统监控。此外,本书还提供配套的《Linux快速入门与实战—扩展阅读与实践》免费电子书,以及介绍虚拟机使用方法的免费高清视频资源。 本书精选Linux知识点,以容器和大数据等Linux热点应用方向为切入点,帮助读者快速入门Linux的使用,扎实掌握Linux在系统运维、容器、容器编排和大数据等应用方向的实用技术。 本书既可作为Linux学习者、云计算和大数据从业者的技术参考书,也可以作为高等院校云计算和大数据相关专业的教材。
鸟哥著的《鸟哥的LINUX私房菜(基础学习篇第4版)》是知名度颇高的Linux入门书《鸟哥的Linux私房菜基础学习篇》的新版,全面而详细地介绍了Linux操作系统。 全书分为五部分: 部分着重说明计算机的基础知识、Linux的学习方法,如何规划和安装Linux主机以及CentOS 7.x的安装、登录与求助方法;第二部分介绍Linux的文件系统、文件、目录与磁盘的管理;第三部分介绍文字模式接口shell和管理系统的好帮手shell脚本,另外还介绍了文字编辑器vi和vim的使用方法;第四部分介绍了对于系统安全 重要的Linux账号的管理、磁盘配额、 文件系统管理、计划任务以及进程管理;第五部分介绍了系统管理员(root)的管理事项,如了解系统运行状况、系统服务,针对登录文件进行解析,对系统进行备份以及核心的管理等。 本书内容丰富全面,基本概念的讲解 细致,深入浅出。各
本书以开源软件为基础,全面介绍了UNIX/Linux安全运维的各方面知识。*篇从UNIX/Linux系统日志、Apache等各类应用日志的格式和收集方法讲起,内容涵盖异构网络系统日志收集和分析工具使用的多个方面;第二篇列举了二十多个常见网络故障案例,每个案例完整地介绍了故障的背景、发生、发展,以及*终的故障排除过程。其目的在于维护网络安全,通过开源工具的灵活运用,来解决运维实战工作中的各种复杂的故障;第三篇重点讲述了网络流量收集监控技术与OSSIM在异常流量监测中的应用。 本书使用了大量开源工具解决方案,是运维工程师、网络安全从业人员不可多得的参考资料。
本书全面介绍了Linux后端开发的相关知识和技能,涵盖了Linux系统的各种功能和工具、Linux编程的相关知识和技能,以及开发后端服务和应用程序的内容。本书分为15章,主要内容包括Linux后端开发概述,开发环境搭建,服务器运维,shell编程简介,实现简易shell,使用Git管理代码,编译、链接、运行与调试,后端服务编写,网络通信基础,I/O模型与并发,公共代码提炼,应用层协议设计与实现,MyRPC框架设计与实现以及微服务集群的构建等。本书讲解通俗易懂,实例丰富,适合C/C++开发人员、Linux后端开发人员、对Linux后端开发感兴趣或者希望从事Linux后端开发的人员阅读,也适合作为高等院校计算机相关专业师生的学习用书及培训学校的教材。
本书是一本介绍 .NET 云原生开发技术的实用教程,由多位微软MVP联合编写,通过实际的项目代码,从多个角度深入浅出地阐释了云原生开发的理论和在实际开发中的应用。全书共11章,主要内容包括:迎接云原生的浪潮;配置 .NET 云原生开发与运行环境;云原生应用开发—电子商务应用eShopOnContainers;实现云原生应用的扩展性;实现云原生应用的通信;数据访问模式;实现可恢复的弹性应用;实现云原生应用的身份管理;实现云原生应用的可观察性;深入理解云原生、容器、微服务和DevOps:基于Dapr开发云原生应用。 本书适合具有 C# 开发经验的软件工程师、软件架构师,希望学习 的 .NET 技术,完成云原生应用开发转型的开发人员阅读。对于希望从头开始学习 .NET 技术和云原生开发的开发人员也是 好的选择。
《Linux程序设计重点难点实践与编程技巧》是浙江大学出版社《Linux程序设计》一书的配套辅导书。本书分二大部分,一是重点内容提要与解题技巧及《Linux程序设计》一书的习题解答提示,二是16周/次上机实验,实验内容与程序设计技巧涉及:Linux安装、linux与windows系统的资源共享设置、SHELL程序设计、Linux C程序设计基础、Linux环境下系统函数的使用、文件I/O操作、进程控制、进程间的通信、线程、Linux的图形编程、设备驱动程序设计基础、终端I/O通信