版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、应用型本科院校操作系统课程实验设计【摘要】根据应用型本科院校的办学类型、培养目标及需求,设计适合于应用型本科院校的操作系统课程的实验项目,以激发学生的学习兴趣,提高学生的编程能力。【关键字】操作系统实验教学应用型本科院校操作系统是本科院校计算机专业的重要核心课程,也是一门教学难度很大的课程。操作系统课程具有以下特点:一方面理论性强、概念抽象,学生难以理解;另一方面设计技巧巧妙、实现机制精妙、系统代码量大,学生难以掌握。如果单纯进行理论教学,学生会认为课程概念晦涩、原理复杂、内容枯燥,无法激发学习兴趣。因此,相应的实验教学是操作系统课程教学是否高效的关键。为弥补操作系统实验教学缺失,各高校从多个
2、方面进行了实验的研究与实践,其中北京大学根据MIT课程,建立了自己的操作系统实验体系;清华大学专门设置了操作系统专题训练课程;南开大学提倡使用系统仿真的实验环境加强学生理论联系实际的能力。一、当前操作系统实验课程的特点目前的操作系统课程实验方式主要有以下几种类型。观察与体验:这是最简单的一种实验方式,实验时选择一个实际的操作系统作为实验环境,学生通过观察操作系统某个功能的具体运行现象,体会操作系统原理的设计内容。这种实验方式几乎不需要编写程序代码,对真正理解操作系统内在原理没有什么帮助,现在一般都不采用这种实验方式。算法模拟:选取课程中的一些典型算法,如进程的创建与同步、死锁的避免等,让学生编
3、写程序来模拟实现操作系统的某些特定功能。这种实验方式与程序设计课程的实验基本类似,有利于学生在提高编程水平的基础上加深对操作系统理论的理解。这种方式难度不是很高,适合于应用型的本科院校。扩展设计:提供一个从无到有的渐进式操作系统原型,由学生对其功能进行完善和扩充。如首先设计引导程序,然后再设计内存的管理、外设管理等一系列实验,由学生在渐进式操作系统原型的基础上完成实际的大部分功能、策略和算法等。教学实验平台多以专用的操作系统为主,例如清华大学、北京大学采用Nachos、Minix等,同济大学借助于WRK,搭建了类似的基于Windows操作系统内核的实验平台。扩展设计的方式对学生的能力要求较高,
4、适合于研究型的重点院校。研究型重点院校操作系统课程实验目的是要求学生通过实验具备初步的开发小型操作系统的能力。应用型本科院校学生的基础和素质相对不高,过分强调达到研究型大学计算机专业课程要求,只会适得其反,完不成教学预定目标。因此,应用型本科院校操作系统课程实验适合采用算法模拟的方式,但目前的算法模拟实验主要存在两个问题一是操作系统课程实验很大一部分是基于Linux系统下的程序,如父子进程、进程间通讯等。而应用型本科院校的学生毕业后很少在Linux系统下编程,因此实验应大部分基于Windows系统。学生可做少量的基于Linux系统的实验,并和Windows系统下的编程进行比较,以达到初步了解L
5、inux系统编程的程度。二是基于Windows系统下的实验程序大部分过于庞大,代码基本在100行以上,学生无法在两节课的时间内完成实验,程序代码必须精简到50行左右。二、应用型本科院校操作系统实验设计完整的实验体系包括实验设备及实验环境构建、实验任务书、实验过程和实验考核。实验前开设实验指导课,说明和分析实验的构成、注意点,分析与实验有关的算法。本门课程的先修课程是C语言程序设计、数据结构、网络操作系统。(一)实验环境构建基于操作系统的实验设备为一人一台计算机。1操作系统。学校用于教学的机器基本安装有Windows系统,因此主要问题在于Linux系统的安装,Linux系统的安装可采用两种方式:
6、最简单的方式是配置一台专门的Linux服务器(服务器使用普通的PC机即可),学生机仅安装Windows系统,学生通过telnet登录到Linux系统来完成实验。另一种方式是一台学生机上同时安装Windows系统和Linux系统,Linux系统安装在Vmware虚拟器上。这种方式对学生机的性能要求比较高,内存至少1G以上。2.程序设计软件。Windows系统下使用VC6.0专业版或企业版,Linux系统下使用vi编辑器编写程序,用gcc进行编译,安装Linux时注意安装要开发部分。(二)实验项目实验项目以Windows系统下为主,Linux系统为辅,实验项目设置的原则是:1能够帮助学生更好地掌握
7、操作系统的原理,理解操作系统在此项功能上的重要作用。2基于Linux系统下的实验程序,设计出可实现同样功能的运行于Windows系统的实验程序,例如,线程的创建、线程的同步、线程间的数据通讯等。使学生既可以了解Linux系统下的编程,也可以提高Windows系统下编程的能力。3实验难度适中,完成的时间适中。实验不能过多、过难,因此精简现有的基于Windows系统下的实验程序,使学生能够在两节课的时间内完成实验,例如,处理机管理、死锁实验、虚拟存储器管理等。经过几年的摸索和反馈,实验的内容安排如表1,必做的实验项目在课堂上完成,选做项目课后完成,课程实践项目在16课时的课程实践教学环节中完成三、
8、实验示例目前的操作系统课程算法模拟实验一般都是基于Linux系统,而应用型本科院校毕业的学生在工作中主要在Windows环境下编程,为了使学生在通过实验理解操作系统理论知识的基础上,提高在Windows系统下的编程能力,专门设计了基于Windows的父子线程控制实验。(一)实验目的1基于Windows系统的父子线程控制实验”与Linux系统下父子进程控制实验”的实验结果完全相同,学生先完成Linux环境下的实验,再做Windows环境下的实验,可以感受到不同系统下编程方式的差异。2目前的大型应用软件都是多线程多任务处理,因此掌握多线程多任务的程序设计方法对每个计算机专业的学生都是很有必要的。(
9、二)实验内容Windows系统用线程来代替Linux系统中的子进程概念。Windows系统能同时运行几个程序,独立运行的程序称为进程。线程是进程内部的一个独立执行单元,相当于Linux系统中的子程序,单独一个进程运行时,至少包含一个主线程。进程可以分解成许多独立执行的线程,每个线程并行运行在同一进程中,线程提供了多任务处理的能力。进程和线程概念的出现,对提高Windows环境下应用软件的并行性有着重要的意义。基于Linux环境下的父子进程控制实验”是通过调用Linux系统的函数fork()创建子进程的方式来实现。而基于Windows系统的父子线程控制实验”是通过调用_beginthreadex
10、()函数来编写多线程的程序。1.线程创建。在Windows中启动一个线程,需要先编写一个应用程序的其余部分并行运行的函数如son(),然后定义一个指针变量*hThread。指针变量*hThread调用函数_beginthreadex(),得到的返回值在赋给hThread变量的同时启动该线程来执行上面的son()函数,son()是线程的控制函数。实验程序使用系统调用函数_beginthreadex()来创建两个线程。当实验程序运行时,有一个父线程和两个子线程在系统中同时活动。一个线程在屏幕上显示一个字符串:父线程显示字符串father,子线程分别显示字符串son´和daughter由于
11、现在的计算机系统线程的输出太快,我们很难看清楚程序运行结果,因此需要使用延时函数Sleep()来暂停线程的执行,Sleep(1000)表示暂停1秒。设定指针变量代码如下:hThread仁(HANDLE)_beginthreadex(NULL,0,son,NULL,0,NULL);实验结果如图1所示,一个父线程和两个子线程并发执行,三个字符串随机输出。2线程的控制。对于一个临界资源被多个线程共用而导致程序执行的混乱,采取的解决方法是只允许一个线程拥有对共享资源的独占。应用CreateMutex()函数创建一个独占资源来给每个线程加锁,以此实现线程之间的互诉,CreateMutex函数创建的代码如下:hMutex二CreateMutex(N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版二零二五年度教育信息化设备采购合同范本4篇
- 2024送餐员电动车及装备租赁服务合同协议3篇
- 2025版危险品运输驾驶员聘用及福利待遇合同3篇
- 2025版信用社贷款合同贷款合同解除及终止合同3篇
- 2025版医疗器械生产委托合同实施细则3篇
- 二零二五年度建筑材料供应商质量保证与绿色环保施工协议3篇
- 2024苗木采购合同书
- 专属经营委托协议样本(2024)版B版
- 2025年度智能社区安防监控系统采购与实施合同3篇
- 科技助力下的城市水系保护工程
- 2024年公需科目培训考试题及答案
- 2024年江苏鑫财国有资产运营有限公司招聘笔试冲刺题(带答案解析)
- 2024年辽宁石化职业技术学院单招职业适应性测试题库含答案
- 广西桂林市2023-2024学年高二上学期期末考试物理试卷
- 财务指标与财务管理
- 部编版二年级下册道德与法治第三单元《绿色小卫士》全部教案
- 【京东仓库出库作业优化设计13000字(论文)】
- 保安春节安全生产培训
- 初一语文上册基础知识训练及答案(5篇)
- 血液透析水处理系统演示
- GB/T 27030-2006合格评定第三方符合性标志的通用要求
评论
0/150
提交评论