Preface

最近这几天将自己笔记本操作系统彻底的换成了fedora,这一次决定要彻底的远离windows系统。最早接触linux系统还是大一那会,非常清晰的记得当时最先接触的是ubuntu,刚接触就对linux非常入迷,可惜大学期间没有好好的珍惜学习机会,没有深入的了解linux。那会激情非常高涨,刚开始接触ubuntu就想着要彻底的远离windows,把当时新买的本本硬盘全格式化了,完全安装ubuntu。但是没过几天,由于对linux系统的各种陌生,平时的各种需求都离不开windows,另外自身的能力和水平又非常有限,所以很快就恢复并继续使用windows系统。从大一到现在陆陆续续的干过几次这样的事,每次都想彻底的远离,但每次都远离不了。终于在最近决定要彻底的远离windows,之所以会做这个决定,并非是鄙视windows,而是通过使用linux系统,从而更好的了解操作系统的设计思想以及底层的实现机制,重拾‘儿时’的梦想,另外也为今后的人生打下基础,因为这辈子都将不会离开计算机,不是因为工作,压力等因素离不开,而是因为我的确热爱计算机这个专业,虽然和那些大师相比我是弱爆了,但是我有一颗追求梦想的执着的心。

接下来的一系列文章,都将从使用linux系统开始,逐步的探索和解开linux系统的神秘面纱。让我们大家从这个神秘的系统中充分的汲取营养,并为我所用。

为什么选择lsmod这个命令开始探索linux系统?原因很简单,因为lsmod这个命令对于我来说,是第一个接触的比较难懂的命令,而且里面的很多模块名称都不知道是干嘛用的。我获取知识的路径可能和一般的人有所不同,大部分人对新知识的获取可能都是通过一本书或网络资源系统的加以了解,而我则是通过解决实际使用过程中遇到的问题,总结、联想、扩散知识点,从而达到一种学习的目的。

Environment

 

系统环境:

Linux justin.fedora 3.9.2-200.fc18.x86_64 #1 SMP Mon May 13 13:59:47 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Module List

以下是fedora系统中lsmod列出的linux系统加载的所有模块:

Module                  Size  Used by
fuse                   82252  3 
bnep                   19701  2 
bluetooth             360184  7 bnep
lockd                  93540  0 
sunrpc                256729  1 lockd
ipt_MASQUERADE         12880  1 
nf_conntrack_netbios_ns    12665  0 
nf_conntrack_broadcast    12527  1 nf_conntrack_netbios_ns
ip6table_mangle        12700  1 
ip6t_REJECT            12939  2 
nf_conntrack_ipv6      18782  23 
nf_defrag_ipv6         18205  1 nf_conntrack_ipv6
iptable_nat            13011  1 
nf_nat_ipv4            13199  1 iptable_nat
nf_nat                 25642  3 ipt_MASQUERADE,nf_nat_ipv4,iptable_nat
iptable_mangle         12695  1 
nf_conntrack_ipv4      14808  20 
nf_defrag_ipv4         12673  1 nf_conntrack_ipv4
xt_conntrack           12760  42 
nf_conntrack           86438  9 nf_conntrack_netbios_ns,ipt_MASQUERADE,nf_nat,nf_nat_ipv4,xt_conntrack,nf_conntrack_broadcast,iptable_nat,nf_conntrack_ipv4,nf_conntrack_ipv6
ebtable_filter         12827  0 
ebtables               30757  1 ebtable_filter
ip6table_filter        12815  1 
ip6_tables             26808  2 ip6table_filter,ip6table_mangle
snd_hda_codec_hdmi     41088  1 
snd_hda_codec_realtek    46021  1 
snd_hda_intel          44021  5 
snd_hda_codec         178552  3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel
snd_hwdep              17650  1 snd_hda_codec
arc4                   12615  2 
iwldvm                245708  0 
mac80211              603815  1 iwldvm
acpi_cpufreq           19612  1 
mperf                  12607  1 acpi_cpufreq
coretemp               13435  0 
snd_seq                64877  0 
kvm_intel             137762  0 
snd_seq_device         14136  1 snd_seq
kvm                   439197  1 kvm_intel
uvcvideo               81006  0 
videobuf2_vmalloc      13163  1 uvcvideo
videobuf2_memops       13161  1 videobuf2_vmalloc
videobuf2_core         38816  1 uvcvideo
videodev              121874  2 uvcvideo,videobuf2_core
iwlwifi               112214  1 iwldvm
media                  20444  2 uvcvideo,videodev
iTCO_wdt               13480  0 
iTCO_vendor_support    13419  1 iTCO_wdt
snd_pcm                98004  3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel
snd_page_alloc         18268  2 snd_pcm,snd_hda_intel
snd_timer              28690  2 snd_pcm,snd_seq
snd                    79379  19 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_hda_codec,snd_hda_intel,snd_seq_device
e1000e                249869  0 
soundcore              14491  1 snd
ideapad_laptop         18394  0 
fglrx                5294806  101 
mei                    70834  0 
ptp                    18413  1 e1000e
pps_core               18854  1 ptp
lpc_ich                16977  0 
mfd_core               13182  1 lpc_ich
cfg80211              521315  3 iwlwifi,mac80211,iwldvm
vboxnetadp             25670  0 
vboxnetflt             23479  0 
vboxdrv               300418  3 vboxnetadp,vboxnetflt
amd_iommu_v2           18744  1 fglrx
serio_raw              13375  0 
sparse_keymap          13526  1 ideapad_laptop
rfkill                 21729  6 cfg80211,ideapad_laptop,bluetooth
microcode              23448  0 
i2c_i801               18135  0 
i2c_core               34096  2 i2c_i801,videodev
uinput                 17614  0 
crc32_pclmul           13113  0 
crc32c_intel           22079  0 
ghash_clmulni_intel    13259  0 
wmi                    18697  0 
video                  18991  0

Analysis

由于列出的模块数量较多,后续博文我们将逐步的详细的加以说明。

fuse                                      fedora系统管理之lsmod命令[module fuse]                 
bnep                                               
bluetooth                            
lockd                                   
sunrpc                                  
ipt_MASQUERADE        
nf_conntrack_netbios_ns    
nf_conntrack_broadcast   
ip6table_mangle        
ip6t_REJECT            
nf_conntrack_ipv6      
nf_defrag_ipv6        
iptable_nat           
nf_nat_ipv4            
nf_nat                 
iptable_mangle         
nf_conntrack_ipv4      
nf_defrag_ipv4         
xt_conntrack           
nf_conntrack          
ebtable_filter        
ebtables               
ip6table_filter        
ip6_tables          
snd_hda_codec_hdmi    
snd_hda_codec_realtek    
snd_hda_intel          
snd_hda_codec         
snd_hwdep           
arc4                 
iwldvm              
mac80211              
acpi_cpufreq           
mperf                  
coretemp               
snd_seq               
kvm_intel             
snd_seq_device         
kvm                  
uvcvideo               
videobuf2_vmalloc      
videobuf2_memops      
videobuf2_core        
videodev              
iwlwifi               
media                 
iTCO_wdt               
iTCO_vendor_support    
snd_pcm             
snd_page_alloc         
snd_timer              
snd                  
e1000e                
soundcore              
ideapad_laptop        
fglrx              
mei                    
ptp                    
pps_core               
lpc_ich              
mfd_core               
cfg80211             
vboxnetadp             
vboxnetflt            
vboxdrv               
amd_iommu_v2           
serio_raw               
sparse_keymap          
rfkill                 
microcode           
i2c_i801               
i2c_core             
uinput                 
crc32_pclmul          
crc32c_intel          
ghash_clmulni_intel    
wmi                   
video                  

 

Conclusion

本文主要讲述了自己于最近几日换上了fedora18系统,通过今后在使用linux系统的过程中逐步的了解其背后的设计思想和实现。本系列后续的文章将逐步介绍lsmod命令中列出的所有模块。由于本人对linux kernel 这块不是很熟悉,还处于入门的阶段,所以本博文以及今后的博文难免存在一些错误,希望各位前辈不吝指出,非常感谢!