第七章 文件系统通.ppt
文本预览下载声明
2.用户验证 当用户登录时,检验其身份 (用户是谁,用户拥有什么,用户知道什么) (1)口令 (2)物理鉴定 磁卡,指纹,签名分析,手指长度分析 (3)对策 3.存取控制 审查用户的权限 审查本次操作的合法性 方法一:文件的二级存取控制 第一级:对访问者的识别 对用户分类: a) 文件主(owner) b)文件主的同组用户(group) c)其它用户(other) 第二级:对操作权限的识别 对操作分类: a) 读操作(r) b) 写操作(w) c) 执行操作(x) d) 不能执行任何操作(-) rwx rwx rwx 方法二: 存取控制矩阵 文件 用户 A B C ?? User1 rw r w User2 e ? ? ?? 优点:解决了文件的重名问题和文件共享问题 用户名|文件名 查找时间降低 缺点:增加了系统开销 3. 多级目录结构(树型目录) 优点: 层次结构清晰,便于管理和保护;有利于文件分类;解决重名问题;提高文件检索速度;能进行存取权限的控制 缺点: 查找一个文件按路径名逐层检查,由于每个文件都放在外存,多次访盘影响速度 7.4 文件系统的实现 一、内存中所需的表目 1. 系统打开文件表(整个系统一张) 放在内存。用于保存已打开文件的FCB 此外,文件号,共享计数,修改标志 2. 用户打开文件表(每个进程一个) 文件描述符,打开方式,读写指针,系统打开文件表入口 进程的PCB中,记录了用户打开文件表的位置 3.用户打开文件表与系统打开文件表之间的关系 用户打开文件表指向系统打开文件表。 如果多个进程共享同一个文件,则多个用户打开文件表目对应系统打开文件表的同一入口 PCB主部 文件号 共享计数 修改标志 … … … … 系统打开文件表: 文件描述符 打开方式 读写指针 系统打开文件表入口 … … … … 用户打开文件表: 二、外存空间管理 1. 空闲块表 将所有空闲块记录在一个表中,即空闲块表,有两项 2. 空闲块链表 把所有空闲块链成一个链 扩展:成组链接法 3. 位图法 用一串二进制位反映磁盘空间中分配使用情况, 每个物理块对应一位, 分配物理块为1,否则为0 申请物理块时,可以在位示图中查找为0的位,返回对应物理块号; 归还时;将对应位转置0 描述能力强,适合各种物理结构 7.5 文件系统的使用 在文件系统中提供对文件的各种操作,这些操作方便、灵活地使用文件及文件系统,形式分别为:系统调用或命令 一、 主要操作 提供设置和修改对用户文件存取权限 提供建立、修改、改变、删除目录的服务 提供文件共享,设置访问路径的服务 提供创建、打开、读、写、关闭、撤消文件等服务 文件系统维护 文件系统的转储和恢复 二、操作简介 1.建立文件 实质是建立文件的FCB,并建立必要的存储空间,分配空FCB,根据提供的参数及需要填写有关内容,返回一个文件描述 目的:建立系统与文件的联系 create(文件名,访问权限,(,最大长度)) (1)检查参数的合法性 文件名是否符合命名规则 是→(2),否则→错误返回 (2)检查同一目录下有无重名文件 无→(3),有→错误返回 (3)在目录中有无空闲位置 有→(2),否则→不成功返回 有的系统可能要为此文件申请数据块空间(申请一部分或一次性全部申请) (4)填写目录项内容: 文件名,用户名等,存取权限,长度置零,(,首址) (5)返回 2.打开文件 使用文件的第一步,任何一个文件使用前都要先打开,即把FCB送到内存 fd=open(文件路径名,打开方式) (1)根据文件路径名查目录,找到FCB主部; (2)根据打开方式、共享说明和用户身份检查访问合法性; (3)根据文件号查系统打开文件表,看文件是否已被打开; 是→共享计数加1 否则→将外存中的FCB主部等信息填入系统打开文件表空表项,共享计数置为1; (4)在用户打开文件表中取一空表项,填写打开方式等,并指向系统打开文件表对应表项。 返回信息:fd:文件描述符,是一个非负整数,用于以后读写文件。 3.关闭文件 4.删除文件:撤销FCB 5. 指针定位 seek(fd,新指针的位置) (1)由fd查用户打开文件表,找到对应的入口; (2)将用户打开文件表中文件读写指针位置设为新指针的位置,供后继读写命令存取该指针处文件内容。 6.读文件 read(文件名,(文件内位置),要读的长度,内存目的地址) 隐含参数:进程主 (1)检查长度
显示全部