计算机操作系统-磁盘存储器

学习总结目录:

常用的外存分配方式及其对应的物理结构

  • 物理文件——外存分配方式
  • 顺序文件——连续分配方式
  • 链接文件——链接分配方式
  • 索引文件——索引分配方式

磁盘空间的连续组织方式
在这种分配方式中,系统会为每个文件分配一组连续的物理盘块,那么文件在存放的时候也是按顺序被存放到这连续的各个物理盘块中的,这样所构成的文件,称为是顺序文件结构。
在这里插入图片描述

连续分配的主要优缺点

  • 优点:
    ⑴顺序访问容易(也支持直接存取)
    ⑵ 顺序访问速度快(文件的各盘块在同一或相邻的磁道上)
  • 缺点:
    ⑴ 产生许多的外部碎片。
    ⑵ 在存放文件时,须事先知道文件的大小。
    (3)不能灵活插入、删除记录
    (4) 不便于文件动态增加

链接分配(离散分配)
通过每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表。

隐式链接
用于链接各个盘块的指针都是在各个盘块中设置的,并不明显地记录在一张表中,只有在读一个盘块时才能知道链接到此盘块的下一个盘块的指针指向。隐式链接分配方式只适用于顺序访问,很难实现随机访问。

在这里插入图片描述

隐式链接分配的优缺点:

  • 优点
    消除了外部碎片
    无须事先知道文件大小,支持文件动态增长
  • 缺点
    只适合顺序查找,查找效率低
    可靠性差

改进:将几个盘块组成一个簇,在分配盘块时以簇为单位分配。这样可以减少检索时间,但是却增大了内部碎片。

显式链接:

  1. 设置一张链接表(文件分配表即FAT),记录外存的所有物理盘块号,盘块号从0开始,直到N-1结束。
  2. 在此表中每个表项要设置一个链接指针,用来指示一个文件中下一个记录所存放的盘块号。
    在这里插入图片描述

MS-DOS的文件物理结构:
在这里插入图片描述

FAT12系统:
每个FAT表项占12位,每个盘块(扇区)一般为512字节,分配的磁盘空间以盘块为基本单位。由此FAT12系统所支持的最大物理磁盘容量为2125124=8MB。

已知磁盘大小,每个盘块大小,FAT表项大小,求FAT大小的计算问题
⑴ 对于1.2MB的软盘,盘块大小为512B,每个FAT表项占12位,求FAT的大小。
已知磁盘大小,每个盘块大小, 求FAT大小的计算问题
FAT大小=1.2MB/512B * (12b/8b)B=1.8*2^11B
⑵ 对于200MB的硬盘,盘块大小为1KB,求其FAT的大小。
FAT大小=200MB/1kB * (18b/8b)B= (块号与位相等。所以200MB/1KB=200*2^10,要用18位来表示)
⑶ 对于12GB的磁盘,盘块大小为4KB,求其FAT的大小。
FAT大小=12GB/4kB * (22b/8b)B=

FAT16系统
每个FAT表项占16位,FAT表中允许有2^16=65536个表项,可以支持一个分区中有65536个盘块或簇。
一个簇包含64个扇区。由此FAT16系统所支持的最大物理磁盘容量为2^16645124=20484MB。

FAT32系统
每个FAT表项占32位,一个簇包含8个扇区。由此FAT16系统所支持的最大物理磁盘容量为2^3285124=24TB。

链接分配方式的优缺点:

  • 优点:
    能够解决磁盘上的外部碎片的问题,有利于文件的动态增长,并且有利于文件的插入和删除操作。
  • 缺点:
    ⑴ 不能支持高效的直接存取。
    ⑵ 指针的不稳定性。
    ⑶ FAT需占用较大的内存空间。

单级索引分配:
给文件分配一个盘块,存放文件的索引表。此文件索引表所在的的物理块有时称为索引块。再为文件建立一个目录,记录文件的文件名和索引块号。

  • 优点:支持直接访问;不会产生外部碎片。
  • 缺点:磁盘的利用率较低。
    在这里插入图片描述

多级索引分配(适合大文件)
在这里插入图片描述

单级索引和两级索引分配方式中所允许文件最大长度的计算问题
例:
⑴ 若每个盘块大小为1KB,每个盘块号占4个字节,计算单级索引和两级索引分配方式中所允许文件最大长度。
盘块号:1KB/4B=256B 单级索引:1KB*256B=256KB
两级索引:1KB*256B*256B=64MB
⑵若每个盘块大小为4KB,每个盘块号占4个字节,计算单级索引和两级索引分配方式中所允许文件最大长度。
盘块号:4KB/4B=1KB 单级索引:1KB*1KB=1MB
两级索引:1KB*1KB*1KB=1GB

混合索引分配方式(Unix系统)
每个文件都用唯一的索引结点来描述。
在文件的索引结点中设置的直接地址和间接地址一共是13个地址项。
⑴ 直接地址
⑵ 一次间接地址
⑶ 多次间接地址

在这里插入图片描述

常见的文件存储空间管理的方法有空闲表法、空闲链表法、位示图法、成组链接法。
在这里插入图片描述
空闲链表法
(1) 空闲盘块链
将磁盘上所有盘块组织成一条链。
优点:用于分配和回收一个盘块的过程简单
缺点:为一个文件分配盘块时,可能要重复多次
适用于离散分配
⑵ 空闲盘区链
将磁盘上所有空闲盘区(每个盘区可包含若干个盘块)组织成一条链。分配和回收盘区的方法与内存的动态分区分配和回收类似。
用于离散分配、连续分配都可以

位示图:
位示图是用一位二进制来表示磁盘中的一个盘块的使用情况。当其值为“0”时,表明对应的盘块空闲;其值为“1”时,表明对应的盘块已分配。
在这里插入图片描述

盘块的分配:
⑴ 顺序扫描位示图,从中找出一个或一组值为“0”的二进制位;
⑵ 将所找到的一个或一组二进制位转换成与之对应的盘块号。
b=n(i-1)+j
⑶ 修改位示图,令map[i,j]=1。

盘块的回收:
⑴ 将回收盘块的盘块号转换成位示图中行号和列号。
i = (b-1) DIV n +1
j = (b-1) MOD n +1
⑵ 修改位示图。令map [i, j]=0 。

提高磁盘I/O速度的其它方法:

  • 提前读
  • 延迟写
  • 优化物理块的分布
  • 虚拟盘(内存)
  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙源lll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值