操作系统原理王凤广
laoxi18@163.com
( 0546) 7396062
一、文件和文件系统
6.1 文件管理概述第六章 操作系统文件管理文件:
所谓文件,它是一个具有符号名字的一组相关联元素的有序序列。
文件系统:
操作系统中负责管理和存取文件信息的软件机构。由管理文件所需的数据结构(如目录表,文件控制块,存储分配表)和相应的管理软件及访问文件的一组操作所组成。
二,Linux中的文件系统
6.1 文件管理概述第六章 操作系统文件管理在 Linux中,根据上下文的不同,文件系统有以下几种不同含义:
1) 一种特定的文件格式 。 例如,我们说 Linux的文件系统是 Ext2,MSDOS 的 文 件 系 统 是 FAT16,而
Windows NT的文件系统是 NTFS,就是指的这个意思 。
在该含义中,是从物理存储及组织的数据组织的角度,
理解文件系统,不同的文件系统有不同的数据组织形式 。
二,Linux中的文件系统
6.1 文件管理概述第六章 操作系统文件管理在 Linux中,根据上下文的不同,文件系统有以下几种不同含义:
2) 指按特定格式进行,格式化,了的一块存储介质 。 在
Linux系统中,有一个非常重要的概念,就是文件系统的,安装,和,拆卸,。 Liux和 DOS系统不同,没有磁盘名称 ( A:,B:或 C:等 ) 的概念,Linux就一个,文件树,,其他文件系统 ―― 存储介质 ( 软盘,
硬盘或硬盘分区 ),必须经过安装,挂到这个文件树上,才能使用,使用完后必须拆卸 。
二,Linux中的文件系统
6.1 文件管理概述第六章 操作系统文件管理在 Linux中,根据上下文的不同,文件系统有以下几种不同含义:
3) 指操作系统中 ( 通常在内核中 ) 用来管理文件系统及在文件上进行操作的机制及其实现 。 该含义是从实现的角度理解文件系统,即操作系统中如何实现对文件的操作和管理 。
三、文件的分类
6.1 文件管理概述第六章 操作系统文件管理按文件的性质和用途按文件的逻辑结构安文件的存取方式系统文件库文件用户文件 记录文件流式文件 顺序存取文件随机存取文件四、文件管理的功能
6.1 文件管理概述第六章 操作系统文件管理
1、文件存储空间的管理
2、文件目录管理
3、文件的共享与保护
4、文件的操作和使用
6.1 文件管理概述第六章 操作系统文件管理文件管理的目标,是实现文件的按名存取。
6.2 文件的组织结构第六章 操作系统文件管理从用户的观点出发,研究用户概念下的抽象的信息组织形式,这时用户可以观察到的,可以直接处理的数据及结构,它独立于硬件设备 。
一、文件的逻辑组织分类:
记录式有结构文件无结构的流式文件
6.2 文件的组织结构第六章 操作系统文件管理指逻辑文件在物理存储空间中的存放方法和组织关系 。
也就是文件的实际存放形式 。
二、文件的物理组织物理记录,外存存储的基本单位
6.2 文件的组织结构第六章 操作系统文件管理指逻辑文件在物理存储空间中的存放方法和组织关系 。
也就是文件的实际存放形式 。
二、文件的物理组织连续文件 一个逻辑文件的信息存放在文件存储器上相邻的物理块中 结构简单,实现容易,存取速度快;
但是 1)使用不灵活,不便于动态处理。
2)存储器利用率低。
一般用于存放大小不变的操作系统文件。
6.2 文件的组织结构第六章 操作系统文件管理指逻辑文件在物理存储空间中的存放方法和组织关系 。
也就是文件的实际存放形式 。
二、文件的物理组织链接(串联)文件 一个文件的信息,分散地存放在外存的不连续的若干个物理块中。存放文件的每一个物理块都有一个指向下一块的指针。 优点 结构简单,实现容易,便于动态处理,存储器利用率高缺点 只适于顺序存取。
6.2 文件的组织结构第六章 操作系统文件管理指逻辑文件在物理存储空间中的存放方法和组织关系 。
也就是文件的实际存放形式 。
二、文件的物理组织索引文件 系统为每个文建立一张索引表,其中每个表目指出文件逻辑记录所在的物理块号。 优点 1) 便于动态处理,
2)存储器利用率高
3)实现随机存取缺点 1)索引表增加了系统开销
2)需要存取索引表,降低访 问速度。
6.2 文件的组织结构第六章 操作系统文件管理二、文件的物理组织
UNIX文件系统的物理结构:
6.2 文件的组织结构第六章 操作系统文件管理文件的存取方法和文件的结构,存储介质的属性有关三、文件的存取方法顺序存取随机存取(直接存取)
按键存取。
6.3 文件的组织结构第六章 操作系统文件管理文件的目录管理是实现,文件按名存取,的基础 。 文件的目录是由目录项组成的,目录项中保存着某个文件的管理信息 。 因此,文件目录是文件管理的,入口,。
一、文件的目录第一个文件的目录项第二个文件的目录项第三个文件的目录项
……
第 n 个文件的目录项
6.3 文件的组织结构第六章 操作系统文件管理文件目录项的组成:
文件名字文件的大小文件类型文件的修改日期文件的起始地址文件的存取控制信息一、文件的目录
6.3 文件的组织结构第六章 操作系统文件管理单级目录结构 把同一个逻辑介质上的文件目录项,登记在一个目录中 。
二、文件的目录结构二级目录结构 把目录分成主目录 ( MFD) 和用户目录
( UFD)两级 。 主目录由用户名和用户文件目录首地址组成 。 每个用户单独建立一个目录,各用户的目录项登记在自己的目录中 。
多级目录结构 每个逻辑存储介质都有一个固定的根目录,
根目录中登记了子目录的目录项和普通文件的目录性,
子目录中又可以包含子目录和普通文件 。
介质规模大时,系统效率非常低保证名字唯一性的难度大使用效率比单级目录高但使用仍然很不灵活使用效率高使用灵活
6.3 文件的组织结构第六章 操作系统文件管理从当前位置到目标文件的的通路。
三、文件的路径绝对路径相对路径值班目录:
提高系统性能
6.3 文件的组织结构第六章 操作系统文件管理
LINUX中的 i 节点文件系统的目录项只包含文件名等基本信息,其他管理信息如访问控制,文件索引表等都放在另一个数据结构-- i 节点中 。
四,Linux中的目录结构目录项包含以下内容,
索引节点号( 32位)
数据结构长度( 16位)
文件名长度( 8位)
文件类型( 8位)
文件名字(最长 255个字节)
6.3 文件的组织结构第六章 操作系统文件管理四,Linux中的目录结构引导块超级块
i节点部分 数据区部分
6.4 文件存储空间的管理把文件存储空间中的一个连续未分配区域称为“空白文件”,系统为这些“空白文件”单独建立一个目录,
把这些目录放在一个表格中。
一、空白文件目录序号 第一空白块号 空白块个数
0 2 4
1 9 3
2 100 200000
第六章 操作系统文件管理
6.4 文件存储空间的管理位示图,就是利用二进制的一位来代表一个物理块的使用情况。
二、位示图法第六章 操作系统文件管理
6.4 文件存储空间的管理每个空闲块中设置一个指针,使它指向下一个空闲块,
这样形成一个空闲块链表。
三、空闲块链法第六章 操作系统文件管理
6.5 文件的共享文件共享包含两方面的含义:
一个用户使用其他用户建立的文件几个用户同时使用一个文件一、概述第六章 操作系统文件管理在现代的操作系统中,只要有相应的权限,一个用户可以象访问自己的文件一样,访问其它用户的文件。
6.5 文件的共享文件共享包含两方面的含义:
一个用户使用其他用户建立的文件几个用户同时使用一个文件一、概述第六章 操作系统文件管理几个用户同时使用一个文件:
动态共享静态共享
6.5 文件的共享几个进程 PCB中的打开文件指针指向同一个已打开的文件数据结构。
二、动态共享第六章 操作系统文件管理
6.5 文件的共享几个文件名指向同一个文件内容。
三、静态共享第六章 操作系统文件管理
file1
地址
file2
地址文件内容
6.6 文件的保护防止意外事故破坏文件系统防止用户非法访问文件防止合法用户误操作防止文件泄密一、文件保护的功能第六章 操作系统文件管理
6.6 文件的保护二、文件保护第六章 操作系统文件管理文件加密口令保护文件存取控制矩阵文件存取控制表通过一定的加密算法,对文件的内容进行加密。
只有知道密钥的人,才能把密文还原成明文。
为文件设置一个口令,只有知道口令的人,才能操作文件。
Zhang Wang Li …
File1 RWX RX RX …
File2 R R RX …
file3 RWX X …
Zhang RWX
Wang R
Li RW
Zhao R
liu X
6.6 文件的保护三、文件系统保护第六章 操作系统文件管理采用先进的日志文件系统系统备份全量备份增量备份
6.7 文件操作一、概述第六章 操作系统文件管理文件系统为用户提供一套系统调用,用户在编写程序时通过调用这些系统调用,方便有效地对文件进行操作和控制。
建立、打开、读、
写、删除、关闭
6.7 文件操作二、文件操作第六章 操作系统文件管理建立文件删除文件打开文件关闭文件读文件
open(filename)
查找文件是否存在在内存中申请一个,活动文件表,
把文件目录项中的有关内容读入,活动文件表,。
delete(filename)
查找文件是否存在释放文件存储空间释放文件目录项
open(filename)
查找文件是否存在在内存中申请一个“活动文件表”
把文件目录项中的有关内容读入“活动文件表”。
close(filename)
如果文件在打开期间,活动表象,的内容改变了,
回写磁盘。
撤销文件在内存中所占的表项
read(filename,N,M)
从内存的文件活动表中,找到指定的文件。
按存取控制说明,检查本次访问的合法性。
将逻辑地址转换为物理地址。
调用设备驱动程序进行 I/O操作。
6.7 文件操作二、文件操作第六章 操作系统文件管理文件系统为用户提供一套系统调用,用户在编写程序时通过调用这些系统调用,方便有效地对文件进行操作和控制。
6.8 Linux文件系统概览一,Linux的磁盘结构第六章 操作系统文件管理为了提高系统性能,Linux的硬盘组块化
将一个目录下的所有 I节点放在同一个块组中。
将子目录放在和父目录不同的块组中。
尽量将文件数据与该文件的 I节点放在同一个块组中。
6.8 Linux文件系统概览二,VFS( Virtual Filesystem Switch)的概念第六章 操作系统文件管理在 Linux中,把对各种不同的文件系统的操作和管理纳入到一个统一的框架中,使得用户程序可以通过同一个文件系统操作界面,也就是同一组系统调用,对各种不同的文件系统进行操作。
这样,就对用户隐去了各种不同文件系统的实现细节,
为用户提供了一个统一的、抽象的、虚拟的文件系统界面,这就是所谓的,虚拟文件系统,VFS。
6.8 Linux文件系统概览三,Linux文件 的逻辑结构第六章 操作系统文件管理
Linux的文件系统主要的数据结构是超级块、目录,I节点这些数据结构,对不同的文件系统,在磁盘上的组织形式是不同的 ------物理形式这些数据结构,不同的文件系统在内存中的组织形式,是相同的 ---------抽象形式