【操作系统】文件管理

news2024/11/22 10:14:10

文章目录

  • 文件管理初识
    • 文件的属性
    • 文件内部的数据如何组织起来?
    • 文件之间应该如何组织起来?
    • 操作系统应该向上提供哪些功能?
    • 从上往下看,文件应该如何存放在外存?
    • 其他需要由操作系统实现的文件管理功能
  • 文件的逻辑结构
    • 无结构文件
    • 有结构文件
      • 逻辑结构
      • 顺序文件
      • 索引文件
      • 索引顺序文件
      • 多级索引顺序文件
  • 文件目录结构
    • 文件控制块
    • 单级目录结构
    • 两级目录结构
    • 多级目录结构(树形目录结构)
    • 无环图目录结构
    • 索引节点(FCB的改进)瘦身
  • 文件的物理结构
    • 文件块、磁盘块
    • 连续分配
    • 链接分配
      • 隐式链接
      • 显式链接
      • 链接分配总结
    • 索引分配
      • 链接方案
      • 多层索引
      • 混合索引
      • 索引分配总结
    • 文件物理结构分配总结
  • 管理空闲磁盘块的几种算法
    • 存储空间的划分与初始化
    • 空闲表法
    • 空闲链表法
      • 空闲盘块链
      • 空闲盘区链
    • 位示图法
    • 成组链接法
  • 文件的基本操作原理
    • 创建文件
    • 删除文件
    • 打开文件
    • 关闭文件
    • 读文件
    • 写文件
  • 文件共享
    • 基于索引结点的共享方式(硬链接)
    • 基于符号链的共享方式(软链接)
  • 文件保护
    • 口令保护
    • 加密保护
    • 访问控制
  • 文件系统的层次结构
  • 磁盘的结构
    • 磁盘、磁道、扇区
    • 如何在磁盘中读/写数据
    • 盘面、柱面
    • 磁盘的分类
  • 磁盘调度算法
    • 一次磁盘读/写操作需要的时间
    • 先来先服务(FCFS)
    • 最短寻找时间优先算法(SSTF)
    • 扫描算法(SCAN)
    • LOOK算法
    • 循环扫描算法(S-SCAN)
    • C-LOOK算法
  • 减少磁盘延迟时间的方法
    • 交替编号
    • 磁盘地址结构的设计
    • 错位命名
  • 磁盘管理
    • 磁盘初始化
    • 引导块
    • 坏块的管理

文件管理初识

在这里插入图片描述

文件的属性

在这里插入图片描述
在这里插入图片描述

文件内部的数据如何组织起来?

在这里插入图片描述
在这里插入图片描述

文件之间应该如何组织起来?

在这里插入图片描述

操作系统应该向上提供哪些功能?

在这里插入图片描述
在这里插入图片描述

从上往下看,文件应该如何存放在外存?

在这里插入图片描述
在这里插入图片描述

其他需要由操作系统实现的文件管理功能

在这里插入图片描述

最后总结一下:
在这里插入图片描述

文件的逻辑结构

在这里插入图片描述

这里说一下随机访问和顺序访问:

随机访问(Random Access)是计算机存储介质的一种访问方式。它指的是存储介质可以以任意的、不连续的方式访问存储的每个地址。也就是说,随机访问允许直接访问存储介质的任意位置,不需要从开头逐个访问到需要的地址

与随机访问相对的是顺序访问(Sequential Access),它要求从存储介质的开头开始逐个访问,直到找到需要的信息。随机访问的访问时间不依赖于信息在介质中的物理位置,而顺序访问的访问时间则与信息的位置密切相关,时间较长。

常见的随机访问存储介质有:

  • 内存(RAM):可以直接通过地址线访问任意地址的内容。
  • 硬盘(HDD/SSD):虽然硬盘的存储介质是循环的,但通过读/写磁头可以直接访问任意扇区,所以也支持随机访问。
  • CD/DVD-ROM:通过光学读取头可以直接定位任意位置的信息。

而常见的顺序访问存储介质有:

  • 磁带(Magnetic Tape):需要从开始顺序读取信息,访问时间依赖于信息的位置。
  • 光带(Optical Tape):同样需要顺序读取,不支持随机访问。

随机访问带来的主要优点是:

  1. 快速读取访问时间:可以直接定位到需要读取的地址,不依赖于信息的物理位置,访问时间较短。
  2. 便捷的插入和删除:可以在任意位置插入和删除数据,不影响其他数据的存取。
  3. 更简单的文件管理:支持将文件从一个随机位置直接引入到另一个随机位置。

无结构文件

在这里插入图片描述

有结构文件

在这里插入图片描述

  • 定长记录
    在这里插入图片描述

  • 不定长记录
    在这里插入图片描述

逻辑结构

在这里插入图片描述

顺序文件

在这里插入图片描述
在这里插入图片描述

索引文件

在这里插入图片描述

索引顺序文件

在这里插入图片描述

索引顺序文件的效率分析:
在这里插入图片描述

多级索引顺序文件

在这里插入图片描述

最后总结一下:
在这里插入图片描述

文件目录结构

在这里插入图片描述

文件控制块

在这里插入图片描述
在这里插入图片描述
对目录的操作

在这里插入图片描述

单级目录结构

在这里插入图片描述

两级目录结构

在这里插入图片描述

多级目录结构(树形目录结构)

在这里插入图片描述
在这里插入图片描述

无环图目录结构解决文件共享

在这里插入图片描述

无环图目录结构

在这里插入图片描述在这里插入图片描述

索引节点(FCB的改进)瘦身

在这里插入图片描述
在这里插入图片描述

最后总结一下:
在这里插入图片描述

文件的物理结构

在这里插入图片描述

在这里插入图片描述

文件块、磁盘块

在这里插入图片描述

在这里插入图片描述

连续分配

连续分配优点:
在这里插入图片描述
在这里插入图片描述

连续分配缺点:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

链接分配

链接分配采取离散分配的方式,可以为文件分配离散的磁盘块。分为两种:

  • 隐式链接
  • 显示链接

隐式链接

在这里插入图片描述

在这里插入图片描述

显式链接

在这里插入图片描述
在这里插入图片描述

链接分配总结

在这里插入图片描述

索引分配

在这里插入图片描述
如何实现逻辑块号到物理块号的转换?

在这里插入图片描述
数据太大,一个索引表装不下那么多的映射怎么办?

在这里插入图片描述

链接方案

在这里插入图片描述

多层索引

在这里插入图片描述

磁盘I/O是指计算机中的磁盘输入/输出操作。它涉及到计算机和外部磁盘存储设备之间的数据传输。
当CPU需要访问磁盘上的数据时,它需要通过磁盘控制器将请求发给磁盘驱动器,驱动器进行寻道、读取数据,然后把数据传给CPU,这整个过程就是磁盘I/O操作。

在这里插入图片描述

混合索引

在这里插入图片描述

索引分配总结

在这里插入图片描述

文件物理结构分配总结

在这里插入图片描述

管理空闲磁盘块的几种算法

在这里插入图片描述
在这里插入图片描述

存储空间的划分与初始化

在这里插入图片描述

空闲表法

  • 分配
    在这里插入图片描述
    在这里插入图片描述
  • 回收
    在这里插入图片描述

在这里插入图片描述

空闲链表法

在这里插入图片描述

空闲盘块链

在这里插入图片描述

空闲盘区链

在这里插入图片描述

位示图法

在这里插入图片描述
如何分配与回收?

在这里插入图片描述

成组链接法

在这里插入图片描述

超级块的作用

在这里插入图片描述

如何分配?

需要1个空闲磁盘块

在这里插入图片描述
在这里插入图片描述
需要100个空心啊磁盘块

在这里插入图片描述
在这里插入图片描述
如何回收

在这里插入图片描述
在这里插入图片描述
第二种情况,第一组已满

在这里插入图片描述
在这里插入图片描述

最后总结一下:

在这里插入图片描述

文件的基本操作原理

在这里插入图片描述

创建文件

在这里插入图片描述

删除文件

在这里插入图片描述

打开文件

在这里插入图片描述
打开文件表有两种:

在这里插入图片描述

关闭文件

在这里插入图片描述

读文件

在这里插入图片描述

写文件

在这里插入图片描述

最后总结一下:
在这里插入图片描述

文件共享

在这里插入图片描述

基于索引结点的共享方式(硬链接)

在这里插入图片描述

基于符号链的共享方式(软链接)

在这里插入图片描述

例子

在这里插入图片描述

在这里插入图片描述

共享的文件不存在时

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后我们总结一下:
在这里插入图片描述

文件保护

口令保护

在这里插入图片描述

加密保护

在这里插入图片描述

访问控制

在这里插入图片描述
在这里插入图片描述

windows的访问控制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后我们总结一下:

在这里插入图片描述

文件系统的层次结构

在这里插入图片描述
在这里插入图片描述

磁盘的结构

在这里插入图片描述

磁盘、磁道、扇区

在这里插入图片描述

如何在磁盘中读/写数据

在这里插入图片描述

盘面、柱面

在这里插入图片描述

磁盘的分类

按磁头是否可移动分类
在这里插入图片描述

按盘片是否可更换分类

在这里插入图片描述

磁盘调度算法

在这里插入图片描述

一次磁盘读/写操作需要的时间

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

先来先服务(FCFS)

在这里插入图片描述

最短寻找时间优先算法(SSTF)

在这里插入图片描述

扫描算法(SCAN)

在这里插入图片描述

LOOK算法

在这里插入图片描述

循环扫描算法(S-SCAN)

在这里插入图片描述

C-LOOK算法

在这里插入图片描述

最后总结一下:
在这里插入图片描述

减少磁盘延迟时间的方法

在这里插入图片描述

交替编号

在这里插入图片描述

磁盘地址结构的设计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

错位命名

在这里插入图片描述
在这里插入图片描述

最后我们总结一下:
在这里插入图片描述

磁盘管理

在这里插入图片描述

磁盘初始化

在这里插入图片描述

引导块

在这里插入图片描述
在这里插入图片描述

坏块的管理

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/531064.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【CVPR 2023的AIGC应用汇总(8)】3D相关(编辑/重建/生成) diffusion扩散/GAN生成对抗网络方法...

【CVPR 2023的AIGC应用汇总(7)】face相关(换脸/编辑/恢复) diffusion扩散/GAN生成对抗 【CVPR 2023的AIGC应用汇总(6)】医学图像diffusion扩散/GAN生成对抗网络 【CVPR 2023的AIGC应用汇总(5)】语义布局可控生成,基于diffusion扩散/GAN生成对…

Java数据库项目之满汉楼

文章和代码已经归档至【Github仓库:https://github.com/timerring/java-tutorial 】或者公众号【AIShareLab】回复 java 也可获取。 文章目录 程序框架图代码实现数据库Java多表查询思路 程序框架图 代码实现 数据库 -- 创建满汉楼的数据库 CREATE DATABASE mhl -…

输入输出IO流

文章目录 1.数据源2.流3.IO流的分类4.字节流4.1文件字节输入流1. FileInputStream类概述2. FileInputStream类构造方法3. FileInputStream类常用方法 4.2文件字节输出流1. FileOutputStream类概述2. FileOutputStream类构造方法3. FileOutputStream类常用方法 5字符流5.1. File…

philsolophy of life: blessing in disguise

有个成语叫: "塞翁失马" , 这个讲的是在战国时期,有个叫"塞翁"的老人养了很多马,有一天他丢了一匹马,邻居来劝说他,不要着急,说不定哪天就回来了,"丢了一匹马或许是好事&#xf…

【壁纸小程序】推荐一款壁纸小程序

壁纸很多 直接在手机切换下载即可 感兴趣的朋友可以看看 小程序二维码

第五章 介绍Productions - 业务流程和业务逻辑

文章目录 第五章 介绍Productions - 业务流程和业务逻辑业务流程和业务逻辑介绍业务流程的类型数据转换业务规则 第五章 介绍Productions - 业务流程和业务逻辑 业务流程和业务逻辑 本章描述业务流程中支持的逻辑种类。 介绍 业务流程是production的中间部分。它们接受来自…

Spring【Again】——复杂POJO的绑定

简单介绍: Again系列是将之前的内容我认为做的不好的地方或者是理解不到位的地方再来一次,加深记忆或者改错。我们就在来复习一下之前我们说过的复杂类型的数据绑定。 先来复习一下简单数据绑定: 简单数据绑定就是我们在传递参数的时候&am…

京东jd商品详情API接口(item_get-根据ID取商品详情)代码封装

item_get-根据ID取商品详情接口 通过代码封装该接口可以拿到商品标题,商品价格,商品促销信息,商品优惠价,商品库存,sku属性,商品图片,desc图片,desc描述,sku图片&#xf…

文件上传下载系列——大文件分片上传

文章目录 概述实现步骤:应用场景 代码实操:前端:文件切片:分片上传: 后端:校验和保存:合并文件片段:完成上传: 总结优点:缺点: 升华 概述 文件分片…

spring cache和SpEL表达式

spring cache的 CachePut如果方法体内容变了,缓存还有效吗 当使用CachePut注解时,其目的是更新缓存,即在方法执行完毕后将返回结果加入缓存中。如果方法体内容发生变化,则更新后的结果会被加入缓存中,而缓存中原来的数据会被替换…

ORACLE 新闻速递 ORACLE 23C 免费提供给开发者 为什么???

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…

利用AI将脑信号解码为神经义肢控制

机器学习和人工智能的快速发展,它们已经产生了一系列能够学习大量数据之间复杂非线性关系的神经网络模型。深度学习算法在各种应用中取得了巨大的成功,包括计算机视觉、自然语言处理和机器人类等。最近,神经网络的中一项引人注目的应用是通过…

B 站构建实时数据湖的探索和实践

摘要:本文整理自 bilibili 大数据实时团队资深开发工程师周晖栋,在 Flink Forward Asia 2022 实时湖仓专场的分享。本篇内容主要分为四个部分: 1. 背景和痛点 2. 场景探索 3. 基建优化 4. 总结和展望 Tips:点击「阅读原文」查看原…

VMware之esxcli命令

一、esxcli命令简介 esxcli命令是用于管理VMware ESXi主机的命令行实用程序。它允许管理员在主机上执行各种管理任务,如配置网络设置、存储、虚拟机等。实际上我们在控制台的所有操作最终都会转换为命令在后台执行。以下是一些常见的esxcli命令: esxcli…

第三章 存储系统

1. 主存简单模型和寻址概念 存储器芯片的基本结构 寻址 2.存储器RAM 两种RAM的比较 DRAM的刷新 3.ROM(只读存储器) 为什么需要ROM? 因为RAM里面的数据容易丢失。 4.存储器基本概念 存储器的分类 性能指标 数据的宽度:在一个存储周期中存储的位数 层…

感烟探测器漂移补偿

3.8 慢速发展火灾响应性能 3.8.1 探测器的漂移补偿功能不应使探测器对慢速发展火灾的响应性能产生明显影响。 3.8.2 当无法用模拟烟气浓度缓慢增加的方法评估探测器对慢速发展火灾响应性能时,可以通过物理试验和模拟试验对电路和/或软件分析确定。 3.8.3 探测器评估…

丰富多彩 | Android 14 Beta 2 发布

作者 / Dave Burke, VP of Engineering Google I/O 的大幕已经拉开,我们也为大家带来了 Android 14 的第二个 Beta 版。我们在 Google I/O 上为大家准备了许多精彩的演讲,包括对 Android 14 许多新功能的详细介绍。这次发布的 Beta 2 聚焦相机和媒体、隐…

只要学会这些AI工具,一个人就是一家营销咨询公司

本教程收集于:AIGC从入门到精通教程 只要学会这些AI工具,一个人就是一家营销咨询公司 随着AI工具的不断涌现,您只需掌握市面上热门的AI工具,便可独自开展营销咨询公司。通过一系列AI工具,您可以为企业提供全案服务,收获丰厚回报。 例如,在协助一家美妆初创公司出海时,…

上下文工程:基于 Github Copilot 的实时能力分析与思考

上个月在计划为 AutoDev 添加多语言支持时候,发现 GitHub Copilot 的插件功能是语言无关的(通过 plugin.xml 分析),便想研究一下它是如何使用 TreeSitter 的。可惜的是,直到最近才有空,研究一下它是如何实现…

印刷和喷绘过程中高精度油墨流量和压力的串级控制解决方案

摘要:针对现有技术在印刷或喷绘设备中油墨流量控制不准确,使得油墨粘稠度产生异常造成批量性质量方面的问题,本文提出了相应的串级控制解决方案,即通过双回路形式同时控制油墨的流量和压力。本解决方案不仅可以保证油墨最终流量的…