操作系统

李梓晴·2024-06-15 00:16·79 次阅读

操作系统

进程管理#


操作系统概述#

操作系统的定义#

能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。

操作系统有三个重要作用#

  1. 管理计算机中运行的程序和分配各种软硬件资源
  2. 为用户提供友善的人机界面
  3. 为应用程序的开发和运行提供一个高效率平台

操作系统的四个特征#

  1. 并发性:程序是并发运行
  2. 共享性:资源的共享,例如线程共享进程资源,所有进程
  3. 虚拟性:设备管理里把物理的硬件虚拟多个逻辑设备。比如:一台打印机虚拟多台给多个人使用。
  4. 不确定性(异步性):程序运行都是往前运行但运行结果不是固定的。

操作系统的功能#

  1. 进程管理:实质上是对处理机的执行“时间”进行管理,采用多道程序等技术将CPU的时间合理地分配给每个任务,主要包括进程控制、进程同步、进程通信和进程调度。
  2. 文件管理:主要包括文件存储空间管理,目录管理,文件的读/写管理和存取控制。
  3. 存储管理:存储管理是对主存储“空间”进行管理,主要包括存储分配与回收、存储保护、地址映射和主存扩充。
  4. 设备管理:实质是对硬件设备的管理,包括对输入/输出设备的分配、启动、完成和回收。
  5. 作业管理:包括任务、界面管理,人机交互,图形界面,语音控制和虚拟现实等。

操作系统的分类#

  1. 批处理操作系统:批量处理操作,不需要人为一个一个处理。分为单道批处理和多道批处理,就是同时处理一个还是同时处理多个。
  2. 分时操作系统:这个就是并发性,将CPU工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。对交互性要求高。
  3. 实时操作系统:这个和分时一个道理,不同的是这个针对设备的响应有一定优先级。就是某个设备需要CPU在1秒里处理自己,CPU就要在1秒内处理。对交互要求不高,但可靠性要求高。
  4. 网络操作系统:就是使用互联网方便计算机有效共享网络资源,为网络用户提供各种服务。三种模式:集中模式(有一个集中的计算机来共享信息)、客户端/服务器模式(C/S模式)、对等模式(p2p,各个计算器是平等,没有绝对的客户端和服务器)。
  5. 分布式操作系统:是网络操作系统的升级版,计算机的物理地点是分散的,系统中计算机无主、次之分。任意两台计算机可以通过通信交换信息。
  6. 微型计算机操作系统:微机操作系统,常用有windows、mac OS、Linux

嵌入式操作系统主要特点#

  1. 微型化:从性能和成本考虑,系统代码量少,内存少,字长短,运行速度有限,能源少。
  2. 可定制:因为微型所以去除了不必要的功能,所以需要根据不同的作用来删减增加系统代码。
  3. 实时性:嵌入式系统主要应对各种控制硬件,所以对实时性有一定要求。需要在规定时间里做出响应。
  4. 可靠性:需对关键要害应用提供容错和防故障措施。
  5. 易移植性:采用硬件抽象层和板级支撑包的底层设计技术,提高可移植性。

嵌入式系统初始化过程:自底向上,从硬件到软件的顺序为:片级初始化→板级初始化→系统初始化

进程组成和状态#

进程的组成#

进程控制块PCB(唯一标志),程序(运行的程序,要做什么),数据(执行操作的数据)

三态图#

  • 运行→阻塞:需要等待除CPU外的资源时,就会从运行转阻塞,并释放CPU
  • 运行→就绪:其他资源充足,缺CPU资源。可能时间片到了。
  • 阻塞→就绪:其他资源有了,等待CPU就转到就绪。
  • 就绪→运行:除了CPU其他资源都有,等待CPU来了就可以变成运行。

前趋图#

用来表示哪些任务可以执行,哪些任务之间有顺序关系。

例如:下图,可知,ABC可以并行执行,但必须ABC执行完后才能执行D,这就确定了两点:任务间进行,任务间顺序

进程资源图#

用来表示进程和资源之间的分配和请求关系,如下图

  • P代表进行、R代表资源。R方框中的圆球表示资源的个数。在上图中R1指向P1,表示R1分配了1个资源给P1,P1指向R2,表示P1请求R2一个资源。如果R2有空余资源给P1,P1就可以运行。
  • 阻塞节点,某个进程所请求的资源不足时,该节点就是阻塞节点。上图P2就是阻塞节点。
  • 非阻塞节点,某个进程所请求的资源还有剩余,就是非阻塞节点,上图P1和P3都是非阻塞节点。
  • 当一个进程资源图中,所有节点都是阻塞节点,该进程陷入死锁状态。

补充:进程资源图化简:就是看资源图中是否能运行所有进程,如果可以就是能化简可以列出进程运行的顺序。否则出现死锁就不能化简。

进程同步与互斥#

  • 临界资源:同一时间只能被一个进程使用的资源,其实就是只有一个资源。
  • 临界区:进程中对临界资源实施操作的那段程序。本质是一段程序代码。
  • 互斥:临界资源在同一时间内只能由一个任务单独使用,使用时需要加锁,使用完解锁才能被其他任务使用。
  • 同步:多个任务可以并发执行,只不过有速度上的差异。在一定情况下停下等待,不存在资源是否单独或共享的问题。
  • 互斥信号量:对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1。
  • 同步信号量:对共享资源的访问控制,初值一般是共享资源的数量。
  • P操作:申请资源,S=S-1,若S≥0,则代表现有资源的多少。若S<0,则代表有多少进程在等待资源。S<0的时候进程进入阻塞状态,插入阻塞队列。
  • V操作:释放资源,S=S+1,若S>0,则代表V操作可以继续执行,S≤0,则代表可以从阻塞队列唤醒一个进程。

经典问题#

三个信号量:互斥信号量S0(仓库独立使用权),同步信号量S1(仓库空闲个数),同步信号量S2(仓库商品个数)。

真题#

1、进程P1、P2、P3、P4和P5的前趋图如下图所示:

若用PV操作控制进程P1、P2、P3、P4和P5并发执行的过程,则需要设置5个信号S1、S2、S3、S4和S5,且信号量S1~S5的初值都等于零。下图中a和b处应分别填(26);c和d处应分别填写(27);e和f处应分别填写(28)。

26、A.V(S1)P(S2)和V(S3)  B.P(S1)V(S2)和V(S3)  C.V(S1)V(S2)和V(S3)  D.P(S1)P(S2)和V(S3)

27、A.P(S2)和P(S4)    B.P(S2)和V(S4)      C.V(S2)和P(S4)    D.V(S2)和V(S4)

28、A.P(S4)和V(S4)V(S5)  B.V(S5)和P(S4)P(S5)  C.V(S3)和V(S4)V(S5)  D.P(S3)和P

答案:C B B

2、进程P1、P2、P3、P4、P5和P6的前趋图如下所示,若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②处应分别为();空③和空④处应分别为();空5和空6处应分别为()。

A.V (S1)V(S2)和P (S2)  B.P (S1)P(S2)和V(S2)  C.V(S1)V (S2)和P(S1)  D.P (S1)P (S2)和V(S1)

A.V (S3)和V(S5)V (S6)  B.P(S3)和V(S5)V(S6)  C.V(S3)和P (S5)P(S6)  D.P (S3)和P(S5)P(S6)

A.P (S6)和P(S7)V(S8)  B.V (S6)和V (S7)V (S8)  C.P (S6)和P(S7)P(S8)  D.V(S7)和P (S7)P (S8)

答案:C B D

 

技巧:前趋图每条线都是一个信号量

进程调度#

概念#

进程调度方式是指当有更高级优先级的进程到来时,如何去分配CPU。这里分为可剥夺和不可剥夺两种。

  • 可剥夺:当有更高优先级进程来时,强行将正在运行的进程CPU分配给高优先级进程。
  • 不可剥夺:当有更高优先级进程来时,等待当前进程自动释放CPU再分给高优先级进程。

在某些操作系统中,一个作业从提交到完成需要经历高、中、低三级调度。调入主系统,调入就绪队列,占用CPU。

  • 作业:一个完整的调度,一组就绪进程。多个进程。
  • 高级调度:又称为长调度、作业调度或接纳调度,它决定处于输入池中的哪个作业可以调入主系统做好运行的准备。成为一个或一组就绪进程,在系统中一个作业只需经过一次高级调度。
  • 中级调度:又称为中程调度或对换调度,它决定于交换区中的哪个就绪进程可以调入内存,就绪进程调入就绪队列。以便直接参与CPU的竞争。
  • 低级调度:又称短程调度或进程调度,它决定于内存中哪个就绪进程可以占用CPU。低级调度是操作系统中最活跃,最重要的调度程序,对系统影响很大。

调度算法#

  •  先来先服务FCFS:先到达的进程优先分配CPU,用户宏观调度
  • 时间片轮转:分配给每个进程CPU时间片,轮流使用CPU,每个进程时间片大小相同,很公平。用于微观调度。
  • 优先级调度:每个进程都用一个优先级,优先级大的先分配CPU。(会配合剥夺,不可剥夺来判别)
  • 多级反馈调度:时间片轮转和优先级调度的结合。设置多个就绪列队,每个列队分别赋予不同的优先级,分配不同时间长度,优先级高的时间片长度长。新进程先进入队列1的末尾,如果队列1时间片到还没执行完转入队列2的末尾。

死锁#

当一个进程在等待永远不可能发生的事件时,就会产生死锁。若系统中有多个进程处于死锁状态,就会造成系统死锁。

死锁产生的四个必要条件

  1. 资源互斥
  2. 每个进程占有资源并等待其他资源
  3. 系统不能剥夺进程资源
  4. 进程资源图是一个环路

打破死锁四大条件的方法

  • 死锁预防:采用某种策略限制并发进程对于资源的请求,破坏死锁产生四个条件之一。例如:系统剥夺资源,进程等待时间超过N秒自动释放自己的资源
  • 死锁避免:一般采用银行家算法,就是提前算出一条不会死锁的资源分配方法,如果有死锁则不分配资源。相当于借贷,必须让对方能还得起才会借钱。
  • 死锁检测:允许产生死锁,但检测到死锁就设法解除。(配合死锁解除使用)
  • 死锁解除:即死锁发生后解除方法。例如:剥夺资源,撤销进程等。

死锁资源计算

n是进程数量,R是资源数量

发生死锁最大资源=n*(R-1)

不发生死锁最小资源=n*(R-1)+1

线程#

传统进程两个属性#

  1. 可拥有资源的独立单位:拥有自己的资源。
  2. 可独立调度和分配的基本单位:进程与进程之间独立。

引入线程原因#

进程在创建、撤销和切换中,系统必须付出较大的时空开销。所以系统中不适宜引入过多进程。进程切换的频率不宜过高,这就限制了并发程度。所以引入线程的概念,将传统进程的两个基本属性分开,线程作为调度和分配的基本单位进程作为独立分配资源的单位。用户可以通过创建线程来完成任务,以减少程序并发执行时付出的时空开销。线程是进程中的一个实体,是被系统独立分配和调度的基本单位。线程基本上不拥有资源,只拥有一点运行中必不可少的资源(如程序计数器、一组寄存器和栈),它可与同属一个进程的其他线程共享进程资源。例如:进程公共数据、全局变量、代码、文件等资源,但不能共享线程独有的资源,如线程的栈指针等标识数据。

存储管理#


分区存储管理#

分区存储组织就是整存,将某进程运行所需的内存整体一起分配给它。

分区方式#

  • 固定分区:静态分区方法,分配前把主存按若干个固定大小进行分区,然后将要运行的作业装配进去,不管作业所需大小。由于分区固定,大小和作业需要的大小不同,会产生内部碎片。
  • 可变分区:动态分区方法,主存空间的分区是在作业转入时划分,划分为作业所需大小。这样就不会存在内部碎片,但这种方式在资源回收后会存在外部碎片。可变分区算法如下:
    • 首次适应法:按内存地址顺序从头查找,找到能放入作业大小的空闲块就装入。
    •  
    • 最佳适应法:从内存空闲块最小的块区开始找,找到能装入作业大小的空闲块就装入。
    •  
    • 最差适应法:与最佳适应法相反,从最大的空闲块找,然后装入作业。
    •  
    • 循环首次适应法:和首次适应法不一样的是,它按上一个作业的地址往下找,首次适应法是每次都从第一个内存地址开始找。
  • 可重定位分区:可以解决碎片问题,就是移动所有已经分配好的区域,促使它成为一个连续区域。

分页存储管理#

  • 优点:利用率高,碎片小,分配及管理简单。
  • 缺点:增加系统开销,可能产生抖动现象。(就是可能页数越高,效率越低)

原理#

和分区不一样的是分区需要整存,就是作业要10GB内存,实际内存只有8GB时就无法运行。分页存储会把主存分成多个页,作业也分成多个页,然后逐页放入主存运行。但这样最后一块页可能存在内部空间碎片。

分页组成#

逻辑页分为页号和页内地址,页内地址就是物理偏移地址,而页号与物理块号并非按序对应,需要查询页表,才能得知页号对应的物理块号,再利用物理块号加上偏移地址才得出真正运行时的物理地址。

  • 页框(帧):作业外存的地址。即物理地址
  • 页号、页内地址:主存的,即逻辑地址
  • 页表:查询逻辑地址页号和物理地址物理块号对应关系的表。

页面置换算法#

  • 先进先出算法(FIFO):先调入内存的页先被置换淘汰,会产生抖动现象。即分配页数越多,缺页率越高
  • 最近最少使用(LRU):在最近时间内,最少被使用的页面进行置换,效率高。不会出现抖动现象,使用大量计数器,但没有LFU多。
  • 最优算法(OPT):理论算法,无法实现。预测未来不被使用或者使用频率低的进行淘汰。未来无法预测所以无法实现。

淘汰原则:优先淘汰最近未访问的,而后淘汰最近未被修改的页面。

快表#

是一块小容量的相联存储器,由快速存储器组成。按内容访问,速度块。并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。

快表是将页表存于Cache中,慢表是将页表存在内存上。慢表需要访问两次才取出页,快表是一次Cache一次内存,所以更快。

其实就是相当于主存和Cache的原理,把页表一部分常用数据放到Cache里,CPU先访问Cache命中就直接去内存取页,不命中就要去内存取页表信息再取页。

分段存储管理#

将进程空间分为一个个段,每段也有段号和段内地址(段长度),也页式存储不同的是,每段物理大小不同,分段是根据逻辑整体分段(完整的程序逻辑)的,因此,段表也与页表内容不同,页表直接是逻辑页号对应物理块号,而段表有段长和基地址两个属性,才能确定一个逻辑段在物理段中的位置。

  • 优点:多个程序可以共享,逻辑性比较强
  • 缺点:内存消耗高,有碎片

真题#

设某进程的段表如下所示,逻辑地址()可以转换为对应的物理地址

A.(0,1597)、(1,30)和(3,1390)

B.(0,128)、(1,30)和(3,1390)

C.(0,1597)、((2,98)和(3,1390)

D.(0,128)、(2,98)和(4,1066)

答案:B

段页式存储管理#

对进程空间先分段、后分页。

  • 优点:空间浪费小、存储共享容易、存储保护容易、能动态链接
  • 缺点:由于管理软件的增加,复杂性和开销也随之增大,需要的硬件以及占用的内容也有所增加,执行速度下降。

 

设备管理#


设备管理概述#

设备是计算机系统与外界交互的工具,具体负责计算机与外部的输入/输出工作,所以常称为外部设备(简称外设)。在计算机系统中,将负责管理设备和输入/输出的机构称为/0系统。因此,I/0系统由设备、控制器、通道(具有通道的计算机系统)、总线和/O软件组成。

设备的分类#

  • 按数据组织分类:块设备、字符设备。
  • 按照设备功能分类:输入设备、输出设备、存储设备、网络联网设备、供电设备。
  • 资源分配角度分类:独占设备、共享设备和虚拟设备。
  • 数据传输速率分类:低速设备、中速设备、高速设备。

设备管理的任务#

保证在多道程序环境下,当多个进程竞争使用设备时,按一定的策略分配和管理各种设备,控制设备的各种操作,完成I/0设备与主存之间的数据交换。

设备管理的主要功能#

动态地掌握并记录设备的状态、设备分配和释放、缓冲区管理、实现物理/0设备的操作、提供设备使用的用户接口及设备的访问和控制。

I/O软件#

I/O设备管理软件的所有层次及每一层功能如下图

 

实例#

当用户程序试图读一个硬盘文件时,需要通过操作系统实现这一操作。与设备无关软件检查高速缓存中有无要读的数据块,若没有,则调用设备驱动程序,向I/O硬件发出一个请求。然后,用户进程阻塞并等待磁盘操作的完成。当磁盘操作完成时,硬件产生一个中断,转入中断处理程序。中断处理程序检查中断的原因,认识到这时磁盘读取操作已经完成,于是唤醒用户进程取回从磁盘读取的信息,从而结束此次I/O请求。用户进程在得到了所需的硬盘文件内容之,后继续运行。

真题#

以下关于I/O软件的叙述中,正确的是()

A、1/0软件开放了1/0操作实现的细节,方便用户使用1/0设备

B、I/O软件隐藏了I/O操作实现的细节,向用户提供物理接口

C、I/0软件隐藏了I/0操作实现的细节,方便用户使用/0设备

D、I/O软件开放了I/O操作实现的细节,用户可以使用逻辑地址访问I/O设备

答案:C解析:1/0软件隐藏了底层复杂的实现细节,只提供接口供用户方便的使用。

设备管理技术#

一台独占设备,在同一时间只能由一个进程使用,其他进程只能等待,且不知道什么时候打印机空闲。极大浪费外设工作效率。

SPOOLING(外围设备联机操作)技术#

就是在外设上建立两个数据缓冲区,分别称为输入井和输出井。这样,无论多少进程在宏观上来说都可以共用一台打印机,只需要将打印命令发出,数据就会排队存储在缓冲区中,打印机会自动按顺序打印,实现物理外设共享。类似CPU的并发执行,宏观就是并行的。

文件管理#


文件管理概述#

  • 文件是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。
  • 信息项是构成文件内容的基本单位,可以是一个字符,也可以是一个记录,记录可以等长,也可以不等长。一个文件包括文件体和文件说明。文件体是文件真实的内容。文件说明是操作系统为了管理文件所用到的信息,包括文件名、文件内部标识、文件的类型、文件存储地址、文件的长度、访问权限、建立时间和访问时间等。
  • 文件管理系统,就是操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构,简称文件系统。文件系统的功能包括按名存取;统一的用户接口;并发访问和控制;安全性控制;优化性能;差错恢复。

文件的类型#

  1. 按文件性质和用途可将文件分为系统文件、库文件和用户文件。
  2. 按信息保存期限分类可将文件分为临时文件、档案文件和永久文件。
  3. 按文件的保护方式分类可将文件分为只读文件、读/写文件、可执行文件和不保护文件。
  4. UNIX系统将文件分为普通文件、目录文件和设备文件(特殊文件)

文件的分类#

文件的逻辑结构可分为两大类:有结构的记录式文件(完整的记录);无结构的流式文件(字节流,比特流)。

文件的物理结构是指文件在物理存储设备上的存放方法,包括:

  1. 连续结构。连续结构也称顺序结构,它将逻辑上连续的文件信息(如记录)依次存放在连续编号的物理块上。就是逻辑文件的1,2,3放到物理块也是1,2,3。
  2. 链接结构。链接结构也称串联结构,它是将逻辑上连续的文件信息(如记录)存放在不连续的物理块上,每个物理块设有一个指针指向下一个物理块。就是逻辑文件1,2,3放到物理可能是1,5,8。然后物理块1会告诉系统下一块在5。
  3. 索引结构。将逻辑上连续的文件信息(如记录)存放在不连续的物理块中系统为每个文件建立一张索引表。索引表记录了文件信息所在的逻辑块号对应的物理块号,并将索引表的起始地址放在与文件对应的文件目录项中。和链接结构一样,逻辑文件1,2,3放到物理块可能是1,5,8。不同的是不是由物理块最后指向下一个物理块而是会建立索引表来关联。
  4. 多个物理块的索引表。索引表是在文件创建时由系统自动建立的,并与文件一起存放在同一文件卷上。根据一个文件大小的不同,其索引表占用物理块的个数不等,一般占一个或几个物理块。

索引文件#

索引文件结构#

下图中0~9是直接索引,10是一级索引,11是二级索引,12是三级索引。这里是一个计算题,一般算出索引的逻辑块号和文件大小。

  • 磁盘索引块大小:指存放索引节点的磁盘大小
  • 磁盘数据块大小(物理盘块):指存放数据的磁盘大小

下图中假设一个磁盘索引块大小为4KB,磁盘数据块大小也为4KB,每个索引地址占4B。

直接索引中可以存10*4KB=40KB的数据。因为0~9是10个地址。

一级间接索引中,一个直接索引就会指向一个4KB大小的磁盘索引块,而每个地址又是4B。所以10指向的索引块号实际是4KB/4B=1024个块号。所以在一级间接索引里实际能存数据大小是1024个块号*4KB=4096KB个数据

二级间接索引同理一级索引,11指向一个二级间接索引,实际二级索引有4KB/4B=1024个一级索引,而一级索引又有1024个直接索引,所以就是1024*1024个块号再乘以4KB数据就是可以存1024*1024*4KB的数据

真题#

设文件索引节点中有8个地址项,每个地址项大小为4字节,其中5个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,磁盘索引块和磁盘数据块大小均为1KB,若要访问文件的逻辑块号分别为5和518,则系统应分别采用_27_—,而且可表示的单个文件最大长度是_28___KB。

(27)

A,直接地址索引和一级间接地址索引

B.直接地址索引和二级间接地址索引

C.一级间接地址索引和二级间接地址索引

D.一级间接地址索引和一级间接地址索引

(28)A.517  B.1029  C.16513  D.66053

答案:CD

解析:依题意,有5个地址项为直接地址索引,所以直接地址索引涉及到的逻辑块号为:0-4。2个地址项为一级间接索引,每个一级间接索引结点对应的逻辑块个数为:1KB/4B=256个。所以一级间接索引涉及到的逻辑块号为:5-516。二级间接索引所对应的逻辑块号即为:517以上。可表示的单个文件长度,首先计算直接地址索引l,就是5个数据块,为5KB,而后一级间接地址索引,可表示256个数据块,即256KB,二级间接地址索引可存储1KB/4B=256个一级间接地址索引l,每个级间接地址索引l又可存储256KB,因此是256*256KB,全部加起来共5+256*2+256*256=66053。

文件目录#

文件控制块(FCB)#

就是文件的信息。文件分为本体和信息。控制块就是存放信息。其包含三类信息:基本信息类,存取控制信息类和使用信息类。

  1. 基本信息类:例如文件名、文件的物理地址、文件长度和文件块数等
  2. 存取控制信息类:文件存取的权限,像UNIX用户分成文件主、同组用户和一般用户三类,这三类用户的读/写执行RWX权限
  3. 使用信息类:文件建立日期,最后一次修改日期,最后一次访问的日期,当前使用的信息(如打开文件的进程数、文件上的等待队列)等

文件控制块的有序集合成为文件目录,类似索引。

考点#

  • 相对路径:当前位置开始,注意不用写当前文件夹的名字,开头千万不要写/号,因为/代表根。
  • 绝对路径:从更目录开始,注意可能没有盘符,/或\都可以,看题目/或\代表根。有这个开头符号多半是绝对路径
  • 全文件名:绝对路径+文件名。

真题#

若某文件系统的目录结构如下图所示,假设用户要访问文件Fauit.swf,且当前工作目录为swshare,则该文件的全文件名为(),相对路径和绝对路径分别为()。

A.fault.swf

B.flash\fault.swfh

C.swshare\flash\fault.swf

D.\swshare\flash\fault.swfswshareSwtools

 

A.swshare\flash\和\flash\iebk.dl1

B.flash 和\swshare\flash\

C.\swshare\flash\和 flash\

D.\flash\和\swshare\flash\

答案:D B

文件存储空间管理#

文件的存取方法#

就是读/写文件存储器上的一个物理块方法。通常有顺序存取和随机存取两种方法。

  • 顺序存取:就是按文件中的信息按顺序依次进行读/写。
  • 随机存取:对文件中的信息可以任意次序随机读/写。

文件存储空间的管理#

  • 空闲区表:将外存空间上的一个连续未分配区域称为“空闲区”。操作系统为磁盘外存上的所有空闲区建立一张空闲表,每个表项对应一个空闲区。使用于连续文件结构。
  • 位示图:这种方法是在外存上建立一张位示图,记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。
  • 空闲块链:每个空闲物理块指向下一个空闲物理块。所有空闲物理块组成一个链表。
  • 成组链接法:和空闲块链差不多,但这个是把空闲块分成若干个组,每个组最后指向下一个空闲组。减少链表信息占用。

真题#

某文件管理系统采用位示图(bitmap)记录磁盘的使用情况。如果系统的字长为32位,磁盘物理块的大小为4MB,物理块依次编号为:0、1、2、:·,位示图字依次编号为:0、1、2、…,那么16385号物理块的使用情况在位示图中的第(25)个字中描述:如果磁盘的容量为1000GB,那么位示图需要(26)个字来表示。

(25)A.-128  B.256  C. 512  D.1024

(26)A. 1200  B.3200  C. 6400  D.8000

答案:C  D

解析:在位示图中,一个物理块占1个字中的1位,第16385占到16386位(从0编号)16386/32=512余数2,可知,其在513个字中描述,但因为从0开始编号,是第512个字;磁盘容量1000GB,共1000GB/4MB=250*1024个物理块,需要250Kb表示,即250*1024bit/32bit=8000个字。

posted @   李梓晴  阅读(79)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
点击右上角即可分享
微信分享提示
目录