企业用人实践对“操作系统”教学若干问题的思考

2009-08-28 09:09阳国贵戴华东
计算机教育 2009年14期
关键词:操作系统教学模式

阳国贵 戴华东

摘要:本文结合企业七年来在操作系统人才招聘和使用过程中积累的经验,讨论了操作系统专门人才使用过程中面临的四个主要问题,以此为基础,对“操作系统”课程教学给出了三大教学建议;提出了T字型的“操作系统”教学模式,强调互动式教学和似真环境下的教学与实验,以期提高人才培养质量、降低企业培训成本。

关键词:操作系统;人才要求;似真实验;教学模式

中图分类号:G642 文献标志码:B

1引言

自2002年起,随着国家863重大软件专项“服务器操作系统内核”的推进与实施,麒麟服务器操作系统团队开始招聘毕业生,至今已有七年的实践,积累了一定数量的人才样本,引发了从企业用人角度对操作系统教学和人才培养问题的思考。

操作系统是计算机系统不可或缺的重要组成部分,在半个多世纪的发展过程中,涌现了大量的操作系统研究原型、商用产品和开源系统,形成了以操作系统为核心的系统软件产业,造就了操作系统设计和实现方面的软件大师和专业团队,Ken Thompson和Dennis M.Ritchie、 Fernando J.Corbato和 Frederick P. Brooks就因在操作系统领域的杰出贡献而获得图灵奖。

上述表明,操作系统尽管经历了半个多世纪的发展,形成了一些稳定的基本概念、技术和方法,但仍处于发展变化之中。操作系统一直是计算机科学与技术专业的核心课程(与计算机相关的专业多达60多个,这些专业中的大多数开设了“操作系统”课程),也是一门实践性非常强的课程,受到计算机教育专家的高度重视。20世纪80年代,基于教学的需要,Andrew S.Tanenbaum教授开发了一个小巧、完整、Unix兼容的操作系统MINIX,用于学生研究和理解操作系统内部运行机理。国外高校对“操作系统”课程实验环节的重视可见一斑。

总体而言,国家高等教育正经历前所未有的繁荣和发展,在招生规模、培养目标、教学计划(方案)、教材建设、实验条件和环境建设、师资水准等各方面相对于恢复高考制度之初、甚至相对本世纪之初的变化都是惊人的,但一个不能回避的问题是,招聘人员的能力和素质比我们期望的要差。几年来,招聘人员在使用过程中暴露出不少具有普遍意义的问题,比如动手能等力差、对细节的了解少、解决问题和分析问题能力弱等。这也导致了招聘人员的自学能力、开发和设计能力,特别是开发操作系统内核代码的能力、在某个技术方向上进行持续研究和深入开拓的能力较弱,使企业用人培训周期加长。

上述问题引发了我们的思索,丰富的教学和学习资源,良好的师资和实验环境,理应造就优秀的技术人才,这些人才经历操作系统开发项目的实际锻炼,应当迅速成长为开发团队的核心骨干。那么问题是源于我们没有发现和招聘到足够好的人才苗子,还是使用过程中产生了什么问题?是“操作系统”课程教学不到位,还是操作系统本身的固有难度所至?本文将部分回答这些问题,包括人才使用过程中的几个突出问题以及我们对“操作系统”课程教学方面的一些思考,以望起到抛砖引玉的作用。

2几个突出的问题

为了解决人才招聘来源的广泛性问题,我们在长沙、武汉、西安等地区都进行过人才招聘,并使用智联人才招聘网站发布用人需求,人才来源在一定程度上得到缓解。

在使用过程中我们遵循把合适员工放在合适岗位上的原则,在“因岗选人”的基础上,实现“量才用人”,企业要根据人才的招聘考试、面试、初训等情况,结合个人职位选择进行初始岗位分配。为解决招聘员工入门难的问题,采用入职培训和师父带徒弟的方式,不定期开展内部技术交流和讨论,造就一个非常良好的学习和成长型环境。操作系统具有基础性、体系结构相关性、底层细节多、技术门槛高的特点,操作系统技术的这些问题和固有难度或多或少都影响了招聘人员的期望产出率,但核心设计和开发人员的稳定使该问题得以化解。

在长达七年的用人实践中,我们逐步发现了一些带有普遍性的问题,这些问题不仅影响到企业的人力资源策略、而且影响到公司的运营成本和发展后劲,也为我们的教学管理、教学内容、培养计划以及学生学习方法等提出了借鉴。下面主要讨论和操作系统教学具有关联性的几个突出问题。

2.1基本操作能力差

基本操作能力的训练就是要把对知识的掌握提升为实际工作技能的锻炼和提高。对操作系统而言,就是要把操作系统玩得非常熟。这包括操作系统启动过程的各种方式、各种参数、各种出错情况的处理、操作系统中的常见命令、系统内部状态、系统配置、各种Deamon程序的管理、各种常见服务程序的部署,输入法、中文、窗口桌面等等。用另外一个更通俗的例子来说,就是你会拼音,也会排版(通过看书或者到网上找方法)但就是速度太慢,不能成为工作技能,或者就是你只会五笔字型输入法,但老学不会排版,总需要别人帮助。

另一方面,许多应聘人员只是接触和使用过Windows,对Linux/Unix等操作系统基本没有接触,或者告诉你说,在本科二年级时老师教过,用过Shell命令。而面试现场让他写几行Shell脚本,或完成一些基本操作时,多数人会推脱说已经好久不用,忘记了。

在实际工作中,需要熟能生巧,但这个问题还不是制约人才发展的关键,一般而言,在进入工作半年到一年的时间内,工作技能会有一个非常快的成长。

2.2技术细节了解少

假如说基本操作能力差是一个问题的话,那么对技术细节了解少的问题更为突出。目前多数应聘人员仅对操作系统有基本了解,了解细节少的问题更为突出。这表现在:

多数学生在简历上写上“精通C、C#开发或可熟练应用JAVA进行开发”等内容,而具体问到写过什么程序、做过什么事情的时候,所知甚少,多数人不知道版本控制、版本控制的工具、调试方法等具体操作层面上的问题。

对操作系统而言,测试工作非常重要,而多数同学不知道有什么工具来对操作系统进行测试。自己也从未进行过什么测试,更不要说对测试工具的熟练掌握,对测试结果进行分析和改进了。

在我们的团队中,需要从高级开发(内核开发、驱动开发、虚拟机、安全功能等)、版本制作、测试、文档编写、应用开发(安全存储、界面程序开发等)、应用迁移、应用解决方案(各种服务软件的部署、应用软件的适配、优化配置等)到用户支持、销售支持各个方面的人才,越往操作系统底层,人才的寻找和培养难度越大。

比如我们需要支持设备驱动开发和平台移植的技术人员,但目前情况是,招聘人员中很少有人对PCI设备控制、驱动框架(数据结构、内部接口、程序结构等)有清楚的了解,或者已经从事过这方面的开发。多数招聘人员对SMP系统中的启动过程、任务调度(如汇编语言中如何实现任务切换、堆栈管理、进/出内核态等)都没有深入的了解,在文件系统结构、文件系统性能分析与对比、程序加载过程等方面的细节了解也大致如此。

理论需要与实践紧密结合,如果缺乏应有的细节,就不能将知识建立在稳固的认知基础之上,也难对变化的部分有更加透彻的理解,并将直接影响到员工进入工作状态的速度。

2.3解决问题能力弱

解决问题的能力是指针对具体的技术问题,如何进行解剖,给出行之有效的办法,对各子问题加以解决,并继而解决整个问题。这既包括了方法论,更体现人的智慧和能力。

这个问题与上述两个问题稍有不同,原因在于这方面的能力培养涉及的面更广,并且在进入公司早期不易发现。但这个问题仍然和教育相关,一般而言,我们更愿意从工程的角度接受从模仿到创新的途径,也就是说,如果曾经见到类似的问题,或者有过解决一个困难问题的经历,那么这一定有利于新问题的解决。

多数员工这方面的能力较差,反映在:所经历的独立解决问题的情况较少;自我学习能力和工作主动性有待加强;创新和探索意识有待提高。就目前而言,员工在设计能力方面的提升速度非常缓慢,设计思想贡献率低下。

2.4培训周期长

整体而言,操作系统技术门槛高、综合性强、知识面广。通过短期培训,仅能应用操作系统命令,按照手册进行服务程序的部署、进行基本的操作测试。但要进行比较独立的、创造性的工作,通常都在2到3年之后。

“操作系统”课程反映了计算机本科生的综合能力和素质,它涉及体系结构、程序语言、编译原理、软件工程等相关内容,在计算机学科相关知识的广度与深度上都有要求。从目前情况来看,该问题是前几个问题的综合体现,这对用人单位产生了极大的困惑。一方面,对员工要付出高昂的培训和教育成本,而另外一个方面,经历3年

以后,也许就是他们准备另攀高枝的时候了,这对培育他们的公司无疑是个巨大的伤害。

3若干问题的思考

本科生教育倡导厚基础、宽口径、强能力的人才培养理念,这无疑是正确的。但针对计算机科学与技术专业而言,特别是核心基础课程操作系统而言,如何在教材和教学内容选择、教学活动组织和时间安排、实践环节设计、教学内容的深度广度、细节与知识面的统一上得到科学规划,在困扰企业用人的几个问题上有所改变,这正是我们思考的主要问题。

3.1T字型教学模式

目前我们的博士生培养按照T字型模式进行,在知识深度和广度上得到形象体现。就解决我们遇到的几个突出问题而言,T字型模式也适用于“操作系统”课程教学。

目前的操作系统教材品种比较丰富,对经典问题的讨论也非常清晰、明了,从知识结构上包括了:概述、操作系统基本结构、进程管理(并发、调度)、内存管理、设备管理、文件管理、安全与保护等内容。但问题是,不能停留在一般的原理和知识层面(尽管这个层面也非常重要),需要采用教材+实验手册+小组的形式,使得在“操作系统”课程教学过程中,学生可切实体验到似真环境下(可以是真实的、也可以是具有足够多细节的仿真环境)操作系统的具体细节。

为此,本科生“操作系统”课程的T字型教学模式在上述知识结构的广度上还应包括面向操作系统软件的其他方面,比如:操作系统引导、操作系统初始化、应用程序加载、面向SMP的相关问题、总线结构及驱动(可以是一种,如PCI)。对深度而言,就是根据学生的兴趣和未来职业发展以小组的形式具体在某个技术方面进行似真实验(或真实实验)。让学生体验到具体系统的细节,并从这些真实体验出发,感受具体系统之美。

可以看出,操作系统T字型教学模式能否成功,在很大程度上取决于教师,是否能很好组织,并且在细节上加以指导。每个组的成功,组内和组间的交流,将极大地增强学生对完整操作系统细节上的了解。

3.2互动式教学

互动式教学既是一种教学理念,更是T字型教学模式的内在要求。它强调在教师的引导下,激发学生自己提问、自己思考,并根据自身情况,向老师求教和交流,在这个过程中,老师了解学生的知识状态和问题所在,进而加以针对性指导。上述过程既能培育和激发学生学习兴趣和求知欲望,也可以引导学生走向创造性思维、提高解决问题的能力。

大学阶段的计算机专业教育,不仅要使学生掌握扎实的理论基础,对计算机技术各个研究方向有一定的了解,而且要走到技术与研发的前沿。仅有基础也是不行的,就业竞争力的提高,必然要求学生在某些方面有明显优势,这就要求学生有自主探求技术细节、寻求解决技术问题的内在动力。也只有通过教与学的互动,才能保证T字型教学模式中似真环境下各实验的完成。

3.3似真环境教学与实验

如果说,二十年前,我们要找到一个开源的操作系统,并从中了解各部分的实现细节,那是相当困难的。而今天,这种情况有了非常大的改变,教学资源已经极大丰富,事情变得比以前要简单多了。但如何能让学生看懂关键性的几行代码;如何能让学生在掌握一般性的、原理性的知识之后,还能体会到实际系统中需要考虑到的其他众多技术细节,并建立起对实际系统的基本认知,仍然是一个具有挑战性的问题。

我们认为,太简化了的实验和实验环境事实上难以达到训练学生的目的。尽管在一定情况下,模拟是需要的,但模拟终究不能代替真实,简化的用例和实验往往缺少足够的细节。这也就是在T字型操作系统教学模式中进行分组似真实验(或者就是真实环境实验),对有兴趣深入学习的学生创造一个好环境,对今后只应用操作系统而不去进行内部开发的人留下一点操作系统内部是怎么回事的深刻印象。

强调似真环境下的教学与实验也是基于学习的一般规律,即让学生在模仿中感受细节和变化,从熟练走向变化和创新,实现由必然王国到自由王国的跨越。

测试既是对产品是否满足设计需求的一种检验,也是对系统进行分析,从外在特性来反向推测设计,或者对设计进行对比分析的一个工程阶段。在课程教学的中后期,学生们在实现细节、动手能力、以及实验环境的基础上,进行测试与分析,评价实现效果,以加强工程实现和技术研究的完整体验。

4结束语

通过若干年的实践,我们已经在人才招聘设计(人才储备、按岗位招聘)、面试设计(中英文自我介绍、简历情况、成绩排名、奖学金情况、知识面、实际操作设计)、试用阶段(员工培训、规章制度宣贯、师父带徒弟式工作方式)、正式员工管理(任务分配与考查、激励机制、学术交流与报告等)等方面积累了一定的经验,在用人过程中,也逐步发现和总结了在基本操作、技术细节、工程能力等方面一些问题。尽管公司花了很大气力对员工进行培训,从入职时多数员工的Windows+AMP(Apache、MySQL和PHP编写网页)知识结构在3年左右的时间里,培养成有一定工作技能、可以独立工作的员工,但这一过程对企业来说,还是过于漫长。为此,本文在分析若干突出问题的基础上,提出了T字型的操作系统教学模式,强调互动式教学和似真环境的下的教学与实验,以期提高人才培养质量、降低企业培训成本。希望本文在探讨教学如何与技术前沿相结合、教学如何与实际应用相结合、教学如何与企业人才需求相结合等方面起到抛砖引玉的作用。

参考文献:

[1] 邹鹏,阳国贵,翟高寿,等. 操作系统原理与实践[M]. 北京:高等教育出版社,2008.

[2] 徐志伟. 培养高质量计算机学科研究生的挑战[J].中国计算机学通讯,2009,5(5).

[3] 陆慧娟,潘巨龙,高波涌,等.加强教学改革,确保计算机人才质量,高校计算机教学与研究(第一辑)[M].北京:科学出版社,2007:227-231.

[4] 教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术专业公共核心知识体系与课程[M].北京:清华大学出版社,2007.

文章编号:1672-5913(2009)14-0006-02

猜你喜欢
操作系统教学模式
群文阅读教学模式探讨
“思”以贯之“学、练、赛、评”教学模式的实践探索
创新线上英语教学模式的思考
高中英语“读写学思”教学模式探索与实践
“认知-迁移”教学模式在高年级阅读教学中的应用
智能手机操作系统的分析与比较
国产桌面操作系统中虚拟化技术应用研究
基于单片机的嵌入式系统的开发研究
“操作系统原理”实验教学设置初探
5E教学模式对我国中学数学教学的启示