操作系统课程设计报告

发布 2022-10-05 12:41:28 阅读 1850

学院:班级:姓名:

指导教师:011年6月24日。

目录。1. 需求分析。

2. 功能设计。

3. 开发平台及源程序主要部分...

4. 程序测试。

5. 自我评价及总结。

1.需求分析。

1.1设计目的。

1.阅读操作系统的处理机管理章节内容,对进程调度的功能以及进程调度算法有深入的理解。

2.掌握一种计算机高级语言的使用。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

1.2设计要求。

1.能够选择不同的调度算法(要求中给出的调度算法);

2.能够输入进程的基本信息,如进程名、优先级、到达时间和运行时间等;

3.根据选择的调度算法显示进程调度队列;

4.根据选择的调度算法计算平均周转时间和平均带权周转时间。

2. 功能设计。

2.1数据结构。

1.进程的结构定义:

struct process

char name[10进程名。

int no进程序号。

double arrivetime; /进程到达时间。

double needtime进程运行时间。

int state进程状态。

int priority进程优先级。

double starttime; /进程开始执行时间。

double endtime进程执行完毕时间。

process *next;

2.使用链表储存进程并按照到达时间排列顺序。

void insert(process *current)

if(head!=null)

如果至少有两个结点。

elseelse head=current;

2.2先来先服务算法设计。

2.2.1创建进程。

void createfcfs()

process *q1=new process;

cout<<"请输入进程总数目";

cin>>count;

cout< int number=1;

while(number<=count)

2.2.2进程调度及输出结果。

void printfcfs()

process *p=new process;

double systime=0;//记录系统时间。

double turn=0;//平均周转时间。

double turnw=0;//平均带权周转时间。

if(head==null) cout<<"没有进程调度"< 处理第一个。

else if(head!=null)

cout< process *temp=head;

while(temp!=null)

cout<<"平均周转时间"< 清空链表。

while(head->next!=null)

head=null;

2.3优先级算法设计。

2.3.1创建进程。

void createprio()

process *q1=new process;

cout<<"请输入进程总数目";

cin>>count;

cout< int number=1;

while(number<=count)

2.3.2按优先级大小重新排序,把最先到达的进程排在链头。

void changeprio()

把最先到达的放到链头,然后后面的结点按照优先级来排序。

排序的前提是结点数至少是3个。

从第二个开始和后面的比较。

if(count>2)

2.3.3输出调度结果。

void printprio()

process *p=new process;

double systime=0;//记录系统时间。

double turn=0;//平均周转时间。

double turnw=0;//平均带权周转时间。

if(head==null) cout<<"没有进程调度!"

先把最先到达的输出,然后再根据系统时间和优先级判断后续的进程。

head->starttime=head->arrivetime;

head->endtime=head->arrivetime+head->needtime;

head->state=1;

systime=head->endtime;

turn=turn+(head->endtime-head->arrivetime);

操作系统课程设计报告

西安郵電大學。院系名称 计算机学院。专业名称 软件工程。班级 1104 学生姓名 赵大伟。学号 8位 04113124 指导教师 舒新峰。设计起止时间 2013.11.10 2013.11.20 1 通过观察 分析实验现象,深入理解进程及进程在调度执行和内存空间等方面的特点,掌握在posix 规范中...

操作系统课程设计报告

课程设计。课程名称操作系统。题目名称多级文件系统 2 学生学院计算机学院 专业班级。学号。学生姓名。指导教师。年月日。目录。一 课程设计 6 二 开发工具及环境 6 三 设计内容 6 四 结构图 8 五 部分 9 六 运行截图 11 七 参考文献 15 八 心得体会 15 本课程设计要求设计一个模拟...

操作系统课程设计报告

实验一进程管理。一 实验目的。1 开发一个函数,建立进程控制块和资源控制块结构,并实现相关数据结构的初始化。2 开发一系列操作,由进程调用这些操作,达到控制进程申请或释放各种资源的目的。通过实验理解进程的概念,进程的组成 pcb结构 进程的并发执行和操作系统进行进程管理的相关原语 主要是进程的创建 ...