虽然内核是Linux的核心,但是文件是用户与操作系统交互的主要工具,对于Linux来说尤其如此,因为在UNIX传统中,它使用文件I/O机制来管理硬件设备和数据文件。
不幸的是,新手往往会混淆的术语,介绍了Linux文件系统的概念,术语的文件系统可以在Linux文件制备交替使用,它是指几个不同但相关的概念。除了磁盘分区的具体实例,文件系统也指的是数据结构和分区中的文件管理方法。
新手更迷惑的术语也用来指的是系统中的文件的组织形式:目录树。另外,这个词也可以指目录树中的每个子目录,如在/home文件系统。有些人认为这些目录和子目录可以不能称之为真正的文件系统,除非他们都居住在各自的磁盘分区。然而,其他人把它称为一个文件系统,这无疑增加了混乱。
Linux老手可以理解上下文中这些术语的含义,新手很难在130中识别出这样的上下文。
本文的主要目标是提供足够的背景知识,帮助您识别术语的上下文。在澄清文件系统术语的细微差别时,您还将学习如何从理论应用程序向实际应用程序添加一些有用的工具。
本文主要介绍了Linux内核2.4版中Linux磁盘分区和文件管理系统的特点,并介绍了Linux内核2.6版中的新特性。
磁盘分区概述
Linux和UNIX中的基本文件存储单元是磁盘分区,它们逻辑上分为一个或多个硬盘。操作系统将每个逻辑分区视为一个独立的磁盘。文件和文件管理系统在磁盘分区中生存。Linux将这些磁盘分区作为设备处理,然后通过文件中的特殊文件来使用文件I/O机制。
有两种类型的设备文件:块和字符 /原。两者之间的重要区别是,块设备和字符设备的缓冲,缓冲是不是因为没有文件管理系统。对Oracle集群文件系统(OCFS)出台之前,利用原有的设备是提高Oracle数据文件分区的性能的一种常用方法。(在下面的部分中的这篇文章,我们将详细介绍原装置)
分区表被存储在磁盘的最早的位置提供了这个磁盘映射的分区,你可以使用fdisk命令查看系统的分区表。
# fdisk -l
盘/ dev / HDA:240头,63个部门,1940缸
单位=15120×512字节的圆柱体
设备启动启动结束块id系统
/ dev / HDA 1286 2162128 + C Win95 FAT32(LBA)
/ dev / hda2×2881940124966805扩展
/ dev / hda5 288289 15088 + 83 Linux
/ dev / HDA6 290844 4195768 + 83 Linux
/ dev /计划845983 1050808 + 82的Linux交换
/ dev / hda8 9841816 6297448 + 83 Linux
/ dev / hda9 18171940 937408 + 83 Linux
名称 / dev /在/ dev /硬盘分区表中的1到4代表IDE驱动,在HDA是司机1,司机2,建屋局表示,等等。在驱动器分区的数表示,所以 / dev / hda5位于第一个IDE驱动第五个分区。对于SCSI驱动器,类似的命名方式是: / dev / SDA / dev / SDD。
第四分区第一是保留给主分区,和第五和随后的分区用于逻辑分区。因此,在分区表驱动HDA如上所示。它包含一个主分区hda1,扩展分区和逻辑分区hda2五 / dev / hda5 / dev / hda9.the文件系统的名称shmfs上市是一个共享内存文件系统被安装为一个基于Linux 2.4 POSIX标准的专用文件系统。
你可能已经注意到,在分区列表,LBA是封闭在parentheses.lba代表逻辑块地址,将缸,块,和硬盘的扇区数成线性块模式。
在Linux,分区分主分区、扩展分区和逻辑分区,主分区是一个术语,四分区限制在以前的x86系统的遗产。不像DOS和Windows,Linux可以从小学开始或逻辑分区。主分区作为一个逻辑分区占位符称为扩展分区。扩展分区本身有一个分区表指向一个或多个逻辑分区(他们只是主分区的子分区),在上面的分区列表,hda2是扩展分区。