OS-文件管理1-文件-文件的逻辑结构与物理结构。

news2024/11/24 20:46:40

一,文件管理

关键词:如何组织及提供的功能。
在这里插入图片描述
在这里插入图片描述

二,文件-文件基本概念。

1.文件,记录,数据项

在这里插入图片描述

2.文件属性

在这里插入图片描述

三,文件-文件控制块FCB与索引结点。

文件控制块FCB:用来存放控制文件需要的各种信息的数据结构。
FCB有序集合称之为“文件目录”,一个FCB就是一个文件目录项。
在这里插入图片描述

在这里插入图片描述

四,文件-文件的逻辑结构。

1.逻辑结构与物理结构

在这里插入图片描述

2.无结构文件与有结构文件及是否可变长

在这里插入图片描述

3.无结构文件

由于无结构文件没有明显的逻辑关系,不做探讨。

4.有结构文件-顺序文件

①基础概念
在这里插入图片描述

注:顺序文件又可以分串结构(记录顺序与关键字无关,通常按照记录存入时间排序)与顺序结构(记录按照关键字排列顺序)。
②优缺点
缺点:
①对于链式存储而言无论是定长还是可变长,都无法实现随机存取。
②对于顺序存储而言,可变长记录无法随机存取,因为需记录其长度,不呈现规律。
优点:
①对于顺序存储定长,可以实现随机存取。

5.有结构文件-索引文件-解决可变长不能随机访问

①基本概念
在这里插入图片描述
②优缺点
缺点:每个记录对应一个索引表项,因此索引表可能会很大。
优点:解决了可变长记录不能随机访问问题。

6.有结构文件-索引顺序文件-解决索引表过大问题。

①基本概念
在这里插入图片描述

②优缺点
优点:缓解了索引文件的缺点。
缺点:依然可能由于索引表太大,导致效率下降。

7.有结构文件-多级索引顺序文件-解决索引表过大问题。

在这里插入图片描述

8.有结构文件-直接文件或散列文件。

在这里插入图片描述

五,文件-文件的物理结构。

在这里插入图片描述

1.基础概念

①文件块,磁盘块,内存块
类似于页式管理,对于内存的管理,磁盘中的存储单元也会被分为一个个"块/磁盘块/物理块"。很多OS中,为了方便数据的流动,磁盘块=内存块=文件块=页面大小
在这里插入图片描述

2.连续分配

逻辑上相邻,物理上也相邻。
在这里插入图片描述
优缺点:
在这里插入图片描述

3.链接分配-隐式链接

链接分配解决了磁盘外部碎片问题,提高了磁盘利用率,可以动态给文件分配空间。
离散的分配方式,可以为文件分配离散的磁盘块,分为隐式链接与显式链接。
在这里插入图片描述
优缺点:
优点:方便拓展,没有外部碎片
在这里插入图片描述
缺点:不支持随机访问。

4.链接分配-显式链接

在这里插入图片描述

在这里插入图片描述

5.索引分配

解决显式链接FAT过大问题。
在这里插入图片描述
在这里插入图片描述

6.索引分配-链接方案

在这里插入图片描述

7.索引分配-多层索引

在这里插入图片描述

8.索引分配-混合索引

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

六,对比物理结构组织方式

在这里插入图片描述

七,文件-外存空闲块组织。

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

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

相关文章

在软件定义汽车的时代,低代码究竟给车企数字化转型带来了什么?

前言: 软件定义汽车(Software Defined Vehicles, SDV),是由百度自动驾驶事业部总经理王劲提出的概念。其核心思想是,决定未来汽车的是以人工智能为核心的软件技术,而不再是汽车的马力大小,是否…

Java并发体系-第三阶段-JUC并发包-[1]

AtomicXXXFieldUpdater 算是一个小补充 简介 public class AtomicIntegerFieldUpdaterTest {public static void main(String[] args) {AtomicIntegerFieldUpdater<Test> updater AtomicIntegerFieldUpdater.newUpdater(Test.class, "value");Test ts new T…

Maven处理依赖冲突

1.java常用的包依赖异常有&#xff1a; 1&#xff09;AbstractMethodError 2&#xff09;NoClassDefFoundError 3&#xff09;ClassNotFoundException 4&#xff09;LinkageError Maven会根据pom文件中的groupId、artifactId、version来判断jar是否冲突 如果出现了同名不…

开发软件必须写代码?来看smardaten如何零代码开发学生管理系统

一、前言 互联网产品在我们的生活中无处不在&#xff0c;但你知道开发一个这样的产品需要的成本有多大吗&#xff1f; 传统的产品研发模式是&#xff1a;功能需求&#xff0c;需要调研&#xff0c;画原型&#xff0c;开发&#xff0c;测试&#xff0c;上线&#xff0c;跟踪运…

基于Python+OpenCV的图像搜索引擎(CBIR+深度学习+机器视觉)含全部工程源码及图片数据库下载资源

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 定义图像描述符3. 索引化数据集4. 设计搜索引擎内核5. 执行搜索 系统测试1. 处理数据集2. 执行搜索 工程源代码下载其它资料下载 前言 本项目旨在开发一套完整高效的图像搜索引擎&#xff0c;为用…

python程序大全(7)——一元一次、一元二次方程解及函数解析

&#x1f3c6;一、前言 从1月到6月一直没更新&#xff0c;学习太忙辣。马上就要暑假了&#xff0c;今天是六一儿童节&#xff0c;所以抽出空来更新更新。 本文讲述的是1元1次方程&#xff0c;1元2次方程的python解法。只用给出一般形式的系数和常数&#xff0c;自动给出方程的…

企业为什么要进行思维与创新内训?有什么好处?

产品思维和创新在现代产品开发和管理中具有重要作用。 产品思维是指在设计和开发产品过程中&#xff0c;综合考虑用户需求、市场趋势、技术发展等多方面因素&#xff0c;以实现产品的有效性、可用性、价值和竞争力。 创新则是通过引入新的想法、方法或技术&#xff0c;创造出新…

table表格排序,@sort-change=“sortChange“ 取消排序

table表格排序&#xff0c;sort-change"sortChange" 取消排序 点击的单个进行排序时,要求isAsc对应当前字段的排序顺序;值ascending,descending,null三种情况;若指定了列对应的prop,没有指定order的话,默认ascending; desc降序&#xff0c;asc升序&#xff0c;当点升…

《水经注地图服务》下载与安装步骤

概述 《水经注地图服务》&#xff08;WeServer&#xff09;是一款可快速发布全国乃至全球海量卫星影像的地图发布服务产品&#xff0c;该产品完全遵循OGC相关协议标准&#xff0c;是一个基于若干项目成功经验总结的产品。它可以轻松发布100TB级海量卫星影像&#xff0c;从而使…

【漏洞复现】海康威视iVMS综合安防系统任意文件上传漏洞复现 (在野0day)

文章目录 前言声明一、产品简介二、漏洞概述三、影响范围四、漏洞验证五、漏洞利用六、修复建议 前言 海康威视iVMS综合安防系统存在任意文件上传漏洞 &#xff0c;攻击者可通过构造特定Payload实施对目标的攻击。 声明 本篇文章仅用于漏洞复现与技术研究&#xff0c;请勿利用…

chatgpt赋能python:Python中出现NaN的原因及相关处理方法

Python中出现NaN的原因及相关处理方法 介绍 Python是一种灵活、可扩展的编程语言&#xff0c;它已经成为科学计算、数据分析、人工智能等领域的重要工具。然而&#xff0c;在Python编程过程中&#xff0c;会出现一些比较特殊的问题&#xff0c;其中之一就是NaN。 NaN&#x…

基于html+css的图展示105

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

chatgpt赋能python:如何用Python编写抽奖程序

如何用Python编写抽奖程序 抽奖活动是很多企业和组织引发用户关注和参与的一种有效手段。而Python作为一种简单易学&#xff0c;功能强大&#xff0c;受欢迎的编程语言&#xff0c;它可以很好地帮助我们实现抽奖程序的编写。本篇文章将介绍如何用Python编写抽奖程序&#xff0…

本科毕业设计-软件工程-汽车销售客户关系管理系统

仅供学习参考&#xff0c;严禁盗用&#xff0c;商用&#xff01;&#xff01;&#xff01; 摘 要 随着国家的快速发展&#xff0c;人民对物质生活的需求也在逐渐增加&#xff0c;其中汽车需求是当前人民最主要的增长需求之一。随着汽车市场的不断扩大&#xff0c;汽车销售公司…

光栅尺磁栅尺编码器4倍频脉冲计数器Modbus RTU模块 支持PNP和NPN输入

1、 信号输入 1路光栅尺磁栅尺编码器信号输入&#xff0c;可接NPN和PNP信号&#xff0c;通过命令设置输入类型。 2、 通讯协议 通讯接口&#xff1a; 1路标准的RS-485通讯接口。 通讯协议&#xff1a;支持两种协议&#xff0c;命令集定义的字符协议和MODBUS RTU通讯协议。模块自…

Debian11之基于kubeadm安装K8S(v1.26.0) 集群

Debian10之基于kubeadm安装K8S(v1.26.0) 集群 参考文章 原文链接&#xff1a;https://blog.csdn.net/qq_30818545/article/details/128056996 版权声明&#xff1a;本文为CSDN博主「大能嘚吧嘚」的原创文章&#xff0c;遵循CC 4.0 BY-SA版权协议&#xff0c;转载请附上原文出…

游戏封包加密方案解析

当下游戏市场已全面回暖&#xff0c;暑期档临近更将迎来大量新游上线&#xff0c;如此关键节点&#xff0c;游戏厂商应当更加注重游戏安全。 FairGuard发现近期游戏黑灰产攻击角度愈发刁钻&#xff0c;除了常见的内存修改外挂、注入挂&#xff0c;针对游戏封包破解的「脱机挂」…

Springboot项目开发常遇到的问题

一、Springboot&#xff0c;修改默认端口&#xff0c;无效 Springboot是一个轻量级Web开发工具。里面内嵌了tomcat&#xff0c;所以我们不需要安装tomcat了。但是多个项目放在一起的时候&#xff0c;总不能都访问8080端口吧。所以我们需要修改默认端口。 默认是8080&#xff0…

jQuery 基础知识

1.jQuery的使用 要想使用 jQuery 的话&#xff0c;我们必须先要官网上下载&#xff08; http://jquery.com/ &#xff09;3.7 到 4.0的开发版本就可以&#xff0c;下载到文件夹以后桌面都可以 &#xff0c;然后拖动到代码编辑器根目录下即可 在需要使用 jQuery 的页面引入 j…

使用chartgtp写Android代码

<LinearLayout android:layout_width"match_parent" android:layout_height"match_parent" android:orientation"horizontal"> <TextView android:id"id/姓名" …