Windows与Linux *** 作系统对磁盘和文件的管理方式有什么异同点(求详细)

Windows与Linux *** 作系统对磁盘和文件的管理方式有什么异同点(求详细),第1张

Windows与Linux *** 作系统对磁盘和文件的管理方式区别为:文件格式不同、空间不同、碎片整理不同。Windows与Linux *** 作系统都是以一组磁盘管理应用程序的形式提供给用户。在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。

一、文件格式不同

1、Windows *** 作系统:Windows *** 作系统使用FAT、NTFS文件格式。

2、Linux *** 作系统:Linux *** 作系统使用ext2、ext3、ext4文件格式。

二、空间不同

1、Windows *** 作系统:Windows *** 作系统的磁盘驱动器上有很多扇区,每个扇区都有存放一小段数据。大文件的存储需要占用很多不同的扇区。

2、Linux *** 作系统:Linux *** 作系统把所有文件都分散到了整个磁盘上,每两个文件之间都留有相当巨大的空闲空间。

三、碎片整理不同

1、Windows *** 作系统:当文件被修改、体积增加时,Windows *** 作系统尝试把文件新增的部分存放到紧邻原始文件的扇区里。但周边已经没连续的足够扇区空间了,文件需要被分割成数段。所以需要一个碎片整理工具。

2、Linux *** 作系统:当文件被修改、体积增加时,Linux *** 作系统通常有足够的空间来扩展,一旦有碎片产生时,文件系统会尝试移动整个文件来消除碎片。所以不需要一个碎片整理工具。

重点:inode、block(数据区块)、superblock(超级区块)

磁盘结构

GPT与MBR

区别

磁盘以文件表示

linux中设备都以文件形式在/dev中表示,如磁盘为/dev/sd[a-p物理][1-128分区]

文件系统:boot+group+group...

group: inode信息 数据

限制:

缺点:

区块大:小文件多浪费空间

区块小:inode多读写性能差

记录一个区块指针需要4B,一个inode包含12个直接、1个间接、1个双间接、1个三间接,所以1K区块下一个文件最大12+256+256 256+256 256*256个数据区块共16G

如何查看这些信息

输出:超级区块信息+区块群组信息

数据不一致

异步处理

修改时将文件读入内存标记为clean,修改后标记为dirty但并不立即写入硬盘,需要调用sync。

不正常关机时会导致磁盘校验。

文件系统与目录树

挂载:文件系统与目录树结合,比如将 / 挂载到 /dev/sda1 这个设备

相同文件系统类型的不同文件系统目录树根的inode相同,不同文件系统内文件inode值可能重复,同一个文件系统inode与文件一一对应。

Linux支持多种文件系统,包括 传统、日志、网络 的,以下命令可以查询。

VFS(Virtual Filesystem Switch)是位于 内核层 系统调用 ,帮助处理读取不同文件系统

ext4不好:预先分配所有inode,格式化慢,不适合大容量磁盘

XFS好:适合大容量磁盘和巨型文件

lsattr 和 chattr 可以更改隐藏属性,但是xfs不支持部分隐藏属性

xfs分为数据区(data section)、文件系统活动登录区(log section)、实时运行区(realtime section)

数据区

同ext,分为超级区块、剩余空间的管理、inode分配与追踪。但是inode动态分配,格式化快。且数据块(4K以上内核不给挂载)与inode大小(256B-2M)可以自定义。

文件系统活动登录区

类似日志区,所有文件变化在此记录,当完全被写入记录才被删除,用于校验。可指定外部磁盘作为该区。

实时运行区

先在该区段中寻找数个extent区块,将文件放到这些区块中, 等分配完了 再写入数据区中的inode与区块中。

xfs文件系统查看信息

注意点:如果对 /boot 使用,可以看到 /dev/sda2 指向某个物理设备,但是对 / 使用,可以看到指向 /dev/mapper/centos-root 。这是因为在安装系统时候, 设备分区 使用了LVM而非标准分区,linux为你自动创建的空间池,用多少取多少。

含有inode大小、个数、总数、区块大小、数量、与阵列 stripe 有关的信息

df

/proc 中1kblock,used,free都是0,因为这个目录挂载在内存中

/dev/shm/ 是用内存虚拟出的磁盘空间

不知道某个目录/文件所在挂载点,还想知道这个分区还能存多少东西?

du

硬链接

符号链接

流程: 分区->格式化->检验(可选)->挂载(Linux特色)

查看UUID(全局唯一标识符): lsblk-f 或 blkid

分区流程: lsblk 或 blkid 查看分区->gdisk 或 fdisk 根据提示 *** 作

区块与扇区:区块针对 文件系统 而言,扇区针对 物理硬盘 而言

不要处理正在活动的分区 (已挂载的分区),linux将不能更新分区表

添加分区默认按序号给分区编号,且默认开始扇区从第一个未被占用的扇区开始。

功能:使用文件系统格式化软件格式化磁盘分区。

命令: mkfs.xfs mkfs.ext4 mkfs

CPU、Memory(RAM)、I/O

I/O: Disks, Ehtercard

  Disks: 持久存储数据

  块(block):随机访问,数据交换单位是“块”;

  字符(character):线性访问,数据交换单位是“字符”;

  /dev

  设备文件:关联至设备的驱动程序;设备的访问入口;

   设备号:

    major:主设备号,区分设备类型;用于标明设备所需要的驱动程序;

    minor:次设备号,区分同种类型下的不同的设备;是特定设备的访问入口;

mknod命令:

make block or character special files

设备文件名:ICANN

  主分区和扩展分区的标识:1-4

  逻辑分区:5+

MBR分区表(Disk Partition Table)

MBR缺点:

GPT 使用了 34 个 LBA 区块来纪录分区信息。GPT 除了前面 34 个 LBA 之外,整个磁盘的最后 33 个 LBA 也拿来作为备份。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8691327.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存