通用计算机系统的工作方式,通用计算机操作系统典型体系结构综述

摘要:随着操作系统应用领域的扩大,以及操作系统硬件平台的多样化,操作系统的体系结构和开发方式都在不断更新,目前通用机上常见操作系统的体系结构有如下几种:模块组合结构、层次结构、虚拟机结构和微内核结构。本文引用地址:http://www.eepw.com.cn/article/202210.htm

关键词:操作系统;体系结构

一、模块组合结构

模块组合结构是在软件工程出现以前的早期操作系统以及目前一些小型操作系统最常用的组织方式。

操作系统刚开始发展时是以建立一个简单的小系统为目标来实现的,但是为了满足其他需求又陆续加入一些新的功能,其结构渐渐变得复杂而无法掌握。以前我们使用的MS-DOS就是这种结构最典型的例子。这种操作系统是一个有多种功能的系统程序,也可以看成是一个大的可执行体,即整个操作系统是一些过程的集合。系统中的每一个过程模块根据它们要完成的功能进行划分,然后按照一定的结构方式组合起来,协同完成整个系统的功能。如图1所示:

在模块组合结构中,没有一致的系统调用界面,模块之间通过对外提供的接口传递信息,模块内部实现隐藏的程序单元,使其对其它过程模块来说是透明的。但是,随着功能的增加,模块组合结构变得越来越复杂而难以控制,模块间不加控制地相互调用和转移,以及信息传递方式的随意性,使系统存在一定隐患。

二、层次结构

为了弥补模块组合结构中模块间调用存在的固有不足之处,就必须减少模块间毫无规则的相互调用、相互依赖的关系,尤其要清除模块间的循环调用。从这一点出发,层次结构的设计采用了高层建筑结构的理念,将操作系统或软件系统中的全部构成模块进行分类:将基础的模块放在基层(或称底层、一层),在此基础上,再将某些模块放在二层,二层的模块在基础模块提供的环境中工作;它只能调用基层的模块为其工作,反之不行。严格的层次结构,第N+l层只能在N层模块提供的基础上建立,只能在N层提供的环境中工作,也只能向N层的模块发调用请求。

在采用层次结构的操作系统中,各个模块都有相对固定的位置、相对固定的层次。处在同一层次的各模块,其相对位置的概念可以不非常明确。处于不同层次的各模块,一般而言,不可以互相交换位置,只存在单向调用和单向依赖。Unix/Linux系统采用的就是这种体系结构。如图2:

在层次结构中,强调的是系统中各组成部分所处的位置,但是想要让系统正常运作,不得不协调两种关系,即依赖关系和调用关系。

依赖关系是指处于上层(或外层)的软件成分依赖下层软件的存在、依赖下层软件的运行而运行。例如,浏览器这部分软件就依赖GUI的存在和运行,GUI又依赖操作系统的存在和运行。在操作系统内部,外围部分依赖内核的存在而存在,依赖内核的运行而运行,内核又依赖HAL而运行。处在同层之内的软件成分可以是相对独立的,相互之间一般不存在相互依赖关系。

三、虚拟机结构

虚拟机的基本思想是系统能提供两个功能:①多道程序处理能力;②提供一个比裸机有更方便扩展界面的计算机。操作系统是覆盖在硬件裸机上的一层软件,它通过系统调用向位于它之上的用户应用程序服务。从应用程序的角度看来,操作系统像是一台“计算书”,只不过它的功能比硬件裸机更强,它的指令系统是系统调用集而己。因此,从概念上来讲,操作系统是“虚拟机”。这是“虚拟机”概念的来源。利用CPU调度以及虚拟内存技术,操作系统可以给运行于系统中的进程以假象:好像进程拥有自己的CPU和存储器,如同系统中只有一个进程,系统所有资源都为它服务。从这个角度来讲,操作系统为每一个进程创建了一个使该进程独立运行于其中的“虚拟机”,在这个“虚拟机”中,进程拥有自己的“CPU”和“存储器”,同时进程还得到了硬件所无法提供的文件系统功能。虚拟机操作系统就是根据这一想法而产生的。

虚拟机操作系统不提供传统操作系统中的文件系统的功能。最初的虚拟机仅仅为进程提供一个访问底层的接口,它通过对硬件的复用提供给每一个进程以硬件的一个拷贝,因此能够直接的运行在硬件上的程序都可以直接运行在虚拟机之上。后来出现了另外三种体系结构的虚拟机:由机器虚拟指令映射构成的虚拟机。

虚拟机操作系统并没有提供一个供应用程序直接运行的现成环境,它仅仅是对硬件进行(分时)复用从而得到硬件的多个拷贝,应用程序不可以直接运行在硬件之上,因此它也无法运行在虚拟机操作系统之上。通常的情况是,普通的操作运行在虚拟机之上。而应用程序运行在各自的操作系统之上,由于虚拟机操作系统是通过(分时)复用硬件资源同时提供多台虚拟机,因此同时可以有多个不同的操作系统运行在同一物理硬件机器之上,因此可以有多个不同操作系统的应用程序可以同时运行在同一台物理硬件机器之上。

虽然虚拟机操作系统有着诱人的特性,但是最突出的一个问题是实现比较困难。如果要实现的是底层硬件的完全拷贝,也即它要模拟硬件几乎所有的特性,那将是相当困难的一件事情。因此现代许多商业虚拟机采用映射部分指令结合直接调用宿主操作系统功能的方法,但这样必然会导致虚拟机性能的损失,所以虚拟机操作系统在业界是属于非主流的,但是在学术界有着重要意义,因为它是研究操作系统技术的理想平台。

四、微内核结构

操作系统研究领域最近十几年突出的成就应该是微内核技术。微内核的研究动机是为克服已有的操作系统内核由于功能的增加而逐渐变大的缺点。图3所示:

微内核体系结构的基本思想是把操作系统中与硬件直接相关的部分抽取出来作为一个公共层,称之为硬件抽象层(HAL)。这个硬件抽象层其实就是一种虚拟机,它向所有基于该层的其它层通过API接口提供一系列标准服务。在微内核中只保留了处理机调度、存储管理和消息通讯等少数几个组成部分,将传统操作系统内核中的一些组成部分放到内核之外来实现。如传统操作系统中的文件管理系统、进程管理、设备管理、虚拟内存和网络等内核功能都放在内核外作为一个独立的子系统来实现。因此,操作系统的大部分代码只要在一种统一的硬件体系结构上进行设计就可以了。

微内核体系结构的主要特点有:①内核非常小。②许多操作系统服务不属于内核,而是运行在内核之上的,这样,当高层模块更新时内核无须重新编译。③有一个硬件抽象层,内核能方便地移植到其它的硬件体系结构中。因为当需要移植到新的软件或硬件环境中时,只需对与硬件相关的部分稍加修改即可把微内核嵌入到新的硬件环境中,在多数情况下并不需要移植外部服务器或客户应用。④灵活性和扩展性.微内核最大的优点之一就是它的灵活性和扩展性。如果要实现另一个视图,可以增加一个外部服务器。若要想扩展功能,可以增加和扩展内部服务器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/340707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[MEGA DEAL] Ultimate SQL Bootcamp认证捆绑包(98%)

像Pro一样管理任务和数据库,提供有关SQL Lite,Microsoft SQL,MySQL,PostgreSQL,Rest API和Oracle SQL的6门课程 嘿,怪胎, 本周,在我们的JCG Deals商店 ,我们提供了另一…

jersey spring_教程–带有Jersey和Spring的Java REST API设计和实现

jersey spring想要在Java中使用REST? 然后您来对地方了,因为在博客文章中,我将向您介绍如何“美丽”地设计REST API,以及如何使用Jersey框架在Java中实现它。 本教程中开发的RESTful API将演示针对存储在MySql数据库中的播客资源的…

html5 css svg,6款基于SVG的HTML5CSS3应用和动画

1、CSS3/SVG质感背景小图标 镂空效果图标按钮今天我们来分享一款用CSS3和SVG实现的质感背景小图标,鼠标滑过图标时出现镂空的效果,并且有质感背景的描边,效果非常不错。2、HTML5 SVG Tab滑块菜单 非常酷的Tab菜单之前我们分享过很多HTML5/CSS…

python 矩阵合并_numpy 的矩阵合并与分割

aiblog4.jpg 这次分享下numpy中矩阵的合并与分割,希望能帮助到大家。 在此附上视频链接 一、引入numpy第三方库 首先我们引入numpy这个第三方库,如果有同学没安装numpy可在命令行中pip install numpy进行安装(Mac用户 sudo pip3 install numpy) import numpy as np …

微型计算机技术怎么学,浅谈微型计算机技术课程的启发式教学

摘要:《微型计算机技术》是一门工程性很强的课程,内容涵盖丰富,软硬件结合,学习难度较大。本文从寻求问题出发到实际解决该问题的过程中培养学生的学习兴趣,从而获得学习的主动性。关键词:微型计算机技术 思…

rto净化效率计算公式_你了解废气处理设备RTO蓄热式热氧化炉的工作原理么?

RTO蓄热式热氧化炉的净化效果以及稳定性都是相当不错的,但是由于其一次性投入成本高,许多企业都选择了放弃。但是科盈小编想要说的是从其99%的净化效果、换热系统、新型蜂窝技术以及日后的运行成本费用来看,这个费用就显得很可观了…

Selenium 4相对定位器如何改变您的测试方式?

网页可以包含许多Web元素或GUI元素,例如单选按钮,文本框,下拉菜单,输入等。Selenium自动化测试中的Web定位器用于对页面的Web元素执行不同的操作。 毫不奇怪,作为新的Selenium用户,我们要学习的第一件事是S…

电商 php 颜色数据怎么敲?_来客说电商|电商系统开发注意事项

来客B2B2C多用户电商系统打造支持自营招商入驻经营模式的电商平台(类似京东、天猫的经营模式),创新模块化设计整合运营商,供货商,批发商,入驻商,分销商,门店于一体,各个模…

计算机网络名词解释-csma cda,计算机专业对口升学模拟题1资料.doc

精品文档精品文档PAGE精品文档第一部分计算机组装与维护一、单项选择题(每小题1分,共10分)1.下列关于微型放松计算机特点的描述中,错误的是()、体积小、重量轻、功耗低B、结构简单灵活、系统设计方便,适应性强C、可靠性高、但对使…

朗读评价语言集锦_英语老师批改作业时的精彩评语集锦,超实用!

01你的作业评语,学生看得懂吗?评语是写给学生看的,所以一方面评语要使用学生能看得懂的英语来写,所使用的词汇和语法不能过高或过低于学生的现有水平,要切合学生的实际情况,符合学生的个性心理发展需要&…

u盘安装linux 提示no such device_Linux 网络基础设计

误删网卡配置文件解决思路本回复案例仅在Centos 7如试验成功其它系统无从考究,仅供参考请在root用户模式下配置获得设备名称DEVICE常见使用ifconfig,如果尚未安装请先安装如果只能找到Io和virbrN(Nnumber),请使用ifconfig -a复制名字(红线处,要以你机器的为准!)创建配置文件tou…

中兴c600olt数据配置_中兴天机Axon 10 Pro再掀波澜,4G版3199元起,5G版还有悬念?...

自MWC 2019大会多家手机厂商纷纷亮出自家的5G手机后,5G时代就已经从想象变为现实。不仅仅是手机终端,关于5G技术、基站建设也早就提上日程。技术的车轮永远比我们的想象快一步,当大家还在议论5G应用场景时,中兴天机Axon 10 Pro 4G…

学计算机二级分数,2020年9月计算机二级考试成绩可以查了 多少分及格

2020年9月份计算机二级考试成绩查询入口已经开通,考生可以在中国教育考试网上进行查询。计算机二级考试满分100分,60分及格。计算机二级成绩查询入口及合格标准全国计算机二级考试成绩查询唯一入口:中国教育考试网全国计算机二级考试实行百分…

怎么能把看不清的照片给看清_远视怎么矫正?需要佩戴眼镜吗?

昆明眼科医院,我们都知道眼睛一旦近视了,世界就变得一片模糊,而为了重新看清东西,我们不得不戴上近视眼镜。 那么反过来,远视需要戴眼镜吗?正常情况,我们出生时眼睛都处于一个远视状态,随着年龄…

cout不明确什么意思_劈腿什么意思?原来出轨和劈腿不一样!原来如此!

我们在生活中经常说,出轨和劈腿。然而,这两个词之间有一定的标准。劈腿原意是体操术语,体操运动员可以做一些困难的动作,如分裂、垂直分裂、水平分裂和半分裂。其中劈腿也被称为分裂,这意味着两条腿被最大程度地分开。…

hbase 生成文件_HBase:为客户行为生成搜索点击事件统计信息

hbase 生成文件在本文中,我们将探索HBase来存储客户搜索点击事件数据,并利用其基于搜索查询字符串和构面过滤器点击来获取客户行为信息。 我们将介绍使用MiniHBaseCluster,HBase Schema设计,使用HBaseSink与Flume集成以存储JSON数…

计算机组成原理袁春风百度云,计算机组成原理 袁春风chap3homework.pdf

作业1. 思考题(1) 习题2 习题6 习题72. 作业题 要求做在本子上(1) 习题3 ( 除第(4)小题以外)(2) 习题10(3) 习题12(4) 习题14(5) 已知 x2-011x 0.101100 y2-101x(-0.011110)求 [xy]补 [x-y]补 [xy]阶移尾补 [x-y]阶移尾补1作业解答1. 思考题习题2( 用寄存器 181和182实现16位补…

使用Spring Cloud Gateway保护反应式微服务

朋友不允许朋友写用户身份验证。 厌倦了管理自己的用户? 立即尝试Okta的API和Java SDK。 在几分钟之内即可对任何应用程序中的用户进行身份验证,管理和保护。 所以你想完全反应,是吗? 大! 反应式编程是使您的应用程序…

pythonqt4上位机开发_「新阁教育」自由口通信上位机实战案例

1、引言组态软件作为一种通用软件,体系结构较为庞大、功能软件包多、价格也比较昂贵,而且对于一些复杂的业务逻辑或自定义的协议,实现起来比较麻烦。近几年,C#/.NET上位机开发应用越来越广泛,相对于传统的组态软件的方…

判断单链表中的元素是否递增_检测单链表中是否有环(C语言)

检测单链表中是否有环(C语言)方法:双指针法思路使用两个指针,两个初始时都指向链表的头结点,然后one指针一次加一,另一个two指针一次加二。在链表有环时,two指针与one指针相等就说明有环。当one指针到达环的起始位置时…