操作系统课程设计报告内存管理算法模拟内容摘要:
实现 程序使用的 变量: int choice。 //选项,用于实现主函数对不同函数的调用 int t=1。 //循环条件与退出标识 long address。 //作业区链 表地址 double length。 //作业区链表长度 int flag。 //标识作业名 ftable p = freetable。 //为 p 申请 空闲分区表 utable x = new uarea。 //为 x 新建分区 与定义 本程序中用到的函数: void jobrequest()。 //作业请求函数 函数 代码如下: void jobrequest() { int jobname。 int jobsize。 cout请输入进程名 :。 cin jobname。 cout请输入进程长度 :。 cin jobsize。 if( allot( jobname , jobsize ) == 4 ) printf(该进程已成功获得所要求内存空间 \n)。 else printf(该进程没有成功获得所要求空间 \n)。 } int allot( jobname , jobsize ) //分配空间给作业 函数代码如下: int allot( int jobname , double jobsize ) 7 { //判断是否 有空闲区 if( freetable == NULL ) return 1。 ftable p = freetable。 ftable q = p。 //找首次适应算法分配空闲区 while( p != NULL amp。 amp。 plength jobsize ) { q = p。 p = pnext。 } //如果找不到有足够空间的分区 if( p == NULL ) return 2。 utable x = new uarea。 xaddress = paddress。 xlength = jobsize。 xflag = jobname。 xnext = NULL。 //如果该分区大于作业需求,空间大小减去作业大小 if( plength jobsize ) { plength = jobsize。 paddress += (long)jobsize。 } //如果该分区等于作 业大小,删除该分区 else { if( p == freetable ) freetable = NULL。 else qnext = pnext。 delete p。 8 } //作业加入“作业表”中 utable r = usedtable。 utable t = r。 while( r != NULL amp。 amp。 raddress xaddress ) { t = r。 r = rnext。 } if( usedtable == NULL ) usedtable = x。 else { xnext = r。 tnext = x。 } return 4。 } Init()。 //空闲分区表初始化函数 代码如下: int Init() { freetable = new farea。 freetableaddress = 0。 freetablelength = 1024。 freetablenext = NULL。 return 1。 } void statePrint() //显示内存状态函数 代码如下: void statePrint() { ftable p = freetable。 utable q = usedtable。 int x , y。 9 while( p || q ) { if( p ) x = paddress。 else x = 0x7fffffff。 if( q ) y = qaddress。 else y = 0x7fffffff。 if( x y ) { coutpaddressendl已分配 (上 )endl。 cout空闲 (下 )endlplengthendl。 p = pnext。 } if( x y ) { q = qnext。 } } } void jobcallback()。 //作业回收函数 代码如下: void jobcallback() { int jobname。 cout请输入要回收的进程名 :。 cin jobname。 int result = callback( jobname )。 if( result == 4 ) printf(该进程已回收成功 \n)。 else if( result == 2 || result == 1 ) printf(系统没有进程或该进程不存在 \n)。 10 } int callback( int jobname ) //通过作业名回收作业函数 代码如下: int callback( int jobname ) { if( usedtable == NULL ) return 1。 utable p = usedtable。 utable q = p。 while( p != NULL amp。 amp。 pflag != jobname ) { q = p。 p = pnext。 } //如果没有该作业 if( p == NULL ) return 2。 //回收后的空间加入到空闲区 ftable r = freetable。 ftable t = r。 ftable x。 while( r != NULL amp。 amp。 raddress paddress ) { t = r。 r = rnext。 } x = new farea。 xaddress = padd。操作系统课程设计报告内存管理算法模拟
相关推荐
询、更新等。 学生录入,教师信息的录入及数据维护。 3 系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。 系统开发所需技术 技术 (前身是 ASP— Active Server Pages) 技术 相对 增加了大量方便、实用的新特性 ,是一种建立在公共语言运行库上的编程框架,可用于在服务器上开发功能强大的 Web 应用程序。 它不但执行效率大幅度提高
等,其他人员年度考核定为基本称职或以下等级,本人写出书面检查并交所在单位备案。 三、附则 所有教学事故一经发现,必须及时上报教务处,相关单位不得隐瞒事实真相,否则,追究有关人员责任,视情况给予通报批评、年度考评降级等处理。 相关单位 必须及时、认真办理教务处下达的教学异常情况调查处理通知,不得拖廷时间、走过场或不实事求是地处理。 否则,追究相关人员责任,视情况给予通报批评,年度考评降级等处理。
立并完善农村教育和监护体系,使之成为农村教育保障机制。 成立关心 “留守儿童 ”教育指导机构,建立农村社区教育和监 护体系。 可由乡镇政府牵头,学校组织,村民委员会、派出所及热心的退休教师等参加。 建立对 “留守儿童 ”家庭定期访问制度、与在外务工父母联系制度,了解 “留守儿童 ”的学习、生活、健康、安全和心理状况,及时发现问题、解决问题。 对 “留守儿童 ”这个特殊群体承担起更多的教育
cur=head。 while(curnext!=NULL) { cur=curnext。 } } memset(path,0,sizeof(path))。 strcpy(path,user[i].name)。 path[strlen(user[i].name)]=39。 /39。 cout登陆成功 endl。 sum=0。 return 1。 } else { cout密码错误。 还有
上材料出现质量问题,我公司将会立刻更换新的材料,材料免费提供 (包料)。 ( 2)我公司承诺在贰年的质保期内,如果以上材料出现质量问题,我公司将免费派出技术人员到现场更换或维修 (包工)。 ( 3)我公司承诺在贰年的质保期内,如果以上材料出现质量问题,我公司将免费进行更换新产品后的材料安装和调试 (包安装)。 、“小包”服务 在免费维修期内的非质量问题造成的损坏
成-个优秀地项目团队。 通过对项目团队地绩效管理,来充分保证质量体 系持续有效地运行。 其次,对质量策划地工程总体质量目标,实施分解, 确定工序质量目标, 并落实到班组和个人。 有了这两条,工程施工质量就 有了基本地保障。 这里还应强调,项目部质量管理工作能够保持经常性和 系统性,领导层地重视和各职能部门地协调也是必不可少地因素。 2 .重视采购工作,保证原材料地质量。