文件名:计算机里,完整的文件名应该包括主文件名和扩展文件名两部分。扩展文件名就是你说的“后缀”。针对你说的情况,文本文件名应该写为:1.txt。
标识符=文件的路径+文件名
有结构文件 = 表文件
基本功能:文件的增删改查
实际生活中,最常用的是可变长记录
结合链表和数组进行理解
链式存储:链表
顺序存储:数组
可变长记录就要去访问每条记录的长度
数组元素长度固定的数组
索引表配置记录的指针,从而相当于定长记录的顺序文件。
二级页表的思想,表中有表
索引的索引
超级套娃,索引的索引的索引的。。
只有一层的文件夹
有多个用户,但是用户对自己的文件不能进行进一步的管理
树的结构
当前目录->相对路径(减少IO次数)
只放一些有用的数据项
类似于链表
起始块号是0号块,链表的头和尾,每个节点包含指向下一个节点的指针。
FAT
FAT(文件分配表)占用一定的存储空间。
链接分配默认是隐式链接。
索引块对应一个索引表,占用存储空间
索引块占用一定的存储空间。
类似:链表中每个元素都是数组
缺点:要找到最后一个逻辑块,必须所有的索引块都读入内存,效率低
简单理解:目录的目录
磁盘IO次数多
单链表的增删改查(多次)
节点大小不定长的单链表的增删改查(有可能是多次或者是1次)
二维数组
理解即可,树状结构,长度不用写死,每个节点有长度和数据,关键看是已经用到的目录还是代表空闲节点
这张图我得好好解释一下,首先来看左边绿色的空闲盘块号栈,这是第一组(唯一进入内存的一组,只有它会占据存储空间)。看到S.free = 100了没,这表示该组有100个空闲块数目,再往下看,第0号对应的是300,表示下一组物理空闲块的物理盘块号为300,你看它指向的是不是300号对应的磁盘块。再看黄色的块,这些块里保存的才是真正的可用的空闲块,也就是说每组中只有99个块可用。尽管如此,每组还是有100个块的。特别要注意的是,最后一组的下一组盘块号不是没有么,我们这里采用的是结束标记“0”,也就是最右边一个蓝色块的第二项为0。
文件的增删改查
内存中存放正在打开的文件,免得重新加载
打开文件是找到对应的文件的指针,不是全部加载文件。系统中只有一个包含文件所有信息的打开文件的记录总表(系统的打开文件表)
进程中有打开文件表。
打开计数器为0时,才能进行文件删除功能。
保存文件的功能
文件描述符:指向文件的指针
共享:系统中只有一份文件数据
硬链接就是复制了一份的文件目录项,直接指向文件。
该目录项只包含文件名。索引结点指针。
不能对目录创建硬链接
(符号链接):删除链接文件对于原文件无影响
密码
通过“密码”加密和解密 ,加解密的密码是一致的。 异或加密
用户的权限控制,对一个目录进行的设置,其下的所有目录和文件都是相同的设置
用户分组
原文:https://www.cnblogs.com/linzworld/p/13221720.html