系统分析师笔记与知识点汇总.docx
《系统分析师笔记与知识点汇总.docx》由会员分享,可在线阅读,更多相关《系统分析师笔记与知识点汇总.docx(20页珍藏版)》请在冰豆网上搜索。
系统分析师笔记与知识点汇总
1计算机组成
1.1计算机组成与分类
1.1.1计算机的组成
6部件:
控制器,是分析和执行指令的部件
运算器,用于逻辑运算也叫算术逻辑单元ALU
内存储器,用于存储运算中间结果
外存储器
输入输出设备
(控制器与运算器在一起叫做中央处理器CPU)
1.1.2计算机的分类
Flynn分类法
1.单指令流单数据流(SISD)
2.单指令流多数据流(SIMD)
3.多指令流单数据流(MISD)
4.多指令流多数据流(MIMD),SMP对称处理与MPP海量并行处理结构均属于MIMD
其他分类方法:
冯氏分类法,Handler分类法,Kuck分类法
1.2多级存储器体系
存储器种类:
顺序存取,按顺序进行存取操作,磁带存储器
直接存取,根据唯一地址标识直接找到存储块进行操作,磁盘存储器
随机存取,通过地址随机存取,主存储器(内存)采用该方式
相联存取,通过内容随机存取,Cache缓存采用该方式
1.2.1主存储器(内存)
1.RAM随机存取存储器,可写可读断电不保存数据,RAM又分为DRAM(动态RAM,随时间推移而消失)和SRAM(静态RAM,断电前一直保存),容量小价格高
2.ROM只读存储器,一般用于BIOS的存储
3.PROM可编程ROM,只能写入一次
4.EPROM可擦除的PROM,需要紫外线照射15-20分钟可擦除
5.E2PROM电科擦除EPROM
6.闪速存储区,闪存如U盘
7.CAM相联存储器,基于内存进行访问,如cache
1.2.2辅助存储器(外存磁盘如硬盘)
1.磁带存储器
软盘
2.磁盘存储器
就是分区的圆柱体同心圆,每个面上有磁道与扇区,有多个盘面组成的柱性磁盘组
磁盘总容量=盘面数*每面磁道数*每道扇区数*每个扇区字节数
磁盘的数据传输速率=磁道上字节数/每转1圈时间
3.RAID存储,磁盘冗余阵列,分为8个级别分别为:
RAID0,无冗余无校验
RAID1,磁盘镜像阵列
RAID2,采用纠错海明码的磁盘阵列
RAID(3.4),采用独立校验盘,进行奇偶校验码的磁盘阵列
RAID5,分布式奇偶校验码的磁盘阵列
RAID6,独立数据硬盘,与双独立分布式校验方案
RAID7,高异步I/O,高速传输阵列
RAID10,综合多个RAID等级组成,目前该等级被广泛使用
4.光盘存储器,CD.CD-ROM制度压缩盘,DVD数字视频光盘等
1.2.3Cache缓存
1.Cache原理
CPU需要的数据先从缓存中找,如果有则直接调用(访问命中),如果没找到再到内存中读取,读取完再送回CPU与Cache中
系统平均周期=缓存周期*缓存命中率+内存周期*(1-缓存命中率)//由于缓存中未命中的概率就是在内存中取值的概率
多少位就是2的几次幂,例如32位系统可以支持2的32次幂长度的数据也就是4G内存,64位操作系统可支持更高内存
1Byte=8bits
1汉子=2B(字节)=16b
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个程序,一个检测死锁程序,一个解锁程序