今天主要介绍一下IO管理软件和文件管理相关知识,因为IO管理软件这个知识点很小,所以在这里一并介绍。
文件管理相关的知识考点较为分散,一般都是概念理解型题目,注意理解即可,主要考点有:
关注公众号“月上老狗”,发送“软件设计师”,获取历年软件设计师软考真题。
IO管理软件是操作系统的重要组成部分,主要负责管理计算机系统中的输入输出设备。常见的考点包括IO管理的基本概念、分层结构及每个层次的具体作用。以下是IO管理软件的分层结构及每个层次的作用:
User Level
)Device-Independent Software Layer
)Device Drivers Layer
)Interrupt Handlers Layer
)Hardware Layer
)用户层是应用程序和操作系统交互的层次。应用程序通过系统调用来请求IO操作,向操作系统提交IO请求,并接收IO操作完成后的数据。用户层的主要工作:
设备独立性层提供设备无关的IO操作接口,使应用程序无需关心具体的设备细节。负责实现设备独立的功能,如缓冲区管理、错误处理和设备分配。设备独立性层的主要工作:
设备驱动程序是设备无关性层和硬件层之间的桥梁,负责实现设备特定的操作。直接与硬件设备进行交互,执行具体的IO操作。设备驱动程序层的主要工作:
中断处理层负责处理来自硬件设备的中断请求,确保系统及时响应设备的状态变化。中断处理程序在设备操作完成后被触发,负责处理和清理中断。中断处理层的主要工作:
硬件层是物理设备本身,负责实际的数据传输和控制操作。包括各种输入输出设备,如磁盘、打印机、网络接口等。硬件层的主要工作:
文件是数据集合的逻辑单元,是计算机存储信息的基本单位。每个文件都有一个文件名和文件属性,属性包括文件类型、大小、创建时间、修改时间、权限等。
拓展:文件可以类比现实世界的书籍、纸张、文件等信息集合,这些信息在计算机中,可以统称为“文件”。
文件系统通常采用树形目录结构,以根目录为起点,向下扩展为多个子目录和文件。树形结构的文件地址表示方式,一般有两种:
例题:以Linux系统为例,在当前目录为 /home/user
的情况下,文件 docs/report.txt
的相对路径为 docs/report.txt
,绝对路径为 /home/user/docs/report.txt
。
拓展:在Linux系统中,一个系统一般只有一个根目录:
/
,但Windows系统略有不同,因为Windows系统中的文件管理默认是分区的,也就是常见的C / D / E
这些盘符,根目录也就有了多个,即C / D / E
等。
位示图是一种空间管理方法,利用位图来记录磁盘块的使用情况,其中“位”可以认为是“比特位”。每个磁盘块对应位图中的一位,1 表示已使用,0 表示空闲。
位示图中还有一个“字”的概念,假设一个字有8个比特位,即一个字可以表示8个磁盘块是否可以使用。
注意:“字”一般默认从 1 开始编号,而“位”一般默认从 0 开始编号。
考试中,可能会告诉你一个“字”的位长,然后给出一些磁盘块序号,从而求取其位置在第几个字的第几位,总而言之也是简单的数学计算,注意审题即可。
索引文件通过索引表来管理文件,索引表记录文件中每个逻辑块对应的物理块位置。索引表可以是单级索引、多级索引或组合索引。
多级索引(Multilevel Indexing
)是一种分层次管理文件数据块的方法。一级索引表记录指向二级索引表的指针,二级索引表记录指向三级索引表的指针,依此类推,直到最后一级索引表记录指向实际数据块的指针。
假设一个文件系统采用多级索引方式来存储文件,索引表的结构如下:
示例:假设每个索引表最多可以包含 256 个指针,一个数据块的大小是 4 KB。我们有一个大文件需要多级索引来存储。 由以上数据,我们可以得到如下几个结论:
4MB / 4KB = 1024
个数据块。多级索引的优缺点
题目:一个文件系统采用三级索引来管理文件。假设每个索引表最多包含 256 个指针,每个数据块的大小是 4 KB。现在有一个大小为 100 MB 的文件。请计算该文件需要的多级索引表的数量。
解答步骤:
已知:文件大小为 100 MB,数据块大小为 4 KB。
计算文件需要的数据块数量:
数据块数量 =100MB / 4KB
=100 × 1024KB / 4 KB
=25600
个数据块
已知:每个三级索引表可以包含 256 个指向数据块的指针。
需要的三级索引表数量:
三级索引表数量 =25600 / 256
=100
个三级索引表
已知:每个二级索引表可以包含 256 个指向三级索引表的指针。
需要的二级索引表数量:
二级索引表数量 =100 / 256
=0.39
=1
个二级索引表
已知:每个一级索引表可以包含 256 个指向二级索引表的指针。
需要的一级索引表数量:
一级索引表数量 =1 / 256
=0.004
=1
个一级索引表
答案:该文件需要的多级索引表数量为:100
个三级索引表;1
个二级索引表;1
个一级索引表
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!