文件IO

文件IO

一. FAT32 与 NTFS 的区别

​ NTFS和FAT32是两种不同的文件系统格式,它们在功能、安全性和性能等方面存在一些区别。

1、功能和性能:NTFS是一种高度可恢复的文件系统,具有许多高级功能,如数据恢复、加密、压缩、磁盘配额等。相比之下,FAT32文件系统在功能和性能方面较为有限。

2、磁盘分区大小:NTFS支持的磁盘分区大小最大可达2TB(2048GB),而FAT32支持的分区大小最大为32GB。因此,对于需要使用大容量磁盘的用户来说,NTFS是更好的选择。

3、单个文件大小:NTFS突破了单个文件4GB的容量限制,目前来说似乎没容量限制,只要硬盘空间容量有多大,那么就NTFS就可以分到多大。而FAT32在实际运行中不支持单个文件大于4GB的文件,一旦超过容量限制那么系统就会提示磁盘空间不足。

4、安全性:NTFS提供了更高级的安全功能,可以对文件和文件夹进行加密和权限设置,而FAT32则不具备这样的安全功能。在NTFS下,用户可以对电脑用户对该格式下所有的文件夹、文件进行加密、修改、运行、读取目录及写入权限的设置。此外,在磁盘分区下任意文件夹或文件上右键属性,在高级属性窗口中勾选中加密内容以便保护数据即可做到加密。

5、碎片和空间利用:随着时间的推移和使用次数的增加,文件可能会产生碎片。从FAT16的文件系统格式,到之后的FAT32然后再到现在的NTFS文件系统格式,从磁盘分区的格式不同,那么所产品的磁盘碎片也是越来越小。

6、磁盘配额:NTFS支持磁盘配额,可以在一个NTFS分区上为不同用户设置不同的磁盘空间配额,而FAT32不支持磁盘配额。

7、文件恢复:NTFS具有更好的文件恢复功能,可以恢复意外删除或格式化的文件,而FAT32的文件恢复功能相对较弱。

8、压缩和加密:NTFS支持文件和文件夹的压缩和加密,而FAT32不支持。

9、日志记录:NTFS支持事务日志记录,可以记录对文件系统的更改,而FAT32不支持。

10、文件链接:NTFS支持硬链接和符号链接,而FAT32不支持。

11、文件访问控制:NTFS支持更复杂的文件访问控制,可以针对不同用户或用户组设置不同的访问权限,而FAT32不支持。

12、安全性:NTFS具有更高的安全性,可以防止恶意软件或黑客对文件进行修改或删除,而FAT32的安全性相对较低。

综上所述,NTFS和FAT32在功能、性能、磁盘分区大小、单个文件大小、安全性和碎片和空间利用等方面存在显著差异。因此,在选择文件系统格式时,需要根据实际需求和使用场景进行选择。如果需要使用大容量磁盘并需要高级安全功能和数据恢复能力,则建议使用NTFS文件系统。如果只需要一个简单的文件系统用于存储少量数据,并且不需要高级功能,则FAT32文件系统可能是一个更好的选择。

二. MMU(内存管理单元)

​ 内存管理单元(Memory Management Unit,MMU)是计算机系统中的一个重要组成部分,主要负责管理计算机的内存(RAM)的访问。它负责将逻辑地址转换为物理地址,以及执行访问权限的检查和控制。MMU通常包括地址转换、内存保护、缓存控制等功能,是操作系统和硬件之间的重要接口。

​ 当程序运行时,它们生成的内存地址是逻辑地址,而实际存储器芯片上的位置是物理地址。MMU的主要功能之一是将逻辑地址转换为物理地址。这个过程通常涉及到分页或分段技术。

  1. 分页(Paging):在分页系统中,内存被划分为大小相等的页(通常是4KB或8KB)。MMU将逻辑地址的页号与页表中的物理页框号进行映射,从而找到相应的物理地址。这种方式使得内存的管理更加灵活,但会增加一些开销,如页表维护和TLB(Translation Lookaside Buffer)缓存的管理。
  2. 分段(Segmentation):在分段系统中,程序的逻辑地址空间被划分为若干段,每个段具有不同的权限和大小。MMU将逻辑地址的段号与段表中的物理地址进行映射,从而找到相应的物理地址。这种方式更加灵活,因为不同的段可以有不同的权限和大小,但也会增加管理复杂度。

除了地址转换,MMU还负责执行内存保护,确保程序只能访问其被授权的内存区域。它会检查每个内存访问是否合法,并在需要时触发异常。

此外,MMU还负责缓存控制。它可以将内存中的数据缓存在高速缓存中,以加快访问速度。但是,MMU需要确保缓存中的数据与内存中的数据保持一致,避免出现不一致的情况。

总的来说,MMU在计算机系统中起着至关重要的作用,它使得操作系统能够更加灵活地管理内存,并确保程序能够安全、高效地访问内存。

三 Linux 内核的作用

​ Linux 内核主要由 5 部分组成,分别为:进程管理子系统,内存管理子系统,文件子系统,网络子系统,设备子系统。

​ 由系统调用层(系统调用子系统)进行统一管理,应用层通过系统调用层的函数接口与内核进行交互,用户应用程序执行的

https://zhuanlan.zhihu.com/p/541076486

image

四 Linux 中目录文件和文件夹的区别

​ Linux中的目录文件 ( .directory ) 用于存放目录项,与 Windows 的文件夹的概念不同,他,并不是一个容器,而仅仅是个文件索引表,索引表由文件民和索引号组成。

​ Windows 的文件夹类似于一种容器,大文件夹里面有很多子夹和文件,子文件又套有各种文件夹和文件。

posted @ 2024-05-07 20:03  沉舟道人  阅读(5)  评论(0编辑  收藏  举报