操作系统教程OS 孙忠秀

13、文件系统1(操作系统笔记)

2017-01-08  本文已影响250人  yjaal

一、文件与文件系统

1.1 文件是什么

1.2 如何设计一个文件系统

这里先看文件管理的需求:

1.3 文件系统

1.4 文件的分类

按文件性质和用途分类(UNIX),一般分为普通文件、目录文件、特殊文件(设备文件)、管道文件、套接字

1.5 文件的逻辑结构

2
说明:这里是从用户角度看文件,由用户的访问方式确定,这里给出了三种逻辑结构,还可以组织成堆、顺序、索引、索引顺序、散列等结构。第一种是以字节为单位的流式结构,第二种是一种记录式文件结构,最后一种是树形结构。

1.6 典型的文件逻辑结构与文件存取

1.7 文件的存储介质

1.7.1 存储介质与物理块

1.7.2 典型的磁盘结构

3

1.7.3 磁盘访问

一次访问磁盘的请求:读写、磁盘地址(设备号、柱面号、磁头号、扇区号),内存地址(源/目)
完成过程由三个动作组成:

1.7.4 磁盘空间管理

有关数据结构

磁盘地址与块号的转换

4

成组链接法设计思想

5
说明:左上角的是一个专用块,表示一些有用信息,而右边大括号中的都是空闲块。所有空闲块我们分成了若干组,典型的是100块是一组,最后一个空闲组只有99个空闲块。专用块中有20个空闲块号,分别对应右边的空闲块组。每次要使用文件的时候,就从专用块中挑选空闲块,一般从801开始分配。820中的第一块实际上是记录了后面一块800中空闲块的空闲块号和总的空块的数量,后面的以此类推。最后一个组中的0则表示最后一组的标志。

成组链接法:分配算法
分配一个空闲块
L单元(空闲块数)

把专用块内容读到内存L 开始的区域。

成组链表法:回收算法
归还一块
L单元的空闲块数

二、文件控制块和文件目录

2.1 文件属性

2.2 文件目录、目录项与目录文件

2.3 文件目录结构的演化

7
说明:最初是以一级目录结构,最后慢慢演化成了树形目录结构。

2.4 与目录相关的概念

2.4 目录文件之间的关联

8

三、文件的物理结构

文件在存储介质上的存放方式

主要解决两个问题:

3.1 连续(顺序)结构

3.2 链接结构

于是我们可以对此种结构进行某种改造:文件分配表FAT

3.3 文件分配表(FAT)

11
说明:是把所有物理块的表指针都几种存放在一张表中,而不是用一个物理块的一部分来存放指针。从图中可以看到文件A的块号是4,而其下一个物理块的表项为7,最后到值为-1则表示结束。那某文件的起始块号从哪里得到?其实起始块号就记录在了FCB中。这种结构一般用在Windows中。在UNIX中一般采用索引结构。

3.4 索引结构

那索引表应该存放在何处?
这里必须知道每个文件的索引表长度是不一样的,于是不能存放在FCB中,因为FCB是固定大小的。于是我们在FCB中只记录索引表的地址。

12
说明:文件B的索引块号是24,索引表是存放在一个物理块中的。索引块中就记录了分配给这个文件的物理块号,可以看到这里我们是可以随机存取的。

3.5 UNIX的三级索引结构

UNIX文件系统中采用的是多级索引结构(综合模式)

四、文件系统的实现

4.1 概述

4.2 相关术语

4.3 磁盘上的内容

15

4.4 磁盘上文件系统的布局

16

4.5 内存中所需的数据结构(以UNIX为例)

17

五、文件系统实例(UNIX)

5.1 文件目录检索

访问一个文件-->两步骤

5.2 目录文件实现时的改进

六、UNIX文件系统

上一篇 下一篇

猜你喜欢

热点阅读