计算机系统与系统软件课程设计任务书

计算机系统与系统软件课程设计任务书
计算机系统与系统软件课程设计任务书

《计算机系统与系统软件》课程设计任务书

一、课程设计目的

《计算机系统与系统软件》课程设计是计算机类专业的集中实践性环节之一,是学习完《计算机系统与系统软件》课程后进行的一次全面的综合练习。其目的在于加深对操作系统课程的理解,使学生更好地掌握操作系统的基本概念、基本原理、及基本功能,理解操作系统在计算机系统中的作用、地位和特点,具有分析实际操作系统,设计、构造和开发现代操作系统的基本能力,为今后从事的各种实际工作,如设计、分析和改进各种系统软件和应用软件提供必要的软件理论基础。

二、课程设计内容及要求

课程设计要求:

每位同学从下述设计任务中任选一个任务完成,上机验收运行结果,现场提问,并提交所完成该任务的课程设计报告。

实验要求:

1)上机前认真使用C语言编写好程序,采用Visual C++6.0作为编译环境;

2)上机时独立调试程序

3)上机验收运行结果,现场提问

4)根据具体任务要求,提交课程设计实验报告,报告内容包括:课程设计目的、内容、基本原理、模块划分、数据结构、算法设计、程序流程图(包括主程序流程图、模块详细设计流程图等)、以及算法源码(必须有相关注释,以有助于说明问题为宜,不得全盘打印而不加任何注释)、心得体会等。

设计内容一页式虚拟存储管理页面置换算法

1.目的和要求

在熟练掌握计算机虚拟存储技术的原理的基础上,利用一种程序设计语言模拟实现几种置换算法,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础

2.实验内容

阅读教材《计算机操作系统》第四章,掌握存储器管理相关概念和原理。

模拟实现页式虚拟存储管理的三种页面置换算法(OPT、FIFO和LRU),并通过比较性能得出结论。

前提:

(1)页面分配采用固定分配局部置换。

(2)作业的页面走向和分得的物理块数预先指定。可以从键盘输入也可以从文件读入。

(3)置换算法的置换过程输出可以在显示器上也可以存放在文件中,但必须清晰可读,便于检验。

3.实验环境

Windows操作系统、VC++6.0、C语言

4.实验提示

(1)基础知识

存储管理是操作系统进行资源管理的一个重要功能。现代操作系统广泛采用虚

拟存储的技术对内存进行扩充。实现虚拟存储的一个主要技术手段就是将辅存和主存统一管理,在二者之间进行对换,从而形成物理上两级而逻辑上一级的存储管理系统。一个置换算法的好坏对这个逻辑上的单级虚存的性能起着极其重要的作用,而且会影响处理机的调度性能。

对于本任务规定的前提:页面分配采用固定分配局部置换,则置换发生的时机是作业已经将操作系统分配的固定数目的物理块全部用完且发生缺页的时候。此时必须要将已经装入内存的部分逻辑页面换出以便将所缺的页面调入内存。置换算法就是一个决定将内存中“哪一个”页面换出的算法。

(2)数据结构

要模拟实现某一个置换算法,有如下一些对象需要用相关的数据结构来描述:

●作业的页面走向(执行过程中对页面的访问顺序)。可以用数组也可以用字

符串。如果用数组,则页面走向的长度受数组长度限制,如果用字符串,

则需要将字符串进行解析,将字符串经过解析处理后变成一个页面的排列

顺序。考虑最佳置换算法(“向前看”)和其他置换算法(“向后看“)

的特点。

●页框(作业分得的物理块)。由于作业分得的物理块数在置换算法执行之前

已经确定,可以用一些比较简单的数据结构实现。在综合置换算法的原理,

可以灵活采用相应的数据结构,尽可能使程序的时间复杂度最低。如对于

FIFO,队列最合适,对于LRU,则数组和堆栈都比较合适,采用不同的数

据结构还要配合在数据结构上的相应操作才行。

(2)功能模块划分

大体上可以将整个程序的模块划分成如下几个部分:

1)主模块:主要是初始化、界面和模块调用。

2)页面走向输入模块。(从键盘读入数据结构或将页面走向写入文件)

3)置换算法模块。

* 判断模块。决定换出哪一块。每一种置换算法对应一种判断算法。

* 调整模块。根据判断模块的结果,调整作业分得物理块集合中逻辑页面的情况。

* 置换过程输出模块(在显示器上显示或写入文件)。该模块每发生一次置换,由置换算法模块调用一次。

*……………….

除此之外,有些反复执行的操作考虑用过程或函数实现。总而言之,整个程序应该结构清晰,界面友好,可读性好,易调试,易扩充,易维护。

设计内容二虚拟存储管理(请求分页存储管理)

1.目的和要求

存储管理的主要功能之一是合理的分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是:通过编写和调试请求页式存储管理中页面置换算法的模拟程序以加深对存储管理方案的理解,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换方法;通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。

2.实验内容

阅读教材《计算机操作系统》第四章,掌握存储器管理相关概念和原理。

(1)用C语言实现对分页式存储管理中的硬件的地址转换和产生缺页中断。

(2)设计页表。

分页式虚拟存储系统是把作业的副本存放在磁盘上,当作业被选中时,可把作业的开始几页先装入主存且启动执行。为此,在为作业建立页表时,应说明哪些页已在主存,哪些页尚未装入主存,页表的格式为:

页号标志主存块号在磁盘上的位置

可根据页面置换算法的不同,页表构的内容可以作适当的增删。

(3)地址计算。

作业执行时,指令中的逻辑地址指出了参加运算的操作数存放的页号和单元

号,硬件的地址转换机构按页号查页表,若该页对应标志为“1”,则表示该页已在主存,这时根据关系式:

绝对地址=块号*块长+单元号

计算出欲访问的主存单元地址。按计算出的绝对地址可以取到操作数,完成一条指令的执行。若访问的页标志为“0”,则表示该页不在主存,这时硬件发“缺页中断”信号,由OS按该页在磁盘上的位置,把该页信息从磁盘读出装入主存后再重新执行这条指令。

(4)设计“地址转换”程序模拟硬件的地址转换工作。

当访问的页在主存时,则形成绝对地址,但不去模拟指令的执行,而用输出转换后的地址来代替一条指令的执行。当访问的页不在主存时,则输出“*该页页号”,表示产生了一次缺页中断,执行缺页中断程序。该模拟程序的算法如图1.2所示。

(5) 缺页中断模拟。

如果访问页不在主存且页表未满,则调入一页并打印页表情况;如果该页不在主存且页表已满,则产生缺页中断,模拟算法如图1.3所示。

实验中采用FIFO算法进行页面淘汰。把在主存的页的页号按进入主存的先后次序排成队列,每次总是调出队首页。用数组存放页号的队列。若分配给该作业的物理块数为m,则数组由m个元素组成,p[0],p[1]……p[m-1],队首指针head,队尾指针tail。当装入新页时,将其页号装入数组。

3.实验环境

Windows操作系统、VC++6.0、C语言

4.实验主要步骤:

1. 启动C语言环境,新建文件。

2. 假定主存的每块长度为128个字节;现有一个共七页的作业,其中的第0页至第3页已经装入主存,其余三页未装入主存;该作业的页表为:

(+, 0, 070)、(+, 1, 050)、(*, 2, 015) 、(存, 3, 021)、(取, 0, 056)、(—, 6, 040)、(移位, 4, 053)、(+, 5, 023)、(存, 1, 037)、(取, 2, 078)、(+, 0, 070)、(+, 4, 001)、(存, 6, 084)。

运行设计的地址转换程序,显示或打印运行结果。因仅模拟地址转换,并不模拟指令的执行,故可不考虑上述指令序列中的操作。

3. 编写程序运行。

设计内容三模拟实现可变分区存储管理

1.目的和要求

在熟练掌握计算机分区存储管理方式的原理的基础上,利用一种程序设计语言模拟实现操作系统的可变分区存储管理的功能,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。

2.实验内容

设计合理的数据结构来描述存储空间:对于未分配出去的部分,可以用空闲分区队列来描述,对于已经分配出去的部分,由装入内存的作业占据,可以将作业组织成链表或数组。

实现分区存储管理的内存分配功能,要求选择至少两种适应算法(如首次适应

算法,循环首次适应算法,最佳适应算法,最坏适应算法)。

实现分区存储管理的内存回收算法:要求能够正确处理回收分区与空闲分区的四种邻接关系。

当碎片产生时,能够进行碎片的拼接。

3.实验环境

Windows操作系统、VC++6.0、C语言

4.实验提示

(1)基础知识

分区存储管理是操作系统进行内存管理的一种方式。现代操作系统广泛采用多道程序设计的技术来提高系统吞吐量和内存的利用率。由于可变分区存储管理将一个连续的作业装入一片大小与作业恰好相等的内存中,因而地址变换的算法简单,需要的硬件支持少,变换效率高。但是最大的缺点是随着作业不断地进出内存,会将内存逐渐分割成一些大小很小而数目较多的小块,而且一块中仅能容纳一道作业,导致内存利用率较低。分区存储管理的另一个缺点是由于必须将整个作业的逻辑地址空间全部装入内存作业才可以开始运行,因而这种存储管理的方式无法实现内存的扩充。

(2)数据结构

要模拟实现可变分区存储管理,有如下一些对象需要用相关的数据结构来描述:

●内存中没有被存储管理程序分配给作业的部分,属于空闲内存,要求以分

区为单位进行统一管理以合理分配。包括对分区的描述(结构体)和对多

个分区的组织(表格或链表)。

●对于内存中已经分配给作业的那部分内存,当作业完成后应该将占据的内

存归还给系统,以便进行再分配。因此必须对已分配分区进行描述和组织,

以便进行内存的回收。

(2)功能模块划分

大体上可以将整个程序的模块划分成如下几个部分:

1)主模块:主要是初始化(设置物理内存的用户区的大小,选取适应算法)和界面,界面参考如下:

2

3)内存回收算法(考虑四种邻接情况,尤其是采用最佳(坏)适应算法时的分区合并)

4)碎片拼接算法

5)空闲分区队列显示

6)作业队列显示

除此之外,有些反复执行的操作考虑用过程或函数实现。总而言之,整个程序应该结构清晰,界面友好,可读性好,易调试,易扩充,易维护。

设计内容四模拟实现算法多级反馈队列进程调度算法

1.目的和要求

在熟练掌握计算机处理机调度原理的基础上,利用一种程序设计语言模拟实现

多级反馈队列进程调度算法,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。

2.实验内容

模拟实现算法多级反馈队列进程调度算法,并分析其调度效果。

前提:

?调度算法中采用至少4级队列,每级队列的时间片大小预先指定。

?由于只是模拟实现,调度的对象—进程实际上并不包括程序和数据,而仅仅包括一个PCB数据结构,用PCB来代表一个进程,调度算法调度的对象只包括进程的PCB.处理机的切换通过将PCB在运行指针和就绪队列之间进行移动来实现。又因为进程的组成只有PCB,没有程序和数据,因而进程只有运行和就绪两种状态,没有等待状态。

?为避免显示结果超过一屏,调度结果要求写入文件中以方便检验。

3.实验环境

Windows操作系统、VC++6.0、C语言

4.实验提示

(1)基础知识

由于处理机是计算机系统中最宝贵和稀有的资源,因而处理机调度是操作系统进行资源管理的一个重要功能。现代操作系统广泛采用多道程序设计的技术来提高系统吞吐量,提高程序的并发度和资源利用率。特别是进程调度程序,由于其运行频率高,更加要求调度算法简单,高效,系统开销小,进程切换快,可以说,调度算法的好坏直接影响整个计算机系统的性能。

多级队列调度算法是一种动态优先数调度算法。对于普通的优先调度算法,如

何确定进程优先级以真实地反映进程运行的紧迫程度是一个难题,但在多级队列调度算法中,可以预先规定优先级一样可以获得好的性能。该算法实际上综合了两种调度算法:队列内部是FCFS,队列之间是优先调度。

(2)数据结构

最核心的数据结构就是进程的逻辑结构。

进程中必须包括的内容很多(参见教材PCB部分的定义),为了简化起见,可以略去一些与本模拟调度算法关系不大的一些信息。请同学们自行设计,要求能够实现本调度算法即可。

(2)功能模块划分

大体上可以将整个程序的模块划分成如下几个部分:

1)主模块:主要是初始化(队列的级数和每级队列的时间片大小)和界面,可参考如下:

2

3)调度算法实现

4)显示多级队列中的就绪进程

……………….

除此之外,有些反复执行的操作考虑用过程或函数实现。总而言之,整个程序应该结构清晰,界面友好,可读性好,易调试,易扩充,易维护。

设计内容五模拟实现银行家算法实现死锁避免

1.目的和要求

在熟练掌握死锁发生原理和解决死锁问题的基础上,利用一种程序设计语言模拟实现利用银行家算法实现死锁避免,一方面加深对原理的理解,另一方面提高学

生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。

2.实验内容

模拟实现银行家算法实现死锁避免。要求:初始数据(如系统在T0时刻的资源分配情况、每一种资源的总数量)从文本文件读入,文件中给出最大需求矩阵Max、分配矩阵Allocation,在程序中求得需求矩阵Need和可利用资源向量Available。

3.实验环境

Windows操作系统、VC++6.0

C语言

4.实验提示

银行家算法中的数据结构:

1.可利用资源向量Available 是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源数目。其数值随该类资源的分配和回收而动态地改变。

2.最大需求矩阵Max是—个n×m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=k,表示进程i需要Rj类资源的最大数目为k。

3.分配矩阵Allocation是一个n×m的矩阵,它定义了系统中每一类资源当前已分配给每个进程的资源数。如果Allocation[i,j]=k,表示进程i当前已分得Rj 类资源的数目为k。

4.需求矩阵Need是一个n×m的矩阵,用以表示每一个进程尚需的各类资源数,如果Need[i,j]=k,表示进程i还需要Rj类资源k个,方能完成其任务。

三矩阵间存在下述关系:Need[i,j] = Max[i,j]- Allocation[i,j]

银行家算法:

设Request i是进程P i的请求向量。如果Request i[j]=k,表示进程P i只需要k 个R j类型的资源。当P i发出资源请求后,系统按下述步骤进行检查:

(1)如果Request i[j]<=Need[i,j],则转向步骤2;否则,认为出错,因为它所需要的资源数已超过它所宣布的最大值。

(2)如果Request i[j]<=Available[j],则转向步骤3;否则,表示系统中尚无足够的资源,P i必须等待。

(3)系统试探把要求的资源分配给进程P i,并修改下面数据结构中的数值:

Available[j]:= Available[j] - Requesti[j];

Allocation[i,j] := Allocation[i,j] + Requesti[j];

Need[i,j] := Need[i,j] - Requesti[j];

(4)系统执行安全性算法,检查此次资源分配后,系统是否处于安全状态。若安全,才正式将资源分配给进程P i,以完成本次分配;否则,将试探分配作废,恢复原来的资源分配状态,让进程P i等待。

安全性算法:

(1)设置两个向量

①、工作向量Work表示系统可提供给进程继续运行所需要的各类资源数目,它含有m个元素,执行安全算法开始时,Work := Available。

②、Finish表示系统是否有足够的资源分配给进程,使之运行完成,开始时先做Finish[i]:=false ;当有足够资源分配给进程时,令Finish[i]:=true 。

(2)从进程集合中找到一个能满足下述条件的进程:

①Finish[i]:=false ②Need[i,j]<=work[j]

如找到,执行步骤(3);否则,执行步骤(4)。

(3)当进程P i获得资源后,可顺利执行,直至完成,并释放出分配给它的资源,故应执行:

Work[j]:= Work[j]+ Allocation[i,j] ;

Finish[i]:=true

go to step 2;

(4)如果所有进程的Finish[i]=true,则表示系统处于安全状态;否则,系统处于不安全状态。

设计内容六模拟进程调度

1.目的和要求

在熟练掌握进程状态的转变、进程调度的策略、进程调度的过程等原理的基础上,利用一种程序设计语言模拟实现进程调度的过程,进一步体会多道程序并发执行的特点,并分析具体的调度算法的特点,掌握对系统性能的评价方法,一方面加深对原理的理解,另一方面提高学生通过编程根据已有原理解决实际问题的能力,为学生将来进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。

2.实验内容

阅读教材《计算机操作系统》第二章和第三章,掌握进程管理及调度相关概念和原理。编写程序模拟实现进程的两种以上调度算法的调度过程,模拟程序只对PCB进行相应的调度模拟操作,不需要实际进程。假设初始状态为:有n个进程处于就绪状态,有m个进程处于阻塞状态。采用进程调度算法进行调度(调度过程中,假设处于执行状态的进程不会阻塞),且每过t个时间片系统释放资源,唤醒处于阻塞队列队首的进程。

程序要求如下:

1)输出系统中进程的调度次序;

2)计算CPU利用率。

3.实验环境

Windows操作系统、VC++6.0、C语言

4.实验提示

用C语言实现提示:

1)程序中进程可用PCB表示,其类型描述如下:

struct PCB_type

{

int pid ; //进程名

int state ; //进程状态

2——表示“执行”状态

1——表示“就绪”状态

0——表示“阻塞”状态

int cpu_time ; //运行需要的CPU时间(需运行的时间片个数)

}

2)设置两个队列,将处于“就绪”状态的进程PCB挂在队列ready中;将处于“阻塞”状态的进程PCB挂在队列blocked中。队列类型描述如下:struct QueueNode{

struct PCB_type PCB;

Struct QueueNode *next;

}

并设全程量:

struct QueueNode *ready_head=NULL, //ready队列队首指针

*ready_tail=NULL , //ready队列队尾指针

*blocked_head=NULL, //blocked队列队首指针

*blocked_tail=NULL; //blocked队列队尾指针

3)设计子程序:

start_state(); //读入假设的数据,设置系统初始状态

dispath(); //模拟调度

calculate(); //计算CPU利用率

4)测试用数据:

n=2

m=3

t=5

轮转法调度过程dispath()算法流程图:

三、课程设计说明书的编写规范

写出课程设计说明书。说明书中除了在封面应有题目、班级、姓名、学号和课程设计日期、地点以外,其正文一般应包括:课程设计目的、内容、基本原理、模块划分、数据结构、算法设计、程序流程图(包括主程序流程图、模块详细设计流程图等)、以及部分算法源码(必须有相关注释,以有助于说明问题为宜,不得全盘打印而不加任何注释)、心得体会等。

四、成绩评定方法

由指导教师根据学生完成任务的情况、课程设计说明书的质量和课程设计过程中的工作态度等综合打分。

1. 课程设计报告及平时:50%

包括报告内容的全面性、正确性,文字表述的准确性和条理性,以及书写的工整程度等(30%)。平时主要包括考勤和操作练习的实际情况(20%)

2. 设计末考核:50%

包括上机验收结果和现场提问结果。

操作系统课程设计

课程设计报告 2015~2016学年第一学期 操作系统综合实践课程设计 实习类别课程设计 学生姓名李旋 专业软件工程 学号130521105 指导教师崔广才、祝勇 学院计算机科学技术学院 二〇一六年一月

- 1 -

- 2 -

一、概述 一个目录文件是由目录项组成的。每个目录项包含16B,一个辅存磁盘块(512B)包含32个目录项。在目录项中,第1、2字节为相应文件的外存i节点号,是该文件的内部标识;后14B为文件名,是该文件的外部标识。所以,文件目录项记录了文件内、外部标识的对照关系。根据文件名可以找到辅存i节点号,由此便得到该文件的所有者、存取权、文件数据的地址健在等信息。UNIX 的存储介质以512B为单位划分为块,从0开始直到最大容量并顺序加以编号就成了一个文件卷,也叫文件系统。UNIX中的文件系统磁盘存储区分配图如下: 本次课程设计是要实现一个简单的模拟Linux文件系统。我们在内存中开辟一个虚拟磁盘空间(20MB)作为文件存储器,并将该虚拟文件系统保存到磁盘上(以一个文件的形式),以便下次可以再将它恢复到内存的虚拟磁盘空间中。文件存储空间的管理可采用位示图方法。 二、设计的基本概念和原理 2.1 设计任务 多用户、多级目录结构文件系统的设计与实现。可以实现下列几条命令login 用户登录 logout 退出当前用户 dir 列文件目录 creat 创建文件 delete 删除文件 open 打开文件 close 关闭文件 - 3 -

read 读文件 write 写文件 mkdir 创建目录 ch 改变文件目录 rd 删除目录树 format 格式化文件系统 Exit 退出文件系统 2.2设计要求 1) 多用户:usr1,usr2,usr3,……,usr8 (1-8个用户) 2) 多级目录:可有多级子目录; 3) 具有login (用户登录)4) 系统初始化(建文件卷、提供登录模块) 5) 文件的创建:create (用命令行来实现)6) 文件的打开:open 7) 文件的读:read8) 文件的写:write 9) 文件关闭:close10) 删除文件:delete 11) 创建目录(建立子目录):mkdir12) 改变当前目录:cd 13) 列出文件目录:dir14) 退出:logout 新增加的功能: 15) 删除目录树:rd 16) 格式化文件系统:format 2.3算法的总体思想 - 4 -

计算机网络课程设计任务书通信091

山东建筑大学课程设计任务书 指导教师(签字):教研室主任(签字): 年月日

山东建筑大学课程设计指导书 课程名称:数据通信与计算机通信网课程设计 设计题目:某办公楼局域网系统设计 使用班级:通信091指导教师:庄华伟 计算机网络就是利用通信设备和线路将处于不同地理位置的、功能独立的多个计算机系统连接起来,以功能完善的网络软件(即网络通信协议、网络操作系统等)实现网络资源共享和信息传递的系统。开发某办公楼局域网系统设计的总体目标主要是:本课程注重提高通信工程专业学生的网络设计和应用能力。开设课程设计的目的,就是将理论与实践有机结合起来,通过课程设计,使学生进一步巩固和加强对理论的理解和认识,同时提高学生的实际操作能力要求分析出各种需要的功能并进行总结,具体设计步骤: 1.系统需求分析,对系统的各种需要功能进行分析论证。 2.IP地址的分配,采用DHCP技术。 这需要为服务器添加一项DHCP服务,这个服务能自动提供给每台客户机一个安全、唯一的IP地址。具体包括:安装DHCP、创建DHCP作用域、配置DHCP服务、客户端的DHCP网络配置等。 3.网络传输媒体的选择,交换机类型选择 1). 网络传输媒体的选择具体包括:有线传输介质(同轴电缆、双绞线、光纤)和无线传输介质 2). 交换机类型选择,局域网交换机是交换式局域网的核心设备,交换机属于OSI模型中数据链路层设备,它的功能与局域网桥相近,由多端口的网桥发展而来,在这里要选择一款具体类型的交换机,指明型号及相关参数。 4.网络操作系统的选择,采用Windows NT操作系统 Microsoft的Windows NT Server 4.0中文版(以下简称Windows NT Server 4.0)是一个局域网操作系统。它是一个具有很强联网功能的32位操作系统,支持与Windows 9X相同的API接口,能够兼容Windows 9X中的32位应用程序(如Office 95)。它同时具有与Windows 9X类似的用户界面,因此可以减少学习时间与费用。也可以将Windows NT Server 4.0用作个人计算机操作系统,直接在其上运行各种应用软件。 5.DNS以及HTTP服务器的设置 DNS服务器是(Domain Name System或者Domain Name Service)域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名地址,该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。 7.中心机房位置选择,网络布线,网络连通性测试 中心机房位置选择应该选择楼宇中心位置;使用Cisco Packet Tracer软件进行网络布线,模拟网络运行的任何细节,自动捕获各种类型的数据包,分析IP数据包的结构,更加直观的学习网络协议、分析网络性能;采用防火墙技术。 其他各个模块功能分析可以参照这部分格式完成,写在设计说明书中。希望同学们尽量自己能设计出其他模块或者将以上模块重新划分(可以合并或拆分某些模块)。8.总体方案总结,撰写设计说明书。

操作系统课程设计报告书

题目1 连续动态内存管理模拟实现 1.1 题目的主要研究内容及预期达到的目标 (1)针对操作系统中内存管理相关理论进行设计,编写程序并进行测试,该程序管理一块虚拟内存。重点分析三种连续动态内存分配算法,即首次适应算法、循环首次适应算法和最佳适应算法。 (2)实现内存分配和回收功能。 1.2 题目研究的工作基础或实验条件 (1)硬件环境:PC机 (2)软件环境:Windows XP,Visual C++ 6.0 1.3 设计思想 首次适应算法的实现:从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。为适应这种算法,空闲分区表中的空闲分区要按地址由低到高进行排序。该算法优先使用低址部分空闲区,在低址空间造成许多小的空闲区,在高址空间保留大的空闲区。 循环首次适应算法的实现:在分配内存空间时,不再每次从表头开始查找,而是从上次找到空闲区的下一个空闲开始查找,直到找到第一个能满足要求的的空闲区为止,并从中划出一块与请求大小相等的内存空间分配给作业。该算法能使内存中的空闲区分布得较均匀。 最佳适应算法的实现:从全部空闲区中找到能满足作业要求的、且最小的空闲分区,这种方法能使碎片尽量小。为适应此算法,空闲分区表中的空闲分区要按从小到大进行排序,从表头开始查找第一个满足要求的自由分配。 1.4 流程图 内存分配流程图,如图1-1所示。

图1-1 内存分配流程图内存回收流程图,如1-2所示。

图1-2 内存回收流程图 1.5 主要程序代码 (1)分配内存 void allocate(char z,float l) { int i,k; float ad; k=-1; for(i=0;i= l && free_table[i].flag == 1) if(k==-1 || free_table[i].length

软件综合课程设计任务书

软件综合课程设计任务书

————————————————————————————————作者: ————————————————————————————————日期: ?

软件综合课程设计任务书 一、课程设计的目的、要求 目的:软件综合课程设计是一个综合性的设计型实验教学环节,旨在使学生通过软件开发的实践训练,进一步掌握设计开发软件的方法与技术,学会数据的组织方法,提高软件开发的实际能力,培养创造性的工程设计能力和分析、解决问题的能力。 实现以下目标: 1.深化已学的理论知识,完成理论到实践的转化 通过软件开发的实践,进一步加深对软件工程方法和技术的了解,将所学的理论知识运用于开发实践中,并在实践中逐步掌握软件工具的使用。 2. 提高分析和解决实际问题的能力 课程设计不仅是一次软件工程实践的模拟训练,同时通过软件开发的实践,积累经验,提高分析问题和解决问题的能力; 3. 培养“开拓创新”能力 大力提倡和鼓励在开发过程中使用新方法、新技术,激励学生实践的积极性和创造性,开拓思路,设计新算法、新创意,培养创造性的工程设计能力; 要求:学生组成开发小组(2~4人),以小组为单位选择并完成一个规模适度的软件项目,在教师的指导下以软件设计为中心,独立完成从需求分析到软件测试的开发过程。 二、设计步骤安排 1.确定课题 由教师命题并给出各课题的具体需求,学生根据课题涉及的知识领域及自己对该领域的熟悉程度和对该课题的兴趣,选择课题,经教师调整审定后确定; 2. 需求分析 建立系统的分析模型,这是系统开发的重要阶段。主要工作是: 分析确定系统应具备的功能、性能,并从经济上、技术上进行可行性分析,建立“需求分析模型”确定开发计划。 3. 软件设计 具体工作是:对系统的分析模型进行修改、细化,进行系统的结构设计,用户界面设计,数据管理部件设计(若系统涉及到数据库,要对数据库结构进行设计) 4. 编码与测试 根据项目的应用领域及语言的特点,选择编程语言进行编码,要求给出程序的详细注释(包括模块名、模块功能、中间过程的功能及变量说明); 由开发小组进行除验收测试以外的测试工作(包括单元测试、组装测试与系统(确认)测试)。所有测试过程都要求采用综合测试策略,先进行静态分析,再进行动态测试。要求制定测试计划、记录测试过程与结果、保留测试用例、写出测试报告。 5. 验收测试 由教师组织验收测试的实施,内容包括:系统能否正确运行,实际系统与设计方案是否一致,是否实现了需求所确定的功能与性能,系统设计有无特色,算法有无创新,系统结构是否合理、新颖,系统界面是否友好、美观,操作是否简单,使用是否方便。6.总结和整理课程设计报告

操作系统课程设计报告

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级: 13软件工程1班 提交时间: 2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。

二、环境条件 系统: WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。

(4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

操作系统课程设计完整版内含代码

操作系统课程设计LRU页面调度算法 学号: 姓名: 学院: 专业: 班级: 指导老师: 日期:

目录 一、实验题目 (1) 二、课程设计的目的 (1) 三、设计内容 (1) 四、设计要求 (1) 五、设计思想 (1) 六、主要数据结构及其说明 (2) 七、硬件支持 (3) 八、源程序文件 (3) 九、程序运行结果 (7) 十、实验体会 (8)

一实验题目 LRU页面调度算法 二课程设计的目的 操作系统课程设计是计算机专业重要的教学环节,它为学生提供了一个既动手又动脑,将课本上的理论知识和实际有机的结合一起,独立分析和解决实际问题的机会。 1.进一步巩固和复习操作系统的基础知识。 2. 培养学生结构化程序、模块化程序设计的方法和能力。 3.提高学生调试程序的技巧和软件设计的能力。 4.提高学生分析问题、解决问题以及综合利用C语言进行程序设计的能力。 三设计内容 程序应模拟实现LRU算法思想,对n个页面实现模拟调度。 四设计要求 1.不同的功能使用不同的函数实现(模块化),对每个函数的功能和调用接口要注释清楚。对程序其它部分也进行必要的注释。 2.对系统进行功能模块分析、画出总流程图和各模块流程图。 3.用户界面要求使用方便、简洁明了、美观大方、格式统一。所有功能可以反复使用,最好使用菜单。 4.通过命令行相应选项能直接进入某个相应菜单选项的功能模块。 5.所有程序需调试通过。 五设计思想 最近最久未使用(LRU)页调度算法是选择最近最久未使用的页面予以淘汰。 算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当所要访问的页面在内存块中时,就不淘汰页面,否则,淘汰页面中时间最长的,即淘汰最近最久未使用的页面。

操作系统课程设计报告

上海电力学院 计算机操作系统原理 课程设计报告 题目名称:编写程序模拟虚拟存储器管理 姓名:杜志豪.学号: 班级: 2012053班 . 同组姓名:孙嘉轶 课程设计时间:—— 评语: 成绩: 目录 一、设计内容及要求 (4) 1. 1 设计题目 (4) 1.2 使用算法分析: (4)

1. FIFO算法(先进先出淘汰算法) (4) 1. LRU算法(最久未使用淘汰算法) (5) 1. OPT算法(最佳淘汰算法) (5) 分工情况 (5) 二、详细设计 (6) 原理概述 (6) 主要数据结构(主要代码) (6) 算法流程图 (9) 主流程图 (9) Optimal算法流程图 (10) FIFO算法流程图 (10) LRU算法流程图 (11) .1源程序文件名 (11) . 2执行文件名 (11) 三、实验结果与分析 (11) Optimal页面置换算法结果与分析 (11) FIFO页面置换算法结果与分析 (16) LRU页面置换算法结果与分析 (20) 四、设计创新点 (24) 五、设计与总结 (27)

六、代码附录 (27) 课程设计题目 一、设计内容及要求 编写程序模拟虚拟存储器管理。假设以M页的进程分配了N

块内存(N

操作系统课程设计报告

课程设计说明书 设计题目:操作系统课程设计 班级:信息学管理与信息系统2011级 学号: 2 姓名:克乾

山东科技大学2013年12 月11 日

课程设计任务书 学院信息科学与工程专业信息学管理与信息系统班级2011-2 克乾 一、课程设计题目:操作系统课程设计 二、课程设计主要参考资料 (1)Abraham Silberschatz & Peter Baer Galvin & Greg Gagne. Operating System Concepts(第七版影印版). 高等教育. 2007.3. (2)c++面向对象程序设计电子工业 (3)计算机操作系统(第三版)电子科技大学 三、课程设计应解决的主要问题: (1)CPU调度算法的模拟实现 (2)死锁相关算法的实现 (3)磁盘调度算法的实现 四、课程设计相关附件(如:图纸、软件等): (1)程序源代码 (2) 五、任务发出日期:2013-10-1 课程设计完成日期:2014-1-1

指导教师签字:

指导教师对课程设计的评语成绩: 指导教师签字: 年月日

设计1 CPU调度算法的模拟实现一、设计目的 利用C++编写CPU调度算法,实现先来先服务调度算法FCFS、优先级调度算法PS、短作业优先调度算法SJF、时间片轮转调度算法RR的运行过程和实现的结果,针对模拟进程,利用编写的CPU调度算法对需要运行的进程进行调度。进行算法评价,计算平均周转时间和平均等待时间。 二、设计要求 针对模拟进程,利用CPU调度算法进行调度,最后要进行算法评价,计算平均周转时间和平均等待时间,并且输出调度结果和输出算法评价指标。 调度所需的进程参数由输入产生(手工输入或者随机数产生)。 三、设计说明 时间片轮转算法需要输入相应的时间片,所以独立编写一个程序,系统主体结构如下:

《数据库原理》课程设计任务书

课程设计任务书

《数据库原理》课程设计任务书 一、设计目的 通过本次课程设计,使同学们能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,为开发出一个较为实用的应用系统提供数据库支持。 二、课程设计的要求 1、明确课设任务,复习与查阅相关资料。 2、可以根据老师给出的设计题目,在两周时间内完成其中某一个题目的从用户需求分析、数据库设计到上机编程、调试和应用等全过程的数据库系统设计。如果学生自拟题目,需经指导教师同意。 3、每位学生必须独立完成课程设计任务,不能抄袭,设计完成后,将所完成的工作交由老师检查;要求写出一份详细的设计报告。 4、按要求完成课设内容,课设报告要求文字和图工整、思路清楚、正确。 5、应用系统对数据库的使用,写出相应的T-SQL语句及数据库执行结果。 三、数据库课程设计报告主要内容 1、系统需求分析 (1)信息要求:指用户需要从数据库中获得信息的内容与性质。数据库中需要存储那些数据。 (2)处理要求:用户需要完成什么处理功能,对处理的响应时间有什么要求(给出功能模块图)。 (3)安全性和完整性要求。 2、概念结构设计 (1)逐一设计分E-R图,合并分E-R图,生成基本E-R图。 (2)若在合并中存在属性冲突、命名冲突以及结构冲突,给出解决方法,若存在不必要的冗余,则消除并给出设计方法。 (3)基本E-R图中要求标明主码、外码、联系类型。 3、逻辑结构设计 (1)给出由E-R得到的关系模型:并注明转换过程中应用的规则; (2)数据模型的优化; (3)分析这些模式对于应用环境是否合适,确定是否要对某些模式进行合并或分解; (4)用户模式设计; (5)在数据库中一般使用英文名字,在用户视图中则一般使用符合用户一贯的中文命名法; (6)对不同级别的用户定义不同的视图以保证系统的安全性。 4、数据库物理结构设计 以表格的形式列出各张表,包括字段名称、中文含义、数据类型、长度、完整性约束、索引定义、字段说明; 5、数据库实施 (1)使用T-SQL语句实现数据库表; (2)使用T-SQL语句创建必要索引; (3)使用T-SQL语句实现必要的数据库视图; (4)用T-SQL语句实现必要的存储过程及触发器。

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件 系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景

计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。 2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下: 钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<

操作系统课程设计

湖南科技大学计算机科学与工程学院 操作系统课程设计报告 ******** *** 目录 实验一 Windows 进程管理 实验二 Linux 进程管理 实验三 互斥与同步 实验四 银行家算法的模拟与实现 实验五 内存管理 指导老师: *** 完成时间: **** ** **

实验六磁盘调度 实验七进程间通信 实验一 Windows进程管理 一、实验目的 1 )学会使用VC编写基本的Win3 2 Consol Application (控制台应用程序)。 2)2)通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟 悉操作系统的进程概念,理解Windows进程的"一生”。 3)3)通过阅读和分析实验程序,学习创建进程、观察进程、终止进程以及父子进程同步 的基本程序设计方法。 二、实验内容和步骤 (1)编写基本的 Win32 Consol Application 步骤1:登录进入 Windows系统,启动VC++ 6.0。 步骤2:在“ FILE”菜单中单击“ NEW”子菜单,在“ projects ”选项卡中选择 “Win32 ConsolApplication ”,然后在“ Project name 处输入工程名,在“Location ”处输入工程目录。创建一个新的控制台应用程序工程。 步骤3:在“ FILE”菜单中单击“ NEW”子菜单,在“ Files ”选项卡中选择“ C++ Source File ” ,然后在“ File ”处输入C/C++源程序的文件名。 步骤4:将清单1-1所示的程序清单复制到新创建的C/C++源程序中。编译成可执行文件。 步骤5 :在“开始”菜单中单击“程序” -“附件”-“命令提示符”命令,进入Windows“命令提示符”窗口,然后进入工程目录中的 debug子目录,执行编译好的可执行程序,列出运行结果(如果运行不成功,则可能的原因是什么?) 如果运行不成功可能是路径有问题或者没有通过编译。

计算机控制技术课程设计任务书

计算机控制技术课程设计任务书 题目1:通用数字PID调节器设计 1、主要技术数据和设计要求 主要技术数据:8路模拟量输入:适配1~5V输入,量程自由设定;8路输出控制信号:1~5V标准电压输出;输入模拟量转换精度:0.1%;RS232串行通讯通口。 控制模型:数字PID控制算法;PID参数范围:比例带Kp:1-999.9%,积分时间Ti:1-9999秒(Ti=9999时积分切除),微分时间Td::0-9999秒(Td=0时微分切除)。 调节控制器使用51内核的单片机,完成对8路模拟信号的切换、信号变换、A/D转换;单片机对数据处理后(含数字滤波、数值变换),送到显示和通讯部分,并经PID运算处理后通过D/A转换器输出。经信号变换和信号分配后输出8路控制信号。设计中应充分考虑干扰问题。 2、设计步骤 一、总体方案设计、控制系统的建模和数字控制器设计 二、硬件的设计和实现 1. 选择计算机机型(采用51内核的单片机); 2. 设计支持计算机工作的外围电路(EPROM、RAM、I/O端口等); 3. 设计键盘、显示接口电路; 4. 设计8路模拟量输入输出通道; 5. 设计RS232串行通讯通口; *6. 其它相关电路的设计或方案(电源、通信等)。 三、软件设计 1. 分配系统资源,编写系统初始化和主程序模块; 2. 编写数字PID调节器软件模块; 3. 编写数字滤波程序; *4. 编写A/D、D/A转换器处理程序模块; *5. 其它程序模块(显示与键盘等处理程序)。 四、编写课程设计报告,绘制完整的系统电路图。

计算机控制技术课程设计任务书 题目2:双闭环直流电动机数字调速系统设计 1、主要技术数据和设计要求 主要技术数据:直流电动机(对象)的主要技术参数如下:直流电动机Ped=3kW,Ued=220v ,ned=1500r/min,电枢回路总电阻R=2.50欧姆,电动机回路电磁时间常数TL=0.017s,机电时间常数TM=0.076s,电势常数Ce=0.1352V/r·min),晶闸管装置放大倍数Ks=30,整流电路滞后时间Ts=0.0017s。 主要技术指标:速度调节范围0-1500r/min,速度控制精度0.1%(额定转速时),电流过载倍数为1.5倍。 主要要求:直流电动机的控制电源采用PWM控制方式,在其输入电压为0-5伏时可以输出0-264伏电压,为电机提供最大25安培输出电流。速度检测采用光电编码器,且假定其输出的A、B两相脉冲经光电隔离辨向后获得每转1024个脉冲的角度分辨率和方向信号。电流传感器采用霍尔电流传感器,其原副边电流比为1000:1,额定电流为50安培。采用双闭环(速度和电流环)控制方式。 2、设计步骤 一、总体方案设计、控制系统的建模和数字控制器设计 二、硬件的设计和实现 1. 选择计算机机型(采用51内核的单片机); 2. 设计支持计算机工作的外围电路(EPROM、RAM、I/O端口等); 3. 设计键盘、显示接口电路; 4. 设计输入输出通道(速度反馈、电流反馈电路、输出驱动电路等); *5.它相关电路的设计或方案(电源、通信等)。 三、软件设计 分配系统资源,编写系统初始化和主程序模块; 2. 编写数字调节器软件模块; 3. 编写A/D转换器处理程序模块; *4.编写输出控制程序模块; *5.其它程序模块(数字滤波、显示与键盘等处理程序)。 四、编写课程设计说明书,绘制完整的系统电路图。

操作系统课程设计报告

东莞理工学院 操作系统课程设计报告 学院:计算机学院 专业班级:13软件工程1班 提交时间:2015/9/14 指导教师评阅意见: . 项目名称:进程与线程管理功能 一、设计目的 用语言来模拟进程和线程管理系统,加深对进程和线程的理解,掌握对进程和线程各种状态和管理的算法原理。 二、环境条件

系统:WindowsXP、VMWare、Ubuntu Linux 语言:C/C++ 开发工具:gcc/g++、Visual C++ 6.0 三、设计内容 1. 项目背景 计算机的硬件资源有限,为了提高内存的利用率和系统的吞吐量,就要根据某种算法来管理进程和线程的状态从而达到目的。 进程与线程管理功能完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 进程与线程管理功能 基本要求:完成基于优先级的抢占式线程调度功能,完成进程虚拟内存管理功能。 提高要求:(增加1项就予以加分) (1) 实现多种线程调度算法; (2)通过“公共信箱”进行通信的机制,规定每一封信的大小为128字节,实现两个用户进程之间通过这个“公共信箱”进行通信。 (3) 实现多用户进程并发的虚拟内存管理功能。 (4) 实现用户进程间通信功能,并用生产者/消费者问题测试进程间通信功能的正确性。 (5) 实现改进型Clock页面置换算法。 (6) 实现Cache功能,采用FIFO替换算法。

2. 扩展内容 实现多种线程调度算法:时间片轮转调度算法 四、人员分工 优先级调度算法:钟德新,莫友芝 时间片轮转调度算法:张德华,袁马龙 设计报告由小组队员共同完成。小组成员设计的代码分工如下:钟德新编写的代码:void Prinft(){ PCB *p; system("cls");//清屏 p=run; //运行队列 if(p!=NULL) { p->next=NULL; } cout<<"当前正在运行的进程:"<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<next; } cout<procname<<"\t\t"<pri<<"\t"<needOftime<<"\t\t"<runtime<<"\t\t"<state<

操作系统(一个小型操作系统的设计与实现)课程设计

南通大学计算机科学与技术学院操作系统课程设计报告 专业: 学生姓名: 学号: 时间:

操作系统模拟算法课程设计报告 设计要求 将本学期三次的实验集成实现: A.处理机管理; B.存储器管理; C.虚拟存储器的缺页调度。 设计流程图 主流程图 开始的图形界面 处理机管理存储器管理缺页调度 先来先服务时 间 片 轮 转 首 次 适 应 法 最 佳 适 应 法 先 进 先 出 L R U 算 法

A.处理机调度 1)先来先服务FCFS N Y 先来先服务算法流程 开始 初始化进程控制块,让进程控制块按进程到达先后顺序让进程排队 调度数组中首个进程,并让数组中的下一位移到首位 计算并打印进程的完成时刻、周转时间、带权周转时间 其中:周转时间 = 完成时间 - 到达时间 带权周转时间=周转时间/服务时间 更改计时器的当前时间,即下一刻进程的开始时间 当前时间=前一进程的完成时间+其服务时间 数组为空 结束

2)时间片轮转法 开始 输入进程总数 指针所指的进程是 否结束 输入各进程信息 输出为就绪状态的进程的信息 更改正在运行的进程的已运行时间 跳过已结束的程序 结束 N 指向下一个进程 Y 如果存在下一个进程的话 Y N 输出此时为就绪状态的进程的信息 时间片轮转算法流程图

B.存储器管理(可变式分区管理) 1)首次适应法 分配流程图 申请xkb内存 由链头找到第一个空闲区 分区大小≥xkb? 大于 分区大小=分区大小-xkb,修改下一个空闲区的后向指针内容为(后向指针)+xkb;修改上一个空闲区的前向指针为(前向指针)+xkb 将该空闲区从链中摘除:修改下一个空闲区的后向地址=该空闲区后向地址,修改上一个空闲区的前向指针为该空闲区的前向指针 等于 小于延链查找下 一个空闲区 到链尾 了? 作业等待 返回是 否 登记已分配表 返回分配给进程的内存首地址 开始

《计算机多媒体技术》课程设计任务书

《计算机多媒体技术》课程设计任务书 专业: 班级: 姓名: 学号: 指导教师: 年月日

2012/2013学年第二学期 《计算机多媒体技术》课程设计任务书 班级:计算机101-102 设计时间:2013.7.1 –2013.7.5一、课程设计目的及基本要求 《计算机多媒体技术》课程设计是在学习完多媒体技术基础、微机原理、数据库基础、平面动画实用技术、计算机网络基础、图像处理实用技术等基础课程的前提下,并能够熟悉三维动画实用技术、网页设计制作、多媒体设计与创作、影视制作程序、多媒体制作工具使用等对计算机专业学生进行的专项实践训练。通过本次设计使学生具备较强的计算机操作技能,能一定程度上了解并实现计算机多媒体软件设计和开发、交互式多媒体作品的设计与制作。使学生具备熟练的进行动画设计与制作、平面广告设计、交互式多媒体作品设计与制作的能力。最终使学生具备一定的从事电子出版、教育软件开发、商业简报制作、平面广告设计及其它多媒体应用领域的媒体集成与系统设计工作的基础能力。通过本次设计,加深对计算机多媒体技术课程中的基本知识的理解,为进一步深入学习多媒体相关专业知识打好基础。 二、主要实践环境 操作系统为Windows 2000 或者 Windows XP。 文字处理:记事本、写字板、Word、WPS 图形图像处理:PhotoShop、CorelDraw、Freehand 动画制作:AutoDesk Animator Pro、3DS MAX、Maya、Flash 声音处理:Ulead Media Studio、Sound Forge、Audition(Cool Edit)、Wave Edit、Virtual DJ 视频处理:Ulead Video Studio、Adobe Premiere、After Effects 三、课程设计的计划安排及主要内容 第一天:练习使用文字处理软件word或者WPS,其他软件课后自行练习。使用Word进行长篇文档的处理。将文档范文.doc的格式设置为要求的样式。 第二天:练习使用图形处理软件PhotoShop,其他软件课后自行练习。使用PhotoShop进行图片处理,实现个人二寸证件照片的制作。 第三天:练习使用动画处理软件Flash或者3DMax,其他软件课后自行练习。要

操作系统课程设计报告

操作系统课程设计实验报告 实验名称:进程控制 姓名/学号: 一、实验目的 学习、理解和掌握Linux与windows的进行控制系统调用的功能,熟悉主要的几个系统调用命令的格式和如何利用系统调用命令进行编程。通过学习,理解如何创建一个进程、改变进程执行的程序、进程和线程终止以及父子进程的同步等,从而提高对进程和线程控制系统调用的编程能力。 二、实验内容 设计并实现Unix的“time”命令。“mytime”命令通过命令行参数接受要运行的程序,创建一个独立的进程来运行该程序,并记录程序运行的时间。 三、实验环境 CPU: Inter ×2 2.10GHz RAM: 3.00GB Windows 7 旗舰版 Linux Ubuntu 10.04 编译: VS2010 四、程序设计与实现 4.1进程控制系统的调用 4.1.1 windows进程控制调用程序中使用的数据结构及主要符号说明 SYSTEMTIME starttime,endtime; //进程开始时间和结束时间 PROCESS_INFORMATION pi //该结构返回有关新进程及 //其主线程的信息 STARTUPINFO si //该结构用于指定新进程的主窗口特性4.1.2 linux进程控制调用程序中使用的数据结构及主要符号说明 struct timeval starttime,endtime //进程开始时间和结束时间 pid_t pid //进程标志符

4.2 程序流程图 图1 windows进程控制调用图2 linux进程控制调用程序运行流程图程序运行流程图 五、实验结果和分析 5.1 windows实验结果和分析

操作系统课程设计

计算机科学技术学院 操作系统原理课程设计报告 题目:进程管理系统 专业: 班级: 姓名: 学号: 指导老师: 年月日

《操作系统原理》课程设计任务书 一、课程设计题目(任选一个题目) 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)附录或参考资料 四、进度安排 设计在学期的第15、16周进行,时间安排如下:

计算机操作系统课程设计

计算机操作系统课程设计 班级:计091-1 姓名: 学号: 使用语言:C++ 指导老师: 学院:

一、系统要求 1、实验目的 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 2、实验内容 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条); login 用户登陆 dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 read 读文件 write 写文件 (2)列目录时要列出文件名、物理地址、保护码和文件长度; (3)源文件可以进行读写保护。

二、系统分析 1、设计思想 本文件为二级文件系统,即要实现对文件的增删改查,同时又具备登陆系统、注册用户的功能,各个用户之间的文件系统互不干扰。 本文件系统采用两级目录,其中第一级对应于用户账号,第二级对应于用户帐号下的文件。另外,为了简便文件系统未考虑文件共享,文件系统安全以及管道文件与设备文件等特殊内容。 系统采用结构体来存储用户、文件目录、文件数据内容: 0 48*5 48*5+44*50 48*5+44*50+264*200 每个分区都是由结构体组成,每个个去的结构体的个数由格式化系统是决定。

整个系统的编码构成主要分为: Allstruct.h 定义了每个分区的结构体; Mysys.h 声明了对系统操作的各种方法;Myuserfile.h 声明了对文件操作的各种方法; Mymain.cpp 整个系统的主函数,操作入口; Mysys.cpp 包含了mysys.h,实现了操作系统的各种方法;Myuserfile.cpp 包含了myuserfile.h,实现了操作文件的各种方法; 2、主要数据结构 Allstruct.h文件的内容: struct s_user //用户区结构体 { long isuse; //是否使用 char name[20]; //用户名 char psd[20]; //密码 long address; //目录地址 };

相关文档
最新文档