第一范文网 - 专业文章范例文档资料分享平台

操作系统课程设计指导书

来源:用户分享 时间:2025/8/27 6:47:54 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《操作系统》课程设计指导书

一、课程设计的目的和意义

本课程设计是学生学习完《操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。

二、总体要求:

1、 课程设计总时间为2.5天。

2、 一个班分若干个组,每组2人,个别可以3人组(自由组合)课程设计题目由任课

老师指定;

3、 人员分工:组长1人、组员1到2人。组长可由小组人员自行选出或自荐,组长的

职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。

三、设计要求:

本课程设计以Linux操作系统为实验平台,进行源代码分析和修改或应用。通过该课程设计,使学生掌握Linux操作系统各部分结构、实现机理和各种典型算法;或使学生进行网络管理和系统管理,系统地了解操作系统的设计和实现思路,运用内核开发环境实现对内核的修改,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。。

要求如下:

1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。 2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。

3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。

4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。

5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。

6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。

四、成绩评定

1、同学平时表现占总成绩30%,若迟到扣5分,无故旷课每次扣10 分,二次不到者总成绩以0分计。

2、课程设计质量占30%,课程设计报告占总成绩40%,在规定时间内上交。 3、提交的电子文档和软件必须是由学生自己独立完成,发现相同题目文档雷同者,教师有权视其情况扣分或记零分。

4、结果:

优:态度较好,无缺勤、迟到和早退现象,有完整的符合标准的文档,文档有条理、

1

文笔通顺,格式正确,其中有总体设计思想的论述;程序完全实现设计方案,设计方案先进,软件可靠性好;

良:态度较好,无缺勤、迟到和早退现象;有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进;

中:态度较好,无缺勤、迟到和早退现象;有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确;

及格:态度较好,无缺勤、迟到和早退现象;有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确;

不及格:态度不好,有缺勤、迟到和早退现象;没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确。

说明:

? 可以根据题目的基本要求进行丰富的创意和想象。

? 没有特别指定,可以采用Windows环境也可采用Linux环境,选用Windows环境的必须为图形界面,否则判为不及格,Linux环境的可以采用文本界面。

? 开发语言不限,但软件代码必需有详细中文注释:每个方法要功能说明,关键算法要加注释说明。

五、设计内容(除特别注明外,每组2人,先自由组合,并选定1个题目,再由老师作适当调整)

课题一、Linux下C编程实现银行家算法

银行家算法的思路:

1.进程一开始向系统提出最大需求量.

2.进程每次提出新的需求(分期贷款)都统计是否超出它事先提出的最大需求量. 3.若正常,则判断该进程所需剩余量(包括本次申请)是否超出系统所掌握的 剩余资源量,若不超出,则分配,否则等待. 4.银行家算法的数据结构.

1)系统剩余资源量V[n],其中V[n]表示第I类资源剩余量.

2)已分配资源量A[m][n],其中A[j][i]表示系统j程已得到的第i资源的数量. 3)剩余需求量.C[m][n],其中C[j][i]对第i资源尚需的数目.

5.银行家算法流程:当某时刻,某进程时,提出新的资源申请,系统作以下操作: 1)判定E[n]是否大于C[j][n],若大于,表示出错.

2)判定E[n]是否大于系统剩余量V[n],若大于,则该进程等待. 3)若以上两步没有问题,尝试分配,即各变量作调整.

4)按照安全性推测算法,判断,分配过后,系统是否安全,若安全,则实际分配,否则,撤消分配,让进程等待.

2

6.\安全性检测\算法

对进程逐个扫描,先判断flag,看进程是否完成,如果完成则继续扫描,如果没有再判断当前系统是否满足进程所需要的分配额,如果满足则分配并当进程完成后回收资源,如果没有则扫描下一个进程。扫描所有进程,如果所有的进程都能完成就表明是安全分配序列,如果没有,则分配不成功,不存在着安全序列。

课题二、处理机调度算法的实现

设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。也就是说能运行的进程数大于处理机个数。为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。

设计要求:

1)先由用户输入进程数量(至少5个进程),再由系统随机生成一个进程序列(包括到达时间和服务时间)。

2)然后显示进程调度算法由用户选择,包括:时间片轮转法,短作业优先算法,动态优先级算法。

3)显示结果包括每个进程的开始时间、完成时间、周转时间以及带权周转时间,显示界面可参考书本的例子以表格形式但可不要表格线。

课题三、生产者——消费者问题

设计目的:通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制. 说明:有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数。

设计要求:

(1)每个生产者和消费者对有界缓冲区进行操作后,实时显示有界缓冲区的全部内容、当前指针位置和生产者/消费者的标识符。

(2)生产者和消费者各有两个以上。

(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码。 提示:(1) 有界缓冲区可用数组实现。

课题四:基于Linux的二级文件系统。

要求做到以下几点:

1、 可以实现下列几条命令,但可不用参数。

注意,必须真正实现,不能模拟实现,如Dir类似于Linux的ls命令。 Login 用户登录 Dir 列出文件夹内容 Create 创建文件 Delete 删除文件

3

Open 打开文件 Close 关闭文件 Read 读文件 Write 写文件

2、列目录时要列出文件名、物理地址、保护码和文件长度。 3、设计提示

实现虚拟文件系统的一般思路是调用系统的文件创建(如c中的fopen函数的w方式即可)一个新文件,将此文件作为虚拟磁盘,在完成本设计要求的内容时,要求所生成的文件目录以及文件等内容都是存储在此磁盘中。

4、源文件可以进行读写保护。

主要需完成以下子过程,但不一定全部要用到。 1、i节点内容获取函数iget( ) 2、i节点内容释放函数iput( ) 3、目录创建函数mkdir( ) 4、目录搜索函数namei( ) 5、磁盘块分配函数balloc( ) 6、磁盘块释放函数bfree( ) 7、分配i节点区函数ialloc( ) 8、释放i节点区函数ifree( )

9、搜索当前目录下文件的函数iname( ) 10、访问控制函数access( ) 11、显示目录和文件用函数_dir( ) 12、改变当前目录用函数chdir( ) 13、打开文件函数open( ) 14、创建文件函数create( ) 15、读文件用函数read( ) 16、写文件用函数write( ) 17、用户登录函数login( ) 18、用户退出函数logout( ) 19、文件系统格式化函数format( ) 20、进入文件系统函数install( ) 21、关闭文件系统函数close( ) 22、退出文件系统函数halt( ) 23、文件删除函数delete( )

课题五:存储管理——动态分区分配算法的模拟:

要求设计主界面以灵活选择某算法,以下算法都要实现: 1、 首次适应算法

4

搜索更多关于: 操作系统课程设计指导书 的文档
操作系统课程设计指导书.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8ti3o5hr2o6r0tb505md_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top