面向系统能力培养的操作系统课程教学改革实践探究

作者: 杨晓文 张元 熊风光 薛红新 赵子博 孙福盛

面向系统能力培养的操作系统课程教学改革实践探究0

关键词:系统能力;操作系统;实验项目;新工科;多模式融合教学

0 引言

培养学生的系统能力是指学生在学习和工作中能够理解和掌握系统的整体结构和运作方式,能够对系统进行分析、设计、实现和维护的能力[1-2]。2023年全国新工科教育创新与发展研讨会中探讨了新工科教育的创新与发展,推动新工科教育的高质量发展,随着新工科教育的快速发展,对计算机专业人才的系统能力培养越来越重要。

操作系统课程内容主要包括操作系统的基本概念、基本原理、设计方法和实现技术。具体涵盖进程管理、内存管理、文件系统、设备管理和用户接口等方面。这些内容有助于学生了解操作系统的内部工作机制和外部行为表现,为培养学生的系统能力打下基础。

结合学生系统能力的培养需求[3],操作系统课程的教学过程应关注以下方面:

1) 理论结合实践:通过学习理论课程,学生可以理解操作系统的基本原理和概念,通过课内实验和实验项目的工程实践教学,学生可以分析和设计操作系统的核心功能,培养解决实际问题的能力。

2) 系统设计与优化能力:操作系统课程应引导学生从系统整体角度出发,理解各个模块之间的相互作用和影响,培养系统设计和优化的能力。

3) 创新与探索:通过引入最新的操作系统技术和研究成果,激发学生的创新思维和探索精神,培养他们在系统领域的创新能力。

综上所述,操作系统课程教学在培养学生的系统能力方面具有重要作用,为未来的工程实践和创新研究打下基础。在新工科背景下,本文结合教学实践,探讨操作系统课程的教学方式,融合多种教学模式,强化理论教学知识点,引入贴合实际的示例,深入理解理论教学的知识点,通过系统设计与优化实验项目挖掘学生的理解深度,以学生为中心,培养学生的系统能力。

1 操作系统课程的特点及内容延伸

操作系统是计算机科学与技术、物联网、数据科学与大数据技术、软件工程等专业的一门专业基础课,旨在培养学生对计算机操作系统的基本认识和综合应用能力[4-5]。通过该课程的学习,学生更清楚地了解如何将用户的作业任务传递给计算机,计算机如何存储、管理以及运行(处理)这些任务,直到运行完成输出结果为止。同时,学生还可以掌握操作系统的常见算法和数据结构,学习操作系统的核心功能设计与实现方法,并培养其分析和解决类似问题的能力。通过学习这门课程,学生可以更好地理解计算机系统的基本原理和实现方法,为后续的计算机专业课程学习打下坚实的基础。

2 教学模式

针对操作系统课程的特点及内容,延伸操作系统的教学范畴,以学生为中心,培养学生的系统能力,操作系统课程的教学模式可以采取多种方式[6-7],如课堂讲授、实验教学、案例分析和基于项目的教学模式:

1) 课堂讲授模式:操作系统课程的主要教学模式,通过教师的讲解和演示,学生可以循序渐进地理解操作系统的基本原理和实现方法。

2) 实验教学模式:通过实验环节,学生可以更加深入地理解和掌握操作系统的原理和实现方法,实验内容可以包括进程管理、银行家算法、内存管理等模块的实验。

3) 案例分析模式:为了使学生能够更好地理解操作系统的原理和应用,分析实际案例,如对Linux操作系统的设计和实现进行分析,让学生更好地掌握操作系统的设计和实现方法[8]。

4) 基于项目的教学模式:通过引导学生参与项目开发,让学生更好地理解和掌握操作系统的原理和实现方法,如引导学生开发一个简单的操作系统内核或者操作系统的核心功能,让学生更好地理解操作系统的基本原理和实现方法。

以上教学模式并不是孤立的,可以结合具体的教学内容和学生的实际情况,选择合适的教学模式或者多个教学模式融合[9],逐步引导学生深入理解课程教学内容。

以存储器管理的页面置换算法教学过程为例,首先通过课堂讲授的方式,让学生对页面置换算法具有整体的理论基础,对几种传统页面置换算法有初步的理解;然后利用课内实验的教学模式,引导学生观察页面置换算法的变化过程,通过数字表示方式观察内存中页面的访问过程;再利用案例分析模式引导学生从Linux操作系统中获悉页面置换算法的工作流程,掌握其原理;最后布置一个关于页面置换算法的实验项目,开发一个虚拟仿真实验系统[10],利用贴合实际的案例进行实验场景的设计,让学生更深入、全面地剖析页面置换算法的原理,增加学习过程中的趣味性,充分调动学生学习的积极性,并锻炼学生的工程实践能力,培养学生的系统能力。

3 实验项目案例开发

结合操作系统课程理论教学的经典算法如进程调度算法、银行家算法检测死锁问题、页面置换算法等,设计此类实验项目案例,不仅可以帮助学生深入理解课程的理论教学,而且可以锻炼学生的工程实践能力。实验项目案例内容一般比课内实验内容丰富,故由4人组成一个小组,进行实验项目案例的需求分析、设计、开发,依据实验项目内容进行具体的分工[11]。

本文以页面置换算法实验项目为例进行详细阐述。该案例分析了OPT(OPTimal replacement,最佳页面置换算法)、FIFO(First In First Out,先进先出页面置换算法)、LRU(Least Recently Used,最近最久未使用页面置换算法)和LFU(Least Frequently Used,最少使用页面置换算法)的运行原理,设计了页面置换算法动画交互的系统,通过动画交互和虚拟仿真实验的方式,展示了每个算法执行的具体过程,能够帮助老师更好地教学以及学生更好地掌握操作系统中常用的页面置换算法。

3.1 实验项目案例开发目标

本实验项目案例可应用于大学计算机操作系统课程的理论教学与实验引导;同时为学生深入理解页面置换算法原理提供生动有趣的交互场景。通过动画交互和虚拟实验的方式,帮助老师更好地教学以及学生们更好地掌握操作系统中的页面置换算法,增加学习过程的趣味性,充分调动学生对操作系统原理学习的积极性,提升学生的系统能力。

3.2 实验项目案例总体设计

本实验项目案例是关于页面置换算法动画交互的系统,通过动画交互和虚拟实验的方式,展示了每个算法执行的具体过程,包括如下功能:

1) 主界面和设置功能:供用户进行交互,通过主界面交互链接到其他功能页面,设置系统的音乐开关等;

2) 页面置换算法介绍:对各个页面置换算法原理和相关知识的文字介绍以及视频讲解,其中的视频讲解会跳转到不同的网页进行讲解;

3) 初始化页面访问条件:设置页面引用串的长度、每个页面序号的最大值和最小值、物理内存块的块数,依据以上设置条件可自动随机生成页面引用串,也可以根据用户需求,由用户手动输入生成页面引用串;

4) 在线演示模块:通过动画的形式展示不同页面置换算法的执行过程,包括OPT、FIFO、LRU和LFU算法,不仅能够演示算法执行的全过程,也可以暂停演示和分步演示,还可以动态地计算具体算法在执行过程中的缺页数和缺页率;

5) 趣味测试模块:通过一个3D版推箱子游戏测试学生是否掌握了每个页面置换算法的核心思想和执行过程,并结合LRU、FIFO和LFU置换算法构建3 个关卡,通过游戏的形式更好地调动学生学习的积极性,能够使书本中的计算机知识变得更加生动且富有趣味性。

3.3 实验项目案例详细设计

本案例采用面向对象思想,利用Unity进行设计开发,包括主界面模块、设置模块、算法介绍模块、在线演示模块和趣味测试模块,主界面如图1所示,包括页面置换算法案例的主题名称——页面置换算法动画交互系统,以及对算法的介绍、在线演示、趣味测试和设置的链接按钮;设置模块可对背景音乐进行设置;算法介绍模块包括页面置换算法基本原理的文字阐述,同时通过超链接引导详细原理阐述的视频讲解,以提供更加丰富的内容,算法介绍如图2所示。下面重点介绍页面置换算法的在线演示和趣味测试模块的设计与开发。

1) 在线演示模块。在线演示模块生成了一组页面引用串,依据不同页面置换算法,进行访问序列的动态置换展示全过程以及分步置换演示,最后给出该页面置换算法的缺页数和缺页率。

在线演示模块的初始条件设置界面如图3(a) 所示。为演示OPT、FIFO、LRU和LFU页面置换算法的动态置换过程,需要为算法设置初始条件,包括系统为该程序分配的内存块数(3~5) 、页面访问序列的长度即页面号引用串长度(10~20) 、待访问页面序号的最大值和最小值(仅自动生成引用串时使用),然后根据初始条件自动生成页面引用串,或者根据设定的规则手动输入页面引用串,供页面置换算法动态演示页面访问时对内存物理块的使用过程。在线演示模块如图3(b) 所示,选择OPT页面置换算法,将生成的12 个页面引用串“1 1 5 5 2 5 4 5 5 7 7 7”占用内存物理块0、1、2进行页面访问,执行完成后界面如图3(c) 所示,计算得到缺页率,通过这种自动的动画演示方式可以快速检验学生对页面置换算法的理解。如果对各个页面置换算法还不是非常熟悉,在得到页面引用串后不能很快确定不同页面置换算法的页面置换过程,也可以选择分步演示功能,由学生自己掌握页面置换的节奏,给学生留出更多的思考时间,前向箭头可以继续查看后续的页面置换过程,后向箭头可以便于回顾不理解的页面访问顺序,多次演示,透彻分析,便于学生深入理解页面置换算法的置换过程,并及时验证学生对某页面置换算法的执行步骤,为学生深入理解内存的管理模式打下坚实的基础。FIFO、LRU和LFU页面置换算法的操作步骤同于OPT页面置换算法,不再赘述。

2) 趣味测试模块。在线演示模块可以自动或者交互地完成一组页面引用串在确定的几个物理块上进行页面访问的执行过程,但仅能通过数字移动的形式展现页面置换过程,缺乏生动性。为了让页面置换算法具有生动的演示效果,本实验项目案例引入虚拟现实技术,构建3D版推箱子的游戏场景,让贴合实际的游戏场景与页面置换算法结合,为学生们提供更加生动的页面置换算法的展示过程,提高他们对页面置换算法理论学习的兴趣。

进入趣味测试模块,学生通过W、A、S、D按键控制具有序号的箱子(即要访问的页面序号)从初始位置移动到指定位置。本实验项目案例中设置了3个彩色发光位置(即内存中分配的物理块),学生根据具体的页面置换算法原理,将出现的箱子序号推到指定的发光位置,即相当于将页面内容装入对应的物理块中,如图4(a) ,5号箱子和0号箱子在两个彩色发光位置,新到来的6号箱子也将被推到另一个彩色发光位置。当所访问的页面不在内存中需要装入内存时,依据页面置换算法的工作原理,需要置换在内存中的某个页面,此时将被置换页面序号的箱子推到黑色发光位置进行销毁,然后将刚进入的箱子推到这个空位置中,完成一次页面置换过程,如图4(b) ,在页面5、0、6 依次存放到对应位置后,新来了3号箱子,依据LRU 页面置换算法,需要置换5号页面,即3号箱子需要占用5号箱子所在的位置,将5号箱子推到角落的黑色发光位置销毁,然后将3号箱子推到5号箱子原来所在的彩色发光位置。当新到来的箱子序号与3个发光位置上的某个序号一致时,相当于新到的页面已经在内存中,即页面命中,不需要产生页面置换,新到来的箱子会原地击毁,如图4(c) ,新到达的箱子为0号,此时0号箱子已经在3个发光位置中的一个,故直接原地将新到的箱子击毁。玩家将所有的箱子推到指定位置,本关完成,可以进入下一关。

为了增强页面置换算法的乐趣,每次产生的页面序号都是随机产生的,共10个页面访问序列。由于每个关卡的页面访问序列是随机产生的,故不能提前预知后续的页面访问序列,故关卡中包括LRU、FIFO和LFU页面置换算法的执行关卡,还包括一个测试关卡——测试推箱子的动作,共4个关卡,趣味测试模块所有关卡俯视效果如图5所示。

4 总结

在新工科背景下,本文分析了操作系统课程教学特点及模式分析,提出了以系统能力培养为导向的实验项目改革方案,通过改革教学模式,培养学生分析问题、解决问题的能力,锻炼工程实践能力。本文以页面置换算法为例,分析系统能力培养为导向的多模式融合的教学方式,取得了显著的成果。学生的实验兴趣和热情得到了有效激发,实验的质量和效果也显著提高,同时他们对理论内容的掌握也更加深入,并且有效锻炼了工程实践能力,加强了他们的系统能力。同时,学生在系统设计和开发方面也得到了更好的锻炼和提高。在未来的工作中,将继续深化操作系统实验项目的改革,不断探索新的方法和手段,以更好地促进学生的系统能力培养,为培养具有创新能力和实践能力的计算机专业人才做出更大的贡献。

上一篇 点击页面呼出菜单 下一篇