操作系统(文件管理)徐锋Email:xf@ics.nju.edu.cn南京大学计算机科学与技术系主要内容概述文件文件目录文件的组织与数据存储文件系统的其他功能概述文件系统出现的原因–用户直接操作和管理辅助存储器上信息,繁琐复杂、易于出错、可靠性差–多道程序、分时系统的出现要求以方便、可靠的方式共享大容量辅助存储器文件系统是操作系统中负责存取和管理信息的模块,它用统一的方式管理用户和系统信息的存储、检索、更新、共享和保护,并为用户提供一整套方便有效的文件使用和操作方法。概述文件系统的功能:–文件的按名存取(基本功能)–文件目录的建立和维护(用于实现上述基本功能)–实现逻辑文件到物理文件的转换(核心内容)–文件存储空间的分配和管理–数据保密、保护和共享–提供一组用户使用的操作文件文件–文件是由文件名字标识的一组信息的集合。实现按名存取的文件系统的优点:–将用户从复杂的物理存储地址管理中解放出来–可对文件提供各种安全、保密和保护措施–实现文件的共享(同名共享、异名共享)文件文件的命名–各操作系统的文件命名规则略有不同,在文件名字的格式(如合法字符集不同、是否区分大小写等)和长度上存在差异–通常,文件名字由文件名和扩展名组成,中间用“.”分隔。前者标识文件内容、后者标识文件特性。–通配符,”?”代表任何一个符合文件命名要求的合法字符,”*”代表任何一个合法的字符串。文件文件的分类–按用途:系统文件、库文件、用户文件等–按保护级别:只读文件、读写文件、不保护文件等–按信息流向:输入文件、输出文件、输入/输出文件–按存放时限:临时文件、永久文件、档案文件–按存放设备类型:磁盘文件、磁带文件、软盘文件文件文件的属性–用于文件的管理控制和安全保护–分为:基本属性:文件名、所有者、授权者、长度等类型属性:普通文件、目录文件、系统文件、隐式文件、设备文件等保护属性:读、写、可执行、可更新、可删除、可改变保护、归档等管理属性:创建时间、最后存取时间、最后修改时间等-rwxr-x--x文件类型(-,d,l,b/c)所有者权限其他用户权限同组用户权限文件文件的存取方法–顺序存取按记录顺序进行读/写操作的存取方法可分为:固定长度记录、可变长度记录–直接存取以任意次序(随机)直接读写某个记录–索引存取基于索引文件的存取方法。(实际系统中,大多采用多级索引,以加速记录的查找过程)文件文件的使用–两类接口:操作或控制台命令,如DOS命令:dir,cd等系统调用(API),如open,write等,功能包括:–建立文件–打开文件–读/写文件–文件控制–关闭文件–撤消文件–…文件目录什么是文件目录?–是文件系统建立和维护的关于系统的所有文件的清单,每个目录项对应一个文件的信息描述,该目录项又称为文件控制块(FCB)。–目录信息也以文件的形式存放,称为目录文件。文件控制块的基本内容:–文件存取控制信息,如文件名、用户名、文件主存取权限等–文件结构信息,文件逻辑结构、文件的物理结构等–文件使用信息,已打开该文件的进程数、文件的修改情况等–文件管理信息,文件建立日期、文件访问日期等文件目录如何实现“按名存取”?–当用户要求存取某个文件时,系统查找目录文件,获得对应的文件目录。–在文件目录中,根据用户给定的文件名寻找到对应该文件的文件控制块(文件目录项)–通过文件控制块所记录的该文件的相关信息(如文件信息存放的相对位置或文件信息首块的物理位置)依次存取该文件的内容。文件目录一级目录结构–在操作系统中构造一张线性表,与每个文件有关的属性占用一个目录项就构成一级目录结构。–缺点:重名问题(当多用户共享一个目录时)难以实现文件共享(异名共享问题)目录项1目录项2目录项N…文件1文件2文件N文件目录二级目录结构–文件目录由两级目录构成,第一级为主文件目录用于管理所有用户文件目录,第二级为用户的文件目录,用于管理每个用户下的文件。用户文件目录地址A…B………目录项1目录项2…目录项1目录项2…文件文件文件文件目录树形目录结构–二级目录结构的推广成多级目录结构,该结构为一倒置的有根树,又称树形目录结构。–倒置树的根称为根目录,从根向下,每一个树枝为一个子目录,而树叶则为文件。–优点:较好地反映现实世界数据集合之间的层次关系不同文件可以重名,只要不在同一个目录中容易以目录为单位进行文件的保护、保密和共享文件目录树形目录结构–文件的全名,应该从根目录开始,到该文件名为止,目录路径+文件名。例,/user/include/testfile.c/devbinlibetcusrtty00tty01shdataccfei1fei2文件的组织与数据存储与文件组织和存储相关的概念–卷,是物理存储介质的单位,如一盘磁带、一张光盘等。对于存储介质和存储设备可分离的存储器,物理卷和物理设备不总是一致。–块,存储介质上连续信息所组成的一个区域,也叫物理记录,是主存储器与辅助存储器进行信息交换的单位。–逻辑记录,文件中按信息在逻辑上的独立含义划分的一种信息单位,应用程序处理的单位。–存储记录,指附加了操作系统控制信息的逻辑记录,文件管理程序处理的单位。文件的组织与数据存储与文件组织和存储相关的概念–三种记录之间的关系逻辑记录存储记录物理记录映射映射用户作业存取方法存储设备逻辑数据组织(面向用户)物理数据组织(面向设备)文件的组织与数据存储文件的逻辑结构–从用户的角度出发,在用户概念中的抽象信息的组织方式,以及用户可见,并可处理的数据集合。–文件按逻辑结构分为两种形式:流式文件,指文件内的数据不再组成记录,只是依次的一串信息集合。(无结构)记录式文件,是一种有结构的文件,包含若干逻辑记录。–逻辑记录是文件中按信息在逻辑上的独立含意划分的一个信息单位。文件的组织与数据存储文件的物理结构–逻辑文件在物理存储空间中的存放方法和组织关系。–文件的存储结构涉及:块(物理记录)的划分、记录的排列、索引的组织、信息的搜索–常见的构造物理结构的方法:计算法,设计映射算法,如线性计算法、杂凑法将逻辑地址(记录键)转换成对应的物理地址。指针法,设置专门的指针,指明相应记录的物理地址或表达各记录间的关联关系。文件的组织与数据存储文件的物理结构–几种常见的文件物理结构:顺序文件,连续存储连接文件直接文件索引文件非连续存储文件的组织与数据存储文件的物理结构–顺序文件紧凑顺序文件,逻辑记录连续存储在存储介质的相邻物理块上几种顺序文件的变种–扩展顺序文件–连接顺序文件–划分顺序文件文件的组织与数据存储文件的物理结构–连接文件使用连接字或指针来表示文件中各记录之间的串联关系,又称串联文件特点:逻辑记录顺序独立于物理记录顺序,增、删、改方便,但性能较低。文件目录项0文件的组织与数据存储文件的物理结构–直接文件在记录的关键字与其存储的物理地址之间建立某种对应关系(通常采用散列函数),又称散列文件关键问题,对应关系的冲突问题直接散列法,将记录键作为记录的存取地址文件的组织与数据存储文件的物理结构–索引文件系统为每个文件建立一张索引表,每个表目包含一个记录键(或逻辑记录号)及其对应的存储地址。索引可分为:稠密型索引、稀疏型索引文件目录项记录1记录2记录N……块块块地址关键字或逻辑记录号文件系统的其他功能文件卷的安装和使用–文件卷,又称文件子系统,存放文件和目录信息,也存放文件属性、空闲区域信息。通常,存储介质的物理单位为一个卷。(硬盘的一个分区为一个卷)–Windows/Dos系统中,不需用户显式地进行文件卷安装操作。–UNIX/Linux系统中,每个文件卷需要安装才能使用。文件系统可分为基本文件系统和可装卸地子文件系统两部分。(mount操作)文件系统的其他功能文件共享–文件共享是指不同用户(进程)间共同使用同一个文件。–文件共享还可以节省大量的外存空间,有效减少文件复制而增加的访问外存次数–UNIX系统中常见的共享文件方式:静态共享动态共享符号链接共享文件系统的其他功能辅存空间管理–辅存空间分配的常见分配方法:连续分配,文件被存放在辅存空间的连续存储区。非连续分配,–按块(扇区)为单位非连续分配–按簇为单位的非连续分配–文件存储空间管理方法:位示图空闲区表空闲块链成组空闲块链文件系统的其他功能虚拟文件系统–目标:同时支持多种文件系统系统中可安装多个文件系统为用户提供一致的接口提供网络共享文件支持可扩充新的文件系统–基本思路:对多个文件系统的共同特征进行抽象,形成一个与具体文件系统无关的虚拟层,并在此层上定义对用户的一致性接口。在文件系统具体实现层使用类似开关表技术进行文件系统的转接。