软考——软件设计师
计算机组成与体系结构(1 - 11章节)
一、数据表示
数据转换
码制(原码/反码/补码/移码)
- 原码:最高位是符号位,0代表正数,1代表负数,非符号位为该数字绝对值的二进制。
- 反码:正数的反码与原码一致,负数的反码是对原码按位取反,只是最高位(符号位)不变。
- 补码:正数的补码与原码一致,负数的补码是对原码按位取反+1(反码+1),符号位不变
- 移码:补码符号位取反
浮点数
- 格式
N = 尾数 ∗ 基 数 指数 \ N=尾数*基数^{指数} \, N=尾数∗基数指数
尾数:顶点小数(补码表示),决定有效精度
【IEE754:原码表示】
基数:2(计算机中不需要存储),决定数的范围
指数:阶码(移码表述) - 浮点数运算
对阶(小向大的对阶)> 尾数计算 > 结果格式化
逻辑运算
二、校验码
- 码距:一个编码系统中任意两个合法编码(码字)之间不同的二进数位(bit)数叫这两个码字的码距,而整个编码系统中任意两个码字的的最小距离就是该编码系统的码距。
奇偶校验和
- 奇校验:整个校验码(有效信息位+校验位)中的1为奇数个。
- 偶校验:整个校验码中的1为偶数个。
只能检查奇数个数据位出错,不能纠错
CRC循环冗余校验码
- CRC 编码方法:K位信息码+R位校验码
- 检验:CRC码模2除以多项式(余数为0正确)
可以检错,可以纠错
海明校验码
- 编码:在有效信息位中加入几个校验位,通过扩大码距利用奇偶性进行检错。
- 根据给出信息码位数m,求校验码的位数r:
2 r − 1 > = m + r \ 2^r-1>=m+r \, 2r−1>=m+r
可以检错,也可以纠错
三、计算机结构组成
外设
- 输入设备
- 输出设备
- 辅助存储器(辅存/外存)
主机
- 主存储器(主存/内存)
- CPU(中央处理单元)
- 运算器
- 算术逻辑单元ALU:数据的算术运算和逻辑运算
- 累加寄存器AC:通用寄存器,为ALU提供一个工作区,用作暂存数据
- 数据缓冲寄存器DR:写内存时,暂存指令或数据
- 状态条件寄存器PSW:存状态标志与控制标准(有争议,也有将其归为控制器内)
- 控制器
- 程序计数器PC:存储下一条要执行的指令地址
- 指令寄存器IR:存储即将执行的指令
- 指令译码器ID:对指令中的操作码进行分析解释
- 时序部件:提供时序控制信号
- 运算器
四、寻址方式
- 指令的基本概念
- 格式:
- 操作码字段+地址码字段
- OP+A1+A2
- 格式:
- 寻址方式
- 立即寻址方式 OP+操作数
- 直接寻址方式 OP+直接地址
- 间接寻址方式 OP+间接地址(指向操作数的地址)
- 寄存器寻址地址 OP+R(寄存器存放操作数)
- 寄存器间接寻址地址 OP+R(寄存器存放操作数的地址)
五、CISC与RISC
- CISC:“Complex Instruction Set Computer”,即“复杂指令系统计算机”
- RISC:“Reduced Instruction Set Computer”,即“精简指令集计算机”
六、流水线技术
流水线下可态势执行多条指令,但不属于并行,而是准并行,因为是在不同部件下同时进行的。
- 流水线建立时间:第一条指令执行完毕的时间
n-1的指令完成时间在第一条指令完成后开始计算都是隔一个相同时间就能完成(即周期时间完成指令) - 流水线周期:执行时间最长的一段(取指、分析、执行中最长的)
- 流水线计算公式:
第 1 条指令执行时间 + (指令条数 − 1 ) ∗ 流水线周期 \ 第1条指令执行时间+(指令条数-1)*流水线周期 \, 第1条指令执行时间+(指令条数−1)∗流水线周期- 理论公式:
( t 1 + t 2 + . . . + t n ) + ( n − 1 ) ∗ t \ (t1+t2+...+tn)+(n-1)*t \, (t1+t2+...+tn)+(n−1)∗t - 实践公式:将每一段都扩大到周期时间
k ∗ t + ( n − 1 ) ∗ t \ k*t+(n-1)*t \, k∗t+(n−1)∗t
- 理论公式:
- 流水线吞吐率计算
- 流水线吞吐量
T P = 指令条数 / 流水线执行时间 \ TP=指令条数/流水线执行时间 \, TP=指令条数/流水线执行时间 - 流水线最大吞吐率:流水线周期的倒数
- 流水线吞吐量
七、存储系统
层次化存储系统
局部性原理是层次化存储结构的支撑
- 时间局部性:刚被访问的内容,立即又被访问
- 空间局部性:刚被访问的内容,临近的空间很快被访问
- CPU
- 寄存器
- 最快,但容量小,成本高
- Cache
- 按内容存取
- 内存(主存)
- 随机存储寄存器RAM
- 只读存储寄存器ROM
- 外存(辅存)
- 硬盘
- 光盘
- U盘
分类
- 按存储器位置分
内存 & 外存 - 按存取方式分
- 按内容存取
相联存储器(eg:Cache) - 按地址存取
随机存取存储器(eg:内存)
顺序存取存储器(eg:磁带)
直接存取存储器(eg:磁盘)
- 按内容存取
- 按工作方式分
随机存取存储器RAM(eg:内容DRAM动态随机存取存储器、SRAM静态随机存取存储器)【掉电会丢失】
只读存取存储器ROM(eg:BIOS)
Cache
解决主存与CPU速度不一样的
-
概念
- 在计算机存储体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)
- 使用Cache改善系统性能的依据是程序的局部性原理:
- 时间局部性
- 空间局部性
- 系统的平均周期:
- 地址映射
主存与cache之间的地址映射由硬件直接完成。
地址映射是将主存与cache的存储空间划分为若干大小相同的页(块)-
直接相联映射:硬件电路较简单,但冲突率很高。
-
全相联映射: 电路难于设计和实现,只适用于小容量的cache,冲突率较低。(cache有位置就可以放)
-
组相联映射:直接相联与全相联的折中。
-
主存编址计算
- 编址
- 比特位bit
- 字节K(8bit):存储单元
- 存储单元
- 存储单元个数
- 编址内容
- 按字编址:存储体的存储单元是字存储单元,即最小寻址单位是一个字
- 按字节编址:
- 总容量
总容量 = 存储单元个数 ∗ 编址内容 \ 总容量=存储单元个数*编址内容\, 总容量=存储单元个数∗编址内容
八、输入输出技术(I/O)
- 数据传输控制方式
-
程序控制(查询)方式:分为无条件传送和程序查询方式两种。方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率。
-
程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。CPU与数据传输并行。
-
DMA方式(直接内存存取方式):DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高。【不参与数据执行过程即不需要CPU执行程序指令来传送数据】
DMA向总线裁决提出总线请求;CPU执行完当前总线周期即可释放总线控制权。此时DMA响应,通过DMA通知I/O接口开始DMA传输。 -
通道方式
-
I/O处理机
-
九、总线系统
- 特点
分时双工:一条总线同一时刻仅允许一个设备发送,但也许多个设备接收 - 总线的分类
- 数据总线DB:在CPU与RAM之间来回传送需要处理后是需要存储的数据。
- 地址总线AB:用来指定在RAM之间储存的数据的地址。
- 控制总线CB:将微处理器控制单元的信号传送到周边设备。
十、可靠性
-
可靠性性能指标
- 在实际应用中,一般MTTR很小,所以通常认为MTBF约等于MTTF
- == 可靠性可以用 MTTF/(1+MTTF)来度量 ==
-
串联系统与并联系统
-
N模混合系统
十一、性能指标
操作系统(12 - 18)
十二、操作系统
操作系统的作用
- 管理系统的硬件、软件、数据资源
- 控制程序运行
- 人机之间的接口
- 应用软件与硬件之间的接口
- 进程管理
- 存储管理
- 文件管理
- 作业管理
- 设备管理
特殊的操作系统
十三、进程
进程的概念
- 进程 = 程序块+程序控制块(PCB)+数据块
- 进程是程序在一个数据集合运行的过程,它是系统进行资源分配和调度的一个独立单位。
- 进程 vs 程序:
进程是程序的一次执行过程 - 进程 vs 线程
进程的2个基本属性:1. 可拥有资源的独立单位;2. 可独立调度和分配资源的基本单位。
本质区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。
影响关系:一个进程崩溃后,在保护模式下其他进程不会被影响,但是一个线程崩溃可能导致整个进程被操作系统杀掉,所以多进程要比多线程健壮。
进程的状态
-
三态模型
-
五态模型
进程的调度
PV操作的概念
- 进程的同步与互斥
- 临界资源 :
- 同步:【直接制约关系】速度有差异,在一定情况下等待
- 互斥:【间接制约关系】
信号量与PV操作
- PV操作
- 信号量:是一种特殊的变量(全局)
- 信号量可以表示资源数量
- 信号量为负数时可以表示排队进程数
- 信号量:是一种特殊的变量(全局)
- 互斥模型
- 同步模型(2个信号量)
S:互斥信号,对临界资源的使用,同一时刻只能让一个进程使用,初始值为1
S1:同步信号,市场空闲位置的数量,初始值为1
S2:同步信号,市场中产品的数量,初始值为0
前趋图与PV操作
- 前趋图
箭头流入:P操作
箭头流出:V操作
死锁资源数计算
- 死锁:是指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。
- 死锁四大条件
- 互斥
- 保持和等待
- 不剥夺
- 环路等待
- 死锁的处理
- 死锁的预防(打破四大条件)
- 有序资源分配
- 静态资源分配
- 死锁的避免
- 银行家算法
- 死锁的检错与解除
- 鸵鸟策略(不予理睬)
- 死锁的预防(打破四大条件)
- 系统不可能发生死锁的最小资源数:
n > = ( w − 1 ) ∗ m + 1 \ n>=(w-1)*m+1\, n>=(w−1)∗m+1- m:进程数
- w:每个进程需要的资源数
进程资源图
十四、段页式存储
页式存储
- 页式存储
将程序与内存划分为同样大小的块,以页为单位将程序调入内存
- 逻辑地址:页号+页内地址
- 物理地址:页帧号+页内地址
- 缺页中断
- 页面置换算法
- 最优算法(OPT)
- 随机算法(RAND)
- 先进先出算法(FIFO)
- 有可能产生“抖动”
- 最近最少使用算法(LRU)
- 不会产生抖动
段式存储
- 段式存储
按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长短可以不一样。
- 逻辑地址:段号+段内偏移量
- 段内偏移量不能超过段长
- 优点:多道程序共享内存,各段程序的修改互不影响
- 缺点:内存利用率低,内存碎片浪费大
- 逻辑地址:段号+段内偏移量
段页式存储
- 段页式存储管理
段页式存储管理为每一个装入内存的作业建立一张段表,对每一段建立一张页表;段表的长度由作业分段的个数决定,段表中的每一个表目指出本段页表的始址和长度;页表的长度则由对应段所划分的页面数所决定,页表中的每一个表目指出本段的逻辑页号与内存物理块号之间的对应关系。
十五 、磁盘管理
磁盘结构
磁盘的读取
移臂调度算法
-
先来先服务(FCFS)
-
最短寻道时间(SSTF)
-
扫描算法(SCAN,电梯算法,双向)
-
循环扫描(CSCAN,单向)
例题
-
题一:单缓冲区VS双缓冲区
-
题二
-
题三:优化分布
- 在处理R0的时候,磁头不会停止转动
优化分布:2圈能处理完:66ms
- 在处理R0的时候,磁头不会停止转动
十六、IO管理软件
- 分层
十七、文件管理
文件相关概念
- 文件
- 逻辑结构:
- 有结构的记录式文件
- 无结构的流式文件
- 物理结构
- 连续结构
- 链接结构
- 索引结构
- 多个物理块的索引表
- 文件目录
文件目录项/文件的说明/文件控制块FCB
基本信息:文件名、文件的物理地址、文件的长度和文件块数
存储控制信息类:文件的存储权限:读写、执行权限等
使用信息类:文件建立日期、最后一次修改/访问日期、当前使用的信息、打开文件的进程数以及在文件上的等待队列等 - 目录结构
- 一级目录结构:线性结构,查找速度慢,不允许重名和实现文件共享等
- 二级目录结构:主文件目录(MFD)+ 用户目录(UFD)
- 三级目录结构:树形目录结构(多级目录结构)
树形目录结构(绝对路径与相对路径)
- 绝对路径:以 / 开头
- 全文件名:绝对路径+文件名
位示图
- 位示图:是操作系统中一种管理空闲存储空间的方法。
索引文件
- 默认结构:13个索引节点
- 访问磁盘次数:
- 直接索引:1次
- 一级间接索引:2次
- 二级简介索引:3次
- 三级间接索引:4次
十八、作业管理
- 作业调度算法
- 先来先服务法
- 时间片轮转法
- 短作业优先法
- 最高优先权有线法
- 高响应比优先法
响应比=(作业等待时间+作业执行时间)/作业执行时间
数据库系统(18 -
十九、数据库
数据库体系结构
- 数据库系统的体系结构
- 集中式数据库系统
- C/S结构
- 分布式数据库
- 物理上分布、逻辑上集中
- 物理上分布、逻辑上分布
- 特点
- 数据独立性
- 集中与自治共享结合的控制结构
- 适当增加数据冗余度。在不同场地存储统一数据的多个副本,可以提高系统的 == 可靠性和可用性== 与系统性能。
- 全局的一致性、可串行性和可恢复性
- 透明性
- 分片透明。指用户不必关心数据是如何分片(块)的,它们对数据的操作在全局关系上进行。
- 复制透明
- 位置透明
- 局部映像透明(逻辑透明)。是最低层次的透明性。该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据库操作语言,数据模型和操作语言的转换是由系统完成的。
- 并行数据库
- 共享内存式数据库
- 无共享式数据库
三级模式结构
- 三级模式:
- 逻辑独立性:数据的逻辑结构发生变化后,用户程序也可以不用修改。但是为了保证应用程序能够正确执行,需要修改外模式和概念模式之间的映像。
- 物理独立性:当数据的物理结构发生改变时,应用程序不用改变。但是为了能够波安装应用能够正常执行,需要修改概念模式和内模式之间的映像。
数据仓库
- 数据仓库:是一个用于存储、分析、报告的数据系统。数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持。
数据仓库本身并不“生产”任何数据,其数据来源于不同外部系统;同时数据仓库自身也不需要“消费”任何的数据,其结果开放给各个外部应用使用,这也是为什么叫“仓库”,而不叫“工厂”的原因。 - 特点
- 面向主题:数据按主题组织
- 集成的:消除了数据中的不一致性,提供整个企业的一致性全局信息
- 相对稳定的(非易失的):主要进行查询操作,只有少量的修改和删除惭怍(或是不删除)
- 反映历史变化(随时间变化):记录了企业从过去某一时刻到当前各个阶段的信息,可对发展历程和未来趋势做定量分析和预测。
二十、数据库设计过程
概念设计阶段
概念设计过程
E-R图
- 实体
- 属性
- 简单属性
- 复合属性(eg:地址)
- 单值属性
- 多值属性
- NULL属性
- 派生属性
- 联系
特殊:三元关系 - 扩展的E-R模型
- 弱实体:在现实世界中有一种特殊的依赖关系,该联系是指某实体是否存在对于另一些实体具有很强的依赖关系。
- 特殊化:在实现世界中,某些实体一方面具有一些共性,另一方面具有各自的特性,一个实体机可以按照某些特征区分为几个子实体。
- 聚集:一个联系作为另一个联系的一端。