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

【操作系统】文件系统的逻辑结构与目录结构

文章目录

  • 文件的概念
    • 定义
    • 属性
    • 基本操作
  • 文件的结构
    • 文件的逻辑结构
    • 文件的目录结构
      • 文件控制块(FCB)
      • 索引节点
      • 目录结构

文件的概念

定义

在操作系统中,文件被定义为:以计算机硬盘为载体的存储在计算机上的信息集合。

属性

描述文件状态的一组信息,比如名称、标识符、类型、大小、位置、保护、时间、日期、用户标识等。

基本操作

创建文件;读文件;写文件;文件重定位(寻址);删除文件;截断文件;打开与关闭

文件的结构

要理解文件在操作系统中的结构,我们要从两方面来了解:文件的逻辑结构文件的物理结构

文件的逻辑结构

文件的逻辑结构就是我们所看到的文件结构(个人理解:以文本方式查看的形式所看到的结构)。逻辑结构又存在两种情况:

  • 无结构文件(流式文件);
    • 以字节(Byte)为单位;
    • 没有具体结构;
    • 采用穷举式方式搜索;
  • 有结构文件(记录式文件
    • 顺序文件;
    • 索引文件;
    • 索引顺序文件;
    • 直接文件或散列文件;

文件的目录结构

通过文件的目录我们可以方便快捷的查找文件以及管理文件。

文件的目录结构由文件控制块(FCB)、索引节点、目录结构三部分构成;

文件控制块(FCB)

文件控制块是一种数据结构,存储了文件的基本信息(文件名、类型…)、存取控制信息(权限)、使用信息(创建时间、修改时间…)。如下图所示:

在这里插入图片描述

索引节点

通过对文件名建立索引表,快速查询文件名对应的文件的除文件名意外的信息属性(FCB中的剩余信息)。索引节点如下图:

在这里插入图片描述

目录结构

对于文件的目录结构,大家已经非常熟悉,通常都是采用了多级目录结构的形式。如下图:

在这里插入图片描述

相关文章:

【操作系统】文件系统的逻辑结构与目录结构

文章目录 文件的概念定义属性基本操作 文件的结构文件的逻辑结构文件的目录结构文件控制块(FCB)索引节点目录结构 文件的概念 定义 在操作系统中,文件被定义为:以计算机硬盘为载体的存储在计算机上的信息集合。 属性 描述文件…...

局域网内Ubuntu上搭建Git服务器

1.在局域网内选定一台Ubuntu电脑作为Git服务端: (1).新建用户如为fbc,执行如下命令:需设置密码,此为fbc sudo adduser fbc (2).切换到fbc用户:需密码,此前设置为fbc su fbc (3).建一个空目录作为仓…...

基础课10——自然语言生成

自然语言生成是让计算机自动或半自动地生成自然语言的文本。这个领域涉及到自然语言处理、语言学、计算机科学等多个领域的知识。 1.简介 自然语言生成系统可以分为基于规则的方法和基于统计的方法两大类。基于规则的方法主要依靠专家知识库和语言学规则来生成文本&#xff0…...

xpath

xpath 使用 使用 from lxml import etree或者 from lxml import htmlet etree.XML(xml) et etree.HTML(html) res et.xpath("/book") # 返回列表项目Valueet.xpath(“/book”)/表示根节点/div/a子节点用/依次表示/name/text()text()取文本/book//nick//表示标签…...

Java拼图小游戏

Java拼图小游戏 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.Collections; import java.util.List;public cla…...

终于有人把数据资产入表知识地图总结出来了,轻松看懂

在当前数字化的浪潮下,数据已经成为劳动、土地、知识、技术以后的第五大生产要素,“数据就是资源”已成为共识。如今数据资产“入表”已成定局,数据资产化迫在眉睫。 2023年8月21日,财政部正式印发《企业数据资源相关会计处理暂行…...

白鳝:聊聊IvorySQL的Oracle兼容技术细节与实现原理

两年前听瀚高的一个朋友说他们要做一个开源数据库项目,基于PostgreSQL,主打与Oracle的兼容性,并且与PG社区版内核同步发布。当时我听了有点不太相信,瀚高的Highgo是在PG内核上增加了一定的Oracle兼容性的特性,一般也会…...

vue和uni-app的递归组件排坑

有这样一个数组数据,实际可能有很多级。 tree: [{id: 1,name: 1,children: [{ id: 2, name: 1-1, children: [{id: 7, name: 1-1-1,children: []}]},{ id: 3, name: 1-2 }]},{id: 4,name: 2,children: [{ id: 5, name: 2-1 },{ id: 6, name: 2-2 }]} ]要渲染为下面…...

【考研】数据结构(更新到顺序表)

声明&#xff1a;所有代码都可以运行&#xff0c;可以直接粘贴运行&#xff08;只有库函数没有声明&#xff09; 线性表的定义和基本操作 基本操作 定义 静态&#xff1a; #include<stdio.h> #include<stdlib.h>#define MaxSize 10//静态 typedef struct{int d…...

汇编-指针

一个变量如果包含的是另一个变量的地址&#xff0c; 则该变量就称为指针(pointer) 。指针是操作数组和数据结构的极好工具&#xff0c;因为它包含的地址在运行时是可以修改的。 .data arrayB byte 10h, 20h, 30h, 40h ptrB dword arrayB ptrB1 dword OFFSET arrayBarray…...

常见Web安全

一.Web安全概述 以下是百度百科对于web安全的解释&#xff1a; Web安全&#xff0c;计算机术语&#xff0c;随着Web2.0、社交网络、微博等等一系列新型的互联网产品的诞生&#xff0c;基于Web环境的互联网应用越来越广泛&#xff0c;企业信息化的过程中各种应用都架设在Web平台…...

milvus数据库搜索

一、向量相似度搜索 在Milvus中进行向量相似度搜索时&#xff0c;会计算查询向量和集合中具有指定相似性度量的向量之间的距离&#xff0c;并返回最相似的结果。通过指定一个布尔表达式来过滤标量字段或主键字段&#xff0c;您可以执行混合搜索。 1.加载集合 执行操作的前提是…...

HEVC参考帧技术

为了增强参考帧管理的抗差错能力&#xff0c;HEVC采用了参考帧集技术&#xff0c;通过直接在每一帧的片头码流中传输DPB中各个帧的状态变化&#xff0c;将当前帧以及后续帧可能用到的参考帧在DPB中都进行描述&#xff0c;描述以POC作为一帧的身份标识。因此&#xff0c;不需要依…...

QT小记:The QColor ctor taking ints is cheaper than the one taking string literals

这个警告意味着在使用 Qt 的 C 代码中&#xff0c;使用接受整数参数的 QColor 构造函数比使用接受字符串字面值的构造函数更有效率。 要解决这个警告&#xff0c;你可以修改你的代码&#xff0c;尽可能使用接受整数参数的 QColor 构造函数&#xff0c;而不是字符串字面值。例如…...

机器人走迷宫问题

题目 1.房间有XY的方格组成&#xff0c;例如下图为64的大小。每一个方格以坐标(x,y) 描述。 2.机器人固定从方格(0, 0)出发&#xff0c;只能向东或者向北前进&#xff0c;出口固定为房间的最东北角&#xff0c;如下图的 方格(5,3)。用例保证机器人可以从入口走到出口。 3.房间…...

轻量封装WebGPU渲染系统示例<36>- 广告板(Billboard)(WGSL源码)

原理不再赘述&#xff0c;请见wgsl shader实现。 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/rendering/src/voxgpu/sample/BillboardEntityTest.ts 当前示例运行效果: WGSL顶点shader: group(0) binding(0) var<uniform> objMat :…...

Java 多线程进阶

1 方法执行与进程执行 GetMapping("/demo1")public void demo1(){//方法调用new ThreadTest1("run1").run();//线程调用new ThreadTest1("run2").start();} 下断点调试信息&#xff0c;可以看到run()方法当前线程是“main1” 继续运行到run里面&…...

CentOS上搭建SVN并自动同步至web目录

一、搭建svn环境并创建仓库&#xff1a; 1、安装Subversion&#xff1a; yum install svn2、创建版本库&#xff1a; //先建目录 cd /www mkdir wwwsvn cd wwwsvn //创建版本库 svnadmin create xiangmumingcheng二、创建用户组及用户&#xff1a; 1、 进入版本库中的配…...

.Net中Redis的基本使用

前言 Redis可以用来存储、缓存和消息传递。它具有高性能、持久化、高可用性、扩展性和灵活性等特点&#xff0c;尤其适用于处理高并发业务和大量数据量的系统&#xff0c;它支持多种数据结构&#xff0c;如字符串、哈希表、列表、集合、有序集合等。 Redis的使用 安装包Ser…...

使用cli批量下载GitHub仓库中所有的release

文章目录 1\. 引言2\. 工具官网3\. 官方教程4\. 测试用的网址5\. 安装5.1. 使用winget安装5.2. 查看gh是否安装成功了 6\. 使用6.1. 进行GitHub授权6.1.1. 授权6.1.2. 授权成功6.2 查看指定仓库中的所有版本的release6.2.1. 默认的30个版本6.2.2. 自定义的100个版本6.3 下载特定…...

别再死记硬背电路图了!用PLC(西门子S7-1200)轻松实现电机正反转,附梯形图与实物接线

西门子S7-1200 PLC实战&#xff1a;电机正反转控制的智能化改造 在工业自动化领域&#xff0c;电机正反转控制是最基础也最经典的应用场景之一。传统继电器-接触器控制方案虽然可靠&#xff0c;但存在布线复杂、故障排查困难、功能扩展受限等痛点。我曾在一个老旧车间改造项目中…...

STM32新手避坑指南:正点原子、野火、慧净、小马飞控的Systick延时函数到底差在哪?

STM32开发板Systick延时函数深度对比&#xff1a;从原理到避坑实战 第一次接触STM32开发时&#xff0c;我对着四块不同品牌的开发板愣了半天——正点原子、野火、慧净、小马飞控&#xff0c;每家的例程里Systick延时函数实现都不一样。有的用72MHz时钟&#xff0c;有的用9MHz&a…...

网盘下载太慢?这款神器帮你一键获取9大网盘直链地址

网盘下载太慢&#xff1f;这款神器帮你一键获取9大网盘直链地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

终极键盘输入训练指南:如何用Qwerty Learner提升英语打字效率300%

终极键盘输入训练指南&#xff1a;如何用Qwerty Learner提升英语打字效率300% 【免费下载链接】qwerty-learner 为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workers 项目地址: …...

轻量级网络实战解析:从零构建MobileNetV3-Large核心模块

1. MobileNetV3-Large设计哲学解析 第一次接触MobileNetV3时&#xff0c;最让我惊讶的是它在保持轻量化的同时还能提升精度。这就像用自行车发动机跑出了摩托车的速度&#xff0c;背后是Google团队对移动端算力限制的深刻理解。MobileNetV3-Large作为该系列第三代产品&#xff…...

从视频到字幕:5步掌握本地AI硬字幕提取全流程

从视频到字幕&#xff1a;5步掌握本地AI硬字幕提取全流程 【免费下载链接】video-subtitle-extractor 视频硬字幕提取&#xff0c;生成srt文件。无需申请第三方API&#xff0c;本地实现文本识别。基于深度学习的视频字幕提取框架&#xff0c;包含字幕区域检测、字幕内容提取。A…...

Python 爬虫高级实战:混合架构爬虫性能调优

前言 在大数据采集与网络爬虫开发领域,单一架构爬虫已无法满足大规模、高并发、分布式的数据采集需求。混合架构爬虫结合同步请求、异步协程、多进程 / 多线程、分布式调度等多种技术优势,成为企业级爬虫的主流选型,但架构复杂度提升的同时,性能瓶颈、资源浪费、请求效率低…...

Rust终端光标控制库cursory:提升CLI/TUI应用交互体验

1. 项目概述&#xff1a;一个为开发者打造的终端光标样式库如果你和我一样&#xff0c;每天有超过一半的时间是在终端里度过的&#xff0c;那你一定对那个闪烁的光标再熟悉不过了。无论是写代码、跑脚本还是调试程序&#xff0c;光标就是我们在命令行世界里的“鼠标指针”。但你…...

PaperBanana:基于多智能体流程的AI科研绘图工具实战指南

1. 项目概述&#xff1a;用AI为科研论文自动绘制高质量图表 如果你和我一样&#xff0c;常年泡在实验室里写论文&#xff0c;那你一定对画图这件事又爱又恨。爱的是&#xff0c;一张清晰、美观的图表能让论文的“颜值”和说服力瞬间提升几个档次&#xff1b;恨的是&#xff0c…...

AI友好型Excel知识库与自动化工具:提升数据分析与报表生成效率

1. 项目概述&#xff1a;一个为AI“投喂”的Excel生产力工具箱如果你和我一样&#xff0c;每天的工作都离不开Excel&#xff0c;但又不是那种能把VBA玩出花来的“表哥表姐”&#xff0c;那你一定经历过这种痛苦&#xff1a;面对一堆数据&#xff0c;你知道用某个公式或者透视表…...