系统分析师笔记及知识点汇总分析Word下载.docx
《系统分析师笔记及知识点汇总分析Word下载.docx》由会员分享,可在线阅读,更多相关《系统分析师笔记及知识点汇总分析Word下载.docx(160页珍藏版)》请在冰豆网上搜索。
![系统分析师笔记及知识点汇总分析Word下载.docx](https://file1.bdocx.com/fileroot1/2022-12/31/ba8bb0b3-854c-4fc2-b4db-7bd3ae885a0b/ba8bb0b3-854c-4fc2-b4db-7bd3ae885a0b1.gif)
1024B=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
1024TB=1PB
2.映射机制
存储容量与存储地址的关系:
容量的大小转换为2的n次幂,则地址就用n位表示
如128*4096B=2的19次幂,就是需要19位的内存地址
直接映射:
Cache将主存中的信息地址映射到Cache中,主存与Cache分成容量相同的块,然后将一个主存的块映射到Cache的特定位置上(特定位置是指,将主存地址拆分后四位为Cache块内地址,中间10位是Cache块号)
全相联映射:
主存的页对应Cache的页,淘汰可替换
组相联映射:
块大小相同,组数相同
3.淘汰算法
先进先出FIFL
最近最少使用淘汰法LRU
4.写操作
写直达,写入Cache时同时写入内存
写回,写入Cache时先不写入内存,等在缓存中失效时再写入内存
标记法,标记在Cache中修改的信息,读取的时候通过标识位判断
1.3输入输出接口
1.3.1输入输出方式
1.程序控制方式,通过指令控制I/O,但是程序需要时刻查询I/O设备的状态,是否完成
2.程序中断方式,CPU不必去监控I/O设备完成情况,I/O设备完成数据传输后发出中断信号通知CPU,CPU在去处理
3.DMA工作方式,DMAC(DMA控制器),CPU与DMAC共享总线,DMA时CPU暂时放弃系统总线控制交给DMAC控制
4.通道方式,采用通道程序
5.输入输出处理机,专用处理机,用于大型高效计算机
1.3.2总线和接口
总线的定义:
是一组进行互连和传输信息(指令、数据、地址)的信号线,是计算机内部各个部件链接的桥梁
1.总线分类
按位置分:
CPU内部的总线叫内部总线,CPU与内存的总线叫外部总线
按总线功能分:
地址总线(传地址)、数据总线(传数据)、控制总线(传控制信号)
按总线在系统中的位置分:
机内总线(IDE链接硬盘的、SCSI小型计算机系统接口)、机外总线(USB可用于链接外部设备)
按用途分:
局部总线、系统总线、通信总线
2.总线的标准:
IEEE
3.接口分类:
串行接口(一次传1位信息)、并行接口(一次传送多位信息)
4.常见接口:
ESDI(加强型小型设备接口)
IDE(磁盘接口)
SCSI(大容量存储设备、光驱接口)
PCMCIA(笔记本内存卡接口)
IEEE-1394(数码相机、摄像机接口标准)
USB串行总线式接口,USB1.0速度12Mbps,USB2.0速度480Mbps,USB3.0速度4.8Gbps
1.4各种体系结构
1.复杂指令系统计算机(CISC):
指令多、各个指令使用频率悬殊、长度不固定
2.精简指令系统计算机(RISC):
指令少、寻址方式少、长度固定,采用Cache方案提高指令获取速度
1.4.2流水线技术
1.参数计算:
1个任务分成n个子任务,每个子任务需要时间t,则完成这个任务需要nt时间,
k个任务顺序执行需要knt时间
k个任务使用流水线则需要:
nt+(k-1)t=(n+k-1)t
如果分解的子任务用时不同则t取用时最长的子任务时间:
(t1+t2+tn)+(k-1)tmax
用时=完成一个任务的时间+剩余任务数(k-1)*最长子任务时间
吞吐率:
单位时间内完成的任务数(秒s)1s=10的9次幂ns
加速比:
不适用流水线用时/流水线用时
2.影响流水线运行的因素
转移指令,流水线无法重叠执行破坏流水线机理
共享资源访问冲突,子任务间存在资源冲突,会破坏流水线
响应中断,执行一半中断
3.非线性流水线
并行流水线:
公式与流水线一样就是任务数/并行流水线的数量,因为同时执行因此相当于执行如:
3条并行流水线同时执行,假设每条流水线任务数相同,则只用执行1/3的任务的时间
1.4.3并行处理
1.超级标量处理机
2.超级流水线处理机
3.超长指令字处理机
4.向量处理机
5.多处理机系统
6.大规模并行处理机,MPP
7.对称多处理机,SMP
1.4.4互联网络
2.操作系统
2.1操作系统的类型与结构
2.1.1操作系统类型
1.批处理
2.分时
3.实时
4.网络
5.分布式
操作系统基本功能:
处理机管理/进程管理
存储管理
设备管理
文件管理
作业管理
2.1.2操作系统结构
1.无序结构,模块化,模块间通过接口调用
2.层次结构,分多层,层次见单向依赖
3.面向对象,基于面向对象思想
4.对称多处理,多处理机共享内存
5.微内核,微内核就是抽象层,将操作系统的功能抽象出来基础功能,一般用于嵌入式操作系统
cpu-寄存器-一级缓存-二级缓存/三级缓存-内存-二级存储(外存,外部存储如硬盘)
2.2处理器管理
2.2.1进程状态
进程是动态概念,程序是静态概念,进程是程序的动态运行,需要各种资源如CPU,内存等
进程由程序、数据、进程控制块(PCB)组成
1.三态模型
运行,得到资源并进行计算
就绪,得到资源,等待执行
等待,等待资源或人工干预
2.五态模型
静止就绪,就绪队列中已有就绪任务,多余的就绪任务短期不能调用,放到二级存储中
静止阻塞,阻塞队列中已有阻塞任务,多余的短期不能调用,放到二级存储中
活跃就绪,内存中没有活跃就绪状态的任务时,到静止就绪中获取
活跃阻塞,内存中没有活跃阻塞状态的任务时,到静止阻塞中获取
运行,得到时间片,满足资源要求,在CPU中处理
状态切换的目的是协调系统资源,由于系统资源有限因此需要通过优先级或条件进行协调资源,使系统正常运行
挂起状态的进程一般被转换到二级存储中(外存),减少内存损耗
静止阻塞-活跃阻塞:
系统腾出资源空间并且优先级高的先被激活
挂起的进程不参与调度
必须被激活后才能调入内存中等待执行
挂起的进程只能由操作系统或父进程激活
2.2.2信号量与PV操作
P(S)S-1S<
0挂起
V(S)S+1S<
=0触发P(S)操作
1.互斥S=1PV成对出现
2.同步S=0PV多个进程中分别出现
3.生产消费
空闲区的空闲数量S1=N
已填充空闲区数量S2=0
互斥S3=1
图2-3
存货的要先判断仓库中有没有空位
如果仓库有空位就执行P(S1)空位减少一个
如果没有空位则S1<
0存货的挂起等待
存完货后要通知取货的库中已经有一个货物了
提货的要先判断仓库里有没有货
如果没有货则挂起等待
如果有货则先P(S2)将货物提取一个货物
提取后执行V(S1)通知存货的已经有一个空位
图2-4
不能同时放也不能同时读取因此要用互斥
2.2.3死锁问题
1.死锁发生的必要条件
互斥条件
保持与等待条件
不可抢占条件
循环等待条件
2.银行家算法
表2-2
申请的总资源不能多于系统资源数
可分期请求资源,请求总数不超过最大需求量
可推迟分配等待资源
申请后的剩余资源能不满足其他进程的总申请资源的需求,如果可以满足还要测试能满足完成条件的进程完成后释放的资源是否可以满足其他进程全部需求
3.解决死锁的策略
死锁预防:
破坏死锁发生条件,如一次性申请全部资源
死锁避免:
采用银行家算法
死锁检测:
检测是否发生死锁,发生则使用死锁接触策略处理
死锁解除:
剥夺发生死锁的进程,强制回收
2.2.4管程与线程
管程就是将临界资源的调用封装起来,需要调用临界资源的进程需要进入管程操作,而管程一次只能进入一个进程进行操作达到进程互斥的目的
线程:
进程申请的资源可以被线程共享使用
一个进程创建时默认创建一个线程也叫主线程,一个进程可以创建多个线程实现多项任务并行执行,多个线程共享进程资源。
线程解决了进程的并行处理以及进程创建子进程的资源开销
2.3文件管理
2.3.2文件的物理组织
连续文件:
记录存储在硬盘上的连续的物理块中,通过起始位置及文件长度可获得文件
优点:
存取速度快
缺点:
由于需要确定长度,因此不适合经常修改的情况
串联文件:
物理块中存储下一个物理块的指针,形成一个类似链表的结构
充分利用存储空间
速度慢不适用于随机存取,只使用顺序访问
索引文件:
将物理块的地址通过索引表管理起来
适合随机存取,也适应顺序存取
索引表占用磁盘空间,而且需要2次访问磁盘(1次读取索引表,一次读取物理块内容)
解决方法:
将索引表读入内存
UNIX使用的是三级索引结构
2.3.3树形目录结构
树形目录,绝对路径(唯一),相对路径(根据工作目录确定),工作目录(当前目录)
NTFS与FAT32
NTFS:
快,空间大,分区可达到2T,碎片少,安全性高
FAT32:
分区最大可达32G
2.3.4存储空间管理
存储空间管理:
就是管理空闲的物理块
1.空闲表法:
将空闲的盘块及数量记录在空闲区的空闲表项中
2.空闲链表法:
①将空闲盘块拉成一条链表,通过增加删除操作管理空闲块
②链表中的盘区上增加下一个空闲盘区的指针
3.位图法:
将空闲盘块通过二进制方式0空闲1已分配来管理空闲盘区,可将位图放到内存。
4:
成组链接法:
结合空闲表和空闲链表法,适用于大型文件
2.4存储管理
2.4.1地址变换
存储地址,取决于存储空间的大小,二进制或2的几次方,如2的32次方就是32位的,
64次方的就是64位
地址变换:
用硬盘顶替部分内存的工作,使用户可以使用比内存地址大的地址空间来编程,因此用户使用的逻辑地址要转换为内存地址(实际地址)
转换方法:
静态重定位:
在程序执行前进行地址映射,无需硬件支持,无法实现虚拟存储
动态重定位:
在访问时进行地址转换,支持虚拟存储
存储最小单位是bit(b),字节是Byte(B),1B=8b
2.4.2存储组织
常见虚存组织有段式,页式,段页式(最常用)
段页式组织解决逻辑地址转物理地址的方式;
段内页号对应的地址:
高位是页号,低位是偏移
2.4.3存储管理
对虚拟存储器的管理设计到的问题及策略
载入(调入):
1现用现调;
2提前预调
放置:
放到内存分区
置换:
内存满了,需要将不常用的页置换到外存虚拟存储中腾出地方给要使用的页
1.置换算法:
最优,淘汰将来不经常使用的,该算法较难实现
随机,容易误杀
先进先出
最近最少使用
2.局部性原理:
可能出现打击率的事件如下:
刚访问的还能再访问;
访问某位置的还会访问该位置附近的
2.5作业管理
2.5.1作业的状态
作业创建时会建立一个作业控制块JCB,用于管理控制储存作业的信息
作业生命周期:
1.提交:
从输入设备提交到外存,传输信息到外存
2.后备:
信息传输全部传输到外存后,建立作业控制块
3.执行状态:
就是进程的5态模型-从外存调度进入内存执行
4.完成:
作业执行完毕,资源还未回收时的状态
2.5.2作业调度
作业调度:
1.高级调度:
作业调度,用于在后备作业队列中选择一个或一组一批作业,为他们建立进程分配资源,然后执行
2.中级调度:
交换调度,用于内外存间的调度,即挂起与激活的调度
3.低级调度:
进程调度就是调度就绪的进程
作业调度算法:
1.先来先服务:
不利于段作业
2.短作业优先:
不利于长作业
3.响应比高优先:
响应比=1+等待时间/执行时间,此算法需要计算耗用资源
4.优先级调度:
优先级高先执行
2.6设备管理
设备管理程序的功能:
1.提供进程调用设备接口
2.设备分配给进程
3.设备与cpu并行操作
4.缓冲区管理,解决设备与CPU内存处理速度不对称问题
2.6.1磁盘调度算法
磁盘访问流程:
寻道,等待扇区旋转,数据传输;
速度取决于寻道时间
1.FCFS先来先服务,时间长
2.SSTF,最短寻道有限,容易出现无线拖延现象又叫“饥饿”
3.scan,磁头移动方向上最短时间
4.N-SCAN,分步scan,扫描期间只接受等待服务的请求
5.C-SCAN循环扫描,磁头单向移动的N-SCAN算法
2.6.2虚拟设备与SPooling技术
虚拟设备,就是实现多用户多进程访问输入输出设备
原理:
通过缓冲区缓冲多个请求到队列中,通过模拟输入输出井来缓冲输入输出进程
实现虚拟设备,多台虚拟设备共用共享一个物理设备,每个进程不会感觉到时共享设备,而是独享设备
2.7网络操作系统
2.8分布式操作系统
3.数据库系统
3.1数据库管理系统DBMS
数据库系统DBS包括4个组成部分:
数据库、硬件、软件、数据库管理员(DBA)
数据库管理方式的特点:
1.复杂的数据模型来标识数据结构
2.与应用程序的独立性,物理和逻辑上的独立
3.提供用户访问接口
4.并发控制、恢复、完整性和安全性
5.灵活性
3.2数据库模式
1.三级模式
外模式-用户级,用户视图
概念模式-DBA视图
内模式-物理模式,数据库文件的物理存储
二级映射
1.外模式-概念模式映射
2.概念模式-内模式映射
二级独立
1.物理独立-用户应用于物理存储独立,各自更改不影响对方
2.逻辑独立-用户应用独立与逻辑存储,各自修改不相互影响
三个抽象级别
用户级,用户视图,对应与外模式
概念级,DBA视图,对应概念模式
物理级,内部视图,对应与内模式
3.3数据模型
3.3.1关系模型分类
概念模型(用于数据库设计)包括:
E-R实体-联系模型
基本数据模型(用于数据库建模)包括:
层次模型
网状模型
关系模型
面向对象模型
基本数据模型组成
1.数据结构-系统静态特性
2.数据操作-系统动态特性
3.完整性约束-完整性规则
3.3.2关系模型
关系模型基本概念:
1.域就是属性的取值范围
2.属性就是一列名称
3.元组就是一条数据
4.关系就是表与表之间的关联关系
5.主属性就是主键
6.非主属性就是非主键
7.分量就是一个元组中的一列属性值
1.关系型数据库的模型
DB={STUDENT(name,age,work,sex,birthday),
TEACHER(name,age,work)
}
2.关系
表与表之间的关系
3.3.3规范化理论
1.存储异常问题:
数据冗余,拆表,冗余的数据放到另外一张表中,进行关联
修改异常,一堆多关系设置,不要吧动态信息冗余到各条记录后面,防止共同属性修改导致需要修改几百条引用的信息
插入异常,拆表问题
删除异常,拆表问题,冗余数据在一起,导致删除某条数据冗余的数据同时被删除因为是一条记录的不同属性
2.函数依赖
3.范式
概念:
主属性,关键属性,可唯一标识一个元组的属性组({学号+姓名+性别},{身份证号+姓名+性别+年龄})
候选码,可唯一标识一个元组的1个主属性(如身份证号,学号)
范式:
第一范式(1NF),各个属性不可分割
第二范式(2NF),如果非主属性完全依赖候选码并且是1NF
第三范式(3NF),满足1NF,非主属性不依赖候选码
BC范式(BCNF),满足1NF,全部属性都不依赖于候选码
3.4数据操作
3.4.1集合运算
交集,R∩S,共同的元素
并集,R∪S,全部元素
差,R-S(R中有但S中没有的元素),S-R(S中有R中没有的元素)
笛卡尔积(X),R×
S,集合乘法例如{a,b,c}×
{1,2}={a1,a2,b1,b2,c1,c2},笛卡尔积后的元组数量=R的数量*S的数量
3.4.2关系运算
1.投影,取若干列
2.选择,根据条件筛选元组
3.自然连接,根据相同的键值进行关联
4.左右外链接,以哪个为主,为主的要全属性
5.完全外链接,2方为主的链接
3.4.3元组演算
3.4.4数据库访问接口
1.专用接口
2.ODBC
应用程序、驱动管理、驱动、数据源
3.JDBC
java数据库连接
3.5数据库的控制功能
事务ACID特性
A:
原子性,要么全做要么全不做
C:
一致性,数据库状态一致性
I:
隔离性,事务间互不干扰
D:
持久性,事务提交后将永久改变数据,即将数据写入磁盘
事务关键事件:
开始事务begintransaction
提交事务commit
回滚事务ROLLBACK
3.5.1并发控制
1.并发操作的问题:
丢失修改,同事读取,不同时提交,先提交的被后提交的覆盖。
不可重复读,读取后有事务修改了该数据,导致再次读取时值不同
读脏数据,修改后撤销,导致修改后撤销前读取的值成为脏数据
2.封锁的类型
解决并发问题的方法:
排它锁(X锁),只能加X锁的事务读取及修改该数据
共享锁(S锁),可共同读取但均不可修改
3.封锁协议:
一级协议,加X锁
二级协议,一级协议前加S锁
三级协议,一级协议前加S锁至事务结束
两段锁,扩展阶段是申请锁,加锁前申请锁,收缩阶段,释放锁,释放期间不允许申请锁,容易发生死锁
颗粒度:
颗粒度小并发性高开销大
颗粒度大并发性低开销小
4.死锁:
资源附加多种锁,然后事务互相等待对方解锁导致死锁。
预防法,顺序申请,将申请的事务排队编号,逐个申请
解除法,需要2个程序,一个检测死锁程序,一个解锁程序
3.5.2备份与恢复技术
引发系统故障原因大致如下:
事务内部的故障
系统范围内的故障,系统问题引起的故障
介质故障,硬件故障
计算机病毒
1.数据备份
冷备份:
拷贝数据库文件到磁盘,缺点需要数据库停止使用后才可以拷贝
热备份:
通过语句导出数据,缺点导出过程中有修改会导致备份的数据与库中的数据不一致
增量备份:
每次只备份修改的部分,加入到之前备份的数据中
2.日志文件
数据库运行过程中的全部操作都记录在日志中,包括数据备份时也叫加入日志,防止备份过程中的修改,通过日志可以知道备份库与现库的差异
先修改日志原则:
修改数据前要先存到日志中后再修改数据库
3.数据恢复
redo重做,undo撤销或未做完
1)事务故障的恢复:
此过程是系统自动完成的
步骤:
反向扫描日志文件,查找事务的操作
对事务的更新进行逆操作
继续反向扫描日志文件,继续查找事务操作继续执行上述过程
直至读到此事务的开始标记为止
2)系统故障的恢复:
在系统重启时自动完成的
正向扫描日志文件,找出故障发生前已经提交的事务标记入重做队列,未完成的事务标记入撤销队列
对撤销队列中的事务进行撤销操作,反向扫描日志文件将UNDO事务的更新操作执行逆操作
对重做队列中的各个事务进行重做处理,正向扫描日志文件对每个redo事务执行日志文件登记的操作
3)介质故障与病毒破坏的恢复
恢复近期数据库备份脚本
从故障点开始反向扫描日志,将已提交的事务标记入redo队列
从其实点开始正向扫描日志,将redo的事务重做,并恢复至故障前某一时刻的状态
4)有检查点的恢复技术
建立检查点,每个检查点都记录当前状态的全部事务清单
3.5.3数据库的安全性
1.用户认证
口令认证,用户名密码
强身份认证,如证书,智能卡,指纹等
2.用户角色
一般3类角色
1.数据库登陆角色,只能查
2.数据库资源管理,可以修改数据
3.DBA,可以创建用户创建表,授权与削权
3.数据授权
库级别:
可访问授权库内的全部内容
表级别:
可访问授权的表
行级别:
某表的某些行
属性级别:
某些属性
静态授权:
自己创建的数据自带权限
动态授权:
管理员给予的权限
4数据库视图
视图的功能:
①限制到行
②限制到列
③多表关联
④统计信息,如count(*)等
5.审计功能
DBA对数据库的时候监督,叫审计
事后审计,事前评审
3.5.4数据库的完整性
1.完整性约束条件:
对象是:
关系,元组,列
如:
主键不能为空,外键不可以修改等
2.完整性控制
分为实体完整性,参照完整性
非空,大于0等,本表的外键值必须对应外键表的主键而且该主键必须存在
外键级联操作,如级联删除等
4.触发器
triger,触发器就是在触发事件发生时必然执行结果事件
触发器有对实体完整性保护以及安全性保护
3.5.5数据库性能
数据库性能优化
1.sql优化
2.数据库参数调优
3.查询优化,如大表拆小表,建立索引,少用嵌套查询,联合表查询,IN语句中将出现频繁的字段放在前面,尽量不用OR用2条语句来实现
3.6数据库设计与建模
3.6.1数据库设计阶段
1.规划
2.需求分析
3.概念设计,抽象需求中的对象
4.逻辑设计,建模如类图,powerdesigner等
5.物理设计(建库),将模型创建