操作系统期末考试必会题库5——文件管理

news2025/1/11 12:39:30

1、画出文件系统的层次模型,并描述各层的功能。

2、某文件系统为一级目录,文件的数据一次性写入磁盘,已经写入的文件不可修改,但可以多次创建新文件,请回答:

(1) 采用哪种文件物理结构形式更适合?说明理由,为定位文件数据块,需要FCB中设置哪些相关的描述字段?(10分)

(2) 为快速找到文件,对于FCB是集中存储好,还是与对应文件数据块连续存储好?为什么?(10分)

(1)连续更合适。因为一次写入不存在插入问题,而且写入文件之后不需要修改,连续的数据块组织方式很适合一次性写入磁盘不再修改的情况,同时连续存储相对链式和索引省去了指针的空间开销,支持随机查找,查找速度最快。FCB中包括:存放文件的设备名、文件在外存的起始盘块号、文件长度。

(2)FCB集中存储较好。FCB存储有文件的很多重要信息,同时是文件目录的重要组成部分,在检索时,通常会访问对应文件的FCB。如果将FCB集中存储,则可以减少在检索过程中产生的访盘次数,提高检索速度。

3、假如盘块的大小为4KB,每个盘块号占4个字节,在两级索引分配时,允许的最大文件是多少?(请写出计算过程)

假如盘块的大小为4KB,每个盘块号占4个字节,则一个索引块可含 4KB/4B=1K个盘块号,

于是两级索引最多可含1K×1K = 1M个盘块号,因此,允许的最大文件长度为4KB×1M = 4GB。

4、假定盘块的大小为1KB,对于540MB的硬盘,其文件分配表需占用多少存储空间?当硬盘容量为1.2GB时,文件分配表又需占用多少存储空间?

对于540MB的硬盘,共有盘块540MB/1KB = 540K个∈(219, 220),故文件分配表表项应取20位即2.5B,所以其文件分配表需占用存储空间540K×2.5B = 1350KB;

当硬盘容量为1.2GB时,共有盘块1.2GB /1KB = 1.2M ∈(220, 224) ,故文件分配表表项应取24位即3B,所以其文件分配表需占用存储空间1.2M×3B = 3.6MB。

5、文件系统采用多重索引结构搜索文件内容。设块长为512字节,每个块号长3字节,如果不考虑逻辑块号在物理块中所占的位置,分别求二级索引和三级索引时可寻址的文件最大长度。

块长512字节,块号长3字节,所以一个索引块可以存放170个盘块号。

二级索引时,最多可包含的存放文件的盘块的盘块号总数N=170×170=28900个盘块。所以使用二级索引时,可寻址的文件的最大长度=28900×512B=7225kB=14.11MB。

三级索引时,最多可包含的存放文件的盘块的盘块号总数N=170×170×170=4913000个盘块。

所以使用三级索引时,可寻址的文件的最大长度= 

4913000*512B=2456500KB=2.34GB。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

hnu计网实验二-网络基础编程实验(JAVA\Python3)

前言:这次实验用的是python语言,但是本人的python也不是很强,所以代码大部分也是借鉴别人的。实验本身还是很有趣的 一、实验目的 通过本实验,学习采用Socket(套接字)设计简单的网络数据收发程序&#xf…

Qt编写雷达模拟仿真工具

一、前言 雷达模拟仿真工具,已发布很长一段时间,一直以来没有好好整理该系列文章,在刘哥6.5的极力推荐下,整理出该系列的更加详细细节的文章出来。懒散了很久,也颓废了不少,人啊,感觉不能颓废下…

Python入门小案例: 采集全网表情包图片

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 环境使用: Python 3.8 Pycharm 2021.2版本 模块使用: import requests >>> pip install requests -pip install -i https://pypi.doubanio.com/simple/ requests import re 安装pyt…

Revit中:该扶手的坡度可能与梯段及平台楼梯不平行问题

一、Revit中单独绘制楼梯扶手问题 单独绘制扶手的时候总是会出现梯段及平台上的楼梯不平行,这种情况怎么办? 在正常操作下楼梯会制动生成扶手,但有时候还是回碰到单独绘制扶手的时候然后就会出现这样的些问题,如图1、图2所示。 解决方法&…

(Research)深度迁移学习使循环肿瘤细胞的病变追踪成为可能

Tips: 深度迁移学习使循环肿瘤细胞的病变追踪成为可能 (Nat Commun),原文链接: https://pubmed.ncbi.nlm.nih.gov/36509761/ 摘要: CTC做为液体活检中最重要的一个目标,如果能够对 CTC 进行溯源那么就能够实现肿瘤的早…

mediasoup create/connect WebRtcTransport 流程分析

一. 前言 在这篇博客中我们介绍了 mediasoup-demo 启动流程与信令交互,关键信令包括 getRouterRtpCapabilites,join, createWebRtcTransport, connectWebRtcTransport, produce,本文将介绍 createWebRtcTransport 和 connectRtcTransport 的流…

为远程MySQL数据库配置固定的公网TCP地址【内网穿透】

在上篇文章中, 我们成功实现了在公网环境下远程连接内网MySQL数据库。但由于使用的免费的cpolar内网穿透,其所生成的公网地址为随机临时地址,24小时内会发生变化,对于需要长期远程访问的用户来讲非常不方便。因此,本篇…

华为云CDN加速服务,让企业用户上网“走高速”

如今CDN技术在互联网项目中越来越被广泛应用,虽然大多数人对于CDN并不熟悉,但其实我们的日常生活中的看新闻、看直播、网上购物等,都在无形之中跟CDN息息相关。 华为云CDN是通过部署广泛的节点服务器,将源站内容分发给靠近用户的智…

【修改】对“C语言实现轰炸代码”进行修改和完善

场景: 使用C语言实现“轰炸”效果,就是多条重复表情或信息的发送;使用场景是在QQ上面。 问题描述 1.不兼容,对于VS2022或者其他VS编译器无法实现效果。 2.代码能正常运行但无法弹出窗口进行发信息。 原因分析: 1.不…

力扣 2032. 至少在两个数组中出现的值

题目 给你三个整数数组 nums1、nums2 和 nums3 ,请你构造并返回一个 元素各不相同的 数组,且由 至少 在 两个 数组中出现的所有值组成。数组中的元素可以按 任意 顺序排列。 示例 输入:nums1 [1,1,3,2], nums2 [2,3], nums3 [3] 输出&a…

Day843.CompletableFuture -Java 并发编程实战

CompletableFuture Hi,我是阿昌,今天学习记录的是关于CompletableFuture的内容。 前面不止一次提到,用多线程优化性能,其实不过就是将串行操作变成并行操作。 如果仔细观察,还会发现在串行转换成并行的过程中&#…

堆树和堆排序

一、堆树 1、定义 堆树的定义如下: (1)堆树是一颗完全二叉树。 (2)堆树的每一个结点值都大于等于或者小于等于其左右子结点的值。 (3)堆树中每个结点的子树都是堆树。为什么是大于等于或者小于…

一口气讲透Redis分布式缓存、秒杀 + 思维导图

一、分布式缓存 1、单点Redis的问题 1、数据丢失问题 Redis数据持久化。 2、并发能力问题 大家主从集群,实现读写分离。 3、故障恢复问题 利用Redis哨兵,实现健康检测和自动恢复。 4、存储能力问题 搭建分片集群,利用插槽机制实现动…

【Linux 常用监控指标总结】

1. Linux运维基础采集项 做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑。所以,依靠强大的监控系统,收集尽可能多的指标,意义重大。但哪些指标才是有意义的呢,本着从实践中…

【JavaScript】定时器详解

文章目录【JavaScript】定时器详解一. 定时器分类二. 定时器的使用三. 案例:实现抽奖效果样式一样式二【JavaScript】定时器详解 一. 定时器分类 延迟定时器 setTimeout(function(){}, 毫秒数)作用:隔一段时间之后执行 间隔定时器 setInterval(functio…

【UE4 第一人称射击游戏】18-添加角色换弹时的动作

上一篇: 【UE4 第一人称射击游戏】17-重写换弹逻辑 本篇效果: 步骤: 1.打开“SWAT_AnimBP”,在动画图表中,添加一个名为“Reloading”的状态 完善过渡规则的连线 双击打开“Reloading”,添加换弹动画 2…

Spring Security 401 问题解决

背景 : 微服务接口调用的时候报错,原来有一个rest服务用的不多,平时用的都是一些基础的服务,然后客户需要我们开放一个外部接口给他们,然后我寻思着就在这里面写接口。然后调用的时候就报如下的错。 后面跟踪源码发现 …

window上完全卸载oracle

Window上彻底卸载oracle 关闭oracle服务-----开始----->设置----->控制面板----->管理工具----->服务----->停止所有Oracle服务。 卸载软件------开始------所有程序------Oracle - OraDb11g_home1------Oracle 安装产品-----…

传统CV算法——边缘检测

文章目录传统CV算法-边缘检测第一章 概述1. **边缘检测概述**1.1 **认识边缘**1.2 **边缘检测的概念**1.3 **边缘检测的基本方法**1.4 **边缘检测算子的概念**1.5 **常见的边缘检测算子**2. **用梯度算子实现边缘检测的原理**2.1 **认识梯度算子**2.2 **梯度的衡量**2.3 **使用…

3D打印机的调平问题

快打完第五批料了,也算是有一些仅限于PLA以及PLA+耗材心得 3D打印机调平的简易方式有哪些? 在3D打印机中,打印平台作为模型的承载平台,如果有偏差,那么在后期的打印中,必然会导致细节的出现差…