计算机系统基础:文件管理相关知识笔记

         

一、文件的相关概念

1、为什么要有文件管理?

文件系统主要是为了方面用户访问外部存储器信息,而不去关注内部存储的机制,只需要根据文件名就可以高效的存取信息。

2、文件的定义

文件是这一组具有符号名、在逻辑上具有完整意义的一组相关信息项的集合。比如一个文本文件、一个电影等。

信息项是构成文件内容的基本单位,可以是一个字符、一个记录。

文件的组成:文件名、文件内部标识、文件类型、文件存储地址、文件长度、访问限制、创建时间、访问时间等。

文件是一种抽象机制,它隐藏了硬件和实现细节,提供了将信息保存在磁盘上方便以后读取的手段。

3、什么是文件系统?

定义:操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构。

文件系统功能:按文件名存取、针对不同设备提供文件的统一访问接口、实现并发访问和控制、优化文件性能(提高文件存储效率、提高读写性能、差错恢复等)。

4、文件类型

按照文件性质和用途分类:系统文件、库文件、用户文件。

按照信息保存期限:临时文件、永久文件、档案文件。

文件保护方式:只读文件、读写文件、可执行文件、普通(不受保护)文件。

Unix系统:普通文件、目录文件、设备文件。

文件系统类型:FAT、FAT32、NTFS、E系统、HPFS等。

二、文件的结构和组织

文件的结构是指文件的组织形式。主要有逻辑结构、物理结构。

1、文件的逻辑结构

文件的逻辑结构分为两大类:

结构式记录式文件:由一个以上的记录构成的文件。

无结构式流式文件:由一串顺序字符流构成的文件。

1.1 有结构的记录式文件

记录式文件,所有的记录通常都是描述一个实体集的,有着相同或者不同数组的数据项,记录的长度分为定长和不定长。

定长记录:指文件中所以记录的长度相同。特点:处理方便、开销小。是一种常见的记录格式,广泛用于数据处理中,

变长记录:指文件中各记录的长度不相同。因为很多情况下一个记录所包含的数据项数组可能不同,比如文字的标题、内容等。

1.2 无结构的流式文件

流式文件的文件体是字节流,不划分记录。无结构的流式文件通常采用顺序访问的方式,并且每次读写访问可以指定任意长度,以字节为单位。

2、文件的物理结构

文件的物理结构:指文件内部的组织形式,也就是文件在物理设备上的存放方法。文件的物理结构决定了文件在存储设备上的存放位置,文件的逻辑块号到物理块号的转换也是由文件的物理结构决定的。

1、连续结构

也称为顺序结构,它将逻辑上连续的文件信息依次存放在连续编号的物理块上。针对文件记录的批量存取时,连续结构存取效率最高。如果针对交互应用场合连续结构的性能就会很差。如果文件很大的情况效率会更低。

连续结构的另外一个缺点是不便于记录的增加和删除操作。

2、链式结构

也称为串联结构,它是将逻辑上连续的文件信息存放在不连续的物理块上,每个物理块设有下一个指针指向下一个物理块。如果知道第一个物理块号就可以查找整个文件。

3、索引结构

将逻辑上连续的文件存放在不连续的物理块上,系统为每一个文件建立一张索引表。索引表会记录文件信息所在逻辑块号对应的物理块号。

4、多个物理块的索引表

索引表右文件创建时系统自动创建,并且和文件一起存放在同一个文件卷上。多块索引表组织形式:链式文件、多重索引文件。

UNIX文件系统采用三级索引结构,inode是文件系统的基本构成单位,表示文件系统树形结构的节点。

UNIX文件索引表项寻址方式:直接寻址、一级间接寻址、二级间接寻址、三级间接寻址。

三、文件目录

文件控制块(FCB):包含文件名和存放文件物理地址的数据结构。

文件目录:文件控制块的有序集合。

1、文件控制块

文件控制块包含基本信息、存储控制信息、使用信息类。

基本信息类:文件名、文件物理地址、文件长度、文件块数。

存储控制信息类:文件存取权限,常见的RWX权限。

使用信息类:文件创建日期、最后一次修改日期、最后一次访问日期、当前使用的信息(打开文件的进程数、在文件上的等待队列等)。

2、目录结构

常见的目录结构有一级目录结构、二级目录结构、多级目录结构

1、一级目录结构

整个目录组织是一个线性结构,整个系统中只需建立一张目录表,系统给每个文件分配一个目录项。

特点:结构简单、查找速度慢,不能重名、不方便实现文件共享,适合当用户环境中。

2、二级目录结构、多级目录结构

二级目录结构由主文件目录(MFD)、用户目录(UFD)组成。在主文件目录中,每个用户文件目录都占有一个目录项,器目录项中包括用户名和指向该用户目录文件的指针。用户目录是由用户所有文件的目录项组成的。

特点:提高了检索目录的速度、较好地解决了重名问题;用户隔离不方便文件的共享。

3、多级目录结构

目前多道程序设计系统常采用多级目录结构,这种目录结构像一棵倒置的有根树,也称为树形目录结构每一个节点是目录,叶子节点是文件。

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

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

相关文章

list 根据某个数字所在位置_【Python学习笔记】09、使用list和tuple

listPython内置的列表数据类型是:list。list是一种有序的集合,可以随时添加和删除其中的元素。如:>>> classmates [Kuaie, Bob, Tracy]>>> classmates[Kuaie, Bob, Tracy]变量classmates就是一个list。用len()函数可以获得…

连接maven_如何在Eclipse中使用Maven工程连接远程的Spark

如何在Eclipse中使用Maven工程连接远程的Spark本地Spark跑不会出现什么问题,但是切换到服务器上各种问题。异常java.lang.ClassCastException: cannot assign instance of java.lang.invoke.SerializedLambda to fieldorg.apache.spark.api.java.JavaRDDLike$$anonf…

计算机系统基础:文件的存取和存储空间管理知识笔记

1、文件的存取 文件的存取实际上就是针对文件存储器上物理块的读写操作。存取方法主要有顺序存储、随机存储两种。 2、文件存储空间管理 磁盘分配表:外存空闲空间管理的数据结构。 2.1 空闲空间管理方法 1、空闲区表 将外存空间的一个连续未分配的区域称为空闲区。操…

语言筛选法选素数怎么解决输出超限_论文深耕 | 什么时候才能把文献看完?——论文的正确筛选、阅读顺序...

Hello!这是你与「大学生科研竞赛」的第 50 次相遇。搞科研免不了要看文献,一提到看文献就有很多人头疼,“那么多文献什么时候才能看完啊?”01筛选论文这个时候就需要我们对文献有一个筛选,筛选的办法也很简单:1标题首先…

ft2232驱动安装方法_ST-Link资料03_ST-Link固件升级、驱动下载安装方法

说明:本文原创作者『strongerHuang』本文首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop一、写在前面前两篇文章讲述的都是关于ST-Link的一些理论知识,建议初学者看看:ST-Link资料01_ST-Li…

操作系统基础:计算机作业管理知识笔记

1、计算机作业的概念计算机中的作业是为了完成某个用户的计算任务所做工作的总和。作业管理程序:操作系统中用来控制作业进入、执行、撤销的一组程序。2、作业与作业的控制方式脱机控制方式:用户需要把自己需要计算机完成的任务用作业控制语言编写成作业…

easyui的验证

多重验证: Js代码 { field : startPort, title : "起始端口", editor: "text", width : 50, editor: { …

403 forbidden_[SpringSecurity] 自定义403页面

使用 Spring Security 时经常会看见 403(无权限),默认情况下 显示的效果如下:而在实际项目中可能都是一个异步请求,显示上述效果对于用户 就不是特别友好了。Spring Security 支持自定义权限受限。具体做法1.新建一个类…

硬件基础:嵌入式软件可靠性设计要注意的问题

自从40多年前嵌入式系统诞生以来,随着技术的发展和需求的变化,嵌入式系统软件就在嵌入式系统中越来越重要。现在,甚至一些嵌入式系统硬件一模一样,仅仅是软件不同,就是不一样的产品(如交换机和路由器&#…

jdk1.6 改 jdk1.7或jdk1.8(改回也可以)(图文详解)

不多说,直接上干货! 第一步:设置默认使用的JDK和JRE环境 具体步骤:菜单window->preferences->java->Installed JRES 点中了,右边的窗口点Add按钮 记住选择添加安装了Java目录下的Jdk目录,而不是Jr…

无法打开“XXXX”,因为Apple无法检查其是否包含恶意软件。怎么解决?

今天在安装navicat的时候,因为apple无法检查其是否包含恶意软件,大概是如下图所示: 仔细查询过后才发现,只需要在Mac上设置下即可,具体方法如下: 打开Mac自带的软件「终端」(一般在“其它”这个…

计算机网络基础概念知识笔记

1、计算机网络的发展阶段 1.1、具有通信功能的单机系统 该阶段的模式为终端-计算机网络,属于早期计算机网络的主要形式。它将一台计算机经过通信线路和若干个终端直接相连 1.2 具有通信功能的多机系统 针对单机系统的改进,在主计算机的外围增加了一台计算…

redisTemplate获得key的过期时间方法

/** * 从redis中获取key对应的过期时间; * 如果该值有过期时间,就返回相应的过期时间; * 如果该值没有设置过期时间,就返回-1; * 如果没有该值,就返回-2; */ redisTemplate.opsForValue().getOperations().getExpire("key的名称")

2020年“1024”,程序员日

1024程序员日向可爱的程序员致敬随着时代的发展,大数据技术行业发展愈趋成熟,坚持自己对知识、技术和创新追求的程序员层出不穷。相信很多人都不知道,其实,程序员也有他们自己专属的节日: 程序员日。每个节日都有自己的来历和含义…

小程序内嵌h5页面分享_微信小程序webview内页面分享

因为项目原因,之前在微信小程序内部使用 webview 嵌套了 h5 页面,现在要添加一个新的功能,用户在哪个页面进行了分享,被分享的用户从链接进来就跳转到哪个分享页面。先了解一下 web-view 组件的限制,web-view 是承载网…

shell shift与{}_一文掌握shell脚本中shift的用法及功能

概述今天主要介绍下shell脚本中shift的一些用法,这个命令还是相对比较少见的。一、shift介绍shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理(常见于Linux中各种程序的启动脚本)。简而言之&…

redisTemplate设置key零点过期,生成自增的单号

public String getId() {String key "finance:funs:code";Long incr getIncr(key);if (incr 0) {incr getIncr(key);//从0001开始}DecimalFormat df new DecimalFormat("0000");//四位序列号String format df.format(incr);return format;}public Lo…

计算机网络基础:常见的网络传输介质

传输介质是信号传递的媒体,常用的网络传输介质包括有线介质(双绞线、同轴电缆、光纤等)和无线介质(微波、红外线、激光等)。 1、双绞线 双绞线是目前最普遍的传输介质,分为两类:屏蔽双绞线&…

java 多项式拟合最多的项数_Matlab概率统计与曲线拟合

一、二项分布二项分布来源于伯努利试验 (事件发生概率 ) :含义为独立重复N次试验后, 事件总共发生k次的概率分布函数 二项分布记为 binopdf 获得事件共发生次的概率 binocdf 为事件最多发生次的概率 binornd 将生成一个服从二项分布 规模为 的随机矩阵二项分布的数字特征…

mysql -- MAC下安装配置mysql

1:进入官网,链接是 https://dev.mysql.com/downloads/mysql/ 点击第一个dmg文件,download 2:点击 No thanks, just start my download. 3:下载到本地到dmg文件 4:安装MySQL,双击 mysql.dmg 文件,进行安装。 注意:安装…