- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 12 PAGE 编号: 实验一二三四五六七八九十总评教师签名成绩 武汉大学计算机学院 课程实验(设计)报告 专业(班): 2014级计算机科学与技术4班 学 号: 2014301500385 姓 名: 颜子琦 课程名称: 操作系统设计 任课教师: 2016年 11月 21日 实习题目:模拟UNIX系统的空闲块成组链接法,实现磁盘存储空间的管理 实习内容及设计思想: 1、设计思路: 1、定义二维数组A模拟磁盘空间并初始化 2、定义数组MA存放专用块内容,初始化为A【0】 3、输出菜单,选择功能: 功能一:申请 查MA,找出空闲块号 若一组空闲块只剩第一块时,把该块中指出的下一组空闲块数和块号复制到专用块,然后将该块分配给申请者 若一组空闲块已分配完,把专用块内容复制到内存,再分配 功能二:回收 指定回收的块号,查找该块 若未分配,退出 若已分配 若当前组不满规定块数,将该块登记入该组 若当前组已满,新建一组,该块作为新一组第一块,把内存中登记的链接情况MA复制到该块中,在MA重新登记一个新组 功能三:显示各空闲块组情况。 2、主要数据结构: 1、空闲块A【4】 2、磁盘空间MA【9】【4】 主要代码结构及代码段分析: 功能一:申请 void assign(){ int s,i=0; if(MA[0]1){//不止一个空闲块 i=MA[0]; s=MA[i]; MA[0]--; printf(\n分配块号为:%d\n,s); } else if(MA[0]==1){//只剩一个空闲块 if(MA[1]!=0){//不是最后一组 s=MA[1];//第一块指向的下一组 for(i=0;i=3;i++)//更新专用块 MA[i]=A[s][i]; printf(\n分配块号为:%d\n,s); } else{//没有空闲块 printf(\n没有空闲块可分配!\n); return; } } display(); } 功能二:回收 void reclaim(){ int i,j,t; printf(\n请输入需要回收的块号:); scanf(%d,j); if(MA[0]3){//专用块未满 i=MA[0]; MA[i+1]=j; MA[0]++; } else{ for(i=0;i=3;i++) A[j][i]=MA[i]; MA[0]=1; MA[1]=j; } display(); } 功能三:显示 void display(){ int i,j,s; for(i=0;i=MA[0];i++) printf(%d ,MA[i]); printf(\n); s=MA[1]; wh
文档评论(0)