操作系统(4) -- 文件管理、IO管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统(4) -- 文件管理、IO管理相关的知识,希望对你有一定的参考价值。

参考技术A

引入—为解决变长记录文件的顺序存取低效问题。
索引文件—为变长记录文件建立一张索引表。

与文件管理系统和文件集合相关联的是文件目录。包含文件的相关信息,如:属性、位置和所有权等。
对目录管理的要求如下:

从文件管理角度看,文件由FCB和文件体(文件本身)两部分组成。

文件控制块是操作系统为管理文件而设置的数据结构,存放了文件的有关说明信息,是文件存在的标志。
FCB 中的信息:

文件目录
把所有的FCB组织在一起,就构成了文件目录,即文件控制块的有序集合。
目录项
构成文件目录的项目(目录项就是FCB)
目录文件
为了实现对文件目录的管理,通常将文件目录以文件的形式保存在外存,称为目录文件。

所有的用户使用一个目录

为每个用户创建一个单独的目录

在两级目录中若允许用户建立自己的子目录,则形成3级或多级目录结构(即树型目录结构)

一盘磁带、一张光盘片、一个硬盘分区或一张软盘片都称为一 ,卷是存储介质的物理单位。一个卷可以保存一个文件或多个文件,也可以一个文件保存在多个卷上。
是存储介质上连续信息所组成的一个区域,也叫做物理记录。块是主存储器和辅助存储设备进行信息交换的物理单位,每次总是交换一块或整数块信息。

每个文件在磁盘上占用一组连续的物理块。磁盘地址构成一个线性空间,文件逻辑块顺序与文件物理块顺序相同。

磁盘块分配方法:

可以通过合并(consolidation)将一个文件的各个簇连续存放,以提高I/O访问性能。

链接表FAT,每项保存下一块链接地址,整个磁盘仅设置一张。

链接分配方式虽然解决了连续分配方式所存在的问题, 但又出现了另外两个问题, 即:

为每一个文件分配一个索引块(表),再把分配给该文件的所有块号,都记录在该索引块中。故索引块就是一个含有许多块号地址的数组。

优点 :

缺点 :

索引顺序文件

程序直接控制方式 是指由程序直接控制内存或CPU和外围设备之间进行信息传送的方式。通常又称为“忙—等”方式或循环测试方式。
(1)把一个启动位为“1”的控制字写入该设备的控制状态寄存器。
(2)将需输出数据送到数据缓冲寄存器。
(3)测试控制状态寄存中的“完成位”,若为0,转(2),否则转(4)。
(4)输出设备将数据缓冲寄存器中的数据取走进行实际的输出。

(1)进程需要数据时,将允许启动和允许中断的控制字写入设备控制状态寄存器中,启动该设备进行输入操作。
(2)该进程放弃处理机,等待输入的完成。操作系统进程调度程序调度其他就绪进程占用处理机。
(3)当输入完成时,输入设备通过中断请求线向CPU发出中断请求信号。CPU在接收到中断信号之后,转向中断处理程序。
(4)中断处理程序首先保护现场,然后把输入缓冲寄存器中的数据传送到某一特定单元中去,同时将等待输入完成的那个进程唤醒,进入就绪状态,最后恢复现场,并返回到被中断的进程继续执行。
(5)在以后的某一时刻,操作系统进程调度程序选中提出的请求并得到获取数据的进程,该进程从约定的内存特定单元中取出数据继续工作。

DMA方式又称直接内存访问(Direct Memory Access)方式。其基本思想是在外设和主存之间开辟直接的数据交换通路。DMA采用总线周期挪用实现I/O。

缓冲(Buffering) - 在设备之间传送数据时,(暂时)保存数据。

单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存中为之分配一个缓冲区,该缓冲区用来临时存放输入/输出数据。
设备先把数据写入缓冲区,然后用户进程从缓冲区读走数据。

从自由主存中分配一组缓冲区即可构成缓冲池。

缓冲区可以在收容输入、提取输入、收容输出和提取输出四种方式下工作。

F指向队首,L指向队尾。(emq指空缓冲区队列,inq装满输入数据的输入缓冲队列 ,out装满输出数据的输出缓冲队列 )

Linux的磁盘管理

磁盘的工作原理 --物理概念
  磁道 磁头 扇区 柱面

  磁盘的分类:机械盘(接口IO) 固态盘
    IO --串行SATA SCSI(ISCSI) 并行ATA
    FC二层协议


  文件系统--逻辑概念
    磁盘必须要有文件系统(数据存储) -- 数据库(数据管理平台)
    windows fat32 ntfs
    linux 单文件系统 -- ext2 3 4 xfs

    iNode -- 索引空间(文件属性)
    block -- 存储空间
    数据存储过程、数据复制过程、数据删除过程

    fdisk -- 磁盘分区
    parted
    mkfs 创建文件系统
    mount 挂载
    -a /etc/fstab 开机自动挂载
    umount 卸载
    指定挂载点或者挂载文件

  动态管理--LVM逻辑卷管理
    linux内核模块 -- dm
      先定义PV(物理卷)--再定义VG(卷组)--最后从VG中获取空间 LV(逻辑卷)

    优点:
      可以自由删除或添加空间,不再需要重新定义分区
      动态的可增加,可减少空间内存
      pvcreate vgcreate 命名 lv -l | -L 指定大小 -n 指定名字
      lvextend -- 添加磁盘空间
      lvreduce -- 删除磁盘空间

    最后一个操作:
      做镜像lv命令可以为lv逻辑分区做磁盘镜像;
      这个功能和数据库一块儿使用,实现数据备份;
      lvcreate -n Morrie_LV -s -p r -L 1000M /dev/mapper/VGname-LVname
      /dev/VGname/LVname

    磁盘冗余--RAID磁盘管理
      (软RAID)linux内核模块--md
        廉价的冗余磁盘阵列
        独立的冗余磁盘阵列
          1、冗余
          2、提高读写性能
            raid0--条带技术(重新将数据做一个区分)
              没有满足数据的冗余性,只提高了读写速度
            raid1--镜像技术
              没有提高读写速度,反而变慢了
            raid4--校验盘 3块盘(raid降级)
            raid5--将校验值分别存储于多块盘上
            raid6--二次校验
            raid10--先做raid1,再做raid0
            raid01--先做raid0,再做raid1

        硬raid--需要raid卡来实现
        软raid--使用md模块,让性能变差,降低cpu的性能,工作中见不到
            如果做软raid,不能用分区做raid,要用磁盘做

            mdadm--磁盘管理

        磁盘的命名:
          sd
          md 做raid以后的磁盘
          hd
          vd


  RAID磁盘管理

以上是关于操作系统(4) -- 文件管理、IO管理的主要内容,如果未能解决你的问题,请参考以下文章

直接拿下操作系统!!

直接拿下操作系统!!

探秘linux-文件管理(inode理解)及管道和IO重定向

12.第三章 Linux文件管理和IO重定向

文件管理(硬链接与软连接 ,ls, cp, ....)和标准Io

操作系统-IO管理IO层次结构