操作系统原理电子教案06
6.2.1 文件控制块和文件目录
1. 文件控制块 文件控制块通常包含三类信息 : (1) 基本信息
文件名:用于标识一个文件的符号名。在每个系统中,每个文件都必须有唯一 的名字,用户利用该名字进行访问。 文件类型:指明文件属性是普通文件,还是目录文件或特殊文件,是系统文件 还是用户文件等。 文件物理位置:指文件在外存上的存储位置,如存放文件的设备名、文件在外 存的起始盘块号、文件占用的盘块数或字节数。 文件大小:当前文件的大小(以字节、字或块为单位)和允许的最大长度。
6.1.1 文件及其分类
2. 文件的命名
文件名由创建者给定,它是由字母或数字组成的一 个字符串,用来标识该文件。 不同的系统对文件命名有不同的要求。例如,有些 系统规定必须是字母打头且允许一些其它符号出现 在文件名的非打头部分;有些系统区分文件名中的 大小写字母,如UNIX和Linux系统;而有些系统则 不去区分文件名中的大小写,如MS-DOS。 名字的长度因系统不同而异。如在有的系统中把名 字规定为8个字符,而在有的系统中规定可用14个 字符。
文件名 文件名1 文件名2 文件名3 „ 0 13 14 „ 15 索引结点编号
6.2.2 文件目录结构
1. 单级目录
在整个文件系统中只建立一张目录表,每个文件占 一个目录项,目录项中包含文件名、文件扩展名、 文件类型、文件长度、文件物理地址以及其它文件 属性。
文件名 文件名1 文件名2 ... 文件扩展名 文件长度 物理地址 ... ... ... ... 保护权限
Zhao用户目录 a 文件名 Zhao Qian Sun ... ... Sun用户目录 a b a b Qian用户目录 a b a b 指向子目录指针 b a b
6.2.2 文件目录结构
2. 两级目录
两级目录结构基本克服了单级目录的缺点,具有以下优点: (1) 解决文件名冲突。 (2) 提高目录检索速度。 (3) 不同用户可使用不同的文件名来访问系统中的同一个共 享文件。 两级目录仍然存在一些问题。这种结构有效地对用户加以隔 离,这种隔离在各用户之间完全无关时是优点,但是当用户 需要在某个任务上进行合作,且一用户又需要访问其它用户 的文件时,这种隔离就是个缺点,因为有的系统不允许本地 用户文件被其它用户访问。
6.1.1 文件及其分类
1. 文件的定义
文件是计算机系统中信息存放的一种组织形式,是在逻辑上 具有完整意义的信息集合,并且有一个名字以供标识。构成 文件的基本单位可以是字符流,也可以是记录。据此,文件 有两种有代表性定义: (1) 文件是具有标识符的相关字符流的集合。说明文件是由 字节组成,这是一种无结构的文件,称为流式文件,目前 UNIX操作系统,MS-DOS系统均采用这种文件形式。无结构 的文件由于采用字符流方式,与源程序、目标代码等在形式 上是一致的,因此,该方式适用于源程序、目标代码等文件。 (2) 文件是具有标识符的相关记录(一个有意义的信息单位)的 集合。文件是由记录组成,这是一种有结构的文件。记录是 由一组相关信息项组成。例如每个学生的档案表可以视为一 个记录,它包括学生姓名、出生年月、性别、籍贯等信息项, 所有学生档案表组成一个学生文件。记录式文件主要用于信 息管理。
6.2.2 文件目录结构
3. 多级目录 多级目录结构是一棵倒向的有根树,树根是根目录;从根向下, 每一个树枝是一个子目录,而树叶则是文件。 树形目录有许多优点:它较好地反映了现实世界中具有层次关系 的数据集合和较确切地反映系统内部文件的分支结构,不同的文 件可以重名,只要它们不位于同一子目录中即可,易于规定不同 层次或子树中文件的不同存取权限,便于文件的保护、保密和共 享等。
字节 8 文件名 3 1 2 保留 2 时间 2 2 4 扩展名 属性 日期 首块号 文件大小
6.2.1 文件控制块和文件目录
3. 索引节点
为了减少检索文件的时间,在有的系统中,如UNIX/Linux系 统,采用把文件名和文件描述信息分开的方法,使文件描述 信息单独形成一个定长的数据结构,称为索引节点,简称为i 结点。这样,在文件目录中的每个目录项仅由文件名和指向 该文件对应的i结点的指针所构成。 在UNIX系统中一个目录仅占16个字节,其中14个字节是文 件名,2个字节为i结点指针。在1KB的盘块中可保存64个目 录项,这样,为找到一个文件,可使平均启动磁盘次数减少 到原来的1/4,大大节省了系统开销。Unix系统的文件目录 项示意图如下。
6.1.1 文件及其分类
2. 文件的命名
文件名由文件名和扩展名两部分组成,中间用“.”隔开,如 program.c。它们都是由字母或数字组成的字母数字串。扩展 名也称文件后缀,利用扩展名可以区分文件的属性。
扩 展 名 exe ,com ,bin obj , o c ,cc,java,pas,asm,a bat, sh txt, doc wp,tex,rtf,doc lib,aso,dll arc,zip,tar ps,pdf,jpg mpeg,mov,rm
(3) 使用信息
6.2.1 文件控制块和文件目录
2. 文件目录
文件与文件控制块一一对应,文件控制块的有序集 合称为文件目录,一个文件控制块就是一个文件目 录项。 为了实现对文件目录的管理,通常将文件目录以文 件的形式保存在外存上,这个文件就叫目录文件。 MS-DOS目录项示意图 :
6.1.2 文件的属性
为了对文件进行控制和管理,大多数操作系统都用一组信息来指定文 件的类型、操作特性和存取保护等,这组信息称为文件的属性。 文件的基本属性:文件的名称、文件的所有者、文件的授权者、 文件的长度等。 文件的类型属性:如普通文件、目录文件、系统文件、隐含文件、 设备文件等。也可以按文件信息分为ASCII码文件、二进制码文件 等。 文件的保护属性:如可读、可写、可执行、可更新、可删除等, 可改变保护以及档案属性。 文件的管理属性:如文件的建立时间、最后存取时间、最后修改 时间等。 文件的控制属性:逻辑记录长、文件的大小、文件的最大长度以 及允许的存取方式标志、关键字的位置、关键字长度等。 所有文件的信息都保存在目录结构中,而目录结构保存在外存中。通 常,目录条目包括文件名称及其唯一标识符,而这些标识符又定位其 它属性信息。一个文件的属性信息大概需要1KB。
root usr bin home
usr1
mail
dist
count
hex
find
m
n
program
prog
prt
exp
list
find
hex
count
list
obj
spell
last
first
6.2.2 文件目录结构
在树形目录结构中,文件的全名包括从根目录开 始到文件为止的所有子目录路径。各个子目录名 之间用正斜线“/”或反斜线“\”隔开。 子目录名组成的部分又称为路径名。系统内的每 个文件都有唯一的路径名,路径名是从根经过所 有子目录再到指定文件的路径。 绝对路径名从根目录开始并给出路径上的目录名 直到指定的文件。 相对路径名则从当前目录开始定义一个路径。
第6章 文 件 管 理
6.1 文件的概念 6.2 文件目录 6.3 文件和目录操作 6.4 文件的逻辑结构 6.5 文件的物理结构 6.6 文件存储空间的分配 6.7 文件存储空间的管理 6.8 文件系统 6.9 文件的共享和保护
6.1 文件的概念
文件系统的管理功能,就是通过把计算机保存的 程序和数据组织成一系列文件的方法来实现的。 文件是计算机系统中信息存放的一种组织形式。 在现代操作系统中,几乎都是通过文件系统来组 织和管理计算机保存的大量程序和数据。
6.2.2 文件目录结构
1. 单级目录
单级目录的优点是简单、易于实现,实现了目录管 理的基本功能——按名存取,但却存在以下一些缺 点:
(1) 查找速度慢 。 (2) 不允许重名 。 (3) 不便于文件的共享 。
6.2.2 文件目录结构
2. 两级目录
为每一个用户建立一个单独的用户文件目录UFD(User File Directory)。这些文件目录具有相似的结构,它由用户所有 文件的文件控制块组成。 系统再建立一个主文件目录MFD (Master File Directory), 在主文件目录中,每个用户目录文件都占有一个目录项,其 目录项中包括用户名和指向该用户目录文件的指针。
(2) 存取控制信息
存取控制信息包括:文件属主的存取权限、标准用户的存取权限以及一般用户 的存取权限。
时间和日期:反映文件创建和最后修改的日期和时间。 最后使用情况:包括文件是否被其它进程锁住、文件在内存中是否已被修改但 尚未拷贝到盘上等。这些信息可用于对文件实施保护和监控等。 使用计数:表示当前有多少个进程正在使用或打开该文件。
6.1.1 文件及其分类
3. 文件的分类 (2) 按文件的操作权限分类
只读文件:只允许进行读操作,不能进行写操作的 文件。 读写文件:允许文件属主和授权用户对其进行读或 写操作的文件。 只执行文件:该类文件只允许授权的用户调用执行, 而不允许其修改或读出文件的内容。
6.1.1 文件及其分类
6.1.1 文件及其分类
3. 文件的分类 (4) 按文件中数据的形式分类
源文件。指由源程序和数据构成的文件。通常由终 端或输入设备输入的源程序和数据所形成的文件都 属于源文件。它通常由ASCII码或汉字组成。 目标文件。指把源程序经过相应语言的编译程序编 译过,但尚未经过链接程序链接的目标代码所构成 的文件。它属于二进制文件。通常,目标文件使用 的后缀名是“.obj”。 可执行文件。指把编译后产生的目标代码再经过链 接程序链接后所形成的文件。