计算机操作系统-文件管理

学习总结目录:

在操作系统中增加了文件管理功能,专门管理在外存上的文件,并把对文件的存取,共享和保护等手段提供给用户。这不仅方便了用户保证了文件的安全性,还可有效地提高系统资源的利用率。

文件和文件系统

文件系统的管理功能是将其管理的程序和数据通过组织为一系列文件的方式实现的,而文件是指具有文件名的若干相关元素的集合。元素通常是记录;记录是一组有意义的数据项的集合。数据组成成分可以分为三层:数据项,记录(元素)和文件。

一.数据项

  • 基本数据项:除了数据名外还有数据类型,两者定义了数据项的“型”。表征一个实体在数据项上的数据称为“值”例如 int age; age=10;

  • 组合数据项:由若干基本数据项组成,简称组项

二.记录

记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。在诸多记录中为了可以唯一的标识一个记录,必须在记录的各个数据项中确定出一个或多个数据项,把它们的集合称为关键字(key)

三.文件(是文件系统中最大的数据单位)

文件是由所创建者所定义的,具有文件名的一组相关元素的集合分为有结构文件(文件由若干相关记录组成)和无结构文件(被看成字符流)
文件的属性:(1)文件类型(2)文件长度(3)文件的物理位置(4)文件的建立时间

在这里插入图片描述

文件类型:

  • 按用途分:系统文件;用户文件;库文件
  • 按文件中的数据形式分类:源文件.c .java文件;目标文件.obj;可执行文件.exe
  • 按存取控制属性分类:只执行文件;只读文件;读写文件
  • 按组织形式和处理方式分类:普通文件;目录文件;特殊文件

文件系统的模型分为三个层次结构:最底层是对象及其属性,中间层是对对象进行操作和管理的软件集合,最高层是文件系统提供给用户的接口。

对象及其属性——文件管理系统管理的对象有:文件;目录;磁盘(磁带)存储空间

文件系统的接口:命令接口;程序接口

文件操作:1)最基本的文件操作:创建文件;删除文件;读文件;写文件;设置文件的读写位置;2)文件的打开和关闭操作;3)其他文件操作

文件的逻辑结构

用户所看到的文件称为逻辑文件,是由一系列的逻辑记录组成,从用户的观点而言文件的逻辑记录是能够被存取的基本单位。在系统中的所有文件都存在两种形式的文件结构:
(1)文件的逻辑结构用户可以直接处理的数据及结构,又称为文件组织。
(2)文件的物理结构,又称为文件的存储结构

文件逻辑结构类型:

1.按文件是否有结构分类

  • 有结构文件:记录式文件,记录长度可以分为两类:定长记录和变长记录
  • 无结构文件:流式文件,可以看做是记录式文件的一个特例:一个记录仅仅有一个字节。

2.按文件的组织方式分类(把有结构的文件分为三类)

(1)顺序文件

顺序文件:由一系列记录按某种顺序排列所形成的文件,记录可以是定长或者变长。
排列方式:串结构通常按时间顺序排列每次查找要从头开始。
顺序结构用户指定一个字段作为关键字,可以是任意一个类型的变量其中最简单的是正整数

顺序文件的优缺点:最佳应用场合是在对文件中的记录进行批量存取时。所有逻辑文件中顺序文件的存取效率是最高的。对于顺序存储设备(如磁带)也只有顺序文件才能被存储并有效工作。在交互场合对于查找和修改则性能较差。

记录寻址:

1.隐式寻址方式: 对于定长记录的顺序文件,如果已知当前记录的逻辑地址很容易确定下一个记录的逻辑地址。读文件时设一个读指针Rptr令它指向下一个记录的首地址;写指针指向要写记录的首地址;读写完执行加L操作,L是记录长度。也称随机访问或直接访问;对于变长记录的顺序文件需要设置读写指针但是要加上Li(刚读写完的记录长度)也称顺序访问适用于所有文件类型但是需要从头访问速度慢。
2.显示寻址方式: 对定长记录的文件实现直接访问或者随机访问通过文件中记录中的位置;利用关键字。变长不可以实现直接访问。

(2)索引文件
索引文件指为可变长记录文件建立一张索引表,为每个记录设置一个表项,以加速对记录的检索速度。

  • 1.按关键字建索引:定长记录文件可以通过简单计算实现随机查找,变长记录文件需要从第一个开始查一直顺序查找目标记录为止。我们为变长记录文件建立一张索引表,为主文件中的每个记录在索引表中分别设置一个表项记录指向记录的指针以及记录的长度L。索引表按关键字排序。索引表本身是一个定长记录的索引文件。把对变长记录顺序文件的顺序检索转变为对定长记录的顺序文件。实现直接存取。根据用户提供的关键字利用折半查找的方法去检索索引表,从中找到表项,在利用表项中给的指针去访问记录
  • 2.具有多个索引表的索引文件
    索引文件的优点:顺序查找的文件改造成随机查找的文件,插入删除方便。

(3)索引顺序文件
索引顺序文件是对顺序文件的改进,克服对变长记录的顺序文件不能随机访问以及不便插入和删除的缺点。仍保留顺序文件的关键特征,记录是按关键字的顺序组织起来的,还有两个新特征:引入文件索引表实现随机访问,增加溢出文件记录新增加,删除和修改的记录。

一级顺序索引文件:将变长记录顺序文件中的所有记录分为若干组,为每组的第一个记录在索引表中建立一个索引项,含有该记录的关键字和指向该记录的指针。索引顺序文件是最常见的一种逻辑文件形式。检索效率比顺序文件提高根号N/2倍记录数为N,分为根号N个分组,每个分组有根号N个记录查找最佳。

两级顺序索引文件:例:对于一个含有10的6次方个记录的顺序文件,作为索引顺序文件时,平均需要查询1000个记录。建立多级索引分组为100*100*100,此时查找一个记录所需的次数变为50+50+50=150。

直接文件:可根据给定关键字直接获取指定记录的物理地址。关键字就决定了记录的物理地址。

哈希文件

文件目录

对于目录的管理要求有:
1.实现“按名存取”
2.提高对目录的检索速度
3.文件共享
4.允许文件重名

文件控制块FCB含有三类信息:
1)基本信息:文件名;文件物理位置;文件逻辑结构(指示文件是流式文件还是记录文件,记录数,文件是变长还是定长);文件物理结构(存取控制信息类和使用信息类)

索引结点:文件目录通常是存放在磁盘上的查找时要将盘块上的目录调入内存按文件名逐一比较。磁盘索引结点:每个文件有唯一的一个磁盘索引结点包括:

  • 1.文件主标识符
  • 2.文件类型
  • 3.文件存取权限
  • 4.文件物理地址
  • 5.文件长度
  • 6.文件连接技术
  • 7.文件存取时间。

内存索引结点:当文件被打开时将磁盘索引结点拷贝到内存的索引结点中之后又增加了:

  • 1.索引结点编号
  • 2.状态
  • 3.访问计数
  • 4.文件所属文件系统的逻辑设备号
  • 5.链接指针

简单的文件目录:

1.单级文件目录:整个文件系统中只建立一张目录表。
缺点:查找速度慢;不允许重名;不便于实现文件共享。

2.两级文件目录:可以为,每一个用户再建立一个单独的用户文件目录UFD(User File Directoy);再建立衣蛾主文件目录(MFD)在MFD中为UFD占用一个目录项(含有用户名和指向该用户目录文件的指针);
优点:检索目录速度快;在不同的用户目录中。可以使用相同的文件名;不同用户可以使用不同的文件名访问系统中的同一个共享文件。

数型结构目录:
数型目录:在现代OS中,最通用且实用的文件目录无疑是树形结构目录。明显的提高对目录的检索速度和文件系统的功能。主目录称为根目录在每一个文件目录中只有一个根目录。

路径名和当前目录:

  • 1.路径名:从根目录到任何数据文件都只有一条唯一的通路。把全部目录文件名和数据文件名依次用/连接起来。
  • 2.当前目录(工作目录)从当前目录为止到数据文件为止所构成的路径名称为相对路径名,而把从树根开始的路径名称为绝对路径名
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙源lll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值