




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统实验报告实验一 处理机管理1.4 按时间片轮转法进行CPU调度的实例 1.5 实验要求(1)给出所选实验题目。按时间片轮转法进行CPU调度(2)给出程序中源程序名和执行程序名。s1.cpp /*定义建立就绪队列函数*/int readyprocess()/*定义判断就绪队列是否有进程函数*/int readydata() int runprocess( ) /*定义运行进程函*/*-定义建立进程函数*/void inputprocess() /*-定义建立进程函数*/void inputprocess1()void runprocess1() /*定义运行进程函数*/ void main() 主函数(3)给出程序中使用的数据结构及符号说明。static char R=r,C=c;# define N 20宏定义 unsigned long current; /*记录系统当前时间的变量*/void inputprocess(); /*建立进程函数*/int readyprocess(); /*建立就绪队列函数*/int readydata(); /*判断进程是否就绪函数*/int runprocess(); /*运行进程函数*/typedef struct pcb /*进程控制块定义*/ (4)给出程序流程图和源程序,源程序中要附有详细的注释。图1-1进程控制块:进程名链接指针到达时间估计运行时间进程状态图1-2 进程控制块:进程名链接指针进程的优先级估计运行时间进程状态5)打印程序运行时的初值和运行结果,要求如下:各进程控制块的初始状态;选中运行进程的名、运行后各进程控制块状态以及每次调度时,就绪队列的进程排列顺序。(6)总结收获体会及对该题解的改进意见和见解。程序很长需要用心阅读分析,基本看得懂;实践出真知 多做才能发现问题解决问题要虚心学习 向他人请教 改进 额目前还没什么想法实验二 死锁的避免2.4 资源分配算法的示例 2.5 实验要求(1)给出所选实验题目用银行家算法和随机算法实现资源分配(2)给出程序中源程序名和执行程序名。void rand(vector&resource,vector&pgrp); 随机算法函数void banker(vector&resource,vector&pgrp); 银行家算法函数int main()主函数/输入各进程申请的资源总量,以及初始化各个进程;if(current-p_applyRcs_left)/满足该进程当前的申请/看该进程是否已满足if(current-p_occupyp_require) /假定对申请资源的进程分配资源/ 检查是否还有标志位未设置的进程for(p=pgrp.begin();p!=pgrp.end();p+)resource.insert(resource.begin(),current-p_apply,current-p_pid); /分配安全,可对进程进行实际的分配resource.insert(resource.end(),current-p_apply,current-p_pid);/归还全部系统资源resource.clear();(3)程序中使用的数据结构及符号说明。const int TASK_RUNNING=0;const int TASK_SUCCEED=1;const int TASK_WAITTING=2;const int RLength=10; class pcb定义块对象(4)给出程序流程图和源程序,源程序中要附有详细的注释。(5)收获体会及对该题解的改进意见和见解。银行家算法很实用对于死锁问题,实验三 主存空间的分配与回收3.4程序实例3.4.1 采用可变式分区管理方式,空闲区采用分区说明表时,使用首次适应算法实现主存的分配与回收3.5 实验要求(1)实验题目。采用可变式分区管理方式,使用首次适应算法实现主存的分配与回收。空闲区采用分表说明。(2)程序中使用的数据结构及符号说明。1、struct freearea /*定义一个空闲区说明表结构体,并初始化变量*/int startaddress;/*空闲区始址*/int size; /*空闲区大小*/int state; /*空闲区状态:0为空表目。1为可用空闲块*/freeblockN; 2、int alloc(int applyarea) 定义为作业分配主存空间的函数alloc(),applyarea为作业申请量。 3、 void setfree()定义主存回收函数:setfree(),使用tag1标识释放区的高地址是否邻接一个空闲区,tag2标识释放区的高低地址是否都邻接一个空闲区,tag3标识释放区的低地址是否邻接一个空闲区。 4、void adjust()定义对空闲区表中的空闲区调整的函数adjust(),使空闲区按始地址从小到大排列,空表目放在后面。 5、void print() 定义打印空闲区说明表函数:print()。(3)给出程序流程图和源程序,打印一份附有详细注释的源程序 (5)运行结果(4)收获体会及对该题解的改进意见和见解。1表示内存空闲块 0为空表目;1是分配块 2是回收块操作和理解都很简单 也很好玩;和别人讨论会很有效果 交换思维申请XK主存J=0J=J+1查看第J个表目的登记项NY开 始图3-2 首次适应算法分配框图状态为“未分配”吗?长度=XK?YJ为空闲区说明表的最后一个表目?小于N置状态为“空表目”等于将空表目向后移长度长度XK始址始址+XK大于登记已分配区表和空闲区表,输出系统中各数据结构的值。返回分配给作业的主存始址。作业等待返
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽保安员考试题库及答案
- 标准化合同范本与审批流程工具
- 农贸市场管理软件采购合同
- 家庭农场综合经营承包合同
- 社区初级考试题库及答案
- 采购合同审查与验收标准流程表
- 钣金工技能考试题及答案
- 天津高铁安检考试题及答案
- 乌鲁木齐物理课标考试真题及答案
- 诏安中考模拟考试题目及答案
- 污水零直排工作专题汇报
- 2025-2030年中国财税服务行业市场深度调研及发展前景与投资研究报告
- 2025至2030年中国工业控制软件行业市场运行态势及前景战略研判报告
- 2024年12月27日山西省临汾市纪委遴选面试真题及答案解析
- 开发资质质量管理制度
- 骨科常见并发症预防及护理
- 学校食堂家长开放日活动上校长讲话:一起为孩子们的“舌尖安全”把好关
- 肺结核防治知识培训课件
- 物流客服管理制度
- 脑出血的教育宣教
- 综合布线工程安全技术交底
评论
0/150
提交评论