系统分析师-计算机系统-计算机系统概述存储系统
目录
一、计算机系统概述
1. 计算机系统层次结构
2. 计算机系统硬件
3. 计算机系统软件
4. 校验码
二、存储系统
1. 主存储器
2. 辅存储器
磁盘调度算法
磁盘阵列
3. 高速缓冲存储器
Cache基本原理
地址映射
替换算法
写操作
4. 网络存储技术
5. 虚拟存储技术
相关推荐
一、计算机系统概述
1. 计算机系统层次结构
计算机系统层次结构:硬件层、系统层、应用层
(1)硬件层(裸机)。硬联逻辑级是计算机的内核,由门电路、触发器等逻辑电路组成;微程序级的机器语言是微指令集;传统机器级的机器语言是该机的指令集。
(2)系统层。操作系统级要管理计算机系统中的软硬件资源;语言处理程序级的作用是将高级语言或汇编语言编写的程序翻译成某种机器语言程序,使程序可在计算机上运行。
(3)应用层。面向实际用户的各种应用软件。
2. 计算机系统硬件
计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5 大部件组成。
(1)运算器、控制器等部件被集成在一起统称为中央处理单元(CPU)。CPU 是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能。
(2)存储器是计算机系统中的记忆设备,分为内部存储器和外部存储器。前者速度高、容量小,般用于临时存放程序、数据及中间结果。而后者容量大、速度慢,可以长期保存程序和数据。
(3)输入设备和输出设备合称为外部设备(简称外设),输入设备用于输入原始数据及各种命令,而输出设备则用于输出计算机运行的结果。
3. 计算机系统软件
按照功能,计算机系统中的软件可以分为系统软件和应用软件两大类。
(1)系统软件:用于实现计算机系统的管理、调度、些视和服务等功能。通常将系统软件分为5类:操作系统、语言处理程序、服务性程序、数据库管理系统和计算机网络软件。
(2)应用软件:是为解决某种应用问题而编制的一些程序。应用软件是用户或第三方软件公司为各自业务开发和使用的各种软件。
另外,还应该注意“固件"(firmware)的概念,它是指那些存储在能永久保存信息的器件(例如:EPROM或EEPROM)中的程序,是具有软件功能的硬件。
EPROM(可擦除可编程只读存储器)和EEPROM(电可擦除可编程只读存储器)是两种非易失性存储器(断电后数据不丢失),主要用于存储固件、配置信息或需要长期保留的数据。
-
EPROM:老式路由器固件(需紫外线擦除升级)。
-
EEPROM:Arduino的配置存储、显卡的VBIOS芯片。
4. 校验码
-
码距:就单个编码A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码。在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换为B:11,码距为2。一般来说,码距越大,越利于纠错和检错。
-
奇偶校验码:在编码中增加1位校验位来使编码中1的个数为奇数(奇校验或者偶数(偶校验),从而使码距变为2。例如:
-
奇校验:编码中,含有奇数个1,发送给接收方,接收方收到后,会计算收到的编码有多少个1,如果是奇数个,则无误,是偶数个,则有误。
-
偶校验:编码中,含有偶数个1,发送给接收方,接收方收到后,会计算收到的编码有多少个1,如果是偶数个,则无误,是奇数个,则有误。
-
-
CRC只能检错,不能纠错。
原理:发送方和接收方事先约定一个生成多项式G(x),将原始报文除以多项式生成的除数,将所得的余数作为校验位加在原始报文之后,作为发送数据发给接收方。
即循环冗余校验码CRC由两部分组成,K位信息码(原始数据)+ R位校验码
校验码是由信息码产生的,校验码位数越长,校验能力越强
例:假设原始信息串为10110,CRC 的生成多项式为G(x)=x^4+x+1求CRC 校验码
-
1.在原始信息位后面添0,假设生成多项式的阶为r,则在原始信息位后添加r个0,本题中,G(x)阶为4,则在原始信息串后加4个0,得到的新串为101100000作为被除数。
-
2.由多项式得到除数,多项中x的幂指数存在的位置1,不存在的位置0。本题中,x的幂指数为0,1,4的变量都存在,而幂指数为2,3的不存在,因此得到串10011。
-
3.生成CRC校验码,将前两步得出的被除数和除数进行模2除法运算(即不进位也不借位的除法运算)。除法过程如下所示:
---------------------
10011 | 101100000 10011---------------10100 (异或运算,同0非1,最高位得到1则停止,后面从被除数补足与除数相同的位数)10011---------------1110010011---------------1111
得到余数1111。注意:余数不足r,则余数左边用若干个0补齐。如求得余数为11,r=4,则补两个0得到0011。
-
4.发送方将此数据发送给接收方。上例中,原始信息为10110,添加余数1111后,结果为101101111。将最终生成发送信息串发送给接收方,将余数添加到原始信息后。
-
5.接收方进行校验。接收方的CRC 校验过程与生成过程类似,接收方接收了带校验和的帧后,用多项式G(x)来除。余数为0,则表示信息无错;否则要求发送方进行重传。
注意:收发信息双方需使用相同的生成多项式
二、存储系统
计算机采用分级存储体系的主要目的是为了解决存储容量、成本和速度之间的矛盾问题。
两级存储:Cache-主存、主存-辅存(虚拟存储体系)
局部性原理:总的来说,在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址内,包括下面两个方面:
- 时间局部性原理:如果一个数据项正在被访问,那么在近期它很可能会被再次访问,即在相邻的时间里会访问同一个数据项。
- 空间局部性原理:在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能是相近的,即相邻的空间地址会被连续访问。
传统的存储器系统一般分为高速缓冲存储器(Cache)、主存储器、辅助存储器三级。
存储器中数据常用的存取方式有4种,分别是顺序存取、真接存取、随机存取和相联存取。
存储器系统主要有4个性能指标,分别是存取时间、存储器带宽、存储器周期和数据传输率。
1. 主存储器
主存储器作用是存放计算机运行时的程序和数据,并能由CPU直接随机地进行读/写。主存可分为随机存取存储器(RAM)和只读存储器(ROM)。
(1)随机存取存储器既可以写入也可以读出,但断电后信息无法保存,因此只能用于暂存数据。RAM又可分为DRAM(动态RAM)和SRAM(静态RAM)两种。DRAM的信息会随时间逐渐消失,因此需要定时对其进行刷新,以维持信息不丢失;SRAM在不断电的情况下,信息能够一直保持而不会丢失信息。
(2)只读存储器的内容只能随机读出而不能写入。其特点是信息一旦写入ROM,即使断电,写入的内容也不会丢失。ROM一般用于存放系统程序BIOS(基本输入输出系统)、专用的子程序,或用作函数发生器、字符发生器及微程序控制器中的控制存储器。
2. 辅存储器
辅助存储器简称辅存,用于存放需持久性存储的信息。其特点是存储器容量大、可靠性高、价格低。常用的辅存有磁带存储器、硬盘存储器、磁盘阵列和光盘存储器等。
硬盘分为三类:机械硬盘(HDD)、固态硬盘(SSD)和混合硬盘(SSHD)。
其中,机械硬盘是传统硬盘,其信息分布呈以下层次:记录面、圆柱面磁道和扇区。
一块磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。多块磁盘在一起,不同磁盘磁道上下之间就会组成柱面。
硬盘的存取时间主要包括三个部分:
- 第一部分是指磁头从原先位置移动到目的磁道所需要的时间,称为寻道时间或查找时间;
- 第二部分是指到达目的磁道以后,等待被访问的记录块旋转到磁头下方的等待时间;
- 第三部分是指信息的读写操作时间(很快,可忽略不计)
因此可认为,磁盘存取时间=寻道时间+等待时间。
磁盘调度算法
磁盘调度算法之前已经说过,磁盘数据的读取时间分为寻道时间+旋转时间,也即先找到对应的磁道,而后再旋转到对应的扇区才能读取数据,其中寻道时间耗时最长,需要重点调度,有如下调度算法:
先来先服务FCFS:根据进程请求访问磁盘的先后顺序进行调度。
最短寻道时间优先SSTF:请求访问的磁道与当前磁道最近的进程优先调度,使得每次的寻道时间最短。会产生“饥饿”现象,即远处进程可能永远无法访问。
扫描算法SCAN:又称“电梯算法”,磁头在磁盘上双向移动,其会选择离磁头当前所在磁道最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似。
单向扫描调度算法CSCAN:与SCAN不同的是,其只做单向移动,即只能从里向外或者从外向里。
磁盘阵列
廉价磁盘冗余阵列(RAID)技术旨在缩小日益扩大的CPU速度和磁盘存储器速度之间的差距。其策略是用多个较小的磁盘驱动器替换单一的大容量磁盘驱动器,同时合理地在多个磁盘上分布存放数据以支持同时从多个磁盘进行读写,从而改善系统的I/O性能。
RAID分为以下8个级别:
(1)RAID 0(无冗余和无校验的数据分块):具有最高的I/O性能和最高的磁盘空间利用率,易管理但系统的故障率高,属于非冗余系统。
(2)RAID 1(磁盘镜像阵列):由磁盘对组成,每一个工作盘都有其对应的镜像盘,上面保存着与工作盘完全相同的数据拷贝,具有最高的安全性,但磁盘空间利用率只有50%。
(3)RAID 2(采用纠错海明码的磁盘阵列):采用了海明码纠错技术,用户需增加校验盘来提供单纠错和双验错功能。
(4)RAID 3和RAID 4(采用奇偶校验码的磁盘阵列):把奇偶校验码存放在一个独立的校验盘上。如果有一个盘失效,其上的数据可以通过对其他盘上的数据进行异或运算得到。RAID3采用位交叉奇偶校验码,RAID4采用块交叉奇偶校验码。
(5)RAID 5(无独立校验盘的奇偶校验码磁盘阵列):与RAID4类似,但没有独立的校验盘,校验信息分布在组内所有盘上。
(6)RAID 6(具有独立的数据硬盘与两个独立的分布式校验方案):在RAID6的阵列中设置了一个专用的、可快速访问的异步校验盘。
(7)RAID 7(具有最优化的异步高I/0速率和高数据传输率的磁盘阵列):是对RAID6的改进。在这种阵列中的所有磁盘都具有较高的传输速度,有着优异的性能,是目前最高档次的磁盘阵列。
(8)RAID 10(高可靠性与高性能的组合):由多个RAID等级组合而成,建立在RAID0和RAID1基础上。RAID1是一个冗余的备份阵列,而RAID0是负责数据读写的阵列,因此又称为 RAID 0+1。由于利用了RAID0极高的读写效率和 RAID1较高的数据保护和恢复能力,使 RAID10成为了一种性价比较高的等级。
3. 高速缓冲存储器
Cache基本原理
高速缓存Cache用来存储当前最活跃的程序和数据,直接与CPU交互,位于CPU和主存之间,容量小,速度为内存的5-10倍,由半导体材料构成。其内容是主存内存的副本拷贝,对于程序员来说是透明的。
Cache由控制部分和存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换。
地址映射
地址映射:在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换为Cache存储器地址,这种地址的转换称为地址映像,由硬件自动完成映射,分为下列三种方法:
直接映像:将Cache存储器等分成块,主存也等分成块并编号。主存中的块与Cache中的块的对应关系是固定的,也即二者块号相同才能命中。地址变换简单但不灵活,容易造成资源浪费。(如图所示)
全相联映像:同样都等分成块并编号。主存中任意一块都与Cache中任意一块对应。因此可以随意调入Cache任意位置,但地址变换复杂,速度较慢。因为主存可以随意调入Cache任意块,只有当Cache满了才会发生块冲突,是最不容易发生块冲突的映像方式。
组组相连映像:前面两种方式的结合,将Cache存储器先分块再分组,主存也同样先分块再分组,组间采用直接映像,即主存中组号与Cache中组号相同的组才能命中,但是组内全相联映像,也即组号相同的两个组内的所有块可以任意调换。
替换算法
替换算法的目标就是使Cache 获得尽可能高的命中率。常用算法有如下几种。
(1)随机替换算法。就是用随机数发生器产生一个要替换的块号,将该块替换出去。
(2)先进先出算法。就是将最先进入Cache的信息块替换出去。
(3)近期最少使用算法。这种方法是将近期最少使用的Cache中的信息块替换出去。
(4)优化替换算法。这种方法必须先执行一次程序,统计Cache 的替换情况有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换。
命中率及平均时间
Cache有一个命中率的概念,即当CPU所访问的数据在Cache中时,命中,直接从Cache中读取数据,设读取一次Cache时间为1ns,若CPU访问的数据不在Cache中则需要从内存中读取,设读取一次内存的时间为1000ns,若在CPU多次读取数据过程中,有90%命中Cache,则CPU读取一次的平均时间为(90%*1+10%*1000)ns
写操作
因为需要保证缓存在Cache中的数据与内存中的内容一致,相对读操作而言,Cache的写操作比较复杂,常用的有以下几种方法:
(1)写直达(Write Through)。当要写Cache时,数据同时写回内存,有时也称为写通。
(2)写回(Write Back)。CPU修改cache的某一块后,相应的数据并不立即写入内存单元, 而是当该块从Cache中被淘汰时,才把数据写回到内存中。
(3)标记法。对cache中的每一个数据设置一个有效位。数据进入Cache 有效位置1;当 CPU要对该数据进行修改时,数据只需写入内存并同时将该有效位置0。当要从Cache中读取数据时需要测试其有效位,若为“1”,则直接从cache中取数,否则从内存中取数。
4. 网络存储技术
1. 直接附加存储(DAS):是指将存储设备通过SCSI接口直接连接到一台服务器上使用,其本身是硬件的堆叠,存储操作依赖于服务器,不带有任何存储操作系统。
◆存在问题:在传递距离、连接数量、传输速率等方面都受到限制。容量难以扩展升级;数据处理和传输能力降低;服务器异常会波及存储器。
2. 网络附加存储(NAS):通过网络接口与网络直接相连,由用户通过网络访问,有独立的存储系统如下图所示。NAS存储设备类似于一个专用的文件服务器,去掉了通用服务器大多数计算功能,而仅仅提供文件系统功能。以数据为中心,将存储设备与服务器分离,其存储设备在功能上完全独立于网络中的主服务器。客户机与存储设备之间的数据访问不再需要文件服务器的干预,同时它允许客户机与存储设备之间进行直接的数据访问,所以不仅响应速度快,而且数据传输速率也很高。
NAS的性能特点是进行小文件级的共享存取;支持即插即用;可以很经济的解决存储容量不足的问题,但难以获得满意的性能。
3. 存储区域网(SAN):SAN是通过专用交换机将磁盘阵列与服务器连接起来的高速专用子网。它没有采用文件共享存取方式,而是采用块(block)级别存储。SAN是通过专用高速网将一个或多个网络存储设备和服务器连接起来的专用存储系统,其最大特点是将存储设备从传统的以太网中分离了出来,成为独立的存储区域网络SAN 的系统结构。根据数据传输过程采用的协议,其技术划分为FCSAN(光纤通道)、IPSAN(IP网络)和IBSAN(无线带宽)技术。
5. 虚拟存储技术
虚拟存储是指把多个存储介质模块(例如,硬盘、RAID等)通过一定的手段集中管理,形成统一管理的存储池,为用户提供大容量、高数据传输性能的存储系统。存储虚拟化是将实际的物理存储实体与存储的逻辑表示实现分离,使用虚拟存储技术,应用服务器只与分配给它们的逻辑卷(虚卷)交互,而不用关心其数据是在哪个物理存储实体上。
按照拓扑结构的不同,虚拟存储可以分为对称式和非对称式两种方式。其中,对称式是指虚拟存储控制设备与存储软件系统、交换设备集成为一个整体,内嵌在网络数据传输路径中;非对称式是指虚拟存储控制设备独立于数据传输路径之外。
按照实现原理的不同,虚拟存储也可以分为数据块虚拟和虚拟文件系统两种方式。
(1)数据块虚拟。该存储方式着重解决数据传输过程中的冲突和延时问题,利用虚拟的多端口并行技术,为多个用户提供极高的带宽,最大限度减少延时与冲突的发生。
(2)虚拟文件系统。该存储方式着重解决大规模网络中文件共享的安全机制问题。通过对不同的站点指定不同的访问权限,保证网络文件的安全。
虚拟存储要解决的关键问题是逻辑卷与物理存储实体之间的映射关系,其实现方式包括:
(1)主机级的虚拟化。由安装在应用服务器上的卷管理软件完成存储的虚拟化。基于主机端的虚拟存储几乎都是通过纯软件的方式实现的。
(2)存储设备级的虚拟化。由存储设备的控制器实现存储的虚拟化。这种虚拟存储一般是存储厂商实施的,很可能使用厂商独家的存储产品。
(3)网络级的虚拟化。由加入SAN的专用装置实现存储虚拟化。这种机制可以管理不同厂商的存储设备,实现SAN中所有设备的统一管理,具有较好的开放性。
虚拟存储主要包含如下几方面的优秀性能:
(1)虚拟存储提供了一个大容量存储系统集中管理的手段,由网络中的一个环节进行统一管理,避免了由于存储设备扩充所带来的管理方面的麻烦。
(2)虚拟存储可以大大提高存储系统整体访问带宽。
(3)虚拟存储技术为存储资源管理提供了更好的灵活性和兼容性,可以将不同类型的存储设备集中管理使用,保护用户的己有投资。
(4)虚拟存储技术可以通过管理软件,为网络系统提供一些其他的有用功能。
(5)虚拟存储技术将计算机的应用系统与存储设备分离,使各种不同的存储设备具有标准的存储特性而应用系统无须关心数据存储的具体设备,减轻了应用系统的负担。
相关推荐
系统架构设计师备考攻略-CSDN博客文章浏览阅读4.6k次,点赞43次,收藏83次。计算机软件资格考试是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试。软考没有学历、专业、年龄、相关工作经验要求,你可以根据自身选择合适的去报名(也就是说你直接直接报高级),但是一次考试只能报一种。计算机软件资格考试纳入全国专业技术人员职业资格证书制度的统一规划,实行统一大纲、统一试题、统一标准、统一证书的考试办法,每年举行两次。通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位聘任相应专业技术职务(助理工程师、工程师、高级工程师)。_系统架构设计师https://shuaici.blog.csdn.net/article/details/140975939【系统架构设计师】二十六、论文写作要点_系统架构设计师论文-CSDN博客文章浏览阅读3.3k次,点赞56次,收藏61次。论文写作概述:时间所需120分钟;题目可四选一,必有一题考察软件架构,总有一款适合你;考察形式是机试(开心,再也不用担心字丑了),约2500字。_系统架构设计师论文
https://shuaici.blog.csdn.net/article/details/140953509