• 自动装载模块


    自动装载模块

    除了使用以上命令工具外,内核模块可以在需要的时候自动装载到内核中。使用我们的签名介绍的工具装载模块和卸载模块需要用户的干预,而且处于安全原因只有根用户能使用insmod和rmmod来加载和卸载模块。虽然这样保证了安全,但却带来了不便。例如,当一个用户程序在运行过程中需要使用一个功能,但该功能的模块还没有加载到内核中,这就需要内核有能力自动调度模块到内核地址空间。

      通常,在程序运行过程中如果需要的资源或某个设备驱动程序没有注册,内核会报错。你可以事先用内核函数request_模块申请需要的组件模块。为了使用这个函数,在配置内核时需要激活项Kernel Module Loaderrequest_模块会调用modprobe命令自动装载需要的模块(并调度模块依赖的其他模块)。要自动调度哪些模块需要的配置文件/etc/模块s.conf中设置。

    下面给出了/etc/模块s.conf配置文件的实例。在该文件中它知名了当前网络设备是由模块mylan_cs代码的,为了装载该模块,需要给它传送特定的参数。如果modprobe不能找到模块,printk会给出错误信息。

    /etc/模块s.conf

    #Aliases - specify you hardware

    alias eth0 mylan_cs

    options mylan_cs eht=1 network_name="MyNet" station_name="neo"

    alias char-major-4 serial

    alias char-major-5 serial

    alias char-major-6 lp

    alias char-major-9 st

    alias tty-ldisc-1 slip

    alias tty-ldisc ppp

    虽然这种方式可以自动装载模块,但它也只能调度系统管理员在配置文件中指定的模块。

  • 相关阅读:
    Delphi7 (第一天:类的编写)
    设计模式(二)Abstract Factory
    hdu 3335(最小路径覆盖)
    hdu 2236(最大匹配+枚举上下界)
    hdu 2819(二分匹配)
    hdu 3861(缩点+最小路径覆盖)
    hdu 2831(贪心)
    hdu 4296(贪心)
    hdu 2354(bfs求最短路)
    hdu 4313(类似于kruskal)
  • 原文地址:https://www.cnblogs.com/newlist/p/2709555.html
Copyright © 2020-2023  润新知