Linux内核获取地址 官网: https://www.kernel.org/
Linux操作系统的核心是模块化,可以使用lsmod命令查看内核模块,下面展示已载入系统的模块:
Module Size Used by
nfsv3 39436 0
nfs_acl 12837 1 nfsv3
nfs 251822 1 nfsv3
lockd 93600 2 nfs,nfsv3
grace 13295 1 lockd
fscache 64987 1 nfs
resguard_linux 266901 2
secmodel_linux 128641 1 resguard_linux
binfmt_misc 17468 1
iTCO_wdt 13480 0
coretemp 13435 0
iTCO_vendor_support 13718 1 iTCO_wdt
mxm_wmi 13021 0
intel_rapl 18773 0
ses 17363 0
kvm_intel 162153 0
enclosure 15208 1 ses
sg 40721 0
kvm 525259 1 kvm_intel
lpc_ich 21073 0
shpchp 37032 0
crc32_pclmul 13113 0
ghash_clmulni_intel 13259 0
mei_me 18646 0
aesni_intel 69884 0
mei 82723 1 mei_me
i2c_i801 18134 0
lrw 13286 1 aesni_intel
gf128mul 14951 1 lrw
glue_helper 13990 1 aesni_intel
mfd_core 13435 1 lpc_ich
ablk_helper 13597 1 aesni_intel
pcspkr 12718 0
cryptd 20359 3 ghash_clmulni_intel,aesni_intel,ablk_helper
ipmi_ssif 23695 0
sb_edac 27005 0
edac_core 57922 1 sb_edac
ipmi_si 53524 0
ipmi_msghandler 46609 2 ipmi_ssif,ipmi_si
wmi 19070 1 mxm_wmi
acpi_power_meter 18087 0
auth_rpcgss 59343 0
sunrpc 300464 9 nfs,auth_rpcgss,lockd,nfsv3,nfs_acl
ip_tables 27240 0
ext4 578819 13
mbcache 14958 1 ext4
jbd2 102940 1 ext4
sd_mod 45497 14
crc_t10dif 12714 1 sd_mod
crct10dif_generic 12647 0
ast 59791 1
syscopyarea 12529 1 ast
crct10dif_pclmul 14289 1
sysfillrect 12701 1 ast
crct10dif_common 12595 3 crct10dif_pclmul,crct10dif_generic,crc_t10dif
sysimgblt 12640 1 ast
crc32c_intel 22079 0
drm_kms_helper 125008 1 ast
ttm 93441 1 ast
drm 349210 4 ast,ttm,drm_kms_helper
megaraid_sas 122098 13
ixgbe 263239 0
mdio 13807 1 ixgbe
igb 192596 0
ptp 19231 2 igb,ixgbe
pps_core 19106 1 ptp
dca 15130 2 igb,ixgbe
i2c_algo_bit 13413 2 ast,igb
i2c_core 40582 7 ast,drm,igb,i2c_i801,ipmi_ssif,drm_kms_helper,i2c_algo_bit
内核模块化设计的好处
(1)内核功能可裁剪、增加灵活性。
(2)可扩展性(动态安装卸载、新硬件支持)。
(3)利于协作。
宏内核与微内核
宏内核 ( Macrokernel):也叫单内核。
微内核(Micro kernel)
现在的系统都在开始走向微内核(提供操作系统核心功能的内核的精简版本)。目前linux内核是宏内核。
Linux系统组成
Linux系统一般有4个主要部分,分别是应用程序,shell、内核,文件系统。shell,内核文件系统构成了基本操作系统结构,在它之上使得用户可以运行程序、管理文件并使用系统。如下图所示。
Linux内核架构图如下
linux内核学习的三个步骤
1.Linux内核编译环境。
2.Linux内核模块编写。
3.Linux内核模块编译及调试。
如何查看Linux源码。
Linux核心源程序通常都安装在/usr/src/linux下。