2023年Linux文件系统挂装与高层体系结构.docx

上传人:s9****2 文档编号:551003587 上传时间:2023-12-24 格式:DOCX 页数:6 大小:17.08KB
返回 下载 相关 举报
2023年Linux文件系统挂装与高层体系结构.docx_第1页
第1页 / 共6页
2023年Linux文件系统挂装与高层体系结构.docx_第2页
第2页 / 共6页
2023年Linux文件系统挂装与高层体系结构.docx_第3页
第3页 / 共6页
2023年Linux文件系统挂装与高层体系结构.docx_第4页
第4页 / 共6页
2023年Linux文件系统挂装与高层体系结构.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《2023年Linux文件系统挂装与高层体系结构.docx》由会员分享,可在线阅读,更多相关《2023年Linux文件系统挂装与高层体系结构.docx(6页珍藏版)》请在金锄头文库上搜索。

1、2023Linux文件系统挂装与高层体系结构Linux文件系统挂装与高层体系结构Windows XP昂扬的价格和升级收费政策使更多企业和个人用户转向自由开放的Linux操作系统,目标雇主群会快速增长。下面是我整理的关于Linux文件系统挂装与高层体系结构,希望大家仔细阅读!文件系统体系结构既然已经看到了文件系统的构造方法,现在就看看Linux文件系统层的体系结构。本文从两个角度考察Linux文件系统。首先采纳高层体系结构的角度。然后进行深层次探讨,介绍实现文件系统层的主要结构。高层体系结构尽管大多数文件系统代码在内核中(后面探讨的用户空间文件系统除外),但是图 1 所示的体系结构显示了用户空间

2、和内核中与文件系统相关的主要组件之间的关系。图 1.Linux文件系统组件的体系结构用户空间包含一些应用程序(例如,文件系统的运用者)和 GNU C 库(glibc),它们为文件系统调用(翻开、读取、写和关闭)供给用户接口。系统调用接口的作用就像是交换器,它将系统调用从用户空间发送到内核空间中的适当端点。VFS 是底层文件系统的主要接口。这个组件导出一组接口,然后将它们抽象到各个文件系统,各个文件系统的行为可能差异很大。有两个针对文件系统对象的缓存(inode 和 dentry)。它们缓存最近运用过的文件系统对象。每个文件系统实现(比方 ext2、JFS 等等)导出一组通用接口,供 VFS 运

3、用。缓冲区缓存会缓存文件系统和相关块设备之间的恳求。例如,对底层设备驱动程序的读写恳求会通过缓冲区缓存来传递。这就允许在其中缓存恳求,削减访问物理设备的次数,加快访问速度。以最近运用(LRU)列表的形式管理缓冲区缓存。留意,可以运用 sync 吩咐将缓冲区缓存中的恳求发送到存储媒体(迫使全部未写的数据发送到设备驱动程序,进而发送到存储设备)。这就是 VFS 和文件系统组件的高层状况。现在,探讨实现这个子系统的主要结构。主要结构Linux 以一组通用对象的角度看待全部文件系统。这些对象是超级块(superblock)、inode、dentry 和文件。超级块在每个文件系统的根上,超级块描述和维护

4、文件系统的状态。文件系统中管理的每个对象(文件或书目)在Linux中表示为一个 inode。inode 包含管理文件系统中的对象所需的全部元数据(包括可以在对象上执行的操作)。另一组结构称为 dentry,它们用来实现名称和 inode 之间的映射,有一个书目缓存用来保存最近运用的 dentry。dentry 还维护书目和文件之间的关系,从而支持在文件系统中移动。最终,VFS 文件表示一个翻开的文件(保存翻开的文件的状态,比方写偏移量等等)。根本的文件系统体系结构Linux 文件系统体系结构是一个对困难系统进行抽象化的好玩例子。通过运用一组通用的 API 函数,Linux 可以在很多种存储设备

5、上支持很多种文件系统。例如,read 函数调用可以从指定的文件描述符读取肯定数量的字节。read 函数不了解文件系统的类型,比方 ext3 或 NFS。它也不了解文件系统所在的存储媒体,比方 AT Attachment Packet Interface(ATAPI)磁盘、Serial-Attached SCSI(SAS)磁盘或 Serial Advanced Technology Attachment(SATA)磁盘。但是,当通过调用 read 函数读取一个文件时,数据会正常返回。本文讲解这个机制的实现方法并介绍Linux文件系统层的主要结构。什么是文件系统首先答复最常见的问题,;什么是文件系

6、统;。文件系统是对一个存储设备上的数据和元数据进行组织的机制。由于定义如此宽泛,支持它的代码会很有意思。正如前面提到的,有很多种文件系统和媒体。由于存在这么多类型,可以预料到Linux文件系统接口实现为分层的.体系结构,从而将用户接口层、文件系统实现和操作存储设备的驱动程序分隔开。挂装在Linux中将一个文件系统与一个存储设备关联起来的过程称为挂装(mount)。运用 mount 吩咐将一个文件系统附着到当前文件系统层次结构中(根)。在执行挂装时,要供给文件系统类型、文件系统和一个挂装饰。为了说明Linux文件系统层的功能(以及挂装的方法),我们在当前文件系统的一个文件中创立一个文件系统。实现

7、的方法是,首先用 dd 吩咐创立一个指定大小的文件(运用 /dev/zero 作为源进行文件复制)- 换句话说,一个用零进行初始化的文件,见清单 1。清单 1. 创立一个经过初始化的文件1.$ dd if=/dev/zero of=file.img bs=1k count=100002.10000+0 records in3.10000+0 records out4.$现在有了一个 10MB 的 file.img 文件。运用 losetup 吩咐将一个循环设备与这个文件关联起来,让它看起来像一个块设备,而不是文件系统中的常规文件:1.$ losetup /dev/loop0 file.img2

8、.$这个文件现在作为一个块设备出现(由 /dev/loop0 表示)。然后用 mke2fs 在这个设备上创立一个文件系统。这个吩咐创立一个指定大小的新的 ext2 文件系统,见清单 2。清单 2. 用循环设备创立 ext2 文件系统1.$ mke2fs -c /dev/loop0 100002.mke2fs 1.35 (28-Feb-2022)3.max_blocks 1024000, rsv_groups = 1250, rsv_gdb = 394.Filesystem label=5.OS type: Linux6.Block size=1024 (log=0)7.Fragment siz

9、e=1024 (log=0)8.2512 inodes, 10000 blocks9.500 blocks (5.00%) reserved for the super user10.11.$运用 mount 吩咐将循环设备(/dev/loop0)所表示的 file.img 文件挂装到挂装饰 /mnt/point1。留意,文件系统类型指定为 ext2。挂装之后,就可以将这个挂装饰当作一个新的文件系统,比方运用 ls 吩咐,见清单 3。本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第1页 共1页第 1 页 共 1 页第 1 页 共 1 页第 1 页 共 1 页第 1 页 共 1 页第 1 页 共 1 页第 1 页 共 1 页第 1 页 共 1 页第 1 页 共 1 页第 1 页 共 1 页第 1 页 共 1 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 人事档案/员工关系

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号