操作系统文件
文件
文件是记录在二级存储器(如磁盘,磁带和光盘)上的相关信息的命名集合。通常,文件是位,字节,行或记录的序列,其含义由文件创建者和用户定义。
文件结构
文件结构应该符合操作系统可以理解的格式。
文件根据其类型具有特定的定义结构。
文本文件是组织成行的字符序列。
源文件是一系列过程和函数。
目标文件是组织成块的字节序列,可由机器理解。
当操作系统定义不同的文件结构时,它还包含支持这些文件结构的代码。Unix,MS-DOS支持最小数量的文件结构。
文件类型
文件类型是指操作系统区分不同类型文件(如文本文件源文件和二进制文件等)的能力。许多操作系统支持多种类型的文件。像MS-DOS和UNIX这样的操作系统有以下类型的文件 -
普通文件
这些是包含用户信息的文件。
这些可能包含文本,数据库或可执行程序。
用户可以对诸如添加,修改,删除甚至删除整个文件等文件应用各种操作。
目录文件
这些文件包含文件名列表以及与这些文件相关的其他信息。
特殊文件
这些文件也称为设备文件。
这些文件代表物理设备,如磁盘,终端,打印机,网络,磁带驱动器等。
这些文件有两种类型 -
字符特殊文件 - 数据按字符处理,如终端或打印机一样。
阻止特殊文件 - 数据以块的形式处理,就像磁盘和磁带一样。
文件访问机制
文件访问机制是指可以访问文件记录的方式。有几种方法可以访问文件 -
顺序访问
直接/随机访问
索引顺序访问
顺序访问
顺序访问是以某种顺序访问记录的顺序访问,即,按顺序处理文件中的信息,一个记录接着另一个。这种访问方法是最原始的方法。示例:编译器通常以这种方式访问文件。
直接/随机访问
随机访问文件组织提供,直接访问记录。
每个记录在文件上都有自己的地址,借助它可以直接访问它以进行读取或写入。
记录不需要在文件中的任何顺序,并且它们不需要在存储介质上的相邻位置。
索引顺序访问
此机制是在顺序访问的基础上构建的。
为每个文件创建一个索引,其中包含指向各个块的指针。
按顺序搜索索引,其指针用于直接访问文件
空间分配
文件由操作系统分配磁盘空间。操作系统部署以下三种主要方式来为文件分配磁盘空间。
连续分配
链接分配
索引分配
连续分配
每个文件占用磁盘上的连续地址空间。
分配的磁盘地址按线性顺序排列。
易于实施。
外部碎片是这种分配技术的主要问题。
链接分配
每个文件都带有一个指向磁盘块的链接列表。
目录包含指向文件第一个块的链接/指针。
没有外部碎片
有效地用于顺序访问文件。
在直接访问文件的情况下效率低下。
索引分配
提供连续和链接分配问题的解决方案。
创建一个索引块,其中包含指向文件的所有指针。
每个文件都有自己的索引块,用于存储文件占用的磁盘空间的地址。
目录包含文件索引块的地址。