當(dāng)前位置:首頁 > 公眾號(hào)精選 > C語言與CPP編程
[導(dǎo)讀]“操作系統(tǒng)”作為所有軟件的基礎(chǔ),是計(jì)算機(jī)王國的掌舵者。我們常用“靈魂、大腦、內(nèi)核、基石”等詞來形容它,足以見得它對(duì)計(jì)算機(jī)而言有多么重要。?事實(shí)也確實(shí)如此,作為每個(gè)程序員必須好好修煉的“基本功”,它能直接解決我們?cè)诠ぷ髦械暮芏嘁呻y雜癥,比如做高性能服務(wù)端編程時(shí),經(jīng)常會(huì)用到內(nèi)存、進(jìn)程...

操作系統(tǒng)”作為所有軟件的基礎(chǔ),是計(jì)算機(jī)王國的掌舵者。我們常用“靈魂、大腦、內(nèi)核、基石”等詞來形容它,足以見得它對(duì)計(jì)算機(jī)而言有多么重要。
事實(shí)也確實(shí)如此,作為每個(gè)程序員必須好好修煉的基本功”,它能直接解決我們?cè)诠ぷ髦械暮芏嘁呻y雜癥,比如做高性能服務(wù)端編程時(shí),經(jīng)常會(huì)用到內(nèi)存、進(jìn)程、線程、IO 等相關(guān)知識(shí)。 而且,我一直認(rèn)為,花大量時(shí)間研究 OS 這些底層知識(shí),是很有必要的,雖然短期看不到效果,但卻是從 0 到 1 必然的過程。 學(xué)懂了這些基本功,再去琢磨那些被“追捧”的流行技術(shù)啊、demo 啊,都能輕松地理解背后高級(jí)的設(shè)計(jì),理解系統(tǒng)中的性能瓶頸。 我也很喜歡研究操作系統(tǒng),作為程序員的三大浪漫之一,它雖然枯燥無聊,卻又存在無限可能。對(duì)技術(shù)人來說,即便為此消耗了大把時(shí)光,費(fèi)盡心力,也是值得。 正如我的偶像“計(jì)算機(jī)鬼才”彭東所說:"生活可以一地雞毛,但操作系統(tǒng)卻是心中的光"。 彭東在操作系統(tǒng)上的成就,讓我頗為佩服,他被稱為“計(jì)算機(jī)鬼才”,是有原因的。非科班出身,卻憑借驚人的意志與熱愛,自學(xué)微機(jī)原理,編程語言,數(shù)據(jù)結(jié)構(gòu)與算法,翻遍了操作系統(tǒng)和硬件書籍,獨(dú)立開發(fā)了 x86 平臺(tái)下的 LMOS 和 arm 平臺(tái)下的 LMOSEM 兩個(gè)操作系統(tǒng)。 LMOS 現(xiàn)在已經(jīng)發(fā)布 8 個(gè)測試版本,是多進(jìn)程、多線程、多 CPU、支持虛擬內(nèi)存的全 64 位操作系統(tǒng)內(nèi)核,代碼量足足有 10 萬多行。如此浩大的項(xiàng)目沒點(diǎn)程序員的浪漫精神,想必很難堅(jiān)持下來。 他的書《深度探索嵌入式操作系統(tǒng):從零開始設(shè)計(jì)、架構(gòu)和開發(fā)》也曾給了我很多啟發(fā)。 數(shù)十年深入研究操作系統(tǒng),他對(duì) Linux、BSD、SunOS 等開源操作系統(tǒng),以及 Windows 的 NT 內(nèi)核都非常熟悉,在編譯器,數(shù)據(jù)庫等基礎(chǔ)架構(gòu)方面也頗有研究。 可以說,在操作系統(tǒng)領(lǐng)域,他是當(dāng)之無愧的 KOL,非常有發(fā)言權(quán)。這條路上,會(huì)有哪些難點(diǎn)和阻礙,會(huì)踩哪些坑,他都了如指掌。 所以,當(dāng)我聽說彭東在極客時(shí)間寫了一個(gè)《操作系統(tǒng)實(shí)戰(zhàn)45講》專欄,非常意外,第一時(shí)間就訂閱了。讓我很驚喜的是,彭東把學(xué)操作系統(tǒng)不要死看書的主張貫穿到專欄里,通過配套實(shí)驗(yàn)帶你完成一個(gè) OS,當(dāng)你真的動(dòng)手寫了一個(gè) OS 的時(shí)候,對(duì)操作系統(tǒng)的理解會(huì)是質(zhì)的飛躍。 下圖是彭東梳理的「簡化版操作系統(tǒng)知識(shí)體系」,圖中的每一小塊,都會(huì)隨著課程的進(jìn)行,逐一展開,建議先馬后看。 操作系統(tǒng)簡化知識(shí)體系圖 他會(huì)帶你從 0 到 1,一步步實(shí)現(xiàn)一個(gè)基于 x86 平臺(tái)的 64 位多進(jìn)程的操作系統(tǒng)—— Cosmos,你將擁有一個(gè)屬于自己的操作系統(tǒng)內(nèi)核,對(duì) Linux 內(nèi)核的理解也會(huì)更加透徹。 跟著學(xué)下來,操作系統(tǒng)架構(gòu)設(shè)計(jì)能力會(huì)大幅提升,還可以學(xué)到系統(tǒng)級(jí)別的軟件編程技巧,這對(duì)我們拓展技術(shù)深度和廣度是大有裨益的。 最重要的是,求職面試也會(huì)成為加分項(xiàng),自己動(dòng)手寫過操作系統(tǒng),真有“飄”的資本,簡歷自然脫穎而出。 

這個(gè)結(jié)果其實(shí)并不意外,畢竟,業(yè)界大牛手把手帶著寫 OS 的機(jī)會(huì)實(shí)在太難得。 我在追更的同時(shí),也不禁佩服,彭東海量的知識(shí)儲(chǔ)備和極佳的表達(dá)能力。要知道,越是底層的知識(shí)越不好講透:要用通俗易懂的語言,把復(fù)雜的操作系統(tǒng)“講”出來;要注意細(xì)節(jié)與重點(diǎn)的把握和梳理;要把復(fù)雜的內(nèi)容,交付給各個(gè)不同思想層次,不同思維方式的人。 隨便截了幾個(gè)評(píng)價(jià),供參考: 不得不說,彭東太會(huì)講了,不僅把枯燥的原理講得明明白白,講述中還充滿魔力,吸引我深挖下去,這門課還有幾個(gè)不得不提的特色。 1.“保姆級(jí)”圖示 代碼解析,小白也適用 為了方便“計(jì)算機(jī)小白”理解,快速上手實(shí)操,課程中加入了大量的圖示和詳細(xì)的代碼注釋,足以看出彭東的用心,也能感受到他的“內(nèi)功深厚”。 比如下面的虛擬內(nèi)存數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)圖,計(jì)算機(jī)結(jié)構(gòu)示意圖,文件系統(tǒng)框架圖和進(jìn)程狀態(tài)切換流程圖等,篇幅限制,這里僅是冰山一角,專欄中還有大量圖示和知識(shí)導(dǎo)圖。 再比如,課程中的代碼示例,這個(gè)詳細(xì)程度的代碼注釋,是比較少見的。 摘自《操作系統(tǒng)實(shí)戰(zhàn) 45講》第9講瞧一瞧-Linux的自旋鎖和信號(hào)量如何實(shí)現(xiàn)? 2. 邊學(xué)邊練,對(duì)比分析,強(qiáng)化理解 Linux 在介紹每個(gè)內(nèi)核組件實(shí)現(xiàn)時(shí),都會(huì)先講清原理,再帶你基于設(shè)計(jì)理解去動(dòng)手實(shí)現(xiàn);然后與 Linux內(nèi)核的實(shí)現(xiàn)做前后對(duì)比。既能邊學(xué)邊練,又能幫你從“上帝視角”審視 Linux 內(nèi)核。 3. 配套源碼,真正動(dòng)手“run”起來 專欄中的每一講,都會(huì)匹配可以工作的代碼,傳在 gitee 上;可以跟著課程一步步實(shí)現(xiàn),也可以直接使用每節(jié)課提供的代碼進(jìn)行調(diào)試,直到最終實(shí)現(xiàn)一個(gè)操作系統(tǒng)。 實(shí)際上,動(dòng)手“run”起來,哪怕只是讀和 clone 老師的代碼,也會(huì)對(duì)操作系統(tǒng)有更深一層的理解。 Cosmos系統(tǒng)運(yùn)行演示 4. 開源計(jì)挑戰(zhàn) 為了把課程內(nèi)容實(shí)踐得更好,最近彭東還整了個(gè)“大計(jì)劃” —— 籌備建立一個(gè)開源社區(qū),把 Cosmos 運(yùn)作成一個(gè)開源項(xiàng)目,專欄的讀者都有望優(yōu)先成為第一批 contributer。 為拋棄歷史包袱,未來完整的 Cosmos 會(huì)同時(shí)開源系統(tǒng)和 CPU 源碼,還會(huì)考慮根據(jù)需求定制芯片。據(jù)彭東透露,他邀請(qǐng)到了非常優(yōu)秀的芯片架構(gòu)師,來根據(jù)操作系統(tǒng)架構(gòu)特點(diǎn)設(shè)計(jì) CPU,想想就很“浪漫”了! 此外,專欄讀者都可以免費(fèi)加入彭東的「操作系統(tǒng)交流群」,他經(jīng)常在群里答疑解惑,這里還有很多技術(shù)內(nèi)功深厚的大佬,相互交流探討,光看聊天記錄,都能學(xué)到不少。 訂閱后在課程詳情頁,點(diǎn)擊鏈接即可入群 編輯小姐姐也經(jīng)常在群里出沒,鼓勵(lì)督促,可以說是伴隨式的學(xué)習(xí)了,我加過的交流群不少,這個(gè)群確實(shí)非常難得,大佬云集,知識(shí)密度高,氣氛活躍,學(xué)習(xí)體驗(yàn)也很好。 說了這么多,來看看課程各章節(jié)的知識(shí)點(diǎn)和精彩看點(diǎn)吧。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉