基本知识:block/sleep/hang/宕机/hook/stub/offload/overhead/watermark

简介

很多英文词,有时候理解起来比较费劲。
其实是不能身临其境,看看到底为什么当初选用这个单词在这个技术点上,在计算机里?

block

block其实和sleep意思差不多的理解方法。不过相对的角度不同。

down、宕机

比如宕机的宕,其实它是个音译词,down。如果按照中文宕的意思来理解就肯定出问题。那为什么一开始时,选择音译的是这个字,而不是其他的dang呢?因为其他的dang都是平常用的常用字,而只有这个宕,大家很少用到,所以用在了此处。

down机,就是机器down掉了。down的英文意思就是下降,下去,就是失去了服务能力。比较好理解的比喻是,水缸里的谁,一天天的down下去,需要重新load。如果哪一天说水缸坏掉了,完全down掉了,水位消失。

hang

Allocations of pages below the min watermark run a risk of the machine hanging due to a lack of memory.
当页内存余量低于最小水位线时,继续分配页,会增加风险:因为缺少内存而发生宕机。

hook

钩子;如果想要安装钓鱼人的理解思路来理解,那么最好理解成钓鱼爱好者,就是将鱼钓上来,然后再放了。按照钓鱼人的理解;如果某个事物实现了钩子的功能,那起码和弯弯的利器有点关系。而且钓鱼其实钩子的作用点是鱼的嘴巴,也可以说鱼的嘴巴是狗子点。
计算机里的钩子也是差不多的概念,就是可以在特定的钩子点,做一些事情,然后让系统继续进行。就好像将鱼钓起来,按个定位器,然后再放掉。

hook 实例
Documentation/ABI/obsolete/sysfs-selinux-disable
Unfortunately, allowing for SELinux to be disabled at runtime makes it difficult to secure the kernel’s LSM hooks using the “__ro_after_init” feature.

offload

脱负,减负;

overhead

需要的额外付出。

sleep

休眠,休息睡眠;
其实按照人的睡眠的意思来理解,还是可以的;人的睡眠其实是因为困乏而导致的身体物理上的休息。
但是计算机里的睡眠,都是被迫的,因为到等待输入,没什么事情干,不能空耗CPU,被强制进入的一种状态。减少资源消耗,这一层又和动物的休眠暗合,也是要减少身体能量消耗,让身体进行清理工作。

watermark

水位线,水在鱼缸,河道留下的痕迹。代表水位高低。其实应该按照水位来理解这个词。在计算机里,很多虚的概念,都是用水位做比喻来表示当前内存量,队列容量,等等的容量情况。

/mm/page_alloc.c
/*
* page is set pfmemalloc when ALLOC_NO_WATERMARKS was necessary to
* allocate the page. The expectation is that the caller is taking
* steps that will free more memory. The caller should avoid the page
* being used for !PFMEMALLOC purposes.
*/

tradeoff

This helps the common fast path at the cost of making the slow path slower and hitting kswapd with a performance cost. It’s a reasonable tradeoff.
交换,权衡。

猜你喜欢

转载自blog.csdn.net/qq_36428903/article/details/126339568