8 磁盘存储器的管理

  1. 外存的组织方式

    1. 连续组织方式:为每一个文件分配一组相邻接的盘块

    2. 链接组织方式:多个不连续的盘块 链接指针

      1. 隐式链接

      2. 显示链接:文件分配表FAT

        1. FAT技术:

          FAT12(512B)、以簇为单位的FAT12文件系统、FAT16、FAT32

    3. NTFS的文件组织方式:以文件的形式来对数据进行管理,以簇为单位来存储数据的,具有了与磁盘物理块大小无关的独立性,以主控文件表MFT为核心

    4. 索引组织方式

  2. 文件存储空间的管理

    1. 空闲表法和空闲链表法
      1. 空闲表:空闲表法属于连续分配方式,采用首次适应算法和最佳适应算法等
      2. 空闲链表法
        1. 空闲盘块链
        2. 空闲盘区链
    2. 位示图法
      1. 位示图:是利用二进制的一位来表示磁盘中一个盘块的使用情况
  3. 提高磁盘I/O速度的途径

    1. 磁盘高速缓存
      1. 数据交付方式
        1. 数据交付
        2. 指针交付
      2. 置换算法:LRU (最近最久未使用)、NRU(最近未使用)、LFU(最少使用)
      3. 周期性的写回磁盘
    2. 提高磁盘I/O速度的其它方法:
      1. 提前读
      2. 延迟写
      3. 优化物理块的分布
      4. 虚拟盘RAM:利用内存空间去仿真磁盘
    3. 廉价磁盘冗余阵列RAID
      1. 并行交叉存取:系统将每一盘块中的数据分为若干个子盘块数据,再把每一个子盘块的数据分别存储到各个不同磁盘中的相同位置上。
      2. RAID分级
        1. RAID 0级:高效传输 无冗余校验
        2. RAID 1级:可靠性好,磁盘容量利用率低
        3. RAID 3级:利用奇偶校验盘完成数据校验功能
        4. RAID 5级:奇偶校验码在不同的磁盘上,可靠性提高
        5. RAID 6级和RAID 7级
  4. 提高磁盘可靠性的技术

    1. 第一级容错技术SFT - I:
      1. 双份目录、双份文件分配表、
      2. 热修复重定向和写后读校验
    2. 第二级容错技术SFT - II:
      1. 磁盘镜像
      2. 磁盘双工
    3. 基于集群技术的容错功能:
      1. 双机热备份模式
      2. 双机互为备份模式
      3. 公用磁盘模式
    4. 后备系统
      1. 磁带机
      2. 硬盘
      3. 光盘驱动器
  5. 数据一致性控制

    1. 事务:事务是用于访问和修改各种数据项的一个程序单位。事务也可以被看做是一系列相关读和写操作

      1. 事务记录:运行记录 log

      2. 恢复算法

        1. undo:恢复为修改前的值
        2. redo:修改过的数据设置为新值
    2. 检查点

    3. 并发控制

      1. 利用互斥锁实现"顺序性"
      2. 利用互斥锁和共享锁实现顺序性
    4. 重复数据的数据一致性问题

      1. 重复文件的一致性
      2. 链接数一致性检查
相关推荐
Kiyra7 小时前
阅读 Netty 源码关于 NioEventLoop 和 Channel 初始化部分的思考
运维·服务器·前端
初听于你7 小时前
IP地址与路由器地址
linux·运维·服务器·网络·tcp/ip·计算机网络·智能路由器
duxingzhe1037 小时前
Unix Network Programming Episode 105
服务器·unix
s_daqing7 小时前
ubuntu(arm)使用nginx安装静态服务器
服务器·nginx·ubuntu
FJW0208148 小时前
【Linux】SElinux的管理及优化
linux·运维·服务器
a程序小傲8 小时前
中国邮政Java面试被问:Netty的FastThreadLocal优化原理
java·服务器·开发语言·面试·职场和发展·github·哈希算法
坐怀不乱杯魂8 小时前
Linux - 进程控制
linux·运维·服务器
重生之绝世牛码8 小时前
Linux软件安装 —— zookeeper集群安装
大数据·linux·运维·服务器·zookeeper·软件安装
额1298 小时前
磁盘物理卷、卷组、逻辑卷管理
linux·运维·服务器
是娇娇公主~8 小时前
C++集群聊天服务器(3)—— 项目数据库以及表的设计
服务器·数据库·c++