操作系统课程设计 进程管理

发布 2022-10-05 13:31:28 阅读 7275

操作系统。

课程设计报告。

题目:专业:

班级: 姓名:

学号: 指导老师:

年月日。操作系统》课程设计任务书。

一、课程设计题目(任选一个题目)

1.模拟进程管理。

2.模拟处理机调度。

3.模拟存储器管理。

4.模拟文件系统。

5.模拟磁盘调度。

二、设计目的和要求。

1.设计目的。

操作系统原理》课程设计是计算机科学与技术专业实践性环节之一,是学习完《操作系统原理》课程后进行的一次较全面的综合练习。其目的在于加深对操作系统的理论、方法和基础知识的理解,掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。

2.基本要求:

1)选择课程设计题目中的一个课题,独立完成。

2)良好的沟通和合作能力。

3)充分运用前序课所学的软件工程、程序设计、数据结构等相关知识。

4)充分运用调试和排错技术。

5)简单测试驱动模块和桩模块的编写

6)查阅相关资料,自学具体课题中涉及到的新知识。

7)课题完成后必须按要求提交课程设计报告,格式规范,内容详实。

三、设计内容及步骤。

1.根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么。

2.根据实现的功能,划分出合理的模块,明确模块间的关系。

3.编程实现所设计的模块。

4.程序调试与测试。采用自底向上,分模块进行,即先调试低层函数。

能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;

5.结果分析。程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。

6.编写课程设计报告;

设计报告和实验报告要求:a4纸和实验报告册,详细设计部分主要叙述本人的工作内容。

设计报告的格式:

1)封面(题目、指导教师、专业、班级、姓名、学号)

2)设计任务书。

3)目录。4)需求分析。

5)概要设计。

6)详细设计(含主要**)

7)调试分析、测试结果。

8)用户使用说明。

9)附录或参考资料。

四、进度安排。

设计在第四学期的第1-18周(共18课时)进行,时间安排如下:

五、成绩评定办法。

成绩分为优(a)、良(b)、中(c)、及格(d)、不及格(e)五个等级。其中设计表现占30%,验收40%,设计报告占30%。

1.设计表现:教师可依据学生使用实验环境的能力、观察和分析实验现象的能力、实验结果和数据的正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2.验收:要求学生演示设计的程序,讲解设计思路、方法、解决的主要问题,教师根据具体情况向每个学生提问2至3个问题。

3.设计报告:学生设计后应按时完成设计报告和实验报告。要求:内容充实、写作规范、项目填写正确完整、书面整洁等。

一、 需求分析6

1.进一步理解进程的基本概念6

2.加强进程管理的设计及算法6

3.观察和管理进程6

二、 概要设计6

1.实验原理6

2.数据结构6

3. 算法描述6

4. 算法流程图7

三、 详细设计8

1.源程序**8

四、 调试分析及测试结果15

五、 用户及用说明17

六、 附录或参考资料17

一、需求分析。

1.进一步理解进程的基本概念。

2.加强进程管理中主要数据结构的设计及进程调度算法。

3.观察和管理进程——系统在运行过程中可显示或打印各进程的状态及有关参数的变化情况。

二、概要设计。

1.实验原理。

定义pcb的数据结构,用链表的形式管理进程,采用多级反馈队列调度的算法模拟进程的控制,最终完成有创建、撤销、调度、阻塞、唤醒进程等功能。

2.数据结构。

类:class queuenode

class queue

函数:void enqueue( char &item);

char dequeue();

void del(char item);

void display();

int find(char item);

int isempty()

3.算法描述。

1-1、创建进程,根据进程的顺序依次放入就绪队列。

2-1、执行进程——管理系统将就绪队列中的第一个进程调入运行队列;

2-2、将阻塞队列中进程调入就绪队列;

2-3、封锁进程——管理系统将就绪队列中的第一个进程调入阻塞队列;

2-4、结束进程——管理系统撤销所选进程;

2-5、结束程序。

4. 算法流程图。

三、详细设计。

1.源程序**。

#include<>

class queuenode

friend class queue;

private:

char data;

queuenode * link;

queuenode (char d=0,queuenode * l=null): data(d),link(l){}

class queue

public:

queue():rear(null),front(null){}

~queue();

void enqueue( char &item);

char dequeue();

void del(char item);

void display();

int find(char item);

int isempty()

private:

queuenode *front,*rear;

queue::~queue()

queuenode * p;

while(front!=null)

void queue::enqueue(char &item)

if(front==null)front=rear=new queuenode(item,null);

else rear=rear->link=new queuenode(item,null);

char queue::dequeue()

queuenode *p=front;

char f=p->data;front=front->link;

delete p;

return f;

void queue::display()

queuenode *p;

p=front;

while(p!=null)

cout<<"null";

queue::find(char item)

queuenode *w;

w=front;

m:while(w!=null)else

if(w==null) return 0;

void queue::del( char item)

queuenode *q,*b;

q=front;

while(q->data!=item)

b=q;q=q->link;

if(q==front)

else if(q==rear)

else void main()

int n;

char a;

cout<<"n操作系统之进程管理模拟系统(先来先服务算法n"< queue execute,ready,clog; /执行,就绪,阻塞。

cout<<"n[--请用户输入进程名及其到达cpu的顺序(结束进程数请输入x)--n"< char r;

r='x';

for(int i=0;;i++)

a: cout<<"n请(学号)用户(姓名)选择操作n";

cout<<"n [1、执行进程……2、将阻塞队列中进程调入就绪队列………n";

cout<<"n [3、封锁进程………4、结束进程n";

cout<<"n [5、退出程序n选项: "

cin>>n;

if(n==1)else

if(!

操作系统课程设计进程调度

批处理系统的作业调度模拟。一 课程设计目的。1 加深对作业概念的了解 2 深入了解批处理系统如何组织作业 管理作业和调度作业 3 巩固相关的理论知识 二 课程设计预备知识。1 作业控制块的概念和结构 2 作业的创建 3 作业的调度算法 4 c语言的相关知识。三 课程设计内容要求。1 编写程序完成批处...

操作系统模拟进程课程设计

本科实验课程报告。2016 至2017学年第 1 学期 课程名称 计算机组成原理。专业名称 计算机科学与技术 行政班级1410081 学号 141006125 姓名黄梦阳。指导教师李玉玲。报告时间 2016 年 12 月 4 日。实验一。实验地点实验日期成绩 1 实验目的。1 熟悉硬软件环境。2 学...

进程调度算法操作系统课程设计

操作系统原理。课程设计报告。题目 进程调度算法。班级 软件09 姓名 李宗仁 指导老师 张老师 进程调度算法。一 实验目的。通过优先权法与轮转调度算法的模拟加深对进程概念和进程调度过程的理解,掌握进程状态之间的切换,同时掌握进程调度算法的实现方法和技巧。二 实验内容。1 用c语言或c 语言来实现对n...