《操作系统概念精要》之文件系统篇(一)- 基本概念

2019-11-15  本文已影响0人  小pb

基本概念

文件

文件是操作系统对存储设备的物理属性加以抽象定义的逻辑存储单位。

文件包括文件的属性和操作:
属性包括:名称,标识符,类型,位置,尺寸,权限,创建和修改时间,文件的所有者和使用者等等。
文件的操作包括:创建文件,读文件,写文件,重新定位文件的读写位置,删除文件和截断文件。

进行文件操作的实质?
上面的文件操作涉及搜索目录。为了方便文件操作的搜索更简单,许多系统在首次使用文件之间进行系统调用open()。 操作系统在内核上维护一个打开文件表用于维护所有打开文件的信息。当进行访问文件时,直接使用这个表的索引指定文件。
当多个进程一起访问同一个文件时,操作系统采用两级文件表,进程维护一个文件表和操作系统维护一个进程表。单个进程的文件表执行整个系统的打开文件表。一旦有进程打开了一个文件表,系统表就会包含该文件的条目,当一个进程执行open(), 进程表和系统表都增加一个条目(加入系统表中没有这个文件时)。当系统表中有这个条目时,它会进行将文件打开计数加1。每次close() 将打开计数减1。当为0 时,可以删除。

读取文件时会有读者-作者问题,怎么解决
文件系统一般会提供 共享锁和 独占锁。
共享锁类似于 读者优先的 读写者问题。
独占锁类似于写着优先的读写者问题。

文件系统的结构

文件类型也可用于指示文件的内部结构。源文件和目标文件都具有一定的结构,以便匹配读取他们程序的格式。

文件系统内部文件结构

磁盘系统通常具有明确的块大小,这是扇区大小的决定的。所有的磁盘I/O按块为单位执行,而所有的块的大小相同。一般为512字节。
要对一个文件的位置的偏移进行定位。

访问方法

我们在访问文件信息的时候,一般根据文件的结构来进行访问。

顺序访问

最简单的访问方式是顺序访问,文件信息按顺序加以处理,比如编辑器。
有时需要在中间加入或者访问中间的,需要将当前的文件指针前移或者后移。

直接访问:

一般的文件由固定长度的逻辑记录组成。以按任意顺序的快速读取和写入记录。数据库一般就是这样的模式。
作为一个例子:对于一个航班订票系统,将特定航班的所有信息存储在由航班编号标识的块中。我们访问的时候直接用航班编号定位到数据块。而不是后移文件指针进行访问。

文件系统的安装

正如文件在使用前必须要打开一样,在使用文件系统之前必须先安装(mount)。 一个新的文件系统,要被操作系统识别,必须先进行安装。
为了说明文件系统的安装,如下图,其中三角形表示所感兴趣的目录子树,左边a图是一个现有的文件系统,b图是一个未安装的位于/device/dsk上的文件系统。这时,只有现有文件系统上的文件可以访问。


文件系统挂载前.png

将/device/dsk上的卷安装到/users后的文件系统后,就可以进行访问了。


文件系统挂载后.png

文件共享

当操作系统支持多个用户时,多个用户的文件之间应该支持共享,和文件保护。这就是文件的权限问题。
一般用户都采用文件的所有者,所属组的概念

远程文件系统
随着网络技术的发展,远程计算机之间进行通信很常见,所以在不同的计算机之间进行文件共享称为可能。
一般文件有三种方法:

上一篇下一篇

猜你喜欢

热点阅读