1 / 160

Windows 文件管理

Windows 文件管理. Instructor: Hengming Zou, Ph.D. In Pursuit of Absolute Simplicity 求于至简,归于永恒. 内容提要. 第 1 讲 文件概念与实现 第 2 讲 目录与文件系统. 第 1 讲 文件概念与实现. 文件 文件实现. 文件. 1.1 文件概念 1.2 文件命名 1.3 文件属性 1.4 文件分类 1.5 文件存取 1.6 文件结构. 1.1 文件概念. 一个抽象机制: 一组带标识的在逻辑上有完整意义的信息项的序列,这个标识为文件名 两种观点看待文件 用户观点

Télécharger la présentation

Windows 文件管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows文件管理 Instructor: Hengming Zou, Ph.D. In Pursuit of Absolute Simplicity求于至简,归于永恒

  2. 内容提要 • 第1讲 文件概念与实现 • 第2讲 目录与文件系统

  3. 第1讲 文件概念与实现 • 文件 • 文件实现

  4. 文件 • 1.1 文件概念 • 1.2 文件命名 • 1.3 文件属性 • 1.4 文件分类 • 1.5 文件存取 • 1.6 文件结构

  5. 1.1 文件概念 • 一个抽象机制:一组带标识的在逻辑上有完整意义的信息项的序列,这个标识为文件名 • 两种观点看待文件 • 用户观点 • 操作系统观点

  6. 1.2 文件命名 • 给出文件命名规则: • 长度,数字和特殊字符,大小写区分,支持文件扩展名(一个或多个) • 例子:.bak .c .f77 .gif .hlp .html .mpg .o .ps .tex .txt .zip

  7. 1.3 文件属性 • 包括两部分内容 • 文件数据 • 文件属性 • 常用的数种文件属性

  8. 1.4 文件分类 • 按文件性质和用途分类 • 按信息保存期限分类 • 按文件的保护方式分类 • 按文件的逻辑结构分类 • 按文件的物理结构分类

  9. UNIX系统文件分类 • 普通文件(regular) • 目录文件(directory) • 特殊文件(special file)

  10. 1.5 文件存取 • 顺序存取 • 随机访问(直接访问) • 索引访问(按键访问)

  11. 文件创建 • create(文件名,访问权限,(,最大长度)) • ①检查参数的合法性 • 文件名是否符合命名规则:是→②,否则→错误返回 • ②检查同一目录下有无重名文件:无→③,有→错误返回 • ③在目录中有无空闲位置:有→②,否则→不成功返回 • 有的系统可能要为此文件申请数据块空间 • ④填写目录项内容: • 文件名,用户名等,存取权限,长度置零,(,首址) • ⑤返回

  12. 文件打开 • 使用文件的第一步,任何一个文件使用前都要先打开,即把FCB送到内存 • fd=open(文件路径名,打开方式)

  13. 文件打开的步骤 • ①根据文件路径名查目录,找到FCB主部; • ②根据打开方式、共享说明和用户身份检查访问合法性 • ③根据文件号查系统打开文件表,看文件是否已被打开 • 是→共享计数加1 • 否则→将外存中的FCB主部等信息填入系统打开文件表空表项,共享计数置为1 • ④在用户打开文件表中取一空表项,填写打开方式等,并指向系统打开文件表对应表项 • 返回信息:fd文件描述符,是非负整数,用于以后读写文件

  14. 文件读 • read(文件名,(文件内位置),要读的长度,内存地址) • 隐含参数:进程主 • ① 检查长度是否为正整数 • 是→②,否则→⑩ • ② 根据文件名查找目录,确定该文件在目录中的位置 • ③根据隐含参数中的进程主和目录中该文件的存储权限数据,检查是否有权读? • 是→④,否则→⑩

  15. 文件读 • ④由文件内位置与要读的长度计算最末位置,将其与目录中的文件长度比较,超过否? • 是→⑩,否则→⑤ • 也可将参数中的长度修正为目录中的文件长度 • ⑤根据参数中的位置、长度和目录中的映射信息,确定块号、块数、块内位移与长度。(多次读盘) • ⑥根据下一块号读块至内存缓冲区 • ⑦根据块内位移长度取出要读的内容,送至参数中的内存目的地址

  16. 文件读 • ⑧根据块内长度或起始块号+块数,确定还读下一块吗?同时确定下一块块号 • 是→⑤,否则→⑨ • ⑨正常返回 • ⑩错误返回,返回相应错误号

  17. 文件读写定位 • ①由fd查用户打开文件表,找到对应的入口; • ②将用户打开文件表中文件读写指针位置设为新指针的位置,供后继读写命令存取该指针处文件内容

  18. 其它文件操作 • 文件关闭 • 文件写 • 文件删除 • 文件截断

  19. 1.7 文件结构 • 分为逻辑结构和物理结构 • 逻辑结构是从用户角度看文件,研究文件的组织形式 • 物理结构是从系统的角度来看文件,从文件在物理介质上的存放方式来研究文件

  20. 2. 文件实现 • 主要考虑如何在外部存储介质上为创建文件而分配空间,为删除文件而回收空间,以及对空闲空间进行管理 主要考虑: • 空间分配策略 • 空闲空间管理

  21. 2.1 空间分配策略 (1)连续空间分配(顺序) 文件的信息存放在若干连续的物理块中 优点: 简单 支持顺序存取和随机存取 顺序存取速度快 所需的磁盘寻道次数和寻道时间最少

  22. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 文件目录 count 文件名 始址 块数 f count 0 2 tr 14 3 mail 19 6 list 28 4 f 6 2 tr mail list

  23. 缺点: • 文件不能动态增长 预留空间:浪费 重新分配和移动 • 不利于文件插入和删除 • 外部碎片问题-存储压缩技术

  24. (2)链接结构 • 一个文件的信息存放在若干不连续的物理块中,各块之间通过指针连接,前一个物理块指向下一个物理块 • 优点:提高了磁盘空间利用率,不存在外部碎片问题 • 有利于文件插入和删除 • 有利于文件动态扩充

  25. 文件目录 文件名 始址 末址 jeep 9 25 0 1 10 2 3 4 5 6 7 8 9 16 10 25 11 12 13 14 15 16 1 17 18 19 20 21 22 23 24 25 -1 26 27 28 29 30 31

  26. 缺点:存取速度慢,不适于随机存取 可靠性问题,如指针出错 更多的寻道次数和寻道时间 链接指针占用一定的空间 • 链接结构的一个变形: 文件分配表FAT

  27. (3)索引结构 一个文件的信息存放在若干不连续物理块中,系统为每个文件建立一个专用数据结构--索引表,并将这些块的块号存放在一个索引表中 一个索引表就是磁盘块地址数组,其中第i个条目指向文件的第i块

  28. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 文件目录 文件名 索引表地址 Jeep 19 9 16 1 10 25 -1 -1 -1 19

  29. 优点: 保持了链接结构的优点,又解决了其缺点: • 即能顺序存取,又能随机存取 • 满足了文件动态增长、插入删除的要求 • 能充分利用外存空间

  30. 缺点:较多的寻道次数和寻道时间 索引表本身带来了系统开销 如:内外存空间,存取时间

  31. 索引表组织 • 链接模式 • 多级索引 • 综合模式

  32. UNIX文件系统采用的是多级索引结构(综合模式) • UNIX中采用了三级索引结构后,文件最大可达16兆个物理块

  33. 2.2 空闲空间管理 (1)空闲块表 将所有空闲块记录在一个表中,即空闲块表,有两项 (2)空闲块链表 把所有空闲块链成一个链 扩展:成组链接法

  34. 第一组各块块号与总块数 文件存储设备 最后组 第三组 第二组 第一组 最后组的块号与总块数 50块 50块 49块 第二组各块块号与总块数 倒数第二组各块块号与总块数 文件资源表

  35. 分配和回收的算法 1.分配一个空闲块 查L单元内容(空闲块数): 当空闲块数>1 i : =L+空闲块数; 从i单元得到一空闲块号; 把该块分配给申请者; 空闲块数减1。 当空闲块数=1 取出L+1单元内容(一组的第一块块号或0); 其值=0 无空闲块,申请者等待 不等于零 把该块内容复制到专用块; 该块分配给申请者; 把专用块内容读到主存L开始的区域。

  36. 分配和回收的算法(续) 2.归还一块 查L单元的空闲块数; 当空闲块数<100 空闲块数加1; j : =L+空闲块数; 归还块号填入j单元。 当空闲块数=100 把主存中登记的信息写入归还块中; 把归还块号填入L+1单元; 将L单元置成1。

  37. (3)位图法 • 用一串二进制位反映磁盘空间中分配使用情况, 每个物理块对应一位, 分配物理块为1,否则为0 • 申请物理块时,可以在位示图中查找为0的位,返回对应物理块号; • 归还时;将对应位转置0 • 描述能力强,适合各种物理结构

  38. 计算公式: 已知字号i,位号j 块号=i×字长+j 已知块号: 字号=[ 块号/字长] 位号=块号 mod 字长

  39. 已知块号,则磁盘地址: 柱面号=[块号/(磁头数×扇区数)] 磁头号=[(块号mod (磁头数×扇区数))/扇 区数] 扇区号=(块号mod (磁头数×扇区数))mod 扇区数 • 已知磁盘地址: 块号=柱面号×(磁头数×扇区数)+磁头号×扇区数+扇区号

  40. 小测验 • 文件属性包含哪两个部分的内容? A. 文件数据 B. 文件本身的说明信息 C. 文件类型 D. 文件长度 • 下列哪一类不属于按文件的物理结构分类? A. 顺序(连续)文件 B. 链接文件 C. 索引文件 D. 记录文件 • 磁带所采取的存取方式是 A. 顺序 B. 随机 • Unix 采用的是 A. 一级索引结构 B. 二级索引结构 C.多级索引结构

  41. 习题 • 从用户观点和操作系统观点看文件各有什么特点? • 按物理结构文件可以如何分类,按文件的逻辑结构如何分类? • 请列举常用的空间分配策略及其优缺点。

  42. 第2讲 目录与文件系统 • 目录的概念与实现 • 文件系统

  43. 1. 目录概念与实现 • 目录 • 目录概念 • 目录功能 • 目录结构 • 目录操作 • 目录实现

  44. 1.1目录概念 • 文件控制块FCB • 文件控制块是文件存在的标志 • 文件控制块的主要内容 • 文件目录 • 目录项 • 目录文件

  45. 文件控制块(FCB):文件控制块是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息(文件属性)文件控制块(FCB):文件控制块是操作系统为管理文件而设置的数据结构,存放了为管理文件所需的所有有关信息(文件属性) 文件控制块是文件存在的标志

  46. 文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合 • 目录项:构成文件目录的项目(目录项就是FCB) • 目录文件:为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫目录文件

  47. 文件控制块的内容: 文件名,文件号,用户名,文件地址,文件长度,文件类型,文件属性,共享计数,文件的建立日期,保存期限,最后修改日期,最后访问日期,口令,文件逻辑结构,文件物理结构

  48. 文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合文件目录:把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合 • 目录项:构成文件目录的项目(目录项就是FCB) • 目录文件:为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,这个文件就叫目录文件

  49. 1.2 目录功能 • 实现“按名操作” • 提高检索速度 • 允许文件同名 • 允许文件共享

More Related