购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

本书讲解了Linux内核、内核的内部编排和设计,以及内核的各个核心子系统等知识,旨在帮助读者深入理解Linux内核。通过学习本书,你将会了解这个集众人之力而拥有了集体智慧的Linux内核,在保持其良好设计的同时,是如何保持其优雅特性的。

本书还将介绍所有关键的内核代码、核心数据结构、函数、宏,以便让读者全面、彻底地理解Linux内核的核心服务和机制。我们需要将Linux内核看作一个精心设计的软件,这可以让我们对软件设计的易扩展性、健壮性和安全性有整体且深入的了解。

本书内容

第1章,进程、地址空间和线程 ,详细讲解了Linux中名为“进程”的抽象概念以及整个生态系统,这有助于我们理解这一抽象概念。本章还介绍了地址空间、进程的创建和线程等内容。

第2章,进程调度器 ,讲解了进程调度的内容,这是任何操作系统的一个重要部分。本章将介绍Linux为了实现进程的有效执行而采取的不同调度策略。

第3章,信号管理 ,讲解了信号使用、信号表示、数据结构以及用于生成和传递信号的内核例程等信息。

第4章,内存管理和分配器 ,通过Linux内核中最关键的一个方面来介绍内存表示和分配的各种细微差异。本章还评估了内核在以最低成本来最大限度地使用资源方面的效率。

第5章,文件系统和文件I/O ,对一个典型的文件系统的结构、设计,以及它能成为一个操作系统基本组成部分的原因进行了介绍。本章还介绍了使用通用分层架构设计的抽象,而内核通过VFS全面接纳了这种分层架构设计。

第6章,进程间通信 ,介绍了内核提供的各种IPC机制。本章将介绍每种IPC机制中各种数据结构之间的布局和关系,还有SysV和POSIX IPC机制。

第7章,虚拟内存管理 ,借助于虚拟内存管理和页表的细节介绍了内存管理相关的知识。本章将深入介绍虚拟内存子系统的各个方面,例如进程的虚拟地址空间和它的段、内存描述符结构、内存映射和VMA对象、页缓存和页表的地址转换。

第8章,内核同步和锁 ,介绍了内核提供的各种保护和同步机制以及这些机制的优缺点。本章还对内核如何解决这些变化同步的复杂性进行了介绍。

第9章,中断和延迟工作 ,介绍了中断相关的知识。中断是操作系统的关键部分,用来完成必要的和优先的任务。本章将介绍中断在Linux中是如何生成、处理和管理的。中断的各种下半部机制也会在本章进行讲解。

第10章,时钟和时间管理 ,介绍了内核度量和管理时间的方法。本章将介绍所有关键的与时间相关的结构体、例程和宏,以便我们能有效地衡量时间管理。

第11章,模块管理 ,简单介绍了模块、内核在管理模块中的基础结构,以及所涉及的所有核心数据结构等知识。这有助于我们理解内核是如何包含动态扩展性的。

阅读本书的前提条件

除了对Linux内核及其设计的细微差别具有强烈的好奇心,读者还需要对Linux操作系统有大致的了解,并使用开源软件的思想来学习本书。然而,这并不是阅读本书的必要条件,只要你想获取Linux系统及其工作机制的详细信息,就可以学习本书。

本书读者对象

希望能更深入地理解Linux内核及其各种组成部分的系统编程爱好者和专业人员。

开发各种内核相关项目的开发人员,本书是他们的随手读物。

软件工程专业的学生,他们可以将本书当作了解Linux内核的各个方面及其设计原理的参考指南。 REWsBRQp8vwuVVYaHHTVqiWb+VWvj9Xy/5Jzwkq6s+pJaFctFlt1ebJ1X7oiFxK1

点击中间区域
呼出菜单
上一章
目录
下一章
×