31-文件管理与逻辑结构
文件管理
文件是一组有意义的信息/数据集合。
文件属性#
文件属性
- 文件名:同一目录下不允许有重名文件
- 标识符:一个系统内各文件标识符唯一,对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一种内部名称
- 类型:指明文件的类型
- 位置:文件的存放路径,在外存中的地址。
- 大小:指明文件大小
- 创建时间、上次修改时间
- 文件所有者信息
- 保护信息:对文件进行保护的访问控制信息。
组织形式#
无结构文件#
又称为"流式文件",由一些二进制或字符流组成
有结构文件#
又称为"记录式文件",记录是一组相关数据项的集合。
树状组织形式#
目录式组织结构,通过目录组织在一起,是一种特殊的有结构文件。
操作系统向上提供何种功能?#
- 操作系统可以"创建文件",图形化交互进程在背后调用了"create系统调用"
- 操作系统可以读文件,背后是"read系统调用"
- 操作系统可以保存文件,“背后是write文件调用”
- 操作系统可以删除文件,背后是"delete系统调用"
- 操作系统可以打开文件,背后是"open系统调用"
- 操作系统可以关闭文件,背后是"close系统调用"
其他需要操作系统实现的文件管理功能#
文件共享#
使得多个用户可以共享使用同一个文件
文件保护#
如何保证不同的用户对文件有不同的操作权限
逻辑结构
文件操作的具体实现与文件的逻辑结构和物理结构都有关.
无结构文件#
由一些二进制流,又称为流式文件,比如.txt文件
有结构文件#
由一组相似的记录组成,又称记录式文件,每条记录又有若干个数据项组成,每条记录有一个数据项可以做关键字。根据各条记录的长度(占用的存储空间)是否相等,又可分为定长记录和可变长记录等。
顺序文件#
文件中的记录一个接一个顺序的排列。这些记录可以是定长也可以是变长的。各个记录在物理上可以顺序存储或链式存储。
串顺序#
记录之间的顺序与关键字无关,通常按照时间顺序记录。
链式存储
无法实现顺序存取,每次都只能从第一个记录开始往后找
顺序文件#
记录之间的顺序按关键字顺序排列
可变长记录
无法实现随机存取,只能从第一个记录开始往后查找
定长记录
可实现随机存取,记录长度为L,第i个文件存放的相对位置的IxL
- 若采用串结构,无法快速找到某关键字对应的位置
- 若采用顺序结构,可以快速找到某关键字对应的位置。
索引文件#
对于可变长文件,要找到第i个文件,就要顺序查找前i-1个。很多应用场景中又必须使用可变长记录。
索引表本身身定长记录文件,因此可以快速找到第i个记录的索引项。
索引顺序文件#
索引顺序文件,如果索引表可能会很大。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!