操作系统实验处理器调度
操作系统实验处理器调度是计算机科学中的一项重要实验,旨在帮助学生深入了解处理器调度的工作机理和实现方式。本实验主要分为两个部分:按优先数调度和时间片轮转法调度。
一、按优先数调度
在按优先数调度中,每个进程都被赋予一个优先数,系统会根据进程的优先数来决定哪个进程应该首先占用处理器。在实验中,学生需要设计一个按优先数调度算法,实现处理器调度。该算法的实现步骤如下:
1. 首先,假定系统有五个进程,每个进程用一个进程控制块(PCB)来代表。进程控制块的格式包括进程名、指针、要求运行时间、优先数和状态等信息。
2. 在每次运行处理器调度程序之前,为每个进程任意确定它的优先数和要求运行时间。
3. 把五个进程按给定的优先数从大到小连成队列,用指针指出队列的连接情况。
4. 处理器调度总是选取队首进程运行,并采用动态改变优先数的办法,进程每运行一次优先数就减1。
5. 进程运行一次后,若要求运行时间为0,则再将它加入队列(按优先数大小插入,且置队首标志) ;若要求运行时间=0,则把它的状态修改成“结束”,且退出队列。
6. 若“就绪”状态的进程队列不为空,则重复上述步骤,直到所有进程都成为“结束”状态。
7. 在所设计的程序中应有显示或打印语句,能显示或打印每次被选中进程的进程名以及运行一次后进程队列的变化。
二、时间片轮转法调度
在时间片轮转法调度中,每个进程都被分配一个时间片,系统会根据时间片来决定哪个进程应该占用处理器。在实验中,学生需要设计一个时间片轮转法实现处理器调度的程序。该程序的实现步骤如下:
1. 首先,假定系统有五个进程,每个进程用一个进程控制块(PCB)来代表。进程控制块的格式包括进程名、指针、要求运行时间、已运行时间和状态等信息。
2. 在每次运行处理器调度程序之前,为每个进程任意确定它的要求运行时间。
3. 把五个进程按顺序排成循环队列,用指针指出队列连接情况。另用一标志单元记录轮到运行的进程。
4. 处理器调度总是选择标志单元指示的进程运行,并执行已运行时间+1来模拟进程的一次运行。
5. 进程运行一次后,应把该进程的进程控制块中的指针值送到标志单元,以指示下一个轮到运行的进程。
通过本实验,学生可以深入了解处理器调度的工作机理和实现方式,掌握按优先数调度和时间片轮转法调度的算法和实现步骤,提高自己的编程能力和解决问题的能力。