歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux 內核服務學習筆記

 ㈠ 內核簡介

職責:

① 系統初始化:檢查硬件資源並引導系統

② 進程調度:決定進程的啟動及運行時間

③ 內存管理:為運行的進程分配內存

④ 安全:校驗系統權限、selinux、iptables策略

⑤ 提供緩存

版本:

① 常規:一個或多個處理器,但RAM只能是4G或者小於4G

② PAE:多處理器,且可支持高達64G RAM

③ XEN:虛擬化所需

內核總是安裝在/boot/vmlinuz-*

內核源碼可到www.kernel.org網上下載

㈡ 內核模塊

使用模塊的幾個理由:

① 減少內存使用:不需要的驅動程序不會占用內存

② 靈活性:模塊可在系統安裝後添加,這些模塊通常被稱為第三方驅動程序

③ 最大化運行時間:模塊可在不重啟的狀態下無限次裝載和卸載

在引導時需要的動態模塊可用grub裝入initrd(初始化內存盤),其他模塊可在稍後根據需要裝載

這些模塊位於/lib/modules/$(uname -r)/目錄下

內核模塊工具:

--modprobe:可裝載或者卸載模塊

裝載:[root@ www.linuxidc.com~]# modprobe usb_storage

卸載:[root@ www.linuxidc.com~]# modprobe -r usb_storage

模塊只有在沒有使用的前提下才可以被刪除

--lsmod:列出所有已裝載模塊的列表、相應的大小及使用量

[root@ www.linuxidc.com~]# lsmod
Module                  Size  Used by
netloop                10817  0 [permanent]
netbk                  80065  0 [permanent]
blktap                120485  2 [permanent]
blkbk                  24289  0 [permanent]
ip6table_filter        6849  0
ip6_tables            18181  1 ip6table_filter
ipt_MASQUERADE          7617  3
iptable_nat            10949  1

--modinfo:顯示任意可用模塊的信息

[root@ www.linuxidc.com~]# modinfo ext3
filename:      /lib/modules/2.6.18-308.el5xen/kernel/fs/ext3/ext3.ko
license:        GPL
description:    Second Extended Filesystem with journaling extensions
author:        Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts'o and others
srcversion:    26DC008FC415305C5F65313
depends:        jbd
vermagic:      2.6.18-308.el5xen SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1
module_sig:    883f3504f232fc6dc995cc0b59af121112e44a0a0b5f8ae8f7e90b5a613c37cfc50808c464f9a6d0a0a86a45e9d5fe9b7f9f4ed65957f3ce291b12fd

--/etc/modprobe.conf 配置文件包含適用於裝載在系統中的常用模塊設置,需要時可另行添加

[root@ www.linuxidc.com~]# cat /etc/modprobe.conf
alias eth0 vmxnet
alias scsi_hostadapter mptbase
alias scsi_hostadapter1 mptspi
alias scsi_hostadapter2 ata_piix
alias snd-card-0 snd-ens1371
options snd-card-0 index=0
options snd-ens1371 index=0
remove snd-ens1371 { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-ens1371

Copyright © Linux教程網 All Rights Reserved