201课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统课程设计报告

提交日期: 2014 年 6 月 17 日

目录

目录项

1.课程设计的目的和要求 (1)

1.1课程设计的目的 (1)

1.2课程设计的要求 (1)

1.3课程设计的任务 (1)

2.问题定义与需求分析 (2)

3.概要设计 (4)

4.详细设计 (5)

5.调试和测试 (17)

5.1调试过程 (17)

5.2测试过程 (17)

6.小结 (23)

参考文献 (24)

附录:(源代码) (25)

1.课程设计的目的和要求

1.1课程设计的目的

《操作系统》是一门重要的专业基础课,在计算机软硬件课程的设置上,它起着承上启下的作用。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。操作系统的核心概念和主要算法的掌握。

操作系统课程设计的主要任务是强化学生对本课程基础知识的掌握;加深学生对操作系统的基本概念、工作原理和典型算法的理解;使学生对系统的组织和运作机制有一个较全面的认识;提高学生通过编程求解问题的能力;巩固和加强与本课程相关的其他计算机课程的知识,提高对计算机专业知识理解的系统性和完整性。

1.2课程设计的要求

1、要求学生已有先导课程《数据结构》和一门高级程序设计语言的基础。

2、由学生选择操作系统课程中所涉及的基本原理与典型算法,并通过模拟的方式来实现,进而深刻理解操作系统的基本概念和系统运行机制。

3、人员、题目分配:各班分成小组,每组1~2人,每组一题。每个小组根据所选题目独立完成设计、开发、调试与测试,实现题目要求的功能。

4、代码及报告提交

1)能够实现课程设计的目标,根据选题内容设计出运行稳定的程序,保证系统功能较为完善,对问题的描述应正确无误;

2)写出操作系统课程设计总结报告,可包括:课程设计各阶段的详细过程;系统主要功能和使用说明;提供较直观的性能分析和测试记录,说明对不同算法进行比较的情况;课程设计的收获和体会;解决和尚未解决的问题,进一步完善的设想与建议。

3)根据以上内容,提交如下材料:a.源程序 b.课程设计报告。源程序以班级为单位集中上交刻录光盘,每名学生一个文件夹,课程设计报告上交纸质文稿。

4)开发环境与语言可自行选择,Visual VC++6.0、VB、Delphi7、PowerBuild9.0、Visual Studio .NET、GCC等。

1.3课程设计的任务

课程设计一共给了五道大题,我选做的是第一道大题,其详细描述如下

1.作业/进程调度算法的模拟(5个子题目)

设计目的:

熟悉各种作业/进程调度算法的原理。

设计要求:

用高级语言编写和调试实现不同的作业/进程调度算法的程序。

设计内容:

该题目实现对调度算法的模拟,分为5个子题目:

1)先来先服务调度算法;

2)短作业优先调度算法;

3)高优先权调度算法;

4)高响应比优先算法;

5)基于时间片的轮转调度算法。

由用户输入等待调度的作业信息,选择调度算法,显示出根据相应算法进行调度的运行结果

2.问题定义与需求分析

2.1算法核心思想:

2.1.1 先来先服务调度算法

先来先服务调度算法是一种最简单的调度算法,该算法既可以用于作业调度,也可用于进程调度。当在作业调度中采用该算法时,每次调度都是从后备作业队列中选择一个或多个最先进入该队列的作业,将他们调入内存,为它们分配资源、创建进程,然后放入就绪队列。在进程调度中采用FCFS算法时,则每次调度是从就绪队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行。该进程一直运行到完成或发生某事件而阻塞后才放弃处理机。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。

2.1.2 短作业(进程)优先调度算法

短作业(进程)优先调度算法SJ(P)F,是指对短作业或短进程优先调度的算法。它们可以分别用于作业调度和进程调度。短作业优先(SJF)的调度算法是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。而短进程(SPF)调度算法则是从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机再重新调度。SJ(P)F调度算法能有效地降低作业(进程)的平均等待时间,提高系统吞吐量。该算法对长作业不利,完全未考虑作业的紧迫程度。

2.1.3 高优先权优先调度算法

为了照顾紧迫型作业,是指在进入系统后便获得优先处理,引入了最高优先权优先调度算法。此算法常被用于批处理系统中,作为作业调度算法。当把该算法用于作

业调度时,系统将从后备队列中选择若干个优先权最高的作业装入内存,当用于进程调度时,概算打是把处理机分配给就绪队列中另一个优先权最高的进程。这种调度算法是把处理

2.1.4 高响应比优先调度算法

在批处理系统中,短作业优先算法是一种比较好的算法,其主要不足之处是长作业的运行得不到保证。如果我们能为每个作业引人动态优先权,并使作业的优先级随着等待时间的增加而以速率a提高,则长作业在等待一定的时间后,必然有机会分配到处理机。

该优先权的变化规律可描述为:

优先权=(等待时间+要求服务时间)/要求服务时间

即:

优先权=响应时间/要求服务时间

如果作业的等待时间相同,则要求服务的时间越短,其优先权越高,因而该算法有利于短作业。当要球服务的时间相同时,作业的优先权决定于其等待时间,等待时间越长,优先权越高,因而它实现的是先来先服务对于长作业,作业的优先级可以随着等待时间的增加而提高,当其等待时间足够长时,其优先级便可以升到很高,从而也可获得处理机。

2.1.5 时间片轮转算法

在时间片轮转算法中,系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片。当执行的时间片用完时,由一个计数器发出时钟中断请求,调度程序便据此信号来停止该进程的执行,并将它送往就绪队的末尾;然后,再把处理机分配给就绪队列中新的队首进程,同时也让它执行一个时间片。这样就可以保证就绪队列中的所有进程在一给定的时间内均能获得一时间片的处理机执行时间。换言之,系统能在给定的时间内响应所有用户的请求。

设计五个算法分别是先来先服务算法、短进程优先算法、高优先权优先算法、高响应比优先算法、时间片轮转算法,实现对进程的调度并输出。

2.2 需求分析

(1) 进程数输入,其中输入的进程数范围0-10.

(2) 假如输入的进程个数不在0-10的范围中会有一个错误提示;

(3) 当输入进程如下表所示时:

相关文档
最新文档