365文库
登录
注册
2

合肥师范学院操作系统实验项目三

89阅读 | 4收藏 | 4页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
合肥师范学院操作系统实验项目三第1页
合肥师范学院操作系统实验项目三第2页
合肥师范学院操作系统实验项目三第3页
合肥师范学院操作系统实验项目三第4页
福利来袭,限时免费在线编辑
转Pdf
right
1/4
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
翻滾於鬼火 上传于:2024-07-07
实验项目三 进程调度 实验目的 理解进程控制块和进程组织方式; 掌握时间片轮转调度算法实现处理机调度。 实验内容 建立合理的PCB数据结构,建立含有8个进程结点的就绪队列,每个进程的要求运行时间随机产生,要求每个进程的要求运行时间不大于15。 设置时间片大小(3~6),使用时间片轮转调度算法实现处理机调度。 源程序及运行结果 源程序: #include #include #include #define LEN sizeof(PCB) #define tp 5 #define NUM 8 int main() { struct PCB { int name; int runtime; int runedtime; int killtime; struct PCB *next; }; typedef struct PCB PCB; int i; PCB *runqueue;//运行队列指针 PCB *top,*tail,*temp;//就绪队列指针 srand((int)time(0)); for(i=0;iname=i; temp->runtime=rand()%15; temp->runedtime=0; temp->next=NULL; temp->killtime=0; if(i==0) { top=temp; tail=temp; } else { tail->next=temp; tail=temp; } printf("process name %d, runtime=%d, runedtime=%d,killtime=%d
", tail->name,tail->runtime,tail->runedtime,tail->killtime); } while(top!=tail) { runqueue=top; top=top->next; runqueue->next=NULL; runqueue->runtime=runqueue->runtime-tp; if(runqueue->runtime<=0) {runqueue->killtime=runqueue->runtime+tp; runqueue->runedtime=runqueue->runedtime+runqueue->killtime; printf("process name %d, runtime=%d, runedtime=%d,killtime=%d
", runqueue->name,runqueue->runt
tj