1,采用连续分配方式时,能够连续存取的磁盘块总大小取决于磁盘块数,假如题目中告诉我们磁盘块数这个字段占2B,也就是16bits,因此,其所能寻址空间为2^16个磁盘块.

2.物理块数乘上物理块大小等于最大文件长度。

3.fcb就是一个文件目录项,包括基本信息各种信息。而索引节点方法(inode)就是瘦身版的FCB,这两个就相当于图书馆中的图书的索书号。

4.文件的物理结构:

连续分配:需要一组连续的块,但是会产生外部碎片。支持顺序访问和直接访问

链接分配:消除了外部碎片。

5.FAT在系统启动时就会被读入内存,因此不仅提高了检索速度,而且减少了访问磁盘的次数,

2012统考真题】
设某文件系统空间最大为4TB(1TB = 1024GB = 1024×1024MB,以此类推)。以磁盘块为基本分配单位,且磁盘块大小为1KB。FCB中有一个512B大小的索引表区域。

(1) 若采用直接索引分配方式,索引表中存放若干个含有指向磁盘块的指针的索引表项,那每个索引表项最少占用多少字节?可支持的单个文件最大为多少字节?

(2) 若采用连续分配+直接索引分配的混合索引的分配方式,其中,索引表项的格式为:前8B的空间表示<起始磁盘块块号,磁盘块数>,用于文件前半部分的顺序存储,其中起始磁盘块块号占6B,磁盘块数占2B;后504B的空间采用(1)中的直接索引结构,即索引表区域大小为504B,并规定索引表项的大小为6B。在这种分配方式下,可支持的单个文件最大为多少字节?为使单个文件支持的长度达到最大,请指出表示起始磁盘块块号和磁盘块数的空间分别所需要的字节数。

【解】
(1) 为了能够充分利用磁盘,索引表必须能够表达整个磁盘空间。系统空间4TB合4×240B,每个磁盘块为1KB,那么整个磁盘就有4TB / 1KB = 4×2^40B / 2^10B = 2^32 个磁盘块。因此索引表必须能够表示整个2^32个磁盘块,故所有的索引表项加起来最少能够表达32位的二进制数(与内存寻址能力的思想一致,32位操作系统的寻址能力是 2^32B = 4GB ),32位就是32bits,换算成字节数就是4字节(32 / 8 = 4),即每个索引表项最少需要4字节的空间来存储。那么,索引表本身大小是512B,索引表项的大小是4B,显然,每个索引表最多能够存储512B / 4B = 128个索引表项。每个索引表项含有一个指针,指向一个磁盘块,那么128个索引表项就有128个指针,可以表示128个磁盘块,每个磁盘块的大小为1KB,故可支持的单个文件最大为128KB。

(2)
针对该小问的第①问,分成两部来算,先计算采用连续分配方式的最大总磁盘块大小,再计算采用直接索引分配方式的最大总磁盘块大小,两者求和即可。采用连续分配方式时,能够连续存取的磁盘块总大小取决于磁盘块数,题目中告诉我们磁盘块数这个字段占2B,也就是16bits,因此,其所能寻址空间为2^16个磁盘块,即 2^16KB大小的空间;在后面的直接索引分配方式中,索引表占504B,索引表项大小为6B,故能够存储504B / 6B = 84个索引表项,同(1)问,能够表示84KB大小的空间,两者求和知,在这种混合索引分配的情况下,可支持的单个文件最大为 (2^16+84)KB.
针对第②问,根据上面的分析,可以知道文件的大小仅与连续分配有关,而直接索引分配能够表示的磁盘块数就是固定的84块。而在连续分配下,文件大小又仅仅与磁盘块数这个字段的大小有关,下面进行详细分析。我们设表示起始磁盘块块号和磁盘块数的字段所需要的字节数分别为x字节和y字节,则首先我们得到等式关系:
x+y=8(题目要求)
再一个,由于起始磁盘块块号可以是任意块号,因此,该字段也必须能够表示全部的磁盘空间,这一部分在第(1)问中详细阐述了,也就是最小值为32位,合4字节,即得到不等关系:
x >= 4
那么文件大小可以表示为:
F = (28y + 84)KB
即在 x+y=8 和 x >= 4 的情况下求 F 的最大值,显然,x=y=4时,F的最大值为(232 + 84)KB = 4TB + 84KB,这已经超过文件系统空间的最大值了,多的必然舍弃,因此这时文件最大只能是4TB。

【答案】
(1) 4字节;128KB
(2)
    ① (216+84)KB,合67,194,880字节
    ② 4字节、4字节,最大为4TB

6

多层索引分配方案与之前讲过的内存分页管理中的多级页表方案类似,只不过这里的直接块(或直接索引)指向一个物理块,一级索引指向若干个直接块,二级索引指向若干个一级索引,以此类推;而在多级分页方案中,一级页表扩展到若干个二级页表,每个二级页表扩展到若干个三级页表.

在某操作系统中,文件系统采取多层索引分配方式。在索引节点中,有10个直接块(每个直接块直接指向一个数据块)、1个一级间接块、1个二级间接块和1个三级间接块。假设每个索引块(直接块和所有间接块)和数据块的大小均为4KB,每个索引表项大小为4B。
(1) 仅仅用直接块最多能够表示多大的文件?
(2) 该索引节点能够访问到的地址空间为多大?
(3) 读取文件的第10000B和10MB的内容,分别需要访问磁盘多少次?

【解】
(1) 由题目知,该索引结点共有10个直接块,每个直接块只有一个指向数据块的指针,因此所有的直接块加起来能够表示10个数据块的空间,也就最多能够表示10 × 4KB = 40KB的文件。

(2) 由(1)知,所有的直接块能够表达40KB的空间;一级间接块的大小为4KB,每个索引表项的大小为4B,故1个一级间接块有4KB / 4B = 1024个索引表项,而每个索引表项指向一个直接块,就相当于一个数据块,故1个一级间接块能够表示1024 × 4KB = 4096KB,合4MB的空间;1个二级间接块指向1024个一级间接块,1个一级间接块指向1024个直接块,故1个二级间接块能够表示1024 × 1024 × 4KB,合4GB的空间;同理,1个三级间接块指向1024个二级间接块,1个二级间接块指向1024个一级间接块,1个一级间接块指向1024个直接块,故1个三级间接块能够表示1024 × 1024 × 1024 × 4KB,合4TB。以上结果相加,得到该索引节点能够访问到的地址空间为40KB + 4MB + 4GB + 4TB ≈ 4TB。

(3) 10000B / 4KB ≈ 2.44,2 < 2.44 < 3,故10000B的内容存放于第三个直接块中,直接块直接指向一个数据块,直接从直接块获取数据块的物理地址,根据这个物理地址去磁盘中访问该数据即可,因此访问磁盘2次。由(2)知,全部的直接块可以表示的空间大小为40KB = 0.04MB,全部的一级间接块(其实就有一个)能够表示4MB的内容,全部的二级间接块(其实也就有一个)能够表示4GB的内容。所有的直接块和一级间接块加起来能够表示4.04MB的内容,所有的直接块、一级间接块和二级间接块加起来能够表示4.00404GB的内容,显然4.04MB < 10MB < 4.00404GB,也就是说10MB的位置正好落在二级间接块中,故先读取二级间接块的索引表(访问第一次)找到对应的一级间接块的物理地址,再读取一级间接块的索引表(访问第二次)找到对应的直接块,再读取直接块存放的物理地址(访问第三次),即数据块的地址,再去该地址读取该数据块的内容(访问第四次)。因此,读取10MB的内容时,需要访问磁盘4次。

【答案】
(1) 40KB
(2) ≈4TB
(3) 2次、4次
——————————————

文件管理(操作系统)相关推荐

  1. 文件管理-----操作系统

    文件管理 文件管理是操作系统不可缺少的五大重要管理功能之一,它涉及到计算机对信息的存储和访问方便性.灵活性和安全性等方面.因此,本篇博客将对操作系统的文件系统基本概念.文件目录管理.文件的组织及数据存 ...

  2. 文件管理——操作系统(考研操作系统)

    文章目录 文件的逻辑结构 无结构文件 有结构文件 顺序结构 索引文件 索引顺序结构 总结 文件目录 文件控制块 FCB 目录结构 单极目录结构 双极目录结构 树形目录结构 无环图目录结构 索引节点 总 ...

  3. 操作系统(四)操作系统的主要功能

    从资源管理观点看,操作系统具有五大功能 处理机管理 存储器管理 设备管理 文件管理 操作系统与用户之间的接口 一.处理机管理功能 处理机的分配和运行都是以进程为基本单位的 进程控制--创建和撤销进程: ...

  4. 操作系统笔记(王道考研) 第五章:输入输出(I/O)管理

    大部分内容基于中国大学MOOC的2021考研数据结构课程所做的笔记,后续又根据2023年考研的大纲增加了一些内容,主要有操作系统引导.虚拟机.多级队列调度算法.互斥锁.调度器和闲逛进程.内存映射文件. ...

  5. 计算机操作系统例题总结

    计算机操作系统例题 引论及进程管理 --选择 --简答 --计算 处理机调度与死锁作业 选择 简答 计算 存储器管理 选择 简答 设备管理作业 单选 文件管理作业 选择 简答 阅读 引论及进程管理 – ...

  6. 操作系统期末复习知识梳理

    操作系统知识梳理 ​                                              copyright © 2020 by 宇智波Akali 文章目录 第一章 引论 第二章 ...

  7. Java架构师成长之道之浅谈计算机系统架构

    Java架构师成长之道之浅谈计算机系统架构 Java架构师成长之旅 1.1 信息技术发展趋势 目前信息技术主要经历了互联网.移动互联网以及以大数据.云计算.人工智能和区块链为代表的新兴技术三个阶段.而 ...

  8. 文计笔记 3: 软件系统

    1 cpu-指令 指令是指示计算机进行基本操作的命令. 每条指令的功能都直接由硬件电路实现. 每台计算机执行的指令种类和数量完全由CPU决定. 指令是计算机软件和硬件的交界界面(接口). 用任何语言编 ...

  9. Linux系统运维与架构设计之Linux概述

    Linux系统运维与架构设计之Linux概述 Linux系统运维与架构设计 1.1 浅谈计算机系统 1.1.1 计算机硬件系统 现代计算机是基于冯·诺依曼体系结构,由运算器.控制器.存储器.输入设备. ...

  10. Windows作为操作系统的典型特征和主要功能

    我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来重新审视一下Windows这个我们熟悉的不能再熟悉的系统. 我们每天都在用Windows操作系统,但是其实我们每天直接在打交道的并不是Wind ...

最新文章

  1. 我的.net程序为何不能执行?
  2. TensorFlow object detection api------ssd_mobilenet使用
  3. 非常美妙的图片,呵呵
  4. c语言怎么独缺非空格字符,C语言-字符串(单个字符)
  5. 10.21 nmap:网络探测工具和安全/端口扫描器
  6. java面试题一 静态变量
  7. 【Python】从键盘输入一个大于1的整数N,判断是否为素数
  8. 深度学习在计算机视觉点云中的发展与未来
  9. Apache和PHP结合、Apache默认虚拟主机
  10. 一种内核到用户空间的高效数据传输技术
  11. mysql 系统月份_MySQL里求给定的时间是所在月份的第几个星期
  12. Google Maps API V2
  13. 微信测试点(八大点)
  14. 2022年全球市场聚苯硫醚纤维总体规模、主要生产商、主要地区、产品和应用细分研究报告
  15. linux unbuntu
  16. Redis 核心知识——01
  17. 坚持一件事比决定一件事难多了
  18. 本野桂 出任索尼中国专业系统集团总裁
  19. win10 相机报错0xA00F4244<NoCamerasAreAttached>解决方法
  20. Java 之 Serializable 序列化和反序列化的概念,作用的通俗易懂的解释

热门文章

  1. 一个好用的软件定时器模块MultiTimer
  2. 编译原理陈火旺第三版第七章课后题答案
  3. 俄乌战争乌克兰死了多少人?
  4. 长阳土家族自治县政府与升哲科技达成战略合作
  5. 微信小程序显示空格符
  6. 【知识兔】Excel教程:文本转数值的这些套路,你都会了吗?
  7. Java实现电脑屏幕的截取并保存成图片
  8. 【手机】手机选购指南
  9. 【飞桨】win10-paddle-GPU环境配置
  10. 使用语音包合成你想说的话-文字转语音