四、文件管理(二)目录

news2024/12/23 3:30:40

目录

2.0文件控制块和索引结点

2.1目录的结构

2.1.1单级目录结构

2.1.2两级目录结构

2.1.3树形目录结构

2.1.4有向无环图目录结构

2.2目录的操作

2.4文件共享

2.4.1基于索引结点(硬链接)

2.4.2基于符号链(软链接)


2.0文件控制块和索引结点

除了文件数据,操作系统还会保存与文件相关的信息,如所有者、创建时间等,这些附加信息称为文件属性文件元数据。 

文件控制块(FCB)是用来存放控制文件需要的各种信息的数据结构,以实现用户“按名存取”。FCB的有序集合称为文件目录,一个FCB就是一个文件目录项一个文件具有一个FCB

一个文件目录也被视为一个文件,称为目录文件。

FCB(File Control Block)主要包含以下信息:

  • 基本信息,如文件名、文件的物理位置、文件的逻辑结构、文件的物理结构。
  • 存取控制信息,包括文件拥有者的存取权限、核准用户的存取权限和一般用户的存取权限。
  • 使用信息,如文件创建时间、最后一次修改时间和最后一次存取时间等。

在检索目录的过程中,只需用文件名,当找到一个目录项(其中的文件名与要查找的文件名匹配)时,才需从该目录项中读出该文件的物理地址。 

因此有的系统(如UNIX)便采用了文件名文件描述信息分开的方法,使文件描述信息单独形成一个称为索引结点的数据结构,简称 i 结点(inode)。这种方法可以减少查找文件的平均启动磁盘次数,节省系统开销。

在文件目录中的每个目录项仅由文件名指向该文件所对应的索引结点指针构成。

存放在外存中的索引结点称为“磁盘索引结点”,当索引结点放入内存后称为“内存索引结点”。相比之下内存索引结点中需要增加一些信息,如:文件是否被修改、此时有几个进程正在访问该文件等。

2.1目录的结构

计算机中除了要存储各种数据文件外,还要存储目录(文件),用于实现目录管理,即“按名存取”、对访问文件的控制等功能。

2.1.1单级目录结构

早期的操作系统在系统中只建立一张目录表,每个文件占一个目录项,不允许文件重名

 

2.1.2两级目录结构

早期的多用户操作系统 ,分为主文件目录用户文件目录。只允许不同用户文件重名。

 

2.1.3树形目录结构

又称多级目录结构,从根目录出发的路径是绝对路径

可以把某个目录表调入内存,设为当前目录。从当前目录出发的路径是相对路径。可以减少磁盘I/O次数。

 

2.1.4有向无环图目录结构

树型目录结构不便实现相同文件的共享。为此提出了无环图目录结构。

不同的文件名可以指向相同的文件(包括目录文件)。

2.2目录的操作

  • 移动目录。将文件或子目录在不同的父目录之间移动,文件的路径名也会随着改变。
  • 删除目录。先删除目录中所有文件再删除子目录;或同时删除文件和子目录。
  • 创建目录。在树形目录结构中,用户可以创建自己的用户文件目录,并可再创建子目录。 

2.4文件共享

共享: 多个用户共享同一个文件,系统中只有一份文件数据。文件数据的修改可以被所有用户感知。

复制:某个用户复制一份文件,系统中增加一份相同的文件数据。该用户修改自己的那份文件数据对其他用户无影响。

2.4.1基于索引结点(硬链接)

 

调入内存的索引结点中有一个链接计数变量,表明当前有几个用户在共享这个文件,当count=0时才可能被允许删除文件。

2.4.2基于符号链(软链接)

类似于Windows系统中的快捷方式,使用Link类型文件的用户不能第一时间感知到原文件的删除,只有访问时才会发现访问失效。且软链接磁盘操作更多,速度更慢。

 

  

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

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

相关文章

前端开发是做什么的?工作职责

想要了解前端从业者的工作职责,需要从一个完整网站应用产生流程入手,一个网站应用从无到有的过程大致如下 : 1)产品经理与甲方反复沟通交流,逐步确定产品需求完成设计草图; 2)产品经理根据需求…

如何在centos上安装nvidia docker

当基于nvidia gpu开发的docker镜像在实际部署时,需要先安装nvidia docker。那么如何安装nvidia docker呢。下面将详细介绍下。 安装原生docker yum -y install docker-io 下载nvidia docker安装包 我下载的是rpm文件,具体见截图 安装nvidia docker…

word如何给论文加引用文献

给论文加引用文献其实差不多就是加了个链接,通过点击链接跳转到文末最后展示引用文献额作者,论文名等等信息,给论文加引用文献只要有一下几步: 一、设置参考文献标号字体格式 对于论文中的文献,首先设置论文前序号的…

redis基础6——缓存穿透、缓存击穿、缓存雪崩

文章目录一、缓存穿透(双库为空)1.1 基础概念1.2 解决办法1.2.1 业务层校验1.2.2 设置key过期时间1.2.3 布隆过滤器1.2.3.1 原理1.2.3.1.1 哈希函数使用1.2.3.1.2 布隆过滤器数据结构1.2.3.1.2.1 映射函数执行过程1.2.3.1.2.2 布隆过滤器的误判率1.2.3.2…

华为机试 - 最大化控制资源成本

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 公司创新实验室正在研究如何最小化资源成本,最大化资源利用率,请你设计算法帮他们解决一个任务混部问题: 有taskNum项任务,每个任务有开始时间&#xf…

数字图像处理实验(一)|图像的基本操作和基本统计指标计算

文章目录一、实验目的二、实验主要仪器设备三、实验原理(1)将一幅图像视为一个二维矩阵。(2)利用MATLAB图像处理工具箱读、写和显示图像文件。(3)计算图像的有关统计参数。(4)改变图像尺寸、旋转图像、裁剪图像四、实验内容(1)用imwrite写入图像(2) 用imread读入一幅图像(自选)…

opencv c++ 图像形态学操作

1、图像的形态学操作 包括图像的腐蚀、膨胀、开、闭、形态学梯度、顶帽、黑帽、分支主题、结构元素等操作。 具体概念参考:(41条消息) 图像处理-形态学处理_Gooddz的博客-CSDN博客_图像处理 形态学 1.1、膨胀 用33的核去扫描二值图像,当核与图像中的前景…

[附源码]JAVA毕业设计仟侬堂茶具网站(系统+LW)

[附源码]JAVA毕业设计仟侬堂茶具网站(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&a…

LeetCode中等题之查找和替换模式

题目 你有一个单词列表 words 和一个模式 pattern,你想知道 words 中的哪些单词与模式匹配。 如果存在字母的排列 p ,使得将模式中的每个字母 x 替换为 p(x) 之后,我们就得到了所需的单词,那么单词与模式是匹配的。 &#xff0…

Git(第二篇)——Git的常见操作

Git(第二篇)——Git的常见操作 目录Git(第二篇)——Git的常见操作一、Git版本控制介绍组成结构图命令速查常用命令二、下载并安装GIT设置字体查询git三、码云上的操作码云配置环境注册账号登录码云创建仓库创建远程仓库(在码云官网…

通讯录管理系统

目录 1.系统需求 2.创建项目 3.菜单功能 4.退出功能 5.添加联系人 5.1设计联系人结构体、设计通讯录结构体 5.2main函数中创建通讯录 5.3封装添加联系人函数 5.4测试添加联系人 6.显示联系人 7.删除联系人 7.1封装检测联系人是否存在 7.2删除联系人,测试删除联…

当我们的执行 java -jar xxx.jar 的时候底层到底做了什么?

大家都知道我们常用的 SpringBoot 项目最终在线上运行的时候都是通过启动 java -jar xxx.jar 命令来运行的。 那你有没有想过一个问题,那就是当我们执行 java -jar 命令后,到底底层做了什么就启动了我们的 SpringBoot 应用呢? 或者说一个 S…

Redux使用详解(一) Redux的核心思想与基本使用

Redux 理解javascript纯函数 函数式编程中有一个非常重要的概念叫纯函数,JavaScript符合函数式编程的范式,所以也有纯函数的概念; 在react开发中纯函数是被多次提及的; 比如react中组件就被要求像是一个纯函数(为什么…

使用STM32F103C8T自制freejoy控制板

1. 软件准备 1.1 STM公司的官方工具: STM32 ST-LINK Utility 已经更名为 STM32CubeProgrammer STSW-LINK004 - STM32 ST-LINK utility (replaced by STM32CubeProgrammer) - STMicroelectronics 1.2 FreeJoyConfiguratorQt V1.7.1 这个是刷好固件后的配置、调…

D-025 DP硬件电路设计

DP硬件电路设计1 简介1.1 DP接口分类1.2 DP接口和HDMI接口的区别1.3 DP接口的优势2 硬件层3 接口定义4 原理图设计1 简介 Display是一种新型的标准化的数字式视频接口标准,其支持的功能与HDMI相似,但是其目标是作为HDMI的补充,而非取代。DP …

红队渗透靶场之SickOs1.1

靶场考察知识 shellshock漏洞 shellshock即unix系统下的bash shell的一个漏洞, Bash 4.3以及之前的版本在处理某些构造的环境变量时存在安全漏洞, 向环境变量值内的函数定义后添加多余的字符串会触发此漏洞, 攻击者可利用此漏洞改变或绕过环境限制,以执行任意的sh…

Notepad++ ,json 、xml 格式化插件安装不了 和 github 网站访问不了 最佳解决方案

文章目录1.背景:2. 解决方法:方法一:修改hosts方法二: 通过 Watt Toolkit 加速1.简介:2.安装步骤:1.背景: 最近notpad 安装 JSON 和 xml 格式化工具安装不上,发现插件的地址 github…

docker之数据卷(Data Volumes)dockerfile

这里写目录标题宿主机与容器之间的文件拷贝数据卷数据卷容器Dockerfile自定义centos,具备vim及ifconfig作用(体会学习Dockerfile的意义)自定义tomcat8(熟悉几乎所有的Dockerfile命令)宿主机与容器之间的文件拷贝 引言…

故障分析 | Greenplum 集群 standby 故障处理

作者:杨文 DBA,负责客户项目的需求与维护,没有擅长,会点数据库,不限于MySQL、Redis、Cassandra、GreenPlum、ClickHouse、Elastic、TDSQL等等。 本文来源:原创投稿 *爱可生开源社区出品,原创内容…

SM4分组密码算法

对称加密算法SM4SM4算法介绍一、SM4加密流程二、轮函数F1.合成置换T3.非线性变换τ2.线性变换L4.加密的结果总结SM4算法介绍 SM4.0于2013年3月被列为国家密码行业标准“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)”。2016年被列入国家标准…