linux内核源码2.1进程管理和内存管理

linux内核源码进程管理和内存管理

我报一个班学习linux内核源码, 经过学习我将知识点整理到了这里: 整理知识点链接
只能说我学到点表皮, 相信聚沙成塔。 如果你有兴趣学习,我可以为你推荐,老学员推荐新学员会有相应的折扣 加我QQ哈: 852897652.

学习视频链接地址

我想快速的掌握linux内核,我将《Understanding the Linux Kernel》 这本书的图和表格整理在下面。
当然还有一本中文书籍 《Linux_内核情景分析》这两本书都是同事为我推荐的。

进程和内存

  1. 1.Introduction
  2. 2.Memory Address
  3. 3.Processes
  4. 5.Kernel Synchronization
  5. 6.Timing Measurements
  6. 7.Process Scheduling
  7. 8.Memory Management
  8. 9.Process Address Space
  9. 15.The Page Cache
  10. 17.Page Frame Reclaming
  11. 19.Process Communication
  12. 20.Program Execution

进程和内存详解

1. 1.Introduction

From the user’s point of view, files are organized in a treestructured namespace, as shown in Figure 1-1.
在这里插入图片描述
Figure 1-2 illustrates examples of transitions between User and Kernel Mode.
在这里插入图片描述
Figure 1-3 illustrates a few examples of noninterleaved and interleaved kernel control paths.
在这里插入图片描述
在这里插入图片描述

2. 2.Memory Address

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
Accesses to the GDT or LDT are necessary only when the contents of the segmentation registers change (see Figure 2-4).
在这里插入图片描述
Figure 2-5 shows in detail how a logical address is translated into a corresponding linear address.
在这里插入图片描述

The layout of the GDTs is shown schematically in Figure 2-6.
在这里插入图片描述

The Offset field determines the relative position within the page frame (see Figure 2-7).
在这里插入图片描述

Starting with the Pentium model, 80 × 86 microprocessors introduce extended paging, which allows page frames to be 4 MB instead of 4 KB in size (see Figure 2-8).
在这里插入图片描述
The corresponding entry must contain the physical address of the Page Table assigned to the process (see Figure 2-9).
在这里插入图片描述

As shown in Figure 2-10, the cache unit is inserted between the paging unit and the main memory.
在这里插入图片描述
As shown in Figure 2-11, each CPU has its own local hardware cache.
在这里插入图片描述

The four types of page tables illustrated in Figure 2-12 are called:
• Page Global Directory
• Page Upper Directory
• Page Middle Directory
• Page Table

. Figure 2-12 does not show the bit numbers, because the size of each part depends on the computer architecture.在这里插入图片描述
Figure 2-13 shows how the first 3 MB of RAM are filled by Linux.
The provisional Page Tables are stored starting from pg0, right after the end of the kernel’s uninitialized data segments (symbol _end in Figure 2-13).
在这里插入图片描述
Figure 2-3 illustrates the format of a Segment Descriptor; the meaning of the various fields is explained in Table 2-1.
在这里插入图片描述
在这里插入图片描述
Table 2-3 shows the values of the Segment Descriptor fields for these four crucial segments.

在这里插入图片描述
Table 2-4 summarizes the main characteristics of the hardware paging systems used by some 64-bit platforms supported by Linux.

  • This change has been made to fully support the linear address bit splitting used by the x86_64 platform (see Table 2-4).
  • Finally, for 64-bit architectures three or four levels of paging are used depending on the linear address bit splitting performed by the hardware (see Table 2-4).
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
Now, let’s discuss the macros listed in Table 2-7 that combine a page address and a group of protection flags into a page table entry or perform the reverse operation of extracting the page address from a page table entry.

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
Later, the kernel executes the machine_specific_memory_setup() function, which builds the physical addresses map (see Table 2-9 for an example).
A typical configuration for a computer having 128 MB of RAM is shown in Table 2-9.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 3.Processes

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 5.Kernel Synchronization

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5. 6.Timing Measurements

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. 7.Process Scheduling

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7. 8.Memory Management

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

8. 9.Process Address Space

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9. 15.The Page Cache

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10. 17.Page Frame Reclaming

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

11. 19.Process Communication

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12. 20.Program Execution

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

没有仔细得学习, 后面继续。

技术参考

参考文献:

  1. Understanding the Linux Kernel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值