计算机网络技术 计算机信息管理系统 其它计算机 课程设计 网络工程 信息化工程学 电子工程学毕业论文 计算机应用毕业论文 数据库毕业论文 计算机硬件 计算机 电子商务 计算机通信计算机软件
返回首页

[计算机操作系统实验报告] 操作系统实验报告之进程调度

时间:2008-04-14 09:13来源: 作者: 点击:
[目录]
一、实验简要
二、实验内容
三、实验结果
四、实验体会
五、程序源代码

[原文]
1、 实验目的和要求
进程调度是处理机管理的核心内容。本实验要求用C语言编写和调试一个简单的进程调度程序。通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先数和时间片轮转调度算法的具体实施办法。
二、 报告主要内容
1、 设计思路
  ○1 设计进程进程控制块PCB表结构,分别适用于优先数调度算法和循环轮转调度算法。
         PCB结构通常包括以下信息:进程名,进程优先数(或轮转时间片),进程所占用的CPU时间,进程的状态,当前队列指针等。根据调度算法的不同,PCB结构的内容可以作适当的增删。
      ○2 建立进程就绪队列。对两种不同算法编制入链子程序。
○3 编制两种进程调度算法:1)优先度调度;2)循环轮转调度。
○1 本程序用两种算法对五个进程进行调度,每个进程可有三个状态,并假设初始状态为就绪状态。
      ○2 为了便于处理,程序中的运行时间以时间片为单位计算,各进程的优先数或轮转时间数以及进程需要运行的时间片数的初值均由用户给定。
○3 在优先数算法中,初始优先数为50-NEEDTIME,进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1,在轮转算法中,采用固定时间片,时间片数为2,进程每执行1次,CPU时间片数加2,进程还需要的时间数减2,并排列到就绪队列的尾上。
2、 主要数据结构
typedef struct _Person
{
HANDLE m_hThread;//定义处理线程的句柄
int    m_nType;//进程类型(读写)
int    m_nStartTime;//开始时间
int    m_nWorkTime;//运行时间
int    m_nID;//进程号
}Person;
3、 主要代码结构
int    g_NumOfReading = 0;
int    g_NumOfWriteRequest = 0;//申请写进程的个数
......

[参考资料]
参考文献
计算机操作系统——清华大学出版社
何炎祥 李飞 李宁 编著
操作系统基础——清华大学出版社
屠立德 屠祁 编著


(责任编辑:毕业设计论文网)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片