深入理解linux虚拟内存管理--01 简介
2022/1/11 7:03:50
本文主要是介绍深入理解linux虚拟内存管理--01 简介,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
简介
英文原版书地址
https://www.kernel.org/doc/gorman/html/understand/understand001.html
使用内核版本 2.4.22
目录如下:
Chapter 1 Introduction
1.1 Getting Started
1.2 Managing the Source
1.3 Browsing the Code
1.4 Reading the Code
1.5 Submitting Patches
Chapter 2 Describing Physical Memory
2.1 Nodes
2.2 Zones
2.3 Zone Initialisation
2.4 Pages
2.5 High Memory
2.6 What’s New In 2.6
Chapter 3 Page Table Management
3.1 Describing the Page Directory
3.2 Describing a Page Table Entry
3.3 Using Page Table Entries
3.4 Translating and Setting Page Table Entries
3.5 Allocating and Freeing Page Tables
3.6 Kernel Page Tables
3.7 Mapping addresses to a struct page
3.8 Translation Lookaside Buffer (TLB)
3.9 Level 1 CPU Cache Management
3.10 What’s New In 2.6
Chapter 4 Process Address Space
4.1 Linear Address Space
4.2 Managing the Address Space
4.3 Process Address Space Descriptor
4.4 Memory Regions
4.5 Exception Handling
4.6 Page Faulting
4.7 Copying To/From Userspace
4.8 What’s New in 2.6
Chapter 5 Boot Memory Allocator
5.1 Representing the Boot Map
5.2 Initialising the Boot Memory Allocator
5.3 Allocating Memory
5.4 Freeing Memory
5.5 Retiring the Boot Memory Allocator
5.6 What’s New in 2.6
Chapter 6 Physical Page Allocation
6.1 Managing Free Blocks
6.2 Allocating Pages
6.3 Free Pages
6.4 Get Free Page (GFP) Flags
6.5 Avoiding Fragmentation
6.6 What’s New In 2.6
Chapter 7 Non-Contiguous Memory Allocation
7.1 Describing Virtual Memory Areas
7.2 Allocating A Non-Contiguous Area
7.3 Freeing A Non-Contiguous Area
7.4 Whats New in 2.6
Chapter 8 Slab Allocator
8.1 Caches
8.2 Slabs
8.3 Objects
8.4 Sizes Cache
8.5 Per-CPU Object Cache
8.6 Slab Allocator Initialisation
8.7 Interfacing with the Buddy Allocator
8.8 Whats New in 2.6
Chapter 9 High Memory Management
9.1 Managing the PKMap Address Space
9.2 Mapping High Memory Pages
9.3 Mapping High Memory Pages Atomically
9.4 Bounce Buffers
9.5 Emergency Pools
9.6 What’s New in 2.6
Chapter 10 Page Frame Reclamation
10.1 Page Replacement Policy
10.2 Page Cache
10.3 LRU Lists
10.4 Shrinking all caches
10.5 Swapping Out Process Pages
10.6 Pageout Daemon (kswapd)
10.7 What’s New in 2.6
Chapter 11 Swap Management
11.1 Describing the Swap Area
11.2 Mapping Page Table Entries to Swap Entries
11.3 Allocating a swap slot
11.4 Swap Cache
11.5 Reading Pages from Backing Storage
11.6 Writing Pages to Backing Storage
11.7 Reading/Writing Swap Area Blocks
11.8 Activating a Swap Area
11.9 Deactivating a Swap Area
11.10 Whats New in 2.6
Chapter 12 Shared Memory Virtual Filesystem
12.1 Initialising the Virtual Filesystem
12.2 Using shmem Functions
12.3 Creating Files in tmpfs
12.4 Page Faulting within a Virtual File
12.5 File Operations in tmpfs
12.6 Inode Operations in tmpfs
12.7 Setting up Shared Regions
12.8 System V IPC
12.9 What’s New in 2.6
Chapter 13 Out Of Memory Management
13.1 Checking Available Memory
13.2 Determining OOM Status
13.3 Selecting a Process
13.4 Killing the Selected Process
13.5 Is That It?
13.6 What’s New in 2.6
Chapter 14 The Final Word
加粗章节是主线
其他章节是支线
注意事项,
1.这本书翻译的很烂,必须参考英文原版进行理解。
2.这本书附录才是本体,前面的章节只是介绍函数调用流程。
3.任何书籍,必须到内核代码里面去进行理解,书籍只是辅助,还是要看代码!
这篇关于深入理解linux虚拟内存管理--01 简介的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南