操作系统课程设计任务书
《计算机操作系统》课程设计任务书
一、课程设计的目的和意义
本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。
二、总体要求:
1、 一个班分若干个组,每组最多3人,个别可以4人组(自由组合),每组选定一个课程设计题目;
2、 人员分工:组长1人、组员1到2人。组长可由小组人员自行选出或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。
三、设计要求:
本课程设计以Windows或Linux操作系统为实验平台,进行操作系统各种算法的模拟或对源代码分析和修改或应用。通过该课程设计,使学生掌握操作系统各部分结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,运用内核开发环境实现对内核的修改,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。。 要求如下:
1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。
2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。
5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。
6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。
四、成绩评定
1、同学平时表现占总成绩20%,若迟到扣5分,无故旷课每次扣10 分,二次不到者总成绩最好以及格计。
2、课程设计程序功能占总成绩40%,课程设计报告占总成绩40%,在规定时间内上交。
3、严禁抄袭,复制设计内容,查出后相关同学设计成绩以不及格处理。
五、设计内容(除特别注明外,每组最多3人,先自由组合,并选定1个题目,再由老师作适当调整)
课题一、银行家算法
设计目的:死锁会引起计算机工作僵死,因此操作系统中必须防止。本设计的目的在于使用高级语言编写和调试一个系统动态分配资源的简单模拟程序,了解死锁产生的条件和原因,并采用银行家算法有效地防止死锁的发生,以加深对课堂上所讲授的知识的理解。
设计要求:
设计有n个进程共享m个系统资源的系统,进程可动态的申请和释放资源,系统按各进程的申请动态的分配资源。系统能显示各个进程申请和释放资源,以及系统动态分配资源的过程,便于用户观察和分析,要求使用图形用户界面。
银行家算法的思路:
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)按照安全性推测算法,判断,分配过后,系统是否安全,若安全,则实际分配,否则,撤消分配,让进程等待.
6."安全性检测"算法
对进程逐个扫描,先判断flag,看进程是否完成,如果完成则继续扫描,如果没有再判断当前系统是否满足进程所需要的分配额,如果满足则分配并当进程完成后回收资源,如果没有则扫描下一个进程。扫描所有进程,如果所有的进程都能完成就表明是安全分配序列,如果没有,则分配不成功,不存在着安全序列。
课题二、处理机调度算法的实现
设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。也就是说能运行的进程数大于处理机个数。为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。
设计要求:
1)先由用户输入进程数量(至少5个进程),再由系统随机生成一个进程序列(包括到达时间和服务时间)。
2)然后显示进程调度算法由用户选择,包括:时间片轮转法,短作业优先算法,动态优先级算法。
3)显示结果包括每个进程的开始时间、完成时间、周转时间以及带权周转时间,显示界面可参考书本的例子以表格形式但可不要表格线。
课题三、生产者——消费者问题
设计目的:通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制. 说明:有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数。
设计要求:
(1)每个生产者和消费者对有界缓冲区进行操作后,实时显示有界缓冲区的全部内容、当前指针位置和生产者/消费者的标识符。
(2)生产者和消费者各有两个以上。
(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码。
提示:(1) 有界缓冲区可用数组实现。
课题四:基于Linux的二级文件系统。
要求做到以下几点:
1、 可以实现下列几条命令,但可不用参数。
注意,必须真正实现,不能模拟实现,如Dir类似于Linux的ls命令。
Login 用户登录
Dir 列出文件夹内容
Create 创建文件
Delete 删除文件
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( …… 此处隐藏:2620字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




