
linux-.2.6kernel
山羊哥-老宋
写bug
展开
-
Slab Allocator
SlabCaches understand 是基于2.6的这本书比较有年代了,学习基本思想后看最新代码,应该会好点,记录下备用。 在本章中,将描述通用分配器。它是一个slab分配器,在许多方面与Solaris [MM01]中使用的通用内核分配器非常相似。 Linux的实现很大程度上基于Bonwick [Bon94]的第一份slab分配器文件,其许多改进与他在其后一篇论文[BA01]中所述的非常相似。我们将首先快速了解分配器,然后在深入介绍分配器负责的每个任务之前,先描述所使用的不同结构。 slab分配器的基翻译 2020-12-07 16:47:56 · 352 阅读 · 0 评论 -
linux kernel 等待队列
Linux内核中的“等待队列”是一种数据结构,用于管理正在等待某种条件变为真的线程。它们是线程在内核空间中阻塞(或“睡眠”)的正常方法。多年来,等待队列机制已经发展成为一个相当复杂和复杂的内核子系统。但是,现在可以使用为实时树开发的等待队列变体来简化该代码。结果可能是内核中大量的代码搅动。 看一下<linux/wait.h> from the 2.0 kernel揭示了一个简单的数据结构:等待线程的基本链接列表。等待队列上的wake_up()调用将遍历列表,从而使每个线程进入可运行状态。没有比这翻译 2020-11-17 10:04:32 · 502 阅读 · 0 评论 -
Out Of Memory Management
因为在开发过程中遇到了OOM 所以想要信息理解一下这个OOM 到底是真么回事,然后就找到了这篇文章,为了自己学习,所以翻译一下,以备后面查看: Out Of Memory Management内存不足管理检查可用内存确定OOM状态选择过程杀死选定的进程kernel 2.6. Out Of Memory Management 内存不足管理 我们要讨论的VM的最后一个方面是内存不足(OOM)管理器。这本章很短,因为它只有一个简单的任务。检查是否有足够的可用内存来满足需求,确认系统确实内存不足,如果是,请选择要终翻译 2020-11-03 11:47:25 · 370 阅读 · 0 评论