设备管理-文件管理

设备管理概述

  • 设备是计算机系统与外界交互的工具,具体负责计算机与外部的输入/输出工作,所以常称为外部设备(简称外设)。在计算机系统中,将负责管理设备和输入/输出的机构称为I/O系统。因此,I/O系统由设备、控制器、通道(具有通道的计算机系统)、总线和I/O软件组成。
  • 设备的分类:
    1. 按数据组织分类:块设备、字符设备。
    2. 按照设备功能分类:输入设备、输出设备、存储设备、网络联网设备、供电设备。
    3. 资源分配角度分类:独占设备、共享设备和虚拟设备。
    4. 数据传输速率分类:低俗设备、中速设备、高速设备。
  • 设备管理的任务是保证在多道程序环境下,当多个进程竞争使用设备时,按一定的策略分配和管理各种设备,控制设备的各种操作,完成I/O设备与主存之间的数据交换。
  • 设备管理的主要功能是动态的掌握并记录设备的状态,设备分配和释放、缓冲区管理、实现物理I/O设备的操作、提供设备使用的用户接口及设备的访问和控制。

I/O软件

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

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

设备管理技术

  • 一台独占设备,在同一时间只能由一个进程使用,其他进程只能等待,且不知道什么时候打印机空闲,此时,极大地浪费了外设的工作效率。
  • 引入SPOOLING(外围设备联机操作)技术,就是在外设上建立两个数据缓冲区,分别称为输入井和输出井,这样,无论多少进程,都可以共用这一台打印机,只需要将打印命令发出,数据就会排队存储在缓冲区中,打印机会自动俺顺序打印,实现了物理外设的共享,使得每个进程都感觉在使用一个打印机,这就是物理设备的虚拟化。如下图所示:

文件管理概述

  • 文件是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。
  • 信息项是构成文件内容的基本单位,可以是一个字符,也可以是一个记录,记录可以等长,也可以不等长。一个文件包括文件体文件说明。文件体是文件真实的内容。文件说明是操作系统为了管理文件所用到的信息,包括文件名、文件内部标识、文件的类型、文件存储地址、文件的长度、访问权限、建立时间和访问时间等。
  • 文件管理系统,就是操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构,简称文件系统。文件系统的功能包括按名存取;统一的用户接口;并发访问和控制;安全性控制;优化性能;差错恢复。
  • 文件的类型:
    1. 按文件性质和用途可将文件分为系统文件、库文件和用户文件。
    2. 按信息保存期限分类可将文件分为临时文件、档案文件和永久文件。
    3. 按文件的保护方式分类可将文件分为只读文件、读/写文件、可执行文件和不保护文件。
    4. UNIX系统将文件分为普通文件、目录文件和设备文件(特殊文件)。
  • 文件的逻辑结构可分为两大类:有结构的记录式文件;无结构的流式文件
  • 文件的物理结构是指文件在物理存储设备上的存放办法,包括:
    1. 连续结构。连续结构也称顺序结构,它将逻辑上连续的文件信息(如记录)依次存放在连续编号的物理块上
    2. 链接结构。链接结构也称串联结构,它是将逻辑上连续的文件信息(如记录)存放在不连续的物理块上,每个物理块设有一个指针向下一个物理块
    3. 索引结构。将逻辑上连续的文件信息(如记录)存放在不连续的物理块中,系统为每个文件建立一张索引表。索引表记录了文件信息所在的逻辑块号对应的物理块号,并将索引表的起始地址放在与文件对应的文件目录项中。
    4. 多个物理块的索引表。索引表是在文件创建时由系统自动建立的,并与文件一起存放在同一文件卷上。根据一个文件大小的不同,其索引表占用物理块的个数不等,一般占一个或几个物理块。

索引文件结构

  • 如图所示,系统中有13个索引节点,0-9为直接索引,即每个索引节点存放的是内容,假设每个物理盘大小为4KB,共可存4KB*10=10KB数据;
  • 10号索引节点为一级间接索引节点,大小为4KB,存放的并非直接数据,而是链接到直接物理盘块的地址,假设每个地址占4B,则共用1024个物理盘,可存1024*4KB=4096KB数据。
  • 二级索引节点类似,直接盘存放一级地址,一级地址再存放物理盘块地址,而后链接到存放数据的物理盘块,容量有扩大了一个数量级,为1024* 1024* 4KB数据。

文件目录

  • 文件控制块中包含以下三类信息:基本信息类、存取控制信息类和使用信息类。
    1. 基本信息类。例如文件名、文件的物理地址、文件长度和文件块数等。
    2. 存取控制信息类。文件的存取权限,像UNIX用户分成文件主、同组用户和一般用户三类,这三类用户的读/写执行RWX权限。
    3. 使用信息类。文件建立日期、最后一次修改日期、最后一次访问的日期、当前使用的信息(如打开文件的进程数、在文件上的等待队列)等。
  • 文件控制块的有序集合称为文件目录。
  • 相对路径:是从当前路径开始的路径。
  • 绝对路径:是从根目录开始的路径。
  • 全文件名=绝对路径+文件名。要注意,绝对路径和相对路径是不加最后的文件名的,只是单纯的路径序列。

文件存储空间管理

  • 文件的存取方法是指读/写文件存储器上的一个物理块的方法。通常有顺序存取和随机存取两种方法。顺序存取方法是指对文件中的信息按顺序依次进行读/写;随机存取方法是指对文件中的信息可以按任意的次序随机的读/写。
  • 文件存储空间的管理:
    1. 空闲区表。将外存空间上的一个连续的未分配区域称为“空闲区”。操作系统为磁盘外存上的所有空闲区建立一张空闲表,每个表项对应一个空闲区,适用于连续文件结构。

    2. 位示图。这种方法是在外存上建立一张位示图,记录文件存储器的使用情况。每一位对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。

    3. 空闲块链。每个空闲物理块中有指向下一个空闲物理块的指针,所有空闲物理块构成一个链表,链表的头指针放在文件存储器的特定位置上(如管理块中),不需要磁盘分配表,节省空间。

    4. 成组链接法。例如,在实现时系统将空闲块分成若干组,每100个空闲块为一组,每组的第一个空闲块登记了下一组空闲块的物理盘块号空闲块总数。假如某个组的第一个空闲块号等于0,意味着该组是最后一组,无下一组空闲块。

posted @ 2024-04-12 16:11  YhFei  阅读(23)  评论(0编辑  收藏  举报