初期linux的驱动程序是必须编译在内核之中的(相应地驱动程序提供的是源程序以符合GNU规则,例如DFE530TX网卡的驱动就是ftp://www.scyld.com/pub/network/via-rhine.c
),后来推广使用以后一则感觉不方便、二则普通用户也没有能力自己编译内核、三则当时内核不能太大,里面驱动程序太多超过1M的话会瘫掉,于是发明了模块(modules),就是事先将驱动程序编译成module,使用时再将他们装载到系统里以避免重新编译内核。再经过发展以后,几乎内核里的大多数功能都能以模块形式存在,例如读写NTFS、支持PPP协议等等,所以模块功能已经不局限于驱动程序了。
modprobe功能就是,对系统里的模块进行增、减、安装、删除等等操作。