内核与驱动
Tofloor
poster avatar
mrsu
deepin
2019-11-17 05:34
Author
为什么linux更新驱动需要更新内核呢?不能像win一样安装驱动软件就能搞定吗?这是什么原因,搞不明白。
Reply Favorite View the author
All Replies
avatar
i8520
deepin
2019-11-17 05:52
#1
内核包含一些驱动的东西
Reply View the author
avatar
Feng Yu
deepin
2019-11-17 06:04
#2
Linux是宏内核设计,Windows是微内核设计。

宏内核设计的一个典型的特点就是把驱动编译到内核中,所以通常缺失驱动都可以通过升级内核解决。新版本的内核通常会包含一些新硬件的驱动,同时也会移除掉一些不再支持的硬件驱动。

所以如果你有一个第三方驱动不包含在内核中,如果你升级了内核可能需要重新编译驱动源码进行安装。为了简化这个操作,Linux引入了一个dkms的组件,可以升级内核的时候自动编译驱动。
Reply View the author
avatar
mrsu
deepin
2019-11-17 07:09
#3
abcfy2 发表于 2019-11-16 22:04
Linux是宏内核设计,Windows是微内核设计。

宏内核设计的一个典型的特点就是把驱动编译到内核中,所以通常 ...

也就是说不能通过软件更新驱动程序解决驱动问题,必须要通过升级内核才能解决驱动问题,是吗?
Reply View the author
avatar
Feng Yu
deepin
2019-11-17 08:11
#4
https://bbs.deepin.org/post/185272
也就是说不能通过软件更新驱动程序解决驱动问题,必须要通过升级内核才能解决驱动问题,是吗? ...

如果是驱动的软件包,通常会打包成dkms的方式,这样会随着内核升级自动编译。

Linux是支持第三方驱动的,存储于/lib/modules/,每个内核版本都有一个独立的子目录。所以驱动一般都会打包成dkms
Reply View the author