python 内存文件系统_七兮网络-关于内存文件系统ramfs、tmpfs、rootfs和initramfs以及initrd...

ramfs

其实tmpfs, rootfs, initramfs都是ramfs的一种,它们或者是对它的一些特殊的应用,或者是对它某一方面能力的改进加强.

ramfs是一个非常简单的文件系统,它输出Linux的磁盘缓存机制(页缓存和目录缓存)作为一个大小动态的基于内存的文件系统。

通常,所有的文件由linux被缓存在内存中。页的数据从保持在周围以防再次需要的后备存储(一般被挂载的是块设备文件系统)中读取,并标记为可用(空闲)以防虚拟内存系统(Virtual Memory System)需要这些内存作为别用。类似的,在数据写回后备存储时,数据一写回文件就立即被标记为可用,但周围的缓存被保留着直至VM(虚拟机)重新分配内存。一个类似的机制(目录缓存)极大的加快了对目录的访问。

ramfs并没有后备存储。文件写入ramfs象往常一样,来分配目录和页的缓存,但这里并没有地方可写回它们。这意味着页的数据不再标记为可用,因此当希望回收内存时,内存不能通过VM来释放。

实现ramfs所需的代码总量是极少的,因为所有的工作由现有的Linux缓存结构来完成。实际上,你现正在挂载磁盘缓存作为一个文件系统。据此,ramfs并不是一个可通过菜单配置项来卸载的可选组件,它可节省的空间是微不足道的。

tmpfs

tmpfs算是ramfs的加强版,它可以使用内存或swqp分区作为存储,它使用了虚拟内存的机制,它将所有文件保存在虚拟内存中。tmpfs占用的内存有大小的限制,可以在mount时设置,当写入数据会导致超过size时会报错。tmpfs可以把暂时不用的东西回写到swap分区。

ramfs和tmpfs是在内存上建立的文件系统(Filesystem)。其优点是读写速度很快,但存在掉电丢失的风险。如果一个进程的性能瓶颈是硬盘的读写,那么可以考虑在ramfs或tmpfs上进行大文件的读写操作。

ramfs和tmpfs之间的区别:

ramfs和tmpfs的区别特性tmpfsramfs

达到空间上限时继续写入提示错误信息并终止可以继续写尚未分配的空间

是否固定大小是否

是否使用swap是否

具有易失性是是tmpfs是从ramfs派生出的,添加了大小的限制以及回写数据到交换空间能力的特殊ramfs。普通用户可以允许回写到tmpfs挂载中。

使用tmpfs$ mount tmpfs /dev/shm -t tmpfs -o size=32m

rootfs

rootfs是一个特定的ramfs(或tmpfs,如果那被启用)的实例,它始终存在于2.6的系统。

你不能卸载rootfs,这个理由近似于你不能杀死init进程。它小巧且简单的为内核确保某些列表不能为空,而不是拥有特定的代码来检查和处理一个空列表。

大多数的系统挂载另一个文件系统到rootfs并忽略它。一个空白ramfs实例的空间总量占用是极小的。

initramfs

所有的2.6 Linux内核包含了一个gzip压缩过的"cpio"格式存档,当内核启动时它将被提取到rootfs。

在提取之后,内核检测rootfs是否包含了一个"init"文件,如果包含就来执行它并设置PID为1。

这个init进程将负责引导系统的其余内容,包含了要寻找和挂载的真正根设备(若有的话)。

如果rootfs在提取cpio存档以后并不包含一个init程序,内核将失败并通过旧的代码来寻找和挂载一个根分区,接着执行一些/sbin /init的变种。

initrd

initramfs是linux中现在常用的功能,在较老的linux中,用的则是initrd(initramdisk)。

initramfs不依赖于任何其他文件系统,与initramfs不同,initrd模拟了一个磁盘(增加了linux块I/O的开销),因此,initrd要求内核镜像包含该“磁盘”的文件系统驱动程序。

本文来自 七兮网络 转载请注明;

本文地址:http://qxhut.cn/?id=153。

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值