20230420-NTFS,FAT32和exFAT文件系统有什么区别

当用户在windows 平台上插入新的u盘 或移动硬盘时,系统会自动弹出需要格式化的窗口,提供了3种不同文件格式 NTFS FAT32 exFAT

很多用户对这3种格式知之甚少,只是根据弹窗的指示进行操作,windows 也没有对3种格式提供详细的解释,本文会对这些问题进行详细解释

首先需要明白什么是文件系统

文件系统是系统对文件的存放排列方式,不同格式的文件系统关系到数据是如何在磁盘进行存储,文件名、文件权限和其他属性也存在不同,windows 操作系统支持ntfs fat32 和exFAT 三种不同文件系统,ntfs是目前windows 系统中一种现代文件系统,目前使用最广泛,内置的硬盘大多数都是ntfs 格式,fat32 是一种相对老旧的文件系统,不能像ntfs 格式支持很多现代文件格式的属性,但对于不同系统平台具有良好的兼容性,可以在linux mac 或android 系统平台上通用

exFAT 是FAT32 文件格式的替代品,很多设备和操作系统都支持该文件系统,但是目前用的不多

3种文件格式的不同

Fat32 文件格式是一种通用格式,任何usb存储设备都会预装该文件系统,可以在任何操作系统平台上使用,最主要的缺陷是只支持最大单文件大小容量为4GB,因此日常使用没有问题,只有在传输大文件时才会显现出缺点

exFAT 是微软自家创建的用来取代FAT32文件格式的新型文件格式,它最大可以支持1EB 的文件大小,非常适合用来存储大容量文件,还可以在mac 和windows 操作系统上通用,虽然是微软的技术,苹果批准在系统中使用该文件格式,因此在mac 系统中格式化存储设备时会出现exFAT 文件格式选项

最大的缺点是没有文件日志功能,这样就不能记录磁盘上文件的修改记录

  1. NTFS 是微软为硬盘或固态硬盘SSD 创建的默认新型文件系统,NTFS 的含义是new technology file system 它继承了所有文件系统的优点
    日志功能,无文件大小限制,支持文件压缩和长文件名,服务器文件管理权限等,最大的缺点是mac 系统只能读取ntfs 文件但没有权限写入,需要借助第三方工具才能实现,因此跨平台的功能非常差

========

设备管理—–文件管理

文件和进程os 引入的两个重要概念

文件的概念

文件概述

概念

文件是具有符号名的,在逻辑上具有完整意义的一组相关的信息项的序列
文件 document 与计算机文件file 具有一定区别
文件名是由字母 数字和其他符号组成的一个字符串,其格式和长度因系统而异

文件命名

文件命名一般包括文件名和扩展名

前者用于识别文件,后者用于标识文件特性,两者之间用圆点隔开

每个os 都有约定的扩展名

文件分类

按用途分

系统文件 库文件 用户文件

按保护级别分

只读文件 读写文件 不保护文件

按信息时限分

临时文件 永久文件 档案文件

按设备类型分

磁盘文件 磁带文件 光盘文件,软盘文件

文件优点

用户使用方便

使用者无需记住信息存放在辅存的物理位置,也无需考虑如何将信息存放在存储介质上,只要知道文件名,给出有关os 要求便可存取信息,实现了按名存取

文件安全可靠

由于用户通过文件系统才能实现对文件的访问,而文件系统能提供各种安全 保密和保护措施,故而防止对文件信息的有意或无意的破坏或窃用

可备份

可组织转储或备份,在文件使用go锤死出现硬件故障时,文件系统可组织重置,提高可靠性

可共享

文件系统还能提供文件的共享功能,如不同的用户可以使用同名或异名的同一文件,提高了文件和文件空间的利用率

因此,把数据组织成文件形式加以管理和控制是计算机数据管理的重大进展

5.2 文件系统及其功能

文件系统

文件系统概念 文件

文件系统的概念

文件系统是os 中负责存取和管理信息的模块,它用统一的方式管理用户和系统信息的存储、检索、更新、共享和保护,并为永辉提供一整套方便有效的文件使用和操作方法

文件系统中的文件
文件这一术语不但反映了用户概念中的逻辑结构,而且和存放它的辅助存储器 的存储结构紧密相关

因此一个文件必须从逻辑文件和物理文件两个侧面来观察它

文件系统功能

面向用户功能

  1. 文件的按名存取
  2. 文件的共享和保护
  3. 文件的操作和使用

OS 需要考虑的内容 —- 实现文件系统

  1. 文件目录的建立和维护
  2. 存储空间的分配和回收
    数据的保密和保护

监督用户存取和修改文件的权限
实现在不同存储介质上信息的表示方式 编址方法 存储次序 以及信息检索等问题

文件系统组成

文件系统

文件的组织

组织方法 逻辑结构 流式文件 记录式文件

物理结构 顺序文件 连接文件 直接文件 索引文件

文件的存取 存取方法 顺序存取 直接存取 索引存取

文件的控制 控制系统 逻辑的控制系统 物理的控制系统

文件的使用 文件操作 打开文件 关闭文件 读写 控制

5.3 文件的存储

文件的存储

卷和块的概念
顺序存取存储设备 磁带 光盘
直接存取存储设备 磁盘

卷和块

常见的文件存储介质有磁带 光盘 和磁盘

卷是存储介质的物理单位,对应于一盘磁带,一块软盘,一个光盘片 一个硬盘分区


块是存储介质上连续信息所组成的一个区域,也叫物理记录

块在磁盘上被称之为扇区,而在磁带和光盘上则被称之为一个块

块是主存储器和辅助存储器进行信息交换的物理单位,每次总是交换一块或整数块信息

块大小

决定块的大小要考虑用户使用方式、数据传输效率和存储设备类型等多种因素

不同类型的存储介质,块的长短常常各不相同,对同一类型的存储介质,块的大小通常来说都相同,但也可以不同,取决于具体情况

外围设备由于启停机械动作或识别不同块的要求,两个相邻块之间必须留有间隙

间隙是块之间不同记录用户代码信息的区域

顺序存取存储设备

顺序存取设备是严格依赖信息的物理位置次序进行定位和读写的存储设备,常见的顺序存取设备有磁带 光盘

磁带

磁带机是最常用的一种顺序存取存储设备,它具有存储容量大,稳定可靠,卷可装卸和便于保存等优点,广泛用作存档

5.3.3 直接存取存储设备

磁盘是一种典型的直接存取存储设备,又叫随机存取存储设备

磁盘

磁盘拥有移臂和旋转两维结构,存取速度高,它的每个物理记录都有确定的位置和唯一的地址,但其存取物理块所需时间随机,而且相差不大,几乎不依赖此信息的位置

5.4 文件的逻辑结构

文件的逻辑结构

逻辑文件概念

两种文件逻辑结构

流式文件

记录式文件

记录式文件与数据库的区别

逻辑文件概念

逻辑文件概念

逻辑文件,又称为文件的逻辑结构

独立于物理环境的,用户概念中的抽象信息组织方式

用户能观察到的,并加以处理的数据集合

两种文件逻辑结构

流式文件

记录式文件

5.4.2 流式文件
指文件内的数据不再组成记录,只是由一串依次的字节组成的信息流序列

这种文件常常按长度来读取所需信息,也可以用插入的特殊字符作为分界

注意 流式文件不具有多维信息结构,只是单纯的连续字符串存取

记录式文件

记录式文件是一种有结构的文件,它是若干逻辑记录信息所组成的记录流文件

逻辑记录是文件中按信息在逻辑上的独立含义所划分的信息单位

例如,每个职工的工资信息是一个逻辑记录,整个单位职工的工资信息便组成了该单位工资信息的记录式文件

记录式文件 vs 数据库

数据库管理系统也支持逻辑记录,但数据库与记录式文件最大的区别在于,数据库可以通过一些表与表的数据冗余构成表间关系,并基于这些联系进行数据查询,而文件系统不行

5.5 文件的物理结构

文件的物理结构

物理结构概念

四种文件物理结构

顺序文件 只能从头开始访问的数组

连接文件 链表

直接文件 哈希

索引文件 索引表 多级索引

物理结构概念

文件的物理结构和组织是指文件在物理存储空间中的存放方法和组织关系,又称为物理文件

文件的存储结构涉及块的划分、记录的排列、索引的组织、信息的搜索等问题

文件物理结构的优劣直接影响文件系统的性能

顺序文件

物理结构

类似于一个只能从头开始访问的数组

将一个文件中逻辑上连续的信息存放到存储介质的依次相邻的块中,构成顺序结构,这类文件叫顺序文件,也称为连续文件

顺序文件通常存储在同一个柱面上,减少移臂开销

磁带文件 光盘文件是顺序文件的典型

优点

顺序存取记录时速度较快,常用于批处理文件、系统文件

采用磁带存放顺序文件时,总可以保持快速存取的又掉

缺点

建立文件前需要能预先确定文件长度,以便分配存储空间,修改、插入和增加文件具有困难

连接文件

物理结构

连接文件是对于顺序文件存储空间连续的一种修改,采用链表方式使得存储空间不连续,但访问顺序依然连续

连接文件,又称串联文件,使用连接字来表示文件中各个物理块之间的先后次序

第一块文件信息的物理地址由文件目录给出,而每一块的连接字指出了文件的下一个物理块位置,连接字内容为0时,表示文件至本块结束

输入井 输出井都使用此类文件

优点

易于对文件记录做增删改 易于动态增长记录

不必预先确知文件长度

存储空间利用率高

缺点

存放指针需额外的存储空间 但浪费空间少

连接文件仅适用于顺序存取,找第100个文件必须经过前99个文件,对于顺序存取文件可以接受,但对于随机存取文件则不可接受

5.5.4 直接文件

采用了哈希方法进行文件映射,主要难点在于哈希冲突

直接文件,又称散列文件,通过计算记录的关键字建立与其物理存储地址之间的对应关系

哈希冲突

计算寻址结构可能出现冲突,即不同个毽子映射相同地址,常见解决方法有拉链法、循环探查法、二次散列法,溢出区法

5.5.4 索引文件

物理结构

索引文件为每个文件建立了一张索引表,其中,每个表目包含一个记录的键 逻辑记录号 及其存储地址

索引表的地址可由文件目录指出,查阅索引表先找到相应记录键,然后获得数据存储地址

访问方式

索引文件在文件存储器上分为两个区 索引区 数据区

查找索引表

获得记录物理地址

上述过程需要两次访问辅存,若文件索引已预先调入主存,则仅需一次内外存信息交换

优点

索引结构可以被认为是连接结构的一种扩展,除了具备连接文件的优点外,还克服了顺序存取的缺点,具有直接读写任何一个记录的能力,便于文件的增删改

缺点 增加了索引表的时空开销

多级索引结构

5.6 文件的目录结构

文件目录结构概念

三种文件目录结构

一级目录结构
二级目录结构
树形目录结构

文件目录

文件目录概念

文件目录是实现文件的按名存取的关键数据结构

文件系统的基本功能之一就是负责文件目录的建立、维护和检索,要求编排的目录便于查找、防止冲突

文件目录需要永久保存,因此也组织成文件存放在磁盘上,称目录文件

文件目录与索引文件的区别

文件目录是面向用户设计的数据结构,目的是为了让用户可以按名存取 文件

索引文件是os用来查找文件物理位置的数据结构,用户不可见

一级目录结构

在os 中构造一张线性表,与每个文件的相关属性占用一个目录项,构成了一级目录结构

但由于用户与文件众多,不但容易重名,而且用户难以查找

二级目录结构

目录结构

第一级是主文件目录,管理所有用户文件目录,目录项登记了系统接受的用户的名字,以及该用户文件目录的地址

第二级为用户的文件目录,为该用户的每个文件保存一个登记栏,其内容与一级目录的目录项相同

每一用户只允许查看自己的文件目录

优点

  1. 支持检查访问文件者的存取权限,实现了文件的保密和保护,因为任何文件的存取都必须通过主文件目录

  2. 允许不同用户出现同名文件

树形目录结构

目录结构

每一级目录可以登记下一级目录,也可以登记文件,从而形成了层次文件目录结构

层次目录结构通常采用树形目录结构,树根是根目录,树叶是文件

优点

较好地反映现实世界中具有层次关系的数据集合和较确切地反映系统内部文件的组织结构

不位于同一末端子目录的不同文件可以重名

易于规定不同层次或子树中文件的不同存取权限,便于文件的保护,保密和共享

文件定位

在树形目录结构中,一个文件的全名包括从根目录开始到文件为止,通路上遇到的所有子目录路径,又称为路径名

各子目录名之间用斜线隔开 unix 用正斜线,windows 用反斜线

一个硬盘分区可以组织成一棵子树

每棵子树可以对应于一个逻辑盘符 win

也可以把多棵子树合并成一棵大数 unix

举例
/
bin
ls
who
date
cp
cc
unix

user

lib user bin
etc
passwd
rc
ttys
mount
volcopy
group
tsck
tskh

tmp
dev
ttyo1
ttyo2
console
rrk
lp
lnern

目录文件
特别文件
普通文件

5.7 文件目录的管理

文件目录的管理

文件查找
多层找一层

根目录
当前目录
变更目录

一层找一个

顺序查找
二分
哈希

活动文件表
文件目录部分缓存

5.7.1 文件查找

文件查找分为两步
定位层次 定位具体目录项

文件层次定位

根据用户提供的文件路径名来搜索各级文件目录,找到文件

从根目录查起 绝对路径名
从当前目录查起 相对路径名

. 表示当前目录
.. 表示父目录

  1. 变更当前工作目录 现代os 设置有改变工作命令

目录项查找

顺序查找法

二分查找法

将按键进行顺序编排,即可进行二分

  1. 哈希法

将每个文件名经过变换函数变换成唯一的目录表表项

5.7.2 活动文件表

树型目录结构存在问题

当一个文件经过许多目录节点时,系统需要多次访问文件存储器,文件查找非常耗时

解决方法

采用 cache 的方法,将部分常用或正在用的文件目录复制进主存,实现部分缓存的目的

活动文件表

系统为每个用户进行建立一张活动文件表,当用户使用一个文件之前,先通过 打开操作,把该文件有关目录信息复制到指定主存区域,有关信息填入活动文件表,以建立用户进程和该文件索引的联系

当不再使用该文件时,使用关闭 ,切断用户进程和这个文件的联系,同时,若该目录已被修改过,则应更新辅存中对应的文件目录

5.8 文件安全

文件安全概念

文件共享
文件保护
文件保密

文件共享 文件共享的并发控制

文件保护

文件副本 动态多副本 转储备份

文件存取矩阵与文件存取表 用户-文件-权限

文件属性 对用户进行分类 设置文件属性

文件保密 隐藏文件 文件口令 文件内容加密

5.8.1 文件安全概念

文件是计算机系统的重要资源,因此要求文件系统具有保障文件安全的手段,提供文件保密的措施,有效地实现文件共享

文件安全三大内容

文件共享 不同用户共同使用某些文件

文件保护 防止文件被破坏

文件保密 防止文件及其内容被其他用户窃取

5.8.2 文件共享

文件共享概念

文件共享是计算机用户完成共同任务所必需的

文件共享有许多好处

减少用户大量重复性劳动

免除系统复制文件的工作

节省文件占用的存储空间

减少程序设计输入输出文件的次数

文件共享的并发控制

os应该提供手段实现对共享文件的同步控制

同时读:os 对文件进行公用控制

一读一写 os 提供同步控制机制,保证数据的完整性

同时写 不被允许

文件保护

文件保护概念

文件保护是指防止文件被破坏,os 必须提供文件保护机制,有效实现文件的完整性

常用的文件保护方法

文件副本

文件副本即存储多个文件副本,保证即使硬件软件故障,信息仍能完整保存

动态多副本技术

在多个介质上维持同一内容的文件,并且同时更新内容

这种方法需要增加设备费用和系统负载,一般适用于容量较小且较为重要的文件,例如不需要更新的系统文件及专用文件,当文件发生故障时只要切换到备用设备即可

这种方法是精细活,执行起来非常累

文件转储 大多数os 采用

文件转储 定时把文件复制转储到其它介质上,当某介质上出现故障时,复原转储文件,转储分为两种方式

在一定时间间隔或一个单位处理结束时,系统自动复写更新过的文件和数据

只能针对少量的关键数据

每天或每周把文件信息全部复写一遍,需要时再通过装入转储文件来恢复系统,诸如 backup restore 等命令

通常需要系统管理员手动备份

文件的存取控制矩阵表

os 为每个用户设置访问每个文件对象的存取属性,即用户 文件 权限 三元组的关系

所有三元组就组成了一个二维矩阵,称为存取控制矩阵

存取控制表

由于操作系统拥有很多用户和众多软件,因此存取控制矩阵是一个稀疏矩阵,存在大量无效位置

因此我们将无效位置删除,仅登记那些对文件拥有存取属性的部分,将二维矩阵优化成一维线性表,即存取控制表

基于存取控制矩阵/表的文件保护

存取属性 访问 读写 执行 创建 删除 授权

一些非常安全的os 甚至设计了20多种属性

系统通过查阅矩阵 表来核对用户对文件的存取权限

文件属主使用grant revoke 等命令进行授权,甚至授权授权权

系统管理用户 超级用户 拥有所有文件的属主权限

5.8.3.4 文件属性 广泛采用

该方法是将原来的三位结构简化为 用户-文件 二维结构,大为简化文件管理

具体方式

用户分类 属主、合作者、其他

文件属性 读写 执行

每个用户对于每个文件都有三种身份,不同身份对于不同文件属性权限不同

文件属性可以放在文件目录项中,简化管理

用户使用文件时,根据该用户针对该文件的用户类别,以及文件属性,核对用户权限,实现保护

chmod 吗,命令可以改变文件属性

chown 命令可以变更文件属主

chgrp 命令可以变更用户伙伴

5.8.4 文件保密

文件保密是指文件及其内容不能被未经文件主授权的其他用户窃取

文件保密常见措施

  1. 隐藏文件目录
    将关键文件设置为隐藏文件 保密程度弱

  2. 设置口令

在文件层面设置 读写 打开口令

这种方式较第一种有升级,但拦不住那些直接访问磁盘物理数据的恶意用户

  1. 使用密码

对文件内容进行加密,只有拿到密钥才能解密 保密程度强

5.9 文件的存取方法

文件系统的一个重要目标,尽可能地提供不同的存取方法

文件存取方法是os 为用户程序提供的使用文件的技术和手段

文件存取方法在某种程度上依赖于文件的物理结构

文件的存取方法

顺序存取
直接存取
索引存取

5.9.1 顺序存取

概念

按记录顺序进行读写操作的存取方法称顺序存取

读操作根据读指针读出当前记录,同时推进读指针,指向下一次要读出的记录

写操作设置写指针,把一个记录写到文件末端,同时推进写指针

允许对读指针进行前跳或后退n个记录的操作

适用范围

顺序存取方式对任何物理结构文件均适用

直接存取

支持直接文件、索引文件的物理结构能进行直接存取,直接存取针对那些要求快速地以任意次序直接读写某个记录的应用场合

例如,例如航空订票系统,把航班号作标识,把特定航班的所有信息存放在物理块中,用户预定某航班时,直接计算出该航班的存取位置

索引存取
基于索引文件的物理结构,才能实现索引存取,其中信息块的地址都可以
通过查找记录建而换算出

特点

索引文件,支持顺序、直接、索引三种存取方式

实际的系统中,大都采用多级索引,来加速记录查找过程

5.10 文件的使用

文件的使用

文件使用方法

操作命令

cat cd cp find mv rm mkdir rmdir

系统调用

建立 打开 读写 定位 关闭 撤销

系统调用实现方式

建立文件
撤销文件
打开文件
关闭文件
读写文件

定位文件

5.10.1 文件使用方法

用户通过两类接口与文件系统联系

  1. 与文件有关的操作命令

unix 中的cat cd cp find mv rm mkdir rmdir

提供给用户程序使用的文件类系统调用

建立 打开 读写 定位 关闭 撤销

5.10.2 建立文件

功能 创建一个文件

所需参数 文件名 设备类 号 文件属性 存取控制信息

处理流程

  1. 若文件没有关闭,关闭文件
    若为共享文件,进行联访处理

在目录文件中删去相应目录项
释放文件占用的文件存储空间

5.10.4 关闭文件

功能 结束一个文件的读写

所需参数 文件句柄

处理流程

将活动文件表中该文件的当前使用用户数 减1
若此值为0,则收回此活动文件表
完成 推迟写

若活动文件表目内容已被改过,应先将表目内容写回文件存储器中相应表目位置,以使文件目录保持最新状态

读写文件

功能 读写文件

所需参数 文件句柄,用户数据区地址,读写的记录或字节个数

处理流程

  1. 按文件句柄从活动文件表中找到该文件的目录项信息

根据目录项指出的该文件逻辑和物理组织结构,把相关逻辑记录转换成物理块

5.10.6 定位文件

功能 调整所打开文件的读写指针位置

所需参数:文件句柄,定位指针

辅存空间管理

随着用户文件不断建立和撤销,文件存储空间会出现许多碎片,

os 解决碎片的办法是整理碎片,在整理过程中,往往对文件重新组织,让其存放在连续存储区中

辅存空间管理

辅存空间分配方式

连续分配

非连续分配

空闲块的管理

成组链接法

辅存空间分配方式

连续分配

特点,存放在辅存空间连续存储区 廉租的物理块号

优点 顺序访问时速度快,管理较为简单,但为了获得足够大的连续存储区,需定时进行 碎片 整理

非连续分配

特点 动态分配给若干扇区或簇 几个连续扇区,不要求连续

优点 辅存空间管理效率高,便于文件动态增长和收缩

空闲块的管理

位示图

方式 使用若干字节构成一张表,表中每一字位对应一个物理块,字位的次序与块的相对次序一致,字位为1 表示相应块已占用,字位为0 表示该块空闲

优点,把位示图全部或大部分保存在主存中,再配合位操作,实现高速物理块分配和去配

成组链接法

从下图中可以看到,最左边的是空闲盘块号栈,12为栈,50为栈底,栈底块链接到右边的100个空闲块,可以看到最后一个栈底为0,表示空闲盘块链的结束

注意,最左边的空闲盘块栈中的块始终保持在1,100 之间

下图算法中,空闲块数即空闲盘块栈中记录的空闲块数

复制第1个单元对应块到专用块,表示一次性将51 150 都复制进来,并分配50

如果归还空闲块数超过100,则留下第101个,移走前100个,并将第101个链接到移走的100个上

5.12 文件系统的实现层次

  1. 检查用户发起的系统调用
    逻辑记录 相对物理地址
    检查用户权限
    相对物理地址 绝对物理地址
    具体物理块io操作

用户接口

接受用户发来的系统调用,进行语法检查,进入逻辑文件控制子系统

逻辑文件控制子系统

根据文件路径名,搜索文件目录,建立活动文件表,根据文件结构和存取方法,把逻辑记录转换成相对物理块号和块内相对地址

文件保护子系统

识别调用者的身份,验证存取权限,判定本次文件操作的合法性

物理文件控制子系统

实现缓冲区管理,根据物理结构,将相对物理块号转换为实际物理块号,负责文件存储空间的分配,生成io控制系统的调用形式

io控制子系统

执行具体的物理块io操作

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2024 TeX_baitu
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~