1、11 文件系统接口文件系统接口2内容内容F文件概念文件概念F访问方法访问方法F目录结构目录结构F文件系统安装文件系统安装F文件共享文件共享F保护保护311.1文件概念文件概念F计算机将信息存储在几类非易失性介质计算机将信息存储在几类非易失性介质中,例如:中,例如:磁盘磁盘(硬盘、软盘硬盘、软盘)磁带磁带 光盘光盘 闪存(闪存(flash)F文件是操作系统从设备物理属性中抽象文件是操作系统从设备物理属性中抽象出来的逻辑存储单元。出来的逻辑存储单元。4文件文件F文件是存贮在某种介质上的(如磁盘、磁带等)文件是存贮在某种介质上的(如磁盘、磁带等)并具有文件名的一组有序信息的集合并具有文件名的一组有序
2、信息的集合F文件类型文件类型 数据数据u数字数字u字符字符u二进制文件二进制文件 程序程序u源代码源代码u目标代码目标代码u可执行程序可执行程序5文件文件F无结构无结构 字节字节(bytes)或者字或者字(words)序列序列F简单的记录结构简单的记录结构 行行 定长记录定长记录 变长记录变长记录F复杂结构复杂结构 格式化的文档格式化的文档 可重定位文件可重定位文件6F文件名文件名:唯一的以人们可以理解的方式保存的唯一的以人们可以理解的方式保存的信息信息F类型类型:被:被支持不同类型的文件系统所使用支持不同类型的文件系统所使用F位置位置:指向文件在设备上的存储位置的指针指向文件在设备上的存储位
3、置的指针F大小大小:当前文件的大小当前文件的大小F保护保护:控制对文件的读取,改写和执行的权限:控制对文件的读取,改写和执行的权限F时间时间,日期和用户身份日期和用户身份:保护和安全需要的数:保护和安全需要的数据据F文件的信息保存在磁盘上的目录结构中文件的信息保存在磁盘上的目录结构中11.1.1文件属性文件属性711.1.2文件操作文件操作F基本操作基本操作 创建创建(create):分配存储空间分配存储空间,在目录中创建条目在目录中创建条目 改写改写(write)读取读取(read)重定位文件文件搜索重定位文件文件搜索 删除删除(delete)截短截短(truncate):保留文件属性,但长
4、度变为保留文件属性,但长度变为0F其它操作其它操作 重命名重命名(rename)拷贝拷贝(copy)扩展扩展(append)8文件操作文件操作F很多操作系统要求在操作文件时调用打很多操作系统要求在操作文件时调用打开(开(open)和和关闭(关闭(close)系统调用系统调用 打开文件(打开文件(open):):在磁盘的目录结构里查在磁盘的目录结构里查找文件对应的表项,并将表项内容装入内存找文件对应的表项,并将表项内容装入内存u通常要求显式的打开文件通常要求显式的打开文件 关闭文件(关闭文件(close):):将将内存中的文件条目保内存中的文件条目保存到磁盘的目录结构中存到磁盘的目录结构中u文件
5、可以被显式的关闭,也可以在进程退出或者文件可以被显式的关闭,也可以在进程退出或者终止时隐式关闭终止时隐式关闭9打开文件表打开文件表F同一文件可以同时被多个用户名下的多个进程同一文件可以同时被多个用户名下的多个进程打开打开F每进程一个每进程一个独立的文件列表独立的文件列表,用于跟踪当前进,用于跟踪当前进程打开的所有文件程打开的所有文件 下一个读写的位置下一个读写的位置 指向系统公用文件列表某条表项的指针指向系统公用文件列表某条表项的指针F系统公用的文件列表系统公用的文件列表则包含了与进程无关的内则包含了与进程无关的内容,如:容,如:在在磁盘上存放的位置、访问时间、文件大小等磁盘上存放的位置、访问
6、时间、文件大小等 一个被打开的计数用于跟踪打开本文件的进程数一个被打开的计数用于跟踪打开本文件的进程数1011.1.3文件类型文件类型F文件名文件名.扩展名扩展名FDOS,Windows常见扩常见扩展名:展名:F.com.exeF.batF.asm.cF.objFUnix,Linux常见扩展名:常见扩展名:F.cF.oF.tar.gz FMacintosh常见扩展名:常见扩展名:Fstore creator1111.1.4文件结构文件结构F特定的文件必须遵守操作系统所能理解特定的文件必须遵守操作系统所能理解的特定结构的特定结构 如:可执行文件如:可执行文件,DLL动态链接库动态链接库1211.
7、1.5 内部文件结构内部文件结构F逻辑块逻辑块 Unix将所有文件定义为简单的字节流将所有文件定义为简单的字节流F物理块物理块 扇区扇区,通常为通常为512字节字节F包包 保存了许多逻辑块的多个物理块保存了许多逻辑块的多个物理块1311.2访问方法访问方法F顺序访问顺序访问F直接访问1411.2.1顺序访问顺序访问F文件中的信息被按记录的顺序依次访问。通常提供的文件中的信息被按记录的顺序依次访问。通常提供的操作包括:操作包括:Fread next(读下一记录)读下一记录)Fwrite next(写下一记录)写下一记录)Freset(跳到文件头跳到文件头)Fskip forward(向前跳过向前
8、跳过n个记录,快进)个记录,快进)Fskip backward(向后跳过向后跳过n个记录,快退)个记录,快退)1511.2.2直接访问直接访问F直接访问直接访问(相对访问相对访问)允许程序快速读或者写记允许程序快速读或者写记录,而不需要按照特定的顺序。通常提供的操录,而不需要按照特定的顺序。通常提供的操作包括:作包括:read n(读取第读取第n个记录)个记录)write n(写第写第n个记录)个记录)position to n(跳到第跳到第n个记录)个记录)read next(读取下一个记录)读取下一个记录)write next(写下一个记录)写下一个记录)rewrite n(重写第重写第n
9、个记录)个记录)n=信息存放的块号信息存放的块号16通过直接访问模拟顺序访问通过直接访问模拟顺序访问Fcp是指当前文件块是指当前文件块1711.2.3 其它访问方法其它访问方法其它访问方法也能够通过直接访问来实现其它访问方法也能够通过直接访问来实现1811.3目录结构目录结构F文件组织文件组织分区分区(迷你磁盘、卷迷你磁盘、卷)u可以小于、也可以大于物理磁盘驱动器可以小于、也可以大于物理磁盘驱动器u一个逻辑的、虚拟的磁盘一个逻辑的、虚拟的磁盘u不同的分区可以存放多个操作系统不同的分区可以存放多个操作系统目录目录u分区上所有文件的名字、位置、大小、类型等信分区上所有文件的名字、位置、大小、类型等
10、信息息19典型的文件系统组织典型的文件系统组织F左图:多个分区可共享一个磁盘左图:多个分区可共享一个磁盘F右图:一个分区可以跨多个磁盘右图:一个分区可以跨多个磁盘20目录目录F目录目录 是一个包含着所有文件信息的节点是一个包含着所有文件信息的节点的集合的集合F1F2F3F4Fn目录目录文件文件目录结构和文件都驻留在磁盘上,可通过磁带备份这两目录结构和文件都驻留在磁盘上,可通过磁带备份这两组结构组结构21设备目录中的信息设备目录中的信息F名称名称F类型类型F地址地址F当前长度当前长度F最大长度最大长度F最后访问时间最后访问时间F数据最后更新时间数据最后更新时间F所有者所有者IDF保护信息保护信息
11、22目录操作目录操作F查找文件查找文件F建立文件建立文件F删除文件删除文件F显示目录显示目录F重命名文件重命名文件F遍历文件系统遍历文件系统2311.3.1 单层目录单层目录F一个目录对应所有用户一个目录对应所有用户 命名问题命名问题 分组问题分组问题2411.3.2 双层目录双层目录F为为每个用户建立一个目录每个用户建立一个目录主文件目录主文件目录(master file directory,MFD)用户文件目录用户文件目录(user file directory,UFD)路径名路径名 不同用户的文件可以重名不同用户的文件可以重名 高效的查找高效的查找 无法分组无法分组(用户可能需要共享文件
12、用户可能需要共享文件)2511.3.3 树型目录树型目录26树型目录树型目录F高效的搜索高效的搜索F分组能力分组能力F当前目录当前目录(工作目录工作目录)cd/spell/mail/prog27树型目录树型目录F绝对路径绝对路径 从根路径开始从根路径开始F相对路径相对路径 从当前路径开始从当前路径开始F创建文件在当前目录下完成创建文件在当前目录下完成F删除文件删除文件rm F创建子目录在当前路径下完成创建子目录在当前路径下完成mkdir 例如例如:假如当前路径为假如当前路径为/mailmkdir countmailprogcopy prt exp count删除删除“mail”目录目录 表示删
13、除从表示删除从“mail”开始的所有子目录开始的所有子目录.2811.3.4 无环图结构目录无环图结构目录F共享子目录和文件共享子目录和文件29无环图结构目录无环图结构目录F文件可能拥有多个绝对路径名文件可能拥有多个绝对路径名 不同的文件名指向同一个文件不同的文件名指向同一个文件F问题问题 磁盘利用率计算磁盘利用率计算 备份备份 删除删除u指向不存在文件的悬挂指针指向不存在文件的悬挂指针,甚至可能存在磁盘甚至可能存在磁盘地址被重用地址被重用30Unix/Linux的的解决方案解决方案F硬链接硬链接(传统链接传统链接)一个文件只有在引用计数为一个文件只有在引用计数为0时才会被真正删除时才会被真正
14、删除 限制限制:仅仅限于文件,文件系统类型必须相同仅仅限于文件,文件系统类型必须相同F符号链接符号链接(软链接软链接)可以跨文件系统(卷)可以跨文件系统(卷)可以链接到一个目录可以链接到一个目录 Windows使用类似的方法使用类似的方法3111.3.5普通图结构目录3211.4 文件系统安装文件系统安装F一个文件系统必须首先安装(一个文件系统必须首先安装(mount),),然后才能够被访问然后才能够被访问 在在多个分区上创建目录结构多个分区上创建目录结构F未未安装的文件系统将在安装点被安装,安装的文件系统将在安装点被安装,安装点即目录结构存放的位置安装点即目录结构存放的位置F例如例如 mou
15、nt/dev/hda5/mnt/diskD umount/dev/hda5 umount/mnt/diskD33例子例子(Linux)existingunmounted partitionFmount/dev/usersF在文件系统被取消安装之前,安装点之前的内容变得在文件系统被取消安装之前,安装点之前的内容变得不可见不可见F一个文件系统仅能被安装一次一个文件系统仅能被安装一次mount point3411.5 文件共享文件共享F多用户系统中需要实现文件共享多用户系统中需要实现文件共享F共享可以通过共享可以通过保护策略保护策略来完成来完成3511.5.1 多用户多用户F访问控制和保护访问控制和
16、保护所有者所有者:可改变属性、赋予访问权限、拥有:可改变属性、赋予访问权限、拥有文件和目录的最高控制权文件和目录的最高控制权组组,系统用户的一个子集,可共享文件访问系统用户的一个子集,可共享文件访问权限权限F用户标识用户标识(uid)和和组标识组标识(gid)与与用户进用户进程或者线程关联程或者线程关联 一个用户可以在多个组内,这取决于操作系一个用户可以在多个组内,这取决于操作系统统36多用户多用户F用户用户ID(UID)和组和组ID(GID)和其它和其它文件或者目录信息存放在一起文件或者目录信息存放在一起F当当某个进程试图访问文件或目录时,将某个进程试图访问文件或目录时,将进程里的用户信息和
17、文件或目录的属性进程里的用户信息和文件或目录的属性进行比较,以决定该访问是否合法。进行比较,以决定该访问是否合法。3711.5.2 远程文件系统远程文件系统F在在网络上的文件系统,远程文件和目录网络上的文件系统,远程文件和目录在本地机器上可见在本地机器上可见 远程文件系统(远程文件系统(remote file system,RFS)分布式文件系统(分布式文件系统(distributed file system,DFS)网络文件系统(网络文件系统(network file system,NFS)3811.5.3 一致性语义一致性语义F一个用户对数据的修改是否可以、何时一个用户对数据的修改是否可以
18、、何时可以被其它用户观察到可以被其它用户观察到3911.5.4 Uni语义语义F一个用户对打开文件的修改可以立即被一个用户对打开文件的修改可以立即被其它用户看到其它用户看到F有一种共享模式允许用户共享文件访问有一种共享模式允许用户共享文件访问指针的当前位置指针的当前位置 如果一个用户移动了指针,将影响所有共享如果一个用户移动了指针,将影响所有共享用户用户4011.6 保护保护F文件所有者文件所有者/创建者应当能够控制创建者应当能够控制:可以对文件做什么(读、写可以对文件做什么(读、写)哪些人拥有权限哪些人拥有权限F访问的类型访问的类型 读读read 写写write 执行执行execute 扩展
19、扩展append 删除删除delete 显示列表显示列表list41访问列表和组访问列表和组F访问模式访问模式:read,write,executeF三类用户三类用户RWXa)owner access 71 1 1RWXb)group access 6 1 1 0RWXc)public access1 0 0 1F管理员创建一个拥有唯一名字的组,组名为管理员创建一个拥有唯一名字的组,组名为G,并将并将一些一些用户加入组内用户加入组内F对一个特定文件或者目录(假定名称为对一个特定文件或者目录(假定名称为game),定义恰当的定义恰当的访问模式访问模式owner group publicchmod
20、761 game4211.7 小结小结F文件是存贮在某种介质上的(如磁盘、磁带等)文件是存贮在某种介质上的(如磁盘、磁带等)并具有文件名的一组有序信息的集合并具有文件名的一组有序信息的集合F文件是逻辑记录组成的序列文件是逻辑记录组成的序列 一个逻辑记录可能是字节、行、定长或者变长结构一个逻辑记录可能是字节、行、定长或者变长结构等等 操作系统可以支持多种记录类型,或者由应用程序操作系统可以支持多种记录类型,或者由应用程序来支持来支持F基本文件操作基本文件操作:read,write.43小结小结F目录目录用于组织文件用于组织文件 单层单层 两层:允许多用户两层:允许多用户 树结构树结构 无环图无环
21、图u硬链接硬链接,符号链接符号链接F目录记录了文件的信息目录记录了文件的信息 文件名、磁盘上的位置、长度、类型、所有文件名、磁盘上的位置、长度、类型、所有者、创建时间、上次使用时间、访问控制列者、创建时间、上次使用时间、访问控制列表等表等44小结小结F一个磁盘可被分成多个分区,一个分区一个磁盘可被分成多个分区,一个分区(卷)可跨多个磁盘(卷)可跨多个磁盘F一个卷一个卷(文件系统文件系统)在使用前必须安装,在使用前必须安装,取消安装后则不可访问取消安装后则不可访问45小结小结F文件共享依赖于操作系统提供的语义文件共享依赖于操作系统提供的语义F访问控制、保护访问控制、保护 文件属性文件属性:所有者所有者(创建者创建者),组组 用户标识、组标识用户标识、组标识:uid,gid 访问的类型访问的类型:read,write,execute,append,delete,list.
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。