gzyueqian
13352868059

什么是嵌入式的根文件?嵌入式的根文件系统有哪些?

更新时间: 2020-05-15 16:05:34来源: 粤嵌教育浏览量:9910

      什么是嵌入式的根文件呢?嵌入式跟文件系统就是一种特殊的文件系统,那么根文件系统和普通的文件系统有什么区别呢?由于根文件系统是内核启动时挂在的个文件系统,那么根文件系统就要包括Linux启动时所必须的目录和关键性的文件,例如Linux启动时都需要有init目录下的相关文件,在 Linux挂载分区时Linux一定会找/etc/fstab这个挂载文件等,根文件系统中还包括了许多的应用程序bin目录等,任何包括这些Linux 系统启动所必须的文件都可以成为根文件系统。

  嵌入式的根文件系统有哪些呢?


  一、基于FLASH的文件系统


  Flash(闪存)作为嵌入式系统的主要存储媒介,有其自身的特性。Flash的写入操作只能把对应位置的1修改为0,而不能把0修改为1(擦除Flash就是把对应存储块的内容恢复为1),因此,一般情况下,向Flash写入内容时,需要先擦除对应的存储区间,这种擦除是以块(block)为单位进行的。


  二、基于RAM的文件系统


  (1)Ramdisk


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


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


  (2)Initramfs


  基于RAM的文件系统-Initramfs出现在2.6内核中,它类似于tmpfs,是一种基于内存的文件系统,它的使用不需要创建内存块设备。增加文件到ramfs(或增大原有的文件)会自动配置更多的内存,并删除或截去文件以释放内存。(若ramdisk没有满,已被占用的额外的内存也不能用来做其它事,若ramdisk满了,但其它仍有闲置的内存,也必须重新格式化后才能扩展使用)


  (3)ramfs/tmpfs


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


  三、其它文件系统


  (1)网络文件系统NFS(NetworkFileSystem)


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


  (2)UBIFS


  在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs、jffs2、yaffs2等文件系统。它们也都是基于文件系统+mtd+flash设备的架构。linux-2.6.27后,内核加入了一种新型的flash文件系统UBI(UnsortedBlockImages)。产生的背景。


  以上就是什么是嵌入式的根文件?嵌入式的根文件系统有哪些的内容了,如果说你对于嵌入式感兴趣并且想要学习的话,那么可以来我们粤嵌科技的嵌入式培训班进行学习,也可以先点击我们文章下面的获取试听资格按钮来获取我们的嵌入式课程免费试听资格,在试听中可以更加深入的了解我们粤嵌科技。

免费预约试听课