蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > PDF文档下载
 

操作系统存储管理试验报告

  • 资源ID:55679180       资源大小:496.92KB        全文页数:23页
  • 资源格式: PDF        下载权限:游客/注册会员    下载费用:10积分 【人民币10元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要10积分 【人民币10元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

操作系统存储管理试验报告

____大学____学院实验报告 课程名称计算机操作系统实验名称存储管理实验实验日期 班级姓名学号仪器编号 XX 实验报告要求1.实验目的 2.实验要求 3.实验步骤 4.程序清单 5.运行情况 6.流程图 7.实验体会 1 1、实验目的、实验目的 通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解,熟悉虚存 管理的各种页面淘汰法。 通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。 2 2、实验要求、实验要求 设计一个固定式分区分配的存储管理方案,并模拟实现分区的分配和回收过程。设计一个固定式分区分配的存储管理方案,并模拟实现分区的分配和回收过程。 可以假定每个作业都是批处理作业,并且不允许动态申请内存。为实现分区的分配和回收,可以设 定一个分区说明表,按照表中的有关信息进行分配,并根据分区的分配和回收情况修改该表。 设计一个可变式分区分配的存储管理方案,并模拟实现分区的分配和回收过程。设计一个可变式分区分配的存储管理方案,并模拟实现分区的分配和回收过程。 对分区的管理法可以是下面三种算法之一首次适应算法;最坏适应算法;最佳适应算法。 编写并调试一个段页式存储管理的地址转换的模拟程序。 编写并调试一个段页式存储管理的地址转换的模拟程序。 首先设计好段表、页表,然后给出若干个有一定代表性的地址,通过查找段表页表后得到转换的地 址。要求打印转换前的地址,相应的段表,页表条款及转换后的地址,以便检查。 3 3、实验步骤、实验步骤 (1)理解实验要求,联系所学知识;(2)根据要求编写调度算法;(3)编 写完整的实验代码并在 VC 6.0 环境下编译运行;(4)调试程序直至得出结 果。 4 4、程序清单、程序清单  include include include include define NUM 4 define alloMemorytype type*mallocsizeoftype struct partiTab { int no; int size; int firstAddr; char state; }parTab[NUM]; typedef struct partiTab PARTITAB; typedef struct jcb { /*定义作业控制块 JCB ,部分信息省略*/ char name[10]; //作业名 int size; //作业大小 struct jcb* link; //链指针 }JCB; typedef struct { JCB *front,*rear; }jcbQue; jcbQue *jcbReadyQue; void AllocateMemoryint size; void createTab; void checkTab; void recycleMemoryint i; void AllocateMemoryint size { int i; fori0;isize parTab[i].stateY; else printf“没有空闲分区,无法分配内存\n“; } } void createTab { int i; for i1;imenu1; ifmenu11 menu; } switchmenu1 { case 1 { menuflag1; start; break; } case 2 { ifmenuflag0 { coutbs; coutbbs; int blocknum; blocknumbs/bbs; coutpn; //下面求所有进程的总段数和段表,并为每段创建页表 int sums0; for int pn10; pn1ppn; sumsppn; } forint ss10; ss1ss[ss1].numss[ss1].flagss[ss1].plenss[ss1].psta; coutpage[ss1][sss1].flagpage[ss1][sss1].block; } } //初始化段表寄存器 coutst.ssta; st.slensums; //初始化内存中物理地址每一块的数据区 coutwork[bn].str; } //初始化快表 coutqu.qbqu.qp; whiless[qu.qb].flag1||page[qu.qb][qu.qp].flag1 { coutqu.qbqu.qp; } qu.qspage[qu.qb][qu.qp].block; menu; } void change { coutsnumpnumdnum; //首先查快表 ifsnumqu.qb cout“该块中作业数据是 “work[page[qu.qb][qu.qp].block].strendl; cout“物理地址是“qu.qs*bbs*1024dnumendl;; menu; } //访问段表寄存器 else { cout“快表没有命中,访问段表寄存器,段号等于段表始址加上偏移地址 “st.slen-1 { cout“越界中断“0 ifss[ssnum].flag0 { cout“缺段中断“ss[ssnum].plen-1 { cout“缺页中断“0 menu; } else { cout“找到该页““查询页表后对应块号 “page[ssnum][pnum].blockendl; cout“该块内存的数据是 “work[page[ssnum][pnum].block].strendl; cout“ 转 化 得 到 的 物 理 地 址 是 “page[ssnum][pnum].block*bbs*1024dnumendl; menu; } } } } } } } } 5 5、运行情况、运行情况    按提示操作,直至程序运行完毕,即可得结果。 6 6、流程图、流程图 7 7、心得体会、心得体会 通过这次实验,我懂得了存储管理分配和回收的一些简单算法的实现。对于实验 过程中遇到的问题,通过上网查找相关资料以及研读课本上的理论知识,都一一得 到了解决。同时,实验过程中我还掌握了用高级语言编写和调试管理程序的方法, 加深了对存储管理各种算法的概念及存储管理算法的理解,加深了对段页式存储管 理的地址转换的理解。多次实验下来最大的感受就是实践出真知。只有把所学知 识付诸实践才能真正地掌握知识。 优 教师评价 秀好等格 格 名 良中及 及 签期 教 师日 不

注意事项

本文(操作系统存储管理试验报告)为本站会员(sunhongz124)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开