《进程管理_实验报告一流程图.docx》由会员分享,可在线阅读,更多相关《进程管理_实验报告一流程图.docx(7页珍藏版)》请在第一文库网上搜索。
1、实验一课程名称:操作系统课程类型:必修实验项目名称:进程管理实验题目:短作业优先算法、动态可剥夺优先数算法和基本循环轮转算法。一、实验目的进程是操作系统最重要的概念之一,进程调度又是操作系统核心的主要内容。本实验要求学生独立的用高级语言编写和调试一个简单的模拟进程调度的程序。通过本实验,加深学生理解有关进程控制块、进程队列的概念,并体会和了解短作业优先、优先数和时间片轮转调度算法的具体实施办法。二、实验要求及实验环境(1)设计一个有n个进程的进程调度程序(具体个数可由键盘输入)。每一个进程用一个进程控制块PCB来代表。PCB中应包含下列信息:进程名、进程优先数、进程的状态、进程需要运行的时间及
2、利用CPU运行的时间等。进程的个数、各进程的优先数、轮转时间片数以及进程运行需要地时间可由键盘输入。(2)调度程序应包含23种不同的调度算法,运行时可任选一种。(3)每个进程处于运行RUn、就绪ready和完成Finish三种状态之一,假定初始状态都为就绪状态ready。(也可没有FiniSh状态,可以在设计程序时实现处以FiniSh状态的进程删掉)。(4)系统能显示各进程状态和参数的变化情况。(5)动态可剥夺优先数算法是:在创建进程时给定一个初始的优先数,当进程获得一次CPU后其优先数就减少1如果就绪队列中有优先级更高的将剥夺运行中的进程。三、设计思想(本程序中的用到的所有数据类型的定义,主
3、程序的流程图及各程序模块之间的调用关系)1 .程序流程图(见下图)2 .逻辑设计使用链表表示就绪队列,每个元素包括进程名、进程优先数、进程的状态、进程需要运行的时间及利用CPU运行的时间等信息。该结构需支持以下操作:取头节点,在表尾插入节点,删除头节点,判断表空。为此,至少引入3个指针变量:头指针HEAD和活动指针p、qo3、物理设计structpcbcharname10;intpriority;intstate;intneedtime;intruntime;structpcb*next;*用此结构体来模拟一个进程*/图1-1主程序的流程图图12短作业优先算法的流程图图1-3动态可剥夺优先数算法的流程图(结束)开始图1-4循环轮转算法的流程图