当前位置: 首页 > java >正文

文件管理(第八章、九)

文件

分类

文件逻辑结构

文件内部数据的组织方式和关系,决定文件中数据元素之间的逻辑联系和存储方式

无结构/流式文件:

一些二进制或字符流组成

有结果/流式文件:

一组相似的记录组成,又称为“记录式文件”

记录是一组相关数据项的集合,数据项是文件系统中最基本的数据单位

类型:顺序文件(存取速度快,插删记录困难,不利于动态扩充);索引文件(索引表;检索速度快,插删记录方便,系统开销大);索引顺序文件(顺序存取速度快,随机访问,增删改记录方便);直接文件(也称为直接存取文件;直接寻址)和哈希文件

文件物理结构

文件在存储介质上的实际存储方式和组织形式,影响文件的存取速度

文件在外存的组织方式

常见物理结构:

①连续分配

②链接分配——

隐式链接【不会有碎片问题,只支持顺序访问】

显式链接【文件分配表,常驻内存;顺序访问和随机访问,不会有碎片问题,占用存储空间】

FAT文件系统

③索引分配【顺序访问和随机访问,占用存储空间】

基本操作

创建文件

分配空间

在目录中记录该文件

写文件

分配指针

读文件

文件寻址

删除文件

打开文件的关联信息

文件指针

文件打开技术

文件磁盘位置

访问权限

※文件系统

主要是实现按名存取

※逻辑文件

从用户观点看的文件组织形式,是用户可以直接处理的数据及结构

※文件访问速度

提前读、为文件分配连续的簇、延迟写、采用磁盘高速缓存

※文件多级间址

目录结构

目录:文件名称和它的索引节点号结合在一起的一张表

数据结构

文件控制块FCB——目录文件中一条记录就是一个文件控制块,包含文件基本信息

索引节点——一个结构,包含文件长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息

操作

搜索

创建文件

删除文件

显示目录

修改目录

结构

单级结构目录

两级结构目录

树形目录结构

无环图目录结构

目录查询技术

线性检索法

哈希法

※目录项组成

文件共享

基于索引节点的共享方式——链接到多个目录中;硬链接

利用符号连接实现文件共享——只存放路径link;软链接

※多进程共享文件

多进程可以同时以“读”或“写”方式打开文件

系统打开文件表只有一张

各进程的用户打开文件表中,同样一个文件的表项内容不一定相同

进程关闭时会是文件的引用技术-1,引用计数为0时删除表项

文件保护

访问类型:

执行

添加

访问控制:

控制用户身份

口令密码

文件存储管理

初始化

目录区

文件区

管理方法

空闲表

空闲链

位示图

成组链接法

※磁盘空闲区管理

可用于文件系统管理空闲磁盘块的数据结构是位示图、空闲磁盘块链、文件分配表FAT、成组链接法

http://www.xdnf.cn/news/8993.html

相关文章:

  • Linux常见设备
  • EPT(Efficient Prompt Tuning)方法,旨在解决提示调优(Prompt Tuning)中效率与准确性平衡和跨任务一致性的问题
  • 基于大模型的急性腐蚀性胃炎风险预测与诊疗方案研究报告
  • 【保姆级教程】TortoiseGit安装和Visual Studio2019插件配置详细说明
  • leetcode98.验证二叉搜索树:迭代法中序遍历与栈操作的深度剖析
  • noc多核芯片设计:booksim仿真从入门到精通2Router 类型及路由算法修改
  • 28. 自动化测试开发框架拓展之邮件模块开发
  • Google 发布AI 编程工具Jules
  • Kaggle-Predict Calorie Expenditure-(回归+xgb+cat+lgb+模型融合)
  • 成都鼎讯便携式雷达信号模拟器:重塑电磁训练新生态
  • 【鸿蒙开发】Hi3861学习笔记-雨滴传感器
  • node入门:安装和npm使用
  • C语言利用Windows Portable Devices API访问安卓设备文件
  • 什么是HTTP HTTP 和 HTTPS 的区别
  • 视频画质等级
  • openpi π₀ 项目部署运行逻辑(三)——策略推理服务器 serve_policy.py
  • 中小企业AI算力如何选?【显卡租赁】VS【自建服务器】
  • 语音识别——文本转语音
  • 5.26 day 29
  • 论文阅读:Self-Planning Code Generation with Large Language Models
  • AOSP编译错误
  • Linux云计算训练营笔记day16(Linux周期性计划任务、Python)
  • OpenCV (C/C++) 中使用 Sobel 算子进行边缘检测
  • 【读书笔记】《编码:隐匿在计算机软硬件背后的语言》02 门
  • 【杂谈】------使用 __int128 处理超大整数计算
  • Haproxy 基础知识点
  • Halo:一个强大易用的国产开源建站工具
  • kafka实践与C++操作kafka
  • (自用)Java学习-5.14(注册,盐值加密,模糊查询)
  • Vue-模版绑定指令语法/什么是Vue组件