资源简介
广工操作系统的实验源程序以及可执行文件,外加实验报告都齐全了~希望对苦逼的娃有帮助
代码片段和文件信息
#include “stdio.h“
#include
#include
#define getpch(type) (type*)malloc(sizeof(type))//用getpch(type)给type类型的变量申请一个空间
struct pcb{//定义进程控制块PCB
char name[10];//进程名字
char state;//进程状态
int ntime;//进程需要运行的时间
int rtime;//进程已经运行的时间
struct pcb* link;//下一个进程控制块的地址
}*ready=NULL *p;//ready为结构体指针指向空,p指向正被调度的进程
typedef struct pcb PCB;//定义PCB为struct pcb 的别名
void sort()//建立进程的排序函数
{
PCB *first;
if(ready == NULL)//就绪队列为空时
{
p->link = ready;//当前进程插入队头
ready = p;
}
else
{
first = ready;//通过while循环使first指针指向队尾
while(first->link != NULL)
{
first = first->link;
}
first->link = p;//p进程放在队尾
}
}
void input() //建立进程控制块函数
{
int inum;
printf(“请输入进程总数:“);
scanf(“%d“&num);
for(i = 0; i < num; i++)
{
printf(“进程号NO.%d:\n“i);
p = getpch(PCB);//为p申请空间
printf(“输入进程名:“);
scanf(“%s“p->name);
printf(“输入进程运行时间:“);
scanf(“%d“&p->ntime);
printf(“\n“);
p->rtime = 0;
p->state = ‘W‘;
p->link = NULL;
sort();
}
}
int space() //查看进程个数
{
int l = 0;
PCB *pr = ready;
while(pr != NULL)
{
l++;
pr = pr->link;
}
return(l);//返回进程个数
}
void disp(PCB *pr) //建立进程显示函数,用于显示当前进程
{
printf(“\n 进程名\t 当前状态\t 进程尚需要时间\t 进程已运行时间\n“);
printf(“ %s \t\t“pr->name);
printf(“ %c \t\t“pr->state);
printf(“ %d \t\t“pr->ntime);
printf(“ %d \t\t“pr->rtime);
printf(“\n“);
}
void check() //建立进程查看器
{
PCB *pr;
printf(“\n当前正在运行的进程是:%s“p->name);
disp(p);
pr = ready;
printf(“\n当前就绪队列状态为:\n“); //显示就绪队列状态
while(pr != NULL)
{
disp(pr);
pr = pr->link;
}
}
void destroy()
{
printf(“\n进程[%s] 已完成\n“p->name);
free(p);
}
void running(PCB *p)
{
while(p->rtime < p->ntime)//当进程已运行的时间小于需要运行的时间时
{
p->state = ‘R‘;//将进程的状态仍置为R
(p->rtime)++;//该进程继续占用CPU直到该进程完成
}
disp(p);//调用disp函数
destroy();//销毁执行完毕的进程
}
void main()
{
int len h = 0;
char ch;
input();
len = space();
while((len != 0) && (ready != NULL))
{
ch = getchar();//接受回车
h += ready->ntime;
printf(“\n执行时间:%d\n“h);
p = ready;//将队首指针赋给P
ready = p->link;//ready指向原p的下一个进程
p->state = ‘R‘;//p开始运行
check();
running(p);
printf(“\n按任一键继续...“);
ch = getchar();
}
printf(“\n\n进程已完成。\n“);
ch = getchar();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 982528 2013-06-17 13:34 ZZLOS\实验四 主存空间的分配与回收\实验四 主存空间的分配与回收.doc
文件 193024 2013-06-17 13:33 ZZLOS\实验二作业调度(ZZL)\实验二作业调度报告\文档 1.doc
文件 193024 2013-06-17 13:32 ZZLOS\实验一进程调度实验\实验一、进程调度实验报告\文档 1.doc
目录 0 2012-11-28 14:47 ZZLOS\
目录 0 2012-11-28 14:46 ZZLOS\实验一进程调度实验\
目录 0 2012-10-28 23:48 ZZLOS\实验一进程调度实验\FIFO(ZZL)\
目录 0 2012-10-28 23:47 ZZLOS\实验一进程调度实验\FIFO(ZZL)\Debug\
文件 184382 2012-10-28 23:47 ZZLOS\实验一进程调度实验\FIFO(ZZL)\Debug\FIFO.exe
文件 188536 2012-10-28 23:47 ZZLOS\实验一进程调度实验\FIFO(ZZL)\Debug\FIFO.ilk
文件 11203 2012-10-28 23:47 ZZLOS\实验一进程调度实验\FIFO(ZZL)\Debug\FIFO.obj
文件 186792 2012-10-28 22:53 ZZLOS\实验一进程调度实验\FIFO(ZZL)\Debug\FIFO.pch
文件 451584 2012-10-28 23:47 ZZLOS\实验一进程调度实验\FIFO(ZZL)\Debug\FIFO.pdb
文件 33792 2012-10-28 23:47 ZZLOS\实验一进程调度实验\FIFO(ZZL)\Debug\vc60.idb
文件 53248 2012-10-28 23:47 ZZLOS\实验一进程调度实验\FIFO(ZZL)\Debug\vc60.pdb
文件 2694 2012-10-28 23:47 ZZLOS\实验一进程调度实验\FIFO(ZZL)\FIFO.c
文件 4258 2012-10-28 23:48 ZZLOS\实验一进程调度实验\FIFO(ZZL)\FIFO.dsp
文件 516 2012-10-28 22:52 ZZLOS\实验一进程调度实验\FIFO(ZZL)\FIFO.dsw
文件 33792 2012-10-28 23:48 ZZLOS\实验一进程调度实验\FIFO(ZZL)\FIFO.ncb
文件 48640 2012-10-28 23:48 ZZLOS\实验一进程调度实验\FIFO(ZZL)\FIFO.opt
文件 876 2012-10-28 23:47 ZZLOS\实验一进程调度实验\FIFO(ZZL)\FIFO.plg
目录 0 2012-11-28 14:45 ZZLOS\实验一进程调度实验\实验一、进程调度实验报告\
文件 275456 2012-10-29 16:22 ZZLOS\实验一进程调度实验\实验一、进程调度实验报告\FIFO.doc
文件 375808 2012-10-31 11:10 ZZLOS\实验一进程调度实验\实验一、进程调度实验报告\时间片轮转.doc
目录 0 2012-10-29 17:27 ZZLOS\实验一进程调度实验\时间片轮转(ZZL)\
目录 0 2012-10-29 17:25 ZZLOS\实验一进程调度实验\时间片轮转(ZZL)\Debug\
文件 33792 2012-10-29 17:25 ZZLOS\实验一进程调度实验\时间片轮转(ZZL)\Debug\vc60.idb
文件 45056 2012-10-29 17:25 ZZLOS\实验一进程调度实验\时间片轮转(ZZL)\Debug\vc60.pdb
文件 196682 2012-10-29 17:25 ZZLOS\实验一进程调度实验\时间片轮转(ZZL)\Debug\时间片轮转.exe
文件 207924 2012-10-29 17:25 ZZLOS\实验一进程调度实验\时间片轮转(ZZL)\Debug\时间片轮转.ilk
文件 11029 2012-10-29 17:25 ZZLOS\实验一进程调度实验\时间片轮转(ZZL)\Debug\时间片轮转.obj
文件 186780 2012-10-29 17:25 ZZLOS\实验一进程调度实验\时间片轮转(ZZL)\Debug\时间片轮转.pch
............此处省略48个文件信息
- 上一篇:水淼万能文章采集器V2.18.3.0破解版
- 下一篇:抖音自动评论引流脚本
相关资源
- Photoshop无法复制剪贴中文解决组件
- EJB网上订餐项目源代码
- catkin_ws.tar.gz ROS下实现图片ORB特征匹
- 最实用、最详细的Xcode4.3开发第一个
- nachos Lab4实习报告.pdf
- os-easy管理系统使用说明
- web打印POS小票机代码
- xcode 最新安装包 ios 11.2
- ISO7816全套协议1-15英文版
- ISO+IEC+9945-1-2003
- ITX-WD425-2(D3) VER3.3凌动D425主板BIOS文
- 1037U小主板BIOS编程器固件
- System_BIOS_v_ZA10A380_for_MicroServer_Gen10.z
- PhotoShop上机操作练习题
- 极限跳跃-源码
- 微星7850显卡UEFI BOIS及刷新工具 TV273
- 技嘉B150M-D3V全家桶 支持6.7.8.9代
- ucos_ii移植stm32f4官网代码资料
- OpenSceneGraph-3.4.0版本安装包
- cocos creator 扫雷游戏资源工程
- Cocos Creator 天天酷跑素材源码工程
- WSUS全攻略Microsoft® Windows Server® Upda
- 解决VM macOS Mojave 10.14无法全屏问题|
- Chibios源码
- 广工 软件项目管理课设
- ios for vmware
- 1037u 小主板备份的bios
- 六轴机器臂URDF文件
- Propositional and Predicate Calculus: A Model
- 华硕 ASUS K45VD 笔记本 主板高清原理图
评论
共有 条评论