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

目录

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/297576.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

乔布斯在斯坦福大学经典演讲

今天,很荣幸来到各位从世界上最好的学校之一毕业的毕业典礼上。我从来没从大学毕业过,说实话,这是我离大学毕业最近的一刻。 今天,我只说三个故事,不谈大道理,三个故事就好。 第一个故事,是关于…

【ChatGPT】提示设计的艺术:使用清晰的语法

探索清晰的语法如何使您能够将意图传达给语言模型,并帮助确保输出易于解析 All images were generated by Scott and Marco. 这是与Marco Tulio Ribeiro共同撰写的关于如何使用指导来控制大型语言模型(LLM)的系列文章的第一部分。我们将从基…

Spring中的工厂类ApplicationContext和BeanFactory

1.ApplicationContext ApplicationContext的实现类,如下图 ClassPathXmlApplicationContext:加载类路径下 Spring 的配置文件 FileSystemXmlApplicationContext:加载本地磁盘下 Spring 的配置文件 ApplicationContext由BeanFactory派生而…

标签函数 - 打造JavaScript组件

📢 鸿蒙专栏:想学鸿蒙的,冲 📢 C语言专栏:想学C语言的,冲 📢 VUE专栏:想学VUE的,冲这里 📢 CSS专栏:想学CSS的,冲这里 &#x1f4…

计算机基础知识——校验码概述

目录 1 码距 2 奇偶校验 3 CRC循环冗余校验码 3.1 多项式 3.2 编码的组成 3.3 生成多项式 3.4 校验码的生成 4 海明校验码和恒比码 4.1 校验方程 4.2 恒比码 1 码距 码距是恒量一种编码方式的抗错误能力的一个指标。数字信息在传输和存取的过程中,由于…

权威认可!甄知科技猪齿鱼产品荣获信创产品评估证书

近日,依据《信息技术应用创新产品评估规范 第1部分:应用软件》(T/SSIA 2001-2022),经过严格评估,甄知科技旗下自主研发的猪齿鱼数智化开发管理平台 V2.0.0,通过信创测试认证,获得上海…

Jmeter相关知识介绍

Jmeter 是Apache 组织开发的基于JAVA 的压力测试工具,用于对软件做压力测试,特别适合于WEB 应用测试(包括压力,接口测试) 今天简单介绍Jemeter的入门相关概念的理解 一、在安装目录下有一个Bin\Jmeter.bat 双击打开 打开之后是一个这样的界面 二、测试计划 1、添加和删…

基础语法(一)(1)

常量和表达式 在这里,我们可以把Python当成一个计算器,来进行一些算术运算 例如: print(1 2 - 3) print(1 2 * 3) print(1 2 / 3)注意: print是一个python内置的函数,这个稍后我们会进行介绍 可以使用-*/&…

java 音乐会售票平台系统Myeclipse开发mysql数据库struts2结构java编程计算机网页项目

一、源码特点 java 音乐会售票平台系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助struts2框架开发mvc模式,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发 环境为TOCAT7.0,Myeclipse8.5开发,数据…

揭开 JavaScript 作用域的神秘面纱(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

Halcon计算最小外接矩形Smallest_rectangle2

Halcon计算最小外接矩形Smallest_rectangle2 该算子用于求最小外接矩形。该算子的原型如下: smallest _rectangle2 (Regions : : : Row, Column, Phi, Lengthl, Length2)其各参数的含义如下。 参数1:Regions 表示输入的区域。 参数2和3:Row…

如何通过HACS+Cpolar实现远程控制米家和HomeKit等智能家居设备

文章目录 基本条件一、下载HACS源码二、添加HACS集成三、绑定米家设备 ​ 上文介绍了如何实现群晖Docker部署HomeAssistant,通过内网穿透在户外控制家庭中枢。本文将介绍如何安装HACS插件商店,将米家,果家设备接入 Home Assistant。 基本条件…

Spring AI和Ollama

概述 Spring AI 不仅提供了与 OpenAI 进行API交互,同样支持与 Ollama 进行API交互。Ollama 是一个发布在GitHub上的项目,专为运行、创建和分享大型语言模型而设计,可以轻松地在本地启动和运行大型语言模型。 Docker环境安装Ollama 1.获取D…

python 模块搜索路径

前言 当我们import os的时候,Python解释器去哪找os模块呢?如果多处都有os模块,选择哪个os模块呢? 去哪找os模块? Python解释器不是很神奇,它会从以下2个地方找os模块 1、内置模块 sys.builtin_module_nam…

ROS-arbotix安装

方式一:命令行输入: sudo apt-get install ros-melodic-arbotix如果ROS为其他版本,可将melodic替换为对应版本。 方式二: 先从 github 下载源码,然后调用 catkin_make 编译 git clone https://github.com/vanadiumla…

P59 生成式对抗网络GAN-理论介绍 Theory behind GAN

Object Normal Distribution 的数据 经过 Generator 后生成分布更加复杂的PG. 真实数据的分布为 Pdata , 希望 PG和Pdata 越近越好 LOSS 是 两者之间的分布距离 问题: 如何计算 divergence? Sampling is goog enough Discriminator 希望V越大越好 y~Pdata 代表从 Pdata里…

项目整合积木报表-设计页面

项目整合积木报表-设计页面 <template><div><iframe id"dome" :srcsrc ></iframe></div> </template><script>export default {data(){return{src:configSrc.src"/jmreport/view/836138868821839872"}}} </…

BMTrain来高效训练预训练模型-大模型的福音

一.背景知识 在2018年&#xff0c;预训练语言模型技术的出现成为人工智能领域一场革命性的变革。研究表明&#xff0c;通过增加模型参数量和训练数据规模&#xff0c;可以有效提升语言模型的性能&#xff0c;因此十亿、百亿甚至千亿级大模型的探索成为业界的热门话题。这一趋势…

《网络是怎样连接的》2.3节图表(自用)

图4.1&#xff1a;TCP拆分数据与ACK号 图4.2&#xff1a;实际工作中ACK号与序号的交互过程 首先&#xff0c;客户端在连接时需要计算出与从客户端到服务器方向通信相关的序号初始值&#xff0c;并将这个值发送给服务器&#xff08;①&#xff09;。 接下来&#xff0c;服务器会…

macOS 老版本系统恢复中出现“MacBook Pro无法与恢复服务器取得联系”

macOS 老版本系统恢复中出现“MacBook Pro无法与恢复服务器取得联系” 网络问题系统时间问题镜像索引问题 网络问题 系统时间问题 镜像索引问题 恢复模式的 “实用工具 > 系统终端” 里执行如下 nvram IASUCatalogURLhttps://swscan.apple.com/content/catalogs/others/i…