|
知识路径: > 计算机系统知识 > 计算机软件知识 > 操作系统知识 > 文件管理(文件目录、文件的结构和组织、存取方法、存取控制、恢复处理、共享和安全 > 文件管理 >
|
相关知识点:12个
|
|
|
|
|
文件是由文件名字标识的一组相关信息的集合。文件名是字母或数字组成的字母数字串,它的格式和长度因系统而异。
|
|
|
组成文件的信息可以是各式各样的:一个源程序、一批数据、各类语言的编译程序都可以各自组成一个文件。文件可以按各种方法进行分类,如按用途可分成:系统文件、库文件和用户文件;按保护级别可分成:只读文件、读写文件和不保护文件;按信息流向可分成:输入文件、输出文件和输入输出文件等。
|
|
|
|
文件是一个抽象机制,它提供了一种把文件保存在磁盘上而且便于以后读取的方法,用户不必了解信息存储的方法、位置以及存储设备实际运作方式等细节。在这一抽象机制中最重要的是文件命名,当一个进程创建一个文件时必须给出文件名字,以后这个文件将独立于进程存在直到它被显式地删除;当其他进程要使用这一文件时必须显式地指出该文件名字;操作系统也将根据该文件名字对文件进行保护。
|
|
|
|
在现代操作系统中,对于文件乃至设备的访问都是基于文件进行的,例如,打印一批数据就是向打印机设备文件写数据,从键盘接收一批数据就是从键盘设备文件读数据。操作系统一般支持以下几种不同类型的文件:
|
|
|
(1)普通文件:即前面所讨论的存储在外存储设备上的数据文件。
|
|
|
|
(3)块设备文件:用于磁盘、光盘或磁带等块设备的I/O。
|
|
|
(4)字符设备文件:用于终端、打印机等字符设备的I/O。
|
|
|
一般来说,普通文件包括ASCII文件或者二进制文件,ASCII文件由多行正文组成,在DOS、Windows等系统中每一行以回车换行结束,整个文件以CTRL+Z结束;在Unix等系统中每一行以换行结束,整个文件以CTRL+D结束。ASCII文件的最大优点是可以原样显示和打印,也可以用通常的文本编辑器进行编辑。另一种正规文件是二进制文件,它往往有一定的内部结构,组织成字节的流,如可执行文件是指令和数据的流,记录式文件是逻辑记录的流。
|
|
|
|
对文件系统本身来说,必须采用特定的数据结构和有效算法,实现文件的逻辑结构到存储结构的映射,实现对文件存储空间和用户信息的管理,提供多种存取方法。
|
|
|
|
|
|
|
|
|
|
|
为了实现这些功能,操作系统必须考虑文件目录的建立和维护、存储空间的分配和回收、数据的保密和监护、监督用户存取和修改文件的权限、在不同存储介质上信息的表示方式、信息的编址方法、信息的存储次序、以及怎样检索用户信息等问题。
|
|
|
|
从用户使用观点来看,关心的是数据的逻辑结构,即记录及其逻辑关系,数据独立于物理环境;从系统实现观点来看,数据则被文件系统按照某种规则排列和存放到物理存储介质上。那么,输入的数据如何存储?处理的数据如何检索?数据的逻辑结构和数据物理结构之间怎样接口?谁来完成数据的成组和分解操作?这些都是存取方法的任务。存取方法是操作系统为用户程序提供的使用文件的技术和手段。
|
|
|
|
按记录顺序进行读/写操作的存取方法称为顺序存取。固定长记录的顺序存取是十分简单的。读操作总是读出下一次要读出的文件的下一个记录,同时,自动让文件记录读指针推进,以指向下一次要读出的记录位置。如果文件是可读可写的。再设置一个文件记录指针,它总指向下一次要写入记录的存放位置,执行写操作时,将一个记录写到文件未端。允许对这种文件进行前跳或后退N(整数)个记录的操作。顺序存取主要用于磁带文件,但也适用于磁盘上的顺序文件。
|
|
|
|
很多应用场合要求以任意次序直接读写某个记录,例如,航空订票系统,把特定航班的所有信息用航班号作标识,存放在某物理块中,用户预订某航班时,需要直接将该航班的信息取出。直接存取方法便适合于这类应用,它通常用于磁盘文件。
|
|
|
|
第三种类型的存取是基于索引文件的索引存取方法。由于文件中的记录不按它在文件中的位置,而按它的记录键来编址,所以,用户提供给操作系统记录键后就可查找到所需记录。通常记录按记录键的某种顺序存放,例如,按代表健的字母先后次序来排序。对于这种文件,除可采用按键存取外,也可以采用顺序存取或直接存取的方法。信息块的地址都可以通过查找记录键而换算出来。实际的系统中,大都采用多级索引,以加速记录查找过程。
|
|
|