《操作系统》与《计算机组成原理》课程关系分析

2018-12-19 12:44龙陈锋傅卓军何轶
现代计算机 2018年32期
关键词:计算机硬件操作系统中断

龙陈锋,傅卓军,何轶

(1.湖南农业大学信息科学技术学院,长沙 410128;2.湖南省农村农业信息化工程技术研究中心,长沙 410128;3.湖南农业大学东方科技学院,长沙 410128)

0 引言

国家教育事业发展“十三五”规划(国发[2017]4号)中要求深化本科教育教学改革。实行产学研用协同育人,探索通识教育和专业教育相结合的人才培养方式,推行模块化通识教育,促进文理交融。改进专业培养方案,构建科学的课程体系和学习支持体系。强化课程研发、教材编写、教学成果推广。加大对课程建设、教学改革的常态化投入,全面提升高等学校教学水平。

《计算机组成原理》作为一门计算机硬件基础课程,介绍了计算机单处理机系统的基本结构、组成和工作原理,侧重阐述处理器、存储器、地址空间、指令系统、程序控制、指令周期、寄存器、I/O系统、外围设备等计算机硬件基础知识,在先导课程和后续课程之间起着承上启下的作用[1]。《操作系统》课程系统地讲述了操作系统的基本概念、原理和方法,主要介绍了操作系统中有关处理器管理、存储管理、文件管理、设备管理、用户接口等计算机操作系统原理的基础知识[2]。这两门课程是计算机科学与技术、电子信息工程等专业的核心专业基础课程,也是计算机领域最为活跃的课程,具有理论性、技术性和实践性都很强的特点。

1 问题提出

《操作系统》和《计算机组成原理》是计算机科学与技术、物联网工程、电子信息工程等专业的核心基础专业课程,各学校非常重视这两门课程教学和建设工作。这两门课程之间有着不可分割的内在联系,前者从硬件的角度描述了计算机系统,后者从系统软件的角度描述了如何管理计算机硬件系统和支撑应用程序运行。两者都是概念多、原理和方法抽象、内容涉及面广,使得学生难学、教师难教,而且目前这两门课程分开独立授课,授课教师很少针对课程内容进行交流。因此,长期以来,这两门课的教学和建设依然存在以下几个方面的问题:

(1)授课限于授课内容、方式和方法探讨。近三年,针对这两门课程的教学改革研究的文献都是集中在授课内容、授课方式和方法等内容[3-6],而且是单独对各门课程进行研究,更加侧重于理论探讨,都只限定在各自局部层次中进行教学和教学改革。因此,形成了授课教师重理论轻实践,学生重技术轻理论的教与学的局面,构成了教与学之间的主要矛盾,从而使教学效果难以达到预期目的,甚至引起部分学生失去专业兴趣。

(2)严重忽视了课程知识的整合与衔接。现有课程内容是按照计算机整体系统进行横向划分而设置,开展的课程建设研究都是针对本门课程进行[7-8],分割了这两门课程内容上的紧密联系,忽视了两者知识链的衔接性,从而造成了课程教学方式上并未对课程之间的关联内容进行整合和衔接,关联知识碎片长期没有得到有效拟合。

(3)课程关联知识教学连贯性和支撑性缺乏。实际教学过程中,大多数学生在修习这两门课程时,觉得盲目,无法将先修课程《计算机组成原理》的知识延续到《操作系统》课程中,使得《操作系统》授课教师难度增大,学生学习脱节而跟不上课程进度。《操作系统》和《计算机组成原理》两门课程的各个章节内容之间存在着千丝万缕的联系,而学生在学习时都是孤立地识记这些知识点,无法对两者相关知识体系做到真正的理解和运用。

针对这些问题,本文以这两门课程知识的深度开发挖掘和展现来研究这两门课程之间的内在关系,并高度融合两者知识的连贯性,从而推动这两门课程知识纵向深入挖掘和横向拓展延伸,提升课程内容内在品质,提高课程学习效果。

2 基于计算思维的课程内在关系

计算思维是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[9]。《计算机组成原理》到《操作系统》的课程学习是从计算机硬件资源学习到如何进行系统资源管理的学习,不但是跃进式的课程内容跨越,而且是学生一次跳跃式思维的跨越。这种从硬件资源过渡到对硬件资源的软件管理思维是一次硬件到软件的大跨越思维活动,而操作系统恰好实现了对计算机资源的抽象,包括计算机硬件资源,因此这两门课程之间存在一种基于计算思维的内在关系。

2.1 知识的依赖关系

计算机系统由硬件、固化软件、系统软件、应用软件等组成,它们结合在一起,相互依存、相互配合为用户提供了解决问题的工具和环境。计算机硬件由中央处理器(Central Processor Unit,CPU)、存储器和输入/输出(Input/Output,I/O)等部件组成,部件之间经系统总线相连来实现相互之间的通信。操作系统是一套非常重要的系统软件,是利用一个或多个处理器的硬件资源,为用户提供程序开发和运行、I/O设备访问、文件访问控制、系统访问以及错误检测和响应等服务,并代表用户来管理辅助存储器和输入/输出等相关设备。

(1)CPU支撑了操作系统指令的执行。CPU包括时钟、控制器、运算器、指令计数器、指令寄存器、累加器、高速缓存等。CPU运行是靠时钟产生精确的脉冲来驱动,当需要执行一条操作系统指令时,时钟产生一个脉冲激活控制器,启动CPU开始工作。控制器从内存中取得了要执行的指令并确定了下一条将要执行指令的地址,然后激活运算器开始执行指令。运算器根据指令将数据从内存中读入累加器进行计算,计算指令是由一些加、减、乘等逻辑电路来实现。计算出来的中间结果、控制信息、关键数据等存储在寄存器中。每一次计算完成后,时钟会再次产生一个新脉冲,开始一个新的机器周期,如此重复直到程序结束。因此,操作系统指令的执行及相关数据的传输、计算等需要CPU提供支撑环境。

(2)中断硬件机制支撑了操作系统的中断处理程序运行。时钟部件一般以中断方式对外提供服务,由CPU内部的计时器产生,允许操作系统以一定规律执行函数。现代计算机都提供了中断机制,中断作为一种提高CPU效率的机制,一是可以使CPU在I/O操作的执行过程中能够执行其他指令,二是允许I/O、存储器等中断处理器正常的处理过程中,转去处理中断请求。操作系统的中断处理程序位于I/O系统的底层,直接与I/O硬件进行交互,当I/O设备发出中断请求信号时,中断硬件完成初步处理后便会转向中断处理程序,由中断处理程序对中断请求信号进行处理。中断硬件机制有力地支撑了操作系统的高效、安全、可靠运行和资源管理。

(3)I/O设备支撑了操作系统与用户的交互。I/O设备一般由执行I/O操作的机械部分和执行控制I/O的电子部件组成,实现计算机系统与外部进行信息交换,例如键盘、鼠标、打印机、显示器、绘图仪、磁盘驱动器、传感器、数字线路驱动器等。用户程序及其所要处理的数据均需通过I/O设备在设备驱动程序的控制下完成输入和输出,设备驱动程序接收操作系统转来的抽象I/O请求,再把它转换为具体要求发送给设备控制器,启动设备去执行;反过来,也能将设备控制器发送过来的信号传送给相应的请求程序。I/O系统隐藏了I/O物理设备实现的细节,仅向用户层提供了少量、抽象的读写命令。

(4)存储器为操作系统运行提供了数据存储环境。CPU需要的程序和数据以及操作系统组织、协调和控制应用程序运行的指令代码和数据均存放在存储器中。CPU在执行这些指令周期的过程中,取指令时至少需要访问一次存储器,而取操作数或保存结果则会多次访问存储器。为了支持操作系统有效运行,计算机硬件系统提供了多级的存储体系、地址变换机制、请求页表机制、缺页中断机构等功能。

硬件是保障操作系统正常运行的前提,而操作系统通过对计算机资源的抽象来实现软硬件资源管理。操作系统硬件抽象层将操作系统从平台相关的硬件差异中隔离出来,使得每台机器的系统总线、直接存储器访问控制器、中断控制器、系统计时器和存储控制器对用户来说看上去是相同的,通用的硬件命令和响应与操作系统中某一特定专用的命令和响应之间进行映射。也就是说,操作系统的运行需要计算机硬件为其提供支撑环境,即操作系统运行依赖于计算机系统硬件组成的平台,操作系统作为直接覆盖在硬件之上的第一层软件,不但依靠计算机硬件并在其基础上提供很多新的服务和功能,而且使用户方便、安全、可靠和高效地操纵计算机软硬件资源,从而保障软件和硬件能相互协调地作为一个整体运行。

因此,学习操作系统之前,必须掌握一些底层的计算机系统硬件知识。《计算机组成原理》和《操作系统》作为专业核心的两门基础课程,需要根据各自的课程信息及课程之间的关系,理顺两者先修、后修关系,将《计算机组成原理》课程安排《操作系统》课程之前开设是非常必要的。只有学习了《计算机组成原理》课程的相关知识之后,才能直接支持《操作系统》的相关知识学习,这种知识的依赖关系直接反映了课程的先修后修关系。

2.2 知识的关联关系

虽然《计算机组成原理》与《操作系统》分别从硬件和系统软件的角度分别对计算机系统进行了讲解,但是它们所涉及的知识具有高度关联性,甚至部分内容重叠。图1仅从两者关联的知识进行思维导图设计,没有展示它们之间更加详细的关联知识内容,例如地址转换从逻辑要求变成了具体的物理操作是如何体现硬件和操作系统之间协调完成的。

计算机系统所有的行为都离不开中断,中断机制作为主线,贯穿这两门课程所有的关键知识点。因此,《计算机组成原理》课程侧重于中断的识别检测及响应介绍,《操作系统》课程侧重于中断处理介绍。从表面上两者虽然有不同之处,完全是两门独立课程,但是通过课程相应的内在知识建立了软硬件知识的映衬联系,形成了一种不可分割的关联关系。

2.3 学习的融合关系

基于这两门课程知识的依赖性和关联性,想要获得好的学习效果,课程教学安排上需要紧密衔接,完成《计算机组成原理》课程学习之后,马上开始《操作系统》课程学习,这样保证了知识在学习过程中得到融合,从而将计算机系统的硬件知识和操作系统知识紧密得联系在一起,形成一个统一的软、硬件知识体系,并以此基础扩展和深化其他专业课程知识,如图2所示。以这两门课程知识的深度开发挖掘和利用来促进它们的建设,高度融合课程知识,推动课程知识向纵向深入挖掘(与编译原理、体系结构等课程的融合关系)和横向拓展延伸(拓展延伸到微机接口、Linux系统管理、Android编程等课程),进一步完善和优化课程知识内容之间的高度无缝衔接,进一步提升两门课程建设上的资源整合。在整个知识体系形成过程中,以坚持计算思维能力的培养贯穿始终,不但依靠自我感知和经验归纳获取课程知识,而且从计算机硬件知识到操作系统知识获取是一次完整的知识逻辑推演和实证分析,完成了知识梳理和知识再造,尤其是将硬件操作的抽象模型以形式化的方式展现出来,使学生的抽象思维与逻辑思维能力进一步得到锻炼和培养。

图1 课程知识的关联思维导图

图2 基于计算思维的学习融合模式

这两门课程学习的融合是关于计算机硬件知识到系统软件知识一次大迁移,知识一旦迁移,就能促使我们在不同的情景和问题面前创造性地、灵活地、流畅地应用专业常规知识并扩展专业关键知识。即一旦掌握了计算机硬件和操作系统的能力及相关底层知识,就意味着增强了专业的软硬件知识“内涵”,打通了专业软硬件知识“脉络”,获得更好的专业培养和能力成长。

2.4 授课的协同关系

作为独立开设的专业核心基础课程,彼此之间的依赖、关联、思维拓展以及学习上要求知识融合给教师授课带来了一定难度。操作系统教师担心计算机组成原理教师讲授过的相关硬件知识不够深而未达到自己所授内容的要求,而且自己又重新介绍的相关硬件知识让学生觉得在学习旧知识,从而丧失学习的动力。同时,两门课程知识重叠给学生学习也带来了一定的困惑,尤其是具体课程知识细节上有所差别时,学生往往不会意识到如何选择而陷入到较长时间的对比中,严重影响了他们的学习效果。

为了解决这两门课程的教与学带来这些问题,需要围绕这两门课程的教学内容,立足提高课程教学质量和计算思维能力培养,以它们的内在联系为导向,以课程建设和改革为动力,汇聚各种有利资源,系统思考与科学统筹,打破课程界限,改变课程结构过于强调课程本位、缺乏知识融合的现状,有效融合这两门课程的关联知识,做到教与学的良性互动,从授课教师备课、教学组织到教学方法和教学方式进行协同设计,构建一种基于计算思维的协同创新教学模式,如图3所示。通过协同教学,将课程教学内容创新、教学方法创新、教学策略创新以及其他相关方面创新有机衔接起来,形成这两门课程教与学的计算思维,使硬件知识和操作系统理论知识得到更深层次的理解和领悟,进一步加深学生对各硬件之间协同工作原理的认识。例如,《操作系统》课程中的进程控制涉及CPU、内存、缓存、中断以及相互协同工作等硬件知识,需要两门课的授课教师在一起进行深入探讨和分析,有机的将知识进行关联和融合,才能使学生掌握一个进程在其生命周期中是如何通过硬件实现创建、状态转换、撤销等操作。

图3 基于计算思维的协同教学模式

随着计算机硬件不断改进和发展,硬件功能得到进一步充实。同时,作为构建在计算机硬件之上的第一层软件,操作系统的功能和性能也得到显著的增强和提高。通过隐藏对硬件操作的具体细节,操作系统实现了对计算机硬件操作的多层次抽象,即对用户屏蔽了硬件具体操作,实际上将用户对硬件的请求转换为具体的物理操作。计算机硬件和操作系统之间的内在联系更加紧密,更多以前由软件实现的功能改为硬件实现,向用户提供对硬件操作的抽象模型越来越丰富。

3 结语

本文深入分析了这两门课程之间的内在联系,总结出了两者之间的相互内在关系,以便将这两门课程的知识更好地融合在一起,尤其是将操作系统的抽象性知识与具体硬件知识结合起来,教与学更加通俗易懂。两门课程关联越强的知识点,越易讲透,分析更加清楚。教学实践证明理清、理顺这两门课程的内在联系,为授课教师提供一种新的课程教学思路和探索新式的教学方法开辟了新途径,为学生提供一种新的视野角度去学习计算机组成原理和操作系统,更好地构建计算机硬件和系统软件相融合的知识体系,进一步激发学生专业学习的兴趣,提高课程教与学的效果,促进了学生计算思维能力的培养。

猜你喜欢
计算机硬件操作系统中断
TMS320F28335外部中断分析与研究
多级中断屏蔽技术分析
一种考虑GPS信号中断的导航滤波算法
中职计算机硬件课程教学策略探讨
跟踪导练(二)(5)
智能手机操作系统的分析与比较
国产桌面操作系统中虚拟化技术应用研究
计算机硬件的设计安全探究