论文部分内容阅读
摘要:文章针对目前高校对Linux人才培养的某些不足,结合操作系统实验教学中存在的问题,提出了一种整合操作系统实验课程和Linux应用开发课程一种思路,并给出了具体的整合方案,以及课程整合后的优点与不足。
关键词:Linux系统;程序开发;操作系统原理;实验教学
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)32-1164-02
The Discussion about Unifies of Linux Program Development Practice and the Operating System Experiment
XIONG Qi
(Hunan University of Arts and Science, Changde 415000, China)
Abstract: The article in view of the deficiencies of Linux training in some University andthe problems of the operating system in teaching. It is given an idea that integrated the practice of Linux program development and the experiment of operating system. Then it gives aspecific integration plans. In the end of the paper, it point out the advantages and inadequate of the plan.
Key words: linux system; program development; principle of the operating system; experiment teaching
1 引言
Linux操作系統核心最早是由芬兰学生Linus在1991年发布的,后来经过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来。与其他操作系统相比,Linux有如下一些优势:①从发展背景看,Linux是从一个比较成熟的操作系统(Unix)发展而来的,它继承了UNIX操作系统的稳定性和可靠性的优点;②从操作系统内部来看,由于其开放源码,便于系统的升级维护与裁剪,保证了其安全性是可控的;③从价格上看,由于其是自由软件,和Windows操作系统相比,其成本低廉的多。选择推广Linux系统,可以大大降低我国的信息化成本。正是有着这些优势,使得Linux的用户,尤其是嵌入式Linux的用户,每年都以100%的速度递增,显示了其强大的发展后劲。基于此,国内很多高校都开设了Linux的课程,但大部分以讲授其应用为主。很少涉及到开发,涉及嵌入式Linux开发的则更少。这对培养Linux开发人才极为不利。
计算机操作系统原理是计算机科学与技术专业的主干课程,同时也是非计算机专业软件技术基础课程的重要内容之一。由于Linux操作系统具有开放源码、价格低廉等优势,很多大学都把其做为操作系统的实验平台.我院也在操作系统的课程教学中明确提出了讲授以原理为主,实践以Linux为主,Windows以自学为主的的教学改革思路。
从多年的程序开发实践中,我们发现,Linux平台下的程序开发所涉及的理论知识很多与操作系统原理相关,比如进程通信、线程互斥、文件管理等。所以,在计算机操作系统实验环节中,我们考虑去掉一些纯理论性的实验,比如内存调度算法的模拟等(可以把这些内容放在课程设计中完成),重点讲授Linux开发的一些必备知识,把Linux程序开发实践课程与操作系统原理实验课程整合起来,既学习了Linux程序开发知识,又能从实践中进一步理解操作系统原理,达到一举两得的目的。
2目前操作系统实验现状分析
分析目前高校操作系统实验教材来看,其主要包括如下几种类型:
2.1 模拟验证型实验
即选取操作系统中的一些典型技术,编程实现并上机运行进行验证,但算法所涉及的资源和数据结构都是虚拟的,程序中并不对实际资源进行真正的访问和控制。比如,笔者曾经讲授过内存调度算法实验,就是以2个结构体数组来分别模拟实存和虚存,用一个一维数组来存放指令序列。这种类型实验的优点是可以摆脱真实的操作系统环境的限制独立地验证几乎操作系统所涉及的全部技术,因而有利于加深对操作系统理论和技术的理解,故目前被很多高校所采用。其缺点是编程工作量大,一般一个实验最少也要4个学时。理论性太强,学生不能获得操作系统内部实现的具体感性认识,也不能达到培养学生设计实际操作系统能力的目的。。
2.2 实际验证型实验
即通过Windows或Linux两个操作系统各自提供的系统调用,提供一些编程实例,供学生分析实践。这种类型实验的优点是可以加深学生对操作系统工作原理的领会和对操作系统实现方法的理解,并且使学生在程序设计方面得到基本的训练。目前,多数操作系统实验教材采用的是这种类型的实验。但实验中受系统调用的限制也只能验证操作系统中的部分技术,因此离具备完整的操作系统设计能力距离尚远。另外,由于进行这种类型实验需要深入了解宿主操作系统系统调用的一些用法,这也在很大程度上增加了实验的工作量。
2.3 剖析验证型实验
即结合一个具体操作系统讲授原理并通过分析其源代码对所讲授的内容进行说明和验证。这种方法的目的是将操作系统的基本原理与操作系统的具体实例结合起来,以摆脱只是阐述工作原理,使得本来具体生动的内容变得十分抽象、枯燥并难以理解的局面,被公认是一个较好的方法,当然无可厚非。但是由于要求教师对所讲授的操作系统的结构和实现非常熟悉,大多数操作系统实验的任课教师难以胜任,况且要求学生在有限的实验学时内理解许多的源代码肯定也是有很大难度的。
2.4 替换设计型实验
即由任课教师选择一个开放源码的操作系统,要求学生用自己设计的模块替换其中相应模块或为其扩展功能。这种实验方法由于学生可以进行操作系统部分代码的具体设计因而很值得提倡,但学生需要了解原系统相关的复杂数据结构及与其他模块的关系,工作量仍很大。为保证实验能够完成,一般都给出供参考的部分或全部实验源代码,这不但大大地降低了实验的难度,也使实验的独立设计性减色,甚至演变成阅读理解源代码的过程。
3 具体整合方案
根据以上实验课的类型,我们认为,实际验证型实验比较符合我校实际情况。但针对这种实验的不足,我们采用以下方法进行改进。
3.1 独立设课
独立设课,就是操作系统实验教学不再依附于理论教学,它独立开课,单独考核。实验教学是理论教学的深化和补充,独立设课,不仅促使学生认识实验课程的重要性,改变过去重理论、轻实验的思想;而且对于加强学生理论与实践相结合,起着不可低估的作用。理论知识可以指导实践,实验中遇到的问题可以反过来促进学生在理论上寻求解决,更能体现实验课与理论课相辅相成的作用。独立设课,能充分调动了学生学习理论知识和参与实验的主动性与积极性,使理论教学与实验教学相得益彰,有利于促进实验教学的改革。
关键词:Linux系统;程序开发;操作系统原理;实验教学
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)32-1164-02
The Discussion about Unifies of Linux Program Development Practice and the Operating System Experiment
XIONG Qi
(Hunan University of Arts and Science, Changde 415000, China)
Abstract: The article in view of the deficiencies of Linux training in some University andthe problems of the operating system in teaching. It is given an idea that integrated the practice of Linux program development and the experiment of operating system. Then it gives aspecific integration plans. In the end of the paper, it point out the advantages and inadequate of the plan.
Key words: linux system; program development; principle of the operating system; experiment teaching
1 引言
Linux操作系統核心最早是由芬兰学生Linus在1991年发布的,后来经过众多世界顶尖的软件工程师的不断修改和完善,Linux得以在全球普及开来。与其他操作系统相比,Linux有如下一些优势:①从发展背景看,Linux是从一个比较成熟的操作系统(Unix)发展而来的,它继承了UNIX操作系统的稳定性和可靠性的优点;②从操作系统内部来看,由于其开放源码,便于系统的升级维护与裁剪,保证了其安全性是可控的;③从价格上看,由于其是自由软件,和Windows操作系统相比,其成本低廉的多。选择推广Linux系统,可以大大降低我国的信息化成本。正是有着这些优势,使得Linux的用户,尤其是嵌入式Linux的用户,每年都以100%的速度递增,显示了其强大的发展后劲。基于此,国内很多高校都开设了Linux的课程,但大部分以讲授其应用为主。很少涉及到开发,涉及嵌入式Linux开发的则更少。这对培养Linux开发人才极为不利。
计算机操作系统原理是计算机科学与技术专业的主干课程,同时也是非计算机专业软件技术基础课程的重要内容之一。由于Linux操作系统具有开放源码、价格低廉等优势,很多大学都把其做为操作系统的实验平台.我院也在操作系统的课程教学中明确提出了讲授以原理为主,实践以Linux为主,Windows以自学为主的的教学改革思路。
从多年的程序开发实践中,我们发现,Linux平台下的程序开发所涉及的理论知识很多与操作系统原理相关,比如进程通信、线程互斥、文件管理等。所以,在计算机操作系统实验环节中,我们考虑去掉一些纯理论性的实验,比如内存调度算法的模拟等(可以把这些内容放在课程设计中完成),重点讲授Linux开发的一些必备知识,把Linux程序开发实践课程与操作系统原理实验课程整合起来,既学习了Linux程序开发知识,又能从实践中进一步理解操作系统原理,达到一举两得的目的。
2目前操作系统实验现状分析
分析目前高校操作系统实验教材来看,其主要包括如下几种类型:
2.1 模拟验证型实验
即选取操作系统中的一些典型技术,编程实现并上机运行进行验证,但算法所涉及的资源和数据结构都是虚拟的,程序中并不对实际资源进行真正的访问和控制。比如,笔者曾经讲授过内存调度算法实验,就是以2个结构体数组来分别模拟实存和虚存,用一个一维数组来存放指令序列。这种类型实验的优点是可以摆脱真实的操作系统环境的限制独立地验证几乎操作系统所涉及的全部技术,因而有利于加深对操作系统理论和技术的理解,故目前被很多高校所采用。其缺点是编程工作量大,一般一个实验最少也要4个学时。理论性太强,学生不能获得操作系统内部实现的具体感性认识,也不能达到培养学生设计实际操作系统能力的目的。。
2.2 实际验证型实验
即通过Windows或Linux两个操作系统各自提供的系统调用,提供一些编程实例,供学生分析实践。这种类型实验的优点是可以加深学生对操作系统工作原理的领会和对操作系统实现方法的理解,并且使学生在程序设计方面得到基本的训练。目前,多数操作系统实验教材采用的是这种类型的实验。但实验中受系统调用的限制也只能验证操作系统中的部分技术,因此离具备完整的操作系统设计能力距离尚远。另外,由于进行这种类型实验需要深入了解宿主操作系统系统调用的一些用法,这也在很大程度上增加了实验的工作量。
2.3 剖析验证型实验
即结合一个具体操作系统讲授原理并通过分析其源代码对所讲授的内容进行说明和验证。这种方法的目的是将操作系统的基本原理与操作系统的具体实例结合起来,以摆脱只是阐述工作原理,使得本来具体生动的内容变得十分抽象、枯燥并难以理解的局面,被公认是一个较好的方法,当然无可厚非。但是由于要求教师对所讲授的操作系统的结构和实现非常熟悉,大多数操作系统实验的任课教师难以胜任,况且要求学生在有限的实验学时内理解许多的源代码肯定也是有很大难度的。
2.4 替换设计型实验
即由任课教师选择一个开放源码的操作系统,要求学生用自己设计的模块替换其中相应模块或为其扩展功能。这种实验方法由于学生可以进行操作系统部分代码的具体设计因而很值得提倡,但学生需要了解原系统相关的复杂数据结构及与其他模块的关系,工作量仍很大。为保证实验能够完成,一般都给出供参考的部分或全部实验源代码,这不但大大地降低了实验的难度,也使实验的独立设计性减色,甚至演变成阅读理解源代码的过程。
3 具体整合方案
根据以上实验课的类型,我们认为,实际验证型实验比较符合我校实际情况。但针对这种实验的不足,我们采用以下方法进行改进。
3.1 独立设课
独立设课,就是操作系统实验教学不再依附于理论教学,它独立开课,单独考核。实验教学是理论教学的深化和补充,独立设课,不仅促使学生认识实验课程的重要性,改变过去重理论、轻实验的思想;而且对于加强学生理论与实践相结合,起着不可低估的作用。理论知识可以指导实践,实验中遇到的问题可以反过来促进学生在理论上寻求解决,更能体现实验课与理论课相辅相成的作用。独立设课,能充分调动了学生学习理论知识和参与实验的主动性与积极性,使理论教学与实验教学相得益彰,有利于促进实验教学的改革。