嵌入式系统初始化过程中,自底向上依次为:片级初始化->板级初始化->系统级初始化
在段页式存储中,段长是可变的。
管道过-滤器风格 和 数据存储为中心风格 作对比:
数据存储为中心架构风格能更好的支持交互式数据处理,管道管理器风格对用户交互式数据处理有限。
数据存储为中心架构风格以数据格式解耦各种功能之间的依赖关系,并可以灵活定义功能之间的逻辑顺序。管理过滤器风格在数据处理逻辑关系的灵活定义方面差。
数据存储为中心的架构风格在格式转换上灵活性好,而管道管理器风格只能支持有限的数据格式。
软件架构风格是什么:
软件架构风格是指描述特定软件系统组织方式的惯用性。
DMA工作方式下,在主存与外设之间建立了直接的数据通路。
总线技术是半双工的技术,发一个,收多个。
只能分时向总线发送数据,但可以同时向总线收多个数据。
指令周期过程中,送指令,先把程序计数器PC + 1,送到地址总线,然后才使用指令寄存器IR操作命令。
CISC(复杂指令集):数量多,使用频率差别大,不等长、支持多种寻址、微程序里面用、研发周期长;
RISC(精简指令集):数量少,使用频率差别小,等长,少量寻址、通用寄存器,硬件部线,流水线、优化编译,高级语言支持。
流水线计算公式(△t为最长的时间):
理论公式:(t1 + t2 + t3 + ... + tk) + (n-1) *△t
实际公式:k * △t + (n-1) * △t
CPU与主存之间设计高速缓存Cache目的是:提高CPU对主存的访问效率。
软件架构中基于场景驱动的迭代式设计过程:
系统中大多数关键功能以场景(用例)为主。系统的关键功能为使用频率最高的功能或其应用减轻的技术。
开始阶段:基于风险和重要性为某次迭代选择一些场景(可以被归纳为对若干用户需求的抽象)。将发现的架构元素放入视图中,然后实施、测试、评估等。
循环阶段:评估风险,减轻分析或提高结构覆盖的额外的少量场景。在原场景中描述,发现额外的架构元素,随后更新升级。
测试:在实际目标环境和负载下进行。
评审:检测框架的简洁性、可重用性、通用性等方面
更新设计准则和基本原理:
捕获经验和教训:
开发视图应满足软件内部的需求(主要是非功能方面的需求):开发难度、软件管理、重用性、通用性、由工具集和编程语言带来的限制与约束。
开发视图是项目管理的基础会直接影响:估计开发工作量、安排开发任务、编制开发计划、控制进度、团队工作分配(任务管理)、成本估计和计划(成本管理)、项目进度管理等。
光钎通道作为传输介质,实现存储系统网络化的存储模式为:SAN
Raid0(条块化):性能最高,并行处理,无冗余,损坏无法恢复;
Raid1(镜像结构):50%利用率,可修复、可用性好。
Raid2(Raid10):Raid0和Raid1结合,高效可靠;
Raid3(奇偶校验并传输):N+1模式,有固定校验盘,坏一个盘可恢复。
Raid5(分布式奇偶校验的独立磁盘):N+1模式,无规定的校验盘、坏一个可恢复。
Raid6(两种存储的奇偶校验):N+2模式,无规定的校验盘、坏二个可恢复。
DNS服务器解析中,根域名服务器采用迭代的方式查询,中介域名服务器采用递归的方式查询
网络规划与设计:需求规范->通信规范->逻辑网络设计->物理网络设计->实施阶段
逻辑网络设计:拓扑结构、网络地址分配、安全规划、网络管理、选择路由协议、设备命名规则;
物理网络设置:综合布线等;
计算机信息系统安全保护等级划分准则:用户自主保护级、系统审计保护级、安全标记保护级
应用层加密:PGP、HTTPS、SSL
应用层、表示层、会话层、传输层加密:SSL
传输层加密:SET 、PGP
网络层加密:IPSec、防火墙
数据链路层加密:L2TP、PPTP、链路加密
物理层:屏蔽、隔离
X.509数字证书内容:证书版本信息、序列号、使用的签名算法、发行机构名称(采用X.500格式)、有效期(采用UTC),证书所有人名称(X.500格式),所有人的公开密钥、发行者对证书的签名;
样本数量=0.25*(可信度因子/错误率)^2,随后向上取整。
联合需求计划(JRP):一个通过高度组织的群体会议来分析企业内的问题并获取需求的过程,它是联合应用开发的一部JRP 是一种相对来说成本较高的需求获取方法,但也是十分有效的一种。它通过联合各个关键用户代表、系统分析师、开发团队代表一起,通过有组织的会议来讨论需求。
优势:
1、发挥用户和管理人员参与系统开发过程的积极性,提高系统开发效率;
2、降低系统需求获取的时间成本,加速系统开发周期;
3、采用原型确认系统需求并获取设计审批,具有原型化开发方法的优点。
软件重构的三个类别:代码重构、设计重构、架构重构。
常见的重构方法:
提取方法、提取类、提取接口、提取模板、用委托代替继承、用子类代替别码、用多态代替判断条件
设计恢复中常见的四种级别:
实现级:过程的设计模型;
结构级:程序、数据结构;
功能级:对象模型、数据、控制流模型;
领域级:UML、状态图、部署图。
为什么数软件重构可能导致程序变慢,但也可以使软件性能优化和调整?
为了使软件更容易理解,同时又需要考虑到各种兼容性,在重构时,可能需要在代码中增加冗余的判断、冗余的代码或结构;也可能需要修改已有的数据库结构和索引等,导致程序运行变慢。
但从长远来看,由于重构以后的软件结构更加清晰,代码复杂性更低,更易于理解,在性能调优时更容易分析瓶颈之所在,然后加以解决,因此,软件重构也更易容进行软件的性能优化和调优。