Linux 小知识翻译 - 「模块」
说起module(模块),有的像「可热插拔的零部件」的意思。
在讨论Linux时提到的模块一般是指可以组装到内核中的模块。
模块这个概念是在硬件和程序设计领域中广泛使用的概念。我们这次说的模块特指Linux内核中的模块。
内核模块简单来说就是「作为内核程序主体的一个小配件来使用的程序」,也就是说,只有模块是什么也做不了的。安装到内核中才能起作用。
比如有一个新的设备或者一个新的功能想要追加到内核中时,就可以用模块的方式来实现。(设备驱动最好考虑用内核模块的方式来提供)
此时,如果把相应的模块直接放到内核本体中,这里不是以模块方式,而是直接把模块代码放到内核代码中。那么,因为不知道何时需要何种设备,所以要把很多的驱动程序代码加到内核代码中,
内核的代码量会变的非常庞大。不仅如此,内核的内存使用量会很大。而且但有新的设备发布的时候,需要把新设备的代码加入到内核中,然后再重新编译内核,这会花费很多的时间。
如果以「模块」方式来使用的话,那么只要将必要的设备以及功能的代码加入到内核中,内核会很紧凑。而且有新的设备或功能发布时,也不用重新编译内核。
这样看来,模块方式有很多优点,但也不是没有缺点的。
- 存在很多天生就无法用模块方式来实现的功能
- 用模块方式在某些场合会导致性能下降
管理内核模块的命令是 「modprobe」。这个命令可以用来加载模块。
模块之间有时会存在依赖关系,「modprobe」命令会在加载模块时检查模块的依赖关系,所以建议用「modprobe」命令来加载模块。
Linux 小知识翻译 - 「模块」的更多相关文章
- Linux 小知识翻译 - 「版本号」的命名方式
包括OS,所有的软件都有版本号信息.一般来说,版本号的增大表示软件的功能增强了或者修正了一些Bug,也就是表示软件更新了. 版本号的命名方式没有统一的标准.每种软件都不一样. 大部分情况下,版本号以「 ...
- Linux 小知识翻译 - 「cron」
这次说说「cron」. 「cron」就是「定期自动执行任务的工具」(相当于windows中的计划任务).读做「库隆」.使用「cron」,可以预先指定任务在某个时间执行. 时间的指定并不只是「一小时一次 ...
- Linux 小知识翻译 - 「syslog」
这次聊聊「syslog」. 上次聊了「日志」(lgo).这次说起syslog,一看到log(日志)就明白是怎么回事了.syslog是获取系统日志的工具. 很多UINIX系的OS都采用了这个程序,它承担 ...
- Linux 小知识翻译 - 「NTP」
这周聊聊「NTP」. 上次,聊了「时区」,也就是时间相关的话题. NTP是「Network Time Protocol」的简称,是为了将网络中计算机的时钟同步到正确时间的协议. PC内部的时钟是相当不 ...
- Linux 小知识翻译 - 「LDAP」
这次聊聊「LDAP」. LDAP是「Lightweight Directory Access Protocol」的所有,从名字上可以看出是协议的一种. LDAP是访问数据库(层次型数据库)的组件.管理 ...
- Linux 小知识翻译 - 「BitTorrent」
这次聊聊「BitTorrent」. (也就是下片子的 BT) BitTorrent是文件传输的一种.它可以在服务端负担很小的情况下高速的传输文件. BitTorrent最大的特点就是服务端可以将文件的 ...
- Linux 小知识翻译 - 「GCC」
这次聊聊「GCC」. GCC是「GNU Compiler Collection」的简称,由C.C++.FORTRAN.Java等语言的编译器以及这些语言的库所组成. GCC不仅包含编译器本身,还包含了 ...
- Linux 小知识翻译 - 「代理服务器」
这回聊聊「代理服务器」. 在公司里,不通过代理服务器无法连接互联网的,由于代理服务器的原因,有些服务的使用是受到限制的. 有人可能会觉得为什么会存在这种东西?(这里指代理服务器) Proxy本来的意思 ...
- Linux 小知识翻译 - 「补丁」(patch)
这次,聊聊补丁. 当有bug或者安全漏洞的时候,就会发布补丁.打上补丁之后,就能解决相应的bug或者安全漏洞. 那么,「补丁」到底是什么呢? 「补丁」只有少量的代码,一般都是对程序的一部分进行更新或者 ...
随机推荐
- SaltStack数据系统-Pillar详解
1:存储位置 存储在master端,存放需要提供给minion的信息 每个minion只能访问master分配给自己的(应用场景) 2:在centos7 salt 2015.5.10 (Lithium ...
- 前端开发环境之GRUNT自动WATCH压缩JS文件与编译SASS文件环境下Ruby安装sass常见错误分析
前言: 1.sass编译为css文件,早先时刻写css,后来看了sass挺不错的,于是在新的项目中开始使用上了sass.(grunt需要ruby环境,所以需要先安装ruby,sass环境) ①安装ru ...
- 初步掌握node的路由控制
1.1.2:node.js的路由控制 1.运行原理 在1.1.1节中,提到过app.js中app.get("/",routes.index)可以用以下代码取代: app.get(& ...
- 金山wps面经
前言: 金山wps笔试是好久之前的了,忘记具体几号了.当时在华师参加的宣讲会,然后线下笔试通过了, 昨天(4月2号通知现场面试).今天是在华工酒店进行面试的,一二面一起进行的 一面: 1: 自我介绍 ...
- Linux进程间通信(System V) --- 消息队列
消息队列 IPC 原理 消息队列是消息的链式队列,如下图为消息队列的模型.整个消息队列有两种类型的数据结构. 1.msqid_ds 消息队列数据结构:描述整个消息队列的属性,主要包括整个消息队列的权限 ...
- AngularJS+Ionic开发-1.搭建开发环境
临时项目需要使用AngularJS+Ionic+Cordova技术,半年前跟别人用过一段时间做过几个页面,目前别人已经无法联系了,只能我自己上了. 上次做完项目后,想抽时间好好巩固一下这方面的知识面来 ...
- java基础-配置java的环境变量
学习java之前首先在https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html上面下载与 ...
- Internet Download Manager IDM 破解器
IDM 全名Internet Download Manager 是一款国外的多线程下载神器(简称IDM),Internet Download Manager 支持多媒体下载.自动捕获链接.自动识别文 ...
- 解决element-ui的el-select组件文字超过宽度时不出现横向滚动条问题
我用的element-ui是V1.4.3. 目前遇到一个问题,在用el-select组件的时候,当选项的内容很长的时候,会撑开下拉菜单的宽度,这样影响美观.具体如下图所示: 解决这个问题的思路:设置下 ...
- JS输入框正则校验
1. 开发中需要对etl组件统一进行input输入框校验,允许为空,可以不校验,默认校验长度和特殊字符,代码如下,记录以备复用. /** * 数据值校验工具类 */ var checkService ...