- 論壇徽章:
- 9
|
本帖最后由 Buddy_Zhang1 于 2017-01-01 00:00 編輯
2017 年祝大家新年新氣象,學(xué)習(xí)蒸蒸日上
Pic.png (1.2 MB, 下載次數(shù): 101)
下載附件
2016-12-31 20:16 上傳
俗話說(shuō)活到老學(xué)到老, Linux 內(nèi)核是個(gè)不錯(cuò)的東西,能天天從里面學(xué)會(huì)很多新的知識(shí),不斷更新著我們的思想。展望 2017 年,期望自己在內(nèi)核的學(xué)習(xí)上繼續(xù)努力。
為此我做了一個(gè)計(jì)劃,其目的就是深刻的學(xué)習(xí)內(nèi)核知識(shí)。
我也是學(xué)習(xí)內(nèi)核的新人,學(xué)習(xí)內(nèi)核的過(guò)程確實(shí)吃過(guò)不少苦,但還是慶幸自己堅(jiān)持下來(lái)了。也有很多很多想和大家分享的東西,但本帖的主題不是為了討論這個(gè)。
言歸正傳,學(xué)習(xí)內(nèi)核的最大的一個(gè)障礙不是內(nèi)核知識(shí)有多難,而是缺少一個(gè)對(duì)知識(shí)的實(shí)踐過(guò)程,為此我有一個(gè)計(jì)劃,希望有興趣的學(xué)友一起加入這個(gè)計(jì)劃。
【計(jì)劃說(shuō)明】
Linux 內(nèi)核也是一個(gè)程序,它也是從最簡(jiǎn)單的程序演變?yōu)槿缃袢绱她嫶蟮某绦,正如萬(wàn)物皆最簡(jiǎn)單的物質(zhì)組成。我的計(jì)劃是從 Linux 的第一個(gè)完整版 Linux 0.11
開(kāi)始研究代碼,調(diào)試代碼,并分享學(xué)習(xí)的所得。 研究完 0.11 的內(nèi)核之后,我會(huì)根據(jù)歷史 Patch 提交過(guò)程,研究每個(gè)版本之間提交代碼的含義,以此從中研究 Linux
的演變過(guò)程。最后達(dá)到對(duì) Linux 基礎(chǔ)內(nèi)核的核心代碼有更深刻的認(rèn)知。通過(guò)對(duì) Linux0.11 2萬(wàn)行代碼的深入研究有助于構(gòu)建一個(gè)完整的計(jì)算機(jī)系統(tǒng)架構(gòu)有幫助。
【計(jì)劃實(shí)施的方式】
我從網(wǎng)絡(luò)上收集整理了一個(gè)可以直接編譯并直接調(diào)試并且可以使用的 Linux 0.11, 你只要有一臺(tái) Linux 或 Mac 電腦就可以參與這個(gè)計(jì)劃。
我會(huì)定期更新 patch, 將版本從 Linux 0.11 一直 update,并分享所有的學(xué)習(xí)資料和源碼。
目的很簡(jiǎn)單,就是讓內(nèi)核實(shí)踐的門(mén)檻降低(原先有想法,就是無(wú)法獲得一個(gè)實(shí)踐的過(guò)程,比如你有內(nèi)核了,為了做成一個(gè)完整的系統(tǒng),你要為其準(zhǔn)備 uboot,rootfs 等,確實(shí)困難太大了)
工作也幾年了,從開(kāi)源社區(qū)中學(xué)到了很多東西,也感受到開(kāi)源的力量如此強(qiáng)大,所以這個(gè)項(xiàng)目完全開(kāi)源!
【如何參與到計(jì)劃】
我已經(jīng)將源代碼上傳到 github 上進(jìn)行維護(hù),并使用 Slack 進(jìn)行實(shí)時(shí)技術(shù)交流,郵件服務(wù)尚未搭建。
所以,如果你想?yún)⑴c到這個(gè)項(xiàng)目,你只需將源碼 git 到你的 Linux 或 Mac 電腦,按照源碼的 README 即可使用。
至于如何提交你的補(bǔ)丁和分享,這里不做詳細(xì)介紹。
【Linux 0.11 運(yùn)行的機(jī)理】
Linux 0.11 的原理:在一臺(tái) Linux 或 Mac 上預(yù)先安裝 qemu 模擬器,使用模擬器 qemu 模擬 Linux0.11 運(yùn)行的環(huán)境: Intel i386
該 Linux0.11 源碼中匯編部分全部使用 at&t 匯編進(jìn)行編寫(xiě),并且支持 gcc5.0 等,簡(jiǎn)單的說(shuō)就是該源碼可在 Ubuntu16.04 上運(yùn)行!
使用截圖
UO00.jpg (87.68 KB, 下載次數(shù): 109)
下載附件
2016-12-31 19:50 上傳
源碼編譯 Linux 0.11,基于 Ubuntu16.04
UU01.png (10.65 KB, 下載次數(shù): 120)
下載附件
2016-12-31 19:52 上傳
Linux 0.11 運(yùn)行截圖
UU02.png (94.56 KB, 下載次數(shù): 109)
下載附件
2016-12-31 20:02 上傳
使用 gdb 對(duì) Linux0.11 整個(gè)過(guò)程進(jìn)行調(diào)試,這個(gè)很給力
【獲取 Linux0.11】
如何你想?yún)⑴c這個(gè)項(xiàng)目,請(qǐng)從 github download 源代碼。
github: https://github.com/BiscuitOS/BiscuitOS.git
【項(xiàng)目溝通方法】
0. 直接在 China Unix 內(nèi)核源碼板塊提問(wèn)。
1. 你可以把你的問(wèn)題通過(guò)郵箱發(fā)給我: buddy.zhang@aliyun.com
2. 可以加入 Slack 組進(jìn)行實(shí)時(shí)技術(shù)交流。
UU04.png (86.16 KB, 下載次數(shù): 106)
下載附件
2016-12-31 20:10 上傳
3. 可以把你的問(wèn)題直接 update 到 github 的 issue 頻道。
UU6.jpg (86.28 KB, 下載次數(shù): 103)
下載附件
2016-12-31 20:10 上傳
|
評(píng)分
-
查看全部評(píng)分
|