文件系统(1)

一般情况下,字符设备以串行方式存储和获取数据,串口或磁带机是最典型的字符设备。相比之下,块设备会一次存取和获取大小相同的一组数据。文件系统是建立在块设备之上的

文件系统是存在于一个物理设备的逻辑分区之上的,数据存储在分区中物理设备的最顶端。分区就是对一个物理介质(磁盘、闪存)的逻辑划分。物理设备可以只有一个独立分区包含所有可用空间,也可以被划分为多个分区以满足特定需要。分区可以看做是可以写入一个完整文件系统的逻辑磁盘

Linux采用fdisk使用程序进行块设备的分区操作。分区以后,每个设备分区都可以用你所选择的文件系统类型格式化,当采用给定的文件系统类型格式化一个分区之后,Linux就可以把相应的文件系统挂载到该分区

我们需要对使用fdisk实用程序创建的分区进行格式化,为此,可以使用Linux下的mke2fs实用程序,用来在特定分区创建一个ext2类型的文件系统,创建其它类型的文件系统也有相应的实用程序

节点(inode)是一个文件的基本数据结构单元,块大小是1024字节。块大小总是要服从于系统最佳性能的要求,一方面,由于每个文件必须存放在完整数量的块之中,所以在一个多文件的磁盘上,大容量的块会浪费很多空间。在block_size大小为n的块上,其任何剩余碎片都会占用一个完整的块。如果采用容量非常小的块,在进行块到文件的映射时,就会增加文件系统对数据的管理成本。选用一个最合适块大小的唯一方法是:在用户特定硬件实现中进行基准测试

挂载文件系统

创建文件系统之后,就可以在运行的Linux系统中挂载该文件系统了,

把之前创建的ext2文件系统挂载到指定的挂载点:

mount /dev/sdb1  /mnt/flash

/mnt/flash目录称为挂载点,在文件系统层次结构中,安装(挂载)文件系统的地方,挂载点可以是文件系统中用户指定的任何地方,挂载后该位置也就成为新挂载设备的根目录(root),如果要引用该闪存设备上的任何文件,必须在路径前加入前缀/mnt/flash。在绝大多数情况下,一个正确格式化的且为内核所知的文件系统类型都可以挂载。

文件系统的完整性检查

  • e2fsck命令用来检查一个ext2类型文件系统的完整性,由于某些原因,文件系统可能损坏(不可预知电源掉电),e2fsck命令会从多个方面检查文件系统的连续性,需要注意的是,e2fsck命令应该是在一个未挂载的文件系统上运行,如果运行在一个已挂载的文件系统上,可能对磁盘或闪存设备上内部文件系统结构产生重大破坏

    e2fsck -y /dev/sdb1
    

采用e2fsck命令可以检测到磁盘或闪存设备没有被正常卸载,它会对整个文件系统进行5个阶段的检测,包括内部文件系统数据结构的不同组成部分。防止文件系统损坏的另一个措施,是确保磁盘写操作得以立即执行。系统同步机制(sync)可以强制所有I/O请求队列都能在相应的设备上相应。对于电源掉电或驱动失败带来的数据异常的缺陷,windows采用在每次文件写操作后执行一个sync命令。

作为Linux系统下已经成熟的ext2文件系统,它具有相应快速、高效、健壮的特点。但但是,如果用户需要一个日志文件系统所具备可靠性,或者用户设计中需要确定非正常关机后的引导时间,就可以考虑采用ext3文件系统。下节待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值