今天我要跟大家分享一下Linux內核的重要性。內核就像Linux系統(tǒng)運行的大心臟,對系統(tǒng)的運行起到了至關重要的作用。那么Linux內核到底難不難學呢?今天我就大概和大家科普一下,后期還會向大家推薦一本書籍,用來鞏固大家學習內核的操作。其實,Linux內核可以通過編寫代碼來驗證,幾行代碼就能夠表達我們需要表達的內容,但是光靠幾行代碼我們就真的學會了嗎?真的有那么直觀嗎?所以只學習代碼仍然不夠?,F(xiàn)在雖然流行靠代碼進行計算機的學習,但是傳道授業(yè)者也僅僅停留在理論知識傳授的層面,對于經驗總結和實際操作仍然不夠;還有一個就是我們通常更加注重對理論的學習,自己上手操作的時間沒有多少,因此會造成理論豐富實踐貧瘠的情況;第三就是我們自己的學習力度不夠,沒有認真鉆研,學習事物停留在表面。所以,我們千萬不能抱著這樣的態(tài)度去學習Linux。下面,我就給大家科普一下Linux內核知識,幫助大家更好的學習Linux系統(tǒng)。
第一是Linux內核源代碼結構。Documentation很好用,它雖然沒有內核的代碼,但是它有一套有用的內核文檔,這些內核文檔大多是可以用的,例如文件系統(tǒng);也有不能用的,例如進程調度。arch下面的子目錄都是體系結構特有的代碼,看見這個一定要記清楚。drivers是內核的驅動程序代碼,里面有我們熟知的顯卡、網(wǎng)卡、PCI等外圍設備的驅動代碼,所以對于我們來說是很關鍵的。fs:文件系統(tǒng)代碼。包含ext2、ext3、ext4等本地文件系統(tǒng)。Linux命令內核中的大部分文件在include里邊,我們如果有需要尋找的文件,可以先從這里開始找。kernel是Linux內核中最重要的組成部分,它的功能主要包含進程創(chuàng)建、銷毀和調度的代碼,如果缺少了它,我們的系統(tǒng)就不能繼續(xù)運行了。除了這些代碼外,還有其他的一些重要的組成部分,這里就不一一說了,但是我們需要知道的是,無論代碼中的子目錄或大或小,都是我們應該掌握的。
第二是內部的網(wǎng)絡剖析過程。由于網(wǎng)絡協(xié)議棧是由若干個層次所構成的,因此網(wǎng)絡信息的處理過程主要是指在協(xié)議棧的不同層次間的信息傳輸。而按照為前一章的TCP系統(tǒng)所編寫的流程,構建TCP系統(tǒng)內部的過程根據(jù)鏈接socket參數(shù),綁定地址接口bind函數(shù),偵聽接口listen參數(shù),接收鏈路accept變量,傳送數(shù)據(jù)send函數(shù),接受信息recv參數(shù),關閉socket參數(shù)的次序來完成。而與此相對應內部的過程就是根據(jù)此次序完成的,因此網(wǎng)絡信息在系統(tǒng)內部中的處理過程一般都是在網(wǎng)卡與協(xié)議棧中間完成的:由網(wǎng)卡接收數(shù)據(jù),再交由協(xié)議棧處理過程;協(xié)議棧把要傳輸?shù)男畔⒔浻删W(wǎng)絡發(fā)送出去。
我們在給系統(tǒng)傳遞數(shù)據(jù)的同時,也將消息經由插口層傳送到協(xié)議層,協(xié)議層的UDP層增加UDP的首次、TCP層增加TCP的首次、IP層增加IP的首次,而接口層的網(wǎng)卡則在加載了互聯(lián)網(wǎng)上的數(shù)據(jù)塊后,再經由網(wǎng)卡的傳輸功能發(fā)送到互聯(lián)網(wǎng)上。
接受信息的處理過程則是一種完全相反的處理過程,當有信息出現(xiàn)的時候,通過電話卡的中斷程序將信息從互聯(lián)網(wǎng)網(wǎng)卡的FIFO對列中收集到內部,然后傳送到協(xié)商層,由協(xié)商層將IP層剝奪IP的首次、UDP層剝奪UDP的首次、TCP層剝奪TCP的首次并傳送到插口層,經過插口層對socket的識別后,將信息發(fā)送給用戶層對應的socket。
經過以上的介紹,相信大家對Linux內核有了一個大概的認識。其實學好Linux內核真的很重要,學好了Linux內核就等于學好了一半的Linux系統(tǒng)。但是為了大家能夠進一步補齊短板,吸收理論知識和實操技能,我向大家推薦《Linux就該這么學》,這本書講的就是怎樣學好Linux系統(tǒng),怎樣利用Linux系統(tǒng)去完成一些高難度的操作。我們在知道了內核很重要的基礎上,當然就要進行深度學習了。這本書非常適合零基礎的新手,當然對于一些老玩家也是上下兼容??傊褪切率挚梢詮闹惺斋@知識,老手可以從中溫故而知新。我認為在我們掌握了Linux內核基礎知識的情況下,利用這本書來鞏固一下是很好的。
現(xiàn)在大家對Linux內核的重要性已經一清二楚了吧,如果想進一步的了解,那么就從這本書入手吧,相信大家經過一段時間的學習一定會有所收獲的。
審核編輯黃宇
-
Linux
+關注
關注
87文章
11207瀏覽量
208721
發(fā)布評論請先 登錄
相關推薦
評論