Linux/Windows 系统分区

1. Windows 系统
1.1 系统分区

系统分区也叫做磁盘分区,即分盘;

举个例子,好比家里有一个大柜子,把衣服,鞋子,袜子都放在里面,由于没有隔断,找的时候非常麻烦,找是能找到,不过找的效率比较低。电脑的数据比衣物的数量更加庞大,分区可以提高查找数据的效率;

1.2 分区类型

主分区:最多四个;

扩展分区:最多一个(扩展分区不能写入数据和格式化,只能包含逻辑分区);

逻辑分区可以写入数据和格式化;

主分区+扩展分区最多四个; 

这种分区类型受磁盘限制;

如下,柜子1,2,3是主分区,4是扩展分区,5,6是扩展分区下的逻辑分区;

1.3 格式化
(1) 目的

格式化又称逻辑格式化,硬盘分好区之后, 必须格式化之后才能写入数据,格式化的主要目的是在硬盘中写入文件系统

Windows 可以识别的文件系统是 FAT16,FAT32,NIFS;

Linux 可以识别的文件系统是 EXT2, EXT3, EXT4(Linux 默认的文件系统);

这里的格式化指的是操作系统的格式化,即高级格式化(低级格式化指的是对硬盘的格式化);

格式化类似于前面的柜子加入一定的规则的“隔断”,在磁盘空间营造加入“隔断” 营造从4kb 大小的空间(数据块)储存数据,这些数据存储在不规则排布的数据块里,比较零散,因此才会有“磁盘碎片整理”工具,对这些保存文件的不同数据块尽量放在一起,提高文件读取效率;

然而,通常使用第二种分区方法;

(2)数据条

将几十上上百 G 的文件存放在一个个4 kb大小的数据块中,查找起来还是不方便。

因此我们对每个文件添加编号(i node),根据编号找到文件的相关条款,潼关相关条款就知道相关数据的数据块位置;

1.4 总结 

格式化需要将大硬盘分成几个小硬盘,主要目的是写入文件系统;

写入文件系统最主要的是按照文件系统的规则将磁盘空间分割成等大小的数据块(block);

同时建立一个 i  node 列表,查找文件的时候,通过节点找到文件的条款,从而知道文件保存在哪些数据块中,进而将数据块中的数据拼凑成一个完整的大数据;

2. Linux 系统

Windows 系统中,将大硬盘分为小硬盘,再分区,格式化,最后分配盘符,就可以使用硬盘了。而 Linux 系统还需要在格式化之后,分配盘符之前给每个分区建立 “ 设备文件名 ”,这是因为,在Linux 系统中,所有硬件设备都是文件

2.1 硬盘设备文件名

如下表,硬件设备文件名:(设备文件名是固定的,只需看懂即可)

“ / ” 是根目录(最高一级目录);

dev 是一级子目录,里面存放的文件都是硬件文件:

如果是 IDE 硬盘接口,设备文件名是 hd 【硬盘号】; 

如果有一个硬盘,硬盘号是【a】,有第二个硬盘,硬盘号是【b】;

比如 IDE 硬盘接口的第一个硬盘的设备文件名是 hd【a】, IDE 硬盘接口的第二个硬盘的设备文件名是 hd【b】;

2.2 分区设备文件名 

在硬件文件名后面直接加上分区号,1,2,3,等,以此类推;

比如, hda1 表示 IDE 硬盘接口的第一个硬盘的第一个分区;

2.3 硬盘接口

不同接口的硬盘主要的差距是传输速率的不同

IDE 硬盘接口最古老,是硬盘接口的一种,理论上最高传输速率是133 MB/S,现在已经淘汰;

SCSI 硬盘是 IDE 硬盘同时代产物,理论上最高传输速率是 200MB/s,主要用于服务器,现在已经淘汰;

SCTA 硬盘接口是目前个人计算机和服务器常用的硬盘接口,因此我们常看到的是设备文件名是 sd [ a ] , sd [ b ] 等;

2.4 挂载

在 Windows 中,使用硬盘前的最后一步叫做分配盘符,而在 inux 中,叫做挂载,盘符命在 Linux 中叫做挂载点

2.5 文件系统结构

 从系统上看(下图左),boot 目录,home 目录都是根目录的一级子目录;

从硬盘上看(下图右),根目录的每个一级子目录都有自己独立的磁盘空间;

存储结构的不同是两大独立的操作系统的特征之一;

2.6 总结

Linux 系统的分盘共需五步:

分区——格式化——建立设备文件名——挂载;

比 windows 分盘多了一步”建立设备文件名“;

注意:

挂载点必须是目录; 

格式化的主要目的是写入文件系统,同时清空硬盘中的数据

相关推荐

  1. centos7系统如何使用GPT分区

    2024-07-19 09:08:01       30 阅读
  2. Android系统分析

    2024-07-19 09:08:01       48 阅读
  3. elk日志分析系统

    2024-07-19 09:08:01       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 09:08:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 09:08:01       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 09:08:01       58 阅读
  4. Python语言-面向对象

    2024-07-19 09:08:01       69 阅读

热门阅读

  1. Kotlin 协程简化回调

    2024-07-19 09:08:01       22 阅读
  2. YOLOv8_ ByteTrack目标跟踪、模型部署

    2024-07-19 09:08:01       23 阅读
  3. Git 和 Subversion (SVN)的全方面对比

    2024-07-19 09:08:01       21 阅读
  4. 使用 com.alibaba:easyexcel 导出excel文件时遇到的问题

    2024-07-19 09:08:01       23 阅读
  5. 浏览器的卡顿与react的解决思路

    2024-07-19 09:08:01       20 阅读
  6. Zabbix的安装部署及使用流程

    2024-07-19 09:08:01       26 阅读
  7. 速盾:cdn是啥?cdn是什么?

    2024-07-19 09:08:01       24 阅读
  8. Spark on YARN

    2024-07-19 09:08:01       24 阅读
  9. 算法日记day 13(删除字符串中的所有重复元素)

    2024-07-19 09:08:01       22 阅读
  10. 【html】html的基础知识(面试重点)

    2024-07-19 09:08:01       21 阅读
  11. Zookeeper集群搭建问题

    2024-07-19 09:08:01       23 阅读