linux内核模块的概念,linux操作系统中模块的概念

linux的内核是一个整体式内核(monolithic kernel

;与之对应的是微内核,microker-nel),即所有的内核功能链接在一起,在同一个地址空间执行。但完全这样做会带来很多不方便和浪费。如果新添加一个硬件,就需要重新编译内核;如果去掉一个硬件,那么这个硬件已经编译进内核的驱动程序就是浪费。linux操作系统提供了一种机制即内核或者从内核卸载。

整个linux是一个整体式的内核结构,整个内核是一个单独且非常大额程序。他由五个子系统组成,每个子系统都提供了内部接口的函数和变量。这些函数和变量可供内核所有的子系统调用。内核的另外一种形式是微内核结构,此时内核的功能块被划分成独立的模块,各部分之间通过严格的通信机制进行联系,给内核增加一个新成分的配置过程非常费时。整个内核并不需要同时装入内存。应该确认,为保证系统能够正常运行,一些特定的内核必须总是驻留在内存中,例如,进程调度代码就必须常驻内存。但是内核其他部分,例如大部分的设备驱动就应该仅在内核需要时才加载,而其他情况下则无需占用内存。因此linux系统提供一种全新的模块机制,可以根据用户的需要在不需要对内核进行重新编译的情况下,模块能在内核中被动态加载或卸载。

模块时内核的一部分且都是设别驱动程序,但它们并没有被编译到内核中,而是被分别编译并链接成一组目标文件。这些文件能被载入正在运行的内核,或从正在运行的内核中卸载。必要时内核能请求内核守护进程kerneld对模块进行加载或卸载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值