搜档网
当前位置:搜档网 › TCG体系结构概述

TCG体系结构概述

TCG体系结构概述
TCG体系结构概述

TCG体系结构描述

目录

1.本文描述范围和读者 (1)

2.什么是TCG (1)

2.1.历史 (1)

2.2.任务 (1)

2.3.目标 (1)

3.TCG的适用环境 (1)

3.1.风险管理 (1)

3.2.资源管理 (2)

3.3.电子商务 (2)

3.4.安全监控和紧急响应 (3)

4.TCG体系结构 (3)

4.1.可信平台的基本特性 (4)

4.1.1.保护功能 (4)

4.1.2.证明(签名) (4)

4.1.3.完整性的测量、存储和报告 (5)

4.2.可信平台 (6)

4.2.1.可信平台的构建模块 (6)

4.2.2.可信边界 (7)

4.2.3.可信传递 (7)

4.2.4.完整性测量 (8)

4.2.5.完整性报告 (9)

4.2.6.通讯的端点-TPM (16)

4.2.7.保护存储 (17)

4.3.可信平台模块(TPM)部件 (21)

4.3.1.分离部件 (22)

4.3.2.通讯接口 (23)

4.3.3.防篡改(攻击)封装 (24)

4.4.安全性的考虑 (24)

4.4.1.TCG保护什么? (24)

4.4.2.TCG如何保护(平台的身份信息)? (25)

4.5.TCG执行模型 (25)

4.5.1.TPM的运行状态(operational states) (25)

4.5.2.平台操作 (29)

4.5.3.与TPM的接口和软件服务 (30)

4.6.TCG编程接口 (42)

4.6.1.命名约定 (42)

4.6.2.命令序号及排序 (43)

4.6.3.TCG命令及接口的总述 (45)

5.TCG安全评估模型 (52)

5.1.评估的语境 (52)

5.2.评估的目标 (54)

5.3.评估过程 (55)

5.3.1.评估的输入 (55)

5.3.2 (58)

5.4.认证 (59)

5.4.1.已鉴定的产品的名单 (59)

5.4.2.认证权威起源于哪里? (59)

5.5.鉴定 (59)

5.5.1.保护profile作为安全策略 (60)

5.5.2.Site-Specific(指定位置)的安全性政策 (60)

5.5.3.鉴定和证明 (60)

5.6.TCG规格说明的一致性 (60)

6.TPM的制造及支持的implication (61)

6.1.抵制窜改的封装 (61)

6.2.域升级 (61)

6.3.国际密码系统的进口和出口 (61)

6.4.密钥管理基础设施 (61)

7.术语表 (62)

1. 本文描述范围和读者

2. 什么是TCG

2.1. 历史

2.2. 任务

通过计算机平台、软件和技术服务提供商的协作,共同为消费者开发出一个基于增强了可信计算能力的硬件和操作系统的计算机平台标准。

2.3. 目标

TCG将发表在多种计算机平台上如何建立可信计算体制的执行规范及定义,包括:体系结构、功能、界面等。对于特定的计算平台,如:PC,PDA,蜂窝电话及其他计算设备,TCG将发表更详细的执行规范。

基于TCG标准的计算平台,将符合更高可信标准的功能和可靠性标准。TCG 将发表评估标准和准确的平台结构作为使用了TCG技术的设备的评估尺度。

(可信计算系统)在投入使用后同样需要持续的操作完整性维护以达到可信度的持续改良。TCG将推荐系统投入使用后的(改良)程序和方法。

3. TCG的适用环境

3.1. 风险管理

风险管理的目的是尽量减少信息资源由于恶意攻击或偶然疏忽而造成的丢失或暴露。风险管理可以帮助评估和降低风险。风险管理的一个功能就是弱点评

估。信息资源的拥有者希望清楚地知道他们所采用的保护资源的技术并且可以评估与此保护机制相关的弱点。

TPM可信计算平台的“保护存储”技术可以用于降低信息资源丢失的风险。保护存储技术用于安全保护公、私钥和对称密钥,因为它们特别容易丢失,原因是窃取到它们就可以访问大部分的信息资源。由于TPM的“保护存储”机制是在一个孤立的子系统中实现的,密钥就可以减少受攻击的可能。

TPM中保护信息资源的方法主要有:

A.利用散列函数来探测完整性的丢失;

B.用公钥和秘密密钥加密信息以防止未经授权的信息泄漏;

C.使用数字签名来验证传输的数据的正确性。

由于TPM的“保护存储”机制是源于硬件的,因此可以很好的保护密钥、秘密信息和散列值。

3.2. 资源管理

资源管理试图避免偷窃及非授权的使用计算资源。“资源跟踪”是达到资源管理的有效手段。TPM允许资源管理者设置一个可信计算平台的所有权,从而控制用户执行作业的权限。

通过对所有权的控制,TPM可以用于产生并保护系统资源的一致性,资源的一致性是不能物理删除或替换的。同时,我们可以建立资源数据库,从而保证平台的资源信息具有更高的可靠性。

在可信平台上,即便信息资源丢失,偷窃者也不能获得对信息资源的访问权,也就不能通过使用或传递这些信息资源而获益。

3.3. 电子商务

在电子商务中,消费者的诚实度和供应商的可信度是非常重要的因素。如果一个交易顺利完成,则供应商的信任度和消费者的诚实度可以得到确认。这样,如果消费者和供应商都能够重新获得他们正确交易时的文本资料,相互的新的交易就更可能发生。

TPM可信计算平台提供了确认一个e-commerce的交易文本的能力。消费者

可以确认进行交易时需要选择的参数,而供应商可以通过动态验证其与消费者进行联系时的交易文本,就可以确认消费者的本次消费是重复消费并且信任由消费者管理的属性。

TPM可以通过报告平台配置的信息来完成此功能,该信息可以用于确定消费者的联系上下文。该报告是通过加密算法来验证的,因此双方都可以确认电子商务交易是基于先前建立的联系。

3.4. 安全监控和紧急响应

IT管理者花费大量的时间应付病毒和窃取,紧急响应的队伍必须快速反应来隔离和修复易感染的系统。他们经常需要检查连接在系统中的所有设置和构造以确定哪个系统被修改了。TPM可以保证每个计算机以可信的方式报告其配置参数。平台的引导进程可以进而通过TPM测试系统中的每个器件(软、硬件)并且在TPM内部的PCR中安全保存测量结果。紧急响应的人员可以使用这些测量数据判断哪些计算机更易被病毒攻击;

IT管理者可以安装使用TPM中PCR的系统进程,用于在系统引导阶段判断不安全的配置,从而避免由于疏忽进入不安全的模式。

4. TCG体系结构

作为例子,本文定义了一个一般的TCG体系结构,也称为“参考体系结构”。例如:图4-1显示了一个PC上使用的参考体系结构。参考体系结构用于讨论和阐述各种TCG概念。

图4-1所示的PC、PDA、蜂窝电话及其他计算平台的参考体系结构只是用于举例说明,不能用于特定系统的TCG结构分析或执行分析。

图4-1 具有可信平台模块(TPM)的PC平台参考图

4.1. 可信平台的基本特性

在某些特定的用途里,需要一个设备的执行方式是可以信任的。一个可信平台至少需要提供三个基本特性:保护功能,证明,完整性测量和完整性报告。

4.1.1. 保护功能

保护功能是指只有拥有高级权限的命令集才可以访问屏蔽区域。屏蔽区域是指可以对敏感数据进行安全操作的区域(如内存或寄存器),这些区域只能通过保护功能来访问。

TPM通过执行保护功能和使用屏蔽区域来保护和报告完整性测量的结果(这样的屏蔽区域称为:平台配置寄存器Platform Configuration Registers: PCR)。

TPM同时存储了用于证明完整性报告的密钥。

TPM保护功能也包括其他的安全功能如密钥管理,随机数发生器,结合系统状态对数据进行密封及其他被TCG成员认为是必要的功能。

4.1.2. 证明(签名)

证明是一个担保数据准确性的过程。通过证明,外部实体可以鉴别屏蔽区域、保护功能及根信任(Root of Trust)。平台也可以鉴别影响平台完整性(可信度)

的平台特征描述。所有形态的证明都需要提供证明的实体(attesting entity)的可信任证据。

证明可以有多个层次的涵义:被TPM证明,对平台进行证明,平台提供的证明和平台的验证。

被TPM证明是TPM对其已知的数据提供证据的过程。这个过程通过使用身份认证密钥(AIK)对TPM内部的明确数据进行数字签名来实现。验证方决定是否接受并认可数据完整性测量的结果和AIK本身的有效性。通过中立的CA或可信的证明协议可以得到AIK。

对平台进行证明是指提供证据证明平台是可以被信任的,既其进行的完整性测量是可信的、此过程使用平台相关的证书集或证书子集,通常是提供一个AIK 证书。

平台提供的证明是提供一组平台完整性测量数据的证据的过程。这个过程通过使用TPM中的AIK对一组PCR进行数字签名实现。

平台的验证提供了一个声明了的平台身份的证据。声明了的身份可能与用户或其执行的任何操作有关或无关。平台的验证通过使用任何不可移植的签名密钥来实现。被鉴定了的密钥(也就是使用AIK进行签名的密钥)在可证明性上有着更多的语义。因为TPM拥有的不可移植的签名密钥的数量不受限制,因此可以被验证的身份的数量也是不受限制的。

4.1.3. 完整性的测量、存储和报告

完整性的测量由以下步骤实现:

1.获得那些影响平台完整性(可信度)的平台特征的测量值;

2.存储这些测量值;

3.将这些测量值的信息摘要存储在PCR中。

测量的开始点称为可信测量的根。一个静态的可信测量的根开始于机器的起始状态(如上电自检)进行的测量。一个动态的可信测量的根是以一个不被信任的状态变为可信状态的测量作为起始点。

完整性存储是完整性测量和完整性报告的中间步骤。完整性存储包括了存储完整性测量值的日志和在PCR中存储这些测量值的信息摘要。

完整性报告用于证实完整性存储的内容。

完整性测量、存储和报告的基本原理是:一个平台可能会被允许进入任何状态,包括不必要的或是不安全的状态,但是平台不能对其是否进入或退出了这种状态进行隐瞒和修改。一个独立的进程可以对完整性的状态进行评估并据此作出正确的响应。

4.2. 可信平台

在TCG系统中,根信任是那些必须给予信任的部分,因为这些部分的不良性能是无法被检测到的。一个完整的根信任集合至少要包含用于描述影响平台可信度的平台特征的功能。

一个可信平台上,应该包含三个根信任:

用于测量的根信任(RTM);

用于存储的根信任(RTS);

用于报告的根信任(RTR);

RTM是一个有能力进行初始的、可靠的完整性测量的计算引擎。典型的如:受控于核心根信任测量(CRTM)的常规计算引擎。当CRTM作为RTM运行时,是平台上执行的一串指令。RTM同时也作为信任传递链的根(参见4.2.3节)。

RTS是能够保存完整性信息摘要的正确记录和信息摘要序列的计算部件。

RTR是能正确报告RTS所保存信息的可靠性的计算部件。

在没有外部监督的情况下,每一个根都应是可信的。对于根信任的可信度可以通过不同的途径进行评估来保证,但首先应包括有能力的专家的评估。

4.2.1. 可信平台的构建模块

可信构建模块(Trusted Building Blocks ,TBB)是根信任中不包含屏蔽区域或保护功能的部分。一般来讲,TBB只包含了用于RTM的指令和TPM初始化的功能(复位等)。这些是不同平台所特有的。一个TBB的构成示例如图4-2,包括了CRTM, CRTM存储器在主板上的连接, TPM在主板上的连接以及判断物理存在的机制。

图4-2 加粗的框表示了一个可信平台中的TBB TBB是可信的,意味着它的运行不会对可信平台造成危害。

4.2.2. 可信边界

TBB和根信任的组合形成了一个可信边界,在其中可以对PC机的最小配置进行完整性的测量、存储和报告。更复杂的系统需要除了CRTM以外的ROM代码来进行测量。为此,必须建立对这些ROM代码的信任。因此,在把控制权交给这段ROM代码之前,必须先对其进行可信度测量。

在可信链尚未建立之前,TBB必须建立,以保证其他的测量代码不会不经意的超出TBB的可信边界。

4.2.3. 可信传递

可信传递也被称为“可信传导”。可信传递是根信任对于第二组功能给出可信描述的过程。基于这种描述,一个需要访问这组功能的实体可以确定其可信度。当该实体确认了这组功能的可信度是可以接受的,可信边界从根信任扩展到了包含第二组功能的范围。此过程是可以迭代的,即第二组功能可以对第三组功能给出可信度描述,等等。可信传递用于对平台特征给出可信度描述,并可以证明不可移植的密钥的不可移植性。

图4-3 系统从一个静态的根信任引导时的可信传递在图4-3中,如果在一个从静态根信任开始引导的系统中应用可信传递,可信边界可以扩展到没有驻留在根信任范围内的程序代码。在每一次可信边界的扩展过程中,首先对目标代码进行可信度测量,然后才将运行控制权交与这段代码。

4.2.4. 完整性测量

测量的核心程序产生测量事件。一个测量事件包含两类数据:

1)测量值:用于表示嵌入式的数据或程序代码;

2)测量的信息摘要:测量值的hash结果。

测量的核心程序通过扫描数据产生信息摘要。信息摘要是(当前)机器运行状态的快照。测量值和测量摘要分开存储。测量摘要通过RTR和RTS功能存储在TPM中。测量值(通常指测量的存储日志Stored Measurement Log -SML)可以由测量的核心程序存储在其认可的任何位置。事实上,测量值根本不必存储,而只是在需要连续表达的时候能够重新进行计算。

测量数据描述了被测量部件的属性和特征。对于编写测量核心程序的程序员而言,它必须熟知被测量事件的语法和语义的每一个细节,以产生适于测量事件使用者的编码(测量范围内的)。程序员决定了这些事件的数据如何被分割。《平台特征规范》中包含了平台配置的更多描述、表示方法及对期望的测量使用者的描述。

测量的存储日志SML(Stored Measurement Log (SML))包含了相关的测量值的若干个序列,每一个序列共享一个公共的测量信息摘要。新的测量值被添加

进信息摘要中并重新进行hash,因此更像是信息摘要的扩展。这样的扩展必须保证相关的测量值不能被忽略并且保留操作顺序。

TPM中有一组称为平台配置寄存器(PCR)的寄存器组用于保存测量的摘要。更新PCR的数学表达式为:PCR[n]←SHA-1(PCR[n]+measured data)。PCR的值在系统重新引导时将被重置,因此PCR的值只是临时性数据。

对测量事件的验证需要重新创建测量摘要并与PCR中的值进行比较。TCG并不定义SML内容的编码规则,但是推荐使用类似XML语言的编码标准以保证其可以被广泛接受。尽管如此,不同的平台也许需要不同的表达方式,因此,《平台特征规范》(例如:《PC平台特征规范》)就可能需要定义其他的编码规则。

SML的容量可能会非常大,因此,SML不存储在TPM的内部。因为当SML受到攻击时,攻击是可以被检测到的,所以SML不需要受到TPM的保护。但是,由于SML还易受到拒绝服务攻击,实施者应对SML进行复制备份或重新生成日志。

4.2.

5. 完整性报告

用于完整性报告的根信任(RTR)有两个功能:

●在屏蔽区域存储完整性测量的结果;

●证实基于可信平台身份的存储数据的正确性;

存储完整性报告摘要的PCR可以使用易失性存储器或非易失性存储器。PCR 必须保证不能受到软件攻击,同时也要考虑如何防止物理干扰的攻击。TPM使用AIK对完整性报告摘要(PCR值)进行数字签名,以保证外部实体可以验证PCR 的值。为防止重放攻击,参与PCR签名的数据中应包含nonce。

TPM产生并管理AIK。TPM可以拥有很多AIK。当考虑到冲突时,不同的AIK 用于保护不同的隐私。

TPM在出厂时,可以内置一个称为背书密钥(Endorsement Key,EK)的嵌入式密钥。EK用于签发AIK证书的过程和确立平台的拥有者。平台的拥有者可以创建一个存储根密钥(SRK)。存储根密钥用于加密其他TPM密钥。在4.2.5.2,4.2.7和4.4节中描述了关于EK的更多细节。

(1) 完整性报告协议

完整性报告用于验证平台的当前配置。图4-4中显示了一个完整性测量报告的协议。

图4-4 证书验证协议和信息交换

验证协议包含了如下6个步骤:

1.请求者向平台请求一个或多个PCR的值;

2.一个包含TPM的平台执行机构查找相应的SML入口地址;

3.平台执行机构从TPM得到PCR的值;

4.TMP使用AIK为PCR的值签名;

5.平台执行机构查找TPM所担保的证书,然后将签名后的PCR的值,SML

入口和证书返回给请求者;

6.请求者验证请求,然后对证书进行评估并对PCR的签名进行验证,测量

摘要经重新计算后与PCR的值比较。

协议与传输机制的实现是独立的,现有的通讯协议、消息传递和远程访问机制都可以用来传递验证消息。

(2) 身份和隐私

证明的目标之一是允许访问者确定某个TPM已经对一个消息进行了签名,同时也可以用来确定“哪个”TPM对消息进行的签名。通过中立的CA签署的AIK 证书可以保证在向访问者证明平台可信度的同时又不会将EK唯一的值泄漏给访问者。TPM在中立的CA那里登记了自己的AIK公钥,中立的CA为这个AIK签署了一个证书。在中立的CA处进行登记时,TPM需要证明AIK是绑定在特定的TPM 上的。平台通过使用在TPM中保存的EK私钥解密AIK证书的方式来实现这个要求。只有拥有EK私钥的TPM才能够完成对证书的解密。

中立的CA应该是足够可信的,它是不会泄漏敏感信息的,包括EK的公钥或其中的PII(个人身份验证信息)部分,同时它也不会误传平台用来生成AIK的可信属性。

TPM可以被设置为在参与签署AIK证书协议前需要所有者的授权。TPM也可以被设置成禁用或不激活。

(3) 平台的证明

平台的证明用于评估使用AIK对一个平台(的可信度)的证明是否可信。此时,需要TPM和平台制造商签发的证书来确认与特定的AIK相关的可信度判断。

(4) TCG证书

TCG定义了五类证书,每类都被用于为特定操作提供必要的信息。

证书格式在ASN.1进行了明确的说明,并且是PKI的一个元素。

证书的种类包括:

●背书(EK)证书

●符合性证书

●平台证书

●认证证书

●身份认证(AIK)证书

(5) 背书证书

背书证书由产生EK的设备签发。EK在生产过程中产生,应该由TPM的供应

商产生EK。无论如何,EK应在(TPM)提供给最终用户前的任何时刻生成,生产商才可以声明EK已经完整的生成并嵌入到一个有效的TPM中。

如果EK密钥对在平台交付用户后再生成,密钥生成的环境将影响可提供的背书。

背书证书包含下列信息:

●TPM生产商的名称

●TPM型号

●TPM的版本

●EK公钥

EK公钥虽然是公开的,但也是一个秘密的敏感信息,因为EK与TPM是一一对应的,并用于平台的扩展。TCG指定每一个TPM都必须拥有一个EK证书。

(6) 符合性证书

符合性证书由有足够能力评估一个TPM或包含TPM的平台的任何实体签署。评估可以由平台的生产商、供应商或中立的第三方完成。符合性证书说明了评估者按照已制定的评估指导方针证实了TBB的设计和实现。通过对证书的数字签名,评估者可以证实其评估结果及所有被评估的细节。TCG定义了丰富的评估标准和指导方针以便于评估。

一个平台可能有多个符合性证书:一个是TPM的,其他的是不同TBB部件的。(参见图4-5)。

符合性证书包含下列信息:

●评估者的名称

●平台生产商的名称

●平台型号

●平台版本(若可用)

●TPM生产商的名称

●TPM型号

●TPM版本

符合性证书并不包含可以唯一标志一个特定平台的信息。

TCG认为,一个平台型号可能拥有多个符合性证书,但对于相同的产品和型

号只需要一个(组)证书。

(7) 平台证书

平台证书由平台的生产商、供应商或有足够可信度的任何实体签发。它用于确认平台生产商的身份并且描述了平台的特性。它同时索引TPM相关的背书证书和符合性证书(参见图4-5的A)。证书的索引还包括所有索引的证书的信息摘要。平台证书应是私密的:因为平台证书是与一个特定的平台相关的,而与同一类的其他平台不同。

平台证书包括下列信息:

●平台生产商的名称

●平台型号

●平台版本(若可用)

●背书证书

●符合性证书(可能是多个)

平台证书可以证明平台中包含了背书证书所描述的TPM。TCG认为:一个平台的实体应与一个平台证书一一对应。

(8) 认证证书

TCG认为:可测量的部件(硬件或软件)的生产商,应提供测量的参考值。测量参考值是被测部件在正确的工作流程下生产时测量的信息摘要,一般是在功能测试之后。不是所有的部件都需要提供认证证书。只有被认为是可能对系统安全造成威胁的部件需要进行检查。

如果用户信任“无尘室”操作者的声明,“无尘室”测量可以在任何时刻进行。参考测量值可以与实时检测的测量值进行比较。带有所期望的参考测量值,用于描述部件结构的被签名的文档称为认证证书。

认证证书应包含的部件例如:

●显示适配器

●磁盘存储适配器

●内存控制器

●通讯控制器/网络适配器

●处理器

●键盘和鼠标

●软件

认证证书是由一个认证实体签署的。任何一个希望且有能力进行测量同时可以证实测量值的实体都可以被看作是认证实体。部件生产商是最具代表性的认证实体。部件描述的任何部分都可以作为判定可信度的依据。无论怎样,需要被签署认证证书的部件是最容易对安全形成威胁的。

部件描述至少应包含以下各元素:

●认证实体的名称

●部件生产商的名称

●部件型号

●部件版本

●测量值(一个或多个)

部件描述也可以包含:

●部件性能(不可改变的)

证书可能是签署给每一个型号、每一个型号系列或者根据带有数字签名的唯一性信息单独签署。被认为是适合进行签署证书的任何设备都可以分配和签署(发布)认证证书。证书最好以电子的形式提供以便于自动工具的识别。

(9) 部件升级和域升级

拥有认证证书的部件可能需要修改BUG,升级部件或升级那些与原有认证证书相关的可能引起不可预知结果的部分。TCG认为认证证书的产生和部件升级的过程应由供应商制定。平台特征规范只涉及器件和认证证书的一致性问题。

(10) 身份验证证书

AIK证书证明用于对PCR的值进行签名的AIK私钥。AIK证书包括AIK公钥和证书签署人认为必要的任何信息。可以验证不同证书的中立的可信服务(service)用来签发AIK证书。

在签发AIK证书时,签名者通过校对TPM提供的事实来证实TPM。证实的目标是确认TPM拥有一个AIK并且已和有效的背书证书、平台证书和符合性证书绑

定。签发AIK证书的可信方除了保持中立,还应保护在登记过程中用户所暴露的个人身份信息。

身份认证证书还索引了其他的证书,如:

●图4-5中C所表示的TPM生产商和型号描述,但没有敏感信息EK。

●图4-5中D所表示的平台生产商和型号描述。注意,索引并不是引用了

平台证书本身,而只是引用了平台证书中的非敏感信息部分。

●图4-5中E表示了向请求者说明如何调用TPM和平台的符合性证书。

请求者可以使用这些信息及证书提供的其他信息通过验证协议确认平台的可信度。

图4-5 证书和证书间的关系框图

(11) 证书的可信度和隐私

在以上对每一个证书的描述中,都对秘密敏感度进行了阐述。每一个证书对证明平台的可信度都是必须的,TCG规范规定平台的生产商为了保护用户的隐私

必须保证这些证书的保密性。

有很多种方法可以发布证书,其中包括:

●在平台上直接发布-通过CD或磁介质。

●站点下载-连接到生产商的网页。

●第三方服务-例如搜索引擎或目录服务。

无论使用那种发布证书的机制,证书的发布者应满足平台所有者所要求的中立。

4.2.6. 通讯的端点-TPM

当考虑系统间交换数据时,安全分布式系统必须对通讯的端点进行身份认证。对整个安全系统,端点的组成和构建与通讯协议有着同样的重要性。TCG设计者认为,端点的最小组成包括:不对称密钥、密钥存储和保护协议数据项的进程。

经典的基于非对称密钥的信息交换,使用接收者的公钥对信息进行加密。此外应使用发送者的私钥对信息进行签名以防止被篡改。密钥是通讯的终点,对密钥的不慎管理和节点的构造不合理都会导致泄密。TPM通过密钥管理和配置管理两种方法来增强保密性(如:数据的保护存储,测量和报告)。

这些方法可以组合成为“密封”密钥和平台配置从而使得端点的定义更加强壮。

TCG定义了四种保护信息交换的加密方法:绑定、签名、“密封”绑定(也就是“密封”)和密封签名。

(1) 绑定

绑定是使用公钥进行信息加密的一种传统操作。发送者使用接收者的公钥对信息进行加密。信息只可以使用接收者的私钥进行解密。当TPM将该私钥作为“不可移动的”密钥来管理,那么只有该TPM才能产生和使用这个私钥。因此,使用相应的公钥加密的信息与特定的TPM“绑定”在一起。

由于可能会产生在多TPM设备中传递的“可移动的”的私钥,因此,这样的绑定除了加密以外没有更多的用途。

(2) 签名

签名同样是传统的操作。使用密钥对信息进行签名以保证信息的完整性。TPM 将一些管理密钥标记为签名密钥,这些密钥只能用来完成签名数据的hash计算并加密hash结果,因此这些密钥不能被认为是加密密钥。

(3) 密封

密封比绑定多做了一步:密封的信息是与信息发送者指定的平台测量值绑定在一起的。解密前,必须确认平台的当前配置状态与平台测量值相符。密封的操作与加密信息(实际上是使用对称密钥进行加密)的关联关系是一组PCR值和一个不可移动的非对称密钥。

密封信息的过程是:首先选择一定范围内的PCR寄存器的值,附加对称密钥(用来加密信息的),然后使用非对称密钥进行加密。只有当平台配置与发送者指定的PCR寄存器的值匹配时,拥有非对称解密密钥的TPM才可以解密对称密钥。

密封是TPM的一个强大的特点。它保证了只有在一个平台运行于一个非常确定的已知配置的状态下,加密的信息才能够被解密。

(4) 密封签名

签名也可以与PCR寄存器关联使用,以更好的保证平台的签名是在一个特定的配置需求下完成的。验证者要求一个签名必须包含一个详细的PCR寄存器(信息)。签名者在签名的过程中收集指定的PCR寄存器的信息并将信息添加到原有的信息中,作为被签名的信息摘要的一部分。验证者审查被签名的信息中的PCR 的值,就等同于审查签名时的平台配置。

4.2.7. 保护存储

用于存储的根信任RTS保护委托给TPM的密钥和数据。在签名和解密数据时,RTS管理一小部分易失性存储器用于存储密钥。(参见图4-6中的密钥组)。不使用的密钥可能会被加密保存到片外,为正在使用的密钥让出更多的空间。密钥高速缓冲区管理器(KCM)在TPM外部起到管理密钥高速缓冲区的作用。KCM接口与存储器相连,存储了当前不使用的密钥。RTS比一般的保密存储服务额外提供

软件体系结构

课程名称:软件体系结构 课程编号:C304 课程学分:2 适用学科:计算机应用技术 软件体系结构 Software Architecture 教学大纲 一、课程性质 本课程是为计算机应用专业研究生开设选修课。软件体系结构是软件开发设计的高级课程,对培养计算机应用专业研究生今后从事大型软件开发工作有重大意义。 二、课程教学目的 学生通过本课程的学习后,在概念上建立从体系结构看待软件系统的观念,理解体系结构设计的优劣对软件系统质量的影响;掌握软件体系结构的建模、评价与检测的方法,能够应用上述方法评价软件体系结构的质量。 三、课程教学基本内容及基本要求 第一章绪论(2学时) 1、软件体系结构概述 2、研究内容与方法 第二章软件体系结构建模理论(2学时) 1、软件体系结构描述语言ADL简介 2、时序逻辑描述语言LOTOS简介 3、实例研究:流媒体信道调度模型及描述

第三章软件体系结构一致性检测(2学时) 1、软件体系结构一致性 2、软件体系结构一致性测试算法 3、实例研究1-三层C/S结构一致性检测 第四章软件体系结构评价(4学时) 1、软件体系结构评价模型 2、软件体系结构性能评价 3、软件体系结构可靠性评价 4、实例研究基于C/S结构的视频点播系统性能研究 第五章软件体系结构案例分析(16学时) 1、COBAR体系结构简介 2、P2P体系结构简介 3、网格体系结构简介 四、本课程与其它课程的联系与分工 本课程的先修课程为《面向对象程序》及《分布式数据库》,通过上述课程的学习,使学生能够体会大型软件开发的基本过程,体会到软件开发中体系结构的重要性。 五、实践环节教学内容的安排与要求 结合本研究室的研究课题,评价软件体系结构的性能。 六、本课程课外练习的要求 结合自己的研究课题,建立软件体系结构的性能模型和可靠性模型,以实际系统为被背景评价软件体系的性能。

《软件体系结构》教学大纲

《软件体系结构》教学大纲 一、课程概述 《软件体系结构》是根植于软件工程发展起来的一门新兴学科,目前已经成为软件工程研究和实践的主要领域。体系结构在软件开发中为不同的人员提供了共同交流的语言,体现并尝试了系统早期的设计决策,并作为相同设计的抽象,为实现框架和构件的重用、基于体系结构的软件开发提供了有力的支持。 作为计算机科学与技术专业软件工程方向的重要专业课程,本课程主要系统地介绍软件体系结构的基本原理、方法和实践,全面反映软件体系结构研究和应用的最新进展。既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和工业界应用实例,强调理论与实践相结合。 本课程的先修课程为“软件工程”。 二、课程目标 1.知道《软件体系结构》这门学科的性质、地位、研究范围、学科进展和未来方向等。2.理解该门学科的主要概念、基本原理和策略等。 3.掌握软件体系结构的建模方法、描述方法,通过对不同软件体系结构风格的掌握,能够采用正确的基于体系结构的软件开发。 4.能够把所学的原理应用到具体的实践中去,培养学生发现、分析和解决问题的能力等。 三、课程内容与教学要求 这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。这四个层次的一般涵义表述如下: 知道———是指对这门学科和教学现象的认知。 理解———是指对这门学科涉及到的概念、原理、策略与技术的说明和解释,能提示所涉及到的教学现象演变过程的特征、形成原因以及教学要素之间的相互关系。 掌握———是指运用已理解的教学概念和原理说明、解释、类推同类教学事件和现象。

学会———是指能模仿或在教师指导下独立地完成某些教学知识和技能的操作任务,或能识别操作中的一般差错。 教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。 本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。 教学内容及教学要求表

计算机体系结构知识点

目录 第一章计算机系统结构基本概念 (2) (一) 概念 (2) (二) 定量分析技术 (3) (三) 计算机系统结构发展 (4) (四) 计算机的并行性 (5) 第二章计算机指令集结构 (7) 一. 指令集结构的分类 (7) 二. 寻址方式 (7) 三. 指令集结构的功能设计 (8) 四. 指令格式的设计 (10) 五. MIPS指令集结构 (10) 第三章流水线技术 (14) 一. 流水线的基本概念 (14) 二. 流水线的性能指标 (14) 三. 流水线的相关与冲突 (16) 四. 流水线的实现 (18) 第四章指令集并行 (18) 付志强

第一章计算机系统结构基本概念 (一)概念 什么是计算机系统结构:程序员所看到的计算机属性,即概念性结构与功能特性. 透明性:在计算机技术中,把本来存在的事物或属性,但从某种角度看又好像不存在的概念成为透明性. 常见计算机系统结构分类法 冯氏分类法(冯泽云):按最大并行度对计算机进行分类. Flynn分类法:按指令流和数据流多倍性进行分类 ①单指令流单数据流 ②单指令流多数据流 ③多指令流单数据流(不存在) ④多指令流多数据流 付志强

(二)定量分析技术 Amdahl定律:加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比. 加速比=系统性能 改进后 系统性能 改进前 = 总执行时间 改进前 总执行时间 改进后 加速比依赖于以下两个因素 ①可改进比例 ②部件加速比 CPU性能公式 CPU时间 CPU时间=执行程序所需时间的时钟周期数x时钟周期时间(系统频率倒数) CPI(Cycles Per Instruction) CPI =执行程序所需时钟周期数/所执行指令条数 ∴CPU时间= IC x CPI x 时钟周期时间 可知CPU性能取决于一下三个方面 ①时钟周期时间:取决于硬件实现技术和计算机组成 付志强

网络体系结构

网络体系机构概念: 网络体系结构就是为了完成计算机之间的通信,把计算机互联的功能划分成有明确定义的层次,规定了同层次实体通信的协议及相邻层之间的接口服务。将这些同层实体通信的协议及 相邻层接口统称为网络体系结构。简单点说就,层和协议的集合称之为网络体系结构。(网 络体系结构实际上是研究网络协议的,网络协议是我们这本书的核心,计算机通信其实讲的 就是协议,这节课实际上是这本书的总纲它介绍了一些基本概念和原理。) 网络协议: 是计算机网络和分布系统中互相通信的对等实体间交换信息时所必须遵守的规则的集合。 (网络协议是计算机网络的核心,计算机网络有多个计算机节点和通信设备组成,他们直接 为什么可以通信呢!就是遵守相同的规定,在这个规定之下他们能够实现,数据通信和资源共享,像我们在社会中也是一样的,在交流的过程中也要选择一种语言,大家都能听的懂的语言,要么汉语,要么英语,这就是网络协议。)协议有以下三个要素。 语法(syntax):就是规定一些数据信息与控制信息的格式、编码(我们在传输数据的时候传 输有效信息同时也要传输一些控制信息,控制信息是对信息的一些解释和说明或者是对地址 信息和路由的一些辅助信息。编码是:比如我们在物理层传输一些比特序列,在传输的过程 中0和1用什么形式来表示,是模拟信号还是数字信号) 语义(semantics):包括用于协议和差错处理的控制信息。(主要是针对控制信息,那么控 制信息里面包含不同的内容,地址信息,检错,纠错等等,计算机阶段或者是设备节点当收 到一个信息的时候首先要做的事情就是对它的控制信息进行解析,知道它的地址是什么含义,这个信息是不是给自己的,是自己的进行接收,不是自己的要想办法转发,传输过程中是不 是有错误你要看的检错,纠错信息,要完成以定的检错,纠错计算才知道这个信息是不是正 确的信息,是不是发送方想要发送的,让后接收方送到正确信息时候接收,收到错误信息的 时候,是否要向发送方发一个应答,是否对数据中的数据进行纠错等,这些都是语义所以处 理的。) 时序(timing):包括速度匹配和排序。(网络中的设备速度是不一样的,有的设备传 输速度快,有的设备传输速度慢,所以在发送数据的时候要做一个速度匹配,发送的要知道 接收端的接受能力) 分成设计 为了降低协议设计的复杂性,网络体系结构采用层次化的结构,每一层都建立在其下一层之上,每一层的目的是为上一层提供服务,并且服务的具体实现细节对上一层屏蔽。(我们在 做一个工程或者一个项目的时候,对一个复杂的工程要想实现的话,最简单的办法就是把这 件事情分层,把一个大的问题,分层若干小的问题,分层也就是说要把计算机网络要完成的 功能分成不同的层,不同的层次完成不同的功能,这样吧复杂的问题简单化,当每个小问题 解决以后,复杂的问题也就解决了,所以说这就是分层好的好处。) 1.利于实现和维护(某个层次实现细节的变化不会对其他层产生影响) 2.各层之间相互独立,高层不必关心低层的实现细节,只要知道低层所提供的服务, 以及本层向上层所提供的服务即可。 3.易于标准化 OSI参考模型 oSI(Open System Interconnect),即互联。一般都叫OSI参考模型,是ISO()组织在1985年研究的模型。该标准定义了网络互连的七层框架(、、、、、和),即ISO。在这一框架 下进一步详细规定了每一层的功能,以实现环境中的互连性、和应用的可移植性。

计算机测试系统发展综述

计算机测试系统发展综述 来源:牌技研究中心 https://www.sodocs.net/doc/fc11252066.html, 摘要: 计算机测试系统通常作为设备或武器系统的一个不可缺少的组成部分,其测试性能是衡量设备或武器系统优劣的一项重要指标。其应为基于标准总线的、模块化的开放式体系结构且具备虚拟仪器特点。通过分析和比较VXI总线和PXI总线特点,给出了计算机测试系统的发展方向。归纳出了计算机测试系统应具备的9个方面功能。给出了设计和研制计算机测试系统应遵循的基本原则。 关键词: 测试系统;VXI总线; PXI总线 测试技术涉及到众多学科专业领域,如传感器、数据采集、信息处理、标准总线、计算机硬件和软件、通信等等。测试技术与科学研究、工程实践密切相关,两者相辅相成,科学技术的发展促进了测试技术的发展,测试技术的发展反过来又促进了科学技术的进步。 测试仪器发展至今,大体经历了5 代: 模拟仪器、分立元件式仪器、数字化仪器、智能仪器和虚拟仪器。自上个世纪80年代以来,伴随微电子技术和计算机技术飞速发展,测试技术与计算机技术的融合已引起测试领域一场新的革命。1986 年美国国家仪器公司提出“虚拟仪器”即“软件就是仪器”的概念。虚拟仪器是卡式仪器的进一步发展,是计算机技术应用于仪器领域而产生的一种新的仪器类型,它以标准总线作为测试仪器和系统的基本结构框架,配置测量模块,通过软件编程实现强大的测量功能。在虚拟仪器系统中,用灵活、强大的计算机软件代替传统仪器的某些硬件,用人的智力资源代替物质资源,特别是系统中应用计算机直接参与测试信号的产生和测量特征的解析,使仪

器中的一些硬件、甚至整件仪器从系统中“消失”,而由计算机的硬软件资源来完成它们的功能。另外,通过软件可产生许多物理设备难以产生的激励信号以检测并处理许多以前难以捕捉的信号。虚拟仪器是计算机技术和测试技术相结合的产物,是传统测试仪器与测试系统观念的一次巨大变革。 测试技术和设备涉及国民经济和国防建设的各行各业,先进的电子测试设备在众多行业的科研、生产和设备维护使用过程中起着举足轻重的作用。特别是在电子产品、航空航天、武器装备、工业自动化、通信、能源等诸多领域,只要稍微复杂一点的涉及到弱电的系统(或装置)都要考虑测试问题。测试系统是设备或装备的一个必不可少的组成部分,如武器系统的维护维修离不开测试设备。一个系统(或装置)测试功能的完备与否已成为衡量其设计是否合理和能否正常运行的关键因素之一。 测试仪器和系统在国民经济和国防建设中起着把关和指导者的作用,它们广泛应用于炼油、化工、冶金、电力、电子、轻工和国防科研等行业。测试仪器和系统从生产现场各个环节获得各种数据,进行处理、分析和综合,通过各种手段或控制装置使生产环节得到优化,进而保证和提高产品质量。在武器系统科研试验现场,测试仪器和系统可获得试验中各个阶段和最终试验数据,用于及时发现试验中出现的问题和给出试验结论,并为后续相关试验提供依据。因此,测试仪器与系统对于提高科研和试验效率,加快武器试验进程和保证试验安全至关重要。以雷达、综合电子战为代表的军事电子领域,以预警机、战斗机、卫星通信、载人航天和探月工程为代表的航空、航天领域及以导弹武器系统为代表的兵器领域等都离不开测试设备,它是这些装备和系统正常使用和日常维护及维修所必备的。 1 系统类型 现代的测试系统主要是计算机化系统,它是计算机技术与测量技术深层次结合的产物。随着计算机技术的发展,构成测试系统的可选择性不断加大,按照测试功能要求,可构成多种类型的计算机测试系统。在计算机测试系统分类问题上并没有严格的统

网络体系结构的基本原理

计算机网络由多个互连的结点组成,结点之间要不断地交换数据和控制信息,要做到有条不紊地交换数据,每个结点就必须遵守一整套合理而严谨的结构化管理体系.计算机网络就是按照高度结构化设计方法采用功能分层原理来实现的,即计算机网络体系结构的内容. 网络体系结构及协议的概念 网络体系和网络体系结构 网络体系(Network Architecture):是为了完成计算机间的通信合作,把每台计算机互连的功能划分成有明确定义的层次,并规定了同层次进程通信的协议及相邻之间的接口及服务. 网络体系结构:是指用分层研究方法定义的网络各层的功能,各层协议和接口的集合. 计算机网络体系结构 计算机的网络结构可以从网络体系结构,网络组织和网络配置三个方面来描述,网络组织是从网络的物理结构和网络的实现两方面来描述计算机网络;网络配置是从网络应用方面来描述计算机网络的布局,硬件,软件和和通信线路来描述计算机网络;网络体系结构是从功能让来描述计算机网络结构. 网络体系结构最早是由IBM公司在1974年提出的,名为SNA 计算机网络体系结构:是指计算机网络层次结构模型和各层协议的集合 结构化是指将一个复杂的系统设计问题分解成一个个容易处理的子问题,然后加以解决. 层次结构是指将一个复杂的系统设计问题分成层次分明的一组组容易处理的子问题,各层执行自己所承担的任务. 计算机网络结构采用结构化层次模型,有如下优点: 各层之间相互独立,即不需要知道低层的结构,只要知道是通过层间接口所提供的服务 灵活性好,是指只要接口不变就不会因层的变化(甚至是取消该层)而变化 各层采用最合适的技术实现而不影响其他层 有利于促进标准化,是因为每层的功能和提供的服务都已经有了精确的说明 网络协议 协议(Protocol) 网络中计算机的硬件和软件存在各种差异,为了保证相互通信及双方能够正确地接收信息,必须事先形成一种约定,即网络协议. 协议:是为实现网络中的数据交换而建立的规则标准或约定. 网络协议三要素:语法,语义,交换规则(或称时序/定时关系) 注:通信协议的特点是:层次性,可靠性和有效性. 实体(Entity) 实体:是通信时能发送和接收信息的任何软硬件设施 接口(Interface) 接口:是指网络分层结构中各相邻层之间的通信 开放系统互连参考模型(OSI/RM) OSI/RM参考模型 基本概述 为了实现不同厂家生产的计算机系统之间以及不同网络之间的数据通信,就必须遵循相同的网络体系结构模型,否则异种计算机就无法连接成网络,这种共同遵循的网络体系结构模型就是国际标准——开放系统互连参考模型,即OSI/RM. ISO 发布的最著名的ISO标准是ISO/IEC 7498,又称为X.200建议,将OSI/RM依据网络的整个功能划分成7个层次,以实现开放系统环境中的互连性(interconnection), 互操作性(interoperation)和应用的可移植性(portability). 分层原则 ISO将整个通信功能划分为7个层次,分层原则如下:

软件体系结构作业完整版

第一章: 1.根据自己的经验,谈谈对软件危机的看法。 软件危机是指软件生产方式无法满足迅速增长的计算机需求,开发和维护过程出现的一系列问题。 以下几个原因导致:(1)软件自身特点 (2)开发人员的弱点 (3)用户需求不明 (4)缺乏正确理论指导 (5)开发规模越来越大 (6)开发复杂度越来越高 可以通过软件生命周期的模型和软件工具的使用来缓解危机,通过程序自动化和软件工业化生产的方法实现软件标准化的目标,进一步缓解软件危机带来的影响。 软件危机有利有弊,除了带来许多麻烦,也给我们带来许多挑战,克服危机的过程,我们在技术上和创新上都有了一个提升,也算是间接为软件产业的发展做了贡献。 2.什么是软件重用,软件重用的层次可以分为哪几个级别? 软件重用:是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。可以分为三个层次: (1)代码重用(2)设计结果重用(3)分析结果重用 3.什么是可重用构件?相对于普通的软件产品,对可重用构件有何特殊要求? 可充用构件表示软件重用过程中,可重用的软件构件元素。 可重用构件的特殊要求: (1)可重用构件应该具有功能上的独立性与完整性; (2)可重用构件应该具有较高的通用性; (3)可重用构件应该具有较高的灵活; (4)可重用构件应该具有严格的质量保证; (5)可重用构件应该具有较高的标准化程。 4.基于构件的软件开发的优势是什么?基于构件的软件开发面临哪些挑战和困难? 优势:基于构件的软件将软件开发的重点从程序编写转移到了基于已有构件的组装,更快地构造系统,减轻用来支持和升级大型系统所需要的维护负担,从而降低了软件开发的费用困难和挑战:没有可依据的参考,可用资源和环境缺乏,开发难度高,而各方面需求增长速度与日剧增,更新和升级的跟进是一个不小的挑战.此外,在同一系统采用多个开发商提供的构件,它 们之间的兼容性可能是开发过程中所要面对的一个严峻的问题 挑战和困难: (1)在同一系统采用多个开发商提供的构件,它们之间的兼容性可能是开发过程中所要面对的一个严峻的问题; (2)采用随处可以购买到的构件可能会使开发出来的软件产品丧失技术上的独创性和市场上的竞争力;(3)第三方的构件开发商可能歇业,这会使购买的构件失去维护服务。这些都是在购买第三方构件进行软件开发时无法回避的问题,因此需要对这些风险进行充分的估计。 5.简述3种应用最为广泛的构件技术规范COM、CORBA和EJB的各自特点。CORBA的特点: (1)实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。 (2)应用程序间的统一接口。

计算机体系结构重点总结

1、、Amdahl定律:某部件应用越频繁,当提高该部件性能时,整机性能也提高得越多;整机得性能加速不可能大于在原机器中除该部件外所有其它部件运行时间得百分比得倒数1/(1-F)。 F定义为采用先进高速部件得那部分程序在未采用先进高速部件得计算机上运行得时间占总时间得百分比,则F= 采用高速部件得任务在老计算机上运行得时间 整个任务在老计算机上运行得时间 同时将S定义为先进高速部件与老部件得性能,则 S= 老部件完成该功能得时间 先进高速部件完成该功能得时间 而采用了高速部件后整机性能提高比,即 Speedup = T old = 1 T new (1-F)+F/S 某种硬件增强技术,可使执行速度提高10倍,在采用增强技术得计算机上测出其使用率就是50%。根据Amdahl定律计算: ⑴采用增强技术后计算机性能加速比就是多少? ⑵未采用增强技术运行得部件在不采用增强技术得机器上运行时得时间比例。 2、(1)90/10局部性规则:程序花费90%得执行时间运行指令集中10%得指令代码。这就就是说在指令集中所有得指令只有10%指令就是常用得,而另外90%指令得使用率合起来只有10%。 (2)时间局部性:如果某一参数被引用,那它不久将再次被引用。这里指出了程序执行时在时间上得局部性 (3)空间局部性:如果某一参数被引用,那它附近得参数不久也将被引用。指出程序执行时地址空间上得局部性。 3、计算机得性能就是指在计算机上完成用户得应用任务所需得时间长短。完成同样任务所需得时间越短,计算机得性能越好。(考判断) 4、衡量计算机性能得参数:响应时间就是指计算机系统完成某一任务(程序)所花费得时间。 5、如果用速度来评价性能,我们称“高”为性能好;如果用响应时间来评价性能,我们称“短”为性能好。(考判断) 6、计算机整机性能分成两部分:一就是CPU执行程序得时间,二就是等待时间。 提高计算机性能就就是提高CPU性能与减少等待时间。 cpu性能因子CPI:每条指令得平均时钟周期数(clock cycles per instruction), CPI=CPU花费得时钟数/CPU执行得总指令数 CPUtime =指令数× CPI ×时钟周期==I× CPI ×τ 8、CPU性能因子:(1)时钟频率(f)(2)CPI(3)指令数(I) (考填空) CPU性能 =1/CPU time= f / ( I×CPI ) 计算机性能常用指标:(1)MIPS(million instruction per second)MIPS得意思就是每秒钟执行得百万条指令数。 MIPS= 指令数/ ( 执行时间×106 ) = 时钟频率 / ( CPI×106 ) =f / ( CPI×106 ) MFLOPS(million floating-point operation per second)每秒钟执行得百万个浮点操作数MFLOPS=浮点操作数 / 执行时间×106 10、工作负载基准程序(workload benchmark): (1)实际程序(2)核心基准程序(3)简单基准程序(4)合成基准程序 (考填空) 11、基准程序得一般设计原则: (1)具有代表性,反映用户得实际应用。 (2)不能对基准程序进行优化。 (3)复现性。能重复测试,其环境相同,结果能重复出现。(4)可移植性。系统相关性要小。 (5)紧凑性。基准程序不宜太庞大。 (6)成本-效率要高。 12、测量结果得统计与比较----性能报告:SPEC(system performance evaluation cooperative)基准程序 13、指令设计时主要以下几个方面来考虑: (考填空) ⑴应用范围;⑵指令得使用概率;⑶常用指令分析;⑷特殊指令设计。

(完整版)网络体系结构知识点总结

第二章网络体系结构和协议 1.网络体系结构是层次和协议的集合。 2.网络协议:通信双方在通信中必须遵守的规则。用来描述进程之间信息交换过程的一组 术语。 3.协议三要素:语法、语义和交换规则(时序、定时)。 a)语法:规定数据与控制信息的结构和格式。 b)语义:规定通信双方要发出何种控制信息、完成何种动作以及做出何种应答。 c)交换规则:规定事件实现顺序的详细说明。 4.分层设计 a)为了降低协议设计的复杂性,采用层次化结构。 b)每一层向其上层提供服务。 c)N层是N-1层的用户,是N+1层服务的提供者。 d)第N层和第N层通信,使用第N层协议。 e)实际传输数据的层次是物理层。 f)分层的优点: i.各层之间相互独立,高层不必关心底层的实现细节。 ii.有利于实现和维护,每个层次实现细节的变化不会对其它层次产生影响。 iii.易于实现标准化。 g)分层原则:每层功能明确,层数不宜太多也不能太少。 h)协议是水平的(对等层通信时遵守的规则) i)对等层:通信的不同计算机的相同层次。 j)接口:层与层之间通过接口提供服务。 k)服务:下层为上层提供服务 5.网络中进行通信的每一个节点都具有相同的分层结构,不同节点的相同层次具有相同的 功能,不同节点的相同层次通信使用相同的协议。 6.数据传输的过程 a)数据从发送端的最高层开始,自上而下逐层封装。 b)到达发送端的最底层,经过物理介质到达目的端。 c)目的端将接收到的数据自下而上逐层拆封。 d)由最高层将数据交给目标进程。 7.封装:在数据前面加上特定的协议头部。 8.层次和协议的关系:每层可能有若干个协议,一个协议主要只属于一个层次。 9.协议数据单元(PDU):对等层之间交换的信息报文。 10.网络服务:计算机网络提供的服务可以分为两种:面向连接服务和无连接服务。 11.OSI/RM(开放系统互联参考模型) a)应用层面向用户提供服务,最底层物理层,连接通信媒体实现数据传输。 b)上层通过接口向下层提出服务请求,下层通过接口向上层提供服务。 c)除物理层以外,其他层不直接通信。 d)只有物理层之间才通过传输介质进行真正的数据通信。 12.OSI的特点: a)每层的对应实体之间都通过各自的协议进行通信。 b)各计算机系统都有相同的层次结构。 c)不同系统的相应层次有相同的功能。 d)同一系统的各层之间通过接口联系。

体系结构

Oracle体系结构

一、 概述: Oracle服务器是一种对象关系数据库管理系统,它为信息管理提供开放、综合和集成的方法。Oracle 服务器中有多种进程、内存结构和文件,但当处理SQL 语句时并非都 使用它们。有一些用于改善数据库性能确保数据库能够在软件或硬件错误事 件中得以恢复或者执行维护数据库所需的其它任务。 Oracle 服务器由一个Oracle 例程和一个Oracle 数据库组成 Oracle 例程是后台进程和内存结构的组合,必须启动例程才能访问数据库中的数据,每次启动例程都会分配系统全局区(SGA) 并启动Oracle后台进程 ? SGA 是用于存储数据库信息的内存区该信息为数据库进程所共享

Oracle 数据库是作为一个单元处理的数据集合,数据库的一般用途是存储和检索相关信息。数据库有一个逻辑结构和一个物理结构,数据库的物理结构是数据库中操作系统文件的集合Oracle 数据库由三种文件类型组成: ? 数据文件包含数据库中的实际数据。数据存储在用户定义的表中,但是数据文件也包含数据字典、成图象前的修改数据、索引以及其它类型的结构。一个数据库至少有一个数据文件。数据文件的特点是 –一个数据文件只能与一个数据库相关; –可以为数据文件设置某些特性以便它们在数据库运行空间不足时能够自动扩展; –一个或多个数据文件形成数据库存储的逻辑单元。这个单元称为表空间。? 重做日志包含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件。 ? 控制文件包含维护和验证数据库完整性的必要信息。例如:控制文件用于识别数据文件和重做日志文件。一个数据库至少需要一个控制文件。

第一部分计算机系统组成及说明

第一部分:计算机系统组成及说明 一、计算机系统组成 一个完整的计算机系统通常是由硬件系统和软件系统两大部分组成的。(一)硬件(hardware) 硬件是指计算机的物理设备,包括主机及其外部设备。具体地说,硬件系统由运算器、控制器、存储器、输入设备和输出设备五大部件组成。 ①存储器。存储器是计算机用来存放程序和原始数据及运算的中间结果和最后结果的记忆部件。 ②运算器。运算器对二进制数码进行算术或逻辑运算。 ③控制器。控制器是计算机的“神经中枢”。它指挥计算机各部件按照指令功能的要求自动协调地进行所需的各种操作。 ④输入/输出设备(简称I/O设备)。计算机和外界进行联系业务要通过输入输出设备才能实现。输入设备用来接受用户输入的原始数据和程序,并将它们转换成计算机所能识别的形式(二进制)存放到内存中。输出设备的主要功能是把计算机处理的结果转变为人们能接受的形式,如数字、字母、符号或图形。 (二)软件(software) 软件是指系统中的程序以及开发、使用和维护程序所需要的所有文档的集合。包括计算机本身运行所需的系统软件和用户完成特定任务所需的应用软件(三)硬件和软件的关系

硬件是计算机的基础,软件对硬件起辅助支持作用,二者相辅相成,缺一不可,只有有了软件的支持,硬件才能充分发挥自己的作用。 二、计算机工作原理 (一)冯·诺依曼设计思想 计算机问世50年来,虽然现在的计算机系统从性能指标、运算速度、工作方式、应用领域和价格等方面与当时的计算机有很大的差别,但基本体系结构没有变,都属于冯·诺依曼计算机。 冯·诺依曼设计思想可以简要地概括为以下三点: ①计算机应包括运算器、存储器、控制器、输入和输出设备五大基本部件。 ②计算机内部应采用二进制来表示指令和数据。每条指令一般具有一个操作码和一个地址码。其中,操作码表示运算性质,地址码指出操作数在存储器的位置。 ③将编好的程序和原始数据送入内存储器中,然后启动计算机工作,计算机应在不需操作人员干预的情况下,自动逐条取出指令和执行任务。 冯·诺依曼设计思想最重要之处在于他明确地提出了“程序存储”的概念。他的全部设计思想,实际上是对“程序存储”要领的具体化。

Oracle体系结构概述

Oracle 体系结构概述 完整的Oracle 数据库系统通常由两个部分组成:实例(INSTANCE )和数据库(DATABASE )。数据库是由一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等);实例则是由一组Oracle 后台进程/线程以及在服务器分配的共享内存区。 实例和数据库有时可以互换使用,不过二者的概念完全不同。实例和数据库之间的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。准确地讲,一个实例在其生存期中最多只能装载和打开一个数据库。如果要想再打开其他数据库,必须先丢弃这个实例,并创建一个新的实例。 数据库的主要功能是保存数据,实际上可以将数据库看作是存储数据的容器。数据库的存储结构也就是数据库存储数据的方式,Oracle 数据库的存储结构分为逻辑存储结构和物理存储结构,这两部分是相互独立但又密切相关的。逻辑存储结构主要用于描述在Oracle 内部的组织和管理数据的方式,而物理存储结构则用于描述在Oracle 外部,即操作系统中组织和管理数据的方式。 Oracle 对逻辑存储结构和物理存储结构的管理是分别进行的,两者之间不直接影响。因此Oracle 的逻辑存储结构能够适用于不同的操作系统平台和硬件平台,而不需要考虑物理实现方式。 在启动Oracle 数据库服务器时,实际上是在服务器的内存中创建一个Oracle 实例(即在服务器内存中分配共享内存并创建相关的后台进程),然后由这个实例来访问和控制磁盘中的数据文件。图2-1以最简单的形式展示了Oracle 实例和数据库。Oracle 有一个很大的内存块,称为系统全局区(SGA )。 文件 文件文件文件 文件数据库 SGA 后台进程后台进程后台进程后台进程后台进程后台进程后台进程 实例 图2-1 Oracle 实例和数据库 当用户连接数据库时,实际上是连接到实例中,由实例负责与数据库通信息,然后再将处理结构返回给用户。 Oracle 数据库服务器的后台进程的数量与其工作模式有密切关系。Oracle 服务器处理请求有两种最常见的方式,分别是专用服务器连接和共享服务器连接。在专用服务器连接下,Oracle 数据库会为每个用户请求分配一个专用服务器进程为其提供服务,当用户请求结束后,对应的服务器进程也相应地被终止。如果同时存在大量的用户请求,则需要同等数量的服务器进程提供服务。 而在共享服务器连接下,Oracle 数据库始终保持一定数量的服务器进程,用户的请求首

《计算机系统结构》课程教学大纲

《计算机系统结构》课程教学大纲 一、课程基本信息 课程代码: 课程名称:计算机系统结构 英文名称:Computer Architecture 课程类别: 专业课 学时:72(其中实验18学时) 学分: 3.5 适用对象: 计算机科学与技术、网络工程专业 考核方式:考试(其中平时成绩占30%,期末考试成绩占70%) 先修课程:计算机组成原理、操作系统 二、课程简介 本课程是计算机专业一门重要的专业基础课,对于培养学生的抽象思维能力和自顶向下、系统地分析和解决问题的能力有非常重要的作用。其目标是使学生掌握计算机系统结构的基本概念、基本原理、基本结构、基本设计和分析方法,并对计算机系统结构的发展历史和现状有所了解。通过学习本课程,能把在“计算机组成原理”等课程中所学的软、硬件知识有机地结合起来,从而建立起计算机系统的完整概念。 This course is a computer professional important foundation for the professional class, for training students in abstract thinking, and top-down, System analysis and the ability to solve problems is a very important role. The goal is to enable students to master computer system structure the basic concepts, basic principles and basic structure, basic design and analysis methods and computer system architecture and the history of the development of an understanding of the status quo. Through the study of this course, can in "Principles of Computer Organization", y the school curriculum of the software and hardware knowledge combined organic, Computer systems in order to establish the integrity of the concept. 三、课程性质与教学目的 《计算机系统结构》的教学对象为计算机相关专业的高年级本科生专业技术基础课程,目的是介绍计算机体系结构的概念、技术和最新动态,着重介绍软,硬件功能分配以及如何最佳、最合理地实现软、硬件功能分配。要求了解基本概念、基本原理、基本结构和基本分析方法。使学生对计算机系统结构、组成和实现有一个整体掌握。 四、教学内容及要求 第一单元计算机系统结构的基本概念

计算机体系结构综述

体系结构高性能的追求 计算机体系结构是选择并相互连接硬件组件的一门科学和艺术,在人们不断探索研究的过程中,一直在追求计算机的功能、性能、功率以及花费的高度协调,以期达到各方面的最佳状态,在花费、能量、可用性的抑制下,实现计算机的多功能、高性能、低功率、少花费的一个新时代。 根据当前体系结构的发展现状,要实现以上全部要求的一台计算机,还存在着诸多的限制条件,包括逻辑上的以及硬件上的。本篇综述针对2008年的ISCA会议上的几篇论文,经过仔细研读,深刻剖析,这些文章将现在计算机体系结构发展遇到的各种瓶颈列出,并给出了相关的意见及可行的解决方案。 计算机的体系结构范围很广,定义也很宽泛,它包含了指令集的设计、组织、硬件与软件的边界问题等等,同时涉及了应用程序、技术、并行性、编程语言、接口、编译、操作系统等很多方面。作为各项技术发展的中心,体系结构一直在不断地朝前发展。 纵观计算机体系结构一路发展的历史,从60年代中期以前,最早的体系结构发展的早期时代,计算机系统的硬件发展很快,通用硬件已经很普遍,但是软件的发展却很滞后,刚刚起步,还没有通用软件的概念。从60年代中期到70年代中期,体系结构有了很大进步。多道程序、多用户系统引入了人机交互的新概念,开创了计算机应用的新境界,使硬件和软件的配合上了一个新的层次,但是此时的软件由于个体化特性很难维护,出现了“软件危机”。从20世纪70年代中期开始,分布式系统开始出现并流行,极大地增加了系统的复杂性,出现了微处理器并获得了广泛应用。如今计算机的体系结构发展已经进入了第四代,硬件和软件得到了极大的综合利用,迅速地从集中的主机环境转变成分布的客户机/服务器(或浏览器/服务器)环境,新的技术不断涌现出来。尽管如此,计算机在总体上、功能上需要解决的问题仍然存在。随着RISC技术、Cache等创新技术的发展,不仅仅在专业领域,越来越多的PC机也在向此靠拢。在每一次进步与创新的同时使组件的成本降到最低成为最需要考虑的问题。 此次会议上发表的几篇论文,分别从以下几个方面对计算机体系结构的发展与改进进行了探究。 一、新一代服务器的发展 在《Understanding and Designing New Server Architectures for Emerging Warehouse-Computing Environments》一文中,提出了一个改善服务器性能的方案。这篇论文旨在试图理解和为新兴的“仓库计算”环境设计下一代服务器。文中有两个主要的

软件体系结构分析

三层C/S结构应用实例 ——连锁超市管理系统1.系统背景介绍 1.1任务概述 该连锁超市是具有一定规模的大型私有企业,其通用的管理系统是针对超市的运营特点以及对信息的存储方式而特别设计的,该系统的基本信息如下: ①信息量大,须存储类别众多的货物信息,人事管理信息等。其分布在十几个城市的各个分店的所有信息都需要进行统一管理。 ②单位众多,分布广,系统涵盖的单位达100多个,分布在各个中小型城市。 1.2用户特点 用户类型多,数量大,各类信息管理涉及行政管理(一级)、人事管理(二级)、基础管理(三级)等三级层次,各层次的业务职责不同,各层次的管理者对系统的查询功能和权限也不同。 1.3硬件条件 网络发展的环境各不相同,由于各地区的条件以及操作能力有限,某些中小型地区只有单机,需要陆续加入广域网。 1.4 设计目标 项目要求系统应具备较强的适应能力和演化能力,无论单机还是网络环境均能运行,并能保证数据的一致性,且能随着网络环境的改善和管理水平的提高,平稳的从单机向广域网过渡,从集中式数据库向分布式数据库方式,从独立的应用程序方式向适应Intranet环境演变。 1.5 需求规定

1.5.1 数据管理能力要求 系统的输入由程序设计而提示用户输入功能选择命令,当需要对系统中的数据库进行更新时,必须以完整的格式化的文件化的形式进行输入。以此保证数据库中的数据的一致性和完整性。同时系统支持不同地区的用户通过服务器同时对数据库中的数据进行访问。该系统为一个典型的分布式软件体系结构。 1.5.2 故障处理要求 系统在出现故障时,原始未出现错误的数据,任可以提供给用户访问,当用户要求访问的数据为故障数据时,提示用户系统正处于维护状态。为避免故障的产生对数据的影响,将数据备份在磁盘或者或者硬盘中,通过日志文件,将数据的操作更新至备份数据中。同时,要求系统具有极强的可维护性,和容错与纠错能力。在系统发生故障时,能对故障进行及时的处理。恢复之后的系统,较之于以前,更坚强与牢固。 2.系统分析与设计 三层C/S体系结构运用事务分离的原则将系统应用分为表示层、功能层、数据层三个层次,每一层次都有自己的特点,如表示层是图形化的、事务驱动的,功能层是过程化的,数据层则是结构化和非过程化的,难以用传统的结构化分析与设计技术统一表达这三个层次。面向对象的分析与设计技术则可以将这三个层次统一利用对象的概念进行表达。当前有很多面向对象的分析和设计方法,我们采用Coad和Yourdon的OOA(object-oriented analyzing,面向对象的分析)与OOD(object-oriented design,面向对象的设计)技术进行三层结构的分析与设计。 在该系统的三层结构中,中间的功能层是关键。运用该系统的应用程序的最基本的就是执行数千条定义业务如何运转的业务逻辑。一个业务处理过程就是一组业务处理规则的集合。中间层反应的是应用域模型,是该系统的核心内容。 Coad和Yourdon的OOA用于理解和掌握该系统应用域的业务运行框架,也就是应用域建模。OOA模型描述应用域中的对象,以及对象间

体系结构

某台主频为400MHz 的计算机执行标准测试程序,程序中指令类型、执行数量和平均指令类型 指令执行数量 平均时钟周期数 整数 45000 1 数据传送 75000 2 浮点 8000 4 分支 1500 2 求该计算机的有效CPI 、MIPS 和程序执行时间。 解:(1)CPI =(45000×1+75000×2+8000×4+1500×2) / 129500= (或 259 460 ) (2)MIPS 速率=f/ CPI =400/ = (或 259 5180 MIPS) (3)程序执行时间= (45000×1+75000×2+8000×4+1500×2)/400=575μs 将计算机系统中某一功能的处理速度加快10倍,但该功能的处理时间仅为整个系统运行时间的40%,则采用此增强功能方法后,能使整个系统的性能提高多少? 解 由题可知: 可改进比例 = 40% = 部件加速比 = 10 根据Amdahl 定律可知: ()5625.110 4 .04.011 =+-= 系统加速比 采用此增强功能方法后,能使整个系统的性能提高到原来的倍。 指令 使用频度 指令 使用频度 指令 使用频度 ADD 43% JOM 6% CIL 2% SUB 13% STO 5% CLA 22% JMP 7% SHR 1% STP 1% 种编码的平均码长。 解: 根据给出的九条指令的使用频度和哈弗曼生成算法的结构的不用构造了两种不同的哈夫曼树。

(左边为A ,右边为B ) 各编码如下: 由表可知,三种编码的平均码长为:(公式:L=∑Pi*Li) 哈弗曼编码:位 3/3/3编码:位 2/7编码:位 平均码长:2*43%+2*22%+4*(1-43%-22%)= .某机指令字长16位。设有单地址指令和双地址指令两类。若每个地址字段为6位.且双地址指令有X 条。问单地址指令最多可以有多少条? 解: 双地址指令结构为:(4位操作码)(6位地址码)(6位地址码) 单地址指令结构为:(10位操作码)(6位地址码) 因此,每少一条双地址指令,则多2^6条单地址指令, 双地址指令最多是2^(16-6-6)=2^4=16条 , 指令 Ii Pi 哈弗曼A 哈弗曼B 3/3/3 2/7 ADD I1 0 0 00 00 CLA I2 10 100 01 01 SUB I3 110 101 10 1000 JMP I4 11100 1100 1100 1001 JOM I5 11101 1101 1101 1010 STO I6 11110 1110 1110 1011 CIL I7 111110 11110 111100 1100 SHR I8 1111110 111110 111101 1101 STP I9 1111111 111111 111110 1110

计算机体系结构知识点汇总

第一章计算机体系结构的基本概念 1.计算机系统结构的经典定义 程序员所看到的计算机属性,即概念性结构与功能特性。 2.透明性 在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 3.系列机 由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。 4.常见的计算机系统结构分类法有两种:Flynn分类法、冯氏分类法: Flynn分类法把计算机系统的结构分为4类: 单指令流单数据流(SISD) 单指令流多数据流(SIMD) 多指令流单数据流(MISD) 多指令流多数据流(MIMD) 5. / 改进后程序的总执行时间

系统加速比为改进前与改进后总执行时间之比 6.CPI(Cycles Per Instruction):每条指令执行的平均时钟周期数 CPI = 执行程序所需的时钟周期数/IC 7.存储程序原理的基本点:指令驱动 ! 8.冯·诺依曼结构的主要特点 1.以运算器为中心。 2.在存储器中,指令和数据同等对待。 指令和数据一样可以进行运算,即由指令组成的程序是可以修改的。 3.存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。 4.指令的执行是顺序的 5.指令由操作码和地址码组成。 [ 6.指令和数据均以二进制编码表示,采用二进制运算。 9.软件的可移植性

一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。差别只是执行时间的不同。我们称这两台计算机是软件兼容的。 实现可移植性的常用方法:采用系列机、模拟与仿真、统一高级语言。 软件兼容: 向上(下)兼容:按某档机器编制的程序,不加修改就能运行于比它高 (低)档的机器。 向前(后)兼容:按某个时期投入市场的某种型号机器编制的程序,不加修 改地就能运行于在它之前(后)投入市场的机器。 } 向后兼容是系列机的根本特征。 兼容机:由不同公司厂家生产的具有相同系统结构的计算机。 10.并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。 同时性:两个或两个以上的事件在同一时刻发生。 并发性:两个或两个以上的事件在同一时间间隔内发生。 从处理数据的角度来看,并行性等级从低到高可分为: ] 1.字串位串:每次只对一个字的一位进行处理。 最基本的串行处理方式,不存在并行性。 2.字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。 开始出现并行性。 3.字并位串:同时对许多字的同一位(称为位片)进行处理。 具有较高的并行性。 4.全并行:同时对许多字的全部位或部分位进行处理。 & 最高一级的并行。 从执行程序的角度来看,并行性等级从低到高可分为: 1.指令内部并行:单条指令中各微操作之间的并行。 2.指令级并行:并行执行两条或两条以上的指令。 3.线程级并行:并行执行两个或两个以上的线程。 通常是以一个进程内派生的多个线程为调度单位。 (

相关主题