




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统实验一实验报告一、实验内容:模拟页式虚拟存储管理中硬件的地址转换和缺页中断,并用先进先出调度算法处理缺页中断。二、数据结构:(1) 页表结构: typedef struct /页表结构int pageno; /页号int pfn; /是否在内存标志int bn; /主存块号int rwf; /修改标志int diskaddress; /在磁盘的位置pagetable;(2) 指令结构: typedef struct /指令结构char scomsize; /指令内容int page_no; /页号int address; /页内地址 command;(3) 块表结构:typedef struct /块表int pn; /块记录号int pageno; /所装页面号int bn; /主存块号block;(4) 地址转换函数void zhuanaddress(int x); /x指页号(5) 寻找页面函数void findpagetable(int zp); /作zp指要找的页号三、源程序:#include #include #define blocksize 1024 /主存块大小#define blocknumber 4 /分配主存块数#define total_pf 7 /分配给用户进程的页面数#define comsize 8 /指令长度#define total_instruction 12int k,currentcommno; /k指向将换出的页号,currentcommno指向当前执行指令char c=存;typedef struct /页表结构int pageno; /页号int pfn; /是否在内存标志int bn; /主存块号int rwf; /修改标志int diskaddress; /在磁盘的位置pagetable;typedef struct /块表int pn; /块记录号int pageno; /所装页面号int bn; /主存块号block;typedef struct /指令结构char scomsize; /指令内容int page_no; /页号int address; /页内地址 command;pagetable pttotal_pf;command zhilingtotal_instruction;block bbblocknumber;void initpagetable() for(int ii=0;iitotal_pf;ii+) /初始化页表 ptii.pageno=ii;ptii.pfn=0;ptii.rwf=0;printf(页面%d在磁盘的位置:,ii);scanf(%3d,&ptii.diskaddress);for(int j=0;jblocknumber;j+) /分配并装入内存ptj.pfn=1;printf(输入页面%d分配的主存块号:,j);scanf(%3d,&ptj.bn);bbj.pageno=j;bbj.pn=j;bbj.bn=ptj.bn;int compare(char *a,char*b)if (a0=b0 &a1=b1)return 1;elsereturn 0;void initcommand() /生成指令序列for(int i=0;itotal_instruction;i+) printf(输入第%d指令内容:,i);scanf(%s,zhilingi.s);for(i=0;itotal_instruction;i+)printf(输入第%d条指令所在页号:,i);scanf(%d,&zhilingi.page_no);for(i=0;itotal_instruction;i+)printf(输入第%d条指令页内地址:,i);scanf(%d,&zhilingi.address);void zhuanaddress(int &x) /地址转换机构 if (ptbbk.pageno.rwf=1) printf(out %dn,k);printf(in %dn,x); ptbbk.pageno.pfn=0; ptx.pfn=1; ptx.bn=ptbbk.pageno.bn; ptbbk.pageno.bn=0;bbk.pageno=x; k=(k+1)%blocknumber;void findpagetable(int &zp)int shijiaddress; if(ptzp.pfn=1)shijiaddress=ptzp.bn*blocksize+zhilingcurrentcommno.address;if (compare(zhilingcurrentcommno.s,c)=1) ptzp.rwf=1;printf(%dn,shijiaddress);return;elseprintf(* %dn,zp);zhuanaddress(zp);findpagetable(zp);void main()k=0;currentcommno=0;initpagetable(); /初始化页表,分配并装入内存initcommand(); /生成指令序列for(int i=0;itotal_instruction;i+) /执行指令 currentcommno=i;findp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东医科大学附属第二医院第四轮人才招聘31人备考试题及答案解析
- 2025福建省福规市政工程有限公司招聘4人备考试题及答案解析
- 2025广西南宁市良庆区发展和改革局招聘工作人员2人笔试备考试题及答案解析
- 2025福建福州城投福粥餐饮管理有限公司招聘1人笔试参考题库附答案解析
- 2025甘肃张掖市石学良眼科医院招聘7人笔试备考题库及答案解析
- 2025贵州铜仁市第四幼儿园招聘笔试备考试题及答案解析
- 2025年感染科空气传播疾病预防控制考核答案及解析
- 2025年疑难病症综合诊断处理技巧评估答案及解析
- 新人教版九年级2025学年物理实验课题研究计划
- (2025年标准)样板合作协议书
- 六年级家长会课件
- 2025年安徽省淮南市【辅警协警】笔试模拟考试题(含答案)
- 废气处理活性炭吸附操作规范
- 2025年教科版新教材科学二年级上册教学计划(含进度表)
- 创伤急救基本知识培训课件
- 2025年农业农村科技基础知识考试题库(附含答案)
- 合同第三方见证人范本
- 学生心理健康教育干预措施
- DB32∕T 4652-2024 基于区块链技术的多中心药物临床试验管理系统开发指南
- 实验室生物安全知识培训考试试题(含答案)
- 2025年成人高考英语试题及答案
评论
0/150
提交评论