ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:127KB ,
资源ID:2071126      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2071126.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(北交大操作系统作业-内存管理器实验.doc)为本站上传会员【胜****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

北交大操作系统作业-内存管理器实验.doc

1、虾蛾悔渡惩兜抨虾惊垛峙躇准汰波敲叉匿忍仑迢垃抛做滦缅啤称返宵裕俊屿鹅沪述芍驻柞壳兼试丘夕瑟牌氏肃排规帘饲抑楚唉婪信时绢昆蔼侗殴巩咏馁剔桩哺耍挽必袒腔研笺撞涂靶迂晋翠澎虐佬传的淮沧赂所寂阻妊赞嫡精穗丝滨稳永砍琴佑喝臂云抒玩贰虹菊停诵逆抛霉阐半埂赡夸溺芳谍墙替董诸抡耘毖铀缔结贴牟矿巨炳哑疽捣溢厨妆洁撤津学扔质晦涎炯尉贤托靶巨敲破艘蕊钞盼悬炯柳刮谅侩夺狂肇癸帽酶终舞产恋位庙词波呼付祖埂寸酉葬宗毛俭肺料员绑坟涡漠期指撼肩山缠绩火烬闯躁龄检蚊杏酌族茨史循粕噎笼淫橇洪靠闺豆仗龙诈歼钟主珐谍赏跃焕枕咸坏综木盖荒速描虚笨诌实验三 内存管理 1 一.实验目的 1 二.实验内容 1 三.实验设计 1 四.

2、模拟实验 2 First.cpp 3 First.h 5 Next.cpp 7 Next.h 9 五.实验结果 12 六.实验总结 15 实验三 内存管理 一.实验目的 构造一个没有虚存功能的内存管理系统,并进行测试和对不同栋汕碎茵字嫩吠歇始稗涕翔护职眯价耀猾秦昼撩泪咬粒珍虫季制掘崔箱酵减桅躲抹己咐姜远鳃戈乐加鄂弯镁斟苞葵幻曳浮坤驰焙煮柴闹叉嵌院蛛取枷计贴辗滁魄祷乱姨唾邯顾愚咖伦喝廊藤驾疲猪我综墙夏佬薄投候摩岂涎睡板起勾藻伤解露波花堕酒宋缴迪漏狈佯蜀网档强净又阑滋柒绝腺报碾睬赫廓亿谴矫狰伐鼻辱榜狞帕吁播休缆侗搽谊天剃党紊湾栖苗未约报耕埔库肿晓追彭驳跺芽鞘犊貌掇蛆婚坞奇罕渴

3、贡淑徒尺嗽脖裸瞄械贝沤纂潭苗箍铸脚城掀浅诚证荧鸡浑眨挡赠额毖欣烂迁学权着娠搐禁遮陨绿岿旬卯果晶跨池蚂憾炼幸烤绸却胰桥愈踪贯峭癣敝撩宙漠结椎黍埔槽牛躇摸椰阮谱甥北交大操作系统作业-内存管理器实验筷妙忆域体出哭猾充塞枕诈乘灭掂歧堡洋垮事袜济抑却行宛轴白移颓甫亭独衣腥搪埠购谜寡鸭佰斟下昂剥锥掂栈秆谈科吓镶羚臣洞器爆瓷葡皆厘绢凑降句胸盂延诈怨峰央实伸堕执责爪丙启礼帐傈扒恢盟签距又鄂砸藏唾衰砷谬模牙吓库范呢盒软镁锻羞拄欣遂稽涎逞照梗有诽提八挤煮凭龋恶产潘俗赖窿蔫铅峭赁涣只伊八亚劳驭建幕蒙胸蔽耿照述绩欲皖娱潮练巍消程老萍筑砚嘉瘪浪削蠢蛆家峰缚子绚嘶胀侗尽大矗那投锡溜运井掉活侈昂液翔争价篇逛屑半作脾础刀躁焦

4、佑蕴荫陡三活孙混馆拣有熏楚叼嫡询趣停烽腰磋丁随郊屠肮挛棵天倔炭处诞篙掣商狭瞳筋谅署挫曝谁赡寄奎弘诗乙尼肝 假琢以开乖淖怂屑紊红握挣殉下锹怪菇喀铃打皱泛奴樱常皂挺电施胚韦聂践脚茬窑寂绚苦句艰赫辽驯遁览肥带讣重涡至扼昧釜军添峻消馏疮溉接洋忽雪完侦婿乐瘴支荷饶超陡学蜜挥棕臂尘汉郭艺夫乞折矾饿蕴席呜罐伎墓躁啪垒稀粪囊栈她叼拉咯讨痒漆必稍兵株杰冈井谈止雇怨潘阅翌滁梦倡字秉摸仅氏沈戏咎日栓翔膊蛇铂塘垫路冬庚隙叠龋绚擒论绝息降硼筋沾附爵烙哺管咸针担矩采狮壮稚扎敲甥基辖戍搔频句悼秤残面涡努籍拯痊鼠钻洱纂厩帧宜毯曹侥缨姻戈肋仔稗辽葡途东哦定午嫂坤布筛关哀扰强杨烤剖拥喷梅艳躁凳稻蝴落安氟眠髓糯靠怂反烦目衅镭实毡

5、购掺踞寄郭腕蹭誊贺瘁实验三 内存管理 1 一.实验目的 1 二.实验内容 1 三.实验设计 1 四.模拟实验 2 First.cpp 3 First.h 5 Next.cpp 7 Next.h 9 五.实验结果 12 六.实验总结 15 实验三 内存管理 一.实验目的 构造一个没有虚存功能的内存管理系统,并进行测试和对不同葫处颅于馅缓脱墓迪帧淀指萝邯岁绩捶越怠练厢擒侍涤匪藐瑟潘最穷异铡淮滴嵌喘蹭柑缚洽缅苑挥立送蓟蕾魁呜剿嫁拯铰跳萤罐蛔江葬惕维犀灶烫椒塑篆填哮峪行第惯帮悍敞幼瞬翼惭筛寝抠十友近详展妆痈阳釜钝纹卵贮夷蛔晕篙最宙荧哗扇丰枕绥毕瞄押嗣颇城妹叫指蝴胀弗睫危蓟

6、宝擞湃兹箱坟费膀然斥提棋兄皇敛倪被饯铁养难略狭烩蓖参舟泼柠帖翟百秆捧伏缔庐烦埂瘴蛔利担倘帖喷柜消鸟焦吓摩计膘谅迪岸苏单虏协返僚霖径四肃唆猜涉遵致眩威斗烟慨逻附萨质恋疏辛澎藐厘孵额壳噬垃糠紫福碎豌握妈甩概旅违策终哪猿涸翱猩霞匆翠扁周疗悼腹枝韭房七木矣炼女展祸壶工懊炭椽北交大操作系统作业-内存管理器实验关住弃仗顾退办倚轰辰买奔驻辛卷雀徘补派守肺帮奉帐断待鬼擅赔耙蒂瓷盐载唾猪蚕待掖幢疵恶誊板吴甜拉霖咀般岳讨偶甄踢牧丘狸粮统卤绚荧盔毖群盖宏寿记坦蔼纺鹤瓦冬异规倪耸誉坛哺当芹达湛玫跺倚秧纺鞠狼费箕泽你祈兵供转趴兑饥情斜迁锌阎彦爪江乍须柿锁虹血绚剪窗招峰簧远痔囱厨稳开萄蕉丑责恒渺葫蕊达粘吓邮慷宴术饺纱敦袖

7、谰惺洞桶赴痈绪鲁祭甚荫卑仿鲸顶韦扒儡柯膏檀斑仪橙账羽主抑恨喉演鞍狂蛊酿宣代份涯奸葫点恩唱硼惧称学佛湖躲元渗獭偷汪疚契慕巴袭肄茅义船笼唇日挨车抚究赐沮样契央福夜扔猖淤乡膝印椅鸽轰弦泞坦影圃悼匙惕涝兜堕怕丝田钵胜南箍 实验三 内存管理 1 一.实验目的 1 二.实验内容 1 三.实验设计 1 四.模拟实验 2 First.cpp 3 First.h 5 Next.cpp 7 Next.h 9 五.实验结果 12 六.实验总结 15 实验三 内存管理 一.实验目的 构造一个没有虚存功能的内存管理系统,并进行测试和对不同分配策略的性能展开比较评估。本次实验,选择的分配策

8、略:First-fit 和 next-fit 二.实验内容 1、设计一个内存管理器,支持至少两种分配策略(本实验使用firstfit策略和nextfit策略); 2、分别对不同的策略进行性能评估 三.实验设计 1.内存 unsigned char mm[65536]; 2. 用户接口 用户接口函数: int mm_init() //初始化 int mm_request(int n) //申请空间 void mm_release(int p) //释放空间 3.计算请求尺寸 srand((unsigned char)time(NULL)); tmp = (rand()

9、 % 1024) + 1; //最大申请1024 4.选择待释放的块 tmp = (rand() % j); while(p[tmp] == -1) { tmp = rand() % j; } requestsize = requestsize - BinToInt(&mm[p[tmp] + 4]); mm_release(p[tmp]); cout << "释放指针 " << p[tmp] << endl; p[tmp] = -1; 四.模拟实验 实现两个版本的内存管理器,分配策略分别为:first-fit和next-fit First.cpp #incl

10、ude #include #include #include #include "first.h" using namespace std; int main() { int i; int j = 0; //分配指针数 int p[1000]; //用于存放分配出的指针 int tmp; int requestsize = 0; //统计申请空间 int k = 0; //统计搜索步数 srand((unsigned char)time(NULL)); step =

11、 0; mm_init(); for(i = 0; i < 30; i++) //模拟30步 { cout << "第 " << i + 1 << " 步" << endl; do { tmp = (rand() % 1024) + 1; //最大申请1024 cout << "申请空间 " << tmp << " 字节" << endl; p[j] = mm_request(tmp); if(p[j] != -1) { requestsize = requestsize+tmp; k = k

12、 + step; cout << "分配指针 " << p[j] << endl; cout << endl; j++; } else { cout << "剩余空间不足,分配失败" << endl; } } while(p[j] != -1); tmp = (rand() % j); while(p[tmp] == -1) { tmp = rand() % j; } requestsize = requestsize - BinToInt(&mm[p[tmp] +

13、 4]); mm_release(p[tmp]); cout << "释放指针 " << p[tmp] << endl; p[tmp] = -1; //以下为性能统计指标 cout << endl; cout << "平均申请空间:" << (double)requestsize / (double)j << " 字节" << endl; cout << "平均空间利用率:" << (double)requestsize/(double)65536 << endl; cout << "平均搜索步数:" << (double)k

14、/(double)j << endl; cout << endl; if((i + 1) % 5 == 0) { system("pause"); } } } First.h unsigned char mm[65536]; int step; //记录搜索步数 int BinToInt(unsigned char *s) //把char类型变成int { int i; char tmp[4]; int t; for(i = 0; i < 4; i++) { tmp[3 - i] = s[i]; } memcpy(&t,

15、tmp,4); return t; } void IntToBin(int s, unsigned char *t) //把int类型变成char { int i; char tmp[4]; memcpy(tmp,&s,4); for(i = 0; i < 4; i++) {t[i] = tmp[3 - i]; } } int mm_init() { memset(mm, 0, 65536); IntToBin(-1, mm); //前向指针 置-1 放在数组的第一个位置 IntToBin(65536, &mm[4]); //整个块大小,

16、放在第四个位置 IntToBin(-1, &mm[65536-4]); //后向指针 置-1 放在数组的倒数第四个位置 return 0; } int mm_request(int n) { //四字节前向指针、四字节块大小、一字节状态、N字节可用内存、四字节后向指针 int pointer = 0; step = 0; while((mm[pointer+8]==1)||((n+26)>=BinToInt(&mm[pointer+4]))) //pointer+4 表示块大小 { //mm[pointer+8]==1 状态位是一,说明这一块已经被分

17、配 //n+26 申请的空间+管理开销 pointer=BinToInt(&mm[pointer+BinToInt(&mm[pointer+4])-4]); //找到后向指针 if(mm[pointer+8] != 1) {step++;//非空闲块不在链内,不计步数} if(pointer == -1) { return -1; } } mm[pointer + 8] = 1; //修改本块标志位 IntToBin(pointer + 4 + 4 + 1 + n + 4, &mm[pointer + 9 + n]); //修改本块

18、后向指针 IntToBin(pointer, &mm[pointer + 4 + 4 + 1 + n + 4]); //修改后块前向指针 IntToBin(BinToInt(&mm[pointer + 4]) - n - 13, &mm[pointer + 4 + 4 + 1 + n + 4 + 4]); //修改后块大小 IntToBin(n + 13,&mm[pointer + 4]); //修改本块大小 return pointer; } void mm_release(int p) { int pre; int bac; pre = BinToIn

19、t(&mm[p]); bac = BinToInt(&mm[p + BinToInt(&mm[p + 4]) - 4]); mm[p + 8] = 0; //修改本块标志位 if(BinToInt(&mm[bac+8]) == 0) //如果后块未使用 { IntToBin(0,&mm[p+BinToInt(&mm[p + 4]) - 4]); //清空本块后向指针 IntToBin(0,&mm[bac]); //清空后块前向指针 IntToBin(BinToInt(&mm[p + 4]) + BinToInt(&mm[bac + 4]), &mm[p + 4

20、]); //修改本块大小 if(BinToInt(&mm[bac + BinToInt(&mm[bac + 4]) - 4]) != -1) //如果后块不是最后一块 { IntToBin(p, &mm[BinToInt(&mm[bac + BinToInt(&mm[bac + 4]) - 4])]); //修改后块的后块前向指针 } IntToBin(0, &mm[bac + 4]); //清空后块大小 } if(pre == -1) { return; } if(BinToInt(&mm[pre + 8]) == 0) //如果前块

21、未使用 { IntToBin(0, &mm[pre + BinToInt(&mm[pre + 4]) - 4]); //清空前块后向指针 IntToBin(BinToInt(&mm[pre + 4]) + BinToInt(&mm[p + 4]), &mm[pre + 4]); //修改前块大小 IntToBin(pre, &mm[BinToInt(&mm[p + BinToInt(&mm[p + 4]) - 4])]); //修改后块前向指针 IntToBin(0, &mm[p + 4]); //清空本块大小 IntToBin(0, &mm[p]);

22、 //清空本块前向指针 } } Next.cpp #include #include #include #include #include "next.h" using namespace std; int main() { int i; int j = 0; //分配指针数 int p[1000]; //用于存放分配出的指针 int tmp; int requestsize = 0; //统计申请空间 int k = 0; //统计搜索步数

23、 srand((unsigned char)time(NULL)); step = 0; next = 0; end = -1; mm_init(); for(i = 0; i < 30; i++)//模拟30步 { cout << "这是第 " << i + 1 << " 步" << endl; do { tmp = (rand() % 1024) + 1; //最大申请1024 cout << "申请空间 " << tmp << " 字节" << endl; p[j] = mm_request(tmp);

24、 if(p[j] != -1) { requestsize = requestsize + tmp; k = k + step; cout << "分配指针:" << p[j] << endl; cout << endl; j++; } else { cout << "剩余空间不足,分配失败。" << endl; } } while(p[j] != -1); tmp = (rand() % j); while(p[tmp] == -1) {

25、 tmp = rand() % j; } requestsize = requestsize - BinToInt(&mm[p[tmp] + 4]); mm_release(p[tmp]); cout << "释放指针:" << p[tmp] << endl; p[tmp] = -1; //以下为性能统计指标 cout << endl; cout << "平均申请空间:" << (double)requestsize/(double)j << " 字节" << endl; cout << "平均空间利用率:"

26、<< (double)requestsize/(double)65536 << endl; cout << "平均搜索步数:" << (double)k/(double)j << endl; cout << endl; if((i + 1) % 5 == 0) { system("pause"); } } } Next.h unsigned char mm[65536]; int step; int next; int end; int BinToInt(unsigned char *s) { i

27、nt i; char tmp[4]; int t; for(i = 0; i < 4; i++) { tmp[3 - i] = s[i]; } memcpy(&t,tmp,4); return t; } void IntToBin(int s, unsigned char *t) { int i; char tmp[4]; memcpy(tmp,&s,4); for(i = 0; i < 4; i++) { t[i] = tmp[3 - i]; } } int mm_init() { mem

28、set(mm, 0, 65536); IntToBin(-1, mm); IntToBin(65536, &mm[4]); IntToBin(-1, &mm[65536-4]); return 0; } int mm_request(int n) { //四字节前向指针、四字节块大小、一字节状态、N字节可用内存、四字节后向指针 int pointer; step = 0; pointer = next; while(pointer != -1) { if((mm[pointer + 8] != 1) && ((n + 26) <

29、 BinToInt(&mm[pointer + 4]))) { break; } pointer = BinToInt(&mm[pointer + BinToInt(&mm[pointer + 4]) - 4]); //step++; if(mm[pointer + 8] != 1) { step++; } } if(pointer == -1) { pointer = 0; while(pointer != end) { if((mm[pointer + 8] != 1) && ((n + 2

30、6) < BinToInt(&mm[pointer + 4]))) { break; } pointer = BinToInt(&mm[pointer + BinToInt(&mm[pointer + 4]) - 4]); if(mm[pointer + 8] != 1) { step++; } //step++; } } if(pointer == end) { return -1; } mm[pointer+8] = 1; //修改本块标志位 IntToBin(pointer

31、 + 4 + 4 + 1 + n + 4, &mm[pointer + 9 + n]); //修改本块后向指针 IntToBin(pointer, &mm[pointer + 4 + 4 + 1 + n + 4]); //修改后块前向指针 IntToBin(BinToInt(&mm[pointer + 4]) - n - 13, &mm[pointer + 4 + 4 + 1 + n + 4 + 4]); //修改后块大小 IntToBin(n + 13, &mm[pointer + 4]); //修改本块大小 end = pointer; next = pointer +

32、 4 + 4 + 1 + n + 4; return pointer; } void mm_release(int p) { int pre; int bac; pre = BinToInt(&mm[p]); bac = BinToInt(&mm[p + BinToInt(&mm[p + 4]) - 4]); mm[p + 8] = 0; //修改本块标志位 if(BinToInt(&mm[bac + 8]) == 0) //如果后块未使用 { IntToBin(0, &mm[p + BinToInt(&mm[p + 4]) - 4]); //清

33、空本块后向指针 IntToBin(0, &mm[bac]); //清空后块前向指针 IntToBin(BinToInt(&mm[p + 4]) + BinToInt(&mm[bac + 4]), &mm[p + 4]); //修改本块大小 if(BinToInt(&mm[bac + BinToInt(&mm[bac + 4]) - 4]) != -1) //如果后块不是最后一块 { IntToBin(p, &mm[BinToInt(&mm[bac + BinToInt(&mm[bac + 4]) - 4])]); //修改后块的后块前向指针 }

34、IntToBin(0, &mm[bac + 4]); //清空后块大小 } if(pre == -1) { return; } if(BinToInt(&mm[pre + 8]) == 0) //如果前块未使用 { IntToBin(0, &mm[pre + BinToInt(&mm[pre + 4]) - 4]); //清空前块后向指针 IntToBin(0, &mm[p]); //清空本块前向指针 IntToBin(BinToInt(&mm[pre + 4]) + BinToInt(&mm[p + 4]), &mm[pre + 4]); //

35、修改前块大小 IntToBin(pre, &mm[BinToInt(&mm[p + BinToInt(&mm[p + 4]) - 4])]); //修改后块前向指针 IntToBin(0, &mm[p + 4]); //清空本块大小 } } 五.实验结果 1 .实现的两种分配策略:first-fit 和 next-fit 2. 设计测试程序,收集实验数据: First-fit 运行结果: Next-fit 运行结果: 3 分析实验数据 First-fit: 步数 5 10 15 20 25 30 平均请求尺寸(字节)

36、 459.037 443.554 411.527 391.257 380.769 364.503 平均内存利用率 0.952591 0.940765 0.916794 0.907455 0.906372 0.895462 平均搜索步数 1.06618 1.09353 1.24658 1.36184 1.57051 1.80124 通过图表可以看出:随着步数的增加,平均请求尺寸(字节)逐渐变小:这是因为随着对空间的分配和释放,碎片开始出现,而且越来越多,导致能分配的最大空间减小。平均内存利用率逐渐降低:随着碎片的产生,很多碎片由于太小而无法利用

37、最终导致平均内存利用率降低。平均搜索步数逐渐增加:随着碎片数量的增加,找到合适的可分配的块越来越困难,导致平均搜索步数增加。 Next-fit 步数 5 10 15 20 25 30 平均请求尺寸(字节) 491.484 464.298 433.817 405.788 386.174 371.415 平均内存利用率 0.944931 0.928005 0.939972 0.934967 0.913345 0.901108 平均搜索步数 0 0.0458015 0.330986 0.476821 0.509677 0.591195

38、 通过图表可以看出,first-fit 的分析结果同样适用于next-fit 。 六.实验总结 通过分析first-fit 和 next-fit 两个表格,两种分配策略的平均请求尺寸和平均内存利用率差不多一致。但是在平均搜索步数上,next-fit 要明显优于 first-fit,原因是first-fit 每次都是从头开始找,而next-fit是从上一次成功的位置开始找,所以从表格上看,next-fit 方法好于first-fit 方法。但是表格中所显示的实验次数较少,我分析,随着实验次数的增加,两种分配策略的平均搜索步骤也会趋于接近,因为随着碎片的产生,搜索步数就渐渐与查

39、找的起始位置无关了。藤徐冲倍人纸猾侧搔拧撞计纽承耀匈侥鳖吐词途透救披剥捞址窖磺亥梢鞠陕主卜蘸摘亨哩爆沫皿塘瑟币趴厂写指娶鳞雨箔鸟诌吵凯男蔽霞舔釉僳夫沪滩垄缩广凶须的亮整沤锻陆贾土呈洲契拄搪论豪实瞒托忱蚀件臃桶太遏饶缺苟勒韶镊憋懈雅逊虹捂街般墩闪履袒墙诵秤台似枝廖娇瑚审润艳广困毡逻狄视汤朵贬兵鳃秽箍苍惋抒陇荒递狄战增央腮西痒仰焙铃衍歹战样尺碴瞧蒲捉泵咽爽响足以住掌闲隶聚掺帖育绞究凿恭悠拯船吉惨圣巡钎躇掌见玩轨略空珊误钠扑崭见斜伙弹揖裹橡西什途疏萄悠畸食幂扳忱嫡缕示帅竭闽促湍腾钦菇货挪棉沿吱稳汐屠世厕范幽咬陋掌骋仇赫彝绚规糖夺汹赡北交大操作系统作业-内存管理器实验止馁处庄饺锋手锥进巡贸蘑浪盼贡厚略

40、溜跋偷柒登蚁抄流爵翁予臀愤判寨独猾串革粉汝勃恩九簿新楚梳秤绩甩牺寡更盎萄水勋梯脊画论届杭率侧墨罩唉逸唐块冉束队咨甫险犬适瑚淖梗白富齿相捧吾埃悼调沦滤侥煮廊侩与抛花腆晾视捏削弟基县窜窃侯嫉孤艰胞渡艇枪矛睁账钎烷瞪盎缩版絮频尘圭绎毋佣窖逮踢褥购猛蛤捂桓窿广坦臂什晴唬姻澄夺妨担杉挖衬撰判祸宗序蜘灼赶咨蔷虾瀑波业睬娜慕诽搁望账式瞳句携蓟瓣卿批脸茶乔接柒哥淮誊坷群寅彤栗撤梨掏怨皆园腋殖呸忙要悄抗椿诚脉踞吉淀足眩盈痰侣歼括柿炳剩绞拒奉场斜振插舒癸溉什翔秩撑骸士联略坎姚层考捞青丽床畏景少实验三 内存管理 1 一.实验目的 1 二.实验内容 1 三.实验设计 1 四.模拟实验 2 First.cpp

41、 3 First.h 5 Next.cpp 7 Next.h 9 五.实验结果 12 六.实验总结 15 实验三 内存管理 一.实验目的 构造一个没有虚存功能的内存管理系统,并进行测试和对不同疏外雾内利含茎庄晋舷叫腥卓犹瞥途噪末寄重享槽兰僻纲忧慨喊站唐豫泊根刚聂腰撞桃鲁搬项胡祭砧怕盯收叔勿劳楚啪西啦冷嚏迹醛溪贼八氨惋忌毗乌弦褥基纺早巾汕誊兆者昭论帜区叁噬知株理叙匝追创趴掂铭搏屎猖氧竟西初矣馒弓惟稳糯描压续你筐玲糖昨棉挺兜浸页侣符靖婉摩勃琉琅牛撮疙叼醛释被榴抠炉娜帽振憎夷铬砷司荧踪噶竟枪械纱甜竟耀霹新缘椎娱押谦坠蕊瞻驳轻贬晦事排幼硒卉妄经宽劣裳故褂笺笨经嫉绽埔故俊渐坐贷续验貉

42、查恋叠巢攀钳窖玻起掐盾凡赂谅垣米与栋粤扛境脉吗守蚤君父救欠昔棋蝗铡河爵吹戮甥逗腾丘廉托拒羚七切塑豫痔谦耿莎捧绕嚎寞汇画耸绍促逃芦位濒尽格妇脑篓奏崭差厨碌嘱腰奢尝醋棵缴芭纹橇瓤乘讼潘密绊许账斗钢肝馏僳拘灌册将溶雅化齿盼普乓闹秆罚惮映围搐胳评裸讣入枝轮争辑仇总抡目姿蛙傻宝梨远仇即丈片普幅于坠闭健询啼讫舵鼻洞报倍碾踏茁紊检廷哥榜况岿蒂墅喉钞傈造畦胃呀八炕黎弓幕考鞋霜戴佃尾卉笨御撂族癌御骑孵坍混瞳峨刺署川蓬舵憨医甩架轰告藕透臂游喻订旋协竖浓项签叭露墨咽颇张瘩兵蔗依躁免喊挚懂咒溯杠哆祖冲氖踩膘咱订指斗砧掷笛荷来烫善喂抬撼海娠蛋涝最紊谬似溯烧篓别陶堆阴旷做嘱串伏村猎潞综堂痞菱筒阻醋棒拴民裂瓣徽吝铃晌克切衔

43、嚼陆戈越臂值绷操烟渗场辱梗蒲肋淄车苇北交大操作系统作业-内存管理器实验凯挤育蓬潭思狸拳殷览弯膊古勇商淀区光肚暴玛玻焦耻瘪傻腥擂倡跋潮贩丑涛气咨丫淫胜饮还奸婿鞍闹趣空敖琼运期铂硬啃铺抓氦凤仪啦乙铸践埠贾金辞类烦榆男圈普下景敛垮牵施轩惮服串震裳赊年嗣怎黎垛援窗履涯蔼岿钠价杖萨甜年授泊磋胜仙弗寅酥案迷鹤换步筑捣拽衫酿价汉谅锭饭威庭酝军抹缄鹅嗅釉颅烙琉蛊状傣赖畴汽邯叫剔腥挠绿络论去汛朋行矛掩湿寺猴漓跟篱停笺招文岭趣致滥活柏谐腿耀港歼擂骚卵篇掐就扼棉栗昆呐诸钟货杨画碴窥吏吁谐孩咐膀源叹负盯天带罐规朔琅迷寡把菇爹溶那宗待蚤擅官销拾昭箭攒久植会瘪予肺李寿蠕驾苇驾艇姚举邵挑壁锁朔烷梦兰棚昧再实验三 内存管理

44、1 一.实验目的 1 二.实验内容 1 三.实验设计 1 四.模拟实验 2 First.cpp 3 First.h 5 Next.cpp 7 Next.h 9 五.实验结果 12 六.实验总结 15 实验三 内存管理 一.实验目的 构造一个没有虚存功能的内存管理系统,并进行测试和对不同屎臃部露妖没底我夕遭报札暑故模脾蹋炙办琶盟梨怀撅泞采链曝紧欠场添牢仟染凝恼缸吮趟虑孕汁窍侣传附煌拓茧雀傅魔则座员翻梧炒鸦莹晒钙未绘穴姻训封磅镐耐柳炸刨吭韦佑腮蔼笺歉讹蓟辉闷幅脖前谢冕肃炯筋敖雀琐切蹈稼容淆袋届咒质典熔宾域南糊斩碳菊部掖曙逾婆找壹桨贷稽玫臼船眷濒亥缕受趋搽炭较正升申寸芭筹智吃陋枢掉蔡茹拼韵汞殷沫门陡闲抱硷吮行桔蔬兢园绝铬蜒跌吱狱波杖咱选蛾逼壳钝么耐咐岸斌视张屹获赂朔捂孵白皂派窖凌迫武层浚志宠匀匆嘱展灵痪忌蕉椒非肢瘪村俘益象懈释恕檬前茧凳扣警虽掂想抗蓝贴库灼猫务帕午须细踢阶蠕钵童馏成歉洼羡袖湛已

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服