其他文件系统

ramfs内存文件系统

ramfs是一个利用VFS自身结构而形成的内存文件系统。ranfs没有自己的文件存储结构,它的文件存储于page cache中,目录结构由dentry链表本身描述,文件则由VFS的inode结构本身描述。

/proc文件系统

/proc文件系统是个虚拟文件系统,它通过文件系统接口实现对内核的访问,输出系统运行状态。它以文件系统的形式,为操作系统本身和应用进程之间的通信提供了一个界面,使应用程序能够安全、方便地获得系统当前的运行状况和内核的内部数据信息,并且可以修改某些系统的配置信息。比如,能通过拥有模块列表的/proc/modules,拥有内存使用统计信息的/proc/meminfo来得到模块信息和内存信息。

数据结构 proc_dir_entry

在/proc文件系统中,代表各个文件节点的结构是proc_dir_entry()结构。和文件系统中的dir_entry()相似,它管理着从操作系统的用户控件到核心空间对文件读写的驱动。但是,与一般的文件系统不同的是,它修改的并不是实实在在的硬盘上的文件,而是在系统启动之后内存中由内核动态创建的文件。因此在系统关闭之后,/proc文件系统中的文件就不存在了。

系统启动后,创建了proc_dir_entry{}结构形成的文件系统树,每当从用户空间读取/proc目录下面的文件的时候,内核根据读取的文件映射到对应的驱动函数,动态地获取内核数据。除了提供读的动能,/proc文件系统的部分文件还提供写的功能。主要是针对/proc/sys目录而做的。对/proc文件系统的写操作并不意味着需要写硬盘灯硬盘设备,而是动态更改内核中的数据,达到完成监视内核运行状态的目的,也就是部分地实现调试的功能。

/proc文件系统的超级块和普通文件系统的超级块不同,它并不需要从硬件设备中获取超级块的数据,而是在内核启动的时候直接初始化超级块数据,从而完成系统中对/proc文件系统操作函数的初始化过程,以及这种文件系统的统计过程。

时间: 2024-10-26 00:53:07

其他文件系统的相关文章

刨根问底:ext3/ext4文件系统最大空间及单个文件大小演算法则

从ext3和ext4文件系统来窥探空间和文件大小的演算法则 学习操作系统就不得不研究磁盘以及磁盘文件系统,磁盘是底层物理设备,而文件系统则是管理磁盘的上层工具,文件系统规划了磁盘存放数据的格式,确定了一个操作系统能够支持多大的磁盘空间,每个分区能够支持多大的数据空间,以及每个文件所能支持的大小.通常对系统管理员而言,最需要的知道的就是最大磁盘空间,最大分区空间以及最大文件的大小.本论题只讨论这三种大小到底是怎么算出来的,而不是死记硬背.知道了原理,以后不管遇到什么文件系统,都会有章可循,至少知道

使用path监听指定文件系统的变化

在以前的JAVA版本中,如果程序需要检测文件的变化,那么需要开辟一个线程每隔一段时间去遍历一次指定的目录,如果发现此次遍历结果和上次不同,那么就认为文件变动了 ,这样的方式非常繁琐,JAVA 7之后的NIO.2 Path类提供了一个方法来监听指定文件目录内文件的变化状态. 1.获取文件系统的WatchService对 2.使用Path类的方法去注册一个监听,指定监听文件的哪些状态,如新增.修改.删除. package com.nio2; import java.io.IOException;im

Busybox构建根文件系统和制作Ramdisk

定制根文件系统的方法很多,最常用的是使用BusyBox来构建定制根文件系统.它集成压缩了Linux的许多工具和命令,可以使用户迅速方便地建立一套相对完整.功能丰富的文件系统,其中包括大量常用的应用程序.下面详细介绍有关Busybox定制根文件系统. 一.系统环境: 1.操作系统:Ubuntu140.4 2.交叉编译工具:gcc version 6.1.1 20160711 (Linaro GCC 6.1-2016.08) 3.busybox源码包:busybox-1.26.2 二.构建rootf

RH124-14 文件系统和磁盘设备管理

第十四章 文件系统和磁盘设备管理 14.1 文件系统和磁盘设备的管理与使用 磁盘设备 磁盘设备是支持随机读写数据的设备. 在物理机器上,设备文件默认都存放在/dev/目录下,第一个硬盘是/dev/sda,第二个硬盘是/dev/sdb,如此类推.第一个硬盘的第一个分区是/dev/sda1,第二个分区是/dev/sda2,如此类推. 在xen或kvm的虚拟机上,硬盘的名字则是/dev/xvda或/dev/vda等,如此类推 有些存放数据的设备并不是直接硬件对应的设备文件,而是通过软件生成的块设备文件

第九章、文件与文件系统的压缩与打包

1. 压缩文件的用途与技术 2. Linux 系统常见的压缩命令 2.1 compress 2.2 gzip, zcat 2.3 bzip2, bzcat 3. 打包命令: tar 4. 完整备份工具:dump, restore 5. 光盘写入工具 5.1 mkisofs:创建映像档 5.2 cdrecord:光盘烧录工具 6. 其他常见的压缩与备份工具 6.1 dd 6.2 cpio 7. 重点回顾 1. 压缩文件的用途与技术 2. Linux 系统常见的压缩命令 压缩文件的扩展名大多是:『*

Windows挂载NFS文件系统

主机 操作系统 IP地址 软件包 NFS主机 Centos7.2 192.168.190.128 nfs-utils.rpcbind Windows Client Windows server 2008 192.168.190.129 网络文件系统 注:以下实验均关闭防火墙以及其它安全机制 NFS主机操作: # 使用yum安装nfs-utils和管理工具rpcbind [[email protected] ~]# yum -y install nfs-utilsrpcbind # 建立共享文件夹

ii 第七单元 访问网络共享文件系统

挂载网络文件系统 网络文件系统是由网络附加存储服务器通过网络向多个主机提供的一种文件系统 , 而不是由块设备 ( 例如硬盘驱动器 ) 提供的.客户端通过特殊的文件系统协议和格式访问远程存储 Linux 中有两种主要协议可用访问网络文件系统 : NFS 和CIFS . 访问网络共享的三个基本步骤– 1. 识别要访问的远程共享– 2. 确定挂载点 ( 应该将共享挂载到的位置 ), 并创建挂载点的空目录– 3. 通过相应的名利或配置更改挂载网络文件系统 1.cifsCIFS( Comon Intern

【第三章】BCMS中应用的文件系统

因为我的mac 上mysql 的问题,造成我选择file和mongodb来做数据的持久化操作. mongodb的话,写了一小部分,已经可是可以使用,但是存在问题,所以决定先写file来进行数据操作. 之前我和小伙伴思考和讨论过这个问题,用小文件和数据库储存文件哪个会更快,数据库保存数据的方式应该和文件系统的方式一致,至于效率有待验证. 既然要使用文件系统去做数据的存储,基础的文件读取修改等方法应该写的通用,我现在还在修改这部分,因为已经在应用中发现了问题,这里先贴出来. 这里是主文件file.r

Hadoop学习笔记(3) Hadoop文件系统二

1 查询文件系统 (1) 文件元数据:FileStatus,该类封装了文件系统中文件和目录的元数据,包括文件长度.块大小.备份.修改时间.所有者以及版权信息.FileSystem的getFileStatus()方法用于获取文件或目录的FileStatus对象. 例:展示文件状态信息 public class ShowFileStatusTest{ private MiniDFSCluster cluster; private FileSystem fs; @Before public void

第三课 文件系统(上)

unix_c_03.txt====================第三课 文件系统(上)====================一.系统调用------------应用程序 -----------+| |v |各种库 |(C/C++标准库.Shell命令和脚本. |X11图形程序及库) || |v |系统调用 <----------+(内核提供给外界访问的接口函数,调用这些函数将使进程进入内核态)|v内核(驱动程序.系统功能程序)1. Unix/Linux大部分系统功能是通过系统调用实现的.如o