软件工程概论------文件管理

目录

1.文件的相关概念

2.文件目录

3.位示图

4.索引文件

5.例题


1.文件的相关概念

文件:具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。
逻辑结构:有结构的记录式文件、无结构的流式文件。
物理结构: 连续结构、链接结构、索引结构、多个物理块的索引表。

2.文件目录

文件目录包含:文件目录项,文件的说明以及文件控制块FCB

基本信息类:文件名、文件的物理地址、文件长度和文件块数等

存储控制信息类:文件的存储权限:读写、执行权限等

(文件属性: 只执行、隐含、只读、读/写、共享、系统)

使用信息类:文件建立日期、最后一次修改/访问日期、当前使用的信息、打开文件的进程数以及在文件上的等待队列等

目录结构

一级目录结构: 线性结构,查找速度慢,不允许重名和实现文件共享等

二级目录结构: 主文件目录 (MFD) +用户目录 (UFD)

三级目录结构: 树型目录结构 (多级目录结构)

注:多级目录结构允许不同用户的文件可以具有相同的文件名

绝对路径:是从盘符开始的路径
相对路径:是从当前目录开始的路径

举例:若当前路径为D1,要求写出F2路径:

绝对路径:/D1/W2/F2

相对路径:W2/F2

全文件名:绝对路径+文件名(包括文件的拓展名)

3.位示图

位示图是对空闲存储空间进行管理的一种方法,通常用于跟踪磁盘块或存储区域的使用情况。每个块或区域都被表示为位示图中的一个位(通常是0或1),其中0表示该块或区域是空闲的,1表示已被占用。使用位示图,系统可以快速查找可用的存储块或区域,并进行分配。当一个文件或数据需要存储时,系统可以在位示图中找到一个连续的空闲块,将其标记为已占用,并将数据写入该块中。

例题:

某字长为32位的计算机的文件管理系统采用位示图 (bitmap) 记录磁盘的使用情况。若磁盘的容量为300GB,物理块的大小为1MB,那么位示图的大小为 ( )个字。
A 1200
B 3200
C 6400
D 9600

字数=300*2^10/32位

物理块从0开始编号,某页面放置在第1023个物理块中,则如何操作:

1023/32=31....31,其中31*32=992,31个字只能放992个物理块,则还需要一个字,所以字号从0开始,编号为31,0~31就是32个字,而其在32个字中的偏移号也从0开始,就是30号,0~30号表示第31个bit位。最后将31号字中的编号为30的bit会从0写为1

4.索引文件

直接索引

在直接索引中,每个文件数据块都分配了一个唯一的物理块地址,这些地址存储在文件的索引块中。直接索引可以直接访问数据块。

一级间接索引

在一级间接索引中,每个文件数据块的地址都不直接存储在文件的索引区域中,而是存储在一个专门的一级索引块中。例如10号索引结点中放置的是索引表,若索引表为1kb,每个索引的大小是3b,那么这里可以放置1024/3=341个索引,其余剩余的bit位不能放置索引了。一级间接索引的逻辑页该怎么求呢,以最后一个索引为例,即第341个索引

x-10+1=341个索引,x=350号地址项

对于一级间接索引,要找到索引对应的数据块,需要查一次磁盘找索引,再查一次磁盘才找数据。

 

二级间接索引:

二级间接索引同理,若2级间接索引表中有341个索引结点,那么每个节点又对应了341个一级索引节点,所以二级间接索引,能够索引的地址项为:341*341。三级间接索引以此类推为341^3

注:逻辑页号是连续的,而物理块号是分散的

5.例题

例题1:
某文件系统采用索引节点管理,其磁盘索引块和磁盘数据块大小均为1KB且每个文件索引节点有8个地址项iaddr[0]~iaddr[7],每个地址项大小为4字节,其中iaddr[0]~iaddr[4]采用直接地址索引,iaddr[5]和iaddr[6]采用一级间接地址索引,iaddr[7] 采用二级间接地址索引。若用户要访问文件userA中逻辑块号为4和5的信息,则系统应分别采用 (),该文件系统可表示的单个文件最大长度是 ( )KB。

A 直接地址访问和直接地址访问

B 直接地址访问和一级间接地址访问

C 一级问接地址访问和一级间接地址访问

D 一级间接地址访问和二级间接地址访问

A.517        B.1029        C.65797        D.66053

直接索引的磁盘数据块为5KB

一级间接索引,因为每个地址项为4字节,1KB/4字节=256个地址项,所以有256个索引结点,每个索引结点对应1KB,所以总共为256KB

二级间接索引则有256^2*1KB=65536KB

答案为D

例题2:
设文件索引结点中有7个地址项,其中4个地址项是直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4B,若磁盘索引块和磁盘数据块大小均为256B,则可表示的单个文件最大长度是()

A.33KB

B.519KB

C.1057KB

D.16516KB

直接索引:4*256

一级间接索引:64(256/4)*256

二级间接索引:64*64*256

答案为C

相关推荐

  1. 【学习笔记】软件工程概述

    2024-01-06 21:28:01       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-06 21:28:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-06 21:28:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-06 21:28:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-06 21:28:01       20 阅读

热门阅读

  1. LabVIEW在机器人视觉抓取系统中应用

    2024-01-06 21:28:01       38 阅读
  2. EAS WEB附件下载实现

    2024-01-06 21:28:01       35 阅读
  3. 基于SpringBoot的物流管理系统

    2024-01-06 21:28:01       43 阅读
  4. 高考组数。

    2024-01-06 21:28:01       45 阅读
  5. MySQL5.7无法连接到[本地] MySQL 服务器

    2024-01-06 21:28:01       47 阅读
  6. 新版Edge如何卸载详细讲解

    2024-01-06 21:28:01       50 阅读
  7. 新版EDGE卸载

    2024-01-06 21:28:01       38 阅读
  8. c++求一个数是否是质数

    2024-01-06 21:28:01       41 阅读
  9. vue 微信扫码登录

    2024-01-06 21:28:01       48 阅读
  10. spring 之 TransactionManager使用详解

    2024-01-06 21:28:01       39 阅读
  11. python&Matplotlib四:Matplotlib设置图的样式和颜色

    2024-01-06 21:28:01       34 阅读
  12. 【Vue】灵魂拷问

    2024-01-06 21:28:01       34 阅读
  13. Flutter中的NotificationCenter和EventBus(超级简单!)

    2024-01-06 21:28:01       46 阅读