Linux在操作系统理论教学中的应用研究

更新时间:2023-08-08 06:12:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

操作系统,Linnux

EDUCATION FORUM 教育论坛

0

Linux在操作系统理论教学中的应用研究

康鸿雁

(菏泽学院 计算机与信息工程系 山东菏泽 274015)

摘要:《计算机操作系统》是计算机专业的核心课程,在整个专业规划中占据了相当重要的位置,但其教学内容和方法滞后于计算机专业人才对其的需求。本文就《计算机操作系统》课程教学存在的问题进行了分析,指出了存在问题的原因,提出了将Linux操作系统引入操作系统理论教学,和操作系统课程的教学改革方法。不仅提高了学生学习兴趣,明确了学习本课程的目的,而且培养了学生在嵌入式系统设计方面的能力,为进一步深造和就业打下坚实的基础。

关键词:操作系统;Linux;教学;应用

引言

《计算机操作系统》是计算机科学与技术、软件工程专业的核心主干课程,也是网络工程、信息安全、自动化等各专业学生必须学习和掌握的基础课程,各高校对《计算机操作系统》的教学都非常重视,予以重点建设。该课程在计算机软硬件课程的设置上起着承上启下的作用,也是打好软件基础的关键课程。近年来,随着计算机制造技术和用户需求,特别是网络应用的发展,操作系统的理论与设计方面的研究得到了迅速的发展。操作系统在计算机领域有举足轻重的作用,能否学好《计算机操作系统》课程,掌握操作系统的基本概念、基本原理、设计方法和实现技术,对计算机类专业学生的未来发展至关重要。

但是《计算机操作系统》这门课难学、难懂、概念抽象、感性认识差,教师在教学中使用传统的教学方法和教学手段很难实现教学目标。如何改革《计算机操作系统》课程教学,这是当前亟需解决的问题。由于此课程的专业实践性较强,而在实际的教学中只是简单的理论的论述,在传统的教学模式中存在如下几个显著的弊端:

(1)内容枯燥难懂,充斥着大量的原理和概念。由于很多教材的内容以及课堂的讲解都很少与实际操作系统相联系,学生往往觉得课程中的概念、原理抽象而且苦涩难懂,由此对课程学习缺乏兴趣,最后以死记硬背对付考试。

(2)课程的内容陈旧,远落后于该领域最新的研究成果。(3)课程实践环节与理论学习严重脱节。由于课程内学时的限制,传统的实验环节往往是对主流操作系统的初步接触与使用,而对操作系统内核本身没有任何触及,这样学生在课堂中所学的操作系统原理以及概念流于形式,对以后从事这方面研究或系统开发工作的帮助十分有限。

Linux经过十几年的发展,现在已成长为一个非常优秀的操作系统,在不同的领域有着越来越广的应用。将Linux引入操作系统理论课的教学,使学生在实际的操作系统环境下学习操作系统的理论,不仅能够加深对基本概念的理解,掌握操作系统的工作方式,而且能够提高动手能力,增加对操作系统课程的学习兴趣,并且在普通高校的本科生中开展Linux教育,培养在Linux环境下的编写程序的基本技能,是一项面向就业市场、对广大计算机相关专业的本科生有重要现实意义的工作。

1、Linux的基本特性

Linux操作系统是一种类Unix操作系统。它首次正式对外公布的时间是1991年。此后,Linux借助互联网,在全球Linux爱好者的共同努力下高速发展,现已成为世界上使用最多的Unix类操作系统,并且市场占有率还在迅猛增长。低价、开源、可靠、多用户、多任务、可移植性强是Linux操作系统的重要特征,与取得巨大商业价值的Windows系列系统不同的是,Linux操作系统一直坚持低价与开源。Windows系列的操作系统是受版权保护的,其设计和开发都由微软公司一手控制,它的源代码不开放,因此我们很难知其内部的实现。Linux的源代码可以从网络上下载,其安装盘中也有完整的Linux源代码。

2、选择Linux作为操作系统教学平台的原因

国内众多高校的操作系统教学,大致可分为三种情况:一是操作系统课程除了讲授原理外,没有案例讲解,实验停留在应用层面(比如使用Windows环境下的API编写的模拟程序),与内核的实现原理及技术关系不大。二是操作系统课程有案例讲解,以早期的UNIX或者Windows为主,但实践环节没有深入下去,依然停留在应用层面,这使学生感觉到案例跟抽象的理论一样难以理解。三是国内的少数高校,要求学生阅读操作系统的源代码,并针对内核实现安排了一些实践练习,这必然要求开放源码的操作系统。

目前大多数高校使用的教材多是以Unix作为实例来介绍分析操作系统的特征,但Unix系统作为商业软件,它的源代码不公开;其次是大部分教师不熟悉Unix系统或从来就没有接触过Unix系统,这必然导致授课过程中教师对Unix部分一带而过,给实验环境的构建带来一定的难度。经过十几年的发展,Linux已经成长为一个性能优异的操作系统,占据着越来越大的市场份额。由于Linux的操作系统的内核代码开放,可以让更多的程序开发人员直接对内核进行修改和优化,从而提高软件开发人员的软件开发能力,也为学习操作系统提供了一个良好的平台。

Linux是目前最热门、最流行的操作系统之一,各地高等院校的学生和科研机构以及研究人员也纷纷把Linux作为自己学习和研究的对象。我国政府也认识到Linux对于我国信息产业的发展具有重要意义,大力推广Linux的应用。将Linux引入到操作系统课程教学,能促进操作系统理论的学习和理解,培养学生实践动手能力,改变当前操作系统教学的困境。

操作系统课程应该与Linux系统的内核结合起来,只有这样,才能使操作系统课程改革落到实处,不仅是因为Linux具有特殊的品质,更主要的是学生可以从中领悟到先进的东西,哪怕只分析一个模块,也可以让学生有一种实战操练的感觉。使学生认为操作系统不再是神秘不可及的东西,为以后走上社会奠定良好的基础。因为它开放源代码,所以Linux是很好的研究对象。

3、Linux在教学中的应用

目前操作系统课程教材主要是对操作系统的进程管理、处理机调度、存储器管理、文件管理、设备管理等主要功能进行原理性的阐述,内容相对抽象。大多数教师授课时只是对各种原理和算法进行罗列,缺乏生动性,教学手段单一,教学内容与方法滞后于当今社会对计算机专业人才需求的变化,很难提高学生的学习兴趣,使得操作系统课程的教与学两方面过于乏味。

如在讲解操作系统进程管理中进程同步和进程通信的概念时,配合使用嵌入式系统试验平台,实现如下过程:

公交车上,司机和售票员的活动如下:

用PV操作表示,试设必要的信号量及赋初值,写出它们的同步过程。

信号量的确定:同步应使用私用信号量,对本实验可以设

信息系统工程 │ 2010.7.20

操作系统,Linnux

司机: 售票员:

定两个私有信号量:

run:用于判断司机能否进行工作,初值为0

stop:用于判断是否停车,售票员是否能够开车门,初值为0

逻辑图如下:

司机: 售票员:

代码形式表示如下:

stop:=0;run:=0; //定义信号量 parbegin

driver: begin //司机进程 L1: P(run); 启动车辆;正常行车; 到站停车; V(stop); goto L1; end;

conductor: begin //售票员进程 L2: 上乘客; 关门; V(run); 售票; P(stop); 开门; 下乘客; goto L2; end; parend; end;

具体的Linux实现过程如下:

先定义两个操作即P、V操作,如下所示:int p(int semid){

struct sembuf buf={0,-1,0}; if(semop(semid,&buf,1)==-1) {

perror("a wrong operation to semaphore occurred!");

信息系统工程 │ 2010.7.20

return -1; }

return 0;}

int v(int semid){

struct sembuf buf={0,1,0}; if(semop(semid,&buf,1)==-1) {

perror("a wrong operation to semaphore occurred"); return -1; }

return 0;}

创建信号量runid 和stopid,并对信号量赋初值0,创建信号量用函数semget(),对信号量赋初值用函数semctl()实现,创建进程,模拟司机和售票员的活动,实现进程的同步和通信。

if(fork()==0) {

while(1) {

p(runid);

printf("启动车辆\n"); printf("正常行车\n"); printf("到站停车\n"); v(stopid); } } else {

while(1) {

printf("上乘客\n"); printf("关车门\n"); v(runid);

printf("售票\n"); p(stopid);

printf("开车门\n"); printf("下乘客\n"); } }}

运行结果如下图:

图 1 运行结果

同样方法,可以编写其它的进程同步和通信程序、对内存的管理程序,以及设备的驱动程序等,通过对这些过程的理解,帮助学生尽快地理解并掌握操作系统课程中所有重点的知识内容,使之变得生动有趣。实践证明,促进了学生对操作系统的理解和掌握,提高了相应的技能。 (下转106页)

操作系统,Linnux

实验报告的批改质量,实验考试内容、形式和评价方法等几个方面。

对学生实验的学习质量主要从完成实验项目的能力(实验过程中体现),团队协作的精神,撰写实验报告的水平,完成综合性设计性实验的能力和实验考试的成绩等五个方面来评价,与此同时还需对独立开设的实验与非独立开设的实验分别制定学生实验成绩的评定标准,提倡考核方式的多样化。

与学科发展、社会需求变化同步的实验教学改革不是一劳永逸的事情,需要教师群策群力、坚持不懈的努力,需要以科学的发展观,将高要求、高标准落实到实验教学的每一个具体环节。只有这样实验教学质量才能得到保障,才能朝着正确的方向继续更好、更快发展,才能更好地适应社会的需求,培养更多的应用型高素质人才。 参考文献

[1]吕曙东,孙宏国.电工电子实验技术[M].南京:东南大学出版社,2007.

[2]周合兵,祝风荣,陈琦,等.构建实验教学质量保障体系的实践一探索[J].实验室研究与探索,2006(6).

学生的实验基本技能、工程素质、观察问题、分析问题、解决问题、团队协作和创新意识的能力都是在实验过程中慢慢形成和提高的,为此对实验过程的有效指导非常重要。应改变保姆式的指导及只重结果不重过程的做法,充分采用引导式、启发式的指导方式。

4 应用多媒体技术,丰富实验教学内容

多媒体技术的应用,使实验教学具有更强的趣味性和科学性,使实验环境更生动、更丰富,使实验现象更直观、更形象,更容易调动学生的学习积极性,能够进一步提高教学质量和效果。采用多媒体技术,发挥计算机的优势,使实验生动形象,一目了然,以动带静,以直观带抽象,能深入浅出地引导学生将模拟的动态过程从感性上升为理论,自然而然得出正确结论,获得对规律的正确认识,提高课程教学容量,弥补现有教学条件的不足,使教学达到事半功倍的效果。

5 改革实验评价体系,强调综合能力培养

对教师实验教学质量的评价主要考察教学文件的准备,综合性、设计性实验项目的设计水平,实验课程的指导过程和方法,

(上接108页)参考文献

[1]张羽,谷建华,周兴社. “计算机操作系统”课程教学创新实践[J].计算机教育,2009(7):41-43.

[2]岳健,季赛.uC/OS-II在操作系统课程教学中的应用方法[J].中国科技信息,2008(22):294-297.

[3]童永清.L i n u x C编程实战[M].北京:人民邮电出版社,2008.[4]汤子瀛,哲凤屏,汤小丹.计算机操作系统[M].修订版.西安:西安电子科技大学出版社,2001.

[5]张彦俊,孙晓宇. Linux操作系统在高校教育中的发展前景探析[J].教育探索,2006(7):53-54.

[6]吴岳.Linux C程序设计大全[M].北京:清华大学出版社,2009.

4总结

本文在《操作系统》课程的教学改革方面,尝试了把教学内容和教学方式与当今流行的操作系统的结合,把Linux引入操作系统教学中,对于促进学生对操作系统知识的理解和掌握及提高教学质量起到了很好的作用。同时,在学习操作系统的过程中.提高了学生的动手能力和其它技能,并且为今后的深造和就业奠定了坚定的基础。Linux和嵌入式系统的结合也是后PC时代计算机发展的一个趋势,使学生在学习《计算机操作系统》的过程中能学到嵌入式的相关知识,增强学生的能力。 (上接144页)

proc arima data=data1;identify var=x(1) nlag=5;estimate p=1 plot;

identify var=y(1) crosscorr=(x(1)) nlag=5;estimate input=(1$(1)/(1)x) plot;forecast lead=3;run;

四、结果分析

现在从原有数据中剔除2007年和2008年的数据,仅用前17年的数据在SAS中进行建模和预报,然后与实际数据比较,进行模型检验。用以上所述的方法进行建模,选用同样的模型,预报出2007年商品房的销售额是854.36亿元,与当年的实际值899.90的差值为45.54亿元,误差比例为5.06%,误差比例很小,可以认为预报的数值是很接近于真实值的。所以我们可以认为,用计算机分析出的结果基本是真实的的。由此模型可以看出,年度销售额的差值与对应年度投资额的差值呈线性关系,且销售额与投资额的相关度很高,并没有其它因素对销售额造成特别显著的影响。

但是,对于用传递函数分析时间序列这个方法的理论方面看,本文所能使用的数据量太少,仅仅有19个,这就会导致估计的参数不够精确。要使估计值更加精确,就需要更多数据或结合其它方法来进行分析。

而且,由于2008年全球经济状况的特殊性,其数据的数学规律不明显,所以预报出的2009年的数据偏差可能会很大。但是如果能在拥有2009年数据的情况下去预报2010年及以后的销

信息系统工程 │ 2010.7.20

售额,应该就可以得到更满意的结果。

总而言之,经验证,本文使用的模型还是拟合的很好的,而且也能清楚地表明这两个因素之间的关系。对于其它类似的指标,也可以尝试使用这个方法。 参考文献

[1] 张瑛. SAS软件实用教程[M].北京:科学出版社,2009.

[2] George E.P.Box, Gwilym M.Jenkins, Gregory C.Reinsel著.时间序列分析:预测与控制[M]. 顾岚主译.北京:中国统计出版社,1997:427-254.

[3] SAS Institute, SAS Publishing Staff. SAS/Ets 9.1User's Guide[M]. SAS Publishing, 2004:393-442.

[4] Brent L. Cohen, SAS Institute. Forecasting examples for business and economics using the SAS system[M]. SAS Publishing, 1996:243-289.

[5] J. P. Saul, R. D. Berger, P. Albrecht, et al. Transfer function analysis of the circulation: unique insights into cardiovascular regulation[J]. AJP - Heart and Circulatory Physiology, Vol. 261

[6] Rong Zhang, Julie H. Zuckerman, Cole A. Giller, et al. Transfer function analysis of dynamic cerebral autoregulation in humans[J]. AJP - Heart and Circulatory Physiology, Vol. 274.

本文来源:https://www.bwwdw.com/article/al0j.html

Top