第六章:文件管理

版权声明:本文为博主DarkAngel1228原创文章,未经博主允许不得转载。 https://blog.csdn.net/DarkAngel1228/article/details/85781822

计算机的主要功能之一就是对数据进行数值或非数值计算。

  • OS的系统软件必须提供数据存储、数据处理、数据库管理的基本功能。

  • 数据存储是通过文件管理完成的,文件管理是通过目录来完成的,而目录又是建立在分区或卷的基础上的。

  • 操作系统中与文件和目录相关的子系统称为文件系统。

6.1 概述

计算机信息存储的三点基本要求是:

  • 1、能够存储大量信息

  • 2、长期保存信息

  • 3、可以共享信息

文件管理的内容包括:

  • 结构
  • 命名
  • 存取
  • 使用
  • 保护
  • 实现方法
    操作系统为系统管理者和用户提供了对文件的透明存取
    透明存取:不必了解文件存放的物理机制和查找方法,只需给定一个代表某段程序或数据的文件名称,文件系统就自动完成对给定文件名称相对应的文件的有关操作

6.1.1 文件和文件系统

文件的定义:

  • 文件:一组带标识的、在逻辑上有完整意义的信息项的序列

  • 标识:文件名

  • 信息项:文件内容的基本单位,是一组有序序列

  • 读写指针:读指针用来记录文件当前的读取位置,它指向下一个将要读取的信息项;写指针用来记录文件当前的写入位置,下一个将要写入的信息项被写到该处。

    扫描二维码关注公众号,回复: 4782249 查看本文章
  • 文件长度:可以是单字节或多字节;字节可以是字符,也可以组成记录。

  • 各种文件系统的文件命名不尽相同

    • FAT12:MS-DOS的8.3命名规则,8个字符外加句点和3个字符的扩展名,不区分大小写

    • NTFS:多达255个字符

    • EXT2:多达255个字符,区分大小写


文件系统:

  • 定义:
    操作系统中统一管理信息资源的一种软件。
  • 管理:
    它管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用
  • 作用
    • 从用户角度看,文件系统负责为用户建立文件、读写文件、修改文件、复制文件和撤销文件。文件系统还负责完成对文件的按名存取和对文件进行存取控制。
    • 文件系统的作用是很多的
      • 在多用户系统中,可以保证各个用户文件的存放位置不冲突,还能防止任一用户对存储存空间的占而不用。
      • 文件系统既可保证任一用户的文件不被未经授权的用户窃取、破坏,又能允许在一定条件下由多个用户共享某些文件
    • 文件系统使用磁盘、磁带和光盘等大容量存储器作为存储介质。因此,文件系统可存储大量的信息。

6.1.2 文件分类

一.按文件的用途分类:

  • 系统文件:
    操作系统和各种系统应用程序及数据所组成的文件,可执行但不可读写和修改

  • 库函数文件:
    标准子程序及常用应用程序组成的文件。允许用户读取、执行人,但不允许对其修改。如C语言库函数库等

  • 用户文件:
    用户委托系统保存的文件。可以由源程序、目标程序、用户数据文件、用户数据库等组成。

二.按文件的组织形式分类:

  • 普通文件:指文件的组织格式为文件系统中所规定的最一般格式的文件。
    包括系统文件、用户文件、库函数文件和用户实用程序文件等。

  • 目录文件:由文件的目录构成的特殊文件。
    含有文件目录信息的一种特定文件。主要用来检索文件的目录信息

  • 特殊文件:操作转成为对应设备的操作特殊文件。

三.一些常见的文件分类格式:

  • 按文件保护方式划分:只读文件、读写文件、可执行文件、无保护文件等

  • 按信息流向分类划分:输入文件、输出文件和输入输出文件等

  • 按文件存放时限划分:临时文件、永久文件和档案文件等

  • 按所使用的介质划分:磁盘文件、磁带文件、卡片文件和打印文件等

  • 按文件组织结构划分:由用户组织的文件称逻辑文件,逻辑文件可采用流式文件和记录式文件两种组织方式

四.UNIX类操作系统中文件的分类:

  • 普通文件:内部无结构的一串平滑的字符所组成的文件

  • 目录文件:由文件目录项所构成的文件

  • 特殊文件:把I/O设备也看成是一种文件

6.1.3 文件系统的功能

  • 统一管理文件的存储空间,实施存储空间的分配与回收

  • 实现文件从名字空间到外存地址空间的映射

  • 实现文件信息的共享,并提供文件的保护和保密措施

  • 向用户提供一个方便使用的接口

  • 系统维护及向用户提供有关信息

  • 保持文件系统的执行效率

  • 提供与I/O的统一接口

6.2 文件的结构

6.2.1 文件的逻辑结构

一.设计文件逻辑结构的原则

1)易于操作

2)查找快捷

3)修改方便

4)空间紧凑

二.文件的逻辑结构

  • 定义:文件的逻辑结构是用户所看到的文件的组织形式。
  • 划分:
    • 无结构的字符流式文件
    • 定长记录文件
    • 不定长记录文件构成的记录树

记录式文件:包括定长记录文件和不定长记录文件

  • 定义: 记录式文件就是一组有序记录的集合。基本单位是记录。

  • 定长记录文件:各个记录长度相等。
    在检索时可以根据记录号i及记录长度L就可以确定该记录的逻辑地址。

  • 不定长记录文件:各个记录的长度不等
    在查找时,必须逐条记录查找,直到找到所需的记录。

文件的逻辑结构是用户所看到的文件的组织形式。

无结构的字符流式文件:有序字符的集合,其长度为该文件所包含的字符个数,是一串有开头和结尾的连续字符。

构成文件的基本单位是字符。

源程序、目标代码等文件属于流式文件。

UNIX类系统采用的是流式文件结构。

6.2.2 文件的物理结构

一.顺序结构

1)顺序结构原理

顺序结构又称连续结构,最简单的文件物理结构,把逻辑上连续的文件信息依次存放在连续编号的物理块中。

在顺序结构中,一个文件的目录项中只要指出该文件占据的总块数和起始块号即可。

2)顺序结构的优缺点

优点:一旦知道文件在文件存储设备上的起始块号和文件长度,就能很快进行存取。

缺点:文件不能动态增长。

二.链接结构

1)链接结构原理

为每个文件构造所使用磁盘块的链表。使用这种链接结构的文件,将逻辑上连续的文件分散存放在若干不连续的物理块中。

如网站地图

如Windows的FAT文件系统采用的就是链接结构,但链指针集中存放

2)链接结构的优缺点

优点:存储碎片问题解决,有利于文件动态扩充,有利于文件插入和删除,提高了磁盘空间利用率。

缺点:存取速度慢,不适于随机存取文件;磁头移动多,效率相对较低 ;存在文件的可靠性问题,如指针出错等;链接指针占用一定空间。

三.索引结构

1)索引结构

索引结构原理:把每个物理盘块的指针字集中存放在被称为索引表的数据结构中的内存索引表中。

2)索引文件结构的优缺点

优点:顺序存取和随机存取都适用,可以满足文件动态增长的要求,也满足了文件插入、删除的要求,还充分利用外存空间。

缺点:引起较多寻道次数和寻道时间;索引表本身增长存储空间开销。

1)索引结构

间接索引是在索引表所指的物理块中不存放文件的信息,而是装有存放这些信息的物理块地址,方便扩充索引。

索引结构文件中要存取文件时,需要至少访问两次以上存储设备,一次是访问索引表,另一次是根据索引表访问在存储设备上的文件信息。

(1)索引表的链接模式:一个索引表通常就是一个物理块。对大文件就用多个索引表并将之链接在一起。

(2)多级索引:将一个大文件所有索引表(二级索引)的地址放在另一个索引表(一级索引)中。

四.索引结构的实例----I节点

I节点的基本思想:给每个文件赋予一张称为I节点的小表,在这张小表中列出文件属性和文件中各块在磁盘上的地址。

直接盘块:数据块地址、一重间接盘块(再连接数据块地址)

地址指针:一重间接盘块、二生间接盘块、三重间接盘块

俗称I节点及文件的三级索引结构示意图

2.3、文件的存储介质

没有存储设备就没有文件系统

1、存储介质的特点

外存储同内存相比,一般有容量大、断电后仍可保存信息、速度较慢、成本较低等特点。

  • 外存储设备:通常由驱动部分和存储介质两部分组成。存储介质称为卷。

驱动器作用是使用计算机实现读写(保存、控制、测试)存储介质上的内容。

1、存储介质的特点

存储设备各类很多,磁盘、磁带、磁鼓、纸带、光盘、闪存等,计算机可连接多种存储设备。

存储介质可重用重写,如磁记录类、光记录类和电记录类

存储介质不可重用重写,写了不可再写,如早期的纸带卡片等

磁盘空间由盘面、柱面、磁道和扇区组成

外存存取过程:读状态-置数据-置地址-置控制-读状态等等

2、用户对外存储设备的要求:方便、效率、安全

在读写外存设备时不涉及硬件细节,用户直接使用逻辑地址和逻辑操作

外存设备存取速度尽可能快,容量大且空间利用率高

外存设备上存放的信息安全可靠,防止来自硬件的故障和他人侵权

方便共享,存储空间可动态扩大、缩小、拆卸,随时了解情况

以尽可能小的代价完成上述要求

3、文件在存储设备中的存取

1)顺序存取设备

磁带是最早使用的磁记录存储介质。是标志性的顺序存取设备。

优点是存储容量大

缺点是存取速度慢且只能顺序存取

2)随机存储设备

磁盘是典型的随机存取设备。磁盘由若干磁盘片组成,每个磁盘片对应两个读/写磁头,分别对磁盘片的上下两面进行读写。各个磁头与碰头臂相连。

系统在对磁盘初始化时,将盘面划出一些同心圆,作为存储介质,称为磁道。每个磁盘又分为若干段,称为扇区。每个扇区构成了一个物理块。整个磁盘所有扇区统一编号,从0开始。所有磁盘片相同磁道称为柱面。

零磁道处于硬盘上一个非常重要的位置,硬盘的主引导记录区(MBR)就在这个位置上。MBR位于硬盘的0磁头0柱面1扇区,其中存放着硬盘主引导程序和硬盘分区表。在总共512字节的硬盘主引导记录扇区中,446字节属于硬盘主引导程序,64字节属于硬盘分区表(DPT),两个字节(55 AA)属于分区结束标志。
  在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3、文件在存储设备中的存取

2)随机存储设备

磁盘上每个物理块的位置可用柱面号(磁道号)、磁头号和扇区号表示

(1)已知物理块号,则磁盘地址:

柱面号=[ 物理块号/(磁头数*扇区数 )]

磁头号=[ (物理块号 mod (磁头数*扇区数))/扇区数 ]

扇区号=(物理块号 mod (磁头数*扇区数)) mod 扇区数

3、文件在存储设备中的存取

2)随机存储设备

磁盘上每个物理块的位置可用柱面号(磁道号)、磁头号和扇区号表示

(2)已知磁盘地址:

物理块号=柱面号*(磁头数扇区数)+磁头号扇区数+扇区号

3、文件在存储设备中的存取

2)随机存储设备

磁盘上每个物理块的位置可用柱面号(磁道号)、磁头号和扇区号表示

(2)已知磁盘地址:

磁头臂是沿半径方向移动的。访问磁盘时,首先要移动磁头臂到相应柱面(磁道)(寻道)上,然后旋转盘片将指定磁头定位在指定扇区上,最后控制磁头对扇区中的数据进行读写。所

以,一次访盘时间由寻道时间、旋转定位时间和数据传输时间组成的,由于寻道时间是机械动作,因而所花费时间最长。

3、文件在存储设备中的存取

2)随机存储设备

磁盘上每个物理块的位置可用柱面号(磁道号)、磁头号和扇区号表示

(2)已知磁盘地址:

将所有盘面中的处于同一磁道号上的所有磁道组成一个柱面,形成柱面号,读写同一柱面内的数据不需要移动磁头,实际上节省了访问时间(寻道时间)。

2.4、文件的存取方式

在用户面前呈现的是文件的逻辑结构

在存储介质呈现的是文件的物理结构

选择哪一种文件的存取方式,取决于用户使用文件的方式,也与文件所使用的存储介质有关。如数据库文件,就适用采用随机存取方式。而存储介质是磁带,则只能使用顺序存取方式。

1、顺序存取

按从前到后的次序依次访问文件的各个信息项。

若当前读取的记录为Ri,则下一次读取的记录被自动确定为Ri+1。

2、随机存取

随机存取又称直接存取,即允许用户按任意次序直接存取文件中的任意一个记录,或根据命令把读写指针称到文件中的指定记录处读写。
第3节 文件目录

3.1、文件目录的组成

文件系统的特点是按名存取,即用户只要给出文件的符号名就能方便地存取在外存空间的该文件的信息,而不必了解和处理文件的具体物理地址。

在操作系统中,为了管理大量文件,为每个文件都设置一个描述性数据结构----文件控制块FCB(File Control Block),把所有文件的文件控制块有机地组织起来,就构成了文件控制块的一个有序集合,称为文件目录。

文件目录实际就是文件符号名到文件物理地址之间的一种映射机制。

1、文件控制块FCB结构

文件控制块FCB是系统为管理文件而设置的一个数据结构。FCB是文件存在的标志,它记录了系统管理文件所需要的全部信息。,通常包括以下内容:文件名、文件号、用户名、文件地址、文件长度、文件类型、文件属性、共享计数、文件的建立日期、保存期限、最后修改日期、最后访问日期、口令、文件逻辑结构、文件物理结构等。

文件名:用户给文件取的名称

文件号:系统在文件创建时所指定的一个编号,文件号唯一地标识一个文件,即在一个文件系统中文件号是不重复的。

用户名:记录了该文件创建者的名称。一般而言一个文件的创建者就是所有者

文件物理结构:标识了该文件内部的物理结构是顺序、链接还是索引结构

文件逻辑结构:指出该文件是流式文件还是记录式文件

文件物理位置:记录了与文件在存储介质中的物理位置有关的信息。

文件长度和记录大小:分别保存了文件的长度和每个物理块的大小。

文件类型:与该文件系统的文件类型的划分方法有关。

文件属性:指出文件是只读文件、可读写文件还是只可执行文件。

共享说明:指出该文件是否允许其它用户使用,是仅允许组内用户使用还是允许系统中所有用户使用等。

口令:指为了文件安全和文件信息的保密所设置的访问文件的密码

保存期限:预计该文件的保管时间。有临时文件或只使用一次等。

2、目录文件

当用户建立一个新文件时,与该文件有关的一些信息与属性记录在该文件的文件控制块内。多个文件的文件控制块集中在一起组成了文件的目录。

目录文件是长度固定的记录式文件。

文件目录以文件的形式保存起来,称为目录文件。

在目录文件中,每个文件的文件控制块又称为目录文件中的目录项。

3.2、文件目录结构

1、一级目录结构

最简单、最原始的文件目录结构。该目录表存放在存储设备的某个固定区域,在系统初启时或需要时,系统将该目录表调入内存或部分调入。文件系统通过该目录表提供的信息,对文件进行创建、搜索、读写和删除等操作。

在一级目录表中。各个文件说明项都处于平等地位,只能按连续结构或顺序结构存放,文件名与文件必须一一对应,限制了用户对文件的命名,不能重名,否则视为同一文件。

一级目录对一级目录表所有文件信息项搜索,搜索效率低,检索时间长

2、二级目录结构

在二级目录中目录被分为两级。第一级称为主文件目录(Main File Directory,MFD),给出了用户名和用户子目录所在的物理位置;第二级称为用户文件目录(User File Directory,UFD),又称用户子目录,给出了该用户所有文件的FCB。

3.3、树形目录

把二级目录的层次关系加以推广,就形成了多级目录,又称树形目录结构。
在这里插入图片描述

树形目录结构优点是便于文件分类,且具有下列特点:

(1)层次清楚

(2)解决了文件重名问题

(3)查找搜索速度快

UNIX系统的根目录由bin、etc、lib、tmp和usr构成。

LINUX系统的根目录由bin、boot、dev、etc、home、lib等构成

缺点是逐层检查,多次访盘影响速度,结构相对比较复杂。

3.4、路径名

1、当前目录与目录检索

文件系统向用户提供了一个当前正在使用的目录,称为当前目录或工作目录。

全路径名,又称绝对路径,从根目录开始,列出由根到用户指定文件的全部有关子目录,目录层次多检索耗费时间多。

相对路径:用于检索的路径名只是从当前目录开始到所要访问文件的一段路径,即以当前目录作为路径的相对参照点。检索路径缩短,检索速率高

2、文件目录的改进

为加快目录检索可采用目录项分解法,即把目录项FCB分为符号目录项(次部)和基本目录项(主部)两部分。其中,符号目录项包含文件名以及相应的文件号,而基本目录项包含了除文件名外文件控制块的其它全部信息。
在这里插入图片描述

假设一个文件控制块有48字节,符号目录项占8字节,其中文件名占6字节,文件号占2字节;基本目录项占48-8=40字节。设物理块大小为512字节。

在目录项分解前,一个物理块可以存放512/48≈10个文件控制块。在进行目录项分解后,一个物理块可以存放512/8=64个符号目录项,或512/40≈12个基本目录项。

3.5、目录操作

在UNIX中,

“.”代表当前目录

“…”代表根目录

在MS-DOS系统中

表示一样

演示用WIN7命令行

猜你喜欢

转载自blog.csdn.net/DarkAngel1228/article/details/85781822
今日推荐