• 【操作系统】文件管理(二)—— 文件的逻辑结构


    在这里插入图片描述

    所谓的“逻辑结构”,就是指在用户看来,文件内部的数据应该是如何组织起来的。而“物理结构”指的是在操作系统看来,文件的数据是如何存放在外存中的。

    eg:文件内部的数据可以指一张excel表内数据的组织方式,也可以指一个txt文件里面内容的组织方式。

    一、无结构文件

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

    在这里插入图片描述

    二、有结构文件(记录式文件)

    有结构文件:由一组相似的记录组成,又称“记录式文件”。每条记录又若干个数据项组成。
    如:数据库表文件。一般来说,每条记录有一个数据项可作为关键字(作为识别不同记录的ID)

    在这里插入图片描述

    根据各条记录的长度(占用的存储空间)是否相等,又可分为定长记录可变长记录两种。

    1. 顺序文件

    顺序文件:文件中的记录一个接一个地顺序排列(逻辑上),记录可以是定长的或可变长的。各个记录在物理上可以顺序存储或链式存储

    在这里插入图片描述

    在这里插入图片描述

    2. 索引文件

    对于可变长记录文件,要找到第 i 个记录,必须先顺序第查找前 i-1 个记录,但是很多应用场景中又必须使用可变长记录。如何解决这个问题?

    在这里插入图片描述

    索引表本身是定长记录的顺序文件。因此可以快速找到第 i 个记录对应的索引项。可将关键字作为索引号内容,若按关键字顺序排列,则还可以支持按照关键字折半查找

    每当要增加/删除一个记录时,需要对索引表进行修改。由于索引文件有很快的检索速度,因此主要用于对信息处理的及时性要求比较高的场合。

    注:可以用不同的数据项建立多个索引表。

    3. 索引顺序文件

    思考索引文件的缺点:每个记录对应一个索引表项,因此索引表可能会很大。

    比如:文件的每个记录平均只占 8B,而每个索引表项占32个字节,那么索引表都要比文件内容本身大4倍,这样对存储空间的利用率就太低了。

    索引顺序文件是索引文件和顺序文件思想的结合。索引顺序文件中,同样会为文件建立一张索引表,但不同的是:并不是每个记录对应一个索引表项,而是一组记录对应一个索引表项

    在这里插入图片描述

    三、文件逻辑结构总结

    在这里插入图片描述

  • 相关阅读:
    filp_open
    EasyPoi大数据导入导出百万级实例
    PS的抠图算法原理剖析 1
    JavaWeb中文件上传与下载
    Web AP—PC端网页特效
    什么是 Linux Mint,它比 Ubuntu 好在哪里?
    后缀自动机(其二)
    如何上传服务器代码到GitHub上,并更新
    [Linux] VMware虚拟机开机后直接进入memtest
    PTA初级题目练习
  • 原文地址:https://blog.csdn.net/weixin_43848614/article/details/126808592