看看下面的大学生论文范文吧,请看下面:
通用计算机操作系统典型体系结构综述【1】
摘要:随着操作系统应用领域的扩大,以及操作系统硬件平台的多样化,操作系统的体系结构和开发方式都在不断更新,目前通用机上常见操作系统的体系结构有如下几种:模块组合结构、层次结构、虚拟机结构和微内核结构。
关键词:操作系统;体系结构
一、模块组合结构
模块组合结构是在软件工程出现以前的早期操作系统以及目前一些小型操作系统最常用的组织方式。
操作系统刚开始发展时是以建立一个简单的小系统为目标来实现的,但是为了满足其他需求又陆续加入一些新的功能,其结构渐渐变得复杂而无法掌握。
以前我们使用的MS-DOS就是这种结构最典型的例子。
这种操作系统是一个有多种功能的系统程序,也可以看成是一个大的可执行体,即整个操作系统是一些过程的集合。
系统中的每一个过程模块根据它们要完成的功能进行划分,然后按照一定的结构方式组合起来,协同完成整个系统的功能。
如图1所示:
在模块组合结构中,没有一致的系统调用界面,模块之间通过对外提供的接口传递信息,模块内部实现隐藏的程序单元,使其对其它过程模块来说是透明的。
但是,随着功能的增加,模块组合结构变得越来越复杂而难以控制,模块间不加控制地相互调用和转移,以及信息传递方式的随意性,使系统存在一定隐患。
二、层次结构
为了弥补模块组合结构中模块间调用存在的固有不足之处,就必须减少模块间毫无规则的相互调用、相互依赖的关系,尤其要清除模块间的循环调用。
从这一点出发,层次结构的设计采用了高层建筑结构的理念,将操作系统或软件系统中的全部构成模块进行分类:将基础的模块放在基层(或称底层、一层),在此基础上,再将某些模块放在二层,二层的模块在基础模块提供的环境中工作;它只能调用基层的模块为其工作,反之不行。
严格的层次结构,第N+l层只能在N层模块提供的基础上建立,只能在N层提供的环境中工作,也只能向N层的模块发调用请求。
在采用层次结构的操作系统中,各个模块都有相对固定的位置、相对固定的层次。
处在同一层次的各模块,其相对位置的概念可以不非常明确。
处于不同层次的各模块,一般而言,不可以互相交换位置,只存在单向调用和单向依赖。
Unix/Linux系统采用的就是这种体系结构。
如图2:
在层次结构中,强调的是系统中各组成部分所处的位置,但是想要让系统正常运作,不得不协调两种关系,即依赖关系和调用关系。
依赖关系是指处于上层(或外层)的软件成分依赖下层软件的存在、依赖下层软件的运行而运行。
例如,浏览器这部分软件就依赖GUI的存在和运行,GUI又依赖操作系统的存在和运行。
在操作系统内部,外围部分依赖内核的存在而存在,依赖内核的运行而运行,内核又依赖HAL而运行。
处在同层之内的软件成分可以是相对独立的,相互之间一般不存在相互依赖关系。
三、虚拟机结构
虚拟机的基本思想是系统能提供两个功能:①多道程序处理能力;②提供一个比裸机有更方便扩展界面的计算机。
操作系统是覆盖在硬件裸机上的一层软件,它通过系统调用向位于它之上的用户应用程序服务。
从应用程序的角度看来,操作系统像是一台“计算书&rdquo只不过它的功能比硬件裸机更强,它的指令系统是系统调用集而己。
因此,从概念上来讲,操作系统是“虚拟机”。
这是“虚拟机”概念的来源。
利用CPU调度以及虚拟内存技术,操作系统可以给运行于系统中的进程以假象:好像进程拥有自己的CPU和存储器,如同系统中只有一个进程,系统所有资源都为它服务。
从这个角度来讲,操作系统为每一个进程创建了一个使该进程独立运行于其中的“虚拟机&rdquo在这个“虚拟机”中,进程拥有自己的“CPU”和“存储器&rdquo同时进程还得到了硬件所无法提供的文件系统功能。
虚拟机操作系统就是根据这一想法而产生的。
虚拟机操作系统不提供传统操作系统中的文件系统的功能。
最初的虚拟机仅仅为进程提供一个访问底层的接口,它通过对硬件的复用提供给每一个进程以硬件的一个拷贝,因此能够直接的运行在硬件上的程序都可以直接运行在虚拟机之上。
后来出现了另外三种体系结构的虚拟机:由机器虚拟指令映射构成的虚拟机。
虚拟机操作系统并没有提供一个供应用程序直接运行的现成环境,它仅仅是对硬件进行(分时)复用从而得到硬件的多个拷贝,应用程序不可以直接运行在硬件之上,因此它也无法运行在虚拟机操作系统之上。
通常的情况是,普通的操作运行在虚拟机之上。
而应用程序运行在各自的操作系统之上,由于虚拟机操作系统是通过(分时)复用硬件资源同时提供多台虚拟机,因此同时可以有多个不同的操作系统运行在同一物理硬件机器之上,因此可以有多个不同操作系统的.应用程序可以同时运行在同一台物理硬件机器之上。
虽然虚拟机操作系统有着诱人的特性,但是最突出的一个问题是实现比较困难。
如果要实现的是底层硬件的完全拷贝,也即它要模拟硬件几乎所有的特性,那将是相当困难的一件事情。
因此现代许多商业虚拟机采用映射部分指令结合直接调用宿主操作系统功能的方法,但这样必然会导致虚拟机性能的损失,所以虚拟机操作系统在业界是属于非主流的,但是在学术界有着重要意义,因为它是研究操作系统技术的理想平台。
四、微内核结构
操作系统研究领域最近十几年突出的成就应该是微内核技术。
微内核的研究动机是为克服已有的操作系统内核由于功能的增加而逐渐变大的缺点。
图3所示:
微内核体系结构的基本思想是把操作系统中与硬件直接相关的部分抽取出来作为一个公共层,称之为硬件抽象层(HAL)。
这个硬件抽象层其实就是一种虚拟机,它向所有基于该层的其它层通过API接口提供一系列标准服务。
在微内核中只保留了处理机调度、存储管理和消息通讯等少数几个组成部分,将传统操作系统内核中的一些组成部分放到内核之外来实现。
如传统操作系统中的文件管理系统、进程管理、设备管理、虚拟内存和网络等内核功能都放在内核外作为一个独立的子系统来实现。
因此,操作系统的大部分代码只要在一种统一的硬件体系结构上进行设计就可以了。
微内核体系结构的主要特点有:①内核非常小。
②许多操作系统服务不属于内核,而是运行在内核之上的,这样,当高层模块更新时内核无须重新编译。
③有一个硬件抽象层,内核能方便地移植到其它的硬件体系结构中。
因为当需要移植到新的软件或硬件环境中时,只需对与硬件相关的部分稍加修改即可把微内核嵌入到新的硬件环境中,在多数情况下并不需要移植外部服务器或客户应用。
④灵活性和扩展性.微内核最大的优点之一就是它的灵活性和扩展性。
如果要实现另一个视图,可以增加一个外部服务器。
若要想扩展功能,可以增加和扩展内部服务器。
微内核思想虽然是一种非常理想的,理论上具有明显先进性的操作系统设计思想,但是现代微内核结构操作系统还存在着许多问题,现代微内核操作系统结构和性能还不够理想。
在市场和应用领域,微内核的应用在近几年逐渐广泛,很多过程控制计算机不以通用计算机的面貌出现,只是完成特定的专用功能,常常采用微内核结构。
五、分析、评价
以上介绍的模块组合结构、层次结构、虚拟机结构和微内核结构四种典型的操作系统体系结构主要是通用机上采用的体系结构,如模块组合结构是早期MS-DOS系统采用的结构,层次结构是Unix、Linux和Windows9x系统采用的结构,这些系统的功能相对完善,处理能力很强,但是这些系统内核都比较大,对于嵌入式系统里硬件系统多元化以及小存储空间的问题,这些通用的操作系统不可能直接移植到嵌入式产品上进行使用。
因此研究更加合理嵌入式操作系统体系结构将有利于提高嵌入式系统的开发效率,降低开发成本,提高系统的可复用性。
参考文献
[1]顾明,赵曦滨,郭险等.现代操作系统的思考.电子学报,2002,12(12A)
[2]潘清.操作系统体系结构研究.计算机科学.2002;27(4)
[3]徐光裕,史元春,谢伟凯.普适计算.计算机学报.2003,9
学生成绩管理系统的开发【2】
摘要:随着信息技术的不断发展,计算机技术已经应用到各个领域,通过使用计算机可以减少大量的人工操做,提高工作效率。
很多大、中、小学校都在开发自己的学生成绩管理系统,以便对本学校学生的基本信息和学习情况进行管理。
而利用计算机来管理信息和处理信息,就需要利用数据库管理系统软件来开发各个行业的实用软件,因此开发了学生成绩管理系统这个软件。
关键词:学生成绩管理系统 Access数据库 Visual Basic开发语言 管理信息系统
0 引言
中国教育发展迅速,学校学生越来越多,学校教务人员负担很重,如果仍用手工操作既浪费人力,又浪费物力,效率也无法有大的提高,为此开发学生成绩管理系统软件,能够适应现今社会并提高生产效率。
数据库应用系统开发是当前主流的应用,大多数应用系统都需要后台数据库的支持,Visual Basic和Access数据库是使用广泛的组合之一。
本系统充分利用了Visual Basic和Access开发数据库应用程序所必备的管理及开发技术。
在实际应用重许多单机版或小型网络环境下的应用程序都是用Access作为后台数据库,从而降低成本,方便管理。
该系统软件是对学生成绩管理的一个工具,非常容易被接受,它具有简单易学性,便于管理等功能。
通过教务处和学生管理人员的沟通,即学校的硬件现状进行深入、充分的调查研究,发现并能良好的改善学生成绩管理的基础上,开发了此系统。
1 Windows下的Visual Basic编程环境
Microsoft Windows软件的出现,为PC用户提供了一个直观的、图形丰富的工作环境。
图形用户界面使应用程序更易于学习和使用,用户只要简单地用鼠标按钮点按“菜单”中的命令就可以执行指定的操作,而不必键入复杂的命令。
屏幕上的多窗口可以使用户同时运行多个程序,并可以通过对话框输入所需要的信息或让用户选择。
Visual Basic 编程系统用一种十分巧妙地方法将Windows编程的复杂性“封装”起来。
它综合运用Basic语言和信得可视化设计工具,既没有牺牲Windows所特有的优良性能和图形工作环境,同时又提供了编程的简易性。
Visual Basic通过图形对象(包括窗体、控件、菜单等)来设计应用程序。
图形对象的建立十分简单,只需要为数不多的几行程序就可以控制这些图形对象。
Visual Basic是首批采用事件驱动编程机制的计算机语言之一。
事件驱动是一种适用于图形用户界面的编程方式。
传统的编程时面向过程、按规定顺序进行的,程序设计人员总是要关心什么时候发生什么事情。
对于现代的计算机应用来说,必须能让用户操纵程序的执行,而这实际上就是事件驱动程序所要解决的问题。
用户事件驱动方式设计程序时,程序员不必给出按精确次序执行的每个步骤,知识编写相应用户动作的程序,例如选择命令,移动鼠标,用鼠标单击某个图标等。
与传统的面向过程的语言不同,在用 visual basic设计应用程序时,要编写的不是大量的程序代码,而是由若干个微小程序组成的应用程序,这些微小程序都由用户启动的事件来激发,从而大大降低了编程的难度和工作量,提高程序的开发效率。