欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

懂Linuxkernel一定會(huì)coding嗎?

結(jié)論:用反問句作答:“不會(huì)coding,看得懂kernel嗎?”

前言

一張數(shù)學(xué)考卷,不是把最后一題最難的20分做出來,就算征服了整張考卷。

你會(huì)一道最難的題,真覺得剩下的80%,就是小菜一碟?

kernel不是編程天花板

kernel在不斷地增長,torvalds大神也投入很多時(shí)間維護(hù)內(nèi)核。全世界的開發(fā)者在用智慧貢獻(xiàn)自己的代碼。看看git多么地繁忙。

代碼文件目錄。

內(nèi)核里有許多驚為天人的巧妙設(shè)計(jì),每個(gè)細(xì)節(jié)都值得推敲,每段注釋又是一段故事。

用漫畫看看內(nèi)核里都有些啥?

各司其職,還有汪汪,還有文件系統(tǒng)的一個(gè)個(gè)抽屜,形象吧。

好了,外行看個(gè)熱鬧,內(nèi)行看個(gè)門道。相信你一定會(huì)注意到一些精巧的小細(xì)節(jié)。下面是細(xì)節(jié)剖析。

一切的基礎(chǔ),要從文件存取開始。PID=421的進(jìn)程在讀文件。還有一個(gè)看門狗。

這一桌子上,在文件系統(tǒng)的上層,是一堆進(jìn)程,等著上飯。左邊有一個(gè)幼兒園老師一樣的小企鵝,指揮者各個(gè)進(jìn)程聽話。

PID=1341的進(jìn)程守護(hù)者80端口,這個(gè)是http服務(wù)。也就是apachehttpweb服務(wù)器。

注意到這個(gè)半垂的21端口嗎,ftp,早就不安全,而且也老舊了。

酷酷的22端口,是SSH服務(wù)監(jiān)聽的端口,穩(wěn)定安全而又耍酷。

注意到樓梯口這個(gè)指示牌了嗎,它指示這是去“文件系統(tǒng)FileSystem”的入口。

房間里這個(gè)忙碌的小企鵝是cron,整個(gè)系統(tǒng)時(shí)間調(diào)度都是它在跑。

還有那些pipeline用于連接不同的功能。

還有這個(gè)喝的暈乎乎的wine,要不少需要運(yùn)行windows應(yīng)用,它也可以休息了。

用戶面對(duì)的,是一個(gè)個(gè)終端。linux是真正的多用戶系統(tǒng)。看,這個(gè)大屏幕多么繁忙。

還有跑偏了的zombie進(jìn)程,四處游蕩。

怎么樣,經(jīng)過漫畫一看,是不是覺得linux有趣的多了?

掌握工具,創(chuàng)造工具

都會(huì)編碼了,還有什么能夠阻擋你對(duì)自由的向往?

想證明你的實(shí)力嗎,linus大神說了:

Talkischeap,showmethecode.

甭嘚啵嘚,來段代碼看看。而開源社區(qū)的打什么,也真的是在用行動(dòng),用代碼踐行著這個(gè)格言。所以,內(nèi)核擁有者源源不斷的澎湃動(dòng)力。

比如覺得內(nèi)核里

init

管理系統(tǒng)進(jìn)程調(diào)度實(shí)在不便,編寫出來的腳本文件很麻煩,能不能化繁從簡呢?有的。LennartPoettering為了解決這個(gè)混沌狀態(tài),開發(fā)了systemd。在centos7以后標(biāo)配為系統(tǒng)發(fā)行版的任務(wù)調(diào)度應(yīng)用。

下面是systemd套件的架構(gòu)功能圖。

是不是看到很勵(lì)志啊?有想法,有能力,有思維,大膽地給內(nèi)核貢獻(xiàn)代碼吧。

全世界數(shù)以億計(jì)的計(jì)算機(jī)運(yùn)行著你寫的代碼,成就感能不爆棚嗎?

Comeon!

結(jié)語

學(xué)內(nèi)核而不止于內(nèi)核。

王安石說:“讀經(jīng)則不足以知經(jīng)”。

只有你博覽群書,開闊眼界之后,再回來kernel看風(fēng)景,相信你“坐看云起時(shí)”,別有一番領(lǐng)悟。


我是@程序員小助手,持續(xù)分享編程與程序員成長相關(guān)的內(nèi)容,~~