程序可能有大量的代码段或使用大型的数组作为数据。这部分程序可被分配于较大的页,从而减少与页表相关的内存开销。 考虑到不同的内存大小,虚拟内存系统就必须保持多个不同大小的空闲页链表,为了地址翻译也需要有复杂的代码。
问答题slab分配算法为每个不同的对象类型使用一个单独的缓存。假设每一个对象类型都有一个缓存,试解释,为什么这不与多个CPU较好地协调。怎么做才能解决这个可扩展性问题?
问答题假设使用参数Δ定义工作集合模型下的工作集合窗口。设置Δ为一个较小值,其表示页错误频率和系统中当前正在执行的活动页(非暂停的)进程数量,则影响如何?当设置Δ为一个非常大的值呢?
问答题一个进程可能有两个工作集合吗?一个代表数据,另一个代表代码?
问答题颠簸的原因是什么?系统怎样检测颠簸?一旦系统检测到颠簸,系统怎样做来消除这个问题?
问答题设一个请求调页系统具有一个平均访问和传输时间为20ms的分页磁盘。地址转换是通过在主存中的页表来进行的,每次内存访问时间为1μs。这样,每个通过页表进行的内存引用都要访问内存两次。为了提高性能,加入一个相关内存,当页表项在相关内存中时,可以减少内存引用的访问次数。假设80%的访问发生在相关内存中,而且剩下中的10%(总量的2%)会导致页错误。内存的有效访问时间是多少?