关于文件系统和内核之间关系的困惑,求解

内核编译和嵌入式产品的设计与开发
回复
zxl1125
帖子: 38
注册时间: 2007-04-01 17:55
来自: 中国大陆
送出感谢: 0
接收感谢: 1 次
联系:

关于文件系统和内核之间关系的困惑,求解

#1

帖子 zxl1125 » 2008-11-11 12:37

我一直用的UBUNTU系统,启动时首先是GRUB然后由GRUB来引导UBUNTU启动。在安装UBUNTU操作系统的时,我们需要首先分区,生成相应的文件系统,然后才进入操作系统的安装过程。由此可见系统文件(包括内核文件)是基于文件系统的,操作系统是安装在相应的文件系统上面的。而且通过文件系统,我们也能够访问到系统文件。
毕业时我的毕业设计是“在ARM7+UClinux平台下实现一个驱动程序”。我买了一个开发板,所有的东西都已经移植好了,直接通过交叉编译工具生成一个Image文件,通过U-BOOT下载到flash中就可以了。首先配置好内核选项,然后"make",“make image”(此步骤会出错,不用管),"make romfs","make image"。最后生成的Image文件包括了内核和文件系统。由此看来ARM7上的UClinux和pc上的LINUX系统是一致的。
最近接触了ARM9,它的FLASH分为4块。地址从小到大依次为:bootloader,内核影像,根文件系统,用户文件系统。根文件系统需要我们开发者根据需要用工具制作。这样以来就和我以前理解的内核和文件系统的关系不一样了,我一直认为内核是基于文件系统的,他是需要通过文件系统来管理的。而现在 的ARM9的启动过程是,首先启动内核,然后再加载文件系统。
所以我很是郁闷,到底两者是什么关系呢。我觉得这个问题在我看来就是先有母鸡还是先有鸡蛋的问题?
望那位高手能给迷途中的我一点指导,小弟感激不尽!!!
Anyting is possible!!!
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26
送出感谢: 0
接收感谢: 1 次

Re: 关于文件系统和内核之间关系的困惑,求解

#2

帖子 windwiny » 2008-11-11 18:00

引导程序能认识根文件系统, 载入内核文件, 内核就认识其它所有文件系统了,挂载就是了
zxl1125
帖子: 38
注册时间: 2007-04-01 17:55
来自: 中国大陆
送出感谢: 0
接收感谢: 1 次
联系:

Re: 关于文件系统和内核之间关系的困惑,求解

#3

帖子 zxl1125 » 2008-11-12 8:33

我可以这样理解吗?
我们的ubuntu系统中,内核等等系统文件全部是存储在根文件系统下的,启动时GRUB先识别根文件系统,然后从根文件系统中载入内核文件。
我以前做的那个ARM7+uClinux,它和ubuntu一样。U-BOOT首先识别根文件系统,然后从跟文件系统中载入内核。
而我现在接触的ARM9,它把内核和根文件系统分开,分别放在连个FLASH块里。启动的时,首先BOOTLOADER读取内核映像文件,让后启动内核进行一些列的初始化,在内核启动的过程中加载根文件系统。

不知道这样理解对不对???
Anyting is possible!!!
Colmy Magic
帖子: 9
注册时间: 2008-10-15 8:35
送出感谢: 0
接收感谢: 0

Re: 关于文件系统和内核之间关系的困惑,求解

#4

帖子 Colmy Magic » 2008-11-12 8:49

我觉得无论是什么样的文件系统(FAT、NTFS、EXT)都是建立在硬盘上面的,所谓文件系统应该是对于硬盘资源的一种组织和利用方式。(——个人认为,linux这种将整个硬盘看成一个文件夹的形式比较好,可以充分的利用硬盘的每一个空间)如果事实是如此的话, 那么所谓的文件系统与内核就不难说明白了!
毫无疑问,所以的数据都是存储在存储器上的。正如冯诺依曼系统所说:预先将程序和数据存储在存储器上,计算机安装指令顺序执行。
所以,因为GRUB引导系统的时候是硬盘上面开始的,所以可以同时看到win和linux并且支持各种文件系统。那么内核启动时候,文件系统应该尚未加载。并且EXT文件系统是建立在linux系统之上的,没有操作系统自然就没有文件系统可言。
以上只是我个人的分析,如果有哪位大虾看出错误所在,还望指正。不胜感激!~!!
zxl1125
帖子: 38
注册时间: 2007-04-01 17:55
来自: 中国大陆
送出感谢: 0
接收感谢: 1 次
联系:

Re: 关于文件系统和内核之间关系的困惑,求解

#5

帖子 zxl1125 » 2008-11-12 9:15

文件系统本身就是操作系统的一部分
Anyting is possible!!!
头像
wangbo351
帖子: 89
注册时间: 2006-08-11 0:44
送出感谢: 0
接收感谢: 0
联系:

Re: 关于文件系统和内核之间关系的困惑,求解

#6

帖子 wangbo351 » 2008-11-13 11:37

建议去Ibm研究下系统启动流程。
了解GRBU是怎么引导系统的。GRUB分几步引导?每一步都做了什么工作?
INITRD有什么作用和功能,起什么作用?
分析完成你也就知道了。 :em01
内核如何引导,如何挂载文件系统。在内核引导中有写。支持文件系统类型在linux/kerne/fs中有。
喜欢就研究好了,搞存储系统! :em06
Linux fans,
Research and development
zxl1125
帖子: 38
注册时间: 2007-04-01 17:55
来自: 中国大陆
送出感谢: 0
接收感谢: 1 次
联系:

Re: 关于文件系统和内核之间关系的困惑,求解

#7

帖子 zxl1125 » 2008-11-13 13:37

多谢指教!!!
听起来很难,很多,要努力
Anyting is possible!!!
七分之雨后
帖子: 39
注册时间: 2007-07-26 14:25
送出感谢: 0
接收感谢: 0

Re: 关于文件系统和内核之间关系的困惑,求解

#8

帖子 七分之雨后 » 2008-11-14 13:29

推荐看一下那本对0.1版的linux源码分析的那本书吧

不过最好先复习下汇编,呵呵
zxl1125
帖子: 38
注册时间: 2007-04-01 17:55
来自: 中国大陆
送出感谢: 0
接收感谢: 1 次
联系:

Re: 关于文件系统和内核之间关系的困惑,求解

#9

帖子 zxl1125 » 2008-11-14 14:20

能告诉我具体的书名吗?
Anyting is possible!!!
回复

回到 “内核及嵌入式开发”