当前位置:首页 期刊杂志

新工科视角下操作系统原理课程教学内容体系重构

时间:2024-05-18

颜庆茁 林丽娜

摘 要 操作系统管理着底层庞杂的硬件,代码量巨大,算法设计精妙,是“中国制造2025”智能化核心要素,学生掌握它具有挑战性。新工科课程建设背景下,为推动教学质量再提升,在操作系统基本原理、技术和实践应用三个方面重构操作系统原理课程教学内容体系。借鉴国内外名校课程的知识体系,在教材的基础上拔高,突出内涵,涵盖最新技术,强化创新实践,着眼于计算思维、工程思维、系统级编程能力的培养。教学原则基于成果导向,以学生为中心,应用启发式探究型的教与学生自主研究型的学相结合,关注学生面向未来的创新创业能力的养成。

关键词 新工科 操作系统原理 体系重构

中图分类号:G424                                 文献标识码:A  DOI:10.16400/j.cnki.kjdk.2021.12.031

Abstract The operating system manages the complex hardware at the bottom, with huge code volume and excellent algorithm design. It is the core element of intelligent "made in China 2025". Students have the challenge to master it. Under the background of the new engineering curriculum construction, in order to promote the teaching quality and improve again, the teaching content system of operating system principle course is reconstructed in three aspects: the basic principle, technology and practical application of the operating system. Learning from the knowledge system of famous courses at home and abroad, we should take the teaching materials as the basis, highlight the connotation, cover the latest technologies, strengthen the innovation practice, and focus on the cultivation of computing thinking, engineering thinking and system level programming ability. Based on the results oriented teaching principle, students as the center, the heuristic inquiry teaching and students' independent research-oriented learning are combined to pay attention to the cultivation of students' innovation and entrepreneurship ability facing the future.

Keywords new engineering; principles of operating system; pedagogical content and structure reconstruction

0 引言

新工科是当下中国高等工程教育创新创业改革发展的政策焦点和战略部署。为推动高教质量再提升,新工科建设正进入踏踏实实五个“再深化”阶段,其中之一就是打造一流本科课程“双万计划”。[1]在此背景下,操作系统是“中国制造2025”智能化核心要素,是计算机科学研究的基石之一,是实施计算机系统编程能力培养的核心课程。操作系统原理课程理论性强、概念多且抽象,学生掌握操作系统具有挑战性。操作系统原理课程教学团队依据新型工程科技人才培养理念与要求,立足未来战略需求,结合课程和生源特点,借鉴国内外知名高校操作系统课程的知识体系,吸纳先进的课程实践项目,重构操作系统原理课程教学内容。

1 课程建设的目标

新工科建设落实到人才培养能力的提升上,是以新兴产业和技术发展的需求为导向,大力培养具有前瞻交叉思维的卓越工程创新人才。而课程是人才培养的基本单位,[2]课程质量决定了人才培养质量。操作系统原理课程是计算机专业的主干课程,综合了多门课程的知识。操作系统管理底层庞杂的硬件,为用户提供便捷的服务,其代码量巨大,算法设计精巧高效。操作系统不仅仅是关于并发性和琐碎的调度算法,它与硬件配合,如何让中断、异常、上下文切换等真正有效,它着眼于从系统和全局上权衡时间和空间、性能和可预测性、公平和性能。随著系统硬件和并行技术的发展,操作系统也在不断演化,并与多学科交叉融合。研制含金量高的教学内容,是实现课程教学提升的关键。新工科视角下的课程体系建设目标主要包括以下三个方面。

在基本原理层面上,掌握操作系统的基本概念、原理与方法。[3]掌握线程、进程、CPU调度、并发、同步、互斥,信号量、锁、死锁、地址空间、按需调用,文件系统、设备驱动、TCP/IP网络、分布式系统等关键知识点。操作系统在计算机系统中位于硬件之上其他软件之下,为应用程序提供一致的抽象视图;在多个应用程序之间管理资源的共享。让学生形象地理解操作系统在计算机系统中的地位和作用就像是裁判、造梦师、系统服务的胶合剂。

在操作系统的技术层面,掌握操作系统的宏/微/混合体系架构,内核设计原则与算法思想和实现。从系统程序员的角度,深入理解操作系统的数据结构与算法在设计上的精巧,学以致用,学习解决复杂问题的思路与方法。

在操作系统课程的实践应用层面,侧重对课程知识的验证与应用,以作业、编程、课外阅读等多种形式开展。设计系统开发类和核心算法实现类实验内容,在Linux环境下使用Glibc库和POSIX库来完成,培养学生利用操作系统库进行并发程序设计和系统软件编程能力。阅读并分析核心Linux源代码,学习设计思想并加以灵活应用。剖析像清华大学uCore OS[4]和一些小型精简的OS掌握其设计精髓,尝试设计一个小的OS加深体验。

2 课程教学内容建设思路

教学团队基于成果为导向的人才培养理念,借鉴国内外著名高校课程的内容,以学生发展为中心、反向设计、持续改进[5]教学知识体系。从基础性、系统性、先进性等方面注重内容的选取,在教材的基础上拔高,突出内涵,除旧纳新,涵盖最新技术,兼顾广度和深度,形成操作系统清晰的全局知识框架。强化创新实践,以项目学习为牵引助力学生突破知识结构。课程建设的重点是注重学生计算思维、工程思维、系统编程思维能力的培养,关注学生面向未来的创新创业能力的养成。

2.1原理课程资源建设

多年来,教学团队选用左万力编著的《计算机操作系统教程》国家级、省级规划教材,推荐国内外广泛认可的《操作系统概念》《现代操作系统》《OSTEP》等作为主要参考书。精心挑选互联网上最新的操作系统课程资源,包括:GitHub、大学慕课、公开课,知乎、微博等。引导学生充分利用网络资源来学习教材之外的前沿知识,了解新兴产业的操作系统设计上的需求,拓宽了学生视野,激发了学生学习动力和激情。

根据新工科的人才培养需求,课程教学团队对课程目标和教学计划进行重新的规划,编写课程教材、PPT资源和实验项目,拟构筑操作系统原理全方位复合型的知识结构。

2.2实践教学资源建设

实践性教学是培养学生系统开发实践技能的主要教学环节和手段。教学团队设计各个核心模块的实验内容,包括系统级应用开发类、系统模拟类、核心算法实现类、[6]Linux源代码和ucore OS源代码分析类实验课题。根据操作系统原理课程关键模块的内容,构建的实践课题如表3所示。

实践教学让学生能够更深入理解操作系统的抽象原理、运行机制和设计思想,也促进学生系统级编程能力的提高。

3 课程教学方法与实施

在操作系统教学课程中,团队不断探索教学方法,致力改善教学成效。教学原则以学生为中心,对于课程教学内容的重点与难点,应用启发式探究型的教学法由浅入深、循序渐进地讲授,让学生自主研究地学习、领会、融会贯通。课堂凝聚在学生积极投入、思索、探究的学习过程。

教学内容组织上,团队凝练出操作系统的四个基本概念:线程、地址空间、进程、双模式/保护,[7]以此为主线层层深入,建立系统的整体视野。操作系统的要旨:控制程序的运行,从编辑程序开始,然后编译、加载到最后的运行都离不开操作系统背后的支持。虚拟化技术是理解课程的一个关键,课程的内容主要围绕各个抽象展开:线程是CPU核的抽象、地址空间是内存的抽象、文件是磁盘的抽象、套接字是网络的抽象及机器是进程的抽象。对操作系统各个子系统核心模块,精讲算法设计思想,剖析算法的精妙,引领学生去思考设计思路:设计的缘由,做了什么事,如何做,达到什么效果,不足之处如何改进等。课程涉及具体的软硬件技术,如,Intel 64 and IA-32 架构、ARM体系、Linux 内核的库函数API等参考官方技术手册来寻找第一手精准答案。针对操作系统原理课程大量晦涩难懂的概念和原理,教学团队精心设计了丰富的小实例。如vcpu虚拟化、内存虚拟化、并发等一些小例子;又比如系统调用,用c语言的OS库和汇编语言分别编写一个系统调用的代码,并用strace工具测试,让学生对看不到的系统调用有了直观的感受。教学团队注重操作系统内核源代码的分析,将抽象的原理化为具体的示例。例如Linux进程创建fork,通过源代码跟踪,让学生真实感受fork都做了哪些事。再比如Linux中断处理,考察源代码中断相关的的数据结构和内核函数,学生真切体会到中断处理的整个流程,对如何编写一个中断处理程序有一个清晰的逻辑。教学团队也注重项目驱动式案例教学,通过创设情境,提出问题、分析问题、解决问题来提高学生的兴趣,加深概念的理解记忆。

教学方式上,改变满堂灌的传授知识模式,注重学生自主探究式的学。课前分发多媒体课件、视频、课程阅读材料让学生预习。课中突出内涵,讲述重点内容,展开分组合作式讨论学习,鼓励提问,活跃课堂气氛,增进教学互动。课后要求学生对所学知识加以巩固、加以验证和灵活应用,训练学生举一反三,个性化地“造轮子”,促进创新创业能力的养成。教学团队一直致力改善操作系统课程的教学效果,尝试翻转课堂、智慧课堂[8]等授课模式,应用课堂派软件、QQ教学群等工具进行辅助教学,对教学设计进行创造性的建设。

4 结束语

新工科的核心是以市场的需求为导向,大力培养具有面向未来的卓越工程创新人才。在新工科视角下,人才培养能力的提升落实到课程建设上来。操作系统是计算机专业的主干课程,是实施计算机系统能力培养的核心和着力点,同时也是最复杂的系统软件。诚毅学院操作系统原理教学团队基于成果为导向,以学生为中心,通过吸收国内外名校课程的知识体系,突出课程内涵,涵盖新技术,强化实践,从操作系统基本原理、技术和实践应用三个方面重构课程教学内容。操作系统课程的教学改革,力图建立一个好的课程知识体系让学习不再盲目,有效地引导学生更顺畅地学习操作系统,更深入、全面地掌握地操作系统的设计思想,重点训练学生的计算思维、工程思维、系统编程思维能力,关注学生面向未来的创新创业能力的养成。

基金项目:202001福建国科信息科技有限公司 教育部“产学合作协同育人”(新工科视角下网络专业产教融合建设)

参考文献

[1] 教育部.实施一流本科课程“双万计划”让本科课程优起来[EB/OL].(2019-10-31).https://wenku.baidu.com/view/60cb4738a1116 c175f0e7cd184254b35eefd1a96.html

[2] 成长春.追求卓越 全面提高人才培养能力[N].中国教育报,2018-04-23(05).

[3] 叶保留,费翔林,骆斌,等.南京大学操作系统原理与实践国家精品课程建设[J].计算机教育,2014(7):45-49.

[4] 陈渝.操作系统实验:基于uCore OS [EB/OL].蓝桥,2020.https://www.lanqiao.cn/courses/221

[5] 姜晓坤,朱泓,李志义.新工科人才培养新模式[J].高教发展与评估,2018(2):17-24.

[6] 翟高寿,许宏丽,杨昆,等.操作系统实验课题拓展及支撑操作系统研发的教学生态圈构建初探[J].工业和信息化教育,2019(3):44-49.

[7] Abraham Silberschatz,PeterBaerGalvin.操作系統概念[M].高等教育出版社,2010(1):16-26.

[8] 周军海.新工科背景下基于OBE教育模式的操作系统教学改革研究与实践[J].软件工程,2020,23(4):51-53.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!