重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

如何使用java实现操作系统中的很好置换Optimal算法-创新互联

这篇文章主要介绍如何使用java实现操作系统中的很好置换Optimal算法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

企业建站必须是能够以充分展现企业形象为主要目的,是企业文化与产品对外扩展宣传的重要窗口,一个合格的网站不仅仅能为公司带来巨大的互联网上的收集和信息发布平台,成都创新互联公司面向各种领域:木制凉亭成都网站设计全网营销推广解决方案、网站设计等建站排名服务。

Swap指令

很好置换算法是由Belady于1966年提出的一种理论上的算法。其所选择的被淘汰页面是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面。采用很好置换算法通常保证获取最低的缺页率。但人们目前还无法与之,一个线程在内存的若干个页面中,哪个页面是未来最长时间内不再被访问的,因此该算法是无法实现的,但是可以利用该算法去评价其他算法。现在就说明如下。

假定系统为某进程分配了三个物理块,并考虑有以下的页面号引用串:

7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1

进程运行时,先将7,0,1三个页面装在内存,以后需要访问页面2时,将产生缺页中断。此时OS将根据很好算法置换算法将选择页面7予以淘汰。这是因为页面0将作为第五个被访问的页面,页面1为第十四个被访问的页面,而页面7则是要在低18次访问才需要引入,以此类推。

以下是源代码实现部分:

package chapter02;public class P175Optimal { //查找数组中是否存在并且未存储元素的索引 public static int existEmpty(int[] place){  for (int i = 0; i < place.length; i++) {   if(place[i]==-1)    return i;  }  //不为空  return -1; } //查找元素是否在数组中存在 public static boolean paramExist(int[] place,int param){  for (int i = 0; i < place.length; i++) {   if(place[i]==param)    return true;  }  //不为空  return false; } //获取较大距离值 public static int getMaxIndexOfNeed(int[] place,int[] block,int start){  //最近需求定位  int minBlockIndex = -1;  int minPlaceIndex = -1;  for(int PlaceIndex = 0;PlaceIndex

实验结果:


"C:\Program Files\Java\jdk1.8.0_101\bin\java.exe" 2 0 1 2 0 3 2 4 3 2 0 3 2 0 1 7 0 1

以上是“如何使用java实现操作系统中的很好置换Optimal算法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享名称:如何使用java实现操作系统中的很好置换Optimal算法-创新互联
本文路径:http://cqcxhl.com/article/ejcch.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP