内核和文件系统到底是什么狗屎关系?
Linux内核不是完整的Linux操作系统,一个基于Linux内核的完整操作系统才叫做Linux操作系统,而文件系统是Linux内核的一部分。即Linux kernel is not Linux Operating System,Filesystem is a part of the Linux kernel,为了展示一下自己狗屎的英文,呵呵。
从启动过程来看,由uboot加载内核,内核负责挂载文件系统,这样Linux操作系统才算启动。
内核和文件系统的可执行文件在哪儿?
内核镜像:可以是ELF格式(通常会在文件名中包含linux字符串,诸如linux或vmlinux)的;也可以是可引导的U-Boot格式(一般会在文件名中包含Image字符串,诸如uImage或vmImage)的。U-Boot格式包括压缩过程,这使得内核文件体积更小;而ELF格式是没有压缩的,这意味着内核文件体积较大,但其加载过程却往往会变得更快。大多数情况下,我们使用的是U-Boot格式的可引导的内核镜像,不仅因为其体积小,同时也因为U-Boot很容易引导它。
可以是有扩展名的(例如.ext2或.initramfs),也可以是没有扩展名的。有扩展名的内核文件会包含根文件系统;而不含根文件系统的内核文件是没有扩展名的。包含根文件系统的内核文件,通常在那些需要完全在RAM中运行根文件系统的系统中使用;而对于那些需要在一个外部存储器(诸如并行Flash 或串行Flash等等)上运行根文件系统的系统,通常需要一个单独的内核镜像。
根文件系统镜像:是以rootfs开头,以描述该根文件系统的短名称作为后缀(例如rootfs.ext2或rootfs.jffs2等等)。大多数情况下,根文件系统镜像被烧写至Flash或其他什么存储设备中,然后在引导Linux时挂载(mount)。
文件系统的基本概念?
VFS: 虚拟文件系统,为Linux提供通用的文件系统接口,使Linux支持多个不同的文件系统
fs: 文件系统,You know,不解释,直观看就是一种文件结构。Windows的文件结构是多个并列的树状结构,树状结构的根是不同的磁盘分区(例如:C、D、E、F等),各个磁盘分区所在的树形结构是并列的关系;而Linux的文件结构是单个的树状结构,任何一个磁盘分区都必须挂载(mount)到此树状结构的某个目录上(例如,根目录也对应的挂载(mount)了一个磁盘分区,U盘分区挂载(mount)到/mnt目录),各个磁盘分区所在的树形结构不一定是并列的关系,其实“每个磁盘分区都是一个文件系统”,都有自己的层次结构。
rootfs: 根文件系统,即根目录下的文件系统,它是内核启动时所挂载(mount)的第一个文件系统。
阅读(2634) | 评论(0) | 转发(0) |