学号。姓名。
班级。指导教师。
报告日期:
通过对操作系统课程的学习,熟悉进程的概念、进程的管理与存储、进程的调度,通过实践深入理解进程的调度算法。
要求编写一个程序,可以创建若干个虚拟进程,并对若干个虚拟进程进行调度,调度策略为时间片轮转法,主要任务包括:
进程的个数,进程的内容(即进程的功能序列)**于一个进程序列描述文件,另外调度运行结果输出到一个运行日志文件;
设计pcb适用于时间片轮转法;
建立进程队列;
实现时间片轮转调度算法,尽量可视化的展示调度的动态过程。
', altimg': w': 28', h':
20', eqmath': o\\ac(○,5)'}总结程序设计的开发过程:需求分析、系统设计、系统实现及文档的收集和整理。
每个进程有一个进程控制块( pcb)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用cpu时间、进程状态等等。
进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为输入进程的时间。
进程的运行时间以时间片为单位进行计算。
每个进程的状态可以是就绪 w(wait)、运行r(run)、或完成f(finish)三种状态之一。
就绪进程获得 cpu后都只能运行一个时间片。用已占用cpu时间加1来表示。
如果运行一个时间片后,进程的已占用 cpu时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用cpu时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待cpu。
每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的 pcb,以便进行检查。
重复以上过程,直到所要进程都完成为止。
是。#include ""
#include <>
#include <>
#include <>
#include <>
#include
#include
using namespace std;
ofstream myfile(""ios::app||ios::trunc);
typedef struct node
char name[10];/进程名*/
int round; /进程分配的时间片*/
int cputime; /进程消耗的cup时间*/
int needtime; /进程需要的cup时间*/
int count; /进程运行时间*/
char state; /进程的状态:'r':运行,'w':等待,'f':结束*/
struct node *next;/*指向下一个进程的指针*/
pcb;pcb *finish,*ready,*tail,*run;/*指向三个队列的队首的指针,tail为就绪队列的队尾指针*/
int n;/*定义进程的数目*/
void firstin(void)
if(ready!=null)else
void prt1(char a)
cout<<"name" myfile<<"count ";myfile<<"round";myfile<<"state"< void prt2(char a,pcb *p) cout myfile myfile void prt(char algo) pcb *p; prt1(algo); if(run!=null) p=ready; while(p!=null) p=finish; while(p!=null) getchar(); void insert(pcb *q) void rcreate_task(char algo) pcb *p; int n,time; char na[10]; ready=null; finish=null; run=null; cout<<"请输入进程数目n:"; cin>>n; for(n=0;n else run=ready; ready=ready->next; run->state='r'; cout<<"创建成功。"< void chakan(char algo) if(run->count==run->round) prt(algo); void roundrun(char algo) while(run!=null) run->cputime=run->cputime+1; run->needtime=run->needtime-1; run->count=run->count+1; if(run->needtime==0) run->next=finish; finish=run; run->state='f'; run=null; if(ready!=null) firstin(); 西安郵電大學。院系名称 计算机学院。专业名称 软件工程。班级 1104 学生姓名 赵大伟。学号 8位 04113124 指导教师 舒新峰。设计起止时间 2013.11.10 2013.11.20 1 通过观察 分析实验现象,深入理解进程及进程在调度执行和内存空间等方面的特点,掌握在posix 规范中... 课程设计。课程名称操作系统。题目名称多级文件系统 2 学生学院计算机学院 专业班级。学号。学生姓名。指导教师。年月日。目录。一 课程设计 6 二 开发工具及环境 6 三 设计内容 6 四 结构图 8 五 部分 9 六 运行截图 11 七 参考文献 15 八 心得体会 15 本课程设计要求设计一个模拟... 实验一进程管理。一 实验目的。1 开发一个函数,建立进程控制块和资源控制块结构,并实现相关数据结构的初始化。2 开发一系列操作,由进程调用这些操作,达到控制进程申请或释放各种资源的目的。通过实验理解进程的概念,进程的组成 pcb结构 进程的并发执行和操作系统进行进程管理的相关原语 主要是进程的创建 ...操作系统课程设计报告
操作系统课程设计报告
操作系统课程设计报告