c语言实现作业调度算法实验报告,进程控制与调度算法实验报告

实验一 进程控制与调度算法

1、实验目的

1、理解进程的概念,明确进程和程序的区别;

2、掌握进程控制方法;

3、掌握进程调度算法。

2、实验要求

1、编写程序,模拟实现以下功能:

创建新的进程;查看运行进程;查看就绪进程;查看阻塞进程;阻塞某个进程;显示全部进程;唤醒进程;撤销进程。

2、在以上程序的基础上,创建5-10个进程(进程数任选)。分别计算先来先服务调度算法、短进程优先调度算法、优先级调度算法、高响应比优先调度算法下进程的执行顺序,以及平均周转时间和平均带权周转时间。

3、实验环境

使用的是visual Studio2013,编程语言选用的是C语言。

4、实验内容

首先需要创建一个PCB的结构体。

472.html

然后根据PCB的结构体,编写创建进程的相关函数,并进行测试。

472.html

在创建进程的基础上,编写查看运行进程的相关函数等其他相关函数

472.html

然后在主函数中进行模拟测试,结果正确并且逻辑无问题,表示测试成功。

然后编写先来先服务调度算法,首先会根据进程的到达时间,对进程进行排序

然后再计算进程的开始运行时间、完成时间、周转时间、带权周转时间和进程的算法执行次序,还有平均周转时间和平均带权周转时间。

然后对主函数进行了一些优化,变成了如下的选择模式:

472.html

在创建进程后,执行先来先服务FCFS算法,结果如下:

472.html

5、实验总结

一开始不太懂如何去做,不停的去借鉴别人的代码,在CSDN上大概看了有十几个人的代码分享后,于是终于写出了自己的几百行代码。

首先遇到的是VS2013执行C语言会出现闪退问题,于是引入了#include之后,在main函数的最后写入system("pause");将其解决。

然后遇到的是scanf不安全的错误,也通过百度解决了

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值