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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
 前言   第一章绪论   Linux与其他类Unix内核的比较   硬件的依赖性   Linux版本   操作系统基本概念   Unix文件系统概述   Unix内核概述   第二章内存寻址   内存地址   硬件的分段   Linux的分段   硬件的分页   Linux的分页   第三章进程   进程、轻量级进程和线程   进程描述符   进程切换   创建进程   撤消进程   第四章断和异常   断信号的作用   断和异常   断和异常处理程序的嵌套执行   初始化断描述符表   异常处理   断处理   软断及tasklet   工作队列   从断和异常返回   第五章内核同步   内核如何为不同的请求提供服务   同步原语   对内核数据结构的同步访问   避免竞争条件的实例   第六章定时测量   时钟和定时器电路   Linux计时体系结构   更新时间和日期   更新系统统计数   软定时器和延迟函数   与定时测量相关的系统调用   第七章进程调度   调度策略   调度算法   调度程序所使用的数据结构   调度程序所使用的函数   多处理器系统运行队列的平衡   与调度相关的系统调用   第八章内存管理   页框管理   内存区管理   非连续内存区管理   第九章进程地址空间   进程的地址空间   内存描述符   线性区   缺页异常处理程序   创建和删除进程的地址空间   堆的管理   第十章系统调用   POSIXAPI和系统调用   系统调用处理程序及服务例程   进入和退出系统调用   参数传递   内核封装例程   第十一章信号   信号的作用   产生信号   传递信号   与信号处理相关的系统调用   第十二章虚拟文件系统   虚拟文件系统(VFS)的作用   VFS的数据结构   文件系统类型   文件系统处理   路径名查找   VFS系统调用的实现   文件加锁   第十三章I/O体系结构和设备驱动程序   I/O体系结构   设备驱动程序模型   设备文件   设备驱动程序   字符设备驱动程序   第十四章块设备驱动程序   块设备的处理   通用块层   I/O调度程序   块设备驱动程序   打开块设备文件   第十五章页高速缓存   页高速缓存   把块存放在页高速缓存   把脏页写入磁盘   sync()、fsync()和fdatasync()系统调用   第十六章访问文件   读写文件   内存映射   直接I/O传送   异步I/O   第十七章回收页框   页框回收算法   反向映射   PFRA实现   交换   第十八章Ext2和Ext3文件系统   Ext2的一般特征   Ext2磁盘数据结构   Ext2的内存数据结构   创建Ext2文件系统   Ext2的方法   管理Ext2磁盘空间   Ext3文件系统   第十九章进程通信   管道   FIFO   SystemVIPC   POSIX消息队列   第二十章程序的执行   可执行文件   可执行格式   执行域   exec函数   附录一系统启动   附录二模块   参考文献

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值