毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

虚拟存储器-操作系统课程设计报告 第2页

更新时间:2009-7-1:  来源:毕业论文
虚拟存储器-操作系统课程设计报告 第2页
  }
     else
       {
                            printf("\n页号为 %d不在主存中,产生缺页中断\n\n",p);
       printf("物理块已用完,需要调出一页.\n\n");
          printf("根据FIFO算法,调出的页为:第%d页\n\n",pages[k]);
       if(pt[pages[k]].flag_modify==0)
       {
        printf("该页未被修改,需要用新页将它覆盖\n\n");
        printf(" 覆盖完毕\n\n");
       }
       else
       {
        printf(" 该页已经被修改,将该页调出保存,将新页调入\n\n");
        printf("页进页出完毕\n\n");
       }
       pt[p].flag=1;
       pt[p].blocknum=pt[pages[k]].blocknum;
       pt[pages[k]].flag=0;
       pt[pages[k]].flag_modify=0;
       pt[pages[k]].blocknum=-1;
       pages[k]=p;
       k=(k+1)%length;
    
      printf("调入内存之后重新执行!\n");
      goto loop;   //所缺页修改完毕后重新求绝对地址
  } 
        printf("物理块数组如下:\n\n");
    for(i=0;i<length;i++)
    {
     printf("%d",pages[i]);
    }                    //显示物理块数组的值
    printf("\n\n查看页面如下:\n\n");
      display1();     //查看页面情况
       getchar();
       printf("\n是否继续下一条指令,是则输入Y,否则输入N \n");
    scanf("%c",&r);
    if(r=='N')
     stop=1;       //是否停止继续下一条指令,stop为一停止,否则继续
   }while(!stop);
}
void LRU()
{  
 int p,q,i;
     int stop=0;
  char r;
  int k=0;
  int m=0; 
     do
  {
   printf("请输入要进行变换的页号和单元号\n\n");
loop1:  scanf("%d %d",&p,&q);

  getchar();
 
      if(p>6||q>127)
  {
   if(p>6)
    printf("该页不存在,页号范围0-6,请重新输入页号与单元号\n");
         else
    printf("越界,单元号范围0-127,请重新输入页号与单元号\n");
   goto loop1;
   }
  if(pt[p].flag==1)
  { 
loop:       printf("\n该页的详细信息如下:\n\n");
    getchar();
    printf("页号\t\t标志\t\t主存块号\t修改标志\t磁盘位置\n\n");
       printf(" %d\t\t%d\t\t%d\t\t%d\t\t  %d\n",pt[p].pagenum,pt[p].flag,pt[p].blocknum,pt[p].flag_modify,pt[p].local_disk);
             printf("\n绝对地址为:\n");
    getchar();
          printf("%d\n\n",pt[p].blocknum*block_length+q);
     printf("指令是否是存,是则输入Y,否则输入N\n");
             scanf("%c",&r);
     if(r=='Y'||r=='y')
     {
      pt[p].flag_modify=1;
     }
     for(i=0;i<length;i++)                //如果不产生缺页中断,将该页移到数组末尾
     {
      if(p==pages[i])
      {
     for(m=i;m<length;m++)
     {
      pages[m]=pages[m+1];
     }
www.youerw.com
          printf("根据LRU算法,调出的页为:第%d页\n\n",pages[k]);

上一页  [1] [2] [3] [4] [5] [6] 下一页

虚拟存储器-操作系统课程设计报告 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。