Kernel——linux的核心

Linux Kernel:


CentOS 啟動流程:POST –> BootLoader(BIOS,MBR) –>Kernel(initrd) –> rootfs –> switch_root –> /sbin/init

         root (hd0,0)

         kernel

         initrd

ldd命令:

         ldd – print shared library dependencies

        ldd [option]… FILE

內核設計體系:單內核、微內核


·Linux:單內核設計,但充分借鑒了微內核體系的設計的優點;為內核引入了模塊化機制

·內核的組成部分:

         kernel:內核核心。一般為bzimage,通常位于/boot目錄,名稱為vmlinuz-VERSION-release

         kernel object:內核對象,即內核模塊,一般放于/lib/modules/VERSION-release/

                 內核模塊于內核核心版本一定要嚴格匹配:

                

                 [ ]:N

                 [M]:Module

                 [*]:Y,編譯進內核核心

                

                 內核:動態裝載和卸載

        

         ramdisk:輔助性文件,并非必須,這取決于內核是否能直接驅動rootfs所在的設備

                 目標設備驅動:例如SCSI設備的驅動

                 邏輯設備驅動:例如LVM設備的驅動

                 文件系統:例如xfs文件系統

                

                 ramdisk:是一個簡裝版的根文件系統

·內核信息獲?。?/strong>

         uname命令:

                 uname – print system information

                

                 格式:uname [OPTION]…

                         -r:內核的release號

                         -n:主機名

                         -a:顯示所有信息

·模塊信息獲取和管理:

        ·lsmod命令:

                 lsmod – program to show the status of modules in the Linux Kernel

                顯示的內核信息來自于/proc/modules

        

        ·modinfo命令:

                 modinfo – program to show information about a Linux Kernel module

                

                 modinfo [ -F field ]  [ -k kernel ]  [ modulename|filename… ]

                         -F field:僅顯示指定字段的信息

                         -n:顯示文件路徑

                

        ·modprobe命令:

                 modprobe – program to add and remove modules from the Linux Kernel

                

                 modprobe [-r] module_name

                         模塊的動態裝載:modeprobe module_name

                         模塊的動態卸載:modeprobe -r modele_name

                                 網卡模塊:e1000

        

        ·depmod命令:

                 depmod – program to generate modules.dep and map files

                內核模塊依賴關系文件的生成工具

        

        ·模塊的裝載和卸載的另一組命令:

                 insmod命令:

                         insmod [filename] [module options…]

                                 filename:模塊文件的文件路徑

                

                 rmmod命令:

                         rmmod [module_name]

·ramdisk文件的管理:

         (1) mkinitrd命令:

                 為當前使用中的內核重新制作ramdisk文件:

                 mkinitrd [OPTION…] [<initrd-image>] <kernel-version>

                         –with=<module>:除了默認的模塊之外需要裝載至initramfs中的模塊

                         –preload=<modele>:initramfs所提供的模塊需要預先裝載的模塊

                

                 示例:# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

        

         (2)dracut命令

                 dracut – create initial ramdisk images for preloading modules

                

                 dracut [OPTION…] [<image>[<kernel version>]]

                

                 示例:# bracut /boot/initramfs-$(uname -r).img $(uname -r)

·內核信息輸出的偽文件系統:

         ·/proc:內核狀態和統計信息的輸出接口;同時,還提供一個配置接口,/proc/sys

                 參數:

                         只讀:信息輸出;例如/proc/#/*

                         只寫:可接收用戶指定一個“新值”來實現對內核某功能或特性的配置;/proc/sys/

                

                         /proc/sys:

                                 net/ipv4/ip_forward相當于net.ipv4.ip_forward

                        

                         (1)sysctl命令

                                 專門用于查看或設定/proc/sys目錄下參數的值

                                 sys [option] [variable[=value]]

                                         查看:

                                                 # sysctl -a

                                                 # sysctl variable

                                         修改其值:

                                                 # sysctl -w variable=value

                        

                         (2)文件系統命令 (cat,echo)

                                 查看:

                                         # cat /proc/sys/PATH/TO/SOME_KERNEL_FILE

                                 設定:

                                         # echo "VALUE" > /proc/sys/PATH/TO/SOME_KERNEL_FILE

                        

                         注意:上述兩種方式的設定僅對當前運行內核有效

                        

                         (3)配置文件:/etc/sysctl.conf ,/etc/sysctl.d/*.conf

                                 修改配置文件后,立即生效的方式:

                                         sysctl -p [/PATH/TO/CONFIG_FILE]

                

                         內核參數:

                                 net.ipv4.ip_forward:核心轉發

                                 vm.drop_caches:虛擬內存caches

                                 kernel.hostname:主機名

                                 net.ipv4.icmp_echo_ignore_all:忽略所有ping操作

                                 0:開啟   1:關閉

         ·/sys目錄:

        

                 sysfs:輸出內核識別出的各硬件設備的相關屬性信息,也有內核對硬件特殊的可設置參數,對此些參數的修改,即可定制硬件設備工作特性

                

                 udev:同讀取/sys目錄下的硬件設備信息按需為各硬件設備創建文件:udev是用戶空間程序;專用工具:devadmin,hotplug

                

                 udev為設備創建設備文件時,會讀取其事先定義好的規則文件,一般在/etc/udev/rule.d/目錄下,以及/usr/lib/udev/rules.d/目錄下

原創文章,作者:megedugao,如若轉載,請注明出處:http://www.www58058.com/45557

(0)
megedugaomegedugao
上一篇 2016-09-11 17:43
下一篇 2016-09-11 18:59

相關推薦

  • Linux系統的文件管理命令及bash的相關工作特性

    熟悉Linux系統的文件管理命令,了解bash的工作特性,加強練習并掌握其內容。

    2017-09-30
  • linux系統文件的元數據

    linux系統文件的元數據 什么是元數據 文件的數據分兩種: 一種元數據,既屬性數據:metadata 一種就是數據本身:data 如何查看元數據: stat stat命令用于顯示文件的狀態信息 [root@localhost ~]# stat /tmp/mylinux File: ‘/tmp/mylinux’ Size: 143 Blocks: 0 IO …

    Linux干貨 2018-03-11
  • linux目錄基礎、簡單的命令以及運用linux幫助

    計算機組成及其功能     計算機其實是:接收用戶輸入指令與數據,經過中央處理器的數據與邏輯單元運算處理后,以產生或存儲成有用的信息。所以計算機組成可以分為輸入單元、輸出單元、CPU(控制單元、算術邏輯單元)、內存     輸入單元:包括鍵盤、鼠標、掃描儀、手寫板、觸摸屏等;實現…

    Linux干貨 2016-09-17
  • nginx反向代理負載均衡集群配置詳解

    反向代理負載均衡集群配置詳解 反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時站在服務器角度來看,代理服務器對外就表現為一個反向代理服務器。 對反向代理服務器的攻擊并不會使得后端內網Web服務器上網頁信息遭到…

    Linux干貨 2016-11-07
  • Mozart的劍(文本處理工具)——貳劍(head、tail、cut、sort、uniq、wc、diff、paste、patch)

    有點拖了,沒有好好整理之前的內容,拖延癥害死人….. 這次介紹一些有趣的小文本處理工具,可以方便截取文本內容、排序、備份之類的。 head 用法:head [選項]… [文件]… head[OPTION]…[FILE]… 默認將每個指定文件的頭10行顯示到標準輸出。如果指定了多于一個文件,在每一段輸…

    Linux干貨 2017-08-02
  • 網絡接口bonding的設置、網卡別名的設置

    網絡接口bonding的設置、網卡別名的設置 網絡接口bonding的設置 1.bonding的原理 Bonding就是將多塊網卡綁定同一IP 地址對外提供服務,可以實現高可用或者負載均衡。當然,直接給兩塊網卡設置同一IP 地址是不可能的。通過bonding ,虛擬一塊網卡對外提供連接,物理網卡的被修改為相同的MAC 地址。 2.Bonding 的工作模式 …

    Linux干貨 2016-09-05
欧美性久久久久