操作系统的文件管理功能(操作系统的文件管理)
《操作系统是什么》一节讲过 ,操作系统是一款计算机系统软件 ,它具备很多功能,比如前面讲过的进程管理 、CPU 资源管理 。本节 ,我们将带领您了解操作系统的文件管理功能 ,包括什么是文件 、文件类型 、文件的存储方式等等 。
文件和文件系统
软件在执行过程中 ,很可能需要读取或者存储一些必要的数据。从操作系统的角度分析 ,想要实现成功地读 、写数据 ,需要解决一些问题 ,比如:
每个进程只能利用自己的逻辑地址空间存储数据 ,且存储的数据量不能超过逻辑地址空间的大小; 进程消亡后 ,其使用的逻辑地址空间也会随时消失 。这意味着 ,进程存储在逻辑地址空间中的数据无法长久保存; 在多道操作系统中,允许多个进程同时运行 。由于每个进程只能将数据存储在自己的逻辑地址空间中 ,因此很难实现进程间的数据共享 。基于以上 3 个问题 ,数据的存取需要满足 3 个条件:
能够存储大量的数据; 支持长期甚至永久地保存数据; 多个进程可以访问同一份数据;针对以上问题,操作系统的解决方案是:将每份数据以文件的形式存储在外存(硬盘 、U盘等)中 。
简单的理解 ,文件就是一些相关数据的集合体 。计算机中可以存储很多种数据 ,包括图像数据 、文本数据 、多媒体(音频 、视频)数据等,这些数据都各自以文件的形式存储在外存中 ,从而产生图像文件 、文本文件、多媒体文件(音频文件 、视频文件)等 。
为了有效管理外存中的这些文件 ,操作系统新增了文件管理功能 ,专门负责管理文件 ,包括文件的存储 、文件的读取等等 。文件管理功能是操作系统的众多功能之一 ,我们习惯将这部分功能称为文件系统 。
文件类型
根据不同的划分标准 ,文件系统中的文件可以划分为不同的类型 ,表 1 给您罗列了一些不同划分标准对应的文件类型 。
表 1 文件类型 文件类型 分类 按用途分类 分为系统文件、库文件和用户文件。 按保存期限分类 分为临时文件和永久文件 。 按文件的保护方式分类 分为只读文件 、读写文件和可执行文件 。 按数据流向分类 分为输入文件 、输出文件和输入/输出文件。 按文件中保存的数据分类 分为源文件、目标文件和可执行文件 。文件存储方式
当用户或者软件存储某个文件时 ,文件系统负责分配足够的外存空间 。常见的外存空间分配方式有 3 种 ,分别为连续分配 、链接分配和索引分配。
1) 连续分配所谓连续分配,文件系统会为每个文件分配连续的外存空间 ,系统只需要记录各个文件所在外存的首地址 ,即可轻松管理所有文件 。
和其它分配方式相比,连续分配是最容易实现的一种存储文件的方式 ,以此方式存储的文件 ,顺序访问(后续会讲)的效率较高 。连续分配方式的缺点也可明显,即每个文件都需要占用整块的存储空间 ,因此外存中一些零散的 、容量小的存储空间将无法得到有效利用(成为碎片) ,降低了外存空间的利用率 。
2) 链接分配链接分配方式会将整个文件分成很多块 ,这些块分散存储在外存的各个区域 。
为了保持文件的完整性 ,文件系统会为每个文件块配备一个指针 ,每个文件块的指针都指向下一个文件块所在的存储位置 。由此 ,文件系统只需维护第一个文件块的指针 ,即可轻松找到存储的每个文件 。
链接分配其实就是以链表的结构存储文件 ,因此文件的内容可以分散存储在外存的各个区域 。
和连续分配方式相比 ,链接分配方式明显提高了外存空间的利用率,但顺序访问文件的效率不如前者 。
3) 索引分配和链接分配方式一样 ,索引分配方式也会将文件分散存储在外存不同的区域 。不同之处在于 ,该方式会将每个文件块的存储位置记录在一张表中(又称索引表),而不是采用链表的方式。
也就是说 ,文件系统会为每个文件建立一张索引表 ,每张索引表会占用一块连续的存储空间,表中顺序记录着各个文件块的实际存储位置 。文件系统只需要维护每个文件的索引表 ,即可管理系统中的所有文件 。
索引分配方式将连续分配和链接分配的优点融于一身 ,既保证了外存的利用率 ,顺序访问文件的效率也很高。该分配方式的缺点是:当文件数量较多时 ,文件的索引表数量会很多 ,它们会占用一定的存储空间 。
文件访问方式
常见的访问文件的方式有 3 种 ,分别称为顺序访问 、随机访问和索引顺序访问 。
1) 顺序访问顺序访问指的是从文件的开头依次读取文件内容 ,直至读取完毕。顺序访问是大多数文件系统都会使用的文件访问方式 。
为了实现对文件内容的读取 ,每个文件都维护有一个指针 ,其初始状态下指向文件中第一个数据所在的位置 。当用户或者软件想读取文件时,指针会将其指向的数据提供给用户或软件 ,同时指向下一个数据 ,如此循环,直至读取完整个文件 。
如今 ,很多文件系统都同时提供有顺序访问 、随机访问和索引访问这 3 种文件访问方式 ,但由于多种文件(例如文本文件 、音频文件 、视频文件等)都需要以顺序访问的方式读取数据,因此顺序访问仍是最常用的文件访问方式 。
2) 随机访问随机访问又称直接访问 ,即直接读取文件中指定位置处的目标数据 。
随机访问方式常用于数据库应用程序中 ,因为在此类程序中 ,用户常常需要略过某些数据(记录) ,直接查看目标数据(记录) 。这种情况下 ,虽然使用顺序访问方式也能实现目的 ,但效率会大打折扣 。
随机访问方式的实现 ,需要文件系统协助完成必要的任务 ,例如找到目标数据所在的存储位置 。
3) 索引顺序访问索引顺序访问方式适用于以索引分配方式存储的文件 。
索引顺序访问方式指的是通过文件系统维护的各个文件的索引表 ,既可以顺序访问文件,还可以随机访问文件。在某些大型数据库中 ,借助索引访问方式 ,可以方便 、快捷地找到目标数据 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!