Linux——分区概述

来源:互联网 发布:华南师大网络远程教育 编辑:程序博客网 时间:2024/05/20 19:12

分区

要掌握硬盘的分区,需要掌握MBR、扩展分区、逻辑分区的概念。
一个是放置该硬盘的信息区,称之为主引导记录(MBR,Main Boot Record),一个是实际文件数据放置的地方.其中,MBR是整个硬盘最重要的区域,一旦MBR物理实体损坏时,则该硬盘就差不多报废了,一般来说,MBR有512个字节,且可以分为两个部分。
(1)第一部分有446个字节,用于存放引导代码,即bootloader。
(2)第二部分有64个字节,用于存放磁盘分区表.其中,每个分区的信息需要用16个字节来记录。因此,一个硬盘最多可以有4个分区,这4个分区称之为主分区和扩展分区(extended)。
注:通常所说的”硬盘分区”就是指修改磁盘分区表,它定义了”第n个磁盘块是从第x个柱面到第y个柱面”.因此,当系统要读取第n个磁盘块时,就是去读硬盘上第x个柱面到第y个柱面的信息。
由于扩展分区只能有一个,所以这4个分区可以是4个主分区或者3个主分区加1个扩展分区,如下所示:
P + P + P + P
P + P + P + E
重点说明的是,扩展分区不能直接使用,还需要将其划分为逻辑分区才行,这样就产生了一个问题,既然扩展分区不能直接使用,但为什么还要划分出一定的空间来给扩展分区呢?这是因为,如果用户想要将硬盘划分为5个分区的话,那该如何?此时,就需要扩展分区来帮忙了。
由于MBR仅能保存4个分区的数据信息,如果超过4个,系统允许在额外的硬盘空间存放另一份磁盘分区信息,这就是扩展分区.若将硬盘分成3P+E,则E实际上是告诉系统,磁盘分区表在另外的那份分区表,即扩展分区其实是指向正确的额外分区表.本身扩展分区不能直接使用,还需要额外将扩展分区分成逻辑分区才能使用,因此,用户通过扩展分区就可以使用5个以上的分区了。
Attention!!!
(1)实际上,不建议用户将硬盘分为4个主分区,这是因为,假如一个20GB的硬盘,若4个主分区占据了15GB的空间,则剩下的5GB空间完全不能使用,因为已经没有多余的分区表可以记录这些空间了。
(2)考虑到磁盘的连续性,一般建议将扩展分区放在最后面的柱面内。
(3)理论上允许一个硬盘只有1个主分区,其它空间都分配给扩展分区。

mbr

主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。
通常,我们将包含MBR引导代码的扇区称为主引导扇区。因这一扇区中,引导代码占有绝大部分的空间,故而将习惯将该扇区称为MBR扇区(简称MBR)。由于这一扇区承担有不同于磁盘上其他普通存储空间的特殊管理职能,作为管理整个磁盘空间的一个特殊空间,它不属于磁盘上的任何分区,因而分区空间内的格式化命令不能清除主引导记录的任何信息。
MBR结构图
MBR结构图
主引导扇区由三个部分组成(共占用512个字节):
1.主引导程序即主引导记录(MBR)(占446个字节)
可在FDISK程序中找到,它用于硬盘启动时将系统控制转给用户指定的并在分区表中登记了的某个操作系统。
2.磁盘分区表项(DPT,Disk Partition Table)
由四个分区表项构成(每个16个字节)。
负责说明磁盘上的分区情况,其内容由磁盘介质及用户在使用FDISK定义分区时决定。(具体内容略)
3.结束标志(占2个字节)
其值为AA55,存储时低位在前,高位在后,即看上去是55AA(十六进制)。

mpt

消息传递接口(MPI)是由来自学术界和行业的一组研究人员设计的标准化和便携式消息传递标准,用于各种并行计算架构。该标准定义了用于在C,C ++和Fortran中编写便携式消息传递程序的广泛用户的库例程核心的语法和语义。MPI有几种经过良好测试和高效的实现,其中许多是开源或公有领域。这些促进了并行软件行业的发展,并鼓励开发便携式和可扩展的大规模并行应用程序。
MPI是用于编程并行计算机的通信协议。支持点对点和集体通信。MPI“是一个消息传递应用程序接口,以及协议和语义规范,用于其功能在任何实现中的行为。MPI的目标是高性能,可扩展性和可移植性。MPI仍然是当今高性能计算中使用的主流模式。
MPI不受任何主要标准机构的制裁; 然而,它已经成为在分布式存储器系统上运行的并行程序的流程之间的通信的事实上的标准。实际的分布式内存超级计算机,如计算机集群,经常运行这样的程序。
主要的MPI-1模型没有共享内存概念,MPI-2只有有限的分布式共享内存概念。尽管如此,MPI程序经常在共享内存计算机上运行,MPICH和Open MPI都可以使用共享内存进行消息传输(如果可用)。围绕MPI模型设计程序(与显式共享内存模型相反)具有优于NUMA体系结构的优点,因为MPI鼓励内存局部性。在MPI-3中引入了显式共享内存编程。
虽然MPI属于OSI参考模型的第5层及更高版本,但实现可以覆盖大多数层,具有在传输层中使用的套接字和传输控制协议(TCP)。
大多数MPI实现包括可从C,C ++,Fortran(即API)直接调用的特定一组例程,以及能够与这些库(包括C#,Java或Python)进行接口的任何语言。MPI与旧版消息传递库的优点是可移植性(因为MPI已经实现了几乎每个分布式内存架构)和速度(因为每个实现原则上都是针对其运行的硬件进行了优化的)。
MPI使用语言独立规范(LIS)进行呼叫和语言绑定。第一个MPI标准与LIS一起指定了ANSI C和Fortran-77绑定。该草案是在1994年超级计算机(1994年11月)提出的,此后很快完成。约128个功能构成MPI-1.3标准,作为2008年MPI-1系列的最终结果。
目前,该标准有几个版本:版本1.3(通常缩写为MPI-1),强调消息传递,并具有静态运行时环境MPI-2.2(MPI-2),其中包括并行I​​ / O等新功能,动态过程管理和远程存储操作[10]和MPI-3.1(MPI-3),其中包括对具有非阻塞版本的集体操作的扩展以及单面操作的扩展。[11] MPI-2的LIS指定了超过500个功能,并为ISO C,ISO C ++和Fortran 90提供语言绑定。还添加了对象互操作性,以便更容易的混合语言消息传递编程。标准化MPI-2的一个副作用,1996年完成,正在澄清MPI-1标准,创建了MPI-1.2。
MPI-2主要是MPI-1的超集,尽管已经废弃了一些功能。MPI-1.3程序仍然符合符合MPI-2标准的MPI实现。
MPI-3包括新的Fortran 2008绑定,同时它删除不推荐使用的C ++绑定以及许多不推荐的例程和MPI对象。
MPI经常与1989年开发的流行分布式环境和消息传递系统的并行虚拟机(Virtual Virtual Machine,PVM)进行比较,并且是引发标准并行消息传递需求的系统之一。线程共享存储器编程模型(例如Pthreads和OpenMP)和消息传递编程(MPI / PVM)可以被认为是补充编程方法,并且偶尔可以在应用中一起看到,例如在具有多个大型共享存储器节点的服务器中。

主分区、扩展分区、逻辑分区

磁盘容量与主分区、扩展分区、逻辑分区的关系:
硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和
硬盘分区有三种,主磁盘分区、扩展磁盘分区、逻辑分区。
一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个。
在windows下激活的主分区是硬盘的启动分区,他是独立的,也是硬盘的第一个分区,正常分的话就是C区。 在linux下主分区和逻辑分区都可以用来放系统,引导os开机,grub会兼容windows系统开机启动。
分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,那剩的部分就浪费了。
但扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分。
在linux中第一块硬盘分区为hda分区,主分区编号为hda1-4,逻辑分区从5开始。
硬盘的容量=主分区的容量+扩展分区的容量
扩展分区的容量=各个逻辑分区的容量之和
主分区也可成为“引导分区”,会被操作系统和主板认定为这个硬盘的第一个分区。所以C盘永远都是排在所有磁盘分区的第一的位置上。
MBR(主引导记录)的分区表(主分区表)只能存放4个分区,如果要分更多的分区的话就要一个扩展分区表(EBR),扩展分区表放在一个系统ID为0x05的主分区上,这个主分区就是扩展分区,扩展分区能可以分若干个分区,每个分区都是个逻辑分区
2扩展分区和逻辑分区
DOS和FAT文件系统最初都被设计成可以支持在一块硬盘上最多建立24个分区,分别使用从C到Z 24个驱动器盘符。但是主引导记录中的分区表最多只能包含4个分区记录,为了有效地解决这个问题,DOS的分区命令FDISK允许用户创建一个扩展分区,并且在扩展分区内再建立最多23个逻辑分区,其中的每个分区都单独分配一个盘符,可以被计算机作为独立的物理设备使用。关于逻辑分区的信息都被保存在扩展分区内,而主分区和扩展分区的信息被保存在硬盘的MBR内。这也就是说无论硬盘有多少个分区,其主启动记录中只包含主分区(也就是启动分区)和扩展分区两个分区的信息。

gpt分区

GPT分区的硬盘可以解决以上MBR分区的所有缺点,它没有4个主分区的限制,想分几个主分区就可以分几个主分区,它可以识别大于2T的硬盘空间,每个分区的大小也可以超过2T。但是它的缺点是需要操作系统支持。比如只有WinXP 64位、Win Vista、Win 7和Win 8和比较新的Linux发行版支持GPT分区的硬盘。而且,如果没有EFI的支持的话,以上系统也只能将GPT分区的硬盘当成数据盘,不能从GPT分区的硬盘启动。
要从GPT分区的硬盘启动,则主板使用EFI、硬盘使用GPT分区、操作系统支持GPT和EFI这三个条件缺一不可。目前比较新的64位Linux系统和Win8系统都是支持EFI的,所以都是需要从GPT分区的硬盘启动的。

原创粉丝点击