linux内核学习初级篇

Linux内核获取地址 官网: https://www.kernel.org/

linux内核学习初级篇_第1张图片

 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内核学习初级篇_第2张图片

Linux系统组成

  Linux系统一般有4个主要部分,分别是应用程序,shell、内核,文件系统。shell,内核文件系统构成了基本操作系统结构,在它之上使得用户可以运行程序、管理文件并使用系统。如下图所示。

linux内核学习初级篇_第3张图片

Linux内核架构图如下

linux内核学习初级篇_第4张图片

linux内核学习的三个步骤

   1.Linux内核编译环境。

   2.Linux内核模块编写。

   3.Linux内核模块编译及调试。

 

如何查看Linux源码。

  Linux核心源程序通常都安装在/usr/src/linux下。

你可能感兴趣的:(linux内核)