【学习笔记】第四章——文件 I(文件管理、逻辑结构、目录与文件分配方式)
文章目录
- 一. 初识文件管理
- 1)文件的属性
- 2)向上提供的功能
- 二. 逻辑结构与目录
- 1)顺序文件
- 2) 目录
- 三. 文件分配方式
- 连续分配
- 链式分配
- 索引分配
一. 初识文件管理
1)文件的属性
- 文件名:同一目录下不允许有重名文件
- 标识符:一个系统内的标识符唯一,对用户无可读性。
- 类型:文件类型
- 位置:文件存放的路径(用户)、外存中的地址(操作系统使用,用户不可见)
- 大小:文件大小
- 创建时间、上次修改时间
- 文件所有者信息、保护信息等
- 文件内部数据如何组织:
分为无结构文件(二进制 or 字符流组成)、有结构文件
- 文件之间的组织方式:建立一层一层的目录,在一个根目录下(像树结构)
2)向上提供的功能
- 创建、删除、读、写、打开、关闭:用到系统调用
- 还有文件共享、文件保护功能
二. 逻辑结构与目录
1)顺序文件
结论:定长记录的顺序文件,若物理上采用顺序存储,则可实现随机存取;若能再保证记录的顺序结构,则可实现快速检索(二分法)
- 文件的记录逻辑上顺序排序,记录可定长,也可变长。采用顺序存储或链式存储
- 串结构、顺序结构(看记录顺序与关键字有无关系)
- 文件控制块FCB:包含了文件的基本信息。目录文件中的一条记录就是一个FCB。
2) 目录
- 树形目录结构:不同目录下的文件可以重名
- 绝对路径:从根目录出发的路径
- 当前目录:避免每次都采取绝对路径带来的频繁I/O低效率
- 相对路径:结合当前目录,减少I/O操作,提高效率
三. 文件分配方式
连续分配
- 连续分配方式:每个文件在磁盘上占有一组连续的块
- 支持随机访问,连续分配的文件在顺序读、写时速度最快。
- 但是不方便拓展(类似数组的插入效率)
链式分配
- 方便拓展,外存利用率高
- 隐式链接:不支持随机访问。
- 显式链接:用文件分配表记录指针(FAT),支持随机访问,效率更高。
索引分配
- 支持随机访问,拓展方便
【学习笔记】第四章——文件 I(文件管理、逻辑结构、目录与文件分配方式)相关推荐
- 《Go语言圣经》学习笔记 第四章 复合数据类型
<Go语言圣经>学习笔记 第四章 复合数据类型 目录 数组 Slice Map 结构体 JSON 文本和HTML模板 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. ...
- Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25
Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...
- Unix原理与应用学习笔记----第六章 文件的基本属性2
Unix原理与应用学习笔记----第六章 文件的基本属性2 改变文件权限命令:chmod 提示:文件或目录创建后,就被赋予一组默认的权限.所有的用户都有读,只有文件的所有者才有写. 相对权限设置 Ch ...
- 计算机网络(第7版)谢希仁著 学习笔记 第四章网络层
计算机网络(第7版)谢希仁著 学习笔记 第四章网络层 第四章 网络层 4.3划分子网和构造超网 p134 4.3.1划分子网 4.3.2使用子网时分组的转发 4.3.3无分类编址CIDR(构建超网) ...
- 机器人导论(第四版)学习笔记——第四章
机器人导论(第四版)学习笔记--第四章 4.1 引言 4.2 解的存在性 4.3 当n<6时操作臂子空间的描述 4.4 代数解法和几何解法 4.5 简化成多项式的代数解法 4.6 三轴相交的Pi ...
- Windows驱动开发学习笔记(四)—— 3环与0环通信(常规方式)
Windows驱动开发学习笔记(四)-- 3环与0环通信(常规方式) 设备对象 创建设备对象 设置数据交互方式 创建符号链接 IRP与派遣函数 IRP的类型 其它类型的IRP 派遣函数 派遣函数注册位 ...
- Linux7.6—Shell编程 学习笔记 第四章:系统任务设置
Linux7.6-Shell编程 第四章:系统任务设置 文章目录 Linux7.6-Shell编程 一.系统启动流程 二.系统服务 三.开机自启动服务 四.定时任务 一.系统启动流程 启动计算机的硬件 ...
- 线性代数学习笔记——第四章学习指南——n维向量空间
一.学习内容及要求 1. 内容: §4.1. n维向量空间的概念 线性代数学习笔记--第四十讲--n维向量空间的概念 线性代数学习笔记--第四十一讲--n维向量空间的子空间 §4.2. 向量组的线性相 ...
- Lan Goodfellow 《DEEP LEARNING》学习笔记 --第四章
https://app.yinxiang.com/shard/s64/nl/22173113/a89ab8f8-3937-419c-8b81-cc913abaa35a/ 为了方便起见,我用的可手写的a ...
- python实验题第四章_「Python」2020.03.16学习笔记 | 第四章列表、元组、字典-习题(11-13)...
学习测试开发的Day74,真棒! 学习时间为1H 第四章列表.元组.字典-习题(11-13) 11.求两个集合的交集和并集 代码 list1=[1,2,3,4] list2=[2,3,5,5] def ...
最新文章
- python怎么查看代码错误_python中的错误如何查看
- Java 最坑爹的 10 大功能点!
- Android 系统添加SELinux权限
- c winform mysql类_C#连接MySQL数据库操作类
- mysql 同步 有log_MySQL之主从同步
- 郭慧计算机,机械制图及CAD(高等院校网络教育系列教材)
- 计算机网络实验【常见网络测试命令的使用】
- Redis环境配置和命令语句
- python中文件写入种类及功能方法
- 本科蓝色学术论文答辩PPT模板
- Moodle中的session用法
- [存储] Cobar使用文档(可用作MySQL大型集群解决方案)
- 曾经我也有一个做游戏的梦想,这几本游戏开发的书籍推荐给为未来的游戏工程师
- 左耳朵谈个人成长:做正确的事,等着被开除
- 查看显卡型号命令_如何查看电脑显卡型号配置 快速查看显卡配置信息方法
- yana--Flutter一些学习
- 在git clone报错
- 【C++基础入门】C++全栈体系(一)
- genl_ops结构分析
- loadruner分析时各种图的认识
热门文章
- linux gpio设备驱动程序,嵌入式Linux设备驱动开发之:GPIO驱动程序实例-嵌入式系统-与非网...
- asp:dropdownlist如何去掉三角箭头_一棵悬崖三角枫的培养过程
- 销售管理系统 java_用Java从零写一个B2C商城,看完不要再说自己没有实战经验了!...
- 开发里程碑计划_里程碑——让你轻松控制项目进度
- matplotlib的colorbar自定义刻度范围
- JavaSE——面向对象高级(继承、final关键字、抽象类与接口、多态、Object类、内部类、包装类、可变参数)
- MFC中树形控件的应用——电话簿
- 数据结构 - 队列(图解+源码)
- 为什么我们要使用HTTP Strict Transport Security?
- java判断是否是路径_java判断是否是目录