技术是开源的,知识是共享的。
1 文件与文件系统 1.1 基本概念文件实际上是对磁盘的抽象,是指一组带标识(即文件名)的、在逻辑上有完整意义的信息项的序列。
信息项:是构成文件内容的基本单位(单个或多个字节),各信息项之间具有顺序关系。
文件系统是操作系统中统一管理信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。主要作用有:
统一管理磁盘空间,实施磁盘空间的分配回收实现文件的按名存取实现文件信息的共享,并提供文件的保护、保密手段提供与I/O系统的统一接口表1-1 文件的分类
类别描述普通文件(regular)包含了用户的信息目录文件(directory)管理文件系统的系统文件特殊文件(special file)字符设备文件:和输入输出有关,如打印机、网卡等;块设备文件:磁盘 1.2 文件的逻辑结构与文件存取 1.2.1 文件的逻辑结构流式文件:构成文件的基本单位是字符。文件是有逻辑意义、无结构的一串字符的集合。 记录式文件:文件由若干个记录组成,可以按记录进行读、写、查找等操作。每条记录都有其内部结构。 此外还有树形结构、堆结构、顺序结构、索引结构等。
1.2.2 文件存取包括顺序访问和随机访问(该方式需要提供读写位置)。
2 文件的存储介质 2.1 存储介质与物理块存储介质主要包括磁盘(包括固态硬盘SSD)、磁带、U盘、光盘等。 物理块(块block、簇cluster)是信息存储、传输、分配的独立单位。存储设备被划分为大小相等的物理块,统一编号。
2.2 磁盘的典型结构每个磁盘包含一个盘面,盘面上有很多个同心圆,称之为磁道,每个磁道上有若干个圆弧称之为扇区。每个盘面上都有唯一的一个读写磁头,该磁头沿半径方向运动。 任何时刻只有一个磁头处于活动状态并且输入输出的数据流以位串的形式出现。 磁盘中的物理地址有三部分组成:磁头号(盘面号)、磁道号(柱面号)、扇区号。 每个扇区包含三部分内容**:标题、数据、校验信息**。
2.3 磁盘访问每次磁盘请求有三个步骤组成(SSD只有第三步): 1、寻道时间:磁头移动定位到指定磁道; 2、旋转延迟时间:等待指定扇区从磁头下旋转经过; 3、数据传输时间:数据在磁盘与内存之间的实际传输。
3 磁盘空间管理 3.1 相关数据结构1 位图
用一串二进制位反映磁盘空间中分配使用情况,每个物理块对应一位,已被分配的物理块为0,否则为0;申请物理块时,可以在位图中查找为1的位,返回对应的物理块号并同时将对应位修改成0;归还时将对应位置1。 2 空闲块表 将所有的空闲块记录在一个表中,即空闲块表。表中主要记录两项内容:起始块号,块数。 3 空闲块链表 把所有空闲块链成一个链。为了防止链过多,可以用成组