zoukankan      html  css  js  c++  java
  • 磁盘存储器的管理

    
    对文件的操作,都将涉及到对磁盘的訪问。磁盘I/O速度的高低和磁盘系统的可靠性,都将直接影响到系统性能。
    1.数据的组织和格式:
    盘片----盘面----磁道----扇区。


    低级格式化----磁盘分区----高级格式化
    注意:每一个分区就是一个独立的逻辑磁盘。
    2.磁盘的类型:
    1)固定头磁盘:在每条磁道上都有一读/写磁头,全部的磁头都被装在一刚性磁臂中。通过这些磁头可訪问全部各磁道。并进行并行读/写,有效地提高了磁盘的I/O速度。


    2)移动头磁盘:每个盘面仅配有一个磁头,也被装入磁臂中。

    为能訪问该盘面上的全部磁道。该磁头必须能移动以进行寻道。可见,移动磁头仅能以串行方式读/写,致使其I/O速度较慢。
    3.磁盘訪问时间
    1)寻道时间Ts:把磁头移动到指定磁道上所经历的时间。为启动磁臂的时间s与磁头移动n条磁道所花费的时间之和,即Ts=m*n+s。当中。m是一个常数,与磁盘驱动器的速度有关。
    2)旋转延迟时间Tr:是指定扇区移动到磁头以下所经历的时间。

    不同的磁盘类型中。旋转速度至少相差一个数量级。Tr=1/(2r),当中r为磁盘每秒钟的转数。
    3)传输时间Tt:是指把数据从磁盘读出或向磁盘写入数据所经历的时间。Tt的大小与每次所读/写的字节数b和旋转速度有关。

    Tt=b/(rN)。当中。r为磁盘每秒钟的转数;N为一条磁道上的字节数,当一次读/写的字节数相当于半条磁道上的字节数时,Tt与Tr同样。
    因此,訪问时间Ta为Ta=Ts+Tr+Tt。
    4.磁盘调度
    因为在訪问磁盘的时间中,主要是寻道时间,因此,磁盘调度的目标是使磁盘的平均寻道时间最少。眼下经常使用的磁盘调度算法有先来先服务、最短寻道时间优先及扫描等算法。


    1)先来先服务(FCFS):它依据进程请求訪问磁盘的先后次序进行调度。此算法的长处是公平、简单。且每一个进程的请求都能依次地得到处理,不会出现某一个进程的请求长期得不到满足的情况。


    2)最短寻道时间优先(SSTF):其要求訪问的磁道与当前磁头所在的磁道距离近期。以使每次的寻道时间最短。


    3)SCAN算法:该算法不仅考虑到欲訪问的磁道与当前磁道间的距离。更优先考虑的是磁头当前的移动方向。比如,当磁头正在自里向外移动时,SCAN算法所考虑的下一个訪问对象。应是其欲訪问的磁道既在当前磁道之外,又是距离近期的。

    这样自里向外地訪问,直至再无更外的磁道须要訪问时,才将磁臂换向为自外向里移动。


    4)循环扫描算法(CSCAN):CSCAN算法规定磁头单向移动。比如,仅仅是自里向外移动。当磁头移到最外的磁道并訪问后。磁头马上返回到最里德欲訪问的磁道上。亦将最小磁道号紧接着最大磁道号构成循环,进行循环扫描。
    5)NStepSCAN算法:N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列。而每处理一个子队列又是按SCAN算法,对一个队列处理完后,再处理其它队列。当正在处理某子队列时,假设又出现新的磁盘I/O请求,便将新请求进程放入其它队列,这样就可能避免粘着现象。
    6)FSCAN算法:仅仅将磁盘请求队列分成两个子队列。一个是由当前全部请求磁盘I/O的进程形成的队列,由磁盘调度按SCAN算法进行处理。在扫描期间,将新出现的全部请求磁盘I/O的进程,放入还有一个等待处理的请求队列。
    5.磁盘快速缓存
    1)形式:指利用内存中的存储空间来暂存从磁盘中读出的一系列盘块中的信息。
    2)数据交付方式:
    数据交付:这是直接将快速缓存中的数据,传送到请求者进程的内存中作区中。
    指针交付:这是仅仅将指向快速缓存中某区域的指针交付给请求者进程。


    6.提高磁盘I/O速度的其他方法
    1)提前读
    2)延迟写
    3)优化物理块的分布
    4)虚拟盘
    7.便宜磁盘冗余阵列(RAID):它是利用一台磁盘阵列控制器。来统一管理和控制一组(几台到几十台)磁盘驱动器。组成一个高度可靠的、高速的大容量磁盘系统。
    为了提高对磁盘的方位速度,已把在大、中型机中应用的交叉存取技术应用到了磁盘存储系统中。在该系统中。有多台磁盘驱动器,系统将每一盘块中的数据分为若干个子盘块数据,再把每个子盘块的数据分别存储到各个不同磁盘中的同样位置上。在以后,当要将一个盘块中的数据传送到内存时,採取并行传输方式。将各个盘块中的子盘块数据同一时候向内存中传输。从而使传输时间大大降低。


    RAID的分级:RAID 0~RAID 7
    RAID 0:仅提供了并行交叉存取,无冗余校验功能。致使磁盘系统的可靠性不好。


    RAID 1:具有磁盘镜像功能。用磁盘容量换取訪问速度。


    RAID 3:具有并行传输功能的磁盘阵列。利用一台奇偶校验盘来完毕数据的校验功能。

    降低了所须要的冗余磁盘数。用于科学计算和图像处理。


    RAID 5:一种具有独立传送功能的磁盘阵列。每一个驱动器都各有自己独立的数据通路,独立的进行读/写,且无专门的校验盘。用来进行纠错的校验信息。是以螺旋方式散布在全部数据盘上。用于I/O较频繁的事务处理中。


  • 相关阅读:
    Layui数据表格用法
    初识Vue
    使用NPOI导出Excel表
    使用NPOI将Excel表导入到数据库中
    新随笔
    AX2012/D365 SSRS报表开发
    AX2012自定义注释脚本开发
    D365做文件导入导出CSV
    Azure文件上传下载删除(D365可以直接用)
    关于D365/AX2012/C#中的那些json、对象、字符串类型间的转换
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/6762760.html
Copyright © 2011-2022 走看看