1.文件概念
通常文件表示程序(源形式和目标形式)和数据。
源文件由子程序和函数组成,而他们又是由声明和执行语句构成。目标文件由一系列字节序列,他们按连接器所能理解的方式组成。
1.1文件属性
名称、标识符、类型、位置、保护、时间日期用户标识
1.2文件操作
创建、读、写、在文件内重定位、删除、截短
每个打开文件有如下相关信息:
文件指针、文件打开计数器、文件磁盘位置、访问权限
1.3文件类型
文件名由名称和扩展名组成。操作系统用扩展名来表示文件类型和可用的文件操作类型。例如只有.exe .com .bat的文件才可执行。.exe和.com是两种二进制形式的可执行文件,而.bat是ACSII字符形式的批处理文件(batch file ),包含操作系统的命令
1.4文件结构
源文件和目标文件具有一定的结构,以适应相应处理程序的要求。有些文件必须符合操作系统所要求的结构。
1.5内部文件结构
从内部而言,定位文件偏移量对操作系统是比较复杂的。磁盘系统通常明确定义块的大小。所有IO是按块来执行的,块是同样大小的。
2.访问方法
2.1顺序访问
最为常用与简单的访问方式是顺序访问。例如,编译器和编辑器通常按这种方式访问文件。这种方式基于文件的磁带方式。
2.2直接访问
文件是由固定长度的逻辑记录组成,以允许程序按任意顺序进行快速读写。直接访问方式基于文件的磁盘方式,因为磁盘允许对任意文件块进行随机读写。直接访问可立即访问大量信息,数据库通常使用这种类型的文件。
对于这种方式,文件操作必须经过修改从而能将块号作为其参数。
2.3其他访问方式
其他方式是建立在直接访问方式之上。这些访问通常涉及创建文件索引。索引包括各块的指针。为查找文件中的记录,首先搜索索引,然后根据指针直接访问文件。
3.目录结构
系统可有若干文件系统,且文件系统可有若干文件系统。
3.1存储结构
磁盘可以整体用于一个文件系统。然而有时也需要在一个磁盘上装多种文件系统。
3.2目录概述
目录可以看做符号表,他能将文件名转换成目录条目。目录的相关操作有
搜索文件、创建、删除、遍历、重命名、跟踪文件系统
3.3单层结构目录
最简单的目录是单层结构目录。所有文件都包含在同一目录中,其特点是便于理解和支持。
3.4双层结构目录
对于双层结构目录的结构,每个用户都有自己的用户文件目录UFD,每个UFD都有相似的结构,但只列单个用户的文件。
3.5树状文件目录
3.6无环图目录
树状结构禁止共享文件和目录,无环图允许目录含有共享目录和文件。同一文件或子目录可能出现在两个不同目录中。
3.7通用图目录
采用无环目录的一个重要的问题是确保没有环。
4.文件系统安装
如同文件使用前必须打开,文件系统在被系统上的进程使用之前必须安装(mount)。具体地说,目录结构可以建立在多个卷上,这些卷必须安装以使他们在文件系统命名空间中可用。
操作系统需要知道设备名称和文件系统的安装位置(安装点)。安装点为空目录。然后,操作系统验证设备是否包含一个有效文件系统:通过设备驱动程序读入设备目录,验证目录是否有期望的格式。最后,操作系统在其目录结构中记录信息以说明一个文件系统已安装在该安装点上。
5.文件共享
5.1多用户
为实现共享和保护,多用户系统必须要比单用户系统维护更多的文件和目录属性。绝大多数系统采用了文件用户和组的概念。组属性定义对文件拥有相同权限的用户子集。
5.2远程文件系统
随着网络的发展,远程文件共享方式不断改变。采用的第一种方式为:用户通过程序如ftp可实现在机器之间进行文件的人工传输。第二种方式为分布式文件系统DFS,远程目录可以直接从本机上访问。。第三种为万维网,利用浏览器对远程文件的访问。
5.21客户机-服务器系统
远程文件系统允许一台计算机安装多台远程计算机上的多个文件系统。包含远程文件的称为服务器,需要访问文件的称为客户机。
服务器通常标明目录或卷的那些文件可用。客户机标识更为困难。客户机可以通过其网络名称和IP地址来指定,但这些可能被欺骗。未经验证的客户机能够欺骗服务器以使其任务该客户机是验证过的。更为安全的解决方案是客户机通过加密秘史向服务器进行安全验证,这需要客户机与服务器兼容和安全密匙交换。
一旦安装了远程文件系统,那么文件操作请求会代表用户通过网络按照DNS协议发送到服务器。
5.22分布式信息系统
为了便于管理客户机-服务器服务,分布式信息系统用来提供用于远程计算所需的信息的统一访问。域名系统为整个Internet提供了主机名称到网络地址的转换
5.23故障模式
由于网络系统的复杂性和远程机器间所需的交互,会存在更多影响远程文件系统正确操作的问题。
5.3一致性语义
一致性语义是描述多用户同时访问共享文件的语义。这些语义规定了一个用户修改的数据何时对另一用户可见。通常由文件系统代码来实现。
6.保护
当信息保存在计算机系统上,需要使之不受物理损坏(可靠性)和非法访问(保护)
可靠性通常由文件备份来提供。许多计算机系统程序自动定期把可能突然损坏的文件复制到磁带上。
6.1访问类型
文件保护最常用的方式是访问控制。以下类型的操作都可加以控制
读、写、执行、添加、删除、列表清单
6.2访问控制
解决保护问题最为常用的方法是根据用户身份进行控制。许多系统为文件采用了三种用户类型
拥有者、组、其他
6.3其他保护方式
另一解决方案是为每个文件加上密码。
7.小结
文件时由操作系统所定义和实现的抽象数据类型。