系统架构设计师 2:计算机基础

一、计算机硬件

1 处理器(CPU)

处理器是计算机系统运算和控制的核心部件。

1.1 指令集

处理器的指令集按照其复杂程度可分为复杂指令集(CISC)与精简指令集(RISC)。

随着研究的深入,RISC已经成为计算机指令集发展的趋势。

2 存储器

存储器是利用半导体、磁、光等介质制成用于存储数据的电子设备。

按照与处理器的物理距离可将存储器分为片上缓存、片外缓存、主存、外存。

3 总线

总线是指计算机部件间遵循某一特定协议实现数据交换的形式。

3.1 桥

总线之间通过桥实现连接,它是一种特殊的外设,主要实现总线协议间的转换。

4 接口

接口是指同一计算机不同功能层之间的通信规则。

如USB接口。

5 外部设备

外部设备包括所有的输入输出设备以及部分存储设备(外存)。

常见的外部设备包括键盘、鼠标、显示器等。

二、计算机软件

1 操作系统

操作系统是配置在计算机硬件上的第一层软件,它向下管理裸机及其中的文件,向上为其他的系统软件(汇编程序、编译程序、数据库管理系统等)和大量应用软件提供支持,以及为用户提供方便使用系统的接口。

通常,操作系统可以分为:

1. 批处理操作系统。

2. 分时操作系统。

    将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。

3. 实时操作系统。

    对于外来信息以足够快的速度进行处理。

4. 网络操作系统。

5. 分布式操作系统。

    由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、次之分,任意两台计算机可以通过通信交换信息。

6. 微型计算机操作系统。

    如Windows、Mac OS、Linux。

7. 嵌入式操作系统。

    运行在嵌入式智能设备环境中,对整个智能硬件以及它所操作、控制的各种部件装置等资源进行统一协调、处理、指挥和控制。

2 数据库

数据库是指长期存储在计算机内、有组织的、统一管理的相关数据的集合。

根据数据库存储体系分类,数据库有如下类型:

1. 关系型数据库。

2. 键值数据库。

3. 列存储数据库。

4. 文档数据库。

5. 搜索引擎数据库。

3 文件系统

文件是一种抽象机制,它隐藏了硬件和实现细节,提供了将信息保存在外存上而且便于以后读取的手段。

文件系统是操作系统实现文件统一管理的一组软件和相关数据的集合,是专门负责管理和存取文件信息的软件机构。

4 网络协议

所谓协议,指的是网络中的计算机与计算机进行通信时,为了能够实现数据的正常发送与接收必须要遵循的一些事先约定好的规则(标准或约定),在这些规程中明确规定了通信时的数据格式、数据传送时序以及相应的控制信息和应答信号等内容。

常用的网络协议包括局域网协议(LAN)、广域网协议(WAN)、无线网协议和移动网协议。互联网使用的是TCP/IP协议簇。

5 中间件

中间件是应用软件与各种操作系统之间使用的标准化编程接口和协议,使应用软件的开发相对独立于计算机硬件和操作系统,并能在不同的系统上运行。

中间件处在操作系统、网络和数据库之上,应用软件的下层。

6 软件构件

构件是一个自包容、可复用的程序集,对外提供统一的访问接口。

随着软件构件技术的发展,人们开始尝试利用软件构件进行搭积木式的开发,即构件组装模型。构件组装模型的一般开发过程为:

    设计构件组装 => 建立构件库 => 构建应用软件 => 测试与发布

7 应用软件

包括WPS、Photoshop、QQ、百度、英雄联盟、大学教务管理系统等等。

三、嵌入式系统

嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁剪的软、硬件集成于一体的专用计算机系统。

从现代嵌入式系统观看,人们把嵌入式系统分为:

1. 硬件层。

    为嵌入式系统提供运行支撑的硬件环境,其核心是微处理器、存储器、I/O接口和通用设备以及总线、电源、时钟等。

2. 抽象层。

    在硬件层和软件层之间为抽象层,主要实现对硬件层的硬件进行抽象,为上层应用(操作系统)提供虚拟的硬件资源。

3. 操作系统层。

    主要由嵌入式操作系统、文件系统、图形用户接口、网络系统和通用组件等可配置模块组成,主要负责任务管理、内部存储器管理、任务间通信管理和时钟/中断管理等。

4. 中间件层。

    一种独立的系统软件或服务程序,分布式应用系统借助这种软件可在不同的技术之间共享资源。

5. 应用层。

    嵌入式系统的具体应用,主要包括不同的应用软件。

四、计算机网络

计算机网络技术主要涵盖通信技术、网络技术、组网技术和网络工程四个方面。

1 通信技术

计算机网络利用通信技术将数据从一个结点传送到另一结点。通信技术是计算机网络的基础。

这里所说的数据,指的是模拟信号和数字信号,它们通过信道来传输。

1.1 信道

信息传输就是信源和信宿通过信道收发信息的过程。信源发出信息,发信机负责将信息转换(编码和调制)成适合在信道上传输的信号,收信机将信号转化(解调和译码)成信息发送给信宿。

不是所有频率的信号都可以通过信道传输,可以通过的频率范围大小是信道的带宽。

香农公式:

C代表信道容量,单位是b/s

B代表信号带宽,单位是Hz

S代表信号平均功率,单位是W

N代表噪声平均功率,单位是W

S/N代表信噪比,单位是dB(分贝)

1.2 信号变换

发信机进行的信号处理包括:

1. 信源编码。

    将模拟信号进行模数转换,再进行压缩编码(去除冗余信息),最后形成数字信号。

2. 信道编码。

    增加冗余信息,以便接收端进行检错和纠错,解决信道、噪声和干扰导致的误码问题。

    一般只能纠正零星的错误,对于连续的误码无能为力。

3. 交织。

    将信道编码之后的数据顺序按照一定规律打乱,到了接收端在信道译码之前再通过交织将数据顺序复原。这样连续的误码就变成了零星误码,信道译码就可以正确纠错了。

4. 脉冲成型。

    为了减小带宽需求,将发送数据转换成合适的波形。

5. 调制。

    将信息承载到满足信号要求的高频载波信号中。

1.3 复用技术和多址技术

1. 复用技术。

    在一条信道上同时传输多路数据的技术。

2. 多址技术。

    在一条线上同时传输多个用户数据的技术,在接收端把多个用户的数据分离。

    多路复用技术是多址技术的基础。

2 网络技术

2.1 局域网(LAN)

局域网是指在有限地理范围内将若干计算机通过传输介质互联成的计算机组(即通信网络)。

常见的局域网拓扑结构有星状结构、树状结构、总线结构和环形结构。

以太网是当前应用最普遍的局域网技术。

2.2 无线局域网(WLAN)

无线局域网利用无线技术在空中传输数据。

WLAN通常使用的拓扑结构主要有点对点型、HUB型(中心结点型)、全分布型(理论阶段)。

2.3 广域网(WAN)

广域网是一种将分布于更广区域(一个城市、一个国家、国家之间)的计算机设备联接起来的网络。它通常是电信部门负责组建、经营和管理。

2.4 城域网(MAN)

城域网是在单个城市范围内所建立的计算机通信网。

2.5 移动通信网

1G采用模拟信号传输。

2G采用数字数据传输。

3G延用数字数据传输,并开辟新电磁波频谱及研发新标准。

4G采用更先进的通信协议和技术。

5G不再由某项业务能力或者某个典型技术特征加以定义。5G网络的基本特征是高速率(峰值速率可大于20Gb/s)、低时延(1ms)、海量设备连接(1000亿量级)、低功耗。

3 组网技术

3.1 网络设备

网络设备是连接到网络中的物理实体。基本的网络设备有:

1. 集线器。

2. 中继器。

3. 网桥。

4. 交换机。

    工作于数据链路层。为接入交换机的任意两个网络结点提供独享的转发通路,将从一个端口接收的数据通过内部处理转发到指定端口。

5. 路由器。

    工作于网络层。在多个网络上交换和路由数据包,通过在相互独立网络中交换路由信息以生成路由表来达到数据包的路径选择。

6. 防火墙。

    通常作为网络的门户,为网络的安全运行提供保障。

3.2 网络协议

1. 开放系统互连模型(OSI/RM)。

    由低层至高层分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

    OSI协议集略。

2. TCP/IP模型。

    自顶向下分为网络接口层、网际层、传输层、应用层。

    TCP/IP协议族主要包括因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、虚拟终端协议(TELNET)、文件传输协议(FTP)、电子邮件传输协议(SMTP)、网上新闻传输协议(NNTP)、超文本传送协议(HTTP)。

3.3 交换技术

交换机是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。

交换机可以“学习”MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。

如果数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发,这一行为称为数据泛洪。

交换机功能还包括:

1. 集线功能。

    提供大量可供线缆连接的端口达到部署星状拓扑网络的目的。

2. 中继功能。

    在转发帧时重新产生不失真的电信号。

3. 桥接功能。

    在内置的端口上使用相同的转发和过滤逻辑。

4. 隔离冲突域功能。

    将部署好的局域网分为多个冲突域,而每个冲突域都有自己独立的带宽,以提高交换机整体带宽利用效率。

3.4 路由技术

路由器工作在网络层,其主要任务是接收来源于一个网络接口的数据包,通常根据此数据包的目的地址决定待转发的下一个地址。

路由器中维持着数据转发所需的路由表,所有数据包的发送或转发都通过查找路由表来实现。这个路由表可以静态配置,也可以通过动态路由协议自动生成。

4 网络工程

网络建设工程可分为网络规划、网络设计和网络实施三个环节。

1. 网络规划。

    包括网络需求分析、可行性分析、对现有网络的分析等。

2. 网络设计。

    在网络规划基础上设计一个能解决用户问题的方案。

    包括网络总体目标确定、总体设计原则确定、通信子网设计、设备选型、网络安全设计等。

3. 网络实施。

    依据网络设计结果进行设备采购、安装、调试和系统切换等。

    具体包括工程实施计划、网络设备验收、设备安装和调试、系统试运行和切换、用户培训等。

五、计算机语言

1 机器语言

机器语言指令是一种二进制代码,由操作码和操作数两部分组成。

2 汇编语言

汇编语言是机器语言的符号化描述,降低了编程的难度。

3 高级语言

高级语言比汇编语言更贴近于人类使用的语言。

高级语言和计算机的架构、指令集无关,因此具有良好的可移植性。

常见的高级语言包括C、C++、Java、Python等。

4 建模语言

在目前的软件开发方法中,面向对象的方法占据着主导地位,应用最广泛的面向对象建模语言是UML。

4.1 UML组成要素

UML由三个要素构成:UML的基本构造块(事物、关系)、图(支配基本构造块如何放置在一起的规则)、运用于整个语言的公共机制。

1. 事物。

    结构事物:类、接口、协作、用例、主动类、构件、制品、结点。

    行为事物:交互、状态机、活动。

    分组事物:包。

    注释事物:注解。

2. 关系。

    依赖、关联、泛化、实现。

3. 图。

    类图、对象图、用例图、序列图、通信图、状态图、活动图、构件图、部署图、组合结构图、包图、交互概览图、计时图。

4.2 UML视图

对于同一个系统,不同人员所关心的内容并不一样。因此一个系统应从不同的角度进行描述。从一个角度观察到的系统称为一个视图。

按照图本身具有的特点,可以把图形分为:

1. 用例视图。

    描述系统的功能需求,方便找出用例和执行者;它展示了一个外部用户能够观察到的系统功能模型。

    主要包括用例图。

    主要面向客户、分析者、设计者、开发者、测试者。

2. 逻辑视图。

    描述如何实现系统内部的功能;系统的静态结构和因发送消息而出现的动态协作关系。

    包括类图、对象图、状态图、顺序图、合作图、活动图。

3. 进程视图。

    描述系统的并发性,并处理这些线程间的通信和同步;它将系统分割成并发执行的控制线程及处理这些线程的通信和同步。

    主要包括状态图、顺序图、合作图、活动图、构件图、配置图。

    主要面向开发者、系统集成者。

4. 实现视图。

    描述系统代码构件组织和实现模块及它们之间的依赖关系。

    主要包括构件图。

    主要面向设计者、开发者、测试者。

5. 部署视图。

    定义系统中软硬件的物理体系结构及连接、哪个程序或对象驻留在哪台计算机上执行。

    主要包括配置图。

    主要面向开发者、系统集成者、测试者。

5 形式化语言

形式化方法就是用符号化的数字变换把需求分析准确地表述出来。这样可以确保和需求的一致性,并能用于分析和验证应用程序。

常用的形式化语言是Z语言。

不太理解。

六、多媒体

媒体是承载信息的载体,即信息的表现形式(或者传播形式),如文字、声音、图像、动画、视频等。

多媒体就是利用计算机技术把文字、图形、图像、声音、动画、视频等多种媒体综合起来,使多种信息建立逻辑连接,并能对它们进行获取、压缩、加工处理和存储,集成为一个具有交互性的系统。

多媒体系统的核心技术有:

1. 视音频技术。

2. 通信技术。

3. 数据压缩技术。

4. 虚拟现实(VR)/增强现实(AR)技术。

七、系统工程

1 系统工程的生命周期

系统工程流程的七个一般生命周期阶段:

1. 探索性研究阶段。

    识别利益攸关者的需求,探索创意和技术。

    研究诸多新的创意或使能技术和能力,然后使其发展到一个新项目的启动阶段。

2. 概念阶段。

    细化利益攸关者的需求,探索可行概念,提出有望实现的解决方案。

    需要对利益攸关者的需求进行识别、明确并文档化。

3. 开发阶段。

    细化系统需求,创建解决方案的描述,构建系统,验证并确认系统。

4. 生产阶段。

    生产系统并进行检验和验证。

    解决生产问题,降低生产成本,或提高产品或系统的能力。

5. 使用阶段。

    运行系统以满足用户需求。

    通常在系统运行期间有计划地引入产品更改。

6. 保障阶段。

    提供持续的系统能力。

    可建议进行更改以解决保障性问题,降低运行成本或延长系统寿命。

7. 退役阶段。

    存储、归档或退出系统。

    确保退出需求被满足。

2 生命周期方法

2.1 计划驱动方法

需求、设计、构建、测试、部署。

整个过程始终遵循规定流程,特别关注文档的完整性、需求的可追溯性以及每种表示的事后验证。

2.2 渐进迭代式开发(IID)

允许为项目提供一个初始能力,随之提供连续交付以达到期望的系统。目标在于快速产生价值并提供快速响应能力。

当需求不清晰不确定或者客户希望在系统中引入新技术时,则使用IID方法。基于一系列最初的假设,开发候选的系统,然后对其进行评估以确定是否满足用户需求。若不满足,则启动另一轮演进,并重复该流程,直到交付的系统满足利益攸关者的要求或直到组织决定终止这项工作。

一般而言,IID方法适用于较小的,不太复杂的系统。

2.3 精益开发

精益思想是一种整体性的范式,聚焦于向客户交付最大价值并使浪费活动最小化。

精益系统工程是将精益原则、实践和工具应用到系统工程,以提升对系统利益攸关者的价值交付。

2.4 敏捷开发

敏捷联盟致力于开发迭代和敏捷的方法,寻求更快、更好的软件和系统开发方法,挑战更多的传统模型。

敏捷的关键目标在于灵活性,当风险可接受时允许从序列中排除选定的事件。

适用于系统工程的敏捷原则如下:

1. 最高的优先级是通过尽早地和持续地交付有价值的软件来满足用户。

2. 欢迎需求变更,即使是在项目开发后期。敏捷流程利用需求变更帮助客户获得竞争优势。

3. 不断交付可用的软件,周期从几周到几个月不等,且越短越好。

4. 在项目中业务人员与开发人员每天在一起工作,业务人员始终参与到开发工作中。

5. 在开发团队内部和团队之间,传递信息最有效的方法是面对面交谈。

6. 工作软件是进展的主要度量。

7. 对技术的精益求精以及对设计的不断完善将提升敏捷性。

8. 简单性(尽最大可能减少不必要的工作的艺术)是精髓。

9. 最佳的架构、需求和设计出自于自组织的团队。

10. 团队要定期反省如何能够做到更加高效,并相应地调整团队的行为。

八、系统性能

系统性能包含性能指标、性能计算、性能设计和性能评估四个方面的内容。

1 性能指标

性能指标是软、硬件的性能指标的集成。在硬件中,包括计算机、各种通信交换设备、各类网络设备等;在软件中,包括操作系统、数据库、网络协议、应用程序等。

2 性能计算

性能指标计算的主要方法有定义法、公式法、程序检测法和仪器检测法。

在实际应用中,往往是对常用性能指标的复合计算,然后通过算法加权处理得到最终结果。

3 性能设计

在开始性能调整之前,需要识别约束、指定负载、设置性能目标,在建立了性能调整的边界和期望值后,就可以开始调整了。

循环的调整过程为收集、分析、配置和测试。

4 性能评估

性能评估是为了一个目的,按照一定的步骤,选用一定的度量项目,通过建模和实验,对一个系统的性能进行各项检测,对测试结果做出解释,并形成一份文档的技术。

你可能感兴趣的:(架构师,软考高级,架构师)