本书共13章,操作系统部分涉及内存管理、进程管理、文件系统、同步管理,以及系统调用。SoC(即片上系统)部分涉及SoC启动的过程、设备模型、设备树原理、电源模块、时钟模块、引脚模块、时间模块和中断模块,这些模块都是芯片运行的基本要求。作者站在一线开发者的角度先剖析了Kernel 6.6的实现原理,然后结合恩智浦i.MX9芯片的SoC 硬件原理,由浅入深地讲解了操作系统和SoC 的深层原理。 本书适合互联网开发从业人员、芯片开发相关人员阅读,也适合计算机及相关专业的在校学生作为专业参考书阅读。
用读一本小说的心态来阅读本书,你会对整个操作系统的体系结构和逻辑细节有非常清晰的认识,从此爱上并阅读更多的操作系统源码。第1部分:进入内核前的苦力活。覆盖从开机到运行到Linux中的main函数的关键流程解析,帮你清晰认识Intel CPU的体系结构。第2部分: 大战 前期的初始化工作。讲述main中的各种初始化函数,这些函数是操作系统各个模块的交互桥梁,为理解后续操作系统各个模块的运作原理打好基础。第3部分:一个新进程的诞生。讲述从内核态切换至用户态,并建立起第一个用户进程的全部过程。学完这部分,你将会理解一个多进程的操作系统是如何建立和运作的。第4部分:shell程序的到来。主要讨论如何将磁盘中存储的shell程序加载到内存中来,并最终交给CPU去执行。通过这个过程你会看清一个程序从存储到硬盘到最终被执行的全部过程。第5部分
国内大部分的开发者和公司都从事的是应用层的开发,平时大家更多关注的是应用层的开发技术。但应用层是建立在CPU和内存等硬件、操作系统内核、语言运行时的基础之上的。如果缺乏对这些底层知识的理解,驾驭技术的能力就无法精进,也很难开发出高性能、高稳定性的应用。 本书主要包括CPU和内存硬件、进程创建和调度原理、虚拟内存底层机制、Go 用户态协程实现、容器cgroup资源限制,以及throttle、CPU利用率和负载等性能指标统计原理等内容,最后过渡到性能优化手段,带领大家修炼底层内功,掌握高性能原理。
本书讲述了Linux系统及其他UNIX风格的操作系统上的程序开发,主要内容包括标准Linux C语言函数库和由不同的Linux或UNIX标准指定的各种工具的使用方法,大多数标准Linux开发工具的使用方法,通过DBM和MySQL数据库系统存储Linux中的数据,为X视窗系统建立图形化用户界面等。本书通过先介绍程序设计理论,再以适当的例子和清晰的解释来阐明它的方式,帮助读者掌握相关的知识。 本书适合Linux的初学者及希望利用Linux进行开发的程序人员阅读,也适合作为高等院校计算机相关专业师生的参考教材。
本书主要讲述采用现代 C 在 x86-64 Linux 上编写多线程 TCP 网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即 one loop per thread。这是在 Linux 下以 native 语言编写用户态高性能网络程序成熟的模式,掌握之后可顺利地开发各类常见的服务端网络应用程序。本书以 muduo 网络库为例,讲解这种编程模型的使用方法及注意事项。本书的宗旨是贵精不贵多。掌握两种基本的同步原语就可以满足各种多线程同步的功能需求,还能写出更易用的同步设施。掌握一种进程间通信方式和一种多线程网络编程模型就足以应对日常开发任务,编写运行于公司内网环境的分布式服务系统。
Linux C/C 编程在Linux应用程序开发中占有重要的地位,掌握这项技能将在就业竞争中立于不败之地。本书是一本针对初、中级读者的、贴近软件公司一线开发实践的书。本书共分为19章,内容包括Linux概述、搭建开发环境、语言基础、文件编程、多进程编程、进程间通信、Web编程、多线程编程、Linux下的库、TCP/IP协议基础、网络编程、网络性能测试工具iPerf简析、版本控制和SVN工具、C 跨平台开发以及安全编程等。本书适合想全面学习Linux环境下C/C 语言编程的读者,并可作为初中级开发人员的案头查阅与参考手册,也适合作为高等院校和培训学校相关专业师生的教学参考书。
本书聚焦于资深Linux系统管理员的一系列进阶知识,揭示Linux运行和编程的深层逻辑,覆盖逻辑卷管理、进程管理和监控、特殊文件系统、正则表达式、通过命令行打印、编程和管理任务自动化、利用Ansible简化远程主机上的大规模自动化管理、配置定时任务、NetworkManager的功能、B树文件系统及其特性、systemd相关知识、利用D-Bus和udev实现设备的即插即用管理、传统Linux日志文件的使用、用户管理以及基本的防火墙管理操作等,帮助读者成为Linux系统管理员。
本书延续了《UNIX系统管理技术手册》前几版的讲解风格,以当前主流的Linux发行版本为例,把Linux系统管理技术分为4个部分分别进行介绍。第一部分(基础管理)对UNIX和Linux系统进行了简介,涵盖了运行单机系统所需的大部分知识和技术。第二部分(连网)讲解了UNIX系统上使用的协议和服务器的相关技术。第三部分(存储)讲解了如何解决数据存储和管理的问题。第四部分(运维)介绍了系统管理员在工作中经常碰到的问题。 本书适用范围广泛,无论是Linux的初学者还是具有丰富经验的Linux专业技术人员可从本书中获益。
基于BPF的性能优化工具提供了前所未有的系统级和应用程序级的观察能力,使用这些工具可以优化性能、调试代码、增强安全性、降低成本。本书是使用这些观察工具的全面指南。本书作为全面介绍 BPF 技术的图书,从 BPF 技术的起源到未来发展方向都有涵盖,不仅全面介绍了 BPF 的编程模型,还完整介绍了两个主要的 BPF 前端编程框架 BCC 和 bpftrace,更给出了一系列实现范例,全面展示了 BPF技术的实际能力和未来发展前景,以及使用BPF工具优化性能、修复问题、探索线上系统的内部情况。 本书的另一个关注方向是 Linux 系统性能和应用程序性能的调优。本书全面介绍了系统性能调优的策略、工具与实践案例,不仅介绍了对应的 BPF 工具,还着重介绍了这些工具如何与 Linux 传统性能工具进行互补,这样读者可以有选择地进行使用。 本书介绍的工具小巧精致,且包含
本书主要描述Linux系统的总体框架和设计思想,包含很多可以直接操作的实例。编写本书的目的是希望读者对Linux系统背后的逻辑有一个全面的了解。本书对比较核心且常用的技术点有更加深入的解释,对实际使用Linux系统工作大有裨益,同时,选择重点的方向进行源码级深度分析,包含大量的案例,而且增加了与Windows同类操作系统的对比,涉及Fuchsia?OS和Android系统的一些实现,对操作系统的描述更清晰。 本书适合Linux系统开发人员、嵌入式系统开发人员阅读,也可供计算机相关专业的师生阅读。
内梅特等著的《UNIX\Linux系统管理技术手册(上下第4版英文版)》是《Linux系统管理技术手册》和《UNIX系统管理技术手册》的终结版,也是内梅特的封刀之作。 本书延续了《Linux系统管理技术手册(第二版)》和《UNIX系统管理技术手册(第三版)》的讲解风格,以当前主流的5种Linux发行版本(Red Hat ES、SUSE、Debian、Fedora Core和Ubuntu)为例,把Linux系统管理技术分为3部分分别介绍。 部分全面介绍了运行单机Linux系统涉及的各种管理知识和技术,如系统引导和关机、进程控制、文件系统管理、用户管理、设备管理、系统备份、软件配置以及cron和系统日志的管理使用等。第二部分从详细讲解TCP/IP协议基本原理开始,深入讨论了网络的两大基本应用——域名系统和路由技术,然后逐章讲解Linux上的各种Internet关键应用,如电子邮件、NFS、文件共享、Web托管和Internet,服
本书自1991年10月版开始,就成了Unix和Linux系统管理员的终极参考书。本书讨论了Unix和Linux提供的所有常用管理工具,并且说明了如何更明智、更高效地使用这些工具。 本书作者甽een Frisch把讨论的范围扩展到联网、电子邮件、安全和内核配置等对管理员日益重要的内容。本书还探讨了诸如LDAP、PAM、DHCP和DNS之类的服务,并讨论了许多重要的开源工具,包括SSH、Cfengine、Amanda、RRDTool和Criket。本书对*的所有主要Unix平台,包括Red Hat Linux 7.3与SuSE Linux 8、Solaris 8与9、FreeBSD 4.6、AIX 5、HP-UX 11与11i以及Tru64 5.1等进行了彻底的评论和测试。
本书延续了《UNIX系统管理技术手册》前几版的讲解风格,以当前主流的Linux发行版本为例,把Linux系统管理技术分为4个部分分别进行介绍。 部分(基础管理)对UNIX和Linux系统进行了简介,涵盖了运行单机系统所需的大部分知识和技术。第二部分(连网)讲解了UNIX系统上使用的协议和服务器的相关技术。第三部分(存储)讲解了如何解决数据存储和管理的问题。第四部分(运维)介绍了系统管理员在工作中经常碰到的问题。 本书适用范围广泛,无论是Linux的初学者还是具有丰富经验的Linux专业技术人员可从本书中获益。