前人常說,對Linux操做系統/內核的理解,是計算機行業從業者的內功,決定了你在技術領域想走多遠。但內核的龐大以及學習曲線之陡峭,總讓我在學習途中以爲猶如「管中窺豹」。網絡
隨着工做的深刻,愈來愈以爲系統性學習內核框架、整理出脈絡的必要性。我的認爲,經過看書/文章學習內核,不能太沉迷於細節。由於細節和執行步驟不去寫代碼是難以掌握的,看過以後,也很快忘掉。而且,太多的細節會讓學習曲線更加陡峭、難見全貌。因此我試圖整理出一系列的文章,來源包括不只限於大牛的公開課、經典書籍、源碼等,根據內核的框架脈絡,整理出一些「常識」性的知識點,讓從事雲計算領域的工程師們以爲夠用,而且是能「刻在腦子裏的」。框架
此外,在容器領域涉及到cgroups\namespaces\unionfs 等基礎技術,須要更深刻學習、掌握。因此,除了「常識」的總結,會多一些實戰和細節以加深理解,達到「知其因此然」的效果。學習
最後,學習這些的目的,爲了更好的理解容器的底層技術。從此工做中處理問題時,能夠挖掘到問題本質,而不僅是停留在技術表面。ui
本系列會圍繞 「進程管理」、「內存管理」、「IO棧」、」網絡棧「 四大脈絡,總結Linux kernel的一些常識知識。對於技術,我的認爲只有保持開放的心態,才能促使本身不斷進步。因爲本人水平有限,但願能夠在各位批評指點下,不斷改進內容,還望不吝賜教。雲計算