网站大量收购独家精品文档,联系QQ:2885784924

第6章文件管理系统重点.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
该系统调用与link配合使用, 可用来改换某文件的文件名。 如果要把文件name1再命名为name2, 则使用 link(“name1”, “name2”)  如果要将一个名为name1的文件改为name2, 则可按下列顺序使用系统调用: link(“name1”, “name2”) unlink(“name1”) 5.7.2 文件的打开和关闭 一个新文件被创建后,有关进程就可以用它的打开标识数fd进行存取。 而对于一个已经存在的文件,则必须先用系统调用open将其打开, 然后才能进行读写操作。系统调用open的使用形式是 fd=open(name, mode) 其中,name是文件名字符串;mode是打开后对该文件进行操 作的工作方式。mode规定如下:  0; 打开后可进行读操作 1; 打开后可进行写操作 2; 打开后可进行读、 写操作 mode= 一个文件在打开之后,如果当前不再使用,则可调用系统调用close将其关闭,以切断它与用户程序的联系。 一个进程终止, 系统将其所有打开的文件全部关闭。 系统调用close的使用方式是:close (fd)  fd是欲关闭的打开文件标识数。 在文件系统中设置打开关闭结构的好处是:第一,它们建立或切断了用户程序和该文件的联系;第二,对文件的存取权限作了进一步的限制,有利于文件保护;第三,读、写文件时不再使用文件名,而只使用打开文件号, 因为文件名可能很长。 5.7.3 文件的读写 在UNIX操作系统控制下运行的所有程序, 在需要对文件进行读写时, 都要使用读写文件的系统调用read和write。它的格式是: n=read(fd, buf, nbytes) n=write(fd, buf, nbytes) 文件读、写系统调用read: write是顺序进行的,即后一次读、写的起始位置总是跟着前一次读、写的结尾处。例如,打开文件后, 第一次读 512 字节(0~511),第二次读时就从 512 字节开始。如果希望进行直接(随机)读、写,则可用系统调用seek调整读、写位置。其格式是: seek (fd, offset, ptrname) 7.3 文件目录结构 7.3.1 简单的文件目录 表 5 - 2 简单的文件目录 文件名 记录长 记录数 起始块号 其它 ALPHA 500 5 25 BETA 400 10 30 TEST 400 7 40 ASS 300 8 47 简单的文件目录是在系统中建立一张线性表,每一文件在表中占用一个表目(称为文件说明),该表称为文件目录。 1. 文件说明及其所含信息 1) 有关文件结构的信息 (1) 文件的逻辑结构:记录是否为定长, 记录长度,记录个数; (2) 文件的物理结构: 如果是连续文件或串联文件,要指出该文件的第一个物理块号; 如果文件是索引文件,则应给出索引表所在的块号, 或者把索引表包括在目录项中。 2) 有关存取控制信息 (1) 文件主本人所具有的存取权限(读写和执行); (2) 文件主同组用户的存取权限; (3) 其它用户的存取权限。 3) 有关管理方面的信息 (1) 文件建立的日期和时间; (2) 上次存取的日期和时间; (3) 文件要求保留时间。 当存取文件时,用户只要给出文件名,系统通过查找这个目录表,找到文件名相对应的项就可获得该文件的属性信息。 在通过访问权限验证后,就可以根据目录项中提供的文件物理地址对文件实施存取操作。 在建立文件时,只要在目录表中申请一个空闲项,并填入文件名及其相关属性信息即可。 同样,在删除文件时,只要把相应的目录项标记为空闲项,并回收空间即可。 2. 简单目录结构的缺陷 (1) 存在“重名”问题。在简单的文件目录结构中, 文件名和文件实体之间存在着一一对应关系,即它不允许两个文件具有相同的名字。在多道程序系统中,尤其是多用户的分时系统中, 重名是很难避免的,这就很难准确地找到用户所需要的文件。 显然,如果由人工来管理文件名注册, 以避免命名冲突, 则是很麻烦的。 (2) 当系统文件数量过多时,目录项数就会很大,查找起来就要花费较长的时间。解决上述问题的方法是建立二级或多级目录。 7.3.2 二级目录 由系统中的各个用户(或用户组)建立各自的名空间,这些名空间构成了用户文件目录表(UFD)。 管理这些用户目录表的总文件

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档