刊文精选

论计算机操作系统原理中蕴含的生活智慧

来源:教育教学论坛     2019-3-11 20:31:31      点击:

赵华 樊建聪 张金泉 李旭健

摘要:操作系统是计算机资源的管理者,其中的许多原理都可以用于指导现实生活。文章以三个概念为例将操作系统中的重要概念与生活中常见问题相结合,具体探讨了颠簸与设定目标过多、上下文切换与目标不专注、虚拟存储器与非理性消费之间的关系,深入挖掘操作系统原理中蕴含的生活智慧。

关键词:操作系统;颠簸;上下文切换;虚拟

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2018)43-0259-02

一、引言

计算机系统是一个非常复杂的系统,其中包含了多种硬件、多种软件。而操作系统(Operating System,OS)作为用户和计算机硬件之间的接口[1],管理着计算机中的各类资源,具体包括CPU管理、内存管理、外存管理以及I/O管理。具体来讲,OS管理和分配计算机系统的硬件和软件,使之能为用户提供良好的服务,并保证各类应用程序正常运行。对于用户而言,我们很难想象如何去使用一个未配置操作系统的计算机。从一定意义来讲,没有了操作系统,计算机系统将寸步难行。随着科学技术的发展,计算机的功能和复杂性越来越复杂,相应的,操作系统所需要掌控的事情也越来越多,越来越复杂[2]。能将如此复杂的系统管理的有条不紊,操作系统本身是充满智慧的(当然OS的智慧是OS设计者赋予的)。我们作为自己生活的管理者,只有妥善管理和自己相关的各种资源和事务才能让我们的工作和生活更加美好。

二、OS原理中蕴含的生活智慧

1.颠簸与设定目标过多。在支持虚拟存储管理方案的系统中,允许只装入进程的一部分(而非全部)便开始运行进程。然而,如果一个进程没有获得其运行过程中所需要的所有物理内存空间,那么它在运行过程中会发生页错误(缺页,即所要访问页面还没有进入内存),如果此时物理内存中已经没有多余的空间,那么需要置换某个已经在内存中的页,然而目前在内存的所有页都在使用,所以置换的页会再次需要被需要,然后再置换。因此,如果给进程分配的物理页太少,进程在运行过程中会一再地产生页错误。这种频繁的页调度行为称为颠簸,也称为抖动(Trashing)[3]。

一旦系统产生颠簸,进程的大部分时间都将用于页面的置换,而几乎不能再去做任何有效的工作,此时系统的效率和停滞差不多,所以颠簸是系统发生的一个非常严重的问题。那么为什么会产生颠簸呢?这需要从多道程序设计技术谈起。操作系统发展初期,只能支持单道程序设计技术,此时CPU和I/O设备的利用率都非常低。为了改善这一情况,引入了多道程序设计技术,即允许多个进程并发存在,从而提高了处理机和设备的利用率。但是有了虚拟存储技术以后,多道程序度与处理机的利用率实际情况如图1所示[1]。从图中可以看出,处理机的利用率并不是随着多道程序度的增加而一直递增的,当多道程序度增加到一定程度再引入新的进程的话,CPU利用率反而会急剧下降,此时便是发生了抖动。

现实生活中很多同学的学习生活中也存在颠簸现象,许多同学一段时间给自己设定了太多的目标,尤其是大一的学生们,刚进入大学校园一切都是那么的新鲜,同时又没有了像高中那么大的学习压力,所以会参加许许多多的社团。但是殊不知在刚进入大学的时候,同学们还面临着一个很重要的问题就是从高中的学习方式转变到大学的学习方式,如果这个时候从事太多与学习无关的工作,势必会耗费太多的精力,从而用在学习的时间无法保证。

2.上下文切换与目标不专注。进程(Process)是计算机中的程序关于某数据集合上的一次运行过程,是OS的基础。进程在运行过程中,需要一定的环境,比如存放在存储器中的程序的代码和数据、栈、通用目的寄存器的内容,程序计数器,环境变量以及打开文件描述符的集合等,这样的运行环境我们称之为进程的上下文。现代操作系统都支持多个进程的并发执行,所谓并发是指在一段时间内多个进程可以同时存在于内存中,而且他们的指令是交错执行的。当OS决定要将控制权从当前进程转移到某个新进程时,就要将当前进程的上下文保护起来,然后恢复新进程的上下文,然后将控制权传递给新进程,新进程就会从上次停止的地方开始执行。上下文切换的示意图如图2所示。通过上下文切换机制,使得多个进程在OS上并发执行成为了可能,但是从图2可以看出,上下文切换的时间既没有用于执行当前进程也没有用于执行新进程,所以这部分时间属于时间损耗[4]。上下文切换越频繁,时间损耗越大。

上下文切换所带来的时间损耗例子在我们现实生活中经常遇到。从短时间的事件来看,有些同学在某时间段的学习过程中不停的切换学習科目,导致学习效率非常低。而从长时间的事件来看,有些同学参加了工作以后会感觉工作不顺心,频繁地跳槽,很多情况下导致工作业绩平平。无论短时间的事件还是长时间的事件,这些同学们都犯了同样的问题,就是在新旧工作交替的过程中,我们每个人都需要从一个工作(思维)模式转换到另一个工作(思维)模式,这期间会耗费很多时间和精力去适应。敏捷[5]开发价值观之一便是专注,其含义是指在一段时间内只专注于少数几件事情,以便可以很好地获得优质的产出,能够更快地交付有价值的事项。这个价值观其实也是在说我们学习和工作中要尽可能地目标专注,这样才能更快更好地出成绩。

3.虚拟存储器与非理性消费。虚拟存储器(Virtual Memory)是计算机内存管理的一种技术[6]。该技术的提出主要源于早期计算机内存不够大,为了让比较大的进程运行起来,基于进程执行的局部性原理,提出了可以将先将进程的一部分读入内存从而让进程运行起来,进程的其余部分仍然驻留在磁盘(对换空间)中。进程在运行过程中会产生缺页(即将要访问的内容还没有进入内存),此时产生缺页中断,然后将缺少的内容调入到内存中。通过这样的请求调页、置换等操作,可以让小内存运行大的作业,从而给用户造成系统内存足够大的假象,此即虚拟性的含义所在。虚拟存储器逻辑容量是内存和外存之和,然而现实应用中不能将虚拟存储器设置的过大,因为如果把太多内容都放在虚拟存储器上,而内存中只装入很少一部分内容的话,进程在运行过程中会出现多次缺页,而每次缺页都要去访问磁盘,效率将会大大降低,严重的时候会发生上述的颠簸现象。改革开放以来,受美国等一些西方国家的影响,消费主义思潮涌入我国[7]。大学生作为一支非常年轻而又有活力的群体,对新鲜事物具有很高的敏锐性和更强的接受能力。

三、结束语

操作系统作为计算机系统资源的管理者,能将如此复杂的计算机系统管理的有条不紊,其中蕴含的许多原理可以用于指导我们的生活和工作。在多年教学经验的基础上,文章以三个操作系统概念为例,剖析了其中的原理,并将其对应到现实问题,为我们的工作和生活提供一定的指导。

参考文献:

[1]汤小丹,梁红兵,哲凤屏,汤子瀛.计算机操作系统(第四版)[M].西安电子科技大学出版社,2015.

[2]邹恒明.操作系统之哲学原理[M].机械工业出版社,2012.

[3]Abraham Silberschatz,Peter Baer Galvin,Greg Gagne.Operating System Concepts (Seventh Edition).Higher Education Press,2008.04.

[4]于广良,杨孟飞.考虑中断和上下文切换开销的响应时间分析[J].软件学报,2017,29(6):1-20.

[5]荣国平,刘天宇,谢明娟,陈婕妤,张贺,陈道蓄.嵌入式系统开发中敏捷方法的应用研究综述[J].软件学报,2014,25(2):267-283.

[6]赵华,张金泉,樊建聪.多元化教学方法在操作系統教学中的应用[J].计算机教育,2013,(15):36-38.

[7]屈朝霞,董国静.消费主义思潮影响下大学生科学消费观的培育[J].山东科技大学学报(社会科学版),2013,15(6):89.

Abstract:Operating system is the manager of computer resources,many of which can be used to guide real life.The relationship between bumpy and goal-setting,context switching and unfocus,virtual memory and irrational consumption is discussed,and the wisdom of life contained in the principle of operating system is deeply explored.

Key words:operating system;bumpy;context switching;virtual


本文版权归教育教学论坛杂志社及本文作者所有,未经同意,不得转载! ——《教育教学论坛》查稿电话:0311-85178286