文件(1)

初始文件管理

文件–一组有意义的信息/数据集合
请添加图片描述
在这里插入图片描述
在这里插入图片描述

文件如何存放在外存?

  • 操作系统以“块”为单位为文件分配存储空间,因此即使一个文件大小只有10B,但它依然需要占用1KB的磁盘块。外存中的数据读入内存时同样以块为单位
  • 外存分为磁盘块/物理块/块,内存分为内存块。
  • 文件的逻辑地址:逻辑块号+块内地址
  • 物理地址:物理块号+块内地址
    在这里插入图片描述在这里插入图片描述

无结构文件:文件内部的数据就是一系列二进制流和字符流组成。又称“流式文件”。如:.txt文件。

有结构文件:“记录式文件“,记录由数据项组成,一个数据项作为关键字(识别不同记录)。如:数据库表文件。记录:定长记录,可变长记录。

在这里插入图片描述

  1. 顺序文件:文件中的记录逻辑上顺序排列,物理上可以顺序存储或链式存储。

     顺序存储:顺序表,逻辑物理都相邻
    
     链式存储:链表
    
     记录之间的顺序:串结构,顺序结构
    

顺序文件,只有顺序存储,定长记录可以快速找到关键字对应的记录。

只有顺序存储,定长记录可以快速找到关键字所在记录

  1. 索引文件

在这里插入图片描述

优点:索引表是一个定长记录,顺序存储的顺序文件,随机读取。索引号设为关键字,可以快速查找。

缺点:一个记录对应一个索引项,索引表可能过大。


  1. 索引顺序文件:
    在这里插入图片描述
    在这里插入图片描述

文件目录

在这里插入图片描述

FCB实现了文件和文件名的映射,使用户(程序)可以“按名存取”

FCB:文件控制块/文件目录项,包含了文件的基本信息(文件名,物理地址,逻辑结构等),存取控制权限,使用信息(文件的建立时间,修改时间),
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

树形目录结构不便于实现文件的共享,为此设计了“无环图目录结构”。
在这里插入图片描述

索引节点(FCB的改进)

fcb’=文件名+索引节点指针
在这里插入图片描述
使用索引结点机制,盘块存放的目录项更多,检索文件时磁盘块I/O的次数减少,大大提升了文件检索速度。


![在这里插入图片描述](https://img-blog.csdnimg.cn/a5dc216580174993bbec252c1d91d94d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAM-ePrVdTSg==,size_20,color_FFFFFF,t_70,g_se,x_16)

文件的物理结构


![在这里插入图片描述](https://img-blog.csdnimg.cn/e14bbed72d044bec92d06c14902c3aaa.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAM-ePrVdTSg==,size_20,color_FFFFFF,t_70,g_se,x_16) 内存分页,磁盘分块

通常,磁盘块大小与内存块大小相同

内存与磁盘之间的数据交换(读/写操作,磁盘I/O)都是以块为单位进行的。


操作系统在磁盘中为文件分配空间以块为单位

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

连续分配:

  • 优点:顺序读/写时速度快
  • 缺点:扩展时不方便,磁盘利用率低,会产生难以利用的磁盘碎片。

可以用紧凑来处理碎片,但是会耗费很大的时间代价

连续分配:文件在磁盘上占有一组连续的块。
在这里插入图片描述

链接分配:

  • 隐式链接:只支持顺序访问
  • 显式链接:FAT表
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

索引分配:文件离散分配在各个磁盘块中,系统为每个文件建立索引表。索引表存放的磁盘块为索引块,文件数据存放的磁盘块程数据块。

索引分配:可随机访问,文件扩展容易实现


问:一个文件太大,一个磁盘块装不下文件的索引表,如何解决?

答:链接方案,多层索引,混合索引。


链接方案:

在这里插入图片描述


若采用K层索引结构,且顶级索引表未调入内存,则访问一个数据块要经过K+1次

在这里插入图片描述

How目录项内容优点缺点
顺序分配为文件分配的必须是连续的磁盘块起始块号,文件长度顺序访问速度快,支持随机访问会产生碎片,不利于文件扩展
隐式链接除最后一个磁盘块意之外,每个盘块中都存有指向下一个盘块的指针起始块号,结束快后解决碎片终于顺序赏文,用键扩展实现方标只能顺序访问,不能直接访问
显示连接建立一张文件分配表FAT),显示记录盘块的先后关系起始块号还可以查询内存中的的FAT实现随机访问FAT需要一定的存储空间
索引分配为文件数据块建立索引表,若文件太大,可采用链连接,多层索引、混合索引链接方案记录的是第一个索引块的块号,多层/混合索引记录的是顶级索引块的块号支持随机访问,易于实现文件的扩展索引表占用一定的存储空间。访问前索引块转移到内存中,查找索引块时可能要很多磁盘I/O操作

文件的存储空间管理




在这里插入图片描述


空闲表法适用于连续分配方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值