操作系统实验报告 实验一 进程管理

操作系统实验报告 实验一 进程管理


2024年4月21日发(作者:)

实验一 进程管理

一、目的

进程调度是处理机管理的核心内容..本实验要求编写和调试一个简单的进程调度程序..通过本实验

加深理解有关进程控制块、进程队列的概念;并体会和了解进程调度算法的具体实施办法..

二、实验内容及要求

1、设计进程控制块PCB的结构PCB结构通常包括以下信息:进程名进程ID、进程优先数、轮转

时间片、进程所占用的CPU时间、进程的状态、当前队列指针等..可根据实验的不同;PCB结构的内容

可以作适当的增删..为了便于处理;程序中的某进程运行时间以时间片为单位计算..各进程的轮转时间数

以及进程需运行的时间片数的初始值均由用户给定..

2、系统资源r

1

…r

w

;共有w类;每类数目为r

1

…r

w

..随 机产生n进程

P

i

id;sj;k;t;0<=i<=n;0<=j<=m;0<=k<=dt为总运行时间;在运行过程中;会随机申请新的资源..

3、每个进程可有三个状态即就绪状态W、运行状态R、等待或阻塞状态B;并假设初始状态为就绪

状态..建立进程就绪队列..

4、编制进程调度算法:时间片轮转调度算法

本程序用该算法对n个进程进行调度;进程每执行一次;CPU时间片数加1;进程还需要的时间片数减

1..在调度算法中;采用固定时间片即:每执行一次进程;该进程的执行时间片数为已执行了1个单位;这

时;CPU时间片数加1;进程还需要的时间片数减1;并排列到就绪队列的尾上..

三、实验环境

操作系统环境:Windows系统..

编程语言:C..

四、实验思路和设计

1、程序流程图

1

开始

对进程进行初始化;建立就绪队列、阻塞队列..Input

触发时钟;调用时间片轮转调度算法..runFcfs

就绪队列为空

结束

输出就绪队列和阻塞队列的信

息..outputall

取就绪队列的第一个进程;判断其运行的时间片

是否达到所需次数..如果达到;则释放资源

如果没达到;则运行一个时间片..running

检查阻塞队列;对于当前资源数目满足阻塞队列的进程;

由阻塞转入就绪队列..testblock

检查是否有新进程产生;如果有;则判断系统资源是否够

用;如果够用;则分配给该进程;插入就绪队列..如果不够

用;则插入阻塞队列..testnew

显示三类资源情况..rescore

2


发布者:admin,转转请注明出处:http://www.yc00.com/news/1713675872a2296282.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信