陈小妹操作系统实验报告.doc

陈小妹操作系统实验报告.doc

ID:57401905

大小:111.00 KB

页数:11页

时间:2020-08-15

陈小妹操作系统实验报告.doc_第1页
陈小妹操作系统实验报告.doc_第2页
陈小妹操作系统实验报告.doc_第3页
陈小妹操作系统实验报告.doc_第4页
陈小妹操作系统实验报告.doc_第5页
资源描述:

《陈小妹操作系统实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验报告四课程操作系统实验名称进程调度第1页专业____计本__班级___09学号_3_姓名陈小妹实验日期:2011年12月2日报告退发(订正、重做)一、实验目的通过编写分页式存储管理的模拟程序,加深对页式存储管理方式的理解,熟悉逻辑地址到物理地址的转换过程,掌握虚拟存储管理中的页面调度算法,认识分页式虚拟存储系统中缺页中断的处理过程。二、实验内容1、设计一个分页式虚拟存储系统,用程序模拟实现,假设页面大小为1K,每个作业分配三个页面。2、页面调度分别采用FIFO调度算法和最佳置换算法。(淘汰页面时直接

2、将该页面从内存中直接淘汰,不考虑该页面是否被修改,是否需要保存到外存。)3、假设当前作业的页表如下:4、假设逻辑指令格式为:+10113051操作符页号1页内地址1页号2页内地址2例如:表示将页面1内地址为011单元的内容和页面2中地址为051的单元的内容相加。现有指令序列如下:5、编写模拟程序,执行上述指令,若当前页面不在内存,则使用页面调度算法,淘汰相应页。6、要求每执行上述指令流中的一条逻辑指令,输出相应的物理指令,若页表有修改,则显示修改后的页表。三、实验步骤#include#

3、include#include#defineFIFO1#defineBEST0#defineYES1#defineNO0typedefintpnum_t;typedefintbnum_t;typedefintdispos_t;typedefcharopcode_t;typedefintpadder_t;typedefstructpagetab_t//页表{pnum_tpnum;intisin;bnum_tblocknum;intisedit;dispos_td

4、iskpos;structpagetab_t*next;}pagetab_t,*pagetabp;typedefstructoperate//操作指令{opcode_topcode;pnum_tpnum1;padder_tpadder1;pnum_tpnum2;padder_tpadder2;structoperate*next;}operate_t,*operatep;voidinitpage(pagetabp&head)//初始化页表{pagetabpq;for(inti=0;i<6;i++){pa

5、getabpp=(pagetabp)malloc(sizeof(pagetab_t));if(i==0){head=q=p;q->next=NULL;}else{p->next=q->next;q->next=p;q=p;}q->pnum=i;q->isedit=NO;if(i<3){q->isin=YES;cout<<"请输入第"<pnum<<"页的主存块号";cin>>q->blocknum;}else{q->isin=NO;cout<<"请输入第"<pnum<<"页的磁盘位置";c

6、in>>q->diskpos;}}}voidinitoperat(operatep&head)//初始化操作指令表{operatepq;for(inti=0;i<5;i++){operatepp=(operatep)malloc(sizeof(operate_t));if(i==0){head=q=p;q->next=NULL;}else{p->next=q->next;q->next=p;q=p;}cout<<"请输入第"<>q->opcode>>q->pnum1>

7、>q->padder1>>q->pnum2>>q->padder2;}}boolisinmem(pnum_tnum,pagetabphead,pagetabp&p)//判断是否在内存{pagetabpq=head;while(q){if(num==q->pnum){p=q;if(q->isin)returntrue;elsereturnfalse;}q=q->next;}returnfalse;}voidprintable(pagetabphead)//输出操作完的页表{pagetabpp=head;p

8、rintf("页号标记主存块号修改标记磁盘位置");while(p){if(p->isin)printf("%d%d%d%d",p->pnum,p->isin,p->blocknum,p->isedit);elseprintf("%d%d%d%d",p->pnum,p->isin,p->isedit,p->diskpos);p=p->next;}}voidfifosched(pagetabpp,pagetabp&head)//f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。