文件系统 文件时间记录在哪里_操作系统学习笔记:四 文件管理

3f87c23ea007da18a32563b0bec26d66.png

本章目录:

  • 一、文件系统的基础
  • 1.文件的概念
  • 2.文件的逻辑结构(分为流式文件、记录式文件)
  • 3.目录结构/索引结构
  • 4.文件共享
  • 5.文件保护
  • 二、文件系统的实现
  • 1.文件系统的层次结构
  • 2.目录实现
  • 3.文件实现
  • 三、磁盘组织与管理
  • 1.磁盘的结构
  • 2.磁盘调度算法
  • 3.磁盘的管理
  • 附:王道选择题笔记

本章知识结构图:

881dd37dd42e26cc4f6294bf628d9622.png

一、文件系统的基础

1.文件的概念

(1)文件的定义

在系统运行时,计算机以进程为基本单位进行资源的调度和分配;而在用户进行的输入、输出中,则以文件为基本单位,以便信息的长期存储及将来的访问。文件系统就是文件管理系统。

可以把一个文件比作是图书馆的一本书:

  • 首先,一本书的主体一定是书中的内容,相当于文件中的数据
  • 其次,不同类别的书需要放在不同的书库,然后加上编号,再把编号登记在图书管理系统中,方便读者查阅,相当于文件的分类和查找
  • 最后,有些已经绝版或价格比较高的外文书籍,只能借给VIP会员或权限比较高的其他读者,而有些普通的书籍可供任何人借阅,这就是文件中的访问权限

文件的结构:

  • 数据项。基本数据项(最小的逻辑单位,如姓名、日期)、组合数据项(由多个基本数据项组成)。
  • 记录。一组相关的数据项的集合,用于描述一个对象在某方面的属性,如一名考生的报名记录包括考生姓名、出生日期、报考学校代号、身份证号等。
  • 文件。可分为有结构文件(由一组相似的记录组成,如所有的考生)、无结构文件(二进制文件或字符文件,流式文件)。

实际上关于文件并无严格的定义。文件可以是数字、字母或二进制代码,基本访问单元可以是字节、行或记录。文件可以长期存储于硬盘或其他二级存储器中,允许可控制的进程间共享访问,能够被组织成复杂的结构。

(2)文件的属性

  • 名称。唯一。
  • 标识符。文件的唯一标签,通常为数字,对人不可读。
  • 类型。
  • 位置。指针。
  • 大小。文件当前大小(用字节、字或块表示),也可包含文件允许的最大值。
  • 保护。访问控制信息。
  • 时间、日期和用户标识。文件创建、上次修改和上次访问的相关信息,用于保护和跟踪文件的使用。

所有文件的信息都保存在目录结构中,而目录结构保存在外存上。文件信息在需要时才调入内存。通常,目录条目包括文件名称及其唯一的标识符,而标识符定位其他属性的信息。

(3)文件的基本操作

  • 创建文件。分配空间、创建条目。
  • 写文件。执行一个系统调用,指明文件名称和要写入文件的内容。系统必须为该文件维护一个写位置的指针。
  • 读文件。执行一个系统调用,指明文件名称和要读入文件块的内存位置。同样,系统维护一个读位置的指针。读和写操作都使用同一指针,因此节省了空间,也降低了系统复杂度。
  • 文件重定位(文件寻址)。按某条件搜索目录,将当前文件位置设为给定值,并且不会读、写文件。
  • 删除文件。先从目录中找到要删除文件的目录项,使之成为空项,然后回收该文件所占用的存储空间。
  • 截断文件。允许文件所有属性不变,并删除文件内容,即将其长度设为0并释放其空间。

(4)文件的打开与关闭

  • 打开文件

系统将文件的目录/控制块从外存复制到内存,并设定一个编号(或索引)返回给用户。以后当用户要对该文件进行操作时,只需利用编号(或索引号)向系统提出请求即可。这样避免了系统对文件的再次检索,既节约了检索开销,又提高了对文件的操作速度。

关联信息:
①文件指针:跟踪上次读写位置,对于进程来说是唯一的,应该与文件属性分开保存。
②文件打开计数。有几个进程打开了此文件。
③文件磁盘位置。该信息保存在内存中。
④访问权限。该信息保存在进程的打开文件表中。

  • 关闭文件

系统将打开的文件的编号(或索引号)删除,并销毁其文件控制块。若文件被修改,则需要将修改保存到外存。

2.文件的逻辑结构(分为流式文件、记录式文件)

(1)无结构文件/流式文件

无结构文件将数据按顺序组织成记录并积累、保存,以字节为单位。那些对基本信息单位操作不多的文件较适于采用字符流的无结构方式,如源程序文件、目标代码文件等。

(2)有结构文件/记录式文件

  • 顺序文件

记录通常是定长的,顺序存储、链表形式存储,访问时顺序搜索文件。分为串结构(按时间先后顺序排列)、顺序结构(按关键字顺序排列)。
对于批量顺序读写,效率是所有逻辑文件中最高的;对查找、修改、增加或删除单条记录的操作比较困难。

  • 索引文件

变长记录文件只能顺序查找,系统开销较大。为此,可以建立一张索引表以加快检索速度,索引表本身是定长记录的顺序文件。在记录很多或访问要求高的文件中,需要引入索引以提供有效的访问。实际中,通过索引可以成百上千倍地提高访问速度。
索引项含有该记录的关键字值指向该记录的指针(逻辑地址)对索引文件存取时,必须先查找索引表。

  • 索引顺序文件

在索引表中为每组中的第一条记录建立一个索引项,其中含有该记录的关键字值指向该记录的指针(逻辑地址)
同一个组中的关键字可以无序,但组与组之间的关键字必须有序。查找一条记录时,首先通过索引表找到其所在的组,然后在该组中使用顺序查找,就能很快地找到记录。最好情况下,查找次数是根号n。对索引文件存取时,必须先查找索引表。

5a1f836eefaf69dd910d1e260b53e706.png

索引文件和索引顺序文件都提高了存取的速度,但因为配置索引表而增加了存储空间。

  • 直接文件/散列文件

给定记录的键值或通过散列函数转换的键值直接决定记录的物理地址。这种映射结构不同于顺序文件或索引文件,没有顺序的特性。散列文件有很高的存取速度,但是会引起冲突,即不同关键字的散列函数值相同。

3.目录结构/索引结构

(1)与目录相关的操作

  • 搜索。当用户使用一个文件时,需要搜索目录,以找到该文件的对应目录项。
  • 创建文件。当创建一个新文件时,需要在目录中增加一个目录项。
  • 删除文件。当删除一个文件时,需要在目录中删除相应的目录项。
  • 显示目录。用户可以请求显示目录的内容,如显示该用户目录中的所有文件及属性。
  • 修改目录。某些文件属性保存在目录中,因而这些属性的变化需要改变相应的目录项。

(2)几种目录结构

  • 单级目录结构

在整个文件系统中只建立一张目录表,每个文件占一个目录项。

44e1f2607077eb90264e3254b2ecd357.png

单级目录结构实现了"按名存取",但是存在查找速度慢、文件不允许重名、不便于文件共享等缺点,不适用于多用户系统。

  • 两级目录结构

两级目录结构可以解决多用户之间的文件重名问题,文件系统可以在目录上实现访问限制,保证安全性。但是两级目录结构缺乏灵活性,不能对文件分类。

19303f21f62c803ff59c63425299a13a.png
  • 多级目录结构(UNIX系统)

树形目录结构可以很方便地对文件进行分类,层次结构清晰,也能够更有效地进行文件的管理和保护。但是,在树形目录中查找一个文件时,需要按路径名逐级访问中间结点,这就增加了磁盘访问次数,无疑将影响查询速度

13e4d51d9876d5e6abf5b4bb71a2abfe.png
  • 无环图目录结构

在多级目录结构的基础上,无环图目录结构方便地实现了文件的共享,但使得系统的管理变得更加复杂(比如共享结点的删除需要注意)。

6cc3327670ca6f60b9051090f0b92e34.png

4.文件共享

硬链接(基于索引结点)、软链接(利用符号链实现文件共享)。

可以这样说∶文件共享,“软”"硬"兼施。硬链接就是多个指针指向一个索引结点,保证只要还有一个指针指向索引结点,索引结点就不能删除;软链接就是把到达共享文件的路径记录下来,当要访问文件时,根据路径寻找文件。可以想象,硬链接的查找速度要比软链接的快。

5.文件保护

文件保护通过口令保护、加密保护和访问控制等方式实现。其中,口令保护和加密保护是为了防止用户文件被他人存取或窃取,而访问控制则用于控制用户对文件的访问方式。

(1)访问控制

  • 访问类型:
    读。
    写。
    执行。将文件装入内存并执行。
    添加。将新信息添加到文件结尾部分。
    删除。删除文件,释放空间。
    列表清单。列出文件名和文件属性。

此外还可以对文件的重命名、复制、编辑等加以控制。这些高层的功能可以通过系统程序调用低层系统调用来实现。保护可以只在底层提供。

  • 访问控制:

最常用的方法是根据用户身份进行控制,通常是,为每个文件和目录增加一个访问控制列表,以规定每个用户名及其所允许的访问类型。这种方法的优点是可以使用复杂的访问方法,缺点是长度无法预计并且可能导致复杂的空间管理,使用精简的访问列表可以解决这个问题。

精简的访问列表采用拥有者、组和其他三种用户类型:

拥有者。创建文件的用户。
组。一组需要共享文件且具有类似访问的用户。
其他。系统内的所有其他用户。

(2)口令和密码
口令指用户在建立一个文件时提供一个口令,系统为其建立 FCB 时附上相应口令,同时告诉允许共享该文件的其他用户。用户请求访问时必须提供相应的口令。这种方法时间和空间的开销不多,缺点是口令直接存在系统内部,不够安全。
密码指用户对文件进行加密,文件被访问时需要使用密钥。这种方法保密性强,节省了存储空间,不过编码和译码要花费一定的时间。


二、文件系统的实现

1.文件系统的层次结构

2879667da624518e50adb497ed2c35a8.png

(1)用户调用接口

文件系统为用户提供与文件及目录有关的调用,如新建、打开、读写、关闭、删除文件,建立、删除目录等。此层由若干程序模块组成,每个模块对应一条系统调用,用户发出系统调用时,控制即转入相应的模块。

(2)文件目录系统

文件目录系统的主要功能是管理文件目录,其任务有管理活跃文件目录表、管理读写状态信息表、管理用户进程的打开文件表、管理与组织存储设备上的文件目录结构、调用下一级存取控制模块。

(3)存取控制验证模块

实现文件保护主要由该级软件完成,它把用户的访问要求与 FCB中指示的访问控制权限进行比较,以确认访问的合法性。

(4)逻辑文件系统与文件信息缓冲区

逻辑文件系统与文件信息缓冲区的主要功能是,根据文件的逻辑结构将用户要读写的逻辑记录转换成文件逻辑结构内的相应块号。

(5)物理文件系统

物理文件系统的主要功能是把逻辑记录所在的相对块号转换成实际的物理地址。

(6)辅助分配模块

分配模块的主要功能是管理辅存空间,即负责分配辅存空闲空间和回收辅存空间。

(7)设备管理程序模块

设备管理程序模块的主要功能是分配设备、分配设备读写用缓冲区、磁盘调度、启动设备、处理设备中断、释放设备读写缓冲区、释放设备等。

  • 例如,用户要查看文件F中的内容:
①对操作系统发出命令(操作系统有面向用户的接口),于是就经过了第0级的用户调用接口。
②操作系统得到命令后,需要查找目录以查找文件F的索引信息,可能是FCB,也可能是索引结点,经过了第1级文件目录系统。
③通过目录找到文件FCB后,需要查看文件FCB上的信息,看看那个用户有没有访问该文件的权限,于是经过了存取控制验证模块。
④用户通过验证后,就真正开始寻址。操作系统经过逻辑文件系统与文件信息缓冲区,得到了相应文件的内容的逻辑地址。
⑤把逻辑地址转换为物理地址,是在物理文件系统中完成的。
⑥至此为止,寻址就已完成。寻址完成后,我们关心的是找到的这块空间应该如何管理,若要释放这块空间,则任务就交给辅助分配模块,若要把这块空间分配给设备用于输入输出,则把任务交给设备管理程序模块。

2.目录实现

目录的实现就是为了查找,因此线性列表实现对应线性查找,哈希表的实现对应散列查找。

(1)线性列表(实现简单)

使用存储文件名和数据块指针的线性表。采用链表结构可以减少删除文件的时间,其优点在于实现简单,不过由于线性表的特殊性,比较费时。

  • 创建新文件时,必须首先搜索目录表以确定没有同名的文件存在,然后在目录表后增加一个目录项。
  • 删除文件则根据给定的文件名搜索目录表,接着释放分配给它的空间。
  • 重用目录项有许多方法∶可以将目录项标记为不再使用,或将它加到空闲目录项表上,还可以将目录表中的最后一个目录项复制到空闲位置,并降低目录表长度。

(2)哈希表

哈希表根据文件名得到一个值,并返回一个指向线性列表中元素的指针。这种方法的优点是查找非常迅速,插入和删除也较简单,不过需要一些预备措施来避免冲突。最大的困难是哈希表长度固定以及哈希函数对表长的依赖性。

3.文件实现

(1)文件分配方式(对磁盘非空闲块的管理)

e39c67314beda70d629d59b731f26ca1.png
  • 连续分配:

这种排序使作业访问磁盘时需要的寻道数和寻道时间最小。连续分配支持顺序访问和直接访问。其优点是实现简单、存取速度快。缺点是文件长度不宜动态增加,只适用于长度固定的文件。反复增删容易产生外部碎片。

a34aff518ef3f4fb5ec0306e04f99b57.png
  • 链接分配:

采取离散分配的方式,消除了外部碎片,因此显著提高了磁盘空间的利用率,可动态分配。对文件的增、删、改也非常方便。

链接分配又可以分为隐式链接和显式链接两种形式。

隐式链接
缺点是无法直接访问盘块,只能通过指针顺序访问文件,且盘块指针会消耗一定的存储空间。隐式链接分配的稳定性也是一个问题,系统在运行过程中由于软件或硬件错误导致链表中的指针丢失或损坏,会导致文件数据的丢失。

b7a59c92c65ef45e4d128558f1a2bf93.png
显式链接
把用于链接文件各物理块的指针,从每个物理块的块末尾中提取出来,显式地存放在内存的一张链接表中。该表在整个磁盘中仅设置一张,称为 文件分配表(FAT)
FAT表在系统启动时就会被读入内存,因此查找FAT的过程是在内存中进行的,因此不仅显著地提高了检索速度,而且明显减少了访问磁盘的次数。

6e03033b9b083d6c55002cedff095768.png
  • 索引分配:

索引分配支持直接访问,且没有外部碎片问题。其缺点是由于索引块的分配,增加了系统存储空间的开销。通常将文件的索引块读入内存的缓冲区中,以加快文件的访问速度。索引块的大小是一个重要的问题,每个文件必须有一个索引块,因此索引块应尽可能小,但索引块太小就无法支持大文件。处理方法如下:

链接方案:将多个索引快链接起来。
多层索引:使第一层索引块指向第二层的索引块,第二层索引块再指向文件块。
混合索引。将多种索引分配方式相结合的分配方式。例如,系统既采用直接地址,又采用单级索引分配方式或两级索引分配方式。

d3ef85e97409d602e4458fb82f8734af.png

(2)文件存储空间管理(对磁盘空闲块的管理)

  • 划分目录区与文件区
  • 组织和管理空闲块
空闲表法:
每一个空闲区对应一个表项。
空闲块的分配与回收与内存的动态分配类似。

025f72f8ba8b84b94b5d7b5c84f141a2.png
空闲链表法:
空闲盘区链将磁盘上的所有空闲盘区(每个盘区可包含若干盘块)拉成一条链。在每个盘区上除含有用于指示下一个空闲盘区的指针外,还应有能指明本盘区大小(盘块数)的信息。从头取,新来的放尾巴后面。
分配盘区的方法与内存的动态分区分配类似,通常采用首次适应算法。在回收盘区时,同样也要将回收区与相邻接的空闲盘区合并。
分配和回收一个盘块的过程非常简单,但在为一个文件分配盘块时可能要重复多次操作。 位示图法:
位示图利用二进制的一位来表示磁盘中一个盘块的使用情况,磁盘上所有的盘块都有一个二进制位与之对应。当其值为"0"时,表示对应的盘块空闲;当其值为"1"时,表示对应的盘块已分配。

da0aa8763ea1d974f1c22acd17ee8cfb.png
成组链接法:
把顺序的n个空闲扇区地址保存在第一个空闲扇区内,其后一个空闲扇区内则保存另一顺序空闲扇区的地址,如此继续,直至所有空闲扇区均予以链接。系统只需要保存一个指向第一个空闲扇区的指针。适合大文件系统。

1698a17b8075a28ac0a030227ed8905a.png

三、磁盘组织与管理

1.磁盘的结构

7ecb08924fef58aa4f6e168c48b11580.png

2.磁盘调度算法

(1)磁盘读写时间

一次磁盘读写操作时间=寻道时间+延迟时间+传输时间。

  • 寻道时间**(影响最大)**:将磁头移动到磁道所需要的时间。Ts=m*n+s。一共n条磁道,每条道需要的时间为m,s是启动磁臂的时间。
  • 延迟时间:磁头定位到某一磁道的扇区所需要的时间,一般来说需要半圈。Tr=1/2r。r为磁盘转速。
  • 传输时间:从磁盘读出或向磁盘写入所需要的时间,由字节数b和转速r决定。Tt=b/rN。N是一个磁道的字节数。扇区数据的处理时间影响较大。

(2)磁盘调度算法

  • 先来先服务FCFS

先请求先访问,具有公平性,如果访问比较聚集性能会较好,但如果比较分散性能会比较差。

  • 最短寻找时间优先SSTF

优先访问当前磁头所在磁道距离最近的磁道,比FCFS性能好,局部性能好,但总体性能未必好,容易出现“饥饿”现象。

665f97e16234e9068331e7d99639702d.png
  • 扫描算法SCAN和LOOK算法

89ed742f411ffc729829bcdcff50f2ac.png

635c8779d585ff7d3607c1e97e1130d4.png

62a3bca424902173fdec0f52fc146a4d.png

8bbdcee9746ca5fe9e8bb693bee888ac.png
  • 几种调度算法的的比较:

对比以上几种磁盘调度算法,FCFS 算法太过简单,性能较差,仅在请求队列长度接近于1 时才较为理想;SSTF 算法较为通用和自然;SCAN 算法和C-SCAN 算法在磁盘负载较大时比较占优势。

c8924fd3f6811ee8aae206e149f099f4.png

(3)盘区交替编号:减少延迟时间

a1ac5e99af7cc0f17702c741fa248f58.png

磁盘是连续自转设备,磁头读/写一个物理块后,需要经过短暂的处理时间才能开始读/写下一块,交替编号能有效减少连续存取的延迟时间。
传输时间是磁盘本身决定的,寻道时间和延迟时间是操作系统通过算法调度可优化的。

3.磁盘的管理

(1)磁盘初始化

  • 磁盘物理分区:扇区分配
  • 为了使用磁盘存储文件,操作系统还需要将自己的数据结构记录在磁盘上∶第一步将磁盘分为由一个或多个柱面组成的分区(即我们熟悉的C盘、D盘等形式的分区);第二步对物理分区进行逻辑格式化(创建文件系统),操作系统将初始的文件系统数据结构存储到磁盘上,这些数据结构包括空闲和已分配的空间及一个初始为空的目录。

(2)引导块

拥有启动分区的磁盘称为启动磁盘或系统磁盘。

(3)坏块

对坏块的处理实质上就是用某种机制,使系统不去使用坏块。坏块属于硬件故障,操作系统是不能修复坏块的。


附:王道选择题笔记

1.UNIX操作系统中,输入/输出设备视为(特殊文件)。

2.文件的逻辑结构是为了方便用户而设计的,物理结构是为了方便存储介质特性、操作系统的管理方式而设计的。

3.若一个用户进程通过 read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是(AB)。
A.若该文件的数据不在内存,则该进程进入睡眠等待状态(阻塞)
B.请求 read系统调用会导致CPU从用户态切换到核心态
C. read系统调用的参数应包含文件的名称(open中的参数包含文件的路径名与文件名,而 read只需使用 open返回的文件描述符)

4.UNIX操作系统中,文件的索引结构放在(索引结点)。
UNIX系统采用树形目录结构。

5.设文件F1的当前引用计数值为1,先建立文件F1的符号链接(软链接)文件F2,再建立文件F1的硬链接文件F3,然后删除文件F1。此时,文件F2和文件F3的引用计数值分别是(1,1)。
建立符号链接时,引用计数值直接复制;建立硬链接时,引用计数值加1。删除文件时,删除操作对于符号链接是不可见的,这并不影响文件系统,当以后再通过符号链接访问时,发现文件不存在,直接删除符号链接;但对于硬链接则不可直接删除,引用计数值减 1,若值不为0,则不能删除此文件,因为还有其他硬链接指向此文件。
当建立F2时,F1和F2的引用计数值都为1。当再建立F3时,F1和F3的引用计数值就都变成了2。当后来删除F1时,F3的引用计数值为2-1=1,F2的引用计数值不变。

6.若文件f1的硬链接为2,两个进程分别打开fl和2,获得对应的文件描述符为fd1和fd2,则下列叙述中正确的是(BC)。
A. f1和f2的读写指针位置保持相同
B.f1和f2共享同一个内存索引结点
C.fd1和fd2分别指向各自的用户打开文件表中的一项

7.对一个文件的访问,由(用户访问权限和文件属性)共同限制。

8.系统级安全管理包括注册和登录。

9.某文件系统中,针对每个文件,用户类别分为4类∶安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种∶完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为(20)。

10.设文件索引结点中有7个地址项,其中4个地址项是直接地址索引,2 个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4B,若磁盘索引块和磁盘数据块大小均为256B,则可表示的单个文件最大长度是(1057KB)。
每个磁盘索引块和磁盘数据块大小均为256B,每个磁盘索引块有256/4=64个地址项。因此,4个直接地址索引指向的数据块大小为4×256B;2个一级间接索引包含的直接地址索引数为2×(256/4),即其指向的数据块大小为2×(256/4)×256B。1个二级间接索引所包含的直接地址索引数为(256/4)x(256/4),即其所指向的数据块大小为(256/4)x(256/4)×256B。因此,7个地址项所指向的数据块总大小为4×256+2×(256/4))x256+(256/4)×(256/4)×256=1082368B=1057KB。

11.一个文件系统中,其FCB占64B,一个盘块大小为1KB,采用一级目录。假定文件目录中有3200个目录项。则查找一个文件平均需要(100)次访问磁盘。
3200个目录项占用的盘块数为3200×64B/1KB= 200个。因为一级目录平均访盘次数为1/2 盘块数(顺序查找目录表中的所有目录项,每个目录项为一个FCB),所以平均的访问磁盘次数
为200/2=100次。

12.利用顺序检索法查找完成后,即可得到文件的逻辑地址。

13.设有一个记录文件,采用链接分配方式,逻辑记录的固定长度为100B,在磁盘上存储时采用记录成组分解技术。盘块长度为 512B。若该文件的目录项已经读入内存,则对第 22个逻辑记录完成修改后,共启动了磁盘(6)次。
第22个逻辑记录对应4(22×100/512=4,余152)个物理块,即读入第5个物理块,由于文件采用的物理结构是链接文件,因此需要从目录项所指的第一个物理块开始读取,依次读到第4块才得到第5块的物理地址,共启动磁盘5次。修改还需要写回操作,由于写回时已获得该块的物理地址,只需1次访问磁盘,因此共需要启动磁盘6次。

14.在文件的索引结点中存放直接索引指针10个,一级和二级索引指针各1个。磁盘块大小为1KB,每个索引指针占4B。若某文件的索引结点已在内存中,则把该文件偏移量(按字节编址)为1234和307400处所在的磁盘块读入内存,需访问的磁盘块个数分别是(1,3)。
10个直接索引指针指向的数据块大小为10×1KB=10KB。每个索引指针占4B,则每个磁盘块可存放1KB/4B=256个索引指针,一级索引指针指向的数据块大小为256×1KB=256KB,二级索引指针指向的数据块大小为256×256×1KB=2KB=64MB。
按字节编址,偏移量为1234时,因 1234B<10KB,由直接索引指针可得到其所在的磁盘块地址。文件的索引结点已在内存中,因此地址可直接得到,因此仅需1次访盘即可。
偏移量为307400时,因10KB+256KB<307400B<64MB,可知该偏移量的内容在二级索引指针所指向的某个磁盘块中,索引结点已在内存中,因此先访盘2次得到文件所在的磁盘块地址,再访盘1次即可读出内容,共需3次访盘。

15.文件系统用位图法表示磁盘空间的分配情况,位图存于磁盘的32~127号块中,每个盘块占1024B,盘块和块内字节均从0开始编号。假设要释放的盘块号为409612,则位图中要修改的位所在的盘块号和块内字节序号分别是(82,1)。
盘块号= 起始块号+[盘块号/(1024×8)]=32+[409612/(1024×8)]=32+50=82,这里问的是块内字节号而不是位号,因此还需除以8(1B=8位),块内字节号=[(盘块号%(1024×8))/8]=1。

16.下列选项中,可用于文件系统管理空闲磁盘块的数据结构是(ACD)。
A.位图 B.索引结点 C.空闲磁盘块链 D.文件分配表(FAT)

17.磁盘是分时共享的设备,但在每个时刻最多能有一个作业启动它。

18.光盘、U盘、磁盘既能顺序访问,又能随机访问。磁带只能顺序访问。

19.磁盘上的文件以块为单位,读写也以块为单位。

20.系统总是访问磁盘的某个磁道而不响应对其他磁道的访问请求,这种现象称为磁臂黏着。下列磁盘调度算法中,不会导致磁臂黏着的是(A)。
A.先来先服务(FCFS)
B.最短寻道时间优先(SSTF)
C.扫描算法(SCAN)
D.循环扫描算法(CSCAN)
当系统总是持续出现某个磁道的访问请求时,均持续满足最短寻道时间优先、扫描算法和循环扫描算法的访问条件,会一直服务该访问请求。而先来先服务按照请求次序进行调度,比较公平,因此选A。

21.某文件系统的簇和磁盘扇区大小分别为1KB和512B。若一个文件的大小为1026B,则系统分配给该文件的磁盘空间大小是(2048B)。
绝大多数操作系统为改善磁盘访问时间,以簇为单位进行空间分配,因此答案选D。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值