操作系统实验一进程调度.pdfVIP

  • 24
  • 0
  • 约8.7千字
  • 约 8页
  • 2020-07-22 发布于江苏
  • 举报
. 洛阳理工学院实验报告 系别 计算机系 班级 B150403 学号 姓名 姜明 课程名称 计算机操作系统 实验日期 2017.11.10 实验名称 实验一 进程调度 成绩 实验目的: 通过本次实验,加深对进程概念的理解,进一步掌握进程状态的转变及进程 调度策略。 实验条件:微机一台,操作系统: windows 7,编程环境: Microsoft Visual Studio 2010 。 实验原理: 设计程序模拟进程的时间片轮转法调度过程。假设初始状态为:有 ready 个 进程处于就绪状态,有 blocked 个进程处于阻塞状态。采用轮转法进程调度算法 进行调度 ( 调度过程中,假设处于执行状态的进程不会阻塞 ) ,且每过 counter 个 时间片,唤醒处于阻塞队列队首的进程。 实验内容: #includestdio.h #includemalloc.h #includewindows.h #define TRUE 1 #define FALSE 0 typedef struct PCB_type { char name; // 进程名 int state; // 进程状态 //2-- 表示 执行 状态 //1-- 表示 就绪 状态 //0-- 表示 阻塞 状态 int CPU_time; // 运行需要的 CPU时间(需要运行的时间片个数) }PCBcontrol; typedef struct QueueNode // 定义结点 { PCBcontrol PCB; . . struct QueueNode *next; } LinkQueueNode; typedef struct Queue // 定义队列 { LinkQueueNode * head; LinkQueueNode * tail; } LinkQueue; void fuzhi(PCBcontrol *PCB1,PCBcontrol *PCB2); LinkQueue rq,bq,runq; int deleteState=0; int ready=2; int blocked=3; int counter=5; int createQueue(LinkQueue *Q) // 队列初始化 { /* 将 Q初始化为一个空的链队列 */ Q-head=(LinkQueueNode*)malloc(sizeof(LinkQueueNo

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档