Ext2: Linux second extended file system, ext2fs
文件储存:
1) 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector),每个扇区储存512字节
2) 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。
3) 文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,"索引节点"。
4) 硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。
文件系统数据存储:
superblock: 记录此filesystem的整体信息,包含inode/block的总量、使用量、剩余量,以及文件系统的格式与相关信息等
inode: 记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码
block: 数据记录文件的内容,若文件太大,会占用多个block
1. inode table
1). 文件权限(read/write/execute)
2). 文件拥有者和群组(owner/group)
3). 文件大小
4). 时间戳:ctime文件创建和权限变更的时间,mtime文件内容变动的时间,atime最后一次读取时间
5). 文件特性(flag), SetUID, SetGID
6). 链接数,即有多少文件名指向这个inode
7). 文件数据指向(poniter)block的位置
查看文件的inode信息:
stat myfile.txt
inode大小:
1) 每个inode 128bytes
2) 每个文件一个inode
3) 没1KB设置一个inode. 1G硬盘, inode table的大小为128bytes/inode * 1inode * 1000=128M
inode也会消耗硬盘空间,
节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。
假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。
查看inode总数和已使用量,可以使用df命令。
df -i
2. data block
ext2支持的block大小有1K, 2K, 4K三种
格式化时,block大小就固定了,且每个block都有编号,以方便inode记录
block大小对最大文件的限制:1K(16G), 2K(256G), 4K(2T)
Ext2文件系统,block的限制
1) block的大小和数量在格式化时已确定,需要修改,必须重新格式化
2) 每个block只能防止一个文件的数据。若文件大于block,则占用多个block;若文件小于block,则block中的剩余容量将浪费
3. superblock:记录整个filesystem信息
1) block和inode的总量
2) 已使用和未使用的inode/block数量
3) block和inode的大小(block 1,2,4K, inode 128bytes)
4) filesystem的挂载时间,最近一次数据写入时间,最近一次磁检(fsck)时间
5) 一个valid bit数值。已挂载,valid bit为0;未挂载,valid bit为1
查询文件系统信息:
dumpe2fs [-h] dev
csp:~ # dumpe2fs -ob superblock /dev/sda10
dumpe2fs 1.38 (30-Jun-2005)
dumpe2fs: No such file or directory while trying to open superblock
Couldn't find valid filesystem superblock.
csp:~ # dumpe2fs /dev/sda10
dumpe2fs 1.38 (30-Jun-2005)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 9b76118a-1923-40cc-9600-dba5bd2329ba
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal filetype needs_recovery sparse_super
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
各个挂载盘的block大小,一个目录下,文件数较多,导致一个block无法容纳下所有inode对照表
csp:~ # ll -d / /bin /boot /proc /lost+found /sbin
drwxr-xr-x 41 root root 4096 Jun 14 14:38 / # 1个 4K block
drwxr-xr-x 2 root root 4096 Apr 2 2011 /bin # 1个 4K block
drwxr-xr-x 3 root root 1024 Jun 2 2009 /boot # 1个 1K block
drwx------ 2 root root 16384 Jun 2 2009 /lost+found # 16个 4K block
dr-xr-xr-x 588 root root 0 May 27 11:36 /proc # 此目录不占用磁盘空间
drwxr-xr-x 3 root root 8192 Aug 1 2011 /sbin # 8个 4K block
查询磁盘分区:
fdisk -l
fdisk /dev/sda
格式化
mkfs -t ext3 /dev/hda6
ext2、ext3磁盘挂载:
mkdir /mnt/hda6
mount /dev/hda6 /mnt/hda6
mount -l
cd/dvd挂载:
mkdir /media/cdrom
mount /dev/cdrom /media/cdrom
格式化挂载软盘:
mkfs -t vfat /dev/df0
mkdir /media/floppy
mount -t vfat /dev/fd0 /media/floppy
挂载闪存:
mkdir /mnt/flash
mount -t vfat /dev/sda1 /mnt/flash
卸载:
unmount [-fn] 挂载点/设备名
开机挂载:
/etc/fstab
/etc/mtab
相关推荐
设计一个简单的磁盘文件管理系统,用文件模拟磁盘,用数组模拟缓冲区,要求实现: (1)支持多级目录结构,支持文件的绝对路径访问; (2)文件的逻辑结构采用流式(字节流)结构,物理结构采用链式结构中的显式链...
此外,还需要提供友好的用户界面,展示磁盘文件系统的状态和空间使用情况,以及虚拟磁盘的转储功能,允许信息在磁盘和内存之间交换。 通过这个课程设计,学生不仅能巩固书本上的理论知识,如FAT文件系统的工作原理...
通过设计和调试一个简单的文件系统,主要是模拟文件操作命令的执行,来模拟文件管理,使学生对主要文件操作命令的实质和执行过程有比较深入的了解,掌握它们的基本实施方法。文件管理的主要任务是对用户文件和系统...
一、实验目的:掌握Windows Server 2008系统中的磁盘管理和文件系统管理,包括基本磁盘中分区的创建,动态磁盘中各种动态卷的创建。
模拟实现采用二级目录结构的磁盘文件系统中的文件操作。 文件系统是操作系统中管理和存取信息的机构,它具有“按名存取”的功能,不仅方便用户,而且能提高系统效率且安全可靠。 在用户程序中可使用文件系统提供的...
本课程设计的目的是让学生深入理解文件系统的工作原理,并能够实际编写或设计一个简单的磁盘文件管理系统。以下是对该课程设计涉及的知识点的详细解释: 1. **文件系统概述**:文件系统是操作系统用来组织、命名、...
在计算机科学中,磁盘文件系统是用于组织和管理存储在磁盘上的数据的重要组成部分。本文将深入探讨如何使用C++来模拟一个简单的磁盘文件系统。C++是一种强大而灵活的编程语言,适合实现这样的系统,因为它允许我们对...
在IT领域,磁盘文件管理是一项至关重要的任务,它涉及到计算机系统如何组织、存储和访问数据。本程序是一个简单的磁盘管理工具,旨在帮助用户更有效地管理他们的文件系统。下面我们将详细探讨磁盘文件管理的一些核心...
文件系统的性能直接影响到用户对数据的访问速度和系统的整体效率。 **C语言实现**: 选择C语言作为实现语言是因为其底层操作能力和高效的性能。C语言允许直接访问硬件,非常适合编写操作系统这类对性能有严格要求的...
### Linux磁盘及文件系统管理详解 #### 一、硬盘物理结构及相关结构 在深入了解Linux磁盘及文件系统管理之前,我们先从物理层面来理解硬盘的基本构成。 **1. 硬盘内部视角实物图** 硬盘内部由一系列的盘片...
CentOS 7 磁盘和文件系统管理 在 CentOS 7 中,磁盘和文件系统管理是非常重要的系统管理任务之一。通过本篇文章,我们将详细介绍 CentOS 7 中的磁盘和文件系统管理,包括磁盘的分区、文件系统的创建、挂载和管理等...
操作系统课设通常旨在让学生深入理解操作系统的核心概念,尤其是与存储管理相关的部分,如磁盘文件系统。在这个项目中,学生需要模拟一个磁盘文件系统,这涵盖了数据在磁盘上的组织、文件的创建、读写操作以及磁盘...
权限管理是文件系统的关键部分。在ASP.NET中,我们可以利用内置的角色和身份验证机制来实现这一功能。通过配置Web.config文件,我们可以定义不同用户角色,并设置相应的访问权限。例如,某些用户可能只能查看特定...
Windows磁盘文件系统是计算机操作系统中负责数据存储、检索、更新、删除等文件管理任务的核心组件。它负责将硬盘上的数据划分为文件和目录,并管理这些文件和目录,以确保用户能够快速方便地访问和使用存储在硬盘上...
2. 文件系统:DriveInfo类还提供了获取磁盘文件系统的功能,如FAT32、NTFS等。 3. 磁盘清理:C#可以通过Directory和File类来删除无用文件,释放磁盘空间。例如,可以查找特定类型的临时文件并删除。 4. 磁盘碎片...
磁盘文件管理是操作系统中的一部分,负责管理和组织计算机中的文件系统。磁盘文件管理的主要任务是将文件系统中的文件和目录组织起来,提供给用户访问和操作文件的接口。 在该源码中,作者定义了多个结构体来描述...
浅析Linux的文件系统和磁盘管理 Linux操作系统的文件系统是存储和管理文件的方法,所有的软硬件资源全部看做文件。文件系统是操作系统的基本结构,因几乎所有与用户、应用程序或安全性模型的沟通方法都与文件保存的...
格式化则是为新磁盘或分区设置文件系统,如FAT32、NTFS或exFAT,不同的文件系统适用于不同需求,如NTFS支持更大的文件和更高级的安全特性。磁盘清理则可以帮助用户释放空间,删除不必要的临时文件、系统日志、垃圾...
本实验将引导你了解如何对磁盘进行分区、格式化、挂载以及设置自动挂载,这些都是Linux系统管理员必备的基本技能。下面将详细阐述这些步骤和相关的知识点。 一、磁盘分区 磁盘分区是将物理硬盘划分为多个独立的逻辑...
login 用户登录 dir 列文件目录 create 创建文件 delete 删除文件 open 打开文件 close 关闭文件 cd 改变目录 mkdir 创建目录 rddir 删除目录 halt 退出系统