linux系统存储文件系统,Linux文件系统的深入分析

【IT168 技术】本人很喜欢Linux,在工作中也很喜欢总结关于Linux文件系统的经验,下面就这个问题来详细说说吧。Linux支持多种文件系统,包括ext2、iso9660、jffs、ext3、vfat、ntfs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(Virtual File System)。

基于RAM的文件系统

(1)Ramdisk

Ramdisk是将一部分固定大小的内存当作分区来使用。它并非一个实际的文件系统,而是一种将实际的文件系统装入内存的机制,并且可以作为根文件系统。将一些经常被访问而又不会更改的文件(如只读的根文件系统)通过Ramdisk放在内存中,可以明显地提高系统的性能。

在Linux的启动阶段,initrd提供了一套机制,可以将内核映像和根文件系统一起载入内存。

(2)ramfs/tmpfs

Ramfs是LinusTorvalds开发的一种基于内存的文件系统,工作于虚拟文件系统(VFS)层,不能格式化,可以创建多个,在创建时可以指定其最大能使用的内存大小。(实际上,VFS本质上可看成一种内存文件系统,它统一了文件在内核中的表示方式,并对磁盘文件系统进行缓冲。

Ramfs/tmpfs文件系统把所有的文件都放在RAM中,所以读/写操作发生在RAM中,可以用ramfs/tmpfs来存储一些临时性或经常要修改的数据,例如/tmp和/var目录,这样既避免了对Flash存储器的读写损耗,也提高了数据读写速度。

Ramfs/tmpfs相对于传统的Ramdisk的不同之处主要在于:不能格式化,文件系统大小可随所含文件内容大小变化。

Tmpfs的一个缺点是当系统重新引导时会丢失所有数据。

3.网络文件系统NFS(NetworkFileSystem)

NFS是由Sun开发并发展起来的一项在不同机器、不同操作系统之间通过网络共享文件的技术。在嵌入式Linux系统的开发调试阶段,可以利用该技术在主机上建立基于NFS的根文件系统,挂载到嵌入式设备,可以很方便地修改根文件系统的内容。

附录:NOR闪存与NAND闪存比较

NOR FLASHNAND FLASH

接口时序同SRAM,易使用地址/数据线复用,数据位较窄

读取速度较快读取速度较慢

擦除速度慢,以64-128KB的块为单位擦除速度快,以8-32KB的块为单位

写入速度慢(因为一般要先擦除)写入速度快

随机存取速度较快,支持XIP(eXecute In Place,芯片内执行),适用于代码存储。在嵌入式系统中,常用于存放引导程序、根文件系统等。顺序读取速度较快,随机存取速度慢,适用于数据存储(如大容量的多媒体应用)。在嵌入式系统中,常用于存放用户文件系统等。

单片容量较小,1-32MB单片容量较大,8-128MB,提高了单元密度

最大擦写次数10万次最大擦写次数100万-1000万次

以上讨论的都是基于存储设备的文件系统(memory-basedfilesystem),它们都可用作Linux的根文件系统。实际上,Linux还支持逻辑的或伪文件系统(logicalorpseudofilesystem),例如procfs(proc文件系统),用于获取系统信息,以及devfs(设备文件系统)和sysfs,用于维护设备文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Path Sum I, II

简单题 I Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum. For example:Given the below binary tree and sum 22, 5/ \4 8/ / \11 13 4/ \ \7 2 …

【Python】进程和多进程的使用

原文作者:我辈李想 版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、进程1.概念理解2.进程的启动3.python进程 二、多进程 前言 进程是指计算机中正在运行的程序实例。 进程可以是操作系统分配的&#…

linux 设置dns缓存周期,如何解决DNS缓存时间问题

理想情况下,各地DNS的缓存时间即为设置的ttl时间,所以可以通过设置ttl时间来控制DNS缓存的时间。ttl时间设置的短,DNS缓存过期快,在机器故障的时候很快切换,对用户的影响小;但是由于ttl设置的太短&#xff…

linux wifi pro6818,GEC6818连接Ubuntu,下载程序至开发板

windows下使用tftp工具下载文件到开发板(linux)1.下载tftp工具,也可以上CSDN找个免费0积分的 http://www.52z.com/soft/11886.html 2.确保开发板和windows在同一网段 比如192.168.101.*段 ...stm32串口烧写程序到开发板前言:我们如果要断电后重启板子还能使用…

表单-图片浏览上传-单选框(二)

一、图片浏览上传 1、依然【table】标签包含&#xff0c; 2、【input】包含了【type】等于【file】。 <table border"1" align"center"><tr><td>图片上传</td><td><input type"file"</td></tr><…

linux吉祥物的名字,知道Linux的吉祥物的名字和性别吗

知道Linux的吉祥物的名字和性别吗发布时间:2007-07-01 16:52:17来源:红联作者:PiOsnoae今天收到了这期的Linux Gazette&#xff0c;才知道原来Linux吉祥物还有一个名字叫Tux(英文直接翻译过来是男士无尾半正式晚礼服&#xff0c;倒是和这个小企鹅的打扮很配)。它是一位男式&…

android WebView总结

浏览器控件是每一个开发环境都具备的&#xff0c;这为马甲神功提供了用武之地。windows的有webbrowser&#xff0c;android和ios都有webview。仅仅是其引擎不同&#xff0c;相对于微软的webbrowser。android及ios的webview的引擎都是webkit&#xff0c;对Html5提供支持。本篇主…

c语言大数倍数,leetcode-1346(检查整数及其两倍数是否存在)--C语言实现

求&#xff1a;给你一个整数数组 arr&#xff0c;请你检查是否存在两个整数 N 和 M&#xff0c;满足 N 是 M 的两倍(即&#xff0c;N 2 * M)。更正式地&#xff0c;检查是否存在两个下标 i 和 j 满足&#xff1a;i ! j0 < i, j < arr.lengtharr[i] 2 * arr[j]示例 1&am…

LeetCode 4 Median of Two Sorted Arrays

There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (mn)). 题目很简单&#xff0c;比较两数组当前指针指向的值&#xff0c;选择小的添加到新数组&…

Windows消息传递机制详解

Windows是一个消息&#xff08;Message&#xff09;驱动系统。Windows的消息提供了应用程序之间、应用程序与Windows系统之间进行通信的手段。应用程序想要实现的功能由消息来触发&#xff0c;并且靠对消息的响应和处理来完成。必须注意的是&#xff0c;消息并非是抢占性的&…

c语言求树上节点的双亲,用非递归算法求二叉树叶子结点的c语言代码怎样写?...

递归算法&#xff1a;是一种直接或者间接地调用自身的算法。在计算机编写程序中&#xff0c;递归算法对解决一大类问题是十分有效的&#xff0c;它往往使算法的描述简洁而且易于理解。递归算法的特点递归过程一般通过函数或子过程来实现。递归算法&#xff1a;在函数或子过程的…

质数之和c语言编程,C程序检查一个数字是否可以表示为两个质数之和

C程序检查一个数字是否可以表示为两个质数之和在此示例中&#xff0c;您将学习检查用户输入的整数是否可以表示为所有可能组合的两个质数之和。要理解此示例&#xff0c;您应该了解以下C语言编程主题&#xff1a;为了完成此任务&#xff0c;我们将创建一个名为checkPrime()的函…

第二次冲刺阶段 站立会议09

昨天做了什么&#xff1a;昨天把程序进行了整合 今天要做什么&#xff1a;今天我们的项目大体完成了&#xff0c;进行最后一次的测试 遇到的困难&#xff1a;整个项目整合在一起后&#xff0c;运行起来有点卡转载于:https://www.cnblogs.com/yuanyajiao/p/4575945.html

uoj #118. 【UR #8】赴京赶考 水题

#118. 【UR #8】赴京赶考 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://uoj.ac/problem/118 Description 高中&#xff0c;高中&#xff0c;短暂的三年。NOI是高中结业考试&#xff0c;而高考在每年暑假举行。高二暑假&#xff0c;这是你最后一次参加高考的机会。…

c语言求前15项中偶数项的和,偶数前n项和

初中数学相较于小学数学&#xff0c;在内容、难度等方面均有提高&#xff0c;因此在学生学习中&#xff0c;很多家长不知道怎样去辅导孩子学习数学&#xff0c;今天小编整理了偶数前n项和&#xff0c;仅供参考!1 等差数列的奇数项的前n项和和偶数的前n项和怎么求_百度知道1&am…

x什么意思c语言新闻app啊我et,C语言笔试题目

4、关键字const有什么含意&#xff1f;表示常量不可以修改的变量。5、关键字volatile有什么含意&#xff1f;并举出三个不同的例子&#xff1f;提示编译器对象的值可能在编译器未监测到的情况下改变。int (*s[10])(int) 表示的是什么啊int (*s[10])(int) 函数指针数组&#xff…

openGl

OpenGL 作为当前主流的图形API之一&#xff0c;它在一些场合具有比DirectX更优越的特性。 1、与C语言紧密结合。 2、强大的可移植性。 3、高性能的图形渲染。 OpenGL 官方网站&#xff08;英文&#xff09;http://www.opengl.org 第一步&#xff0c;选择一个编译环境 现在Wind…

在visual studio 2010+中调用ffmpeg编译时 报错error LNK xxxx: 模块对于 SAFESEH 映像是不安全的。...

解决该错误的方法: 1.右键单击该项目选择“属性”。 2.在属性页中选择&#xff1a;配置选项->链接器->命令行。 3. 在命令行的“其他选项”中输入/SAFESEH:NO。 4.点击确定&#xff0c;从新编译即可通过。 转载于:https://www.cnblogs.com/eachan/p/4582031.html

八皇后问题c语言循环,八皇后问题的12组解

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#include#define N 8 /*皇后数*/typedef int bool;rot(char d[ ],char s[ ]){ int i;for(i1; i<N; i)d[N-(s[i-1]-0)]i0; d[N] ;}zhuan(char d[ ],char s[ ]){ int i;for(i1; i<N; i)d[s[i-1]-0-1]i0; d[N] ;}bool O…

Java: String.split(....); 结果很意外

String txt "join|公共聊天室||"; String[] paras txt.splite("\\|"); String t1 paras[0]; String t2 paras[1]; String t3 paras[2]; ........java.lang.ArrayIndexOutOfBoundsException: 2 at sm.service.Service.run(Service.java:125) 程序运行中…