- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件类型
??? 在UNIX系统中, 文件分为三类: 即普通文件、目录文件和特殊文件.
??? 1.? 普通文件
也称正文文件,可以用来保存程序、数据等任何信息. 这是一种无结构的, 以512个字节为一块, 顺序存取的流式文件.
??? 2.? 目录文件
用于检索文件的文件. 目录文件可能是系统文件, 也可能是用户文件.
3. 特殊文件
即设备. 在UNIX系统中将设备也作为文件来处理, 对于设备的所有操作都需要经过文件系统,
这有如下两个优点:
(1) 设备与文件界面统一:使用设备与使用文件没有差别. 具体地说, 打开一个设备文件相当于申请该设备, 关闭一个设备文件相当于释放该设备, 读写设备文件相当于对设备进行I/O操作.
(2) 设备可采用与文件相同的保护机制:文件可以访问权限等手段加以保护, 设备作为文件处理也可如同文件一样得到保护. 如对于打印机设备可规定为只“写”型设备, 对其实行“读”操作将被视为非法而加以拒绝.
将设备作为特殊文件管理是UNIX系统的成功特点之一,并被后来其它一些操作系统所借鉴.
?
12.5.2? 文件体系
UNIX文件系统呈树形结构, 树的根结点为根目录root, 树的叶结点可以为普通文件、特殊文件、或者目录文件. 其它既非根结点也非叶结点的结点为目录文件. 如图 12-8 所示.
?
?
?
图中虚线代表链接(link),通过链接可以给一个文件赋予多个符号名(路径名),这是共享文件的一种方法.
?
12.5.3? 文件结构
??? 1.? 文件的逻辑结构
??? UNIX普通文件的逻辑结构为流式的. 在用户看来, 一个文件是一个字节序列. 文件的读写操作命令包含传输字节的个数.这种结构实现简单, 系统开销小.当然, 如果需要, 用户可以利用流式文件来构造记录式文件, 因为对于文件内容的解释权完全留给了用户.
??? 2.? 文件的物理结构
??? UNIX文件的物理结构为链接结构与索引结构的结合, 也可看成是多级索引结构.
其实现如图12-9所示.
?
??
?
12.5.4? 文件目录与连接
1.? 目录项
??? 相当于FCB次部,包括两个内容: 即文件名和inode编号, 不同的文件名可能对应同一个inode编号,? 这样便对应同一个FCB主部, 即一个文件可以有多个名字.
??? 2.? inode
??? 相当于FCB主部, 包括文件主、共享说明、地址信息等, 称为inode, inode与文件具有一对一的关系. 在UNIX文件系统中, 有一个固定的区域, 用于保存所有文件的inode. 如图 12-10 所示. 每个inode有一个唯一的编号,称为i_number.
?
?
?
将FCB分为两部分的目的之一是实现文件的连接,所谓连接实际是使多个目录项与同一个inode建立联系,从而可以通过不同的路径名查找到同一个文件,即使一个文件有多个符号名称. 例如对于图12-11(a)所示的目录树,经过连接后文件f增加了路径名/usr/Xu/d2/g,如图12-11(b)所示.二者具有相同的i_number(15),因而对应同一个inode.
?
?
12.5.5? 文件系统映射
文件打开时,控制信息被移入内存相关表目中,并通过文件描述符建立与文件内容之间的联系.
图 12-12给出了进程空间与u_ofile表、file表、inode表之间的连接关系,其中文件描述符4,6对应两个不同的文件,描述符10,2对应同一文件但不共享读写指针,描述符8,9对应同一文件且共享读写指针.
?
?
完整的file结构定义如下:
??? 5507? struct file
??? 5508? {
??? 5509??? char? f_flag;???? /* FREAD=01, FWRITE=02, FPIPE=04 */
??? 5510??? char? f_count;??? /* reference count */
??? 5511??? int?? f_inode;??? /* pointer to inode structure */
??? 5512??? char? *f_offset;? /* read/write character pointer */
??? 5513? }
?
12.5.6? 文件卷的安装
??? 用一个文件卷的根目录取代文件的一个普通文件. 这样一个文件卷可以动态地联结到文件系统中, 也可以动态地由文件系统中卸下. 文件卷的组织形式如图 12-13 所示. 其中块#0为引导块, 负责操作系统的装入; 块#1为特殊块, 记载磁盘块的分配状况; 由块#2到块#k+1为inode区域, 保存文件FCB主部, 其k值在文件卷初始化时确定; 由块#k+2到
您可能关注的文档
最近下载
- 基于PLC的全自动洗衣机控制系统设计毕业论文(设计).pdf
- 银行员工谈心谈话记录内容9篇.docx VIP
- 新改版教科版六年级下册科学知识点.doc VIP
- 教育应该VS不应该以考试成绩为唯一标准。辩论赛 反方辩词一辩、二辩、三辩、四辩发言稿.docx
- 国考第一季数资2019行测模考大赛解析.pdf VIP
- 清新静态模板062.ppt VIP
- 养老护理毕业论文.doc VIP
- 江苏省无锡市滨湖区2023-2024学年七年级下学期期中语文试题(解析版).pdf VIP
- COSMO说明书电子版.docx
- 毛泽东思想和中国特色社会主义理论体系概论知到智慧树期末考试答案题库2024年秋山东大学(威海).docx
文档评论(0)