柳大的Linux讲义·基础篇(1)磁盘与文件系统

晨曦之光 发布于 2012/04/24 14:47
阅读 65
收藏 1

《柳大的Linux讲义·基础篇》来自柳大的CSDN博客,转载请注明原文链接:http://blog.csdn.net/poechant/article/details/7214926


一、磁盘知识

1、磁盘物理结构

1)结构:

   物理上,一块磁盘,有多个盘片。每个盘片上根据半径不同,有很多磁道(track)。不同盘片上半径相同的磁道,在逻辑上称为磁柱(cylinder)。一个磁道上的某段弧内的区域,被称为扇区(sector)。每个扇区的大小是512字节。

2)容量:

   计算公式是:

   磁盘容量 = 512字节 x每个磁道的扇区数 x 磁头数 x柱面数

   磁盘容量 = 512字节 x每个磁道的扇区数 x 盘片数 x每个盘片的磁道数

   注意:磁头数 = 盘片数,柱面数 =每个盘片的磁道数。


2、磁盘分区

1)结构:

   一块磁盘从外层的某个起始柱面,到内层的某个结束柱面,称为一个分区(partition)。

2MBR

Master Boot Recorder,是整个磁盘的第0个柱面,记录有整个磁盘的分区信息。开机后对磁盘的读取首先从MBR开始。如果一个磁盘的MBR坏了,那么整个磁盘也就废了。

3MBR的限制:

   毕竟MBR的大小有限,无法存储任意多个分区的信息。所以MBR限制了只能存储4个分区的信息。这四个分区中最多只可以有一个扩展分区。所以磁盘分区的的结果一定是:X个主分区+Y个扩展分区,且X+Y<=4Y<=1。如果你分了4个分区后还有剩余空间,则这些空间是无法使用的。如果你分了1个,2个或3个分区,而且还有剩余空间,那么这些空间会被分成3个,2个或1个主分区。


3、磁盘逻辑结构

1)结构:

   磁盘的逻辑结构是由操作系统决定的。一块磁盘的最小物理存储单位是512字节的扇区,但一个磁盘的最小逻辑存储单位可以由操作系统指定,称为块(block),大小比如4KB(即8个扇区)。一个块最多只能存储一个文件,所以块的设定要适中,太大了浪费空间,太小了降低效率。

2superblock

   每个分区(partition)起始位置的那个block,存储着这个分区的信息,包括分区的块总数、空闲块总数、非空闲块总数、所有块的状态信息映射表等。对某个分区中的数据进行读写时,首先读取的是该分区的superblock。如果一个分区的superblock坏了,那么整个分区也就废了(但不影响其他分区)。


4、文件的读写过程

   先读整个磁盘的MBR,获取所有分区信息,并确定要载入的操作系统文件所在的分区。然后,读取某个分区时,先读取该分区的superblock,然后找到相应的块(可能是多个)进行读取。


二、文件系统

1、文件系统概念

   文件系统(file system,或filesystem)是硬件存储设备与操作系统之间的数据传输与管理层。恰如客户端提供与网络之间的数据通信一样,文件系统提供操作系统或者用户与硬件存储设备之间的通信。很多情况下,文件系统与操作系统分得不那么清楚,而是一个整体。任何形式的存储设备上都有文件系统,比如硬盘(hard disk)、软盘(floppy disks)、光盘(optical disks)、闪存(flash memory)。


2、文件系统分类

磁盘文件系统(disk filesystem

闪存文件系统(flash filesystem

磁带文件系统(tape filesystem

数据库文件系统(database filesystem

事务文件系统(transactional filesystem

网络文件系统(network filesystem

共享磁盘文件系统(shared disk filesystem

软盘文件系统(flat filesystem


3Linux文件系统

ext22nd EXTended filesystem,发布于1993

ext33rd EXTended filesystem,发布于2001

ext44th EXTended filesystem,发布于2008

XFSeXtended FileSystem,发布于1994

JSFJounaled1990发布JFS1AIX 3.11999发布JFSOS/24.5版本。

ReiserFSReiser File System,发布于2001

BtrfsB-TRee File System2009非稳定版,稳定版还未发布。


4Linux系统的磁盘与分区编号

1)磁盘编号:/dev/hda/dev/hdb/dev/hdc表示本地硬盘。/dev/sda/dev/sdb/dev/sdc表示外接的可移动硬盘。

2)分区编号:/dev/hda1/dev/hda2/dev/hdc1表示本地硬盘的分区。/dev/sda1/dev/sdc2表示外接硬盘的分区。


《柳大的Linux游记·基础篇》来自柳大的CSDN博客,转载请注明原文链接:http://blog.csdn.net/poechant/article/details/7214926

-


原文链接:http://blog.csdn.net/poechant/article/details/7214673
加载中
返回顶部
顶部