页面置换算法的模拟实现 ...
页面置换算法的模拟实现 ...
1. 最佳(Optimal)置换算法 1.1 算法原理 其选择淘汰的页面将是以后永不使用的,或许是在最长时间内不再被访问的页面。采用最佳置换算法通常可以保证获得最低的缺页率。但由于人们目前还无法预知,一个进程在内存的若干个界面中,哪一个页面是未来最长时间内不再被访问的,因而该算法是无法实现 ...
如果对于虚拟内存,页表,分页等技术还是一知半解的道友可以参考我之前写的一篇博客: 虚拟内存、分页以及页表,建议读者从头往后读,有的页面置换算法是对前面页面置换算法的修改或者性能提升。 当发生缺页中断时,操作系统必须在内存中选择一个页面将其换出内存,以便为即将调入的页面腾出空间 ...
页面置换算法根据置换页面的选择范围分为局部页面置换算法和全局页面置换算法。 局部页面置换算法只置换本进程内的物理页面,进程中一个页面进内存,就代表一个页面已经被替换出内存,所以一个进程所占用的物理页面的总数是确定的。全局页面置换算法置换内存中所有可换出的物理页面,即换进内存的是进程 ...
功能:当缺页中断发生,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。 目标:尽可能地减少页面的换进换出次数(即缺页中断的次数)。具体来说,把未来不再使用的或短期内较少使用的页面换出,通常只能在局部性原理指导下依据过去的统计数据来进行预测 页面锁定(frame locking ...
一 最优页面置换算法 在进程中,一个页面可能在10条,100条,n条指令后才可能使用,所以说指令越靠后,就可以先把它置换出去,但是这个是不可能是不可能实现的 因为程序在运行中你不可能知道以后的指令是啥,也不知道哪一条指令在什么时间出现,虽然实现不了但是可以作为我们设计页面置换算法的指导 ...
在进程运行过程中,若其所要访问的页面不在内存而需把它们调入内存,但内存中已无空闲空间时,为了保证该进程能正常运行, 系统必须从内存中调出一页程序或数据到磁盘的对换区中。但应将哪个页面调出,需根据一定的算法来实现。 常见的页面置换算法有: 1. 最佳置换算法 ...
最佳置换算法(OPT) 每次都淘汰以后不再使用的或以后最迟再被使用的页面。 是最优的算法,但是实际无法实现,只能作为一个标准来衡量其他置换算法的优劣。 缺页7次,命中率为(15-7)/15=53% 先进先出置换算法(FIFO) 每次总是淘汰最先进入内存的页面,也就 ...