- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计指导书剖析
《操作系统》课程设计指导书
一、课程设计的目的和意义
本课程设计是学生学习完《计算机操作系统》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。
二、总体要求:
课程设计总时间为五天(第十八周)。
课程设计地点是实验楼605机房。
一个班分若干个组,每组2人,个别可以3人组(自由组合)课程设计题目由任课老师指定;
人员分工:组长1人、组员1到2人。组长可由小组人员自行选出或自荐,组长的职责是负责与老师交流,合理安排分配本组的各项任务,任务有:系统总体设计、编码、测试、写文档。
三、设计要求:
本课程设计以Linux操作系统为实验平台,进行源代码分析和修改或应用。通过该课程设计,使学生掌握Linux操作系统各部分结构、实现机理和各种典型算法;或使学生进行网络管理和系统管理,系统地了解操作系统的设计和实现思路,运用内核开发环境实现对内核的修改,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。。
要求如下:
1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。
2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力钻研,勤于实践,勇于创新。
3、独立按时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。
4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及格处理。
5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、按质、按量完成课程设计。
6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和团队协作精神。
、成绩评定
1、同学平时表现占总成绩30%,若迟到扣5分,无故旷课每次扣10 分,二次不到者总成绩以0分计。
2、课程设计报告占总成绩70%,在规定时间内上交。、设计内容(每组人,先自由组合,并选定个题目,再由老师作适当调整)
课题一、linux下C编程实现银行家算法通用程序,并检测所给状态的系统安全性。
1)银行家算法中的数据结构:
可利用资源向量Available。这是一个含有m个元素的数组,其中的每一个元素代表一类可利用的资源数目,其初始值是系统中所配置的该类全部可用资源的数目,其数值随该类资源的分配和回收而动态地改变。Available[j]=K,则表示系统中现有Rj 类资源K个。
最大需求矩阵Max。这是一个n*m的矩阵,它定义了系统中n个进程中的每一个进程对m类资源的最大需求。如果Max[i,j]=K,则表示进程i需要Rj类资源的最大数目为K。
分配矩阵Allocation。这也是一个n*m的矩阵,它定义了系统中每一类资源 当前已分配给一进程的资源数。如果Allocation[i,j]=K,则表示 进程i当前已分得Rj类资源的数目为K。
需求矩阵Need。这也是一个n*m的矩阵,用以表示每一个进程尚需的各类资源数。如果Need[i,j]=K,则表示进程i还需要Rj类资源K个,方能完成其任务。
上述三个矩阵存在如下关系:
Need[i,j]= Max[i,j]- Allocation[i,j]
2)银行家算法
设Request[i] 是进程Pi的请求向量,如果Request[i,j]=K,表示进程Pi需要K个Rj类型的资源。当Pi发出资源请求后,系统按下述步骤进行检查:
如果Request[i,j]= Need[i,j],便转向步骤2;否则认为出错,因为它所需要的资源数已超过它所宣布的最大值。A.判断此时是否安全。
B.假设将给每一进程分配资源,检测是否能分配。
课题二、处理机调度程序:选择一个调度算法,实现处理机调度。
设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个。也就是说能运行的进程数大于处理机个数。为了使系统中的进程能有条不紊地工作,必须选用某种调度策略,选择一进程占用处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。
设计要求:
1)进程调度算法包括:时间片轮转法,短作业优先算法,动态优先级算法。
2)可选择进程数量
3)显示结果
课题三、用多进程同步方法解决生产者费者问题
设计目的:通过研究Linux 的进程机制和信号量实现生产者消费者问题的并发控制.
说明:有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1-20这20个整型数设计要求:
(1)每个生产者和消费者对有界缓冲区进行操作后,显示有界缓冲区的全部内容当前指针位置和生产者/消费者的标识符
(2)生产者和消费者各有两个以上
(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码
提示(1) 有界缓冲区可用数组实现课题:为LINUX 设计
文档评论(0)