操作系统中设计了对信息进行管理的功能,称为文件管理或文件系统。文件管理的主要工作是管理用户信息的存储、检索、更新、共享和保护。用户把信息组织成文件,由操作系统统一管理,用户可不必考虑文件存储在哪里、怎样组织输入/输出等工作,操作系统为用户提供“按名存取”的功能。
5.1 文件和文件系统
5.1.1 文件
把逻辑上具有完整意义的信息集合称为文件。每个文件都要用一个名字做标识,称为文件名。
5.1.2 文件系统的组成部分
文件系统对文件统一管理,目的是方便用户且保证文件的安全可靠。面向用户,文件系统主要是实现“按名存取”。为此,文件系统应由如下一些部分组成:
(1)文件目录
文件目录是实现按名存取的一种手段。
(2)文件的组织
用户按信息的使用和处理方式来组织文件。
(3)文件存储空间的管理
(4)文件操作
为了保证文件系统能正确地存储和检索文件,系统规定了在一个文件上可执行的操作,这些可执行的操作统称为文件操作。文件操作是文件系统提供给用户使用文件的一组接口。
(5)文件的安全措施
5.2 文件的存储介质
把可用来记录信息的磁带、硬磁盘组、软磁盘片、光盘、卡片等称为存储介质。把可按照存储介质的设备统称为存储设备。
把存储介质的物理单位定义为卷。把存储介质上可连续存储信息的一个区域称为块,或称为物理记录。块是主存储器与存储设备之间进行信息交换的物理单位。
磁盘机是一种按地址直接存取的存储设备。把所有的读写磁头按从上到下的次序进行编号,称其为磁头号。
在磁头位置下的各个盘面上的磁道在同一个圆柱面上,我们称这些磁道组成了一个柱面。
把盘面上的磁道编号作为柱面号。每个盘面被划分成若干相等的扇区,每个扇区中的各个磁道都是可存放相等字节数的一个块,沿与磁盘旋转相反方向给各扇区编号,称为扇区号。
5.3 文件的存取方式
从对文件信息的存取次序考虑,存取方式可以分成两种:顺序存取和随机存取。顺序存取是指对文件中的信息按顺序依次进行读写的存取方式。随机存取是指对文件中的信息不一定要按顺序读写,而是可以按任意的次序随机读写的存取方式。
采用那种存取方式,主要取决于两个方面的因素:
(1)与文件的使用方式有关
(2)与存储介质的特性有关
5.4 文件目录
文件目录适用于检索文件的,它是文件系统实现按名存取的重要手段。文件目录由若干目录项组成,每个目录项记录一个文件的有关信息。
5.4.1 一级目录结构
一级目录结构是最简单的目录结构。这种目录结构是把一卷存储介质上的所有文件都登记在一个文件目录中。
一级目录结构一般只适用于微型计算机的单用户系统。
5.4.2 二级目录结构
二级目录结构是为每个用户设置一张目录表,称为用户文件目录。用户文件目录为本用户的每一个文件设置一个目录项。再用一张总的目录表来登记各个用户的目录表存放地址。这张总的目录表称为主文件目录。
5.4.3 树形目录结构
在UNIX系统和Windows系统中都采用了多级目录结构。这种目录结构像一棵倒置的有根树,故也称树形目录结构。在树形目录结构中,每一个节点都是一个目录或一个文件,主文件目录是树根,常常称它为根目录。
5.4.4 文件目录的管理
由于文件目录也是在逻辑上有完整意义的信息集合,因此为了对文件目录进行管理,通常把文件目录也作为文件保存在存储介质上。由文件目录组成的文件称为目录文件。
5.5 文件的组织
文件的组织是指文件的构造方式。用户是从使用的角度来组织文件,用户把能观察到的且可以处理的信息根据使用要求构造成文件,这种构造方式是独立于物理环境的,所以称为文件的逻辑结构。文件系统要从文件的存储和检索的角度来组织文件,文件系统根据存储设备的特性、文件的存取方式来决定以怎样的形式把用户文件存放到存储介质上,在存储介质上的文件构造方式称为文件的存储结构。
5.5.1 文件的逻辑结构
用户组织的文件称为逻辑文件,简称文件。逻辑文件可以有如下两种形式:
(1)流式文件
流式文件是指用户对文件中的信息不再划分可独立的单位,整个文件是由依次的一串信息组成。
(2)记录式文件
记录式文件是指用户对文件中的信息按逻辑上独立的含义再划分信息单位。每个单位称为一个逻辑记录,简称记录。也就是说,一个逻辑文件是由若干个逻辑记录组成的,我们把这种文件称为记录式文件。记录式文件中的逻辑记录可依次编号,其序号称为逻辑记录号,简称为记录号。
对于记录式文件,逻辑记录是文件中可以独立存取的最小信息单位。
能用来唯一地标识某个记录的数据项称为记录的主键。
逻辑记录中除主键外的其他各个数据项都称为次键。
5.5.2 文件的存储结构
存放在存储介质上的文件称为物理文件。
1.磁带文件的组织
顺序结构的文件称为顺序文件。
磁带上的每个文件都有文件头标、文件信息和文件尾标三个组成部分。
2.磁盘文件的组织
文件在磁盘上可以有多种组织方式。常用的组织方式有顺序结构、链接结构和索引结构。
(1)顺序结构
(2)链接结构
将顺序的逻辑结果结构放在不相邻的磁盘块上,再用指针把这些磁盘块按逻辑记录的顺序链接起来,便形成了文件的链接结构。链接结构的文件称为链接文件,又称为串联文件。
链接结构的特点是每个磁盘块中必须留出若干单元用来存放磁盘之间的链接指针。
3.存取方式与存储结构之间的关系
一般来说,对顺序存取的文件,文件系统可以把它组织成顺序文件或链接文件;对随机存取的文件,文件系统可把它组织成索引文件。
5.5.3 记录的成组与分解
1.记录的成组
把若干个逻辑记录合成一组存入一块的工作称为记录的成组。每块中的逻辑记录个数称为块因子。
2.记录的分解
从一组逻辑记录中把一个逻辑记录分离出来的操作称为记录的分解。
记录的成组与分解是以设立主存缓冲区和操作系统增加成组与分解操作的功能为代价,来提高存储介质的利用率和减少设备启动的次数。
5.6 磁盘存储空间的管理
5.6.1 位示图法
确定空闲块地址的通用公式:
块号=字号*字长+位号
柱面号=[块号/柱面上的块数]
磁头号=[(块号 mod 柱面上的块数)/盘面上的扇区数]
扇区号=(块号 mod 柱面上的块数) mod 盘面上的扇区数
归还一块时,寻找位视图中位置的通用公式:
块号=柱面号*柱面上的块数+磁头号*盘面上的扇区数+扇区号
字号=[块号/字长]
位号=块号 mod 字长
5.6.2 空闲块表法
系统为每个磁盘建立一张空闲块表,表中每个登记项纪录一组连续空闲块的首块号和块数。空闲块数为“0”的登记项为无效登记项。
5.6.3 空闲块链法
把所有的磁盘空闲块用指针连接在一起构成空闲块链。
5.7 基本文件操作及其使用
5.7.1 基本文件操作
1.“建立”操作
2.“打开”操作
3.“读”操作
4.“写”操作
5.“关闭”操作
6.“删除”操作
5.7.2 文件操作的使用
一个文件使用前必须先调用“打开”。一个被打开的文件不允许非打开者使用。
一个文件被“打开”或“建立”后,允许打开者或建立者多次调用“读”操作或“写”操作来使用该文件。文件使用结束后必须调用“关闭”操作来归还文件的使用权。关闭的文件不能再使用。若要再使用,必须再次调用“打开”操作。
“打开”、“建立”、“关闭”是文件系统中的特殊操作。用户调用“打开”和“建立”来申请对文件的使用权。只有当系统验证符合使用权力时,用户才能使用文件。用户调用“关闭”来归还文件的使用权。
5.8 文件的安全性
文件的安全性体现在文件的保护和文件的保密两个方面。
5.8.1 文件的保护
文件的保护是指防止文件被破坏。
造成文件可能被破坏的原因大致有四个方面:天灾人祸(如地震、洪水、存储介质损坏、磁带或磁盘安装错误);硬件故障或软件失误;共享文件时引起错误;计算机病毒的侵害。
1.防止天灾人祸造成的破坏
为了这种意外而造成的文件破坏,通常采用建立多个副本的办法来保护文件。
2.防止系统故障造成的破坏
(1)建立副本
(2)定时转储
UNIX系统就采用定时转储来保护文件,提供文件的安全性。
3.防止文件共享时造成的破坏
UNIX采用把用户分类的方法防止文件共享造成的破坏。
4.防止计算机病毒的侵害
5.8.2 文件的保密
文件的保密是指防止他人窃取文件。常用的保密措施有以下几种。
(1)隐蔽文件目录
(2)设置口令
(3)使用密码
5.9 UNIX系统的文件管理
5.9.1 UNIX的文件和文件系统
在UNIX中,文件的逻辑结构是由一串顺序的字符流组成的流式文件,即用户组织的文件是不划分记录的。文件的存储结构是采用索引结构方式,即把文件按一定的长度分块后存放到磁盘上,并建立索引表。
在UNIX中,把外围设备也当做文件看待,称为设备文件。所以,UNIX中的文件包括普通文件、目录文件和设备文件。
UNIX的文件系统分为基本文件系统和可装卸的子文件系统两部分。
5.9.2 UNIX的文件结构
在UNIX中,文件的逻辑结构是由一串顺序的字符组成的流式文件,文件的存储结构采用索引结构方式。由于用户的逻辑文件是不划分记录的,所以UNIX就把用户的逻辑文件按一定的长度分块后存放到磁盘上,组织成索引文件。
UNIX把磁盘空间划分成长度为512个字节的许多块,文件信息和索引表都可以存放在这些块中。
UNIX操作系统对索引表作了精心设计,采用多级索引结构。规定每个文件的索引表使用13个登记项(每个登记项有4个字节)。
5.9.3 UNIX的文件目录
UNIX采用树形目录结构。
根目录下有8个子目录,分别登录不同类型的文件,其中
/vmunix 是UNIX的二进制引导文件
/dev 是设备特殊文件
/bin 是包含UNIX外壳层中的二进制代码文件
/lib 是库文件,如C.PASCAL的子文件库
/usr 是含有已安装的子文件系统以及用户的各种文件
/user 是用户的私有文件
/etc 是管理性文件
/tmp 是临时性文件
在UNIX中,对目录文件的存取权限也有读、写、执行三种,但他们的含义与普通文件的存取含义不同。它们的含义是:
读——可以读该目录
写——可以增删这个目录中的目录项,从而改变目录内容。
执行——可以为寻找一个文件而搜索这个目录。
5.9.4 UNIX的索引节点
UNIX中每个文件有一个唯一的索引节点。UNIX经常把索引及诶单称为i节点或i-node。通常索引节点是放在磁盘上的索引节点区中,当要对文件进行各种操作时,必须把该文件的索引节点从磁盘读到主存储器中。
1.索引节点区
UNIX把可分配的磁盘块分成两类,一类是存放索引节点的索引节点区,另一类是存放文件信息的文件存储区。
2.磁盘索引节点
存放在磁盘上的索引节点区中的索引节点称为磁盘索引节点。磁盘索引节点实际上是描述文件的第一个抽象数据结构。
3.活动索引节点表
为了加快访问文件的速度,当要对文件进行各种操作时,就要把该文件的索引节点读取到主存储器。为此,UNIX在主存开辟了一个索引节点缓冲区,用来建立活动索引节点表inode[]。
活动索引节点表中的节点称为活动索引节点。
寻找和释放活动索引节点分别由两个过程iget和iput来完成。
4.目录索引
5.9.5 UNIX的打开文件表
UNIX在整个系统运行期间维护一张系统打开文件表file[]。每个用户进程各有一张进程打开文件表,以实现对文件读、写操作的动态管理。
1.系统打开文件表
在UNIX中,一个文件可以被同一进程或不同进程多次打开。在请求打开时,可以提出相同或不同的打开方式。UNIX设置一张系统打开文件表file[],以反映对被打开文件进行操作的动态信息。
系统打开文件表主要用于对文件读写操作的控制。
2.进程打开文件表
UNIX还运行一个进程同时打开多个文件,但规定每个进程最多同时打开15个文件。UNIX为每个进程设置一张进程打开文件表。该表是进程扩充控制块user的组成部分。
5.9.6 UNIX的文件操作
在UNIX中,对文件的操作是通过系统调用来实现的。文件操作类的系统调用主要有create、open、read、write、close、link和unlink等。
1.建立文件create
2.打开文件open
用户程序要使用一个已经存在的文件时,必须先用系统调用open将它打开。
3.系统调用read
4.系统调用write
5.系统调用close
6.系统调用link
用系统调用link可以为一个文件再取一个新文件名。
7.系统调用unlink
用系统调用unlink可删除文件的一个文件名。
5.9.7 UNIX的文件存储空间管理
UNIX把磁盘上的用开存放文件信息的磁盘块采用成组链接的方法进行管理。成组链接法把空闲块分成若干组,把指向一组中各空闲块的指针集中在一起。
UNIX规定,每100个空闲块为一组,每组的第一个空闲块中登记下一组空闲块的磁盘物理块号和空闲块数,最后不足100块的那部分磁盘物理块号及块数记入专用块中。
分享到:
相关推荐
操作系统原理与实例分析课件第五章文件管理系统.ppt
本资料包含该书的实例源代码以及第5章“文件管理器”的电子文档,旨在提供一个实际操作的平台,使学习者能够亲手实践Android文件管理的相关技术。 在Android应用开发中,文件管理是不可或缺的一部分,它涉及到读取...
由于提供的文件信息中包含了一些不明确的乱码内容,我将仅以标题和描述为依据,展开介绍操作系统中文件管理的相关知识点。 操作系统作为计算机系统的核心软件,负责管理计算机硬件与软件资源,而文件管理系统是操作...
第六章 文件管理讲述了计算机系统中的重要资源—信息的组织、存储和访问。文件系统是操作系统中的一个重要组成部分,负责信息的组织、存储和访问。文件管理的目的是为了提供高效、快速和方便的信息存储和访问功能。 ...
在本章"系统设计师--第4章 文件管理"中,我们探讨了文件管理的各个方面,包括文件的概念、分类、组织、存储设备、目录管理、共享与安全,以及文件的使用。 首先,文件管理的主要任务包括建立文件系统,管理外存的...
而"第5章 文件管理器"可能是一个关于文件管理器的教程或资料,包含更深入的技术细节和实践指导。不过,由于没有实际内容可供参考,这里只能提供一般性的概述。如果你需要了解更多关于特定文件管理器的信息,可能需要...
在《操作系统原理教程》的第4章中,文件管理涉及到多个关键概念和功能。 首先,文件管理的主要任务是构建一个文件系统,为用户提供对文件的便捷存取和安全保障。它旨在优化外存储空间的利用率,对用户文件和系统...
在操作系统实验报告“文件管理”部分,我们关注的是如何为Unix/Linux系统设计一个简单的二级文件系统。这个实验旨在让学生深入理解文件系统的内部运作机制及其功能实现。以下是该实验涉及的关键知识点: 1. 文件...
操作系统(第4版)第5章 文件系统 文件系统是操作系统中一个非常重要的组成部分,它负责管理和组织计算机系统中的文件。文件系统的主要功能包括文件存储空间的管理、文件操作的一般管理、目录管理、文件的读/写管理...
第二章 系统分析 本设计的目的是通过设计和调试一个简单的文件管理系统,主要是模拟文件操作命令的执行,来模拟文件管理,掌握主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法。...
"国家职业技能鉴定考试-计算机操作员(初级)之第二章文件管理" 本资源主要介绍了计算机操作员(初级)国家职业技能鉴定的第二章文件管理,涵盖文件管理的基本概念、文件和文件夹的定义、文件名和扩展名的概念、...
第五章:如何录入更新信息;第六章:如何修改后台信息。每个操作或者功能都有相应的截图,以便查阅使用。 由于团队力量有限,手册中难免出现错误,还请读者见谅。如果因为错误而给您带来的困扰,请给我们留言或者发...
操作系统概论第四章文件管理习题解答 本资源摘要信息将对操作系统概论第四章文件管理习题的相关知识点进行详细的解释和分析。 一、文件的概念和定义 文件是指逻辑上具有完整意义的信息集合。文件系统主要是实现...
【第10章 文件】 在C语言中,文件是数据持久化存储的重要方式,它允许程序将信息保存在外部存储器上,以便在程序运行结束后还能保留数据。本章主要涵盖了以下几个方面: 1. **文件及其分类** - 文件是存储在外部...
本章“C#精彩编程实例--第2章 文件管理”聚焦于如何高效地操作和管理计算机中的文件。通过学习这一章,你可以掌握C#语言在文件I/O(输入/输出)方面的核心技能。 首先,我们要了解C#中的`System.IO`命名空间,这是...
因此,我将直接从标题和描述中构建有关CDGA考试第九章文件和内容管理的知识点。 知识点概览: 1. CDGA考试概述 2. 文件和内容管理的重要性 3. 文件生命周期的管理 4. 内容管理的系统和策略 5. 文件和内容管理的技术...
“Linux文件管理” Linux操作系统的文件管理是指对文件和目录的管理,包括文件系统的概念、文件类型、文件的分类和文件系统的结构等。 一、 Linux 文件系统的概念 文件系统是存放在已格式化的存储介质中的一种...
以上是操作系统第五、六章设备管理和文件系统的主要知识点。理解并掌握这些概念,对于应对考研或期末考试,以及实际操作系统的设计和维护都是非常关键的。通过做相关的习题和答案,可以加深对这些知识点的理解,提高...
"操作系统第6章-文件管理" 操作系统的第六章主要讲述了文件管理的概念和技术,包括文件系统、文件的逻辑结构、外存分配方式、目录管理、文件存储空间的管理、文件共享与文件保护、数据一致性控制等。 文件系统是...
在第10章的范例中,你可能会看到如何打开、读取、写入、追加以及关闭文件,以及处理文件错误的情况。 接下来,我们将讨论注册表编程。注册表是Windows操作系统用来存储系统和应用程序设置的地方。在VC++中,可以...