From ce851fa62b9d690b121ce0fd60fc5ddfd1f3ddb5 Mon Sep 17 00:00:00 2001 From: Shine wOng <1551885@tongji.edu.cn> Date: Mon, 2 Sep 2019 14:08:18 +0800 Subject: [PATCH] some modifications. --- thu_os/chp9.md | 8 ++++---- thu_os/images/load_control.png | Bin 26240 -> 21962 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/thu_os/chp9.md b/thu_os/chp9.md index fc16d6b..20f6566 100644 --- a/thu_os/chp9.md +++ b/thu_os/chp9.md @@ -112,7 +112,7 @@ 我们说,进程在运行的整个生命周期内,对内存的需求是变化的,例如一个进程在刚开始运行的时候需要比较多的内存空间,在运行的后期进行收尾工作了,需要的内存空间也因此变少了。局部页面置换算法无法考虑到这种情况,从而各个时期分配给该进程的空间都是一样的,无法把一个进程多余的页面分配给其他更需要的进程使用。此外,不同的进程对内存的需求也不一样,一些进程需要更多的空间,另一些进程则较小的空间就可以满足,对于这种情况,局部页面置换算法也难以适应。 -全局页面置换算法就是基于这样的考虑产生的,它希望根据进程对内存需求量的变化,动态的调整分配给不同进程的内存页面,从而使得内存的利用率最高。 +全局页面置换算法就是基于这样的考虑产生的,它希望根据进程对内存需求量的变化,动态地调整分配给不同进程的内存页面,从而使得内存的利用率最高。 全局页面置换算法包括工作集置换算法和缺页率置换算法。 @@ -144,7 +144,7 @@ 可以看到,工作集置换算法,其实就是维护进程的常驻集与工作集时刻保持相等。 -为了实现工作集置换算法,只需要维护一个工作集链表。在访存时,将不再工作集中的页面换出内存;在发生缺页时,直接为换入的页面分配新的内存空间,并且更新工作集链表。这样,在每一次访问后,都可以保证工作集和常驻集的大小相等。 +为了实现工作集置换算法,只需要维护一个工作集链表。在访存时,将不在工作集中的页面换出内存;在发生缺页时,直接为换入的页面分配新的内存空间,并且更新工作集链表。这样,在每一次访问后,都可以保证工作集和常驻集的大小相等。 容易看出,工作集置换算法的开销很大。尽管在发生缺页时直接将页面换入就可以了,省去了其他算法寻找被换出页面的开销,但是这是以正常访问时的高成本维护为代价的。因为在正常访问时,需要遍历工作集链表,并且将不在其中的页面换出,遍历的时间复杂度为`O(n)`,此外还有换出页面的I/O开销。 @@ -165,13 +165,13 @@ 为了实现缺页率置换算法,可以给页表项增加引用位标志。在每次发生缺页时,计算从上次缺页到此次缺页的时间间隔$t_{current} - t_{last}$, + 如果$t_{current} - t_{last} > T$(T为阈值),则认为缺页率太低,置换该进程在$[t_{last}, t_{current}]$时间内没有被引用的页。 -+ 如果$t_{current} - t_{last} > T$,则认为缺页率太高,增加缺失页到工作集中。 ++ 如果$t_{current} - t_{last} < T$,则认为缺页率太高,增加缺失页到工作集中。 可以看到,缺页率算法的开销要比工作集置换算法小很多,因为在正常访存时不需要做过多的操作,只需要将被访问的页面的引用位置一即可。 > 两个全局页面置换算法的比较 -实际上,工作集置换算法和缺页率置换算法,在本质上,都是希望尽可能地跟踪进程运行周期内,对内存需求量的动态变化。工作集置换无疑具有更好的性能,因为每次访存后,工作集置换算法都会保证常驻集的大小等于工作集,但是也因为此,它执行起来需要更大的开销。缺页率置换算法则是开销与性能的一种折中。 +实际上,工作集置换算法和缺页率置换算法,在本质上,都是希望尽可能地跟踪进程运行周期内,对内存需求量的动态变化。工作集置换算法无疑具有更好的性能,因为每次访存后,工作集置换算法都会保证常驻集的大小等于工作集,但是也因为此,它执行起来需要更大的开销。缺页率置换算法则是开销与性能的一种折中。 ### 抖动与负载控制 diff --git a/thu_os/images/load_control.png b/thu_os/images/load_control.png index 9b5ace89a65f39e8f5d9041cd9e3c9a133f8d1df..47a6cfc82bce5aab3548bf5465eff917a98ef74b 100644 GIT binary patch literal 21962 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 OL-y@)-(9{dAnxCLz~KJ? literal 26240 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