APP下载

结合考研的操作系统课程教学探讨

2014-04-29梁文娟杜莹

计算机时代 2014年1期
关键词:操作系统考研教学

梁文娟 杜莹

摘 要: 操作系统课程是计算机专业考研统考专业课之一。对计算机统考以来操作系统真题中知识点数量和分值分布情况进行了分析,结合分析结果,给出了结合考研的操作系统课程教学方法,并总结了近几年的实践情况。实践证明,这种教学中融入考研的方法能让学生对操作系统知识有更深入的理解和掌握,对计算机专业其他考研课程的教学具有一定的借鉴作用。

关键词: 操作系统; 考研; 教学; 并发; 死锁

中图分类号:G642 文獻标志码:A 文章编号:1006-8228(2014)01-44-03

0 引言

操作系统既是计算机学科一门重要的专业基础课程,也是计算机专业考研统考的课程之一。课程内容丰富,具有知识点多、概念性强、抽象、实践性强、同时涉及面广(涉及到计算机体系结构/硬件、软件设计、程序设计、数据结构、算法、网络等内容)等特点;课程内容主要针对单机OS,重点介绍其基本工作原理,同时也要让学生了解实际操作系统的设计与实现。基于学生学习的多重目的,即:不考研的学生学习这门课程主要是为以后的学习和工作打基础,考研学生还要为考试做准备,因此在讲授这门课时一定要注意和考研内容的结合。该课程开设时间为大三上学期,如果授课中能够结合考研,那么一定能够帮助到考研的学生对于操作系统课程的复习,使他们的学习事半功倍。

1 操作系统考研现状分析及总结

为了在操作系统课程教学中很好地结合考研,有必要对近几年的操作系统考研真题进行分析和统计。

1.1 现状分析

操作系统课程考研的内容从资源管理的角度主要有操作系统概述、进程管理、内存管理、设备管理、文件管理和接口等几大块内容[1-2]。笔者对计算机统考以来的操作系统课程考试的知识点分值分布情况作了统计,统计结果如表1所示。

每年出题涉及的更细化的知识点如下:

2009年选择题:并行概念、进程调度算法、死锁、分区分配算法、分段地址变换、磁盘调度算法、IO设备管理、文件控制块、文件共享、文件在外存的分配方式;

综合应用题:PV操作和页式管理机制的考察;

2010年选择题:操作系统提供的接口、新进程创建、信号量、进程调度、临界区、动态分区分配算法、页表机制、文件外存索引分配方式,目录,输入管理等;

综合应用题:磁盘调度算法、读盘时间;页式管理地址变换、页面置换算法;

2011年选择题:进程调度算法、用户态和系统态、线程、银行家算法、PV操作、缺页处理、抖动、程序的编译和链接、IO软件层次、单、双缓冲区处理时间分析;

综合应用题:页式存储、PV原语、文件在外存的分配方式;

2012年选择题:用户态和系统态、进程调度、进程线程概念、银行家算法、并发执行时间分析、虚拟存储、磁盘调度、IO软件层次、终端处理、系统调用;

综合应用题:页面置换、文件分配方式;

2013年选择题:用户态和系统态、开机启动过程、进程调度、银行家算法、磁盘读取时间、缺页处理、IO软件层次、IO控制方式、IO缓冲区处理时间计算、文件删除、文件在外存的分配方式(2个);

综合应用题:PV操作、页式存储管理。

1.2 分析总结

根据对上述近五年来的操作系统考研试题的分析,选择题经常考的知识点如下:

处理机管理部分:进程调度、进程控制、PV操作、银行家算法、线程概念;

内存管理部分:页式管理(缺页处理、页表机制等)、虚拟存储、磁盘调度、分区分配管理(不太重要);

设备管理部分:IO控制方式、IO软件层次及功能、IO缓冲区管理(单双缓冲);

文件管理部分:文件在外存分配方式、文件共享、目录管理等;

补充部分:系统态和用户态,开机启动;

综合应用题部分常出的知识点有PV原语操作、页式管理机制(地址变换、页面置换等)文件在外存的分配方式等。

2 结合考研的课程教学内容安排与设置

结合考研,我们从教材的选择、课程内容等方面作了相应的安排和设置。

2.1 教材的选用

目前,操作系统课程的教材大概分为两类:一类是针对原理进行分析和讲解,这些教材的优点是较为全面,大多数教材采用此方法,但缺点是比较难以建立整体概念[3],典型的书本有Tanenbaum,《操作系统:设计与实现》;第二类是以构造一个操作系统为主线,优点是通过剖析一个实际操作系统深入了解操作系统的原理,进而推广至其他系统[4],典型的有陈莉君的《Linux操作系统原理与应用》,郭玉东的《Linux操作系统结构分析》[5]等。

我们选择的教材是《计算机操作系统(第三版)》,由汤小丹、汤子瀛等编写,西安电子科技大学出版社出版。该教材适合于初学者,简单易懂,内容也比较全面,是大多数考研的指定教材,但缺点是原理性太强,与实际操作系统结合有一定的难度,学生在学与用之间难以建立联系,而且该教材偏重讲解算法[2]。对于这个缺点我们在操作系统实验设计时做了弥补。

2.2 处理机管理内容教学分析与思考

处理机管理是考试的热门选题,通过第二小节的分析可以看出,考点即可以出现在选择题中,也可出在综合应用题中。处理机管理主要包括进程管理和处理机调度两大块内容,这部分是考研的重点,也是难点,因为这部分除了要求掌握基本的概念外,还要求能运用这些基本的原理去分析和解决问题,其中PV原语操作、同步控制问题、处理机调度算法和死锁问题都有可能出现在综合应用题中。因此,在我们讲到相关部分时,在学时安排上一定要有保障。

对进程管理内容的教学安排,我们的设置如下。

⑴ 进程和线程定义:讲解进程的基本特征、进程的状态及其相互的转换条件和过程,进程与线程的区别和联系;这部分出题只可能出选择题。

⑵ 进程控制:掌握进程的创建、撤销、阻塞、唤醒的条件,理解四种原语的执行过程,为了加深学生的理解,我们补充了Unix操作系统中涉及到相关的系统调用函数。

⑶ 进程同步:要求学生掌握什么是并发进程间的直接制约以及由直接制约所引发的进程同步,分清什么是私用信号和公用信息,重点要掌握如何用PV原语操作实现同步问题,要会利用PV原语操作来解决经典的同步问题。为了帮助学生理解这部分内容,在讲授经典进程同步问题时,我们补充了读者-写者问题的读者优先、读写平等和写者优先的记录性信号量的解决方法。同时,我们还结合PV原语一些典型的练习题和近几年的考研真题,专门设置了一次习题课,让学生对这个知识点进行巩固,并对考研试题中PV信号量的难易程度进行把握。这部分一般会出现综合应用题。

⑷ 进程通信:只需要知道进程的通信方式及它们各自的特点即可,所以这部分安排一个课时即可。

对处理机调度部分我们主要考虑以下内容。

处理机调度算法:掌握作业调度和进程调度的策略和算法,重点要掌握几种典型的调度算法的基本思想、适用的范围和特点,要能指出各种调度算法的调度顺序并能计算它们的周转时间。这部分在09年的试题中占一个选择题,就是对算法特点的考察,因此,这部分讲解完一定要把各种算法放在一起作一个综合比较,来帮助学生加深对算法的理解。

死锁:死锁的定义、死锁产生的四个必要条件、熟练掌握死锁的预防、死锁的避免,死锁解除的原理与方法。

进程管理部分的處理机调度、PV原语操作、同步问题、死锁问题等是考试的重点,也是难点,其中利用PV原语操作解决经典的同步问题尤为重要,针对这个问题的出题比较灵活,考生掌握比较难,但是却是考试出现频率较高。

2.3 内存管理内容教学分析与思考

内存管理也是操作系统的管理功能之一,这部分也是考试的一个重点,这部分内容的考查方式很灵活。我们把重点放在内存连续分配算法、非连续分配管理方式、虚拟内存请求分页的基本原理,页面置换算法等内容;虚拟内存这部分内容可以结合计算机组成原理科目中虚拟存储器来讲,这部分往往出综合应用题的可能性较大。

具体的教学内容安排如下。

⑴ 连续分区分配管理:连续分配管理主要是分区分配管理,这部分内容不是很重要,授课时有一点需要注意,即我们补充了一个伙伴算法,因为Linux操作系统当中用到了伙伴系统。这部分在2010年的考研真题中出了一道选择题,考察连续分区分配的几种算法。

⑵ 非连续分配管理:主要是分页管理方式、分段管理方式、段页式管理方式,对这三种内存管理方式的基本思想和实现原理都一定要讲清楚,其次是要理解什么是交换和覆盖技术,以及两者的区别。

⑶ 虚拟内存管理:是重点中的重点,要让学生必须弄清楚虚拟内存以及它的三个主要特征,在此基础上掌握请求分页存储管理方式、请求分段式和请求段页式管理,对请求分页管理方式的页表结构、页面分配算法和页面置换算法都要深入理解,特别是考研大纲中列出的几种页面置换算法,要能够画出各个算法内存中页面变化情况并能够计算缺页率,尤其要注意掌握抖动现象的实例,对于这个知识点有可能会出综合应用题。

内存管理部分的重点是虚拟内存管理部分,考生要特别重视页面置换算法和抖动现象,要会计算缺页次数和缺页率,页面置换这也是考试中出现频率很高的一个内容。

2.4 设备管理内容教学分析与思考

I/O管理重点应该放在对基本概念的掌握,主要是对基本概念和原理的理解和记忆,出应用题的可能性很小。重点掌握四种输入/输出控制方式特点及相互比较、中断处理、SPOOLing系统的组成和特点,提高性能的缓冲策略等。

2.5 文件管理内容教学分析与思考

文件管理这部分内容的重点是文件的几种逻辑物理结构、目录的管理和磁盘管理,重点掌握磁盘管理各种调度算法的基本原理及其应用。

文件的物理结构分为连续分配、链接分配和索引分配三种方式,我们需要补充Unix中的混合索引方式,因为对文件的检索有可能和数据结构中的查找算法结合出综合应用题,所以应该引起重视。

对于磁盘管理方法:空闲表法、位示图法、成组链接法,我们只需要介绍这几种方法分别是如何进行磁盘分配和回收的就可以了,其中成组链接法是一个相对比较难的知识点。

磁盘调度算法:需要掌握磁盘访问时间由哪几个部分组成,每部分时间如何计算,这部分出过选择题,还要掌握各种调度算法的思想及平均寻道距离的计算。磁盘调度算法这部分也出过选择题。

文件管理部分的重点在文件的物理结构和目录结构上,这两个点都很容易和数据结构的内容相结合,所以有可能会出现跨科目的综合性题目,考生应当引起重视。对于操作系统的概述和I/O管理部分,考生要注重基本概念的掌握,这两个部分应该出大题的可能性不大。

3 结束语

本文针对操作系统课程的特点,提出了结合考研的操作系统教学方法,并给出了结合考研的课程内容的教学分析和思路,并已经实施。从实施的效果上看,这种教学方法能够充分调动学生的积极性,进一步加深学生对操作系统相关知识点的理解,取得了良好的教学效果。同时从这几届的考研情况看,四门专业课中的操作系统部分普遍得分较高。不考研的学生也同样得到了提高,能让他们对操作系统知识有更深入的理解和掌握,有助于他们理解实际操作系统的内容。这种教学方法对计算机领域其他考研课程的教学具有一定的借鉴作用。

参考文献:

[1] 汤子瀛,哲凤屏,汤小丹.计算机操作系统(修订版)[M].西安电子科技

大学出版社,2001.

[2] 汤小丹,梁红兵,汤子瀛等.计算机操作系统(第三版)[M].西安电子科

技大学出版社,2007.

[3] Tanenbaum.操作系统设计与实现[M].清华大学出版社,2008.

[4] 陈丽君等.Linux操作系统原理与应用[M].清华大学出版社,2006.

[5] 郭玉东,操作系统结构分析[M].西安电子科技大学出版社,2002.

猜你喜欢

操作系统考研教学
微课让高中数学教学更高效
考研,我是怎么坚持过来的
考研,我是怎么坚持过来的
工作十二年后,我才去考研
“自我诊断表”在高中数学教学中的应用
智能手机操作系统的分析与比较
对外汉语教学中“想”和“要”的比较
国产桌面操作系统中虚拟化技术应用研究
考研不易,更要好好珍惜
跨越式跳高的教学绝招