精华内容
下载资源
问答
  • 本文介绍操作系统常见的体系结构,了解这些体系结构才能更好的理解各种操作系统。 一、一种常见的OS总体结构风格 OS总体结构由用户接口子系统和基础平台子系统两部分组成。用户接口子系统供计算机用户直接使用,而...

    常见操作系统体系结构

    前言

    开发一个操作系统,不是简单的上去就是写代码,而是要在需求分析的基础上,首先进行系统设计,具体就是软件体系结构设计。好的系统设计,才能使编写的系统具有很好的扩展性以及成长空间,使得系统越用越好,而不是用着用着就用不下去了。本文介绍操作系统常见的体系结构,了解这些体系结构才能更好的理解各种操作系统。

    一、一种常见的OS总体结构风格

    在这里插入图片描述
    在这里插入图片描述
    OS总体结构由用户接口子系统和基础平台子系统两部分组成。用户接口子系统供计算机用户直接使用,而基础平台子系统为用户接口子系统提供系统调用。可以理解为基础平台子系统为用户接口子系统服务,用户接口子系统为用户服务,并且这些关系具有单向性

    二、OS基础平台子系统结构风格(一)

    在这里插入图片描述

    1.分层结构

    在这里插入图片描述
    分层结构的每一层均对其上各层隐藏其下各层的存在。即每层只与其直接临近的上下两层有直接关系。

    )

    2.分级结构

    在这里插入图片描述
    分级结构中每级只与其所有下级有关系。
    )

    3.分块结构

    在这里插入图片描述
    分块结构中各个块之间都可以相互调用,相互存在关系。
    )

    4.分层、分级、分块结构风格的关系及比较

    在这里插入图片描述
    分层结构设计的要求最严格,分级结构次之,分块结构最简单。
    在这里插入图片描述
    分块之所以不灵活是因为各个模块之间的相互调用,导致任何一个模块的修改可能影响其它模块。

    三、OS基础平台子系统结构风格(二)

    在这里插入图片描述
    在这里插入图片描述
    模式即CPU的特权模式,即CPU的操作权限等级

    1.多模式结构风格的结构特征

    在这里插入图片描述
    在这里插入图片描述
    各模块可能是一级保护,二级保护,三级保护等等,模块之间的切换需要切换保护级别,这使得安全提升的同时,会以降低基础平台子系统的性能为代价。

    2.单模式结构风格的结构特征

    在这里插入图片描述
    在这里插入图片描述

    3.多模式和单模式结构风格之间的比较

    在这里插入图片描述

    四、常见的基础平台子系统结构风格(三)

    1.双模式基础平台子系统结构风格

    双模式基础平台子系统介于多模式和单模式之间,既能提高安全性,又能尽量小的降低系统性能。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    如果核外子系统要访问核内子系统,首先要经过判断,判断核外子系统的操作是否能合法的进入核内子系统(软中断),这个过程需要花费时间。当然如何判断是否合法是由预先定义好的规则实现,但是黑客总能找到尚未定义的规则,然后通过这条规则(漏洞)进入内核子系统获取数据,或者破坏系统。然后系统工程师会赶快补上这条规则,这就是黑客和系统工程师之间的较量,较量的同时也会使得系统越来越完善。

    2.微核结构风格

    在这里插入图片描述
    微核结构就是尽可能的去除核心子系统的多余部分,使得核心部分越“轻”越好,但这往往不好实现。
    在这里插入图片描述

    展开全文
  • 常见软件体系结构

    2021-03-25 15:18:17
    软件体系结构设计一个中心问题是能否重用软件体系结构模式,不同体系结构的本质区别是重用方式不同。M.shaw等人给出了一些体系结构风格: 分层模式 客户端 - 服务器模式 主从模式 管道过滤器模式 经纪人模式 点对...

    概述

    体系结构可以看成一组原则。你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。软件体系结构设计的一个中心问题是能否重用软件体系结构模式,不同体系结构的本质区别是重用方式不同。M.shaw等人给出了一些体系结构风格:

    • 分层模式
    • 客户端 - 服务器模式
    • 主从模式
    • 管道过滤器模式
    • 经纪人模式
    • 点对点模式
    • 事件总线模式
    • 模型 - 视图 - 控制器模式
    • 黑板模式
    • 解释器模式
    • 面向对象

    分别陈述

    管道过滤模式

    主要包括过滤器和管道两种元素。在这种结构中,构件被称为过滤器,负责对数据进行加工处理。每个过滤器都有一组输入端口和输出端口,从输入端口接收数据,经过内部加工处理之后,传送到输出端口上。数据通过相邻过滤器之间的连接件进行传输,连接件可以看作输入数据流和输出数据流之间的通路,这就是管道。
    原理图:在这里插入图片描述
    优点:

    • 简单性。
    • 支持复用。
    • 系统具有可扩展性和可进化型。
    • 系统并发性(每个过滤器可以独立运行,不同子任务可以并行执行,提高效率)。
    • 便于系统分析。

    缺点:

    • 系统处理工程是批处理方式。
    • 不适合用来设计交互式应用系统。
    • 由于没有通用的数据传输标准,因此每个过滤器都需要解析输入数据和合成数据。
    • 难以进行错误处理。

    传统的编译器就是管道/过滤器体系结构风格的一个实例。编译器由词法分析、语法分析、语义分析、中间代码生成、中间代码优化和目标代码生成几个模块组成,一个模块的输出是另一个模块的输入。

    展开全文
  • 常见体系结构介绍

    2013-01-28 00:28:50
    常见体系结构介绍 数据流系统 概念:以算法和数据结构为中心, 像管道和过滤器般处理数据,每个组件都有相对独立数据处理功能,数据依次经过各个组件,最后形成完整数据处理系统。 优点:各个组件都是独立...
    
    
    数据流系统

    概念:以算法和数据结构为中心, 像管道和过滤器般处理数据,每个组件都有相对独立的数据处理功能,数据依次经过各个组件,最后形成完整的数据处理系统。
    优点:各个组件都是独立的, 可以放方便的组合、重用和扩展,流水线式的执行,支持大规模并行处理。
    缺点:流水线式的处理, 所以一般要求数据有比较统一的输入和输出格式;各个组件都是独立的, 因此的很难提取共性;批处理方式,所以不适合和用户交互。
    应用:一个最著名的实例是unix的shell编程,多个对数据进行处理的程序(组件)通过管道联结起来,产生总和的效果。
             还有传统的编译器,源代码经过词法分析、语法分析、中间代码生成、目标代码生成等步骤生成输出的目标代码。
             还有其他经过多步才能生成结果的程序,比如图像处理,数值解题等。


    层次系统

    概念:将系统功能和组件分成不同的功能层次,一般而言,只有最上层的组件和功能可以被系统外的使用者访问,只有相邻的层次之间才能够有函数调用。
    优点:把复杂的问题逐层分解,使整体设计非常清晰;每层只依赖相连的里层,耦合性较弱。
    缺点:有些划分清晰的层次比较困难;层次太多会使性能下降。
    应用:层次系统是我们最常见的方式, 一般软件都有它的影子,比如程序典型的三层架构分为表示层(界面层)、业务逻辑层、数据访问层。
             操作系统一般分为内核层,API层, 应用层, 我在理解 Windows API 调用过程中有相关介绍。
            各层之间的交互方式也值得我们探讨下, 一般调用方式有直接接口调用和消息发送二种方式,究竟什么时候该用哪种方式,可以参考我这篇消息耦合还是接口耦合. 总的来说如果很强调弱耦合和可扩展性,可以用消息方式,我们看到Windows上在调用API进入内核时用的是中断消息的方式。


    面向对象的系统

    概念:
    数据和数据上的操作被封装成抽象数据类型或者对象。系统由大量的对象组成,在物理上,对象之间通过函数或者过程调用相互作用;在逻辑上,对象之间通过集成、复合等方式实现设计的复用。
    优点:符合人们认识事物的方式,支持封装,继承,多态。
    缺点:通过函数调用,并且需要知道处理的对象,耦合性比较紧密,我这篇范型编程杂谈中也有谈及。
    应用:面向对象设计和开发基本上已经是每个程序员的必修课,各种流行的编程语言都有对它的支持,COM组件技术也是以此为基础。


    基于事件的系统

    概念:
    这是面向对象和数据抽象体系的一种变形,系统同样是由大量的对象组成的,但是对象之间的交互不是通过明确指明对象的函数或者过程调用进行的,相反,系统提供事件的创建和发布的机制,对象产生事件,一个或者多个对象通过向系统注册关注这个事件并由此触发出相应的行为或者产生新的事件。
    优点:用于函数和过程的调用调用不需要指明特定的对象,所以系统具有非常好的灵活性和扩展性,新的组件只需要向系统的事件处理部分注册就可以立刻加入系统中,同样,老的组件也可以方便的从系统中删除。
    缺点:由于函数调用是通过事件发送进行的,所以,发出事件的对象不能确认是否有对象处理了这个事件、是否是期望的对象处理了这个事件、是否获得期望的结果,同样也无法控制事件发生的次序,系统的逻辑和时序的正确性必须通过复杂的时序逻辑和前后条件的断言加以保证。
    应用:Windows的鼠标键盘消息,窗口消息等都是基这种方式。该方式与面向对象方式的比较我在消息耦合还是接口耦合这篇中也有提及。


    知识库系统

    概念:
    使用一个中心数据结构表示系统的当前状态,一组相互独立的组件在中心数据库上进行操作。如果组件负责对中心数据进行选择、处理,这种体系就是传统的数据库模型;如果中心数据结构自主的引发一系列的行为,则这种体系可以看成一个黑板模型。
    优点:以数据为中心的体系结构,可以自然的表示大量的数据和事务处理的逻辑,适合表达以数据为中心的应用程序。
    缺点:只有很少一部分简单的数据库存储应用可以完全采用这种体系结构表示。
    应用:传统的数据库。


    解释器系统

    概念:如果应用程序的逻辑非常复杂,一个较好的体系就是提供面向领域的一组指令(语言),系统解释这种语言,产生相应的行为,用户使用这种指令(语言)完成复杂的操作。
    优点:非常好的扩展性,用户可以实现对软件系统的二次开发。
    缺点:软件开发复杂,特别是这种指令集的设计非常困难。
    应用:Java虚拟机, .Net的CLR(Common Language Runtime), 脚本语言的解释器等。

    在实际开发中,我们很少会只使用一种体系结构,很多时候是以一种体系结构为主, 其他体系结构为辅。比如我们一个网络客户端软件总体上是层次系统,可能分为通讯层、业务逻辑层、界面层, 但每层内部又会用面向对象的方式实现。

    总之, 软件系统的分析和设计的基本任务是:确立系统中的基本元素(完成系统的功能所必不可少的成分);确定这些元素之间相互作用的方式(这就是系统的体系结构)。
    展开全文
  • 软件体系结构在软件工程领域有着广泛影响,但当前仍未形成一个统一、标准定义。目前国内外普遍认可看法是软件体系结构包含构件、连接件和约束[4]。其中约束描述了体系结构配置和拓扑要求,确定了体系...
    1面向方面软件体系结构相关概念
      面向方面软件体系结构涉及诸多概念,以下将分别介绍。软件体系结构在软件工程领域有着广泛的影响,但当前仍未形成一个统一的、标准的定义。目前国内外普遍认可的看法是软件体系结构包含构件、连接件和约束[4]。其中约束描述了体系结构配置和拓扑的要求,确定了体系结构的构件与连接件的连接关系。这样就可以把软件体系结构写成
      软件体系结构(software architecture)=构件(components)+
      连接件(connectors)+约束(constraints)
      构件是软件体系结构的基本元素之一。一般认为,构件是指具有一定功能、可明确辨识的软件单位,并且具备语义完整、语法正确、有可重用价值的特点,然而目前对于构件的具体结构及构成并没有一个统一的标准[5],而且一些主要的构件技术也没有使用相同的构件类型。另外,当前被广泛接受的构件定义并不包含具体的软件构件模型(software component model)。例如,Szyperski等人[6]给出了软件构件一个很有名的定义:软件构件是一个仅带特定契约接口和显式语境依赖的结构单位,它可以独立部署,易于第三方整合。但是关于软件构件模型有一个被普遍接受的观点是:软件构件是一个具有服务提供和服务请求功能的软件单元[7]。
      连接件是软件体系结构另一个基本的构成元素,是用来建立构件间交互以及支配这些交互规则的构造模块。连接件最先是由Shaw[8]提出来的,她建议把连接件作为软件体系结构中第一类实体,用来表示普通构件之间的交互关系。目前对于连接件尚未形成统一的认识,尽管在软件体系结构中强调了连接件存在的必要性,但是关于连接件模型的研究还很少,连接件的实际应用还不成熟。
      面向方面软件体系结构在传统软件体系结构的基础上增加了方面构件单元。通常认为,方面构件是封装了系统横切关注点的一类特殊的构件。目前关于方面构件模型的研究还处于起步阶段。
      2面向方面软件体系结构模型
      由于传统软件体系结构模型包含构件、连接件和约束,而面向方面软件体系结构是在传统软件体系结构的基础之上扩展了方面构件,所以面向方面软件体系模型结构包含构件、连接件、方面构件和约束。其中约束描述了面向方面体系结构配置和拓扑的要求,确定了体系结构的构件、连接件和方面构件之间的连接关系,而构件、连接件、方面构件是它的三个基本的构成单元。以下对这三个构成单元的模型进行详细的设计

    转载于:https://www.cnblogs.com/shenghuizhang/p/9303079.html

    展开全文
  • 常见的计算机体系结构

    千次阅读 2007-05-24 22:02:00
    哈佛结构是一种将程序指令存储和数据存储分开存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应数据存储器中读取数据,并进行下一步操作(通常是执行)。程序指令...
  • 软件体系结构中五种常见风格剖析软件体系结构中五种常见风格剖析软件体系结构中五种常见风格剖析软件体系结构中五种常见风格剖析
  • 英文缩写简洁,但是不易懂…… 缩写 全称 中文含义 I$ Instruction Cache 指令缓存 RF Register File 寄存器堆 LSU Load Store Unit 存取单元 IF Instruction Fetch 取指 ID ......
  • 10个常见软件体系结构模式

    万次阅读 2018-05-07 14:06:04
    根据维基百科,架构模式是在特定环境下软件体系结构常见问题通用可重用解决方案。架构模式类似于软件设计模式,但具有更广范围。在本文中,我将简要地解释以下10种常见架构模式及其用法,优缺点。分层模式...
  • 第二节 操作系统的体系结构 目前流行操作系统有Windows操作系统、UNIX操作系统、Linux操作系统和Android操作系统等。 一、Windows操作系统的体系结构 Windows体系结构是分层模块系统,主要层次有硬件抽象层...
  • 文章目录计算机体系结构体系结构是什么计算机系统由几部分组成win32和win64区别存储层次缓存(Cache)分级源码补码反码,有源码为什么有补码反码流水线调度效率、五级流水线加速达到5吗计算机子系统可以不要吗 ...
  • •CS(Client/Server,客服机/服务器)结构,C/S结构在技术上很成熟,它主要特点是交互性强、具有安全存取模式、网络通信量低、响应速度快、利于处理大量数据。因为客户端要负责绝大多数业务逻辑和UI展示,又...
  • HDFS体系结构常见功能

    千次阅读 2018-05-05 16:05:24
    本文主要是介绍HDFS的体系结构和常用操作,涉及到知识点如下: HDFS的体系结构 数据上传 数据下载 HDFS的体系结构 Hadoop生态圈,包括HDFS、Yarn、HBase都是主从结构。对于HDFS来说,它主节点是...
  • 1 C/Sl C/S结构即客户端/服务器(Client/Server),例如QQ;l 需要编写服务器端程序,以及客户端程序,例如我们安装就是QQ客户端程序;l 缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦;l 优点...
  •  l C/S结构即客户端/服务器(Client/Server),例如QQ;  l 需要编写服务器端程序,以及客户端程序,例如我们安装就是QQ客户端程序;  l 缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦;...
  • 软件体系结构表示系统框架结构,用于从较高层次上来描述各部分之间关系和接口,主要包括构件、构件性质和构件之间关系。 通过使用软件体系结构,可以有效地分析用户需求,方便系统修改,以及减小程序构造...
  • 在哪里可以了解有关面向主题写作和用户帮助更多信息? DITA与DocBook有何不同? 如何对DTD进行更改和控制? 我可以在自己公司中使用此DTD吗? DITA是否已集成到任何IBM产品中? DITA DTD是否有XML...
  • 计算机网络体系结构分层及HTTP常见问题 一直来对计算机网络协议有些懵懂,今天就来撸一撸这个网络协议 上面图片可以知道:网络协议参考模型分为: osi:参考模型注重“通信协议必要功能是什么”,基本我们用不到 ...
  • IA32(x86)体系结构指令种类比较多,但是常见的一般也还行,一下总结linux0.11内核中使用到的所有指令,概述这些指令的基本用法,因指令的使用跟寻址方式都有关系,篇幅所限,不详细展开所有细节,看内核代码,了解...
  • 常见软件体系结构风格2.1管道和过滤器2.2数据抽象和面向对象组织2.3基于事件隐式调用2.4分层系统2.5仓库系统2.6C/S风格2.7B/S风格3.总结   软件体系结构的学习第二篇,软件体系结构风格。 1.软件体系结构定义  ...
  • 某电信运营商数据库高级主管杭星老师分享《MySQL体系结构常见高可用架构》。 1、活动总结 上周四晚上,知数堂培训邀请到某南方电信运营商数据库高级主管杭星老师分享《MySQL体系结构常见高可用架构》主题。让...
  • 1.结构类型如何选择控要点?解释:1.对于高度不超过150米多...解释:对于钢筋混凝土结构,当房屋高度不超过12.0米时,一般均为三大常规结构体系——框架结构、剪力墙结构、框架—剪力墙结构。1.对于学校、办公楼、...
  • 系统软件开发系列文章之一:IA-32体系结构CPU保护模式常见误区   (20100603随笔版,不保证完全学术严谨)   立志于成为系统程序员同学们,或者尝试操作系统开发程序员们,在阅读IA-32体系结构(以下...
  • Oracle里存储的结构化数据导出到Hadoop体系做离线计算是一种常见数据处置手段。近期有场景需要做Oracle到Hadoop体系的实时导入,这里以此案例做以介绍。 Oracle作为商业化的数据库解决方案,自发性的获取数据库...
  • 常见软件系统体系结构B/S、C/S C/S 1.C/S结构即客户端/服务器(Client/Server),列如QQ; 2.需要编写服务器端程序,以及客户端程序,列如我们安装就是QQ客户端程序; 3.缺点:软件更新时需要同时更新...
  • 做前端的同学不少都是自学成才或者半路出家,计算机基础的知识比较薄弱,尤其是数据结构和算法这块,所以今天整理了一下常见的数据结构和对应的Javascript的实现,希望能帮助大家完善这方面的知识体系。1. Stack(栈)...
  • 常见软件体系结构:B/S 、C/S

    千次阅读 2015-03-13 11:54:38
    l 需要编写服务器端程序,以及客户端程序,例如我们安装就是QQ客户端程序; l 缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦; l 优点:安全性比较好。   2 B/S() l B/S结构即...
  • J2EE体系结构设计

    2021-02-27 17:40:50
    模型-视图-控制(model-view-control,简称MVC)结构是目前最常见的J2EE应用所基于的体系结构,MVC主要适用于交互式的Web应用,尤其是存在大量页面及多次客户访问及数据显示;相比较而言,一个工作流体系结构更多应用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,403
精华内容 1,361
关键字:

常见的结构体系