关闭

和老大的一次对话,关于linux的

标签: linux
1231人阅读 评论(1) 收藏 举报
分类:

雪之舞 18:21:11
    请问文件系统、设备驱动之间是怎么联系起来的?

小锋 18:24:43
驱动就是一个文件
小锋 18:25:45
驱动有老的方法和新的方法,老的方法要指定主设备和设备号,新的方法就是一个文件
小锋 18:26:59
你看一下devfs
雪之舞 18:24:45
不是,我是说,比如你有一个硬盘,是Fat32的,那应该有一个硬盘的驱动,还有一个Fat32的文件系统,对吧
 
小锋 18:28:40
晕,你说的是mount
雪之舞 18:26:22
不管是什么,他们之间是怎么联系起来的。
 
小锋 18:29:53
就是用mount啊
小锋 18:30:23
你查一下mount怎么用就知道了
小锋 18:30:42
文件系统是一个moule
 
小锋 18:30:55
你安装上去就好了
雪之舞 18:29:05
那比如我有一个USB硬盘,连到电脑上,我还得知道它是什么格式的,然后再用mount把它和特定的文件系统联系起来
 
小锋 18:32:36

雪之舞 18:30:26
那系统启动的时候呢,自动mount一些设备吗
 
小锋 18:33:50
是的啊
小锋 18:33:59
初始化的时候做的
小锋 18:35:31
他有一个根的目录,你要把你的盘mount上去,作为一个节点
小锋 18:35:51
根目录是初始化是生成的
雪之舞 18:32:48
那就是要先加载一些实现了某些文件系统的模块,然后用mount命令把某个具体的设备和相应的文件系统联系起来,并挂到某个目录上
 
小锋 18:36:37
恩,Fat32之类的Linux应该已经有的
雪之舞 18:38:26
但我想比如Fat32的文件系统肯定不能包含读写硬盘的代码,那应该是块设备驱动的事,那他们又是怎么联系起来的,也是mount是指定的吗

小锋 18:42:07
驱动和文件系统是没有关系的
小锋 18:43:16
你装硬盘,就要有驱动嘛,有了驱动就可以读写,然后呢在把文件系统和设备关联起来。
雪之舞 18:40:15
那访问文件,最后肯定要去读硬盘,那它怎么知道用那个驱动去读呢
 
小锋 18:45:52
你装硬盘,就要有驱动啊,这个是你安驱动时指定的
雪之舞 18:43:36
你是说文件系统和设备联系起来,他会调用设备的相关方法去读数据,而这个方法可能最后会去读写硬盘。
 
小锋 18:47:15
恩,是滴
小锋 18:47:47
你可以用面向对象的方法来理解,相互之间都是一些接口
小锋 18:48:32
驱动要实现驱动的方法,文件系统会去调用驱动的读写方法,他们是在安装时关联起来的
雪之舞 18:46:23
不是吧,你刚刚不是说文件系统只和设备关联吗
 
小锋 18:50:21
驱动程序可以理解为类,设备可以理解为对象,理解不要这么机械嘛
雪之舞 18:50:22
噢,明白了。
比如说,电脑上有两个硬盘,就相当于两个设备,但却只有一个硬盘驱动,对吧。
 
小锋 18:54:28
对的
雪之舞 18:51:41
那它们之间又是怎么关联的呢
 
小锋 18:55:06
你不是要安装设备的吗?
小锋 18:56:35
设备是一个文件,首先你要建一个设备文件
雪之舞 18:54:03
有点明白了。
 
小锋 18:58:43
呵呵,设备和文件的关系有点鸡生蛋,蛋生鸡的意思,但是我刚才说了,系统一开始有一个内存中的根目录
小锋 18:59:36
我有事,有时间聊

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:99359次
    • 积分:1693
    • 等级:
    • 排名:千里之外
    • 原创:64篇
    • 转载:3篇
    • 译文:0篇
    • 评论:36条
    最新评论
    牛出没的地方