学校网站管理系统 php,福田商城网站建设,百度搜索关键词指数,建设部网站监理工程师报名文件管理的任务和功能文件管理 任务#xff1a;对用户文件和系统文件进行组织管理#xff0c;以方便用户使用#xff0c;并保证文件的安全 功能#xff1a;文件存储空间的管理#xff0c;目录管理#xff0c;文件读写管理和保护
目录管理
对目录管理的要求
实现按名存… 文件管理的任务和功能文件管理 任务对用户文件和系统文件进行组织管理以方便用户使用并保证文件的安全 功能文件存储空间的管理目录管理文件读写管理和保护
目录管理
对目录管理的要求
实现按名存取提高对目录的检索速度文件共享允许文件重名
文件控制块和索引结点
为了能对文件进行正确的存取必须为文件设置用于描述和控制文件的数据结构称为“文件控制块FCB一个文件对应一个FCB目录项若干目录项组成一个目录文件。
文件控制块 通常包含三类信息 基本信息类 文件名文件物理位置文件逻辑结构文件物理结构存取 控制信息类文件主的存取控制权限核准用户的存取控制权限一般用户的存取控制权限 使用信息类文件建立的日期、时间文件上一次修改的日期、时间当前使用信息已打开文件的进程数是否被其他用户锁住文件在内存中是否已被修改但尚未拷贝到磁盘上 索引结点 索引结点的引入 设目录文件所占盘块数为N则查找一个目录项平均需要调入盘块(N1)/2次。假如一个FCB为64B盘块大小为1KB则每个盘块可存放16个FCB对于640个FCB的目录文件需占40个盘块平均查找一个文件需启动磁盘20次。假如每个FCB占16B则每个盘块可存放64个FCB对于640个FCB的目录文件需占10个盘块平均查找一个文件需启动磁盘5次。大大节省了系统开销。 为此UNIX采用索引结点每个目录项占16B其中14B为文件名2B为i结点指针索引结点号 磁盘索引结点 主要包括以下内容 文件模式包括文件类型正规文件、目录文件、字符特别文件、块特别文件、管道文件等)和存取权限(9位二进制表示。文件主标识符uid——拥有该文件的个人·同组用户标识符gid文件物理地址一一每一个索引结点中含有13个地址项iaddr(0)iaddr12)混合索引文件长度一以字节为单位文件连接计数一一在本文件系统中所有指向该文件名的指针计数(一个文件可以对应多个文件名)文件存取时间一一文件最近被进程存取的时间、最近被修改的时间及索引结点最近被修改的时间 内存索引|结点 文件打开时要将磁盘索引结点拷贝到内存的索引结点中以便以后使用。 在内存索引结点中增加了以下内容 索引结点编号——用于标识内存素引结点状态一一指示结点是否上锁或被修改访问计数一一每当有一进程访问此i结点时将该访问计数加1访问完再减1文件所属文件系统的逻辑设备号链接指针一一设置有分别指向空闲内存i结点链表和散列队列的指针内存i接点采用散列搜索相同散列地址的i 接点构成一队列队列内用顺序查找方式。
目录结构
目录结构的组织关系到文件系统的存取速度也关系到文件的共享性和安全性。 单级目录结构 最简单的目录结构。 状态位用来表示该目录项是否空闲。 单级目录可以实现按名存取但有如下缺点 查找速度慢不允许重名不便于实现文件共享只适用于单用户环境 两级目录 第一级是主文件目录第二级是用户文件目录。 为每个用户建立一个单独的用户文件目录UFD 系统建立一个主文件目录MFD在MFD 中每个用户目录文件占有一个目录项其目录项 中包含用户名和指向该用户目录文件的指针 同一个UFD中文件不能重名 两级目录基本克服了单级目录的缺点并有以下优点 提高了检索目录的速度在不同的用户目录中可以使用相同的文件名。不同用户还可以使用不同的文件名来访问系统中的同一个共享文件。 如果在主目录中有n个子目录用户目录每个用户目录最多为m个目录项则查找指定的目录项最多只需要检索 nm个目录项。但如果采用单级目录则最多需检索n×m个目录项。假定mn可以看出采用两级目录可使检索效率是单级目录的n/2倍。 多级目录结构 目录结构 大型文件系统常采用三级或三级以上目录结构 多级目录结构又称树型目录结构 主目录在这里被称为根目录 路径名 从根目录到任何数据文件都只有一条唯一的通路。在该通路上从根目录开始把全部目录文件名与数据文件名依次用/连接起来就构成该数据文件的路径名。 系统中每个文件都有唯一的路径名 当前目录 又称工作目录。 为方便、提高检索速度为每个进程设置一个“当前目录”进程对文件的访问都相对于当前目录进行 相对路径名一从当前目录开始 绝对路径名—从根目录开始 增加和删除目录 在树型目录结构中用户可以为自己建立UFD并可再创建子目录。 创建子目录时只需注意不要同名文件名也不行。 删除子目录可采用下述两种方法处理 不删除非空子目录(MS-DOS)可删除非空子目录(Windows) 第二种方法比较方便但却比较危险
目录查询技术
当用户要访问一个已存文件时系统首先利用用户提供的文件名对目录进行查询找到该文件的文件控制块或索引结点然后根据FCB或索引|结点中所记录的文件物理地址盘块号换算出文件在磁盘上的物理位置。 目前目录查询的方式有两种线性检索法和Hash方法。 线性检索法顺序检索法 对单级目录根据用户提供的文件名用顺序查找法直接从文件目录中找到指定文件的目录项 对树型目录须对多级目录进行查找。用下面的例子说明 假定用户提供的文件路径名是/usr/ast/mbox系统的目录项采用索引结点。 文件检索 Hash方法 针对Hash文件的目录查找方法。 如果我们建立了一张Hash索引文件目录便可利用Hash方法进行查询即系统利用用户提供的文件名并将它转变为文件自录的索引值再利用该索引值到自录中去查找将显著地提高检索速度。 使用通配符星号或时不能用Hash法查找。
文件存储空间的管理
与内存分配相似可采用连续分配方式和离散分配方式 前者具有较高的文件访问速度但可能产生较多的外存零头; 后者能有效地利用外存空间但访问速度较慢。 外存空间的分配的基本单位都是磁盘块而非字节。 为实现存储空间的分配系统必须记住存储空间的使用情况。为此需
设置相应的数据结构提供存储空间分配和回收的手段
空闲表法和空闲链表法
空闲表法 空闲表 类似空闲分区表 属于连续分配方法与内存的动态分配方式雷同 每个文件分配一块连续的存储空间 为外存上的所有空闲块建立一张空闲表每个空闲区对应一个空闲表项 空闲表项包括表项序号、该空闲区的第一个盘块号、空闲块数等。 将所有空闲区按其起始盘块号递增次序排列 存储空间的分配和回收 与内存动态分配相似同样可以采用首次适应算法、循环首次适应算法等 回收时相邻接的空闲区应合并。 与内存的动态分配不同的是空闲表法在磁盘空间分配中仍占有一席之地。例如 对换方式中对换空间一般都采用连续分配方式 当文件较小14个盘块时仍采用连续分配方式。当文件较大时采用离散分配。
位示图法 位示图 位示图是用二进制的一位来表示磁盘中一个盘块的使用情况。 “0”——空闲 “1”——已分配。 通常用m×n个位数来构成位示图。m×n等于磁盘的总块数。 位示图盘块的分配 顺序扫描位示图从中找出一个或一组其值为0的二进制位。 将找到的二进制位转换成相应的盘块号。 设行号为i列号为j则对应的盘块号b为b i x n jn为每行的位数。32位机每个字为32位上图中是16位。 修改位示图令map[i][j] 1 位示图盘块的回收 步骤 将回收盘块号转换成位示图的行号和列号 i b / n(整数除法结果取整数)j b % n 修改位示图令map[i][j] 0 位示图小可以调入内存节省了许多磁盘操作 位示图常用于微型机和小型机如CP/M、Apple DOS等OS中
文件共享与文件保护
基于索引结点的共享方式
索引节点中应增加一个链接计数count 任何用户对共享文件的修改都是其他用户可见的
此种共享方式如果文件主不再需要此文件时不能删除。 如果系统采用记帐收费则文件主C必须为共享者B使用此文件而付费
利用符号链实现文件共享
为使B能共享C的一个文件F可以由系统创建一个LINK类型的新文件也取名为F并将它写入B的目录中以实现B的目录与文件F的链接。 在新文件中只包含链接文件F的路径名。这种方法称为符号链接。 允许文件主删除文件。只不过当B要使用文件F时会“找不到文件”不会产生其他影响。 缺点:
共享文件时可能要按路径多次读盘新文件也要占用磁盘空间。
2
设某系统的磁盘空间共有2500块计算机字长32位。系统用位示图方法管理磁盘空间
位示图需用多少字构造画出申请一块的工作流程图 位示图一行代表一个字 字长有32位代表bit位一个字长32位示图有32列 序号默认从0开始 行数等于2500除以3278.125向上取整79 2. 1. 检查位示图是否有空闲块 2. 若有空闲块找到第一个空闲块的位置 3. 将该位标记为已使用 4. 返回该块的物理地址完成申请 5. 若没有空闲块返回申请失败
2015
用一张8个16位字长的字组成的”位示图”来管理一个高速存储器现规定字号位号和块号均从1开始计试问
该位示图可表示多少块字号为7位号13所对应的块号是多少块号55对应的字号和位号分别是多少 8 x 16 128 2. i 7j 13 b n( i - 1 ) j (7 - 1) x 16 13 109 3. i (b - 1) DIV n 1 (55 - 1) / 16 1 3 1 4 j (b - 1) MOD n 1 (55 - 1) % 16 1 6 1 7 或 55 / 16 3 … 7从0开始 所以字号是1位号为7