
操作系统进程调度实验报告。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
一、本次实践旨在通过使用高级编程语言,对进程调度程序进行编写和调试,从而更深入地掌握进程的概念以及各种进程调度算法的原理。二、实习任务要求设计并实现一个模拟的进程调度程序,并采用“轮转法”算法来管理五个进程的调度过程。该轮转法可以包括简单轮转法、可变时间片轮转法,或多队列轮转法。简单轮转法的核心在于,所有就绪进程按照先到先处理(FCFS)的原则排列在一个队列中,处理器始终分配给队列的最前面的进程,每个进程所使用的时钟片的时间长度相同。如果一个运行中的进程在耗尽其时钟片后仍未完成执行,则该进程将被重新送回就绪队列的末尾,处理器重新分配给队列的最前面的进程,持续进行直至所有进程均已完成运行。三、在编程方面,建议采用结构体来定义和表示每个进程的信息。具体而言,应将所有进程组织成一个循环链表结构,以便能够逐个遍历和处理每个进程。当某个进程的所需运行时间恰好等于其已经占用的CPU时间时,表明该进程已经完成执行,因此应将其从循环链表中移除相应的节点,然后继续处理链表中下一个未完成的进程。这个过程将持续进行直至所有已存在的进程均已执行完毕。四、为了更好地组织程序数据结构, 建议使用如下结构体定义: `struct pcb{ char name[10]; /* 进程名 */ char state; /* 进程状态 */ int ntime; /* 完成进程所需时间 */ int rtime; /* 已占用CPU时间 */ struct pcb *link; /* 结构体指针 */ } *ready=NULL,*p;typedef struct pcb PCB;
全部评论 (0)
还没有任何评论哟~


