Linux操作系统课程设计—进程调度-优先数法与简单轮转法 下载本文

内容发布更新时间 : 2024/5/4 6:40:13星期一 下面是文章的全部内容请认真阅读。

《操作系统原理》 课程设计报告

word文档 可自由复制编辑

目录

一、 《操作系统原理》课程设计的目的与要求 .......................................................................... 3

1、 目的 .................................................................................................................................. 3 2、 要求 .................................................................................................................................. 3 二、 简述课程设计内容、主要功能和实现环境 ...................................................................... 3

1. 课程设计内容 ...................................................................................................................... 3 三、 任务的分析、设计、实现和讨论 ...................................................................................... 3

1、 任务的分析 ...................................................................................................................... 3 2、 任务的设计与实现 .......................................................................................................... 4 五、 附录 .................................................................................................................................... 12

word文档 可自由复制编辑

进程调度—优先数法与简单轮转法

一、 《操作系统原理》课程设计的目的与要求

1、 目的

进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。本实习要求学生独立地用高级语言编写和调试一个简单的进程调度程序。调度算法可任意选择或自行设计。任务一采用简单轮转法,任务二采用优先数法等。本课题可以加深对进程调度和各种调度算法的理解。

2、 要求 (1) 设计一个有n个进程并发的进程调度程序。每个进程由一个进程控制块(PCB)表示。进程控制块一般应该包含下述信息:进程名、进程优先数、进程需要运行的时间、占用CPU的时间以及进程的状态等,且可按调度算法的不同而增删。 (2) 调度程序应包含2种不同的调度算法,运行时可任意选一种,以利于各种算法的分析比较。 (3) 算法应能显示或打印各个进程的PID、状态(运行状态R、等待状态W等)和参数(已运行时间等)的变化情况,便于观察诸进程的调度过程

进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。本实习要求学生独立地用高级语言编写和调试一个简单的进程调度程序。调度算法可任意选择或自行设计。任务一采用简单轮转法,任务二采用优先数法等。本课题可以加深对进程调度和各种调度算法的理解。

二、 简述课程设计内容、主要功能和实现环境

1. 课程设计内容

进程调度是处理机管理的核心内容。本实验要求用C语言编写和调试一个简单的进程调度程序。选用优先数法或简单轮转法对五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假设起始状态都是就绪状态W。为了便于处理,程序进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机数发生器产生。通过本实验可以加深理解有关进程控制块、进程队列的概念,并体会和了解优先数和时间片轮转调度算法的具体实施办法。

2. 主要功能

本程序可选用优先数法或简单轮转法对五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假设起始状态都是就绪状态W。为了便于处理,程序进程的运行时间以时间片为单位计算。

3. 实现环境

本次课程设计结合算法的特点,采用Windows操作系统平台。开发工具为Microsoft Visual C++6.0。

三、 任务的分析、设计、实现和讨论

1、 任务的分析

本程序可选用优先数法或简单轮转法对五个进程进行调度。每个进程处于运行R(run)、就绪W(wait)和完成F(finish)三种状态之一,并假设起始状态都是就绪状态W。为了便于处理,程序进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数、以及进程需要运行的时间片数,均由伪随机数发生器产生。

下面介绍优先数法和简单轮转法两种进程调度算法:

word文档 可自由复制编辑