封面
版权信息
作者简介
内容简介
推荐序一
推荐序二
前言
第1章 操作系统总览
1.1 操作系统简介
1.2 如何形成一个内核
1.3 主要操作系统与Linux的对比
1.3.1 Linux和Android
- APP免费
1.3.2 Windows下Linux运行环境的发展
- APP免费
1.3.3 Fuchsia OS与Windows、Linux的对比
- APP免费
第2章 系统结构
- APP免费
2.1 Linux内核整体结构
- APP免费
2.1.1 内核模块
- APP免费
2.1.2 内核符号表
- APP免费
2.2 Linux内核数据结构
- APP免费
2.2.1 链表与哈希表
- APP免费
2.2.2 双向链表
- APP免费
2.3 hlist
- APP免费
2.3.1 llist
- APP免费
2.3.2 树与IDR
- APP免费
2.3.3 xarray
- APP免费
第3章 锁与系统调用
- APP免费
3.1 原子操作
- APP免费
3.1.1 内存一致性
- APP免费
3.1.2 原子类型定义
- APP免费
3.1.3 cmpxchg实现
- APP免费
3.2 引用计数
- APP免费
3.3 自旋锁
- APP免费
3.4 读写锁与顺序锁
- APP免费
3.5 信号量
- APP免费
3.6 读写信号量
- APP免费
3.6.1 获得读锁
- APP免费
3.6.2 锁状态与锁交接
- APP免费
3.6.3 锁持有
- APP免费
3.6.4 等待链表
- APP免费
3.6.5 读锁慢速路径
- APP免费
3.7 互斥锁
- APP免费
3.8 RCU锁
- APP免费
3.8.1 RCU锁基本接口
- APP免费
3.8.2 grace period等待
- APP免费
3.8.3 SRCU
- APP免费
3.8.4 RCU锁、读写锁与顺序锁对比
- APP免费
3.8.5 hlist中的RCU锁
- APP免费
3.8.6 reuseport中的RCU锁
- APP免费
3.9 引用计数
- APP免费
第4章 信号、中断与系统调用
- APP免费
4.1 信号
- APP免费
4.1.1 Linux信号处理机制的设计
- APP免费
4.1.2 Windows的Event语义设计
- APP免费
4.2 中断
- APP免费
4.2.1 IDT(中断描述符表)
- APP免费
4.2.2 IPI中断
- APP免费
4.3 系统调用
- APP免费
4.3.1 系统调用原理
- APP免费
4.3.2 vsyscall与VDSO
- APP免费
4.3.3 系统调用截断
- APP免费
第5章 Linux系统的启动与进程
- APP免费
5.1 Linux启动过程的组件
- APP免费
5.1.1 启动过程相关组件
- APP免费
5.1.2 最小系统的制作和启动
- APP免费
5.2 内核启动流程:EFI stub
- APP免费
5.3 进程
- APP免费
5.3.1 进程概述
- APP免费
5.3.2 进程内存和PID
- APP免费
5.3.3 进程生命周期
- APP免费
第6章 调度
- APP免费
6.1 任务调度
- APP免费
6.1.1 调度优先级
- APP免费
6.1.2 上下文切换
- APP免费
6.1.3 运行队列与调度类
- APP免费
6.1.4 调度域、调度组与调度实体
- APP免费
6.1.5 TTWU(唤醒)
- APP免费
6.2 时钟
- APP免费
6.2.1 时钟概念
- APP免费
6.2.2 计时器与定时器
- APP免费
6.3 Futex系统调用
- APP免费
6.4 C-State
- APP免费
第7章 内存管理
- APP免费
7.1 地址空间
- APP免费
7.1.1 64位Linux地址空间
- APP免费
7.1.2 32位Linux地址空间
- APP免费
7.2 寻址
- APP免费
7.2.1 64位下的寻址
- APP免费
7.2.2 Intel的硬件四级寻址过程
- APP免费
7.2.3 操作系统的页状态和权限控制
- APP免费
7.2.4 页框回收算法
- APP免费
7.2.5 段寄存器
- APP免费
7.3 堆内存管理
- APP免费
7.3.1 用户空间与内核空间的堆内存管理
- APP免费
7.3.2 Buddy思想与Slab思想
- APP免费
7.3.3 内存回收(PFRA)
- APP免费
7.3.4 BDI
- APP免费
第8章 存储
- APP免费
8.1 VFS
- APP免费
8.1.1 文件句柄与文件描述符表
- APP免费
8.1.2 _alloc_fd、fd_install、dup2与close_on_exec
- APP免费
8.1.3 open系统调用
- APP免费
8.1.4 flock文件锁与文件内容锁
- APP免费
8.2 通用块层
- APP免费
8.2.1 通用块层功能概览
- APP免费
8.2.2 bio和bio_set
- APP免费
8.2.3 request和request_queue
- APP免费
8.2.4 电梯算法
- APP免费
8.3 缓存层
- APP免费
8.3.1 Linux与Windows在缓存设计上的不同
- APP免费
8.3.2 Linux下的缓存机制
- APP免费
8.4 文件系统与Ext4
- APP免费
8.4.1 Linux文件系统的特性与框架
- APP免费
8.4.2 文件系统的种类
- APP免费
8.4.3 文件系统的抽象:VFS
- APP免费
8.4.4 Ext4文件系统实践
- APP免费
8.5 预读机制
- APP免费
8.5.1 预读机制框架
- APP免费
8.5.2 预读算法
- APP免费
第9章 套接字(socket)
- APP免费
9.1 socket概览
- APP免费
9.1.1 socket类型与接口
- APP免费
9.1.2 Linux socket连接模型
- APP免费
9.1.3 Linux socket的锁
- APP免费
9.1.4 epoll
- APP免费
9.2 Netlink
- APP免费
9.2.1 Netlink消息格式
- APP免费
9.2.2 Netlink功能模块
- APP免费
9.2.3 genetlink的使用
- APP免费
9.2.4 inet_diag模块
- APP免费
9.2.5 RTNETLINK
- APP免费
9.3 BPF与eBPF
- APP免费
9.3.1 BPF
- APP免费
9.3.2 eBPF
- APP免费
第10章 网络
- APP免费
10.1 网络架构
- APP免费
10.2 IP
- APP免费
10.2.1 路由条目的意义
- APP免费
10.2.2 IP管理
- APP免费
10.2.3 IP隧道
- APP免费
10.3 TCP
- APP免费
10.3.1 TCP的无损特性
- APP免费
10.3.2 TCP的连接状态
- APP免费
10.3.3 TCP拥塞控制
- APP免费
10.4 负载均衡
- APP免费
10.4.1 负载均衡的核心技术点
- APP免费
10.4.2 四层负载均衡常见架构
- APP免费
10.4.3 一致性哈希和分布式哈希
- APP免费
10.5 网络服务质量与安全性
- APP免费
10.5.1 TCP安全性
- APP免费
10.5.2 QoS
- APP免费
10.5.3 NAT
- APP免费
10.6 netfilter
- APP免费
第11章 设备管理
- APP免费
11.1 设备模型
- APP免费
11.1.1 sys文件系统
- APP免费
11.1.2 设备变化通知用户端
- APP免费
11.1.3 设备类型
- APP免费
11.2 tty子系统
- APP免费
11.2.1 tty框架与ttyS硬件
- APP免费
11.2.2 terminal硬件
- APP免费
11.2.3 tty结构
- APP免费
11.2.4 getty、login与shell
- APP免费
11.2.5 /dev/ptmx与/dev/pts/n
- APP免费
11.2.6 SSH
- APP免费
11.3 PCI与USB
- APP免费
11.3.1 PCI
- APP免费
11.3.2 USB
- APP免费
第12章 二进制
- APP免费
12.1 二进制原理
- APP免费
12.1.1 编译、链接与执行
- APP免费
12.1.2 裸程序
- APP免费
12.1.3 加载器
- APP免费
12.1.4 链接过程
- APP免费
12.2 ELF格式
- APP免费
12.2.1 ABI
- APP免费
12.2.2 ELF
- APP免费
12.3 函数调用约定
- APP免费
12.4 二进制安全
- APP免费
封底
更新时间:2022-11-15 20:54:05