操作系统之文件系统1_第1页
操作系统之文件系统1_第2页
操作系统之文件系统1_第3页
操作系统之文件系统1_第4页
操作系统之文件系统1_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、10.2Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n对大多数用户而言,文件系统是操作系统中最为可见的部分l操作系统和所有用户的程序与数据的存储n文件系统的两大组成部分l一组文件l目录结构10.3Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n用户眼中的文件系统是什么样子的呢?l需要取某个文件file1lFile1在文件夹F中,我翻开文件夹,打

2、开之文件10.4Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n文件系统描述如下文件Users View用户视角用户视角OS Implementation操作系统内部实现操作系统内部实现文件访问接口:openclosereadwrite10.5Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n文件概念文件概念n访问方法访问方法n目录结构目录结构n文

3、件系统安装文件系统安装n文件共享文件共享n保护保护10.6Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n计算机将信息存储在几类计算机将信息存储在几类非易失性介质非易失性介质中,例如:中,例如:l磁盘磁盘 (硬盘、软盘硬盘、软盘)l磁带磁带l光盘光盘l闪存(闪存(flash)n文件是操作系统从设备物理属性中抽象出来的逻辑存储单元。文件是操作系统从设备物理属性中抽象出来的逻辑存储单元。10.7Silberschatz, Galvin and Gagne 2005Opera

4、ting System Concepts 7th Edition, Feb 22, 2005n文件是存贮在某种介质上的(如磁盘、磁带等)并具有文件名的一组有序信息的文件是存贮在某种介质上的(如磁盘、磁带等)并具有文件名的一组有序信息的集合集合n文件类型文件类型l数据数据4数字数字4字符字符4二进制文件二进制文件l程序程序4源代码源代码4目标代码目标代码4可执行程序可执行程序10.8Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n无结构无结构 字节字节(bytes)或者字

5、或者字(words)序列序列n简单的记录结构简单的记录结构l行行l定长记录定长记录l变长记录变长记录n复杂结构复杂结构l格式化的文档格式化的文档l可重定位文件可重定位文件10.9Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n文件名文件名:唯一的以人们可以理解的方式保存的信息唯一的以人们可以理解的方式保存的信息n类型类型:被:被支持不同类型的文件系统所使用支持不同类型的文件系统所使用n位置位置:指向文件在设备上的存储位置的指针指向文件在设备上的存储位置的指针n大小大小:

6、当前文件的大小当前文件的大小n保护:保护:控制对文件的读取,改写和执行的权限控制对文件的读取,改写和执行的权限n时间,日期和用户身份时间,日期和用户身份:保护和安全需要的数据:保护和安全需要的数据n文件的信息保存在磁盘上的目录结构中文件的信息保存在磁盘上的目录结构中10.10Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n基本操作基本操作l创建创建(create):分配存储空间分配存储空间,在目录中创建条目在目录中创建条目l改写改写(write)l读取读取(read)l

7、文件内的重定位文件搜索文件内的重定位文件搜索l删除删除(delete)l截短截短(truncate): 保留文件属性,但长度变为保留文件属性,但长度变为0n其它操作其它操作l重命名重命名(rename)l拷贝拷贝(copy)l扩展扩展(append)10.11Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n多数操作系统要求在操作文件时调用多数操作系统要求在操作文件时调用打开(打开(open)和和关闭(关闭(close)系系统调用统调用l打开文件(打开文件(open):)

8、:在磁盘的目录结构里查找文件对应的表项,并在磁盘的目录结构里查找文件对应的表项,并将表项内容装入内存将表项内容装入内存4通常要求显式的打开文件通常要求显式的打开文件l关闭文件(关闭文件(close):):将将内存中的文件条目内存中的文件条目保存到保存到磁盘的目录结构磁盘的目录结构中中4文件可以被显式的关闭,也可以在进程退出或者终止时隐式关闭文件可以被显式的关闭,也可以在进程退出或者终止时隐式关闭10.12Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n同一文件可以同时被

9、多个用户名下的多个进程打开同一文件可以同时被多个用户名下的多个进程打开n每进程一个每进程一个独立的文件列表独立的文件列表,用于跟踪当前进程打开的所有文件,用于跟踪当前进程打开的所有文件,一个表项表示一个已经被该进程打开的文件,表项内容包括,一个表项表示一个已经被该进程打开的文件,表项内容包括l下一个读写的位置下一个读写的位置l指向系统公用文件列表某条表项的指针指向系统公用文件列表某条表项的指针n系统公用的文件列表系统公用的文件列表则包含了与进程无关的内容,如:则包含了与进程无关的内容,如:l在在磁盘上存放的位置、访问时间、文件大小等磁盘上存放的位置、访问时间、文件大小等l一个被打开的计数用于跟

10、踪打开本文件的进程数一个被打开的计数用于跟踪打开本文件的进程数10.13Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005F文件名文件名.扩展名扩展名FDOS, Windows常见扩常见扩展名:展名:F.com .exeF.batF.asm .cF.objFUnix, Linux常见扩展名:常见扩展名:F.cF.oF.tar .gz FMacintosh常见扩展名:常见扩展名:Fstore creator10.14Silberschatz, Galvin and Gagne

11、 2005Operating System Concepts 7th Edition, Feb 22, 2005n特定的文件必须遵守操作系统所能理解的特定结构特定的文件必须遵守操作系统所能理解的特定结构l如:可执行文件如:可执行文件, DLL动态链接库动态链接库l对用户而言,可执行程序、库文件都是二进制对用户而言,可执行程序、库文件都是二进制形式的数据,但是对于操作系统而言,这些二形式的数据,但是对于操作系统而言,这些二进制文件内的数据必须具有一定的结构,符合进制文件内的数据必须具有一定的结构,符合良好的格式要求良好的格式要求10.15Silberschatz, Galvin and Gagn

12、e 2005Operating System Concepts 7th Edition, Feb 22, 2005n逻辑块逻辑块lUnix将所有文件定义为简单的字节流,逻辑块大小为将所有文件定义为简单的字节流,逻辑块大小为1l逻辑块也有可能是不定长的逻辑块也有可能是不定长的n物理块物理块l扇区扇区, 通常为通常为512字节字节n将文件的内容存到磁盘上,需要将文件的内容存到磁盘上,需要打包打包n包包 保存了许多逻辑块的多个物理块保存了许多逻辑块的多个物理块10.16Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th E

13、dition, Feb 22, 2005n顺序访问顺序访问n直接访问10.17Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n文件中的信息被按记录的顺序依次访问。文件中的信息被按记录的顺序依次访问。n顺序访问方式顺序访问方式基于文件的磁带模型基于文件的磁带模型10.18Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n通常提供的操作包括:通常提供的

14、操作包括:Fread next(读下一记录)读下一记录)Fwrite next(写下一记录)写下一记录)Freset (跳到文件头跳到文件头)Fskip forward(向前跳过向前跳过n个记录,快进)个记录,快进)Fskip backward(向后跳过向后跳过n个记录,快退)个记录,快退)10.19Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n直接访问直接访问(又称又称相对访问相对访问) l允许程序快速读或者写记录,而不需要按照特定的顺序。允许程序快速读或者写记录,

15、而不需要按照特定的顺序。l基于文件的磁盘模型基于文件的磁盘模型4磁盘允许任意的物理块进行读或写磁盘允许任意的物理块进行读或写n通常提供的操作包括:通常提供的操作包括:lread n(读取第读取第n个记录)个记录)lwrite n(写第写第n个记录)个记录)lposition to n(跳到第跳到第n个记录)个记录)lread next(读取下一个记录)读取下一个记录)lwrite next (写下一个记录)写下一个记录)lrewrite n(重写第重写第n个记录)个记录)n = 信息存放的块号信息存放的块号10.20Silberschatz, Galvin and Gagne 2005Oper

16、ating System Concepts 7th Edition, Feb 22, 2005Fcp是指当前位置是指当前位置10.21Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005也可基于直接访问方式建立其他的访问方式,也可基于直接访问方式建立其他的访问方式,例如,基于索引的方式可以按如下方式做:例如,基于索引的方式可以按如下方式做: 创建文件索引创建文件索引 搜索索引搜索索引 按照索引得到的指针直接访问文件,得到记录按照索引得到的指针直接访问文件,得到记录 10.22

17、Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005基于商品统一编码(基于商品统一编码(Universal Product Code, UPC)的)的商品价格文件索引商品价格文件索引一个逻辑块16字节: 每个商品有10位的UPC和6位的价格一个磁盘块(物理块)1024字节: 可以打包64个逻辑块假设价格文件占了2000个磁盘块,那么要建立大小为2000的索引,其中每个索引项是10位的UPC这个索引表可以放在内存中10.23Silberschatz, Galvin and Ga

18、gne 2005Operating System Concepts 7th Edition, Feb 22, 2005利用索引文件利用索引文件+相关文件建立的二级索引相关文件建立的二级索引(在索引文件也比较大的时候使用在索引文件也比较大的时候使用)10.24Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n文件组织文件组织l分区分区 (迷你磁盘、卷迷你磁盘、卷)4可以小于、也可以大于物理磁盘驱动器可以小于、也可以大于物理磁盘驱动器4一个逻辑的、虚拟的磁盘一个逻辑的、虚拟的

19、磁盘4不同的分区可以存放不同的操作系统不同的分区可以存放不同的操作系统l目录目录4目录里记录的是分区上所有文件的名字、位置、大小目录里记录的是分区上所有文件的名字、位置、大小、类型等信息、类型等信息10.25Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n左图:多个分区可共享一个磁盘左图:多个分区可共享一个磁盘n右图:一个分区可以跨多个磁盘右图:一个分区可以跨多个磁盘10.26Silberschatz, Galvin and Gagne 2005Operating Sy

20、stem Concepts 7th Edition, Feb 22, 2005n目录目录 是一个包含着所有文件信息的节点的集合是一个包含着所有文件信息的节点的集合F1F2F3F4Fn目录目录文件文件目录结构和文件都驻留在磁盘上目录结构和文件都驻留在磁盘上10.27Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n查找文件查找文件n建立文件建立文件n删除文件删除文件n显示目录显示目录n重命名文件重命名文件n遍历文件系统遍历文件系统10.28Silberschatz, Gal

21、vin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n一个目录对应所有用户一个目录对应所有用户 命名问题命名问题不允许有同名的文件不允许有同名的文件 分组问题分组问题10.29Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n为为每个用户建立一个目录每个用户建立一个目录l主文件目录主文件目录 (master file directory,MFD)l用户文件目录用户文件目录 (user f

22、ile directory,UFD) 路径名路径名 不同用户的文件可以重名不同用户的文件可以重名 高效的查找高效的查找 无法分组无法分组 (用户可能需要共享文件用户可能需要共享文件)10.30Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 200510.31Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n高效的搜索高效的搜索n分组能力分组能力n当前目录当前

23、目录(工作目录工作目录)lcd /spell/mail/prog10.32Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n绝对路径绝对路径 从根路径开始从根路径开始n相对路径相对路径 从当前路径开始从当前路径开始n创建文件在当前目录下完成创建文件在当前目录下完成n删除文件删除文件rm n创建子目录在当前路径下完成创建子目录在当前路径下完成mkdir 例如例如: 假如当前路径为假如当前路径为 /mailmkdir countmailprogcopy prt exp cou

24、nt删除删除“mail”目录目录 表示删除从表示删除从“mail”开始的所有子目录开始的所有子目录.10.33Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n共享子目录和文件共享子目录和文件10.34Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n文件可能拥有多个绝对路径名文件可能拥有多个绝对路径名l不同的文件名指向同一个文件不同的文件名指向同一

25、个文件n问题问题l磁盘利用率计算磁盘利用率计算l备份备份l删除删除4指向不存在文件的悬挂指针指向不存在文件的悬挂指针, 甚至可能存在磁盘地址被重用甚至可能存在磁盘地址被重用10.35Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n硬链接硬链接 (传统链接传统链接)l一个文件只有在引用计数为一个文件只有在引用计数为0时才会被真正删除时才会被真正删除l限制限制: 仅仅限于文件,文件系统类型必须相同仅仅限于文件,文件系统类型必须相同n符号链接符号链接 (软链接软链接)l可以跨

26、文件系统(卷)可以跨文件系统(卷)l可以链接到一个目录可以链接到一个目录lWindows使用类似的方法使用类似的方法10.36Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 200510.37Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n一个文件系统必须首先安装(一个文件系统必须首先安装(mount),),然后才能够被访问然后才能够被访问l在在多个分区上

27、创建目录结构多个分区上创建目录结构n未未安装的文件系统将在安装点被安装,安装点即目录结构存放的位置安装的文件系统将在安装点被安装,安装点即目录结构存放的位置n例如例如lmount /dev/hda5 /mnt/diskDlumount /dev/hda5lumount /mnt/diskD10.38Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005existingunmounted partitionFmount /dev/ /usersF在文件系统被取消安装之前,安装点之

28、前的内容变得在文件系统被取消安装之前,安装点之前的内容变得不可见不可见F一个文件系统仅能被安装一次一个文件系统仅能被安装一次mount point10.39Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n多用户系统中需要实现文件共享多用户系统中需要实现文件共享n共享可以通过共享可以通过保护策略保护策略来完成来完成10.40Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, F

29、eb 22, 2005n访问控制和保护访问控制和保护l所有者所有者:可改变属性、赋予访问权限、拥有文件和目录的最高控制:可改变属性、赋予访问权限、拥有文件和目录的最高控制权权l组组, 系统用户的一个子集,可共享文件访问权限系统用户的一个子集,可共享文件访问权限n用户标识用户标识 (uid) 和和组标识组标识 (gid) 与与用户进程或者线程关联用户进程或者线程关联l一个用户可以在多个组内,这取决于操作系统一个用户可以在多个组内,这取决于操作系统10.41Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Editio

30、n, Feb 22, 2005n用户用户ID(UID)和组和组ID(GID)和其它文件或者目录信息存放在一起和其它文件或者目录信息存放在一起n当当某个进程试图访问文件或目录时,将进程里的用户信息和文件或某个进程试图访问文件或目录时,将进程里的用户信息和文件或目录的属性进行比较,以决定该访问是否合法。目录的属性进行比较,以决定该访问是否合法。10.42Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n在在网络上的文件系统,远程文件和目录在本地机器上可见网络上的文件系统,远程

31、文件和目录在本地机器上可见l远程文件系统(远程文件系统(remote file system,RFS)l分布式文件系统(分布式文件系统(distributed file system ,DFS)l网络文件系统(网络文件系统(network file system,NFS)10.43Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n一个用户对数据的修改是否可以、何时可以被其它用户观察到一个用户对数据的修改是否可以、何时可以被其它用户观察到10.44Silberschatz,

32、 Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n一个用户对打开文件的修改可以立即被其它用户看到一个用户对打开文件的修改可以立即被其它用户看到n有一种共享模式允许用户共享文件访问指针的当前位置有一种共享模式允许用户共享文件访问指针的当前位置l如果一个用户移动了指针,将影响所有共享用户如果一个用户移动了指针,将影响所有共享用户10.45Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2

33、005n文件所有者文件所有者/创建者应当能够控制创建者应当能够控制:l可以对文件做什么(读、写可以对文件做什么(读、写)l哪些人拥有权限哪些人拥有权限n访问的类型访问的类型l读读readl写写writel执行执行executel扩展扩展appendl删除删除deletel显示列表显示列表list10.46Silberschatz, Galvin and Gagne 2005Operating System Concepts 7th Edition, Feb 22, 2005n访问模式访问模式: read, write, executen三类用户三类用户RWXa) owner access 71 1 1RWXb) group access 6 1 1 0RWXc) public access1 0 0 1n管理员创建一个拥有唯一名字的组,组名为管理员创建一个拥有唯一名字的组,组名为G,并将并将一些一些用户加入组内用户加入组内n对一个特定文件或者目录(假定名称为对一个特定文件或者目录(假定名称为game), 定义恰当定义恰当的访问模式的访问模式owner group publicchmod761 game10.47Silberschat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论