总结是指对某一阶段的工作、学习或思想中的经验或情况加以总结和概括的书面材料,它可以明确下一步的工作方向,少走弯路,少犯错误,提高工作效益,因此,让我们写一份总结吧。怎样写总结才更能起到其作用呢?总结应该怎么写呢?以下是小编为大家收集的总结范文,仅供参考,大家一起来看看吧。
操作系统课程总结操作系统学后感篇一
课程设计报告 姓 名:
学 号:
班 级:
计科班 专 业:计算机科学与技术 xx大学 计算机科学与信息学院 目 录 1 课程设计目的 …………………………………………………… 1 2 课程设计的要求 ………………………………………………… 1 3 课程设计题目描述 ……………………………………………… 2 4 课程设计之银行家算法原理 …………………………………… 2 5 源程序结构分析及代码实现 …………………………………… 4 6 课程设计总结 …………………………………………………… 25 一、课程设计的目的 操作系统是计算机系统的核心系统软件,它负责控制和管理整个系统的资源并组织用户协调使用这些资源,使计算机高效的工作。《操作系统课程设计》是《操作系统》理论课的必要补充,是复习和检验所学课程的重要手段,本课程设计的目的是综合应用学生所学知识,通过实验环节,加深学生对操作系统基本原理和工作过程的理解,提高学生独立分析问题、解决问题的能力,增强学生的动手能力。
二、课程设计的要求 1.分析设计内容,给出解决方案(要说明设计实现的原理,采用的数据结构)。
2.画出程序的基本结构框图和流程图。
3.对程序的每一部分要有详细的设计分析说明。
4.源代码格式要规范。
5.设计合适的测试用例,对得到的运行结果要有分析。
6.设计中遇到的问题,设计的心得体会。
7.按期提交完整的程序代码、可执行程序和课程设计报告。
三、课程设计题目描述 银行家算法是一种最有代表性的避免死锁的算法。
要解释银行家算法,必须先解释操作系统安全状态和不安全状态。
安全状态:如果存在一个由系统中所有进程构成的安全序列p1,…,pn,则系统处于安全状态。安全状态一定是没有死锁发生。
不安全状态:不存在一个安全序列。不安全状态不一定导致死锁。
那么什么是安全序列呢?
安全序列:一个进程序列{p1,…,pn}是安全的,如果对于每一个进程pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程pj(j i)当前占有资源量之和。
银行家算法:
我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。
四、课程设计之银行家算法原理 1.银行家算法的思路 先对用户提出的请求进行合法性检查,即检查请求的是不大于需要的,是否不大于可利用的。若请求合法,则进行试分配。最后对试分配后的状态调用安全性检查算法进行安全性检查。若安全,则分配,否则,不分配,恢复原来状态,拒绝申请。
2.银行家算法中用到的主要数据结构 可利用资源向量 int available[j] j为资源的种类。
最大需求矩阵 int max[i][j] i为进程的数量。
分配矩阵 int allocation[i][j] 需求矩阵 int need[i][j]= max[i][j]-allocation[i][j] 申请各类资源数量 int request i[j] i进程申请j资源的数量 工作向量 int work[x] int finish[y] 3.银行家算法bank()进程i发出请求申请k个j资源,request i[j]=k(1)检查申请量是否不大于需求量:request i[j]=need[i,j],若条件不符重新输入,不允许申请大于需求量。
(2)检查申请量是否小于系统中的可利用资源数量:request i[j]=available[i,j],若条件不符就申请失败,阻塞该进程,用goto语句跳转到重新申请资源。
否则本次试探分配作废,恢复原来的资源分配状态,让该进程等待。
(5)用do{…}while 循环语句实现输入字符y/n判断是否继续进行资源申请。
4.安全性检查算法(safe()函数)
(1)设置两个向量:
工作向量work,它表示系统可提供给进程继续运行所需的各类资源数目,在执行安全性算法开始时,work= available。
当有足够的资源分配给进程时,再令finish[i]=1。
(2)在进程中查找符合以下条件的进程:
条件1:finish[i]=0;
finish[i]=1;
goto step 2;
(4)如果所有的finish[i]=1都满足,则表示系统处于安全状态,否则,处于不安全状态。
(1).初始化chushihua():用于程序开始进行初始化输入数据:进程数量、资源种类、各种资源可利用数量、各进程的各种资源已分配数量、各进程对各类资源最大需求数等。
(2).当前安全性检查safe():用于判断当前状态安全性,根据不同地方的调用提示处理不同。
(3).银行家算法bank():进行银行家算法模拟实现的模块,调用其他各个模块进行银行家算法模拟过程。
(4).显示当前状态show():显示当前资源分配详细情况,包括:各种资源的总数量(all)、系统目前各种资源可用的数量、各进程已经得到的资源数量、各进程还需要的资源量。
(5).主程序main()逐个调用初始化、显示状态、安全性检查、银行家算法函数,使程序有序的进行。
2.数据结构 程序使用的全局变量:
const int x=10,y=10;
安全算法safe()结束 2.源程序代码:
六、课程设计的总结 操作系统的基本特征是并发与共享。系统允许多个进程并发执行,并且共享系统的软、硬件资源。为了最大限度的利用计算机系统的资源,操作系统应采用动态分配的策略,但是这样就容易因资源不足,分配不当而引起“死锁”。而我本次课程设计就是得用银行家算法来避免“死锁”。银行家算法就是一个分配资源的过程,使分配的序列不会产生死锁。此算法的中心思想是:按该法分配资源时,每次分配后总存在着一个进程,如果让它单独运行下去,必然可以获得它所需要的全部资源,也就是说,它能结束,而它结束后可以归还这类资源以满足其他申请者的需要。
本次程序就是按照上面的思路展开的。但是因为时间上的仓促,本课程设计的存在着以下不足:一、不能实现并发操作,即当总资源同时满足几个进程所需要的资源数时,这些进程不能同时进行,只能一一按进程顺序执行。二、扫描进程顺序单一,只能按进程到来的顺序(即编号)来扫描,从而产生的安全顺序只能是在这个顺序的基础上产生的,而其实安全顺序是有多个的。三、对进程数和资源数进行的数量进行了限制,都只能最多有十个。四、运行程序后,界面较差,进程数,所需要资源数,已分配资源数,能用资源数,不能一目了然。
这次课程设计时间上虽说仓促点,但是我依然学到了很多的实用性知识。除了更深的了解这个算法,而且对c语言进行了复习,而且其过程中有很多的知识点都不记得了,所以在此感谢在此过程中帮助过我的老师和同学。
最后的感悟就是:只要你亲自动手,你就能学到知识。
再次感谢帮助过我的老师和同学!
操作系统课程设计银行家算法报告
操作系统课程设计银行家算法模拟实现
操作系统课程设计编程序模拟银行家算法
课程设计报告
操作系统心得体会
操作系统课程总结操作系统学后感篇二
;摘 要: cdio工程教育理念越来越受到计算机教育者的关注。地方高校引入cdio理念进行专业建设和教学改革,具有重要的意义。针对传统教学模式存在的教学目标不完善、课时分配不合理、考核方式单一等不足,借鉴cdio的教学大纲和评价标准,对linux操作系统课程中的教学目标、教学内容、实践教学和课程考核等方面进行了课程改革实践,实践表明,该方案有助于学生的专业能力和职业综合素质的提高。
0 引言
为了适应社会经济发展对高等工程教育的迫切要求,教育部提出了“卓越工程师教育培养计划”,吸引了众多高校参与、探索并培养卓越工程师。这些高校通过借鉴已取得了显著成效的国际cdio工程教育模式[1],并根据自身实际情况和实践经验,形成了多样化的cdio(如汕头大学的eip-cdio)探索和实践[2-3],取得了较好的成效。地方应用性本科院校通过引入cdio工程教育,进行计算机专业建设和教学改革,对于完善应用型工程人才培养模式,具有重要的启发和借鉴意义。本文针对目前linux操作系统课程教学存在的不足,在cdio的教育理念和评价标准指导下,进行课程改革与实践探索。
1 cdio的基本知识
cdio是构思(conceive)-设计(design)-实施(implement)-运行(operate)的简称[1],构思指的是系统性的构想和思考,包括确定客户的实际需求,考虑技术、企业战略和相关规定的整体过程;设计是把构想通过视觉的形式传达出来的活动过程,包括设计、图纸和描述产品、过程和系统实施的方法和计算等;实施是指从设计到产品的实现过程,包括软件编程、硬件制造、测试和验证等;运行是指产品制造完成之后的过程,包括对系统的维修、保护、改造等。
cdio模式主张在系统和产品构思、设计、实施、运行的工程教育实践环境中培养工程师的基本能力,创造真实的工程教育情境,使学生理解职业工程师专业工作要求和所需的能力要求,通过改革课程体系、教学方法、教师的实践教学能力等内容,让学生以主动的、实践的、多学科间联系的方式,来掌握深厚的技术知识,理解技术发展对社会的重要性和战略影响,培养所需的知识、能力和态度。
cdio教学大纲包括四个方面的内容:①技术知识和推理;②个人能力、职业能力和态度;③人际交往能力;④企业和社会环境下,系统的构思、设计、实施及运行。cdio教学大纲不仅对学生培养所要求的知识、能力和态度做了详细的描述,体现了全面培养的特点,同时也体现了cdio工程教育方法对工程师综合素质能力培养的要求。
cdio采用12条标准来描述其教学大纲要求的教育目标,对实施cdio工程教育模式的指引和评价系统,其具体内容包括:①以cdio为环境背景;②cdio教学目标;③一体化的课程设置;④工程概论;⑤设计-制作经验;⑥cdio实践场所;⑦综合性学习经验;⑧主动学习;⑨教师cdio能力的提升;⑩教师教学能力的提高; [11]学生cdio能力评价;[12] cdio项目评估。
基于cdio的人才培养一般按三个级别的项目[3]进行,一级项目围绕专业核心课程、知识及能力培养要求而设定;二级项目围绕一组核心课程的知识点和能力培养而设计;三级项目为单门课程而设计,旨在增强理解和培养相关能力。其中,一级项目为主线,二级项目为支撑,三级项目与核心课程为基础,将核心课程教育与对专业的整体认识统一起来,并结合项目训练对学生的自我知识更新的能力、人际和团体交流能力,以及对大系统的掌握、运行和调控能力进行整体培养。
2 基于cdio的linux操作系统课程改革与实践
linux操作系统是一门内容多、范围广、应用性强的课程,开在大三上学期或下学期,学时为54学时。传统的教学模式主要是以教师课堂教学(28学时)为主,实践教学(26学时)只是为验证理论课的内容,考核方式亦以试卷成绩为主。这容易导致学生缺少对实验的主动思考,学习积极性不高,工程实践能力较弱。在 cdio的教育理念和评价标准的指导下,我们对教学目标,教学内容,实践能力和考核方式等进行改革。
2.1 教学目标改革
“在实践应用能力培养与基础理论教学并重,突出工程化实践能力和职业素质培养”的教学理念指导下,结合cdio教学大纲的四方面内容,我们修订linux操作系统的教学目标为:“围绕linux系统产业需求和应用技术,以学生为主导,以项目的全生命周期开发形式,掌握linux平台项目的构思、设计、实现和运作,全方位培养学生的计算思维能力和工程化实践能力”。
2.2 教学内容改革
根据cdio标准和linux课程特点,我们通过减少理论教学,加大实践课时的思路对该课程进行改革,课时分配如表1所示。
2.3 实践教学改革
围绕工程化实践和创新精神培养这一目标,我们通过课内验证性实验,课内设计性实验,课内工程实训实验,课外科技创新型实验的有序衔接,构建了多层次、多形式的linux实践教学体系[4]。
⑴ 课内验证性实验:在课程中配套的cdio三级项目,以巩固和加深学生对于特定理论知识点的理解程度。
⑵ 课内综合性实验:强调知识模块的综合应用,循序渐进地强化学生的构思-设计-实施-操作能力。
⑶ 课内工程实训实验,裁减实际linux项目,以团队化的形式实施cdio二级项目,着重培养学生的综合性工程能力和团队协作能力。
⑷ 课外科技创新型实验:通过科技竞赛,参与教师横向项目等实际linux课题,锻炼其工程实践能力和科技创新素质。
cdio教育模式采取以项目为中心、学生为主体的“做中学”教学模式,因此对于课内综合性实验和课内工程实训实验,我们通过小组的项目立项来调动学生学习兴趣和主动性;通过项目组织,让学生进行项目的分工、计划、协调、沟通,锻炼学生的组织能力、团队合作能力;通过项目执行,让学生进行主动学习,分工合作,来培养学生的分析问题、推理问题和解决问题的能力,进而锻炼其工程化实践能力;通过项目演示和汇报,回答提问,来锻炼学生的文档撰写能力,口头表达能力、应变能力。经过这样一个全生命周期项目,学生的职业素养和实践创新能力,都得到了较大的提高。
2.4 课程考核改革
课程考核以验证性实验、综合性实验、工程实训实验组成,分别占期末考试40%,20%,40%。验证性实验以教师现场检查并提交实验报告形式进行;综合性实验、工程实训实验项目则按照学生自评(20%)、组内互评(20%)、组间互评(20%)和教师评价(40%)的评价指标构成来来分别评价。其中教师评价和组间互评以项目论文、答辩情况、小组合作分工以及项目演示结果为依据。组内互评和学生自评则按照每个学生在项目中的工作量工作完成情况、工作表现、团队合作情况来进行。
经过以上四个方面的改革,并在2011-2013届本科学生中实施,使学生的学习积极性得到了提高,系统思维能力和分析解决问题的能力得到提升,学生的项目开发经验更加丰富,这为未来工作和就业奠定了基础。
3 结束语
cdio工程教育理念代表了高等教育的改革方向,如何在课程群和单门课程中设计合适的cdio二级和cdio三级项目,是课程改革的关键点。本文仅在linux操作系统课程中进行了cdio项目的初步探索,未来将结合地方高校的实际和行业需求,与linux企业开展深度合作,探索校企共建linux课程,这也是我们未来研究的方向。
参考文献:
相关热词搜索:;操作系统课程总结操作系统学后感篇三
适用专业:计算机科学与技术专业
先修课程:程序设计语言基础、操作系统一、课程设计教学目的及基本要求
2、掌握以编写程序的方法与操作系统交互
3、了解操作系统内核的添加和裁剪的一般方法
二、课程设计安排
流程:
问题分析及解决方案确定; 形成编程思路;
三、课程设计指南
1、进程间的同步与互斥
2、进程与线程
3、虚拟存储器的工作原理以及虚拟页式存储管理中的页面置换算法
4、进程调度算法模拟编程
5、观察linux的行为
6、进程间通信
7、理解和增加linux系统调用
8、内核模块编程
9、文件系统编程
10、设备驱动程序
11、父进程子进程控制
12、消息的发送与接收
13、磁盘空间管理
14、鼠标键盘控制
15、银行家算法
16、基于linux的proc文件系统编程
17、网络通讯编程
18、shell编程
四、课程设计参考资料
五、考核及成绩评定
操作系统课程总结操作系统学后感篇四
课程类型:专业必修课 学 分:0.5 计划周数:1周
预修课程:高级语言程序设计、微机原理、数据结构 开设学期:第四学期
适用专业:计算机科学与技术本科、网络工程本科、软件工程本科
一、课程设计目的与任务
《操作系统》是一门重要的专业基础课,是涉及较多硬件知识的计算机系统软件课程。在计算机软硬件课程的设置上,它起着承上启下的作用。操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,用户在使用计算机时都要得到操作系统提供的服务。操作系统课程设计的主要任务是研究计算机操作系统的基本原理和算法,掌握操作系统的进程管理、存储管理、文件管理和设备管理的基本原理与主要算法。目的是使学生掌握常用操作系统(如dos、windows或linux)的一般管理方法,了解它是如何组织和运作的,对操作系统的核心概念和算法有一个透彻的理解,并对系统运行的机制有一个全面的掌握,从而充分理解系统调用与程序设计之间的关系。
二、课程设计选题
设计项目一:动态资源分配算法演示程序(银行家算法)
内容:
1.资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加进程及其对资源的需求。
2.可读取样例数据(要求存放在外部文件中)进行资源种类、数目与进程数的初始化。3.在资源分配过程中可以随时进行系统安全状态检测。
4.如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进程满足所有资源分配后能够自行释放所有资源,退出资源竞争。
5.要求进行安全性检查时按指定策略顺序进行,即按每个进程当前need数由小至大进行排序,如果need数相同,则按序号由小至大进行排序; 6.具有一定的数据容错性。
设计项目二:通用处理机调度演示程序
内容:
设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。要求:
1.进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态优先权优先调度算法、高响应比调度算法。
2.每一个进程有一个pcb,其内容可以根据具体情况设定。
5.可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源与进程间的同步关系,故只有两种状态)
6.采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态及相应的阻塞队列。
7.有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间。
设计项目三:用多进程同步方法演示“桔子苹果”问题
内容:
1.二类生产者与二类消费者数目均为20,即20个生产者负责生产桔子,20个生产者负责生产苹果;20个消费者负责消费桔子,20个消费者负责消费苹果。2.二类生产者的生产速度与二类消费者的消费速度均可独立在程序界面调节,在运行中,该值调整后立即生效。
3.多个生产者或多个消费者之间必须有共享对缓冲区进行操作的函数代码,同时需要考虑算法的效率性。
4.每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的全部内容、当前生产者与消费者的指针位置,以及生产者和消费者线程标识符。
5.采用可视化界面,可在运行过程中随时暂停,查看当前生产者、消费者以及有界缓冲区的状态。
要求:用一种结构化高级语言构造分区描述器,编制动态分区分配算法和回收算法模拟程序,并掌握分配算法的特点,提高编程技巧和对算法的理解和掌握。
设计项目五:存储管理之虚拟存储器实现(页面置换算法)
内容:编程序实现先进先出算法(fifo)、最近最久未使用算法(lru)算法、最佳置换算法(opt)的具体实现过程,并计算访问命中率。
要求:
1.设计主界面以灵活选择某算法,且以上算法都要实现。2.用随机数方法产生页面走向。3.假定初始时页面都不在内存。
设计项目六:文件系统设计
内容:以内存作为存储区,模拟unix的文件系统结构,设计一个简单的文件系统,并提供以下的文件和目录操作接口:创建文件、删除文件、打开文件、关闭文件、读文件、写文件。
要求:设计文件系统的数据结构和数据结构间的关系,设计文件的基本操作算法,完成系统的总控模块编程和各个操作模块编程。上机测试各个模块,没执行一个操作,打印有关数据结构的内容,判断操作的正确性。
设计项目七:编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度。
内容:设计一个磁盘调度系统,针对磁盘访问序列,可以选择先来先服务算法(fcfs)、最短寻道时间优先算法(sstf)、扫描算法(scan)、循环扫描算法(cscan)来实现。
要求:
1.系统主界面可以灵活选择某种算法。
2.每种调度算法实现之后,要计算出每种算法的平均寻道长度,并比较结果。
3.采用改进算法之后是否会使性能提高?
设计项目八:
内容:在windows环境下,编程实现基于共享内存的多个进程间通信。要求:(1)当两个进程通信时需满足进程同步机制。(2)当多个进程(大于2)通信时需使用信号量机制实现互斥操作。
(3)编程语言不限。
操作系统课程总结操作系统学后感篇五
先修课程与环节:高级语言程序设计、数据结构和操作系统
二、课程设计目的和任务
本课程是计算机专业的学生在学习了《操作系统》课程之后,为了加深和巩固学生对所学操作系统各个理论和算法知识的理解,同时提高学生利用操作系统知识综合运用的能力和分析问题、解决的问题的能力而开设的一门实践课程。
通过本环节学生能够充分把学到的知识应用到实际的编程实践中,有可以进一步巩固操作系统中学习的理论。通过算法实现各种控制应用进一步体会操作系统中基本功能模块的结构和实现方法的实质,建立深入了解现有操作系统的评价和比较的方法,加深体会利用操作系统的原理能够解决实际问题的在计算机系统编程和普通编程中解决实际问题的思路;通过对程序编写规范,可以培养学生良好的编程风格,包括程序结构形式,行文格式和程序正文格式等;并培养学生的上机调试能力。
三、课程设计方式
1、课程设计题目的选定
采用指导教师提供参考题目与学生自主命题相结合的办法选定课程设计题目。一人一题,不得重复。其中学生自主命题需要指导教师严格的审核,看是否满足课程要求,检查是否为重复课题。
2、课程设计任务的完成
在指导教师的指导下,各个学生独立完成课题分析、设计、代码编写和调试,独立撰写课程设计报告。所有工作任务主要在微机实验室完成。
四、课程设计教学方法与要求
1、对系统进行功能分解、模块分析、控制模块分析正确
2、选择合适的操作系统原理所需要数据结构以及相应的算法
4、掌握程序调试的方法
5、说明书、流程图要清楚,阐明设计思路。
6、撰写课程设计报告。按格式要求写出完整、规范的报告并打印。其中模块图、流程图要清楚、规范。特别要求学生自己独立完成。
五、课程设计内容和时间安排
(一)动员、准备及规划(1天)
(二)课程设计实施、检查(1天)
(三)课程设计实施(12天)
(四)整理报告(1天)
六、课程设计基本要求
(一)动员、准备及规划
1、要求:通过学习,使学生了解所选择开发环境的程序运行环境中的调试功能,掌握跟踪、修改错误的技巧。
2、重点:题目的选定和结合操作系统原理的各个部分确定实现的功能以及和原理的结合,难点:对于程序运行环境学会断点设置以及中间结果的检查。
3、说明:题目自选也可以参考教师提供的题目,选题要紧密结合课堂教学内容;并建立一个可行的工作计划;熟悉程序运行环境。
(二)课程设计实施、检查
2、重点和难点:算法分析和设计
3、说明:学生自检和指导教师检查相结合,严格按照拟订计划完成任务
(三)课程设计实施
1、要求:培养良好的编程风格,掌握所选编程语言
2、重点和难点:算法分析和设计
3、说明:学生自检和指导教师检查相结合,严格按照拟订计划完成任务
(四)整理报告
1、要求:通过学习,使学生掌握报告书写规范
2、重点:格式的规范
3、说明:指导教师检查
七、课程设计的考核方式和成绩评定标准
(一)课程设计考核方式
点名、各个环节的考核及程序检查、设计报告的综合评定。
(二)课程设计成绩评定标准 课程设计成绩=点名*10%+程序检查*30%+设计报告*60% 由指导教师根据学生完成任务的情况、课程设计报告的质量和课程设计过程中的工作态度等综合打分。成绩评定实行优、良、中、及格和不及格五个等级。不及格者不能得到相应的学分,需重新做课程设计,经指导教师考核及格后,方可取得相应学分。
及格:有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确; 不及格:没有完整符合标准的文档,软件没有基本实现设计方案,设计方案不正确。提交的电子文档和软件必须是由学生自己独立完成,雷同者教师有权视其情况扣分或记零分。
八、课程设计指导书 孙钟秀编《操作系统教程》(高等教育出版社)
九、其他说明
(一)课程设计报告要求:
总结报告按如下内容顺序用a4纸进行撰写并打印装订成册:
1、统一的封面;
2、内容摘要;
3、目录;
4、课程设计正文包含以下内容:(1)需求分析
(2)概要设计:每个部分的算法设计说明可以是描述算法的流程图,说明每个程序中使用的存储结构设计(如果指定存储结构请写出该存储结构的定义)。
(3)详细设计:各个算法实现的源程序,源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。(4)调试分析:测试数据,测试输出的结果,算法时间复杂度分析 e结论和展望:每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),和算法的改进设想。课程设计过程的收获、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容。
(5)按统一格式列出主要参考文献。
(二)学生上交材料:
3、课程设计报告
课题
一、编制银行家算法通用程序,并检测所给状态的系统安全性。
1)资源的种类和数目可以变化的 2)进程可以的任意的顺序创建和变化 3)采用保守的方法来分配资源。
课题
二、处理机调度程序:选择一个调度算法,实现处理机调度。
3)本程序包括三种算法,用c语言实现,执行时在主界面选择算法(可用函数实现),进入子页面后输入进程数,(运行时间,优先数由随机函数产生),执行,显示结果。
课题
三、用多进程同步方法解决生产者-消费者问题
1)先进先出算法(fifo)
2)最近最久未使用算法(lru)3)最佳置换算法(opt)
课题
1)先来先服务算法(fcfs)
2)最短寻道时间优先算法(sstf)3)扫描算法(scan)
4)循环扫描算法(cscan)
课题
3)对临界区的访问应遵循空闲让进、忙则等待、有限等待、让权等待的准则。4)进程间通信可以采用信号、消息传递、管道或网络通信方式。
1)可以实现下列几条命令(至少4条)。
login
用户登录 dir
列文件目录 create
创建文件 delete
删除文件 open
打开文件 close
关闭文件 read
读文件 write
写文件
2)列目录时要列出文件名、物理地址、保护码和文件长度。3)源文件可以进行读写保护。
课题八:存储管理---动态分区分配算法的模拟:
课题九:编程演示三种存储管理方式的地址换算过程:
1)分页方式的地址换算 分段方式的地址换算 3)段页式的地址换算
要求演示正确、清晰,编程所用工具不限。
课题
十、编写一个简单的端口扫描程序
目的:熟悉linux下socket、网络编程的基本方法;
课题
十一、编写一个基于tcp协议的客户/服务器程序
目的:熟悉linux下socket、网络编程的基本方法,掌握实现客户/服务器程序的编写方法; 任务:编写一个简单的程序,该程序可实现基于tcp协议的简单的客户/服务器方式。
课题
十二、编写一个使用数据报套接字的客户/服务器程序
十三、在linux平台编写一个简单的网络监听程序
目的:熟悉网络数据包格式,熟悉捕获网络数据包的基本方法
任务:在linux平台编写一个简单的网络监听程序,该程序能捕获网络数据包,并根据需要分析相应的数据包。
课题
十四、编写一个简单的内核模块。
1)该模块至少需要有两个函数:一个是init_module()函数,在把模块装载到内核时被调用,向内核注册模块所提供的新功能;另一个是cleanup module()函数,在卸载模块时被调用,其任务是清除init_module()函数所注册的功能。编写完成后进行该模块的编译、装载和卸载操作。编写一个用户空间的程序来测试是否成功。
2)进一步的要求:向上面模块中再添加一些自己设计实现的新函数新功能;编写一个用户空间的程序来测试你的模块能否实现自己添加的功能。
课题
十五、编写一个简单的命令解释器—模拟shell功能 基本要求
课题
十六、实现系统状态监测工具
5)支持的文件系统类型
6)系统正在使用的module信息
附件2:课程设计题目
1.中文输入法程序 2.文件管理系统 3.线程管理
文件结构解析 9.异常处理系统 10.作业管理 11.中断驱动程序
39.内存管理——页面置换算法
附录3:课程设计封皮
仲恺农业技术学院
课程设计报告
课程名称:操作系统
实验题目:tcp/ip编程-网络聊天
二○○八年七月二十日
操作系统课程总结操作系统学后感篇六
;摘要:随着3g移动应用的日益广泛,市场对android应用软件需求量大增,导致对android软件工程师的需求量大增。为了增加学生的就业机会,学校开了《android操作系统》课程。本文从课程的背景、地位和目标、内容组织结构和教学方法和手段几个方面进行探索。
关键词:android操作系统;教学改革
1 课程背景
近年来,随着智能手机和平板电脑的普及,智能手机和平板电脑的需求量在逐年增加。在智能手机和平板电脑的市场中,android操作系统已经成为中坚力量,其发展势头非常迅猛。市场调研公司gartner的数据显示,2011年年底android成为最大的智能手机平台,2012年其市场份额将达到49%。
android操作系统终端用户希望android操作系统为自己提供更多的服务,为了满足这种需求,各家智能终端生产、研发公司都投入android应用软件开发领域。由于android在国内发展才几年的时间,所以人才的稀缺性问题日益凸显。目前国内的3g研发人才缺口有三、四百万,其中android研发人才缺口至少30万。
2 课程地位和目标
android操作系统使用了软件堆层的系统架构,自下而上分别为:linux kernel(linux内核)、libraries(函数库)、android runtime(android执行环境,包括android core libraries和dalvik virtual machine)、application framework(应用程序框架)、application(应用程序层)[1],如图1所示。进行android应用程序开发需要熟练掌握c/c++、java、linux三门语言,还要有扎实的算法、数据结构、数据库等基本功。根据学生的实际情况,这门课安排在大二的下学期或大三的上学期的,该课程的课程体系如图2所示。
通过这门课的学习,学生可以掌握android知识和开发技术,通过分组开发项目,真正了解android平台的开发规范和一些常识性的问题,可以增加学生实习和就业机会。
3 课程内容组织
以能力为本位,以专业技术应用能力和岗位工作技能为主线设置课程内容。在设置课程内容的过程中考虑师资力量和学生的接受能力,并认真听取行业企业专家的意见,使课程内容不但与职位岗位(群)的任职要求相吻合,还要具有科学性和可操作性。
4 教学方法和手段
针对《android操作系统》课程特点、学生特点和企业对人才的实际要求,在教学上采用“任务驱动和研讨式”教学方法,加强课程设计环节,建立网络学习平台等方法,培养学生创新能力和独立分析问题、解决问题的能力,激发他们的学习兴趣,扭转学生被动参与学习的局面,使学生逐步完成由“要我学”向“我要学”的转变。
4.1 以学生为主体,采用“任务驱动和研讨式”教学方法相结合。著名的心理学家皮亚杰提出的构建主义学习理论认为,知识不是通过教师传授得到的,而是学生在一定的情景下借助他人(包括教师和同学)的帮助,利用必要的学习资料,通过意义构建的方式而获得。构建主义提倡在教师指导下,以学习者为中心的学习,既强调学习者的认知主体作用,又不忽视教师的指导作用[2]。
以“任务驱动”的教学方法是一种建立在构建主义教学理论基础上的教学法。它要求实践教学必须与任务相结合,以探索问题来引起和维持学习者的学习兴趣和动机,创建真实的教学环境,让学生带着真实的任务学习,学生拥有学习的主动权。
课堂上,采取任务驱动和研讨式相结合的教学方法。具体步骤是:
(1)提出任务。教师设计的任务可以将要掌握的知识蕴含于其中,使学生通过完成实践任务达到掌握知识的目的。教师设计的任务不但要具有较强的实用性,贴近实际,而且还要操作简单,学生比较容易上手,易于实现,这样才可以激发学生对课程的兴趣,提升学生学习的自信心。(2)分析任务。教师提出任务后,给出一定的时间,让学生分析任务,研讨对有关问题的解答。教师对其中的重点、难点作适当的讲解,并根据任务需求结合知识点进行剖析。对知识点的讲解本着选择实际工作中常用的实用技术,不是求全求广,而是求精求专的宗旨。(3)上机实践。学生带着任务上机实践,并在完成任务的过程中,对任务提出进一步完善的意见。(4)实践总结。教师对学生实践过程中遇到的问题要及时指导,对学生完成任务的情况进行归纳、总结。学生对任务提出进一步完善的建议,要引导其进一步深入探索解决办法。
这样,在任务驱动下,通过研讨的方式,学生边学边实践,充分发挥了学习的主动性和创造性,提高了发现问题、解决问题的能力。学生能体会到完成任务的成就感,从而激发他们进一步学习的积极性。
4.2 加强课程设计环节。课程设计是对本课程所学内容的综合运用和巩固提高,它在整个android教学过程中起到一个承上启下的关键性作用,一方面能够巩固前面所学的基础知识;另一方面能让学生了解android开发的一些基本流程和开发规范,为以后从事android开发作铺垫。
在课程设计过程中采用分组的组织形式,3~4个人为一组,完成一个小型的项目,这样可以让每个学生都充分参与到整个项目的全过程。项目小组成立以后,按软件企业项目小组建制形式进行角色分配,选举组长,让每个成员都明确自己的角色,知道自己在团队中的责任。每个团队每周必须召开一次老师参与的小组周会,以便于老师了解项目进度和遇到的问题。对于小组解决不了的问题,可以发动大家群策群力,共同讨论,寻求解决方案。
4.3 建立网络学习平台,方便学生自主学习。网络学习平台是课程建设的主要内容之一。网络教学平台具有全面性、实时性、快捷性、互动性等特点,能够有效弥补课堂教学的不足,可以激发学生学习兴趣,培养学生学习的主动性。
android是一个复合型的平台,对人才的要求很高,既要懂linux内核又要懂java前台。对学生来说,把握android技术必须要精通linux与c、java等编程语言,此后才能继续学习android应用开发。这就要求任课老师要在新课程的讲解过程中适当的帮助学生回忆相应的前驱课程的知识点,使之与新课程融合,在原有的基础上,构建新的知识体系。
网络学习平台提供齐全的课件(前驱课程的课件和本门课的课件)、学生参考书、项目资料、学生作品展示等几部分。由于课堂时间有限,老师只能讲解少量几个案例,学生在实现的过程中遇到问题或是针对课上案例有更好的完善想法急于实现时,可以在网络平台上寻找合适项目资料进行研读,从中找到解决问题的方法。在此过程中充分调动了学生的学习主动性、积极性和创造性,大大提高了学生分析问题、解决问题及动手能力,使之理论和实践相结合,积攒了小项目开发的经验,从中逐步递增的体会到成就感。
4.4 职业素质教育贯穿全过程。良好职业素质能够帮助学生快速融入职场,实现人生价值。教师在传授专业知识的同时应该强调职业素质教育,把职业素质教育融合到教学中去,注重学生职业道德、沟通能力、团队协作能力和解决实际问题能力的培养。
每个项目不可能由一个人来完成,需要通过组成强大的团队来创造奇迹。在项目实施的过程中培养学生合作能力、创造能力、组织管理能力、获取信息能力、口头表达能力、社会活动能力等。其次是让学生了解android软件开发的行业规范和开发流程,在项目中积累实践工作经验。
4.5 考核方式多元化。由于《android操作系统》是一门实践性课程。检验其教学效果的唯一手段不是学生的卷面成绩,而是学生是否将所学的知识灵活用到实际的项目中。在考核方式上,改变传统的“一卷定优劣”的考核方式,向多元化方向发展。学生成绩由三部分组成,即平时成绩、卷面成绩和课程设计成绩。课程设计设计成绩由两部分组成,即组长评价成绩和老师评价成绩。根据学生在项目组中承担的任务量、完成质量、文档规范性、参与积极性、执行力等方面,由组长进行量化评价。教师根据课程设计总体完成情况、难易程度,以及个人对团队的贡献等因素进行综合评判,给出教师评价成绩。
5 总结
经过一段时间的改革,学生的学习积极性明显提高,学生不仅积极完成课堂上的任务,同时也开始利用网络学校平台自主学习,积极组织及参与各种形式的讨论,课后提问明显增多,学习气氛浓厚。学生开发编写代码的数量和质量有个质的提升,并主动探索设计模式等较为深入的内容。
在教学改革过程中,还有许多需要深入的地方:(1)鼓励教师进企业顶岗实习,提高教学水平。教师必须具备完成一个项目所需的全部理论知识和专业技能,寻找到一个能覆盖学生学习领域所涉及的全部或绝大多数内容的合适项目,必须充分收集、熟悉、掌握相关资料,并从中概括要点,提供分析、讨论的框架,必须做大量的准备工作以应对学生可能提出的各种问题,还要求教师具有很强的调控能力。有些经验是书本上学不到的,教师必须要进入企业真实的项目中去实践,寻找实际案例,培养较高的项目开发能力。(2)加强校企合作,给学生创造积累实践经验的机会。在校的所有项目都是模拟项目,这样可以适当的提升学生的开发能力,让学生了解开发流程和开发规范,但和企业实际的工作环境和项目还是有差别的。要加强校企合作,让学生深入企业实训,在实际工作可以切身体验严格的工作纪律、一丝不苟的技术要求,感受工作的艰辛、团队合作的价值和成功的快乐,不仅能为学生直接了解具体工作岗位的技术要求,提高职业能力,为毕业与就业接轨,上岗工作奠定基础,而且对培养学生的组织纪律观念、良好的职业道德、认真负责的工作态度,以及艰苦朴素的生活作风、团结协作的团队精神和坚定乐观的生活态度都有极大的帮助。
注:
[作者简介]
李博(1980-),女,河北秦皇岛人,讲师,硕士研究生,从事计算机教学与研究。
相关热词搜索:;操作系统课程总结操作系统学后感篇七
;摘 要:基于obe教育理念,分析操作系统原理课程教学现状,重新定义课程教学目标,将教学内容分为二十四个教学单元,分别设计了教学策略和教学方法,构建了多元化的考核模式。实践证明,基于obe教育理念的一系列课程改革,活跃了课堂气氛,激发了学生的积极性、主动性,教学质量明显提高。
关键词:obe教育模式;教学单元;教学策略;多元考核
一、obe教育理念概述
obe教育理念是基于学习产出或成果导向的教育理念,最早出现在美国和加拿大的基础教育改革[1-3]。斯派蒂、斯洛克、布兰迪等美国教育家自20世纪80年代对以学习产出或成果导向为基础的教育进行了长期的研究,他们认为学习产出教育或成果导向教育是以学生为中心,以成果为导向设计教学,达到所有学生都能学会的目的,强调能力培养和能力训练[4-5]。因此,obe的教育理念非常重视定义工科毕业生的品质,然后围绕预期学习产出开展教学活动,将毕业生的能力导入到课程计划中,明确课程及每节课对预期学习产出的贡献,形成教学活动与毕业生能力的匹配矩阵,最后评估学生达到了预期学习产出。obe教育教学理念强调学生的学习成果[6],要求教师以学习成果为导向反向设计教学活动和评价标准,优化教学内容,探索有效的教学方法,重视学生的学习效果[6-7]。本文将obe教育理念引入操作系统原理课程,探索该课程教育教学改革的新途径。
(一)以教师为中心,以内容为本,多采用填鸭式教学
传统操作系统原理教学以教师为中心,教师根据教学大纲,安排教学内容和教学顺序,制定进度计划,撰写教案和讲稿。教学时多以讲授的方式单向传受给学生,学生仅仅是课堂的听众,被动接受知识,智力投入少,信息处理的深度不够,缺乏学习兴趣。这种以内容为本的教学方式忽视了学生的主体作用,严重制约了自主学习能力和创新能力的培养,学生学习的目标仅仅是为了应付考试。
(二)教學内容相对陈旧
信息时代、计算机技术日新月异,出现了与之相配的多种操作系统,如网络操作系统、分布式操作系统、嵌入式操作系统、手持设备操作系统等等。操作系统原理的教学内容一直停留在讲解基本内容,未曾将前沿研究成果引入课堂教学,致使教学内容相对陈旧。
(三)教学方法单一
操作系统课堂采用多媒体教学,教师将教学内容以幻灯片的形式展示给学生,同时讲解重点和难点。这种形式授课对于文字性的描述,学生观看容易疲劳;对于推理性的描述,学生思维跟不上教师;另外,加上有些教师不想付出太多,幻灯片上多数是大段文字,讲课时对着幻灯片读。这样一来,学生没有兴趣,课堂气氛沉闷,玩手机、打瞌睡、走神现象严重。
(四)期末考核一锤定音
课程考核时,教师根据教学内容拟定试卷,再根据学生答卷的情况评定学生对课程的掌握程度,从而衡量学生是否达到教学要求。这种考核方式具有较大的片面性,它关注学生对知识的掌握程度,忽略了学生运用知识解决实际问题的能力,也不管学生整个学期的学习表现,只看答卷情况,不能全面反应学生是否达到了毕业要求的能力和水平,也未提供反馈。
因此,为适应我校应用型本科人才培养要求和特点,我院计算机科学与技术专业培养方案引入了obe教学理念,根据培养方案中操作系统原理课程和培养目标、毕业要求的关联,定义该课程的预期学习产出,并以此为导向,从教学内容、教学策略、教学方法、多元评估等方面进行了一系列的改革和探索。
该课程主要讲述操作系统的管理功能及各种实现技术,是深入探讨计算机系统过程中不可或缺的重要步骤。它的指导思想是通过概念理解原理,通过原理的掌握理解计算机的运行方式;因此,通过对课程内容重组设计,有效培养学生独立思考、深入钻研、对问题提出多种解决方案、选择不同算法的创新能力;通过操作系统解决问题的方法的剖析,培养和提高学生分析问题、解决问题及系统认知能力;按照从实践中来到实践中去的思路培养学生归纳、总结、消化、吸收、运用、自我扩充知识的自学能力及开发能力。通过该课程的学习,使学生达到四个能够:1. 能够将操作系统专业知识用于计算机工程问题;2. 能够运用计算机工程基础知识和专业知识识别表达计算机工程相关技术要素;3. 能够运用计算机工程原理、技术和方法,分析工程问题,并在具体问题分析时对相关综合文献分析研究并获得有效结论;4. 能够在分组实验、课程设计等实践教学或多学科背景的团队中进行有效沟通和协作,能够综合团队成员的意见,进行合理决策。
四、课程内容模块化及教学策略设计
操作系统的地位、作用、功能模块。该模块主要采用产生式和替代式相结合的教学策略,首先引导启发学生根据亲身使用计算机的感受,认识到计算机系统中若没有操作系统,人们就无法使用计算机,同样也不能安装自己需求的游戏、音乐、程序设计工具等软件,从而理解操作系统的地位、作用。采用任务驱动教学法,设定任务,学生转换角色,站在开发者的角度讨论操作系统的功能,培养学生思想创造能力和系统认知能力,使其能够将操作系统专业知识用于计算机工程问题。
操作系统的发展过程模块。该模块主要采用替代式教学策略,采用问题驱动、抢答、引导启发等教学法,以提高资源利用率、方便用户使用为主线,设置一系列问题,学生放飞思想,各抒己见,认识不同类型的操作系统、程序的运行过程等,培养学生的创新思维能力,输送遵守公共秩序的情感,使其能够将操作系统专业知识用于计算机工程问题并且能够用专业知识识别表达计算机工程相关技术要素。
进程控制模块。采用竞争与合作、独立学习和小组学习两种教学策略,引导学生思考一个生命从诞生到消亡的控制问题。采用小组讨论、自主发言、课堂竞答、角色转换等方法,学生能够运用计算机工程原理、技术和方法,分析工程问题,并在具体问题分析时,对相关综合文献分析研究并获得有效结论。
进程同步模块。采用替代式教学策略,采用分析讨论、问题驱动教学法,分析各种软、硬件同步方法。培养学生自学能力、分析问题、系统认知开发等能力。
信号量模块。采用替代式教学策略,类比、情景模拟、问题驱动等教学法,类比生活中的交通信号灯工作机制,设问思考操作系统中信号灯的设置、控制、使用等问题的解决方法,从而培养学生运用计算机工程原理、技术和方法,分析工程问题,解决问题的能力及创新思维能力、系统开发能力。
作业调度模块。采用产生式教学策略、竞争与合作教学策略。采用分组讨论法、发现法、问题驱动法等教学方法,讨论算法思想、发现算法不足,提出解决方案,设计新的算法。培养学生发现问题、解决问题、优化创新思维、程序设计和系统开发能力。
死锁模块。采用替代式教学策略,采用引导启发、任务驱动等教学法,引导学生思考生活中什么现象是死锁、发生死锁一定具备哪些条件,如果不想出现死锁该怎么办。培养学生系统开发能力、问题分析能力、程序设计能力及创新思维能力。
五、教学手段与教学方法设计
根据整合的教学知识点及对应的预期产出,构建了板书+多媒体+网络平台的三位一体教学模式。制作多媒体课件、辅助动画系统用于展示重点且又抽象的知识点,让其直观、形象,增加教学的趣味性。借助于板书这种传统模式展示理论性强的知识点,让学生紧跟教师思路,理解相关理论。借助于网络教学平台,建立课程题库,让学生自测和章节测试,巩固课堂教学内容;通过教学知识点的微视频,学生根据自身特点,选择性学习,加强薄弱知识点的理解和掌握;通过网络平台推荐资源、视频等内容,拓宽学生视野。三位一体教学模式,有效改善课堂教学效果,提高教学质量。
在课堂教学中,根据知识点本身的特点,结合学生的理解情况,采用趣味教学法、問题驱动教学法、竞争抢教学法、情景模拟教学法、分组教学法辩论式教学法、任务驱动法等多种教学方法。比如在讲操作系统中最重要的概念进程时,课前提出问题:“何谓程序,何谓进程,二者有何区别?”提供知识点链接如表1。
要求学生课前利用大约一周时间,根据知识点链接,以学习小组为单位,查阅资料、自主学习、组内交流。课堂上同学们积极讨论、教师及时总结评价,获得了良好的教学效果。
再如知识回顾或引入时,教师提出问题,学生思考1分钟左右的时间,以小组为单位开始抢答。小组的任何一名同学抢到并回答正确,给予该组同学加分奖励。每抢答一次,组内每位成员记1分,上不封顶,根据抢答次数核定抢答成绩。竞争抢答教学法有效活跃课堂气氛,激发学生参与课堂的积极性。
六、构建多元化考核模式
采用课堂考核、学生自测及章节测试、实验成绩与期末考核相结合的方法。期末成绩=课堂考核成绩×15%+学生自测成绩×15%+章节测试成绩×20%+实验成绩×15%+期末试卷成绩×35%。
(一)课堂考核成绩
课堂考核成绩包括任务完成情况、抢答情况、答辩情况、作业及互评情况等综合评定。平时考核具体操作方法:制定一张平时成绩考核表,每一组发一份,由组长负责,记录每次课堂学生讲授、辅导、答辩、抢答、回答问题等课堂表现成绩,学生的最终平时成绩由各组所打成绩的平均值确定;作业及作业互评成绩由课程网络教学平台统计获得。另外,当课程所有任务点结束时,下发一份课程的所有任务点及考核大纲,要求每组学生出一份符合教学任务点和考核大纲的试卷,附加一次课,讨论各组所出试卷的质量,根据讨论情况,给各组打分,取平均成绩作为本组出试卷作业的成绩。
(二)学生自测及章节测试成绩
通过学校提供的网络教学平台,按章节建立试题库。每章讲授结束时,布置自测任务,每位同学参加章节测试前完成规定数量的自测任务。章节测试时,由教师随机抽题,组成10余套试卷,通过平台随机发送给学生,不同学生拿到的章节测试题目可能是不同的,这样可以避免相互抄袭现象。学生在测试开放时间内完成测试,过期则测试失效,成绩为0。通过网络平台进行章节测,可以清晰的记录测试次数、测试班级、测试学生、测试试题、测试成绩、学生答题具体情况等。
(三)实验成绩
实验成绩根据实验出勤、实验效果、实验报告综合评定,其中实验出勤占实验成绩的10%,实验效果占实验成绩50%,实验报告占实验成绩40%。即:实验成绩=实验出勤成绩×10%+实验效果成绩×50%+实验报告成绩×40%。
(四)期末考试成绩
按照课程知识点,采用笔试的方法,以试卷的形式考核学生对知识点的掌握情况。
基于obe教育理念,对操作系统原理课程进行一系列教学改革。根据预期产出,以学生为中心,重构教学单元、设计教学策略及教学方法,注重学生自我评价、学生互评、形成性评价,引导学生自主学习、合作学习、创新学习、探究学习等,取得了良好的教学效果。但由于改革实践时间不长,各环节还有待持续改进。
参考文献:
相关热词搜索:;