动态分区式存贮区管理.docx

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
? ? 《操作系统上机》 课程报告 ??? ? 姓 名: 姜 瑞 班号: 193151 学 号:_20151003756 指导教师: 张求明 院(系): 计算机学院 专业: 网络工程 ? 2016 年 11 月 独立工作成果声明 本人声明所呈交的《操作系统上机》报告,是我个人在导师指导下进行的程序编制工作及取得的成果。 尽我所知,除文中已经标明的引用内容,和已经标明的他人工作外,本报告未包含任何抄袭自他人的工作成果。对本报告的工作做出贡献的个人,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 报告作者签名: 日期: 年 月 日 实验一?多级队列调度算法 (1)课程设计题目:多级队列调度算法 (2)程序功能及设计思路 程序功能:模拟CPU在处理程序时的进程调度,使用循环轮转法和短进程优先调度的算法来完成一组请求。 设计思路: 首先使用一个cpp文件将运行所需要的数据写入一个文件名为”1.txt”的文本文件,格式是 “Pi need turn”,每组数据之间换行隔开,则可以在运行的cpp文件中得到所需要运行的内容。 在程序实现的过程中,按照题目所给要求从文件中读取数据,前五项按照已等待时间排序成一个循环队列(已等待时间长的放在队伍的靠前的地方),后五项按照需要运行的时间排成一个队列(运行时间短的放在队伍靠前的地方)。然后按照实现的描述来进行数据的处理。最后输出每一个进程运行所需要的时间。 (3)数据结构及算法设计 数据结构:①结构体struct tag_pcb②队列③循环队列④文件流数据 算法设计: ①对于循环队列RQ1,从文件中依次读取进程的信息,根据要求形成循环队列,然后从队首开始循环,每次使用一个时间片q的长度,看该进程是否运行完成,如果在时间片以内的时间运行完成,则仅耗费所需时间,然后将该进程的运行时间存入数组中,将该进程从队列中移除,并将队列连接完好,然后使用delete删除该进程所占用的内存空间,接下来从下一个进程继续,依次循环往复,直到所有的进程均运行完成。 ②对于队列RQ2中形成队列时,按照要求形成单向队列,然后从需要时间短的开始运行,运行完之后将时间存入数组,然后将该进程使用delete删除,然后将当前指针移到下一位置,进行下一个进程的处理。直到所有进程均运行完成,即队列为空的状态。 ③在使用数组存放的时候a[i]对应相应的进程运行时耗费的时间,然后从a[0]输出到a[9],即可输出对应时间。 (4)程序运行情况 (5)编程中遇到的困难及解决方法、实习心得或良好建议 困难和解决方法: 1.对于C++文件的写入和读取不是很熟练,在网上查找相关写法之后按照格式试验完成了文件的操作。 2.对于链表形式的队列原本不是很熟悉,在写代码的过程中遇到了很多的麻烦,可以处理一次的队列操作,但是在写成循环时时常出现队列断链或者连错的情况,这个问题是经过自己多次调试,反思原理之后改错完成的。 3.在字符型char和整型int的转化中之前对于P10进程的判断有一些错误,之后经过调试发现问题,然后对字符串长度进行判断解决了这个问题。 源代码贴在下方: /****写入数据.cpp****/ #include<iostream> #include<fstream> using namespace std; struct tag_pcb { char name[8]; int need; //需运行时间 int turn; //周转时间 struct tag_pcb *next; }PCB[10]; int main() { int i; for(i=0;i<10;++i) { PCB[i].name[0]='P'; PCB[i].name[1]=i+49; } PCB[9].name[1]='1',PCB[9].name[2]='0',PCB[9].name[3]='\0'; PCB[0].need=16;PCB[1].need=11;PCB[2].need=14; PCB[3].need=13;PCB[4].need=15;PCB[5].need=21; PCB[6].need=18;PCB[7].need=10;PCB[8].need=7; PC

您可能关注的文档

文档评论(0)

beifanglei + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档