免费智能真题库 > 历年试卷 > 系统架构设计师 > 2014年下半年 系统架构设计师 下午试卷 案例
  第1题      
  知识点:   网络设备   需求分析   编程语言   监控   交换机   开发人员   路由器   评审   设备管理   实现方式   网络管理   网络设备管理   系统管理   远程管理   指令

 
【说明】
某软件公司欲开发一个网络设备管理系统,对管理区域内的网络设备(如路由器交换机等)进行远程监视和控制。公司的系统分析师首先对系统进行了需求分析,识别出如下3项核心需求:
(a)目前需要管理的网络设备确定为10类20种,未来还将有新类别的网络设备纳入到该设备管理系统中;
(b)不同类别的网络设备,监视和控制的内容差异较大;同一类网络设备,监视和控制的内容相似,但不同厂商的实现方式(包括控制接口格式、编程语言等)差异较大;
(c)网络管理员能够在一个统一的终端之上实现对这些网络设备的可视化呈现和管理操作。
针对上述需求,公司研发部门的架构师对网络设备管理系统的架构进行了分析与设计,架构师王工认为该系统可以采用MVC架构风格实现,即对每种网络设备设计一个监控组件,组件通过调用网络设备厂商内置的编程接口对监控指令进行接收和处理;系统管理员通过管理模块向监控组件发送监控指令,对网络设备进行远程管理;网络状态、监控结果等信息会在控制终端上进行展示。针对不同网络设备的差异,王工认为可以对当前的20种网络设备接口进行调研与梳理,然后通过定义统一操作接口屏蔽设备差异。李工同意王工提出的MVC架构风格和定义统一操作接口的思路,但考虑到未来还会有新类别的网络设备接入,认为还需要采用扩展接口的方式支持系统开发人员扩展或修改现有操作接口。公司组织专家进行架构评审,最终同意了王工的方案和李工的改进意见。
 
问题:1.1   请用300字以内的文字解释什么是MVC架构风格以及其中的组件交互关系,并根据题干描述,指出该系统中的M、V、C分别对应什么。
 
问题:1.2       扩展接口模式结构通常包含四个角色:基础接口、组件、扩展接口和客户端,它们之间的关系如图 1-1 所示。其中每个扩展接口需要通过扩展基础接口获得基本操作能力,然后加入自己特有的操作接口,并通过设置全局唯一接口ID对自身接口进行标识;每个具体的组件需要实现扩展接口完成实际操作;客户端不与组件直接交互,而需要通过与扩展接口交互提出调用请求,扩展接口根据请求查找并选择合适的实现组件响应客户端请求。请根据上图所示和题干描述,指出扩展接口模式结构中的四个角色分别对应网络设备管理系统的哪些部分;并以客户端发起调用操作这一场景为例,填写表 1-1 中的(1)~(5)。

备选答案:基础接口、扩展接口、操作接口、接口ID、客户端、组件。
 
 
 

   知识点讲解    
   · 网络设备    · 需求分析    · 编程语言    · 监控    · 交换机    · 开发人员    · 路由器    · 评审    · 设备管理    · 实现方式    · 网络管理    · 网络设备管理    · 系统管理    · 远程管理    · 指令
 
       网络设备
        常见的网络设备简介如下:
        (1)网卡:网卡也称为网络适配器或网络接口卡(Network Interface Card,NIC),工作于数据链路层。网卡及其驱动程序已基本实现了网络协议中底部两层的功能。它们具体负责主机向媒体收/发信号,实现帧一级协议的有关功能。
        (2)集线器:集线器也称为线集中器(Hub),工作于物理层,它收集多个端口传来的数据帧并广播出去。集线器把结点都集中到总线上并相互连接在一起,也可以在Hub之间相互用双绞线进一步互联接通。例如,可以先把每个小房间里的计算机连接在相应的一个Hub上,再把这些Hub互相连接而构成一个LAN网络。Hub可分为共享式Hub、堆栈式Hub和交换式Hub。共享式Hub和堆栈式Hub整体作为一个网段;而交换式Hub的每一个端口都允许作为一个网段,速度非常快。
        (3)重发器:重发器也称为中继器或转发器,工作在物理层。因为信号在传输媒体的线路上传输一段距离后必然会发生衰减或者畸变,通过重发器放大增强信号并进行转发就可以保证信号可靠传输。采用重发器把两条(或更多条)干线连接起来,可以使这两个干线段成为同一个局域网。重发器连接的两个网段,必须是同一种类型的局域网。
        (4)网桥:网桥也称为桥接器(Bridge),工作在数据链路层,把同类网络互相连接起来。在网桥中可以进行两个网段之间的数据链路层的协议转换。网桥最重要的功能是对数据进行过滤。即在网桥中保存着所连接的每个网段上所有站点的地址。当收到一个帧时,可以只让必要的数据信息通过网桥或只向相应的网段转发。
        (5)交换机:交换机也称为交换器。一台具有基本功能的以太网交换机的工作原理相当于一个具有很多个端口的多端口网桥,即是一种在LAN中互联多个网段,并可进行数据链路层和物理层协议转换的网络互联设备。当一个以太网的信息帧到达交换机的一个端口时,交换机根据在该帧内的目的地址,采用快速技术把该帧迅速地转发到另一个相应的端口(相应的主机或网段)。目前在以太网交换机中最常用的高速切换技术有直通式和存储转发式两类。交换机可以分为二层交换机、三层交换机和多层交换机。二层交换机工作在数据链路层,起到多端口网桥的作用,主要用于局域网互联。三层交换机工作在网络层,利用IP地址进行交换,相当于带路由功能的二层交换机。多层交换机工作在高层(传输层以上),这是带协议转换的交换机。
        (6)路由器:在广域网通信过程中,需要采用一种称为路由的技术,根据地址来寻找到达目的地的路径,路由器就是实现这个过程的网络设备。路由器在属于不同网络段的广域网和局域网间根据地址建立路由,并将数据送到最终目的地。路由器工作于网络层,它根据IP地址转发数据报,处理的是网络层的协议数据单元。路由器通过逻辑地址进行网络间的信息转发,可完成异构网络之间的互联互通,但只能连接使用相同网络层协议的子网。
        按应用范围的不同,路由协议可分为两类:在一个AS(Autonomous System,自治系统)内的路由协议称为内部网关协议(Interior Gateway Protocol,IGP),AS之间的路由协议称为外部网关协议(Exterior Gateway Protocol,EGP)。所谓自治系统,指一个互联网络,就是把整个Internet划分为许多较小的网络单位,这些小的网络有权自主地决定在本系统中应采用何种路由选择协议。常用的内部网关协议有RIP(Routing Information Protocol,路由信息协议)-1、RIP-2、IGRP(Interior Gateway Routing Protocol,内部网关路由协议)、IS-IS和OSPF等。其中RIP-1、RIP-2和IGRP采用的是距离向量算法,IS-IS和OSPF采用的是链路状态算法。另外还有EIGRP(Enhanced IGRP)协议,这是Cisco的私有路由协议,综合了距离矢量和链路状态的优点,它的特点包括快速收敛、减少带宽占用、支持多种网络层协议、无缝连接数据链路层协议和拓扑结构。
        (7)网关:网关也称为网间连接器、信关或联网机,是网络层以上的中继系统。用网关连接两个不兼容的系统要在高层进行协议转换,因此,网关也称为协议转换器。
        (8)调制解调器:应用在广域网上,作为末端系统和通信系统之间信号转换的设备。它分为同步和异步两种,分别连接路由器的同步端口和异步端口,同步用于专线、帧中继和X.25等高速网络连接,异步用于PSTN的低速连接。调制解调器工作于物理层,它的主要作用是信号变换,即把模拟信号变换成数字信号,或者把数字信号变换成模拟信号。
 
       需求分析
        需求分析的方法种类繁多,不过如果按照分解的方式不同,可以很容易地划分出几种大类型:
        (1)结构化分析方法。本节后续内容将详细讨论SA的内容。
        (2)面向对象分析方法。将在9.4节中进行详细介绍。
        (3)面向问题域的分析(Problem Domain Oriented Analysis,PDOA)方法。PDOA更多地强调描述,而少强调建模。它的描述大致分为关注问题域和关注解系统的待求行为这两个方面。问题框架是PDOA的核心元素,是将问题域建模成为一系列相互关联的子域。也可以把问题框架看作是开发上下文图,但不同的是上下文图的建模对象是针对解系统,而问题框架则是针对问题域。也就是说,问题框架的目标就是大量地捕获更多有关问题域的信息。PDOA方法现在还在研究阶段,并未广泛应用。
               业务流程分析
               业务流程分析的目的是了解各个业务流程的过程,明确各个部门之间的业务关系和每个业务处理的意义,为业务流程的合理化改造提供建议,为系统的数据流程变化提供依据。
               业务流程分析的步骤如下:
               (1)通过调查掌握基本情况。
               (2)描述现有业务流程(绘制业务流程图)。
               (3)确认现有业务流程。
               (4)对业务流程进行分析。
               (5)发现问题,提出解决方案。
               (6)提出优化后的业务流程。
               在业务流程图中使用的基本符号如下图所示。
               
               业务流程图符号
               数据流图
               DFD是结构化分析中的重要方法和工具,是表达系统内数据的流动并通过数据流描述系统功能的一种方法。DFD还可被认为是一个系统模型,在信息系统开发中,一般将它作为需求说明书的组成部分。
               DFD从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传递的情况,来说明系统所完成的功能。具体来说,DFD的主要作用如下:
               (1)DFD是理解和表达用户需求的工具,是系统分析的手段。由于DFD简明易懂,理解它不需要任何计算机专业知识,因此通过它同客户交流很方便。
               (2)DFD概括地描述了系统的内部逻辑过程,是系统分析结果的表达工具,因而也是系统设计的重要参考资料,是系统设计的起点。
               (3)DFD作为一个存档的文字材料,是进一步修改和充实开发计划的依据。
               在DFD中,通常会出现4种基本符号,分别是数据流、加工、数据存储和外部实体(数据源及数据终点)。数据流是具有名字和流向的数据,在DFD中用标有名字的箭头表示。加工是对数据流的变换,一般用圆圈表示。数据存储是可访问的存储信息,一般用直线段表示。外部实体是位于被建模的系统之外的信息生产者或消费者,是不能由计算机处理的成分,它们分别表明数据处理过程的数据来源及数据去向,用标有名字的方框表示。下图是一个典型的DFD示例。
               
               办理取款手续的DFD
               为了表达数据处理过程中的数据加工情况,用一个DFD是不够的。稍微复杂的实际问题,在DFD中常常出现十几个甚至几十个加工。这样的DFD看起来很不清楚。层次结构的DFD能很好地解决这一问题。按照系统的层次结构进行逐步分解,并以分层的DFD反映这种结构关系,能清楚地表达整个系统。
               下图给出分层DFD的示例。数据处理S包括三个子系统1、2、3。顶层下面的第一层DFD为DFD/L1,第二层的DFD/L2.1、DFD/L2.2及DFD/L2.3分别是子系统1、2和3的细化。对任何一层数据流图来说,我们称它的上层图为父图,在它下一层的图则称为子图。
               
               分层数据流图
               概括地说,画DFD的基本步骤,就是“自顶向下,逐层分解”。检查和修改的原则如下:
               (1)DFD中的所有图形符号只限于前述4种基本图形元素。
               (2)顶层DFD必须包括前述4种基本元素,缺一不可。
               (3)顶层DFD中的数据流必须封闭在外部实体之间。
               (4)每个加工至少有一个输入数据流和一个输出数据流。
               (5)在DFD中,需按层给加工框编号。编号表明了该加工处在哪一层,以及上下层的父图与子图的对应关系。
               (6)规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。
               (7)可以在DFD中加入物质流,帮助用户理解DFD。
               (8)图上每个元素都必须有名字。
               (9)DFD中不可夹带控制流。
               数据字典
               数据字典是关于数据的信息的集合,也就是对DFD中包含的所有元素的定义的集合。DFD和数据字典共同构成系统的逻辑模型。没有DFD,数据字典难以发挥作用;没有数据字典,DFD就不严格。只有把DFD和对DFD中每个元素的精确定义放在一起,才能共同构成系统的规格说明。
               数据字典的设计包括:数据流设计、数据元素字典设计、数据处理字典设计、数据结构字典设计和数据存储设计。这些设计涵盖了数据的采集和范围的确定等信息。在数据字典的每一个词条中应包含以下信息名称、别名或编号、分类、描述、何处使用。
               对加工的描述是数据字典的组成内容之一,常用的加工描述方法有结构化语言、判定树及判定表。
               (1)结构化语言:介于自然语言和形式语言之间的一种半形式语言,在自然语言基础之上加了一些限度,使用有限的词汇和有限的语句来描述加工逻辑。结构化语言是受结构化程序设计思想启发而扩展出来的。结构化程序设计只允许3种基本结构。结构化语言也只允许3种基本语句,即简单的祈使语句、判断语句和循环语句。与程序设计语言的差别在于结构化语言没有严格的语法规定,与自然语言的不同在于它只有极其有限的词汇和语句。结构化语言使用三类词汇:祈使句中的动词、数据字典中定义的名词及某些逻辑表达式中的保留字。
               (2)判定树:若一个动作的执行不只依赖一个条件,而与多个条件有关,那么这项策略的表达就比较复杂。如果用结构化语言的判断语句,就有多重嵌套,层次一多,可读性就会下降。用判定树来表示,可以更直观一些。
               (3)判定表:一些条件较多、在每个条件下取值也较多的判定问题,可以用判定表表示。判定表能清晰地表达复杂的条件组合与应做动作之间的对应关系,判定表的优点是能够简洁、无二义性地描述所有的处理规则。但判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构,因此判定表不能成为一种通用的设计工具。
 
       编程语言
        尽管高级语言能够完成大部分的嵌入式软件开发工作,但汇编语言仍然不可替代。汇编语言可以直接对硬件进行操作,代码效率高,所以经常应用在系统移植以及直接控制硬件的场合。此外,良好的汇编基础也有助于程序的调试。
        越是高级的语言,其编译和运行的系统开销就越大,应用程序也越大,运行越慢。因此一般来说,编程人员都会首选汇编语言和C语言,然后才会考虑C++语言或Java语言。
 
       监控
        主要包括故障监控和性能、流量、负载等状态监控,这些监控关系到集群的健康运行及潜在问题的及时发现与干预。
        (1)服务故障、状态监控:主要是对服务器自身、上层应用、关联服务数据交互监控;例如针对前端Web Server,就可以有很多种类型的监控,包括应用端口状态监控,便于及时发现服务器或应用本身是否崩溃、通过ICMP包探测服务器健康状态,更上层可能还包括应用各频道业务的监控,这些只是一部分,还有多种监控方式,依应用特点而定。还有一些问题需解决,如集群过大,如何高性能地进行监控也是一个现实问题。
        (2)集群状态类的监控或统计,为合理管理调优集群提供数据参考,包括服务瓶颈、性能问题、异常流量、攻击等问题。
 
       交换机
        交换机是一个具有简化、低价、高性能和高端口密集特点的交换产品,它是按每一个包中的MAC地址相对简单地决策信息转发,而这种转发决策一般不考虑包中隐藏的更深的其他信息。交换机转发数据的延迟很小,操作接近单个局域网性能,远远超过了普通桥接的转发性能。交换技术允许共享型和专用型的局域网段进行带宽调整,以减轻局域网之间信息流通出现的瓶颈问题。
        交换机的工作过程为:当交换机从某一节点收到一个以太网帧后,将立即在其内存中的地址表(端口号一MAC地址)进行查找,以确认该目的MAC的网卡连接在哪一个节点上,然后将该帧转发至该节点。如果在地址表中没有找到该MAC地址,也就是说,该目的MAC地址是首次出现,交换机就将数据包广播到所有节点。拥有该MAC地址的网卡在接收到该广播帧后,将立即做出应答,从而使交换机将其节点的“MAC地址”添加到MAC地址表中。
        交换机的三种交换技术:端口交换、帧交换和信元交换。
        (1)端口交换技术用于将以太模块的端口在背板的多个网段之间进行分配、平衡。
        (2)帧交换技术对网络帧的处理方式分为直通交换和存储转发。其中,直通交换方式可提供线速处理能力,交换机只读出网络帧的前14个字节,便将网络帧传送到相应的端口上;存储转发方式通过对网络帧的读取进行验错和控制。
        (3)信元交换技术采用长度(53个字节)固定的信元交换,由于长度固定,因而便于用硬件实现。
 
       开发人员
        ①多媒体软件:项目负责人、学科教学专家、教学设计专家、软件工程师、多媒体素材制作专家和多媒体课件制作专家。
        ②多媒体电子出版物:策划编导、文字编辑、美术编辑、音乐编辑和多媒体编辑。
 
       路由器
        路由器是计算机网络中重要的一个环节,分为模块化和非模块化两种类型。模块化结构的路由器的扩展性好,支持多种端口类型(如以太网接口、快速以太网接口、高速串行口等),并且各种端口的数量一般是可选的,但价格通常比较昂贵。固定配置的路由器扩展性差,只能用于固定类型和数量的端口,但价格低廉。
        在选择路由器产品时,应多从技术角度来考虑,如可延展性、路由协议互操作性、广域数据服务支持、内部ATM支持、SAN集成能力等。另外,选择路由器还应遵循标准化原则、技术简单性原则、环境适应性原则、可管理性原则和容错冗余性原则等。特别是对于高端路由器,还应该更多地考虑是否和如何适应骨干网对网络高可靠性、接口高扩展性以及路由查找和数据转发的高性能要求。高可靠性、高扩展性和高性能的“三高”特性是高端路由器区别于中、低端路由器的关键所在。从技术性能上考察路由器产品,一般要考察路由器的容量、每秒钟能处理多少数据包、能否被集群等性能问题,还要注意路由器是否能够提供增值服务和其他各种服务。另外,在安装、调试、检修、维护或扩展网络的过程中,免不了要给网络中增减设备,也就是说可能会要插拔网络部件。那么路由器能否支持带电插拔,也是路由器产品应该考察的一个重要性能指标。
        总的来说,路由器的主要性能指标有设备吞吐量、端口吞吐量、全双工线速转发能力、背靠背帧数、路由表能力、背板能力、丢包率、时延、时延抖动、虚拟专用网支持能力、内部时钟精度、队列管理机制、端口硬件队列数、分类业务带宽保证、资源预留、区分服务、CIR、冗余、热插拔组件、路由器冗余协议、基于Web的管理、网管类型、带外网管支持、网管粒度、计费能力、分组语音支持方式、协议支持、语音压缩能力、端口密度、信令支持等。
 
       评审
        对设计部分是否完整地实现了需求中规定的功能、性能等要求,设计方法的可行性,关键的处理及内外部接口定义的正确性、有效性、各部分之间的一致性等都一一进行评审。
 
       设备管理
        现代计算机系统中配置了大量外围设备。一般说,计算机的外围设备分为两大类:一类是存储型设备,如磁带机、磁盘机等。以存储大量信息和快速检索为目标,它在系统中作为主存储器的扩充,所以,又称为辅助存储器;另一类是输入输出型设备,如显示器、卡片机、打印机等。它们把外界信息输入计算机,把运算结果从计算机输出。
        为了方便用户使用各种外围设备,设备管理要达到提供统一界面、方便使用、发挥系统并行性,提高I/O设备使用效率等目标。为此,设备管理通常应具有以下功能:
        (1)外围设备中断处理。
        (2)缓冲区管理。
        (3)外围设备的分配。
        (4)外围设备驱动调度。
               I/O硬件原理
               作为操作系统的设计者,立足点主要是针对如何利用I/O硬件的功能为程序设计提供一个方便用户的实用接口,而并非研究I/O硬件的设计、制造和维护。
                      输入/输出系统
                      通常把I/O设备及其接口线路、控制部件、通道和管理软件称为I/O系统,把计算机的主存和外围设备的介质之间的信息传送操作称为输入输出操作。按照输入输出特性,I/O设备可以划分为输入型外围设备、输出型外围设备和存储型外围设备三类。
                      输入/输出控制方式
                      输入输出控制在计算机处理中具有重要的地位,为了有效地实现物理I/O操作,必须通过硬、软件技术,对CPU和I/O设备的职能进行合理分工,以调解系统性能和硬件成本之间的矛盾。按照I/O控制器功能的强弱以及和CPU之间联系方式的不同,可把I/O设备的控制方式分为四类:询问方式、中断方式、DMA方式、通道方式。
                      询问方式
                      询问方式又称为程序直接控制方式,在这种方式下,输入输出指令或询问指令测试一台设备的忙闲标志位,决定主存储器和外围设备是否交换一个字符或一个字。询问方式的主要缺点在于一旦CPU启动I/O设备,便不断查询I/O的准备情况,终止了原程序的执行。CPU在反复查询过程中,浪费了宝贵的CPU时间;另一方面,I/O准备就绪后,CPU参与数据的传送工作,此时CPU也不能执行原程序,可见CPU和I/O设备串行工作,使主机不能充分发挥效率,外围设备也不能得到合理使用,整个系统的效率很低。
                      中断方式
                      中断机构引入后,外围设备有了反映其状态的能力,仅当操作正常或异常结束时才中断中央处理机。实现了一定程度的并行操作,这叫程序中断方式。
                      DMA方式
                      虽然程序中断方式消除了程序查询方式的忙式测试,提高了CPU资源的利用率,但是在响应中断请求后,必须停止现行程序转入中断处理程序并参与数据传输操作。如果I/O设备能直接与主存交换数据而不占用CPU,那么,CPU资源的利用率还可提高,这就出现了直接存储器存取(Direct Memory Access,DMA)方式。
                      在DMA方式中,主存和I/O设备之间有一条数据通路,在主存和I/O设备之间成块传送数据过程中,不需要CPU干预,实际操作由DMA直接执行完成。
                      目前,在小型、微型机中的快速设备均采用这种方式,DMA方式线路简单,价格低廉,但功能较差,不能满足复杂的I/O要求。因而,在中大型机中使用通道技术。
                      通道方式
                      通道方式是DMA方式的发展,它又进一步减少了CPU对I/O操作的干预,是对多个数据块,而不是仅仅一个数据块,及有关管理和控制的干预。同时,为了获得中央处理器和外围设备之间更高的并行工作能力,也为了让种类繁多,物理特性各异的外围设备能以标准的接口连接到系统中,计算机系统引入了自成独立体系的通道结构。通道的出现是现代计算机系统功能不断完善,性能不断提高的结果,是计算机技术的一个重要进步。
                      通道又称输入输出处理器。它能完成主存储器和外围设备之间的信息传送,与中央处理器并行地执行操作。采用通道技术主要解决了输入输出操作的独立性和各部件工作的并行性。由通道管理和控制输入输出操作,大大减少了外围设备和中央处理器的逻辑联系。从而,把中央处理器从琐碎的输入输出操作中解放出来。
               I/O软件原理
               I/O软件的总体设计目标是:高效率和通用性。高效率是不言而喻的,在改善I/O设备的效率中,最应关注的是磁盘I/O的效率。通用性意味着用统一标准的方法来管理所有设备,为了达到这一目标,通常,把软件组织成一种层次结构,低层软件用来屏蔽硬件的具体细节,高层软件则主要向用户提供一个简洁、规范的界面。
               为了合理、高效地解决以上问题,操作系统通常把I/O软件组织成以下四个层次。
               (1) I/O中断处理程序(底层)。
               (2)设备驱动程序。
               (3)与设备无关的操作系统I/O软件。
               (4)用户层I/O软件。
                      输入/输出中断处理程序
                      中断是应该尽量加以屏蔽的概念,应该放在操作系统的底层进行处理,以便其余部分尽可能少地与之发生联系。
                      当一个进程请求I/O操作时,该进程将被挂起,直到I/O操作结束并发生中断。当中断发生时,中断处理程序执行相应的处理,并解除相应进程的阻塞状态。
                      输入输出中断的类型和功能如下:
                      (1)通知用户程序输入输出操作沿链推进的程度。此类中断有程序进程中断。
                      (2)通知用户程序输入输出操作正常结束。当输入输出控制器或设备发现通道结束、控制结束、设备结束等信号时,就向通道发出一个报告输入输出操作正常结束的中断。
                      (3)通知用户程序发现的输入输出操作异常,包括设备出错、接口出错、I/O程序出错、设备特殊、设备忙等,以及提前中止操作的原因。
                      (4)通知程序外围设备上重要的异步信号。此类中断有注意、设备报到、设备结束等。当输入输出中断被响应后,中断装置交换程序状态字引出输入输出中断处理程序。
                      设备驱动程序
                      设备驱动程序中包括了所有与设备相关的代码。每个设备驱动程序只处理一种设备,或者一类紧密相关的设备。
                      笼统地说,设备驱动程序的功能是从与设备无关的软件中接收抽象的请求并执行。一条典型的请求是读第n块。如果请求到来时驱动程序空闲,则它立即执行该请求。但如果它正在处理另一条请求,则它将该请求挂在一个等待队列中。
                      执行一条I/O请求的第一步,是将它转换为更具体的形式。例如对磁盘驱动程序,它包含:计算出所请求块的物理地址、检查驱动器电机是否在运转、检测磁头臂是否定位在正确的柱面等。简而言之,它必须确定需要哪些控制器命令以及命令的执行次序。
                      一旦决定应向控制器发送什么命令,驱动程序将向控制器的设备寄存器中写入这些命令。某些控制器一次只能处理一条命令,另一些则可以接收一串命令并自动进行处理。
                      与硬件无关的操作系统I/O软件
                      尽管某些I/O软件是设备相关的,但大部分独立于设备。设备无关软件和设备驱动程序之间的精确界限在各个系统都不尽相同。对于一些以设备无关方式完成的功能,在实际中由于考虑到执行效率等因素,也可以考虑由驱动程序完成。
                      下面罗列了一般由设备无关软件完成的功能:
                      (1)对设备驱动程序的统一接口。
                      (2)设备命名。
                      (3)设备保护。
                      (4)提供独立于设备的块大小。
                      (5)缓冲区管理。
                      (6)块设备的存储分配。
                      (7)独占性外围设备的分配和释放。
                      (8)错误报告。
                      设备无关软件的基本功能就是执行适用于所有设备的常用I/O功能,并向用户层软件提供一个一致的接口。
                      用户空间的I/O软件
                      尽管大部分I/O软件属于操作系统,但是有一小部分是与用户程序链接在一起的库例程,甚至是在核心外运行的完整的程序。系统调用,包括I/O系统调用通常先是库例程调用。如下C语言程序语句:
                      
                      中,所调用的库函数write将与程序链接在一起,并包含在运行时的二进制程序代码中。这一类库例程显然也是I/O系统的一部分。
                      此类库例程的主要工作是提供参数给相应的系统调用并调用之。但也有一些库例程,它们确实做非常实际的工作,例如格式化输入输出就是用库例程实现的。C语言中的一个例子是printf函数,它的输入为一个格式字符串,其中可能带有一些变量,它随后调用write,输出格式化后的一个ASCII码串。与此类似的scanf,它采用与printf相同的语法规则来读取输入。标准I/O库包含相当多的涉及I/O的库例程,它们作为用户程序的一部分运行。
               Spooling系统
               外围设备联机操作(Simultaneous Peripheral Operations On Line, Spooling),简称为Spooling系统或假脱机系统。所谓Spooling技术实际上是用一类物理设备模拟另一类物理设备的技术,是使独占使用的设备变成多台虚拟设备的一种技术,也是一种速度匹配技术。
               如下图所示为Spooling系统的组成和结构。为了实现联机同时外围操作功能,必须具有能将信息从输入设备输入到辅助存储器缓冲区域的“预输入程序”;能将信息从辅助存储器输出缓冲区域输出到输出设备的“缓输出程序”以及控制作业和辅助存储器缓冲区域之间交换信息的“井管理程序”。
               
               Spooling系统的组成和结构
               为了存放从输入设备输入的信息以及作业执行的结果,系统在辅助存储器上开辟了输入井和输出井。“井”是用作缓冲的存储区域,采用井的技术能调节供求之间的矛盾,消除人工干预带来的损失。
               预输入程序的主要任务是控制信息从输入设备输入到输入井存放,并填写好输入表以便在作业执行中要求输入信息量,可以随时找到它们的存放位置。
               系统拥有一张作业表用来登记进入系统的所有作业的作业名、状态、预输入表位置等信息。每个用户作业拥有一张预输入表用来登记该作业的各个文件的情况,包括设备类、信息长度及存放位置等。
               输入井中的作业有4种状态:
               (1)输入状态:作业的信息正从输入设备上预输入。
               (2)收容状态:作业预输入结束但未被选中执行。
               (3)执行状态:作业已被选中,它可从输入井读取信息可向输出井写信息。
               (4)完成状态:作业已经撤离,该作业的执行结果等待缓输出。
               作业表指示了哪些作业正在预输入,哪些作业已经预输入完成,哪些作业正在执行等。作业调度程序根据预定的调度算法选择收容状态的作业执行,作业表是作业调度程序进行作业调度的依据,是Spooling系统和作业调度程序共享的数据结构。
               磁盘调度
               磁盘是可供多个进程共享的设备。当多个进程都请求访问磁盘时,为了保证信息的安全,系统每一时刻只允许一个进程启动磁盘进行I/O操作,其余的进程只能等待。因此,操作系统应采用一种适当的调度算法,使各进程对磁盘的平均访问(主要是寻道)时间最小。磁盘调度分为移臂调度和旋转调度两类,首先是进行移臂调度,然后再进行旋转调度。由于访问磁盘最耗时的是寻道时间,因此磁盘调度的目标应使磁盘的平均寻道时间最少。
                      移臂调度
                      移臂调度有若干策略,“电梯调度”算法是简单而实用的一种算法。按照这种策略每次总是选择沿臂的移动方向最近的那个柱面;如果沿这个方向没有访问的请求时,就改变臂的移动方向,使用移动频率极小化。每当要求访问磁盘时,操作系统查看磁盘机是否空闲。如果空闲就立即移臂,然后将当前移动方向和本次停留的位置都登记下来。如果不空,就让请求者等待并把它要求访问的位置登记下来,按照既定的调度算法对全体等待者进行寻查定序,下次按照优化的次序执行。如果有多个盘驱动器的请求同时到达时,系统还必须有优先启动哪一个盘组的I/O请求决策。
                      旋转调度算法
                      当移臂定位后,有多个进程等待访问该柱面时,应如何决定这些进程的访问顺序?这就是旋转调度所要考虑的问题,显然系统应该选择延迟时间最短的进程对磁盘的扇区进行访问。当有若干等待进程请求访问磁盘上的信息时,旋转调度应考虑如下情况:
                      (1)进程请求访问的是同一磁道上的不同编号的扇区。
                      (2)进程请求访问的是不同磁道上的不同编号的扇区。
                      (3)进程请求访问的是不同磁道上具有相同编号的扇区。
                      对于(1)和(2)的情况,旋转调度总是让首先到达读写磁头位置下的扇区先进行传送操作;对于(3)的情况,旋转调度可以任选一个读写磁头位置下的扇区进行传送操作。
 
       实现方式
        IPSec可以在端系统或者安全网关中实现,也可以在现有的IP实现中集成IPSec,这种方法需要能够修改现有IP实现的源码;BITS(Bump In The Stack)实现方式是在已有的IP协议栈中实现IPSec,使之存在于IP协议和网络驱动器之间;BITW(Bump In The Wire)实现方式是在外部的加密机中实现IPSec,从而在两个路由器或两个主机之间形成安全隧道。
        IPSec的一个重要实现方式是基于VPN(Visual Private Network)的加密机制,由IPSec构成的加密IP隧道,提供了不同介质和地域网间的安全透明连接。
 
       网络管理
        网络管理主要包含4个方面的工作:
        1.网络设备的管理
        网络系统由特定类型的传输介质和网络适配器(也称网卡)互连在一起,并由网络操作系统监控和管理。网络管理员对网络设备的管理主要是对路由器、交换机及线路的管理。
        2.服务器的管理
        一般来说,在一个网络中需要建立多个服务器方能提供不同的服务需求。一般网络需要的服务器主要有下面几种:Web服务器、E-mail服务器、FTP服务器、DNS服务器、Proxy(代理服务)服务器和数据库服务器等。
        3.资源的管理
        网络中的资源很多,如IP地址资源、域名资源和磁盘资源等,只有管理好这些资源才能够让网络为用户提供更好的服务。
        4.用户的管理
        对用户的管理包括添加或删除用户,授予用户一定的访问权限,分配不限级别的资源给不同的用户,并保证网络的安全。
        OSI网络管理标准中定义了网络管理的5大功能,另外比较流行的还有桌面管理:
        .配置管理:自动发现网络拓扑结构,构造和维护网络系统的配置。
        .故障管理:过滤、归并网络事件,有效地发现、定位网络故障,给出排错建议与排错工具,形成整套的故障发现、告警与处理机制。
        .性能管理:采集、分析网络对象的性能数据,监测网络对象的性能,对网络线路质量进行分析。
        .安全管理:结合使用用户认证、访问控制、数据传输、存储的保密与完整性机制,以保障网络管理系统本身的安全。
        .计费管理:对网际互联设备按IP地址的双向流量统计,产生多种信息统计报告及流量对比,并提供网络计费工具,以便用户根据自定义的要求实施网络计费。
        .桌面管理:包括桌面资产统计;根据桌面安全漏洞下载最新补丁包,进行补丁分发、安装;可自动分发、安装商用程序;可自动对客户端进行操作系统部署,客户端无须手工安装;服务器监控软件的使用频率,统计软件资产利用率;对客户端的故障问题进行远程故障排除;可定制报表开发。
 
       网络设备管理
        系统主要通过SNMP(V1、V2/V2C、V3)、ICMP、NetBIOS、ARP、Traceroute、RemotePing、CDP、NDP、LLDP等协议来实现对网络、安全设备和链路的自动发现和监控,能够实现对网络、安全设备的基本状态信息、实时运行性能进行监控和数据采集。具有网络拓扑自动发现、网络设备添加与监控、VLAN管理、动态视图管理、网络路径检测等功能。
        提供跨厂商、跨类型的设备管理机制,包括路由器、交换机、防火墙、负载均衡等网络设备。
        从各类可管理设备中收集安全事件、警告,差错和日志并将各类含义相同的信息统一标准入库,可以直接发送到其他功能模块中。下图展示了第三方告警事件的介入。
        
        第三方告警事件的接入
        
        设备连接情况
        能够自动识别和展示各网络设备背板图,反映设备类型、端口使用状况和下联节点信息。如上图所示。端口使用情况如下图所示。
        
        端口信息
        支持SNMP/TELNET等方式获取网络设备配置信息,支持网络设备的配置文件的手动和自动上传恢复。
        支持设备配置管理备份策略,可自定义每月、每周、每天等时间进行设备的自动及人工备份,并支持备份文件的查询、删除和对比,如下图所示。
        
        配置备份管理
        能够生成监控统计报告,提供每小时、每天、每月以及自定义时间段内的设备性能趋势图,如下图所示。
        
        配置备份管理告警统计报表
 
       系统管理
        系统管理过程规定安全性和系统管理如何协同工作,以保护机构的系统。系统管理的过程是:软件升级;薄弱点扫描;策略检查;日志检查;定期监视。
        要及时安装操作系统和服务器软件的最新版本和修补程序。因为不断会有一些系统的漏洞被发现,通常软件厂商会发布新的版本或补丁程序以修补安全漏洞,保持使用的版本是最新的可以使安全的威胁最小。要进行必要的安全配置,应在系统配置中关闭存在安全隐患的、不需要的服务,比如:FTP、Telnet、finger、login、shell、BOOTP、TFTP等,这些协议都存在安全隐患,所以要尽量做到只开放必须使用的服务,关闭不经常用的协议及协议端口号。要加强登录过程的身份认证,设置复杂的、不易猜测的登录密码,严密保护账号密码并经常变更,防止非法用户轻易猜出密码,确保用户使用的合法性,限制未授权的用户对主机的访问。严格限制系统中关键文件的使用许可权限,加强用户登录身份认证,严格控制登录访问者的操作权限,将其完成的操作限制在最小的范围内。充分利用系统本身的日志功能,对用户的所有访问做记录,定期检查系统安全日志和系统状态,以便及早发现系统中可能出现的非法入侵行为,为管理员的安全决策提供依据,为事后审查提供依据。还要利用相应的扫描软件对操作系统进行安全性扫描评估、检测其存在的安全漏洞,分析系统的安全性,提出补救措施。
 
       远程管理
        1)Windows Server 2008 R2远程桌面服务
        终端服务提供通过作为终端仿真器工作的"瘦客户"软件远程访问服务器桌面的能力。终端服务基本由3部分技术组成:客户端部分、协议部分及服务器部分。在客户端安装名为"远程桌面"的程序后,就可以看到服务器完全一致的计算机桌面,并能执行一样的操作。犹如将服务器搬到自己眼前一样。客户端和服务器通过远程桌面协议进行通信。
        在Windows Server 2008 R2中,终端服务也没有被默认安装,需要用户手动添加。具体操作步骤为:依次执行"开始"→"管理工具"→"配置您的服务器向导"命令,在打开的"配置您的服务器向导"对话框中,单击"下一步"按钮;按照"预备步骤"窗口中的说明操作,单击"下一步"按钮;在"服务器角色"对话框中,选择"终端服务器"选项,单击"下一步"按钮;按照向导中的说明操作来完成安装。
        默认情况下只有系统管理员组用户(Administrators)和系统组用户(System)拥有访问和完全控制终端服务器的权限,另外远程桌面用户组(Remote Desktop Users)的成员只拥有访问权限而不具备完全控制权。而在很多时候,默认的权限设置往往并不能完全满足实际需求,因此还需要赋予某些特殊用户远程连接的权限。具体操作为:依次执行"开始"→"管理工具"→"终端服务配置"命令,在打开的"终端服务配置"对话框中,双击右侧窗格中的"RDP-Tcp"连接。打开"RDP-Tcp属性"对话框,切换到"权限"选项卡,如下图所示。"权限"选项卡中可以设置有哪些用户和组可以从客户端登录该终端服务器。
        
        "权限"选项卡
        2)Windows Server 2008 R2远程管理
        远程管理的使用与活动目录和组策略的使用一样重要,是衡量Windows Server 2008 R2网络管理员、系统管理员水平的重要指标。
        在Windows Server 2008 R2家族操作系统中,进行远程管理的方法是多种多样的,主要包括MMC(微软管理控制台)法、远程桌面连接法、管理远程桌面(终端服务)法、管理工具方法、远程协助法、Telnet法、远程管理Web法和远程存储法。
        3)Microsoft管理控制台(MMC)
        Microsoft管理控制台集成了用来管理网络、计算机、服务及其他系统组件的管理工具。但MMC不执行管理功能,可以使用MMC创建、保存并打开管理工具单元,这些管理工具用来管理软件、硬件和Windows系统的网络组件。
        使用MMC有以下两种方法。
        (1)在用户模式中使用已有的MMC控制台管理系统。
        (2)创建新控制台或修改已有的MMC控制台。
        4)远程桌面连接
        (1)配置远程桌面连接。
        要想成功连接到终端服务器,必须保证服务器允许进行"远程桌面"连接。右击"我的电脑",在弹出的快捷菜单中选择"属性"命令,打开"远程"选项卡,选中"允许用户远程连接到您的计算机"复选框。
        (2)使用桌面连接。
        用户要想远程连接到终端服务器,首先需要安装客户端。安装完客户端后执行以下操作就可以连接到终端服务器。
        依次执行"开始"→"所有程序"→"附件"→"远程桌面连接"命令,在打开的"远程桌面连接"对话框中,单击"选项"按钮,切换到登录设置对话框,如下图所示。输入终端服务器的IP地址、用户名、密码,并单击"连接"按钮。出现Windows登录对话框后输入已授权的用户名的密码即可完成连接。
        
        运行远程访问服务
 
       指令
        指令是指挥计算机完成各种操作的基本命令。
        (1)指令格式。计算机的指令由操作码字段和操作数字段两部分组成。
        (2)指令长度。指令长度有固定长度的和可变长度的两种。有些RISC的指令是固定长度的,但目前多数计算机系统的指令是可变长度的。指令长度通常取8的倍数。
        (3)指令种类。指令有数据传送指令、算术运算指令、位运算指令、程序流程控制指令、串操作指令、处理器控制指令等类型。
   题号导航      2014年下半年 系统架构设计师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
 
第1题    在手机中做本题