软考架构-希赛第4版
2023-04-11 11:27:49 25 举报
AI智能生成
软考整理,架构一次通过。
作者其他创作
大纲/内容
第 4 章 计算机网络
网络互联模型
OSI/RM 构造了由下到上的七层模型,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
(1)物理层。物理层的主要功能是透明地完成相邻节点之间原始比特流的传输。其中“透明”的意思是指物理层并不需要关心比特代表的具体含义,而要考虑的是如何发送“0”和“1”,以及接收端如何识别。物理层在传输介质基础上作为系统和通信介质的接口,为数据链路层提供服务。二进制比特流 ,主要设备有中继器和集线器。
(2)数据链路层。数据链路层负责在两个相邻节点之间的线路上无差错地传送以帧为单位的数据,通过流量控制和差错控制,将原始不可靠的物理层连接变成无差错的数据通道,并解决多用户竞争问题,使之对网络层显现一条可靠的链路。相邻节点可靠传输,主要设备有交换器和网桥。
(3)网络层。网络层是通信子网的最高层,其主要任务是在数据链路层服务的基础上,实现整个通信子网内的连接,并通过网络连接交换网络服务数据单元(packet)。它主要解决数据传输单元分组在通信子网中的路由选择、拥塞控制和多个网络互联的问题。网络层建立网络连接为传输层提供服务。寻址和路由选择,主要设备有路由器
(4)传输层。传输层既是负责数据通信的最高层,又是面向网络通信的低三层(物理层、数据链路层和网络层)和面向信息处理的高三层(会话层、表示层和应用层)之间的中间层,是资源子网和通信子网的桥梁,其主要任务是为两台计算机的通信提供可靠的端到端的数据传输服务。传输层反映并扩展了网络层子系统的服务功能,并通过传输层地址为高层提供传输数据的通信端口,使系统之间高层资源的共享不必考虑数据通信方面的问题。主要设备有网关。
(5)会话层。会话层利用传输层提供的端到端数据传输服务,具体实施服务请求者与服务提供者之间的通信、组织和同步它们的会话 活动,并管理它们的数据交换过程。会话层提供服务通常需要经过建立连接、数据传输和释放连接三个阶段。会话层是最薄的一层,常被省略。负责在网络中两个结点中建立和维持通信,负责确保数据可靠,顺序,无错的端到端传输,主机间会话管理,主要设备有网关。
(6)表示层。表示层处理的是用户信息的表示问题。端用户(应用进程)之间传送的数据包含语义和语法两个方面。语义是数据的内容及其含义,它由应用层负责处理;语法是与数据表示形式有关的方面,例如,数据的格式表示、编码和压缩等。表示层主要用于处理应用实体面向交换的信息的表示方法,包括用户数据的结构和在传输时的比特流(或字节流)的表示。这样,即使每个应用系统有各自的信息表示法,但被交换的信息类型和数值仍能用一种共同的方法来描述。如同应用程序和网络之间的翻译官,在表示层,数据将按照网络可以理解的格式化,主要设备有网关。
(7)应用层。应用层是直接面向用户的一层,是计算机网络与最终用户之间的界面。在实际应用中,通常把会话层和表示层归入到应用层,使 OSI/RM 成为一个简化的五层模型。负责对软件提供接口让程序能使用网络服务。主要设备有网关。
(2)数据链路层。数据链路层负责在两个相邻节点之间的线路上无差错地传送以帧为单位的数据,通过流量控制和差错控制,将原始不可靠的物理层连接变成无差错的数据通道,并解决多用户竞争问题,使之对网络层显现一条可靠的链路。相邻节点可靠传输,主要设备有交换器和网桥。
(3)网络层。网络层是通信子网的最高层,其主要任务是在数据链路层服务的基础上,实现整个通信子网内的连接,并通过网络连接交换网络服务数据单元(packet)。它主要解决数据传输单元分组在通信子网中的路由选择、拥塞控制和多个网络互联的问题。网络层建立网络连接为传输层提供服务。寻址和路由选择,主要设备有路由器
(4)传输层。传输层既是负责数据通信的最高层,又是面向网络通信的低三层(物理层、数据链路层和网络层)和面向信息处理的高三层(会话层、表示层和应用层)之间的中间层,是资源子网和通信子网的桥梁,其主要任务是为两台计算机的通信提供可靠的端到端的数据传输服务。传输层反映并扩展了网络层子系统的服务功能,并通过传输层地址为高层提供传输数据的通信端口,使系统之间高层资源的共享不必考虑数据通信方面的问题。主要设备有网关。
(5)会话层。会话层利用传输层提供的端到端数据传输服务,具体实施服务请求者与服务提供者之间的通信、组织和同步它们的会话 活动,并管理它们的数据交换过程。会话层提供服务通常需要经过建立连接、数据传输和释放连接三个阶段。会话层是最薄的一层,常被省略。负责在网络中两个结点中建立和维持通信,负责确保数据可靠,顺序,无错的端到端传输,主机间会话管理,主要设备有网关。
(6)表示层。表示层处理的是用户信息的表示问题。端用户(应用进程)之间传送的数据包含语义和语法两个方面。语义是数据的内容及其含义,它由应用层负责处理;语法是与数据表示形式有关的方面,例如,数据的格式表示、编码和压缩等。表示层主要用于处理应用实体面向交换的信息的表示方法,包括用户数据的结构和在传输时的比特流(或字节流)的表示。这样,即使每个应用系统有各自的信息表示法,但被交换的信息类型和数值仍能用一种共同的方法来描述。如同应用程序和网络之间的翻译官,在表示层,数据将按照网络可以理解的格式化,主要设备有网关。
(7)应用层。应用层是直接面向用户的一层,是计算机网络与最终用户之间的界面。在实际应用中,通常把会话层和表示层归入到应用层,使 OSI/RM 成为一个简化的五层模型。负责对软件提供接口让程序能使用网络服务。主要设备有网关。
IPv6 的优势与 IPv4 相比, IPv6 具有以下几点优势:
(1)IPv6 具有更大的地址空间。 IPv4 中规定 IP 地址长度为 32 位,而 IPv6 中 IP 地 址的长度为 128 位。
(2)IPv6 使用更小的路由表。 IPv6 的地址分配一开始就遵循路由汇聚的原则,使路由器能在路由表中用一条 记录表示一个子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
(3)IPv6 增加了增强的组播支持和对流支持,使网络上的多媒体应用有了长足发展的机会,为服务质量( Quality of Service,QoS)控制提供了良好的网络平台。
(4)IPv6 加入了对自动配置的支持。这是对 DHCP 协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。
(5)IPv6 具有更高的安全性。在使用 IPv6 网络时,用户可以对网络层的数据进行加密,并对 IP 报文 进行校验,极大地增强了网络的安全性。
(1)IPv6 具有更大的地址空间。 IPv4 中规定 IP 地址长度为 32 位,而 IPv6 中 IP 地 址的长度为 128 位。
(2)IPv6 使用更小的路由表。 IPv6 的地址分配一开始就遵循路由汇聚的原则,使路由器能在路由表中用一条 记录表示一个子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
(3)IPv6 增加了增强的组播支持和对流支持,使网络上的多媒体应用有了长足发展的机会,为服务质量( Quality of Service,QoS)控制提供了良好的网络平台。
(4)IPv6 加入了对自动配置的支持。这是对 DHCP 协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。
(5)IPv6 具有更高的安全性。在使用 IPv6 网络时,用户可以对网络层的数据进行加密,并对 IP 报文 进行校验,极大地增强了网络的安全性。
逻辑网络设计文档,输出的内容包括以下几点:
① 逻辑网络设计图;
② IP 地址方案;
③ 安全方案;
④ 具体的软件、硬件、广域网连接设备和基本的服务;
⑤ 雇佣和培训新网络员工的具体说明;
⑥ 初步对软件、硬件、服务、网络雇佣员工和培训的费用估计。
② IP 地址方案;
③ 安全方案;
④ 具体的软件、硬件、广域网连接设备和基本的服务;
⑤ 雇佣和培训新网络员工的具体说明;
⑥ 初步对软件、硬件、服务、网络雇佣员工和培训的费用估计。
网络物理结构设计
① 物理网络图和布线方案;
② 设备和部件的详细列表清单;
③ 软件、硬件和安装费用的估计;
④ 安装日程表,用以详细说明实际和服务中断的时间及期限;
⑤ 安装后的测试计划;
⑥ 用户培训计划。
② 设备和部件的详细列表清单;
③ 软件、硬件和安装费用的估计;
④ 安装日程表,用以详细说明实际和服务中断的时间及期限;
⑤ 安装后的测试计划;
⑥ 用户培训计划。
网络存储技术
目前,主流的网络存储技术主要有三种,分别是直接附加存储( Direct Attached Storage DAS)、网络附加存储 Network Attached Storage NAS)和存储区域网络 Storage Area Network SAN)。
第 5 章 系统性能评价
性能指标
1.时钟频率(主频
2.高速缓存
3.运算速度
4.运算精度
5.内存的存储容量
6.存储器的存取周期
7.数据处理速率
8.响应时间
9. RASIS 特性是可靠性( Reliability)、可用性 Availability)、
可维护性 Serviceability)、完整性( Integraity)和
安全性 Security)五者的统称。可靠性是指计算机系统在规定的工
10.平均故障响应时间
11.兼容性
2.高速缓存
3.运算速度
4.运算精度
5.内存的存储容量
6.存储器的存取周期
7.数据处理速率
8.响应时间
9. RASIS 特性是可靠性( Reliability)、可用性 Availability)、
可维护性 Serviceability)、完整性( Integraity)和
安全性 Security)五者的统称。可靠性是指计算机系统在规定的工
10.平均故障响应时间
11.兼容性
数据库管理系统
因此,衡量数据库管理系统的主要性能指标包括数据库本身和管理系统两部分。
数据库和数据库管理系统的性能指标包括数据库的大小、单个数据库文件的大小、数据库中表的数量、单个表的大小、表中允许的记录(行)数量、单个记录(行)的大小、表上所允许的索引数量、数据库所允许的索引数量、最大 并发事务处理能力、负载均衡能力、最大连接数。
数据库和数据库管理系统的性能指标包括数据库的大小、单个数据库文件的大小、数据库中表的数量、单个表的大小、表中允许的记录(行)数量、单个记录(行)的大小、表上所允许的索引数量、数据库所允许的索引数量、最大 并发事务处理能力、负载均衡能力、最大连接数。
web服务器
Web 服务器的主要性能指标包括最大并发连接数、响应延迟、吞吐量(每秒处理的请求数)、成功请求数、失败请求数、每秒点击次数、每秒成功点击次数、每秒失败点击次数、尝试连接数、用户连接数等。
性能计算
MIPS 的计算方法例如,如果要计算 Pentium IV/2.4E 处理机的运算速度,因为 Pentium IV/2.4E处理机的IPC=2(或 CPI=0.5 Fz=2400MHz,所以 MIPSP4/2.4E = IPC * Fz=2 *2400 = 4800MIPS。
理论浮点峰值 = CPU 主频*CPU 每个时钟周期执行浮点运算的次数*系统中 CPU 数
阿姆达尔解决方案:加速比=不使用增强部件完成整个任务的时间/使用增强部件完成整个任务的时间。新的执行时间=原来时间*[(1-增强比例)+增强比例/增强加速比] 总加速比=原来的执行时间/新的执行时间=1/[(1-增强比例)+增强比例/增强加速比]
理论浮点峰值 = CPU 主频*CPU 每个时钟周期执行浮点运算的次数*系统中 CPU 数
阿姆达尔解决方案:加速比=不使用增强部件完成整个任务的时间/使用增强部件完成整个任务的时间。新的执行时间=原来时间*[(1-增强比例)+增强比例/增强加速比] 总加速比=原来的执行时间/新的执行时间=1/[(1-增强比例)+增强比例/增强加速比]
第 6 章:开发方法
软件生命周期
中将软件生命周期划分为 8 个阶段:可行性研究与计划、需求分析、概要设计、详细设计、实现、集成测试、确认测试、使用和维护。
软件开发模型
瀑布模型
首先,在瀑布模型中,需求分析阶段是一切活动的基础,设计、实现和验证活动都是从需求分析阶段的 结果导出的。一旦需求分析的结果不完全正确,存在偏差,那么后续的活动只能放大这个偏差,在错误的道路上越走越远。事实上,由于用户和开发者的立场、经验、知识域都不相同,不同的人对同一件事物的表述也不同,这就造成需求分析的结果不可能精确、完整地描述整个软件系统。所以瀑布模型后期的维护工作相当繁重,而这些维护工作大多都是修正在需求分析阶段引入的缺陷。这个问题是瀑布模型难以克服的。其次,瀑布模型难以适应变化。在瀑布模型中精确地定义了每一个阶段的活动和活动结
果,而每一阶段都紧密依赖于上一阶段的结果。如果在软件的 后期出现了需求的变化,整个系统又要从头开始。再次,使用瀑布模型意味着当所有阶段都结束才能最终交付软件产品,所以在提出需求后需要相当长一段时间的等待才能够看到最终结果,才能发现软件产品究竟能不能够满足客户的需求。
最后,文档驱动型的瀑布模型除了制造出软件产品外还将产生一大堆的文档,大部分的文档对客户没有任何意义,但完成这些对客户没有意义的文档却需要花费大量的人力。所以瀑布模型也是一种重载过程。
果,而每一阶段都紧密依赖于上一阶段的结果。如果在软件的 后期出现了需求的变化,整个系统又要从头开始。再次,使用瀑布模型意味着当所有阶段都结束才能最终交付软件产品,所以在提出需求后需要相当长一段时间的等待才能够看到最终结果,才能发现软件产品究竟能不能够满足客户的需求。
最后,文档驱动型的瀑布模型除了制造出软件产品外还将产生一大堆的文档,大部分的文档对客户没有任何意义,但完成这些对客户没有意义的文档却需要花费大量的人力。所以瀑布模型也是一种重载过程。
演化模型
演化模型正是基于这个观点提出的。一般情况下,一个演化模型可以看做若干次瀑布模型的迭代,当完成一个瀑布模型后,重新进入下一个迭代周期,软件在这样的迭代过程中得以演化、完善。根据不同的迭代特点,演化模型可以演变为螺旋模型、增量模型和 原型法开发。
螺旋模型
其他模型均忽略了的风险分析。螺旋模型的每一周期都包括需求定义、风险分析、工程实现和评审 4 个阶段,由这 4 个阶段进行迭代,软件开发过程每迭代一次,软件开发就前进一个层次。采用螺旋模型的软件过程如图
增量模型
对于增量模型,通常有两种策略。一是增量发布的办法。即首先做好系统的分析和设计工作,然后将系统划分为若干不同的版本,每一个版本都是一个完整的系统,后一版本以前一版本为基础进行开发,扩充前一版本的功能。在这种策略中,第一版本往往是系统的核心功能,可以满足用户最基本的需求,随着增量的发布,系统的功能逐步地丰富、完善起来。用户在很短的时间内就可以得到系统的初始版本并进行试用。试用中的问题可以很快地反馈到后续开发中,从而降低了系统的 风险。在应用增量模型中需要注意:
原型模型
同增量发布不同,原型法的每一次迭代都经过一个完整的生命周期。当用户需求很不明确或技术架构中存在很多不可知因素的时候,可以采用原型法。在初始的原型中,针对一般性的用户 需求进行快速实现,并不考虑算法的合理性或系统的稳定性。这个原型的主要目的是获得精确的用户需求,或验证架构的可用性。一般情况下,会在后面的开发中抛弃这个原型,重新实现完整的系统。
构件组装模型
构件组装模型的优点如下:
1)构件的自包容性让系统的扩展变得更加容易
2)设计良好的构件更容易被重用,降低软件开发成本
3)构件的粒度较整个系统更小,因此安排开发任务更加灵活,可以将开发团队分成若干组,并行地独立开发构件。
鱼与熊掌不可兼得,构件组装模型也有明显的缺点:
1)对构件的设计需要经 验丰富的架构设计师,设计不良的构件难以实现构件的优点,降低构件组装模型的重用度。
2)在考虑软件的重用度时,往往会对其他方面做出让步,如性能等。
3)使用构件组装应用程序时,要求程序员熟练地掌握构件,增加了研发人员的学习成本。
4)第三方构件库的质量会最终影响到软件的质量,而第三方构件库的质量往往是开发团队难以控制的。
1)构件的自包容性让系统的扩展变得更加容易
2)设计良好的构件更容易被重用,降低软件开发成本
3)构件的粒度较整个系统更小,因此安排开发任务更加灵活,可以将开发团队分成若干组,并行地独立开发构件。
鱼与熊掌不可兼得,构件组装模型也有明显的缺点:
1)对构件的设计需要经 验丰富的架构设计师,设计不良的构件难以实现构件的优点,降低构件组装模型的重用度。
2)在考虑软件的重用度时,往往会对其他方面做出让步,如性能等。
3)使用构件组装应用程序时,要求程序员熟练地掌握构件,增加了研发人员的学习成本。
4)第三方构件库的质量会最终影响到软件的质量,而第三方构件库的质量往往是开发团队难以控制的。
统一过程UP
时间主线就是横轴的阶段,随着时间的流逝,软件开发活动总要经过初始、细化、构建和交付这 4 个阶段方能完成。而纵轴的工作流程则描述了在不同的阶段需要进行的主要工对于纵轴而言,业务建模、需求、分析设计、实施、测试、部署、配置与变更管理、项目管理、环境称为 UP 的 9 个核心工作流。可以把这 9 个工作流进行简单的分类以帮助理解,业务建模、需求、分析设计、实施、测试和部署是工程活动,而配置与变更管理、项目管理和环境是管理活动。
2 UP 的生命周期
前面已经提到, UP 模型的时间主线是阶段, UP 的生命周期也是与阶段一一对应的。在 UP 的生命周期中共有 4 个里程碑
1)目标里程碑。目标里程碑对应着先启阶段的结束,当开发者可以明确软件系统的目标和范围时即达到了该里程碑。
2)架构里程碑。架构里程碑是 UP 生命周期中的第二个里程碑,在这个里程碑前,开发者需要确定稳定的系统架构。
3)能力里程碑。当系统已经足够的稳定和成熟并完成 Alpha 测试后,认为达到了第3个里程碑。
4)发布里程碑。在达到发布里程碑前,需要完成系统的测试、完成系统发布和用户培训等工作。
前面已经提到, UP 模型的时间主线是阶段, UP 的生命周期也是与阶段一一对应的。在 UP 的生命周期中共有 4 个里程碑
1)目标里程碑。目标里程碑对应着先启阶段的结束,当开发者可以明确软件系统的目标和范围时即达到了该里程碑。
2)架构里程碑。架构里程碑是 UP 生命周期中的第二个里程碑,在这个里程碑前,开发者需要确定稳定的系统架构。
3)能力里程碑。当系统已经足够的稳定和成熟并完成 Alpha 测试后,认为达到了第3个里程碑。
4)发布里程碑。在达到发布里程碑前,需要完成系统的测试、完成系统发布和用户培训等工作。
3 UP 的特点
UP 是一个特点鲜明的开发模型,下面列出 UP 的一些特点:
((1))UP 是一个迭代的二维开发模型,在生命周期的每一阶段都可以进行需求、设计是一个迭代的二维开发模型,在生命 周期的每一阶段都可以进行需求、设计等活动。等活动。UP 不但给出了迭代的生命周期,还给出了生命周期每一阶段的迭代指南。不但给出了迭代的生命周期,还给出了生命周期每一阶段的迭代指南。
((2)采用不同迭代方式的)采用不同迭代方式的 UP 可以演变为演化模型或增量模型。可以演变为演化模型或增量模型。
((3))UP 的迭代特点使得更容易控制软件开发的风险。的迭代特点使得更容易控制软件开发的风险。
((4)虽然)虽然 UP 是一个迭代的开发模型,但是一个迭代的开发模型,但 UP 本身并不属于敏捷方法。相反,一般认本身并不属于敏捷方法。相反,一般认为,未经裁减的为,未经裁减的 UP 是一个重载过程。是一个重载过程。
((5)在实际应用中可以根据具体问题对)在实际应用中可以根据具体问题对 UP 进行裁减,从而使其可以适应各种规模的进行裁减,从而使其可以适应各种规模的软件和开发团队。软件和开发团队。
4.架构设计师在.架构设计师在 UP 中的活动中的活动
UP 是一个特点鲜明的开发模型,下面列出 UP 的一些特点:
((1))UP 是一个迭代的二维开发模型,在生命周期的每一阶段都可以进行需求、设计是一个迭代的二维开发模型,在生命 周期的每一阶段都可以进行需求、设计等活动。等活动。UP 不但给出了迭代的生命周期,还给出了生命周期每一阶段的迭代指南。不但给出了迭代的生命周期,还给出了生命周期每一阶段的迭代指南。
((2)采用不同迭代方式的)采用不同迭代方式的 UP 可以演变为演化模型或增量模型。可以演变为演化模型或增量模型。
((3))UP 的迭代特点使得更容易控制软件开发的风险。的迭代特点使得更容易控制软件开发的风险。
((4)虽然)虽然 UP 是一个迭代的开发模型,但是一个迭代的开发模型,但 UP 本身并不属于敏捷方法。相反,一般认本身并不属于敏捷方法。相反,一般认为,未经裁减的为,未经裁减的 UP 是一个重载过程。是一个重载过程。
((5)在实际应用中可以根据具体问题对)在实际应用中可以根据具体问题对 UP 进行裁减,从而使其可以适应各种规模的进行裁减,从而使其可以适应各种规模的软件和开发团队。软件和开发团队。
4.架构设计师在.架构设计师在 UP 中的活动中的活动
敏捷开发
XP开发
1)在更短的周期内,更早地提供具体、持续的反馈信息。
2)迭代地进行计划编制,首先在最开始迅速生成一个总体计划,然后在整个项目开发过程中不断地发展它。
3)依赖于自动测试程序来监控开发进度 并及早地捕获缺陷。
4)依赖于口头交流、测试和源程序进行沟通。
5)倡导持续的、演化式的设计。
6)依赖于开发团队内部的紧密协作。
7)尽可能达到程序员短期利益和项目长期利益的平衡。
XP 的核心是其总结的沟通、简单、反馈、勇气四大价值观
XP的十二个最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对变成、代码集体所有制、持续基础、每周工作40小时、现场客户、编码标准
1)在更短的周期内,更早地提供具体、持续的反馈信息。
2)迭代地进行计划编制,首先在最开始迅速生成一个总体计划,然后在整个项目开发过程中不断地发展它。
3)依赖于自动测试程序来监控开发进度 并及早地捕获缺陷。
4)依赖于口头交流、测试和源程序进行沟通。
5)倡导持续的、演化式的设计。
6)依赖于开发团队内部的紧密协作。
7)尽可能达到程序员短期利益和项目长期利益的平衡。
XP 的核心是其总结的沟通、简单、反馈、勇气四大价值观
XP的十二个最佳实践:计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对变成、代码集体所有制、持续基础、每周工作40小时、现场客户、编码标准
特征驱动开发 FDD定义了6个角色:项目经理、首席架构师、开发经理、主程序员、程序员、领域专家
第 7 章:系统规划
第1章 计算机组成与体系结构
计算机最 基本的组成框图。
控制器
程序计数器 PC:存储下一条要执行指令的地址
指令寄存器 IR:存储即将执行的指令
指令译码器 ID:对指令中的操作码字段进行分析解释
时序部件:提供时序控制信号。
运算器
算术逻辑单元 ALU:数据的算术运算和逻辑运算
累加寄存器 AC:通用寄存器,为 ALU提供一个工作区,用在暂存数据;
数据缓冲寄存器 DR:写内存时,暂存指令或数据
状态条件寄存器 PSW:存状态标志与控制标志(争议点:也有将其归为控制器的)。
主存储器
辅助存储器
输入设备
输出设备
复杂指令集系统与精简指令集系统 :复杂指令系统计算机( Complex Instruction Set Computer CISC);精简指令系统计算机Reduced Instruction Set Computer RISC
总线
总线是一组能为多个部件分时共享的公共信息传 送线路。共享是指总线上可以挂接多个
部件,各个部件之间相互交换的信息都可以通过这组公共线路传送;分时是指同一时刻只允
许有一个部件向总线发送信息,如果出现两个或两个以上部件同时向总线发送信息,势必导
致信号冲突。当然,在同一时刻,允许多个部件同时从总线上接收相同的信息。
按总线功能来划分,又可分为地址总线、数据总线、控制总线三类,人们通常所说的总
线都包括这三个组成部分,地址总线用来传送地址信息,数据总线用来传送数据信息,控制
总线用来传送各种控制信号。
线都包括这三个组成部分,地址总线用来传送地址信息,数据总线用来传送数据信息,控制
总线用来传送各种控制信号。
存储器系统
程序局部性包括时间局部性和空间局部性,时间局部性是指程序中的某条指令一旦执行,不久以后该指令可能再次执行。产生时 间局部性的典型原因是由于程序中存在着大量的循环操作;空间局部性是指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。
存储器中数据常用的存取方式有顺序存取、直接存取、随机存取和相联存取四种。
1)顺序存取:存储器的数据以记录的形式进行组织。对数据的访问必须按特定的线性顺序进行。磁带存储器采用顺序存取的方式。
2)直接存取:与顺序存取相似,直接存取也使用一个共享的读写装置对所有的数据进行访 问。但是,每个数据块都拥有唯一的地址标识,读写装置可以直接移动到目的数据块所在位置进行访问。存取时间也是可变的。磁盘存储器采用直接存取的方式。
3)随机存取:存储器的每一个可寻址单元都具有自己唯一的地址和读写装置,系统可以在相同的时间内对任意一个存储单元的数据进行访问,而与先前的访问序列无关。主存储器采用随机存取的方式。
4)相联存取:相联存取也是一种随机存取的形式,但是选择某一单元进行读写是取决于其内容而不是其地址。与普通的随机存取方式一样,每个单元都有自己的读写装置,读写时间也是一个常数。使用相联存取方式,可以对所有的存储单元的特定位进行比较,选择符合条件的单元进行访问。为了提高地址映射的速度,Cache 采取相联存取的方式。
1)顺序存取:存储器的数据以记录的形式进行组织。对数据的访问必须按特定的线性顺序进行。磁带存储器采用顺序存取的方式。
2)直接存取:与顺序存取相似,直接存取也使用一个共享的读写装置对所有的数据进行访 问。但是,每个数据块都拥有唯一的地址标识,读写装置可以直接移动到目的数据块所在位置进行访问。存取时间也是可变的。磁盘存储器采用直接存取的方式。
3)随机存取:存储器的每一个可寻址单元都具有自己唯一的地址和读写装置,系统可以在相同的时间内对任意一个存储单元的数据进行访问,而与先前的访问序列无关。主存储器采用随机存取的方式。
4)相联存取:相联存取也是一种随机存取的形式,但是选择某一单元进行读写是取决于其内容而不是其地址。与普通的随机存取方式一样,每个单元都有自己的读写装置,读写时间也是一个常数。使用相联存取方式,可以对所有的存储单元的特定位进行比较,选择符合条件的单元进行访问。为了提高地址映射的速度,Cache 采取相联存取的方式。
磁盘访问时间(存取时间)= 寻道时间 +旋转延迟时间
系统的平均周期为 t3。如果以 h 代表对 Cache 的访问命中率(“ 1- h”称为失效率,或者称为未命中率 t1 表示 cache 的周期时间, t2 表示内存的周期时间,以读操作为例 t3 =t1* h+t2*(1 h)
缓存Cache
直接映像方式的优点是比较容易实现,缺点是不够灵活,有可能使 Cache 的存储空间得不到充分利用。直接映像方式以随机存取存储器作为 Cache 存储器,硬件电路较简单。在进行映像时,主存地址被分成三个部分,从高到低依次为:区号、页号以及页内地址
在全相联映像方式中,主存地址不能直接提取 Cache 页号,而是需要将主存页标记与Cache 各页的标记逐个比较,直到找到标记符合的页(访问 Cache 命中),或者全部比较完后仍无符合的标记(访问 Cache 失败)。因此这种映像方式速度很慢,失掉了高速缓存的作用,这是全相联映像方式的最大缺点。如果让主存页标记与各 Cache 标记同时比较,则成本又太高。全相联映像方式因比较器电路难于设计和实现,只适用于小容量 Cache。
组相联映像的规则是:主存中的组与Cache 的组形成直接映像关系,而每个组内的页是全相联映像关系。如主存 1区 0页,他在 0组中,所以只能进入 Cache的 0组中,至于进入到 Cache的 0组 0页,还是 0组 1页,并无强制要求,可任意放置。在组相联映像中, Cache 中每一页的标记位长度为 8位,因为此时除了要记录区号,还得记录组号,即区号 7位加组号 1位等于 8位。
最常用的替换算法有以下三种:
1)随机算法。这是最简单的替换算法。随机法完全不管 Cache 块过去、现在及将来的使用情况,简单地根据一个随机数,选择一块替换掉。
2)先进先出 First In and First Out FIFO)算法。按调入 Cache 的先后决定淘汰的顺序,即在需要更新时,将最先进入 Cache 的块作为被替换的块。这种方法要求 为每块做一记录,记下它们进入 Cache 的先后次序。这种方法容易实现,而且系统开销小。其缺点是
可能会把一些需要经常使用的程序块(如循环程序)替换掉。
3)近期最少使用 Least Recently Used LRU)算法。 LRU 算法是把 CPU 近期最少使用的块作为被替换的块。这种替换方法需要随时记录 Cache 中各块的使用情况,以便确定哪个块是近期最少使用的块。 LRU 算法相对合理,但实现起来比较复杂,系统开销较大。通常需要对每一块设置一个称为“年龄计数器”的硬件或软件计数器,用以记录其被 使用的情况。
1)随机算法。这是最简单的替换算法。随机法完全不管 Cache 块过去、现在及将来的使用情况,简单地根据一个随机数,选择一块替换掉。
2)先进先出 First In and First Out FIFO)算法。按调入 Cache 的先后决定淘汰的顺序,即在需要更新时,将最先进入 Cache 的块作为被替换的块。这种方法要求 为每块做一记录,记下它们进入 Cache 的先后次序。这种方法容易实现,而且系统开销小。其缺点是
可能会把一些需要经常使用的程序块(如循环程序)替换掉。
3)近期最少使用 Least Recently Used LRU)算法。 LRU 算法是把 CPU 近期最少使用的块作为被替换的块。这种替换方法需要随时记录 Cache 中各块的使用情况,以便确定哪个块是近期最少使用的块。 LRU 算法相对合理,但实现起来比较复杂,系统开销较大。通常需要对每一块设置一个称为“年龄计数器”的硬件或软件计数器,用以记录其被 使用的情况。
写操作写操作比较复杂,常用的有以下几种方法。
1)写直达 write through)。当要写 Cache 时,数据同时写回内存,有时也称为写通。当某一块需要替换时,也不必把这一块写回到主存中去,新调入的块可以立即把这一块覆盖掉。这种方法实现简单,而且能随时保持主存数据的正确性,但可能增加多次不必要的主存写入,会降低存取速度。
2)写回 write back)。 CPU 修改 Cache 的某一块后,相应的数据并不立即写入内存单元,而是当该块从单元,而是当该块从 cache 中被淘汰时,才把数据写回到内存中。在采用这种更新策略的中被淘汰时,才把数据写回到内存中。在采用这种更新策略的 cache 块表中,一般有一个标志位,当一块中的任何一个单元被修改时,标志位被置“块表中,一般有一个标志,当一块中的任何一个单元被修改时,标志位被置“1”。”。在需要替换掉这一块时,如果标志位为“在需要替换掉这一块时,如果标志位为“1”,则必须先把这一块写回到主存中去之后,才能”,则必须先把这一块写回到主存中去之后,才能再调入新的块;如果标志位为“再调入新的块;如果标志位为“0”,则这一块不必写回主存,只要用新调入的块覆盖掉这”,则这一块不必写回主存,只要用新调入的块覆盖掉这一块即可。这种方法的优点是操作速度快,缺点是因主存中的字块未随时修改而有可能出错。块即可。这种方法的优点是操作速度快,缺点是因主存中的字块未随时修改而有可能出错。
(3)标记法。对)标记法。对 Cache 中的每一个数据设置一个有效位。当数据进入中的每一个数据设置一个有效位。当数据进入 Cache 后,有后,有效位置“效位置“1”;而当”;而当 CPU 要对该数据进行修改时,数据只需写入内存并同时将该有效位置“要对该数据进行修改时,数据只需写入内存并同时将该有效位置“0”。”。当要从当要从 Cache 中读取数据时需要测试其有效位,若为“中读取数据时需要测试其有效位,若为“l”则直接从”则直接从 Cache 中取数,否则,中取数,否则,从内存中取数。从内存中取数。
1)写直达 write through)。当要写 Cache 时,数据同时写回内存,有时也称为写通。当某一块需要替换时,也不必把这一块写回到主存中去,新调入的块可以立即把这一块覆盖掉。这种方法实现简单,而且能随时保持主存数据的正确性,但可能增加多次不必要的主存写入,会降低存取速度。
2)写回 write back)。 CPU 修改 Cache 的某一块后,相应的数据并不立即写入内存单元,而是当该块从单元,而是当该块从 cache 中被淘汰时,才把数据写回到内存中。在采用这种更新策略的中被淘汰时,才把数据写回到内存中。在采用这种更新策略的 cache 块表中,一般有一个标志位,当一块中的任何一个单元被修改时,标志位被置“块表中,一般有一个标志,当一块中的任何一个单元被修改时,标志位被置“1”。”。在需要替换掉这一块时,如果标志位为“在需要替换掉这一块时,如果标志位为“1”,则必须先把这一块写回到主存中去之后,才能”,则必须先把这一块写回到主存中去之后,才能再调入新的块;如果标志位为“再调入新的块;如果标志位为“0”,则这一块不必写回主存,只要用新调入的块覆盖掉这”,则这一块不必写回主存,只要用新调入的块覆盖掉这一块即可。这种方法的优点是操作速度快,缺点是因主存中的字块未随时修改而有可能出错。块即可。这种方法的优点是操作速度快,缺点是因主存中的字块未随时修改而有可能出错。
(3)标记法。对)标记法。对 Cache 中的每一个数据设置一个有效位。当数据进入中的每一个数据设置一个有效位。当数据进入 Cache 后,有后,有效位置“效位置“1”;而当”;而当 CPU 要对该数据进行修改时,数据只需写入内存并同时将该有效位置“要对该数据进行修改时,数据只需写入内存并同时将该有效位置“0”。”。当要从当要从 Cache 中读取数据时需要测试其有效位,若为“中读取数据时需要测试其有效位,若为“l”则直接从”则直接从 Cache 中取数,否则,中取数,否则,从内存中取数。从内存中取数。
吞吐率
流水线的吞吐率( Though Put rate TP)是指在单位时间内流水线所完成的任务数量或输出的结果数量。有些文献也称为平均吞吐率、实际吞吐率。计算流水线吞吐率的最基本的tp=任务数n/n个任务总时间
第2章 操作系统
按照操作系统的功能划分,操作系统的基本类型有批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、嵌入式操作系统、微内核操作系统等。
操作系统的主要功能是进行处理机与进程管理、存储管理、设备管理、文件管理和作业管理的工作,本节讨论操作系统是如何完成这些功能的。
进程状态后续补充 //TODO
临界区协调准则
1)空闲让进。无进程处于临界区时,若有进程要求进入临界区则立即允许其进入
2)忙则等待。当已有进程进入其临界区时,其他试图进入各自临界区的进程必须等待,以保证诸进程互斥地进入临界区;
3)有限等待。有若干 进程要求进入临界区时,应在有限时间内使一进程进入临界区,即它们不应相互等待而谁也不进入临界区;
4)让权等待。对于等待进入临界区的进程必须释放其占有的 CPU。信号量可以有效地实现进程的同步和互斥。在操作系统中,信号量是一个整数。当信号量大于等于 0 时,代表可供并发进程使用的资源实体数,当信号量小于零时则表示正在等待使用临界区的进程数。建立一个信号量必须说明所建信号量代表的意义和设置初值,以及建立相应的数据结构,以便指向那些等待使用该临界区的进程。
1)空闲让进。无进程处于临界区时,若有进程要求进入临界区则立即允许其进入
2)忙则等待。当已有进程进入其临界区时,其他试图进入各自临界区的进程必须等待,以保证诸进程互斥地进入临界区;
3)有限等待。有若干 进程要求进入临界区时,应在有限时间内使一进程进入临界区,即它们不应相互等待而谁也不进入临界区;
4)让权等待。对于等待进入临界区的进程必须释放其占有的 CPU。信号量可以有效地实现进程的同步和互斥。在操作系统中,信号量是一个整数。当信号量大于等于 0 时,代表可供并发进程使用的资源实体数,当信号量小于零时则表示正在等待使用临界区的进程数。建立一个信号量必须说明所建信号量代表的意义和设置初值,以及建立相应的数据结构,以便指向那些等待使用该临界区的进程。
进程调度的算法是服务于系统目标的策略,对于不同的系统与系统目标,常采用不同的
1)先来先服务 First Come and First Serverd FCFS)调度算法,又称先进先出 First In and First Out FIFO)。就绪队列按先来后到原则排队。
2)优先数调度。优先数反映了进程优先级,就绪队列按优先数排队。有两种确定优先级的方法,即静态优先级和动态优先级。静态优先级是指进程的优先级在进程开始执行前确定,执行过程中不变,而动态优先级则可以在进程执行过程中改变。
3)轮转法 Round Robin)。就绪队列按 FCFS 方式排队。每个进程执行一次占有处理器时间都不超过规定的时间单位 (时间片)若超过,则自行释放自己所占有的 CPU 而排到就绪队列的末尾,等待下一次调度。同时,进程调度程序又去调度当前就绪队列中的第一个进程。
1)先来先服务 First Come and First Serverd FCFS)调度算法,又称先进先出 First In and First Out FIFO)。就绪队列按先来后到原则排队。
2)优先数调度。优先数反映了进程优先级,就绪队列按优先数排队。有两种确定优先级的方法,即静态优先级和动态优先级。静态优先级是指进程的优先级在进程开始执行前确定,执行过程中不变,而动态优先级则可以在进程执行过程中改变。
3)轮转法 Round Robin)。就绪队列按 FCFS 方式排队。每个进程执行一次占有处理器时间都不超过规定的时间单位 (时间片)若超过,则自行释放自己所占有的 CPU 而排到就绪队列的末尾,等待下一次调度。同时,进程调度程序又去调度当前就绪队列中的第一个进程。
产生死锁的必要条件是:互斥条件、保持和等待条件、不剥夺条件和环路等待条件。
常用的页面调度算法有:
1)最优 OPT)算法。选择不再使用或最远的将来才被使用的页,这是理想的算法但是难以实现,常用于淘汰算法的比较。
2)随机 RAND)算法。随机地选择被淘汰的页,开销小,但是可能选中立即就要访问的页。
3)先进先出算法。选择在内存驻留时间最长的页似乎合理,但可能淘汰掉频繁使用的页。另外,使用 FIFO 算法时,在未给予进程分配足够的页面数时,有时会出现给予进程的页面数增多,缺页次数反而增加的异常现象。 FIFO 算法简单,易实现。可以把装入内存储器的那些页的页号按进入的先后顺序排成队列,每次总是调出队首的页,当装入一个新页后,把新页的页号排到队尾。
4)最近最少使用 Least Recently Used LRU)算法。选择离当前时间最近的一段时间内使用得最少的页。这个算法的主要出发点是,如果某个页被访问了,则它可能马上就要被访问;反之,如果某个页长时间未被访问,则它在最近一段时间也不会被访问。
1)最优 OPT)算法。选择不再使用或最远的将来才被使用的页,这是理想的算法但是难以实现,常用于淘汰算法的比较。
2)随机 RAND)算法。随机地选择被淘汰的页,开销小,但是可能选中立即就要访问的页。
3)先进先出算法。选择在内存驻留时间最长的页似乎合理,但可能淘汰掉频繁使用的页。另外,使用 FIFO 算法时,在未给予进程分配足够的页面数时,有时会出现给予进程的页面数增多,缺页次数反而增加的异常现象。 FIFO 算法简单,易实现。可以把装入内存储器的那些页的页号按进入的先后顺序排成队列,每次总是调出队首的页,当装入一个新页后,把新页的页号排到队尾。
4)最近最少使用 Least Recently Used LRU)算法。选择离当前时间最近的一段时间内使用得最少的页。这个算法的主要出发点是,如果某个页被访问了,则它可能马上就要被访问;反之,如果某个页长时间未被访问,则它在最近一段时间也不会被访问。
外围设备和内存之间常用的数据传送控制方式主要有以下几种:
1)程序控制方式。处理器启动数据传输,然后等设备完成。
2)中断方式。程序控制方式不能实现并发。中断方式的数据传输过程是这样的,进程启动数据传输(如读)后,该进程放弃处理器,当数据传输完成,设备控制器产生中断请求,中断处理程序对数据传输工作处理之后,让相应进程成为 就绪状态。以后,该进程就可以得到所需要的数据。
3)直接存储访问 Direct Memory Access DMA)方式。指外部设备和内存之间开辟直接的数据交换通路。除了控制状态寄存器和数据缓冲寄存器外, DMA 控制器中还包括传输字节计数器、内存地址寄存器等。 DMA 方式采用窃取(或挪用)处理器的工作周期和控制总线而实现辅助存储器和内存之间的数据交换。有的 DMA 方式也采用总线浮起方式传输大批量数据。
4)通道方式。通道又称为输入 /输出处理器( Input/Output Processor IOP),可以独立完成系统交付的输入 /输出任务,通过执行自身的输入 /输出专用程序(称通道程序)进行内存和外设之间的数据传输。主要有 3 种通道:字节多路通道、选择通道和成组多路通道。
1)程序控制方式。处理器启动数据传输,然后等设备完成。
2)中断方式。程序控制方式不能实现并发。中断方式的数据传输过程是这样的,进程启动数据传输(如读)后,该进程放弃处理器,当数据传输完成,设备控制器产生中断请求,中断处理程序对数据传输工作处理之后,让相应进程成为 就绪状态。以后,该进程就可以得到所需要的数据。
3)直接存储访问 Direct Memory Access DMA)方式。指外部设备和内存之间开辟直接的数据交换通路。除了控制状态寄存器和数据缓冲寄存器外, DMA 控制器中还包括传输字节计数器、内存地址寄存器等。 DMA 方式采用窃取(或挪用)处理器的工作周期和控制总线而实现辅助存储器和内存之间的数据交换。有的 DMA 方式也采用总线浮起方式传输大批量数据。
4)通道方式。通道又称为输入 /输出处理器( Input/Output Processor IOP),可以独立完成系统交付的输入 /输出任务,通过执行自身的输入 /输出专用程序(称通道程序)进行内存和外设之间的数据传输。主要有 3 种通道:字节多路通道、选择通道和成组多路通道。
第3章 数据库系统
数据库设计的基本步骤
需求分析
概念结构设计
逻辑结构设计
数据库物理设计
事务管理
1)原子性 Atomicity):数据库的逻辑工作单位。
2)一致性 Consistency):使数据库从一个一致性状态变到另一个一致性状态。
3)隔离性 Isolation):不能 被其他事务干扰。
4)持续性(永久性 Durability):一旦提交,改变就是永久性的。
2)一致性 Consistency):使数据库从一个一致性状态变到另一个一致性状态。
3)隔离性 Isolation):不能 被其他事务干扰。
4)持续性(永久性 Durability):一旦提交,改变就是永久性的。
处理并发控制的主要方法是采用封锁技术。它有两种类型:排他型封锁( X 封锁)和共享型封锁( S 封锁),分别介绍如下:
1)排他 型封锁(简称 X 封锁)。如果事务 T 对数据 A(可以是数据项、记录、数据集,乃至整个数据库)实现了 X 封锁,那么只允许事务 T 读取和修改数据 A,其他事务要等事务 T 解除 X 封锁以后,才能对数据 A 实现任何类型的封锁。可见 X 封锁只允
许一个事务独锁某个数据,具有排他性。
2)共享型封锁(简称 S 封锁)。 X 封锁只允许一个事务独锁和使用数据,要求太严。需要适当放宽,例如可以允许并发读,但不允许修改,这就产生了 S 封锁概念。 S 封锁的含义是:如果事务 T 对数据 A 实现了 S 封锁,那么允许事务 T 读取数据 A,但不能修改数据 A,在所有 S 封锁解除之前绝不允许任何事务对数据 A 实现 X 封锁。
1)排他 型封锁(简称 X 封锁)。如果事务 T 对数据 A(可以是数据项、记录、数据集,乃至整个数据库)实现了 X 封锁,那么只允许事务 T 读取和修改数据 A,其他事务要等事务 T 解除 X 封锁以后,才能对数据 A 实现任何类型的封锁。可见 X 封锁只允
许一个事务独锁某个数据,具有排他性。
2)共享型封锁(简称 S 封锁)。 X 封锁只允许一个事务独锁和使用数据,要求太严。需要适当放宽,例如可以允许并发读,但不允许修改,这就产生了 S 封锁概念。 S 封锁的含义是:如果事务 T 对数据 A 实现了 S 封锁,那么允许事务 T 读取数据 A,但不能修改数据 A,在所有 S 封锁解除之前绝不允许任何事务对数据 A 实现 X 封锁。
故障与恢复
故障分类
1)事务故 障。事务在运行过程中由于种种原因,如输入数据的错误、运算溢出、违反了某些完整性限制、某些应用程序的错误,以及并发事务发生死锁等,使事务未运行至正常终止点就被撤销,这种情况称为“事务故障”。
2)系统故障。系统故障是指系统在运行过程中,由于某种原因(如操作系统或数据库管理系统代码错误、操作员操作失误、特定类型的硬件错误(如 CPU 故障)、突然停电等造成系统停止运行),致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,等造成系统停止运行,但存储在外存储设备上的数据不会受影响。
3)介质故障。系统在运行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞或由于操作系统的某种潜在的错误、瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损于操作系统的某种潜在的错误、瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损失,称为“介质故”。这类故障比前两类故障的可能性虽然小得多,但破坏性却最大。失,称为“介质故障”。这类故障比前两类故障的可能性虽然小得多,但破坏性却最大。
4)计算机病毒。计算机病毒是一种人为破坏计算机正常工作的特殊程序。通过读写)计算机病毒。计算机病毒是一种人为破坏计算机正常工作的特殊程序。通过读写染有病毒的计算机系统中的程序与数据,这些病毒可以迅速繁殖和传播,危害计算机系统和染有病毒的计算机系统中的程序与数据,这些病毒可以迅速繁殖和传播,危害计算机系统和数据库。目前大多数病毒是在数据库。目前大多数病毒是在 PC 和其兼容机上传播的。有的病毒一侵入系统就马上摧毁系和其兼容机上传播的。有的病毒一侵入系统就马上摧毁系统,有的病毒有较长的潜伏期,有的病毒则只在特定的日期统,有的病毒有较长的潜伏期,有的病毒则只在特定的日期发生破坏作用,有的病毒感染系发生破坏作用,有的病毒感染系统所有的程序和数据,有的只影响特定的程序和数据。统所有的程序和数据,有的只影响特定的程序和数据。
2)系统故障。系统故障是指系统在运行过程中,由于某种原因(如操作系统或数据库管理系统代码错误、操作员操作失误、特定类型的硬件错误(如 CPU 故障)、突然停电等造成系统停止运行),致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,等造成系统停止运行,但存储在外存储设备上的数据不会受影响。
3)介质故障。系统在运行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞或由于操作系统的某种潜在的错误、瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损于操作系统的某种潜在的错误、瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损失,称为“介质故”。这类故障比前两类故障的可能性虽然小得多,但破坏性却最大。失,称为“介质故障”。这类故障比前两类故障的可能性虽然小得多,但破坏性却最大。
4)计算机病毒。计算机病毒是一种人为破坏计算机正常工作的特殊程序。通过读写)计算机病毒。计算机病毒是一种人为破坏计算机正常工作的特殊程序。通过读写染有病毒的计算机系统中的程序与数据,这些病毒可以迅速繁殖和传播,危害计算机系统和染有病毒的计算机系统中的程序与数据,这些病毒可以迅速繁殖和传播,危害计算机系统和数据库。目前大多数病毒是在数据库。目前大多数病毒是在 PC 和其兼容机上传播的。有的病毒一侵入系统就马上摧毁系和其兼容机上传播的。有的病毒一侵入系统就马上摧毁系统,有的病毒有较长的潜伏期,有的病毒则只在特定的日期统,有的病毒有较长的潜伏期,有的病毒则只在特定的日期发生破坏作用,有的病毒感染系发生破坏作用,有的病毒感染系统所有的程序和数据,有的只影响特定的程序和数据。统所有的程序和数据,有的只影响特定的程序和数据。
恢复分类
(1)事务故 障。事务在运行过程中由于种种原因,如输入数据的错误、运算溢出、违反了某些完整性限制、某些应用程序的错误,以及并发事务发生死锁等,使事务未运行至正常终止点就被撤销,这种情况称为“事务故障”。
(2)系统故障。是指在运行过程中,由于某种原因(如操作或数据 系统故障。系统故障是指系统在运行过程中,由于某种原因(如操作系统或数据库管理系统代码错误、操作员操作失误、特定类型的硬件错误(如 CPU 故障)、突然停电等造成系统停止运行),致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,等造成系统停止运行),致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,但存储在外存储设备上的数据不会受影响。但存储在外存储设备上的数据不会受影响。
(3)介质故障。系统在运 介质故障。系统在运行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞或由行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞或由于操作系统的某种潜在的错误、瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损于操作系统的某种潜在的错误、瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损失,称为“介质故障”。这类故障比前两类故障的可能性虽然小得多,但破坏性却最大。失,称为“介质故障”。这类故障比前两类故障的可能性虽然小得多,但破坏性却最大。
(4)计算机病毒。计算机病毒是一种人为破坏计算机正常工作的特殊程序。通过读写。计算机病毒是一种人为破坏计算机正常工作的特殊程。通过读写染有病毒的计算机系统中的程序与数据,这些病毒可以迅速繁殖和传播,危害计算机系统和染有病毒的计算机系统中的程序与数据,这些病毒可以迅速繁殖和传播,危害计算机系统和数据库。目前大多数病毒是在数据库。目前大多数病毒是在 PC 和其兼容机上传播的。有的病毒一侵入系统就马上摧毁系和其兼容机上传播的。有的病毒一侵入系统就马上摧毁系统,有的病毒有较长的潜伏期,有的病毒则只在特定的日期统,有的病毒有较长的潜伏期,有的病毒则只在特定的日期发生破坏作用,有的病毒感染系发生破坏作用,有的病毒感染系统所有的程序和数据,有的只影响特定的程序和数据。统所有的程序和数据,有的只影响特定的程序和数据。
(2)系统故障。是指在运行过程中,由于某种原因(如操作或数据 系统故障。系统故障是指系统在运行过程中,由于某种原因(如操作系统或数据库管理系统代码错误、操作员操作失误、特定类型的硬件错误(如 CPU 故障)、突然停电等造成系统停止运行),致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,等造成系统停止运行),致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,但存储在外存储设备上的数据不会受影响。但存储在外存储设备上的数据不会受影响。
(3)介质故障。系统在运 介质故障。系统在运行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞或由行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞或由于操作系统的某种潜在的错误、瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损于操作系统的某种潜在的错误、瞬时强磁场干扰,使存储在外存上的数据部分损失或全部损失,称为“介质故障”。这类故障比前两类故障的可能性虽然小得多,但破坏性却最大。失,称为“介质故障”。这类故障比前两类故障的可能性虽然小得多,但破坏性却最大。
(4)计算机病毒。计算机病毒是一种人为破坏计算机正常工作的特殊程序。通过读写。计算机病毒是一种人为破坏计算机正常工作的特殊程。通过读写染有病毒的计算机系统中的程序与数据,这些病毒可以迅速繁殖和传播,危害计算机系统和染有病毒的计算机系统中的程序与数据,这些病毒可以迅速繁殖和传播,危害计算机系统和数据库。目前大多数病毒是在数据库。目前大多数病毒是在 PC 和其兼容机上传播的。有的病毒一侵入系统就马上摧毁系和其兼容机上传播的。有的病毒一侵入系统就马上摧毁系统,有的病毒有较长的潜伏期,有的病毒则只在特定的日期统,有的病毒有较长的潜伏期,有的病毒则只在特定的日期发生破坏作用,有的病毒感染系发生破坏作用,有的病毒感染系统所有的程序和数据,有的只影响特定的程序和数据。统所有的程序和数据,有的只影响特定的程序和数据。
备份与恢复
备份
备份和恢复计划的制订要遵循以下两个原则:
(1)保证数据丢失的情况尽量少或完全不丢失,因为性价比的要求,这要取决于现实性价比的要求,这要取决于现实系统的具体要求。系统的具体要求。
(2)备份和恢复时间尽量短,保证系统最大的可用性。数据库备份按照不同方式可分为多种,这里按照备份内容分为物理备份和逻辑备份两类。
一个备份周期通常由一个完全备份和多个增量、累积备份组成。
(1)保证数据丢失的情况尽量少或完全不丢失,因为性价比的要求,这要取决于现实性价比的要求,这要取决于现实系统的具体要求。系统的具体要求。
(2)备份和恢复时间尽量短,保证系统最大的可用性。数据库备份按照不同方式可分为多种,这里按照备份内容分为物理备份和逻辑备份两类。
一个备份周期通常由一个完全备份和多个增量、累积备份组成。
分布式数据库
分布式数据库系统有以下几个特点
(1)数据的分布性。分布式数据库中的数据分布于网络中的各个结点,它既不同于传统的集中式数据库,也不同于通过计算机网络共享的集中式数据库系统。
(2)统一性。主要表现在数据在逻辑上的统一性和数据在管理上的统一性两个方面。分布式数据库系统通过网络技术把局部的、分散的数据库构成一个在逻辑上单一的数据库,从而呈现在用户面前的就如同是一个统一的、集中式的数据库。这就是数据在逻辑上的统一性,因此,它不同于由网络互联的多个独立数据库。分布式数据库是由分布式数据库管理系统统一管理和维护的,这种管理上的统一性又使它不同于一般的分布式文件系统。
(3)透明性。用户在使用分布式数据库时,与使用集中式数据库一样,无须知道其所关心的数据存放在哪里,存储了几次。用户需要关心的仅仅是整个数据库的逻辑结构。
(2)统一性。主要表现在数据在逻辑上的统一性和数据在管理上的统一性两个方面。分布式数据库系统通过网络技术把局部的、分散的数据库构成一个在逻辑上单一的数据库,从而呈现在用户面前的就如同是一个统一的、集中式的数据库。这就是数据在逻辑上的统一性,因此,它不同于由网络互联的多个独立数据库。分布式数据库是由分布式数据库管理系统统一管理和维护的,这种管理上的统一性又使它不同于一般的分布式文件系统。
(3)透明性。用户在使用分布式数据库时,与使用集中式数据库一样,无须知道其所关心的数据存放在哪里,存储了几次。用户需要关心的仅仅是整个数据库的逻辑结构。
分布式数据库具有下列优点
(1)坚固性好。由于分布式数据库系统是由多个位置上的多台计算机构成的,在个别结点或个别通信链路发生故障的情况下,它仍然可以降低级别继续工作,如果采用冗余技术,还可以获得一定的容错能力。因此,系统的坚固性好,即系统的可靠性和可用性好。
(2)可扩充性好。可根据发展的需要增减结点,或对系统重新配置,这比用一个更大的系统代替一个已有的集中式数据库要容易得多。
(3)可改善性能。在分布式数据库中可按就近分布,合理地冗余的原则来分布各结点上的数据,构造分布式数据库,使大部分数据可以就近访问,避免了集中式数据库中的瓶颈问题,减少了系统的响应时间,提高了系统的效率,而且也降低了通信费用。
(4)自治性好。数据可以分散管理,统一协调,即系统中各结点的数据操纵和相互作用是高度自治的,不存在主从控制,因此,分布式数据库较好地满足了一个单位中各部门希望拥有自己的数据,管理自己的数据,同时又想共享其他部门有关数据的要求。
(2)可扩充性好。可根据发展的需要增减结点,或对系统重新配置,这比用一个更大的系统代替一个已有的集中式数据库要容易得多。
(3)可改善性能。在分布式数据库中可按就近分布,合理地冗余的原则来分布各结点上的数据,构造分布式数据库,使大部分数据可以就近访问,避免了集中式数据库中的瓶颈问题,减少了系统的响应时间,提高了系统的效率,而且也降低了通信费用。
(4)自治性好。数据可以分散管理,统一协调,即系统中各结点的数据操纵和相互作用是高度自治的,不存在主从控制,因此,分布式数据库较好地满足了一个单位中各部门希望拥有自己的数据,管理自己的数据,同时又想共享其他部门有关数据的要求。
分布式数据库的目标
(1)局部结点自治性。
(2)不依赖中心结点。
(3)能连续操作。
(4)具有位置独立性(或称位置透明性)。
(5)分片独立性(或称分片透明性)
(6)数据复制独立性
(7)支持分布式查询处理。
(8)支持分布事务管理。
(9)具有硬件独立性。
(10)具有操作系统独立性。
(11)具有网络独立性。
(12)具有 DBMS 独立性。
分布式数据库的架构
全局外模式
全局概念模式
分片模式
分布模式
局部概念模式
局部内模式
全局概念模式
分片模式
分布模式
局部概念模式
局部内模式
分布式数据库管理系统的结构
(1)LDBMS(局部 DBMS)。
(2)GDBMS(全局 DBMS)。
(3)全局数据字典。
(4)CM(Communication Management,通信管理)
(2)GDBMS(全局 DBMS)。
(3)全局数据字典。
(4)CM(Communication Management,通信管理)
数据仓库的结构
从数据仓库的概念结构看,一般来说,数据仓库系统要包含数据源、数据准备区、数据仓库数据库、数据集市 /知识挖掘库及各种管理工具和应用工具
常用的数据挖掘技术包括关联分析、序列分析、分类、预测、聚类分析及时间序列分析等。
创建型 -- 原工抽生单(员工抽圣诞)
结构型 -- 适组桥装享外代(祖师桥装箱外带)
行为型 -- 中职解命观状策模访迭备(中职姐命关壮策模仿叠被)
结构型 -- 适组桥装享外代(祖师桥装箱外带)
行为型 -- 中职解命观状策模访迭备(中职姐命关壮策模仿叠被)
习题
一般来说将模式从高到低分为三个层次,分别为架构模式、设计模式与惯用法。</p><p>其实从软件开发角度来看,架构模式是很泛或者专业术语叫粗粒度的模式,为什么这样说,因为他是系统总体设计上的模式,比较抽象,就像如今天开发大部分都会说三层架构这样术语 。</p><p>那么,再具体一点的东西是就是设计模式(如:GoF23等),这些东西就是面对具体问题具体分析时使用的设计方法,这个相对架构模式来说,已经是比较具体的东西了,但是它还是较粗粒度的东西,因为他与程序语言无关。 <br></p><p>下一个阶段就需要程序语言具体实现了,这是很具体的,细粒度的事情,惯用法则是实现时通过某种特定的程序设计语言来描述构件与构件之间的关系,例如引用-计数就是C++语言中的一种惯用法
0 条评论
下一页