《操作系统》的实践教学研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:stefanie888
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文分析了目前《操作系统》课程开展实践教学的主要方法及存在的问题,提出以教学操作系统GeekOS构建实践教学平台,并采取逐步扩展GeekOS的方法,让学生实际参加操作系统功能的理解和扩展,使学生能更好地理解操作系统的理论知识,达到更好的教学效果。
  关键词:操作系统;实践教学;教学操作系统;GeekOS
  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)25-5697-04
  1 概述
  《操作系统》课程是计算机及相关专业的核心基础课,该课程不仅要求学生较好地掌握理论基础,而且要求培养学生良好的课程实践能力。由于该课程的内容比较抽象、深奥,并且课程实验难做,实验效果不明显,所以,该课程的实践环节在很多学校成为摆设,有的学校干脆去掉实践环节。然而,实践教学又是本门课的重要组成部分,实践教学对于学生理解和掌握操作系统的基本原理和方法,为今后从事系统程序设计,并发程序设计,多用户环境应用程序设计打下坚实的基础。所以,本门课不但必须包含实践内容,而且还应该加强,使之能更好地辅助课堂教学。[1]
  2 《操作系统》实践环节的运作情况
  当前,国内各高校因为自身师资力量、实验条件、学生程序编写能力的不同,对《操作系统》实践环节的处理方式不尽相同,有的要求学生实现一个比较完整的小型操作系统,该小型操作系统包含了一般操作系统的主要功能;有的要求师生共同剖析一个开源的操作系统,并试着更换一些功能模块,以体验这些模块的地位和作用;有的要求学生实现《操作系统》中的一些经典算法,如生产者-消费者问题、银行家算法等,以深入理解《操作系统》的原理。另外,各高校在人才培养方案中,《操作系统》实验教学学时一般占课程总学时的1/3至1/2,实践课时的多少,取决于高校对该门课的重视程度,以及实际的教学效果。[2]
  经过对各高校《操作系统》实践教学的调查,《操作系统》实践部分的开设形式主要有以下四种:
  2.1 验证操作系统部分功能的实验
  这种实验方式最简单,主要思路是,以某个实际的商业操作系统为实验环境,学生可以尝试执行操作系统提供的某些功能,能力更强的学生还可利用操作系统提供的系统调用函数编写、运行程序,以改进功能。通过这两种方式,学生可体验操作系统原理在实际商用操作系统中是如何工作的。
  这种方式的特点是,学生不必编写操作系统功能实现的代码,对完全理解操作系统的内涵意义不大。
  2.2 模拟经典算法的实验
  这是比较常见的一种实验方式。其执行过程是,由教师选取操作系统中的一些经典算法,如读者-写者问题,电梯算法,让学生使用其熟悉的编程语言(如:C语言、C 语言)来实现算法。
  该方式与程序设计课程的上机环节相似,这有助于学生理解《操作系统》的理论和技术,但是,这种方式由于缺乏训练学生对操作系统完全性的把握,达不到培养学生完整掌握操作系统的目的。
  2.3 替换实际操作系统的主要模块
  这种方式对学生的编程能力要求较高。其执行过程是,以开源的操作系统为平台,要求学生选取其中的主要功能模块,并对其进行替换及扩展。然而,开源的操作系统一般比较庞大,结构环境复杂,对师生的要求很高,一般高校实施的效果不好,最终只有小部分学生达到实验目的,学生的受益面不大。[3]
  2.4 设计一个操作系统雏形
  这种方式的执行过程是,教学中可选取一个包含简单内核的教学操作系统,让学生逐步改进、扩展其功能;或者干脆让学生设计一个全新的操作系统雏形,该雏形包含操作系统的基本内核功能,如处理机管理、进程管理、内存管理、设备管理、文件管理功能。
  该方式与课程实验教学目标一致,理论上比较理想,但在实际的执行过程中,由于操作系统是一个大型的系统软件,其设计、结构相当复杂,因此这种方式实施起来难度很大。
  3 在教学操作系统GeekOS上完成实验教学
  由于一般的商业操作系统设计复杂,结构庞大,学生规定课时内很难全面掌握,同时,这些操作系统已经非常成熟,差不多实现了全部功能,学生没有多少新的工作可做。所以,设计一个基于教学操作系统的实践教学平台显得尤为迫切和必要。
  3.1 教学操作系统的分类
  教学操作系统有两大类:一类是针对RISC结构MIPS处理器的,例:Nachos;另一类是针对CISC结构的X86通用处理器的,例:Minix、 GeekOS。
  3.2 GeekOS操作系统概述
  最通用的处理器是CISC结构的X86通用处理器。它是一个用C语言开发的操作系统,学生可以在Linux或UNIX环境下对其进行功能扩充,也可以在Windows下使用Cygwin工具进行开发,且其针对进程、文件系统、存储管理等操作系统核心内容分别设计了7个难度逐渐增加的项目供选择。
  3.3 GeekOS的项目设计
  GeekOS操作系统源文件geekos-0.3.0.zip可以从网上免费下载。GeekOS系统的源文件在src目录下,分7个项目:project0~project6。
  3.3.1 项目的结构
  每个项目的文件结构都类似,以project0为例,主要有四个子文件夹:
  1) build文件夹。包含系统编译后的可执行文件的文件,软盘镜像fd.img(project1等项目中还包含有磁盘镜像diskc.img),makefile项目管理文件。
  2) Include文件夹。包含两个子目录,分别是geekos和libc,在geekos子目录中有kthread.h,keyboard.h等头文件,在libc中包含有GeekOS支持的C语言标准字符串函数头文件string.h。   3) scripts文件夹。包含项目编译时用到的一些脚本文件。
  4) src文件夹。包含系统内核源代码,用户修改GeekOS系统时要修改的源代码如main.c等都位于这个目录中,在User子文件夹中一般是用来存放用户的测试文件,在tools子目录中的代码是用来建立pfat测试文件系统的。
  3.3.2七个项目的功能
  project0:在该项目中,要求学生实现一个内核级的I/O进程,该进程能从键盘接收一个按钮,并显示在显示屏上。该项目的目的是让学生了理解GeekOS的编译、链接和运行,明白计算机系统是如何启动的。
  project1:在该项目中,要求学生熟悉可执行链接文件(ELF)的格式,并通过编程程序来分析该文件,同时将分析结果送到加载器。该项目的目的是让学生理解ELF文件的结构,使学生掌握如何加载和运行可执行文件。
  在提供的GeekOS内核系统的基础上,为学生设计了7个由易到难的设计项目用于GeekOS的改进。这些项目分别涵盖了操作系统内核的各个基本模块:系统启动,进程管理,存储管理,文件系统,访问控制以及进程间通信。7个项目都规定了改进的目标,并提供了一些设计指导性的意见,但没有提供源代码,所以学生首先必须熟悉GeekOS的基本工作原理,才能开展各个项目的设计与实现。
  project2:在该项目中,要求学生编程来支持用户态进程,这种支持包括初始化用户态进程空间、初始化用户进程空间、切换用户进程、导入用户程序。该项目中,计算机存储分配方式还是采用段式分配。该项目实现后,学生就可以使用GeekOS提供的命令行解释器Shell运行一些命令来执行PFAT文件系统内的用户测试程序。
  project3:在该项目中,要求学生改进GeekOS的调度程序,实现基于4级反馈队列的调度算法(初始GeekOS系统仅提供了FIFO进程调度算法),并实现信号量,支持进程间通信。
  project4:在该项目中,要求学生编程实现分页虚拟存储管理,以替代前述项目中一直采用的段式存储管理。学生实现分页式虚存管理以后,系统在内存不足时,就可以将部分内存页面调出送到硬盘,以缓解内容压力,实现虚拟存储技术。
  project5:在该项目中,要求学生实现GOSFS文件系统,该文件系统采用虚拟文件系统,可加载不同的文件系统,PFAT只读文件系统是默认加载的文件系统。该项目的目的是要实现一个多级目录的、可读写的文件系统。
  project6:在该项目中,要求在文件系统中新增一个访问控制列表,并使用匿名半双工管道实现进程间通信。
  以上7个项目,后几个项目实现难度比较大,所以在实际的教学中,可根据情况,要求学生必须实现project0,project1,project2,而project3至project3,对能力强的学生可以自行完成。
  4 《操作系统》实践环节的考核
  《操作系统》实践环节的考核非常重要,好的考核将激励学生努力学习,达到实验效果,办法如下:
  1)教师制定实验报告格式和要求,教师对学生完成的实验报告的作检查和评价;
  2)对设计性实验,要求学生回答并作出评价,回答的问题主要有:阐述解决该问题的算法思想、所使用的数据结构是如何设计的、使用的测试用例是如何选取和设计的、算法性能怎么样。
  3)对一些学生能实现的算法,要求学生上机演示,教师在其演示期间可提问并作评价:主要程序代码的含义,分析及解释运行结果。[4]
  5 结束语
  本文讨论了《操作系统》课程实践环节的主要动作方式,并分析其利弊,然后提出了选用GeekOS教学操作系统作为实践平台来开展实践教学工作。在实际运作过程中,为达到较好的学习效果,可对学生实施分组,每组6个学生(好中差搭配),灵活调整学生要完成的任务。
  参考文献:
  [1] 王国华.《操作系统》实验课程的设置与实践[J].山西财经大学学报,2006,9(1).
  [2] 黄廷辉,王宇英,崔更中.“操作系统”课程实践教学的研究与实践[J].计算机教育,2007(11).
  [3] 赵伟华,陈建孝,董黎.“操作系统”课程实践教学环节的研究与设置[J].吉林工程技术师范学院学报,2011(27):7.
  [4] 叶俊民,李源,周伟,等.“操作系统原理”理论与实践课教学研究[J].实验技术与管理,2010(27):9.
其他文献
Flash动画设计课程是高职院校的热门课程,随着网络技术的不断发展,企业对动画制作人员的水平要求越来越高,如何培养出更多满足社会用人单位需求的技能型人才?本文主要通过总结Flash课程教学过程中存在的问题,再结合自身的教学经历,从培养学生兴趣,选择合适的教学方法、考核方法,恰当地运用竞赛等方面探索了Flash课堂教学策略,希望为教师们有效地、合理地开展Flash课程教学提供一些建议。
美国Hoeganaes有限公司在中国江苏省距离南京市70公里的镇江市新建立了一个工厂,2010年lO月28日Hoeganaes有限公司的总裁Dave Kasputis出席了新工厂的落成典礼,出席新工厂落成
为探讨新型禽流感一新城疫重组二联活疫苗在实践中的免疫效果,准确掌握抗体水平并制订出适合本城区家禽免疫程序,为防治高致病性禽流感和鸡新城疫疫病提供科学依据。采取点眼+滴
1病例情况2013年11月1日,柳江县土博镇孝中村伍佰屯的养殖户梁某家1头1月龄的犊水牛出现下痢和食欲(吃奶)减少症状,遂到镇上兽药店求诊买药。兽药店根据畜主描述情况开了驱线虫的
由殷为宏教授和汤慧萍教授编著的《难熔金属材料与工程应用》已由冶金工业出版社出版,全书79.4万字,定价99元。
财政部、工业和信息化部、科技部三部委2012年10月15日公告,为加快新能源汽车产业技术创新和产业化进程,三部委组织实施新能源汽车产业技术创新工程,中央财政从节能减排专项资金
近年来随着我国现代化养猪业快速发展,各种猪病毒性疾病病原体也不断发生变异,给疫苗研究和实际免疫工作带来了很大挑战。如今国家已把猪瘟、猪口蹄疫、猪繁殖与呼吸道综合征三
新城疫,是由属副粘病毒的新城疫病毒引起的高度接触性传染病,对养鸡业危害严重。目前,防范鸡新城疫的措施主要有综合性的生物安全防控和特异性的疫苗免疫,而在防疫条件一般的
鉴于禽白血病(Avian leukosis,AL)流行病学调查发现广西麻(花)鸡禽白血病病毒(Avian leukosis virus,ALV)感染率较高,我们对DGGX5公司的麻鸡一个三系配套的品系开展了ALV净化的研究
1场地选择 养鸡场址的选择以地势高燥、水源充足、排水方便、环境幽静、树势中等、砂质土壤的果园或承包林场为佳,背风向阳的南坡好于北坡。