前人常说,对Linux操做系统/内核的理解,是计算机行业从业者的内功,决定了你在技术领域想走多远。但内核的庞大以及学习曲线之陡峭,总让我在学习途中以为犹如“管中窥豹”。网络
随着工做的深刻,愈来愈以为系统性学习内核框架、整理出脉络的必要性。我的认为,经过看书/文章学习内核,不能太沉迷于细节。由于细节和执行步骤不去写代码是难以掌握的,看过以后,也很快忘掉。而且,太多的细节会让学习曲线更加陡峭、难见全貌。因此我试图整理出一系列的文章,来源包括不只限于大牛的公开课、经典书籍、源码等,根据内核的框架脉络,整理出一些“常识”性的知识点,让从事云计算领域的工程师们以为够用,而且是能“刻在脑子里的”。框架
此外,在容器领域涉及到cgroups\namespaces\unionfs 等基础技术,须要更深刻学习、掌握。因此,除了“常识”的总结,会多一些实战和细节以加深理解,达到“知其因此然”的效果。学习
最后,学习这些的目的,为了更好的理解容器的底层技术。从此工做中处理问题时,能够挖掘到问题本质,而不仅是停留在技术表面。ui
本系列会围绕 “进程管理”、“内存管理”、“IO栈”、”网络栈“ 四大脉络,总结Linux kernel的一些常识知识。对于技术,我的认为只有保持开放的心态,才能促使本身不断进步。因为本人水平有限,但愿能够在各位批评指点下,不断改进内容,还望不吝赐教。云计算