- A+
文件IO
知识点补给
1.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文件系统可能是一个更好的选择。
2.MMU的概述和作用
MMU(Memory Manager Unit),中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权,多用户多进程操作系统。
- 1 虚拟地址到物理地址的映射。MMU负责将应用程序生成的逻辑地址(虚拟地址)转换为物理地址,这使得程序可以使用比实际物理内存更大的地址空间。
- 2 内存保护。通过设置访问权限位,MMU可以保护内存区域,防止程序访问或修改关键数据。例如,它可以标记某些内存区域为只读或禁止访问。
- 3虚拟内存管理。MMU实现了虚拟内存的概念,允许每个进程认为自己拥有整个物理内存,而实际上物理内存可能被多个进程共享。它负责将进程的虚拟地址映射到物理内存,以便多个进程能够同时运行而不会相互干扰。
- 4存储器访问权限的控制。MMU可以控制对存储器的访问权限,包括读写权限。
- 5设置虚拟存储空间的Cache特性。MMU可以设置虚拟存储空间的缓存特性,以提高数据访问的速度和效率。
- 6处理页面缺失和页面替换算法。MMU通过TLB(Translation Lookaside Buffer)来加速虚拟地址到物理地址的转换,如果发生TLB缺失,MMU会使用页面替换算法来处理页面替换,以保持物理内存的有效使用。
总的来说,MMU是现代计算机系统中的重要组成部分,它通过虚拟内存管理、内存保护和地址映射等功能,极大地提高了计算机系统的内存管理效率和安全性。
3.简述Linux系统内核的作用
Linux内核的功能主要是将应用层请求传递给硬件,并作为底层驱动程序,以间接控制寻址系统中的各种设备和组件。
- 1进程管理:Linux内核负责管理系统中运行的进程,包括进程的创建、调度、销毁等操作,确保进程能够正确地运行并共享系统资源。
- 2.文件系统管理:Linux内核提供文件系统的支持,包括文件的读写、权限管理、文件系统的挂载等操作,使得应用程序能够方便地访问和操作文件。
- 3.Linux内核提供网络协议栈的支持,包括TCP/IP协议、网络设备驱动等,使得计算机能够进行网络通信。
- 4.内存管理:内存资源的使用策略对操作系统性能体现来说,尤为重要。内存在有限的内存资源上,为每一个进程建立了一个虚拟地址空间。内核的不同功能部分与内存管理子系统通过一套函数调用交互,使得通信高效简单。
4.了解Linux系统目录和文件夹的区别
Linux中的目录与Windows中的文件夹的含义是很容易混淆的,表面 上好像一致,实则不然。
- Windows中的文件夹类似于一种容器,大文件里面存放了很多文件以及子文件,子文件里面又嵌套有别的文件夹,一层套一层,就好比俄罗斯套娃,不管怎么套,里面的总比外面的小,故在Windows中子文件是不可能比外部文件还大的。
- Linux中的目录并不是一种容器,而仅是一个文件索引表,目录下的文件的真正的内容存储在分区中的数据域区域。目录中索引表的每一项称为“目录项”,里面至少存放了一个文件的名字(不含路径部分)和索引号(分区唯一)。