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 这块不是很熟悉,还处于入门的阶段,所以本博文以及今后的博文难免存在一些错误,希望各位前辈不吝指出,非常感谢!