- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
POJ内存分配.ppt
内存分配 伟题意描述内存单元,给定一个有n个内存单元组成的内存,有若干程序运行时要占用内存,即占用一定长度连续的内存单元。每个进程有一个申请时刻T,需要内存单元数M及运行时间P。在运行时间P内,这M个被占用的内存单元不能再被其他进程使用。题意描述假设在T时刻有一个进程申请M个单元,且运行时间为P,则:1.若T时刻内存中存在长度为M的空闲地址片,则系统将这M个空闲单元分配给该进程。若存在多个长度为M个空闲地址片,则系统将首地址最小的那个空闲地址片分配给该进程。题意描述如果T时刻不存在长度为M的空闲地址片,则该进程被放入一个等待队列。等待队列队头的进程,只要在任一时刻存在长度为M的空闲地址片,系统马上将该进程取出队列,并为它分配内存单元。在进行内存分配处理过程中,队列中的其它进程不能先于队头进程被处理。任务:给出一系列描述进程的数据,模拟系统分配内存的过程。输出:第一行是全部进程都运行完毕的时刻。第二行是被放入过等待队列的进程总数。数据规模:输入文件最多10000行,且所有数据都小于109。sample101310243344414534000算法分析该题为一模拟题。根据题意我们应在模拟过程中建立一个等待队列。另外,每次为新的进程分配内存时都要查找内存中的空闲位置。要了解在当前时刻内存的占用情况。当然总的内存单元数目太多,我们可以针对相对较少的进程来分析。即建立一个运行队列。算法分析1.运行队列与等待队列。运行队列记录被分配地址的首位置mid及长度m。并记录下完成时间t与指向后进程的指针。等待队列记录下内存需求量,运行时间及指向下一进程的指针。算法分析运行队列的结构:typedefstructnode{longm,t,mid;node*next;};将运行队列中的进程按所占内存的位置从小到大排列。查找内存空闲区域的过程:如果p-next!=NULL且p-mid+p-mp-next-mid则在p与p.next之间存在一块大小为p.next-mid-(p.mid+p.m)的空闲空间。算法分析2.运行队列的最早结束时间nexttime和最晚结束时间stoptime。算法分析算法分析试图为当前申请的进程分配内存。在运行序列中查找是否存在某两个进程这间的空闲空间满足要求。存在则分配,并重新计算nexttime,stoptime.否则该进程进入等待队列队尾。算法分析所有的进程都分配完后则可知总的运行时间和进入过等待队列的进程总数。注意最后head2等待队列中仍可能有进程未处理,所以最后还应处理等待队列中剩余的进程。才可求出总的运行时间。总结模拟题,无固定的方法,只能根据题意,运用合理的数据结构来模拟实现。谢谢!!
文档评论(0)