文章目录

  • 一. 初识文件管理
    • 1)文件的属性
    • 2)向上提供的功能
  • 二. 逻辑结构与目录
    • 1)顺序文件
    • 2) 目录
  • 三. 文件分配方式
    • 连续分配
    • 链式分配
    • 索引分配

一. 初识文件管理

1)文件的属性

  • 文件名:同一目录下不允许有重名文件
  • 标识符:一个系统内的标识符唯一,对用户无可读性。
  • 类型:文件类型
  • 位置:文件存放的路径(用户)、外存中的地址(操作系统使用,用户不可见)
  • 大小:文件大小
  • 创建时间、上次修改时间
  • 文件所有者信息、保护信息等
  • 文件内部数据如何组织:
    分为无结构文件(二进制 or 字符流组成)、有结构文件
  • 文件之间的组织方式:建立一层一层的目录,在一个根目录下(像树结构)

2)向上提供的功能

  • 创建、删除、读、写、打开、关闭:用到系统调用
  • 还有文件共享文件保护功能

二. 逻辑结构与目录

1)顺序文件

结论:定长记录的顺序文件,若物理上采用顺序存储,则可实现随机存取;若能再保证记录的顺序结构,则可实现快速检索(二分法)

  • 文件的记录逻辑上顺序排序,记录可定长,也可变长。采用顺序存储或链式存储
  • 串结构、顺序结构(看记录顺序与关键字有无关系)
  • 文件控制块FCB:包含了文件的基本信息。目录文件中的一条记录就是一个FCB。

2) 目录

  • 树形目录结构:不同目录下的文件可以重名
  • 绝对路径:从根目录出发的路径
  • 当前目录:避免每次都采取绝对路径带来的频繁I/O低效率
  • 相对路径:结合当前目录,减少I/O操作,提高效率

三. 文件分配方式

连续分配
  • 连续分配方式:每个文件磁盘上占有一组连续的块
  • 支持随机访问,连续分配的文件在顺序读、写时速度最快
  • 但是不方便拓展(类似数组的插入效率)

链式分配
  • 方便拓展,外存利用率高
  • 隐式链接:不支持随机访问。
  • 显式链接:用文件分配表记录指针(FAT),支持随机访问,效率更高。
索引分配
  • 支持随机访问,拓展方便

【学习笔记】第四章——文件 I(文件管理、逻辑结构、目录与文件分配方式)相关推荐

  1. 《Go语言圣经》学习笔记 第四章 复合数据类型

    <Go语言圣经>学习笔记 第四章 复合数据类型 目录 数组 Slice Map 结构体 JSON 文本和HTML模板 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. ...

  2. Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25

    Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...

  3. Unix原理与应用学习笔记----第六章 文件的基本属性2

    Unix原理与应用学习笔记----第六章 文件的基本属性2 改变文件权限命令:chmod 提示:文件或目录创建后,就被赋予一组默认的权限.所有的用户都有读,只有文件的所有者才有写. 相对权限设置 Ch ...

  4. 计算机网络(第7版)谢希仁著 学习笔记 第四章网络层

    计算机网络(第7版)谢希仁著 学习笔记 第四章网络层 第四章 网络层 4.3划分子网和构造超网 p134 4.3.1划分子网 4.3.2使用子网时分组的转发 4.3.3无分类编址CIDR(构建超网) ...

  5. 机器人导论(第四版)学习笔记——第四章

    机器人导论(第四版)学习笔记--第四章 4.1 引言 4.2 解的存在性 4.3 当n<6时操作臂子空间的描述 4.4 代数解法和几何解法 4.5 简化成多项式的代数解法 4.6 三轴相交的Pi ...

  6. Windows驱动开发学习笔记(四)—— 3环与0环通信(常规方式)

    Windows驱动开发学习笔记(四)-- 3环与0环通信(常规方式) 设备对象 创建设备对象 设置数据交互方式 创建符号链接 IRP与派遣函数 IRP的类型 其它类型的IRP 派遣函数 派遣函数注册位 ...

  7. Linux7.6—Shell编程 学习笔记 第四章:系统任务设置

    Linux7.6-Shell编程 第四章:系统任务设置 文章目录 Linux7.6-Shell编程 一.系统启动流程 二.系统服务 三.开机自启动服务 四.定时任务 一.系统启动流程 启动计算机的硬件 ...

  8. 线性代数学习笔记——第四章学习指南——n维向量空间

    一.学习内容及要求 1. 内容: §4.1. n维向量空间的概念 线性代数学习笔记--第四十讲--n维向量空间的概念 线性代数学习笔记--第四十一讲--n维向量空间的子空间 §4.2. 向量组的线性相 ...

  9. Lan Goodfellow 《DEEP LEARNING》学习笔记 --第四章

    https://app.yinxiang.com/shard/s64/nl/22173113/a89ab8f8-3937-419c-8b81-cc913abaa35a/ 为了方便起见,我用的可手写的a ...

  10. python实验题第四章_「Python」2020.03.16学习笔记 | 第四章列表、元组、字典-习题(11-13)...

    学习测试开发的Day74,真棒! 学习时间为1H 第四章列表.元组.字典-习题(11-13) 11.求两个集合的交集和并集 代码 list1=[1,2,3,4] list2=[2,3,5,5] def ...

最新文章

  1. python怎么查看代码错误_python中的错误如何查看
  2. Java 最坑爹的 10 大功能点!
  3. Android 系统添加SELinux权限
  4. c winform mysql类_C#连接MySQL数据库操作类
  5. mysql 同步 有log_MySQL之主从同步
  6. 郭慧计算机,机械制图及CAD(高等院校网络教育系列教材)
  7. 计算机网络实验【常见网络测试命令的使用】
  8. Redis环境配置和命令语句
  9. python中文件写入种类及功能方法
  10. 本科蓝色学术论文答辩PPT模板
  11. Moodle中的session用法
  12. [存储] Cobar使用文档(可用作MySQL大型集群解决方案)
  13. 曾经我也有一个做游戏的梦想,这几本游戏开发的书籍推荐给为未来的游戏工程师
  14. 左耳朵谈个人成长:做正确的事,等着被开除
  15. 查看显卡型号命令_如何查看电脑显卡型号配置 快速查看显卡配置信息方法
  16. yana--Flutter一些学习
  17. 在git clone报错
  18. 【C++基础入门】C++全栈体系(一)
  19. genl_ops结构分析
  20. loadruner分析时各种图的认识

热门文章

  1. linux gpio设备驱动程序,嵌入式Linux设备驱动开发之:GPIO驱动程序实例-嵌入式系统-与非网...
  2. asp:dropdownlist如何去掉三角箭头_一棵悬崖三角枫的培养过程
  3. 销售管理系统 java_用Java从零写一个B2C商城,看完不要再说自己没有实战经验了!...
  4. 开发里程碑计划_里程碑——让你轻松控制项目进度
  5. matplotlib的colorbar自定义刻度范围
  6. JavaSE——面向对象高级(继承、final关键字、抽象类与接口、多态、Object类、内部类、包装类、可变参数)
  7. MFC中树形控件的应用——电话簿
  8. 数据结构 - 队列(图解+源码)
  9. 为什么我们要使用HTTP Strict Transport Security?
  10. java判断是否是路径_java判断是否是目录