一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡化版操作系統(tǒng)知識體系

小林coding ? 來源:小林coding ? 作者:李倩 ? 2022-11-15 14:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家好,我是小林。 熟悉我的讀者都知道,我寫了個圖解操作系統(tǒng),很多之前恐懼操作系統(tǒng)的朋友都跟我說,看我的圖解系統(tǒng)豁然開朗。 但是可惜的是,我的精力也有限,只能從理論的方面帶大家熟知操作系統(tǒng),沒辦法從源碼的方面帶大家更深入。

可能很多人覺得操作系統(tǒng)單純學(xué)個理論,很容易忘記,沒有實踐的話感覺學(xué)的好虛。

實踐才能見真知,所以最好的方式就是「手擼」一個操作系統(tǒng)。

說起來容易,但是手擼操作系統(tǒng)這件事我們真的能做到嗎?當然可以,如果我們只是實現(xiàn)一個「微型」的操作系統(tǒng)的話,那還是可以實現(xiàn)的。

“操作系統(tǒng)”作為所有軟件的基礎(chǔ),是計算機王國的掌舵者。我們常用“靈魂、大腦、內(nèi)核、基石”等詞來形容它,足以見得它對計算機而言有多么重要。

事實也確實如此,作為每個程序員必須好好修煉的“基本功”,它能直接解決我們在工作中的很多疑難雜癥,比如做高性能服務(wù)端編程時,經(jīng)常會用到內(nèi)存、進程、線程、IO 等相關(guān)知識。

而且,我一直認為,花大量時間研究 OS 這些底層知識,是很有必要的,雖然短期看不到效果,但卻是從 0 到 1 必然的過程。

學(xué)懂了這些基本功,再去琢磨那些被“追捧”的流行技術(shù)啊、demo 啊,都能輕松地理解背后高級的設(shè)計,理解系統(tǒng)中的性能瓶頸。

我也很喜歡研究操作系統(tǒng),作為程序員的三大浪漫之一,它雖然枯燥無聊,卻又存在無限可能。對技術(shù)人來說,即便為此消耗了大把時光,費盡心力,也是值得。

正如我的偶像“計算機鬼才”彭東所說:"生活可以一地雞毛,但操作系統(tǒng)卻是心中的光"。

彭東在操作系統(tǒng)上的成就,讓我頗為佩服,他被稱為“計算機鬼才”,是有原因的。非科班出身,卻憑借驚人的意志與熱愛,自學(xué)微機原理,編程語言,數(shù)據(jù)結(jié)構(gòu)與算法,翻遍了操作系統(tǒng)和硬件書籍,獨立開發(fā)了 x86 平臺下的 LMOS 和 arm 平臺下的 LMOSEM 兩個操作系統(tǒng)。

LMOS 現(xiàn)在已經(jīng)發(fā)布 8 個測試版本,是多進程、多線程、多 CPU、支持虛擬內(nèi)存的全 64 位操作系統(tǒng)內(nèi)核,代碼量足足有 10 萬多行。如此浩大的項目,沒點“程序員的浪漫”精神,想必很難堅持下來。

他的書《深度探索嵌入式操作系統(tǒng):從零開始設(shè)計、架構(gòu)和開發(fā)》也曾給了我很多啟發(fā)。

da0fec28-64a8-11ed-8abf-dac502259ad0.png

數(shù)十年深入研究操作系統(tǒng),他對 Linux、BSD、SunOS 等開源操作系統(tǒng),以及 Windows 的 NT 內(nèi)核都非常熟悉,在編譯器,數(shù)據(jù)庫等基礎(chǔ)架構(gòu)方面也頗有研究。

可以說,在操作系統(tǒng)領(lǐng)域,他是當之無愧的 KOL,非常有發(fā)言權(quán)。這條路上,會有哪些難點和阻礙,會踩哪些坑,他都了如指掌。

所以,去年聽說彭東在極客時間寫了一個《操作系統(tǒng)實戰(zhàn)45講》專欄,非常意外,當時我第一時間就訂閱了。

最近又開始二刷了,再學(xué)一遍還是有很多收獲。最讓我驚喜的是,彭東把“學(xué)操作系統(tǒng)不要死看書”的主張貫穿到專欄里,通過配套實驗帶你完成一個 OS,當你真的動手寫了一個 OS 的時候,對操作系統(tǒng)的理解會是質(zhì)的飛躍。

下圖是彭東梳理的「簡化版操作系統(tǒng)知識體系」,圖中的每一小塊,都會隨著課程的進行,逐一展開,建議先馬后看。

da2d268a-64a8-11ed-8abf-dac502259ad0.jpg

操作系統(tǒng)簡化知識體系圖

他會帶你從0到1,一步步實現(xiàn)一個基于 x86 平臺的 64 位多進程的操作系統(tǒng)——Cosmos,你將擁有一個屬于自己的操作系統(tǒng)內(nèi)核,對 Linux 內(nèi)核的理解也會更加透徹。

跟著學(xué)下來,操作系統(tǒng)架構(gòu)設(shè)計能力會大幅提升,還可以學(xué)到系統(tǒng)級別的軟件編程技巧,這對我們拓展技術(shù)深度和廣度是大有裨益的。

最重要的是,求職面試也會成為加分項,自己動手寫過操作系統(tǒng),真有“飄”的資本,簡歷自然脫穎而出。

記得當時這門課程上線兩個月,訂閱量就超 10000 訂閱了,現(xiàn)在已經(jīng)將近50000 人學(xué)習(xí)了,這個結(jié)果其實并不意外,畢竟,業(yè)界大牛手把手帶著寫 OS 的機會實在太難得。

我在追更的同時,也不禁佩服,彭東海量的知識儲備和極佳的表達能力。要知道,越是底層的知識越不好講透:要用通俗易懂的語言,把復(fù)雜的操作系統(tǒng)“講”出來;要注意細節(jié)與重點的把握和梳理;要把復(fù)雜的內(nèi)容,交付給各個不同思想層次,不同思維方式的人。

隨便截了幾個評價,供參考:

da76b6ce-64a8-11ed-8abf-dac502259ad0.png

不得不說,彭東太會講了,不僅把枯燥的原理講得明明白白,講述中還充滿魔力,吸引我深挖下去,這門課還有幾個不得不提的特色。

1.“保姆級”圖示+代碼解析,小白也適用

為了方便“計算機小白”理解,快速上手實操,課程中加入了大量的圖示和詳細的代碼注釋,足以看出彭東的用心,也能感受到他的“內(nèi)功深厚”。

比如下面的虛擬內(nèi)存數(shù)據(jù)結(jié)構(gòu)設(shè)計圖,計算機結(jié)構(gòu)示意圖,文件系統(tǒng)框架圖和進程狀態(tài)切換流程圖等,篇幅限制,這里僅是冰山一角,專欄中還有大量圖示和知識導(dǎo)圖。

da9a6b78-64a8-11ed-8abf-dac502259ad0.png

再比如,課程中的代碼示例,這個詳細程度的代碼注釋,是比較少見的。

daa8bc5a-64a8-11ed-8abf-dac502259ad0.png

摘自《操作系統(tǒng)實戰(zhàn) 45講》第9講

瞧一瞧-Linux的自旋鎖和信號量如何實現(xiàn)?

2.邊學(xué)邊練,對比分析,強化理解 Linux

在介紹每個內(nèi)核組件實現(xiàn)時,都會先講清原理,再帶你基于設(shè)計理解去動手實現(xiàn);然后與 Linux內(nèi)核的實現(xiàn)做前后對比。既能邊學(xué)邊練,又能幫你從“上帝視角”審視 Linux 內(nèi)核。

daba5b2c-64a8-11ed-8abf-dac502259ad0.jpg

3.配套源碼,真正動手“run”起來

專欄中的每一講,都會匹配可以工作的代碼,傳在 gitee 上;可以跟著課程一步步實現(xiàn),也可以直接使用每節(jié)課提供的代碼進行調(diào)試,直到最終實現(xiàn)一個操作系統(tǒng)。

實際上,動手“run”起來,哪怕只是讀和 clone 老師的代碼,也會對操作系統(tǒng)有更深一層的理解。

dad4f400-64a8-11ed-8abf-dac502259ad0.gif

Cosmos系統(tǒng)運行演示

4.開源計劃,新的挑戰(zhàn)

為了把課程內(nèi)容實踐得更好,最近彭東還整了個“大計劃”——籌備建立一個開源社區(qū),把 Cosmos 運作成一個開源項目,專欄的讀者都有望優(yōu)先成為第一批 contributer。

為拋棄歷史包袱,未來完整的 Cosmos 會同時開源系統(tǒng)和 CPU 源碼,還會考慮根據(jù)需求定制芯片。據(jù)彭東透露,他邀請到了非常優(yōu)秀的芯片架構(gòu)師,來根據(jù)操作系統(tǒng)架構(gòu)特點設(shè)計 CPU,想想就很“浪漫”了!

此外,專欄讀者都可以免費加入彭東的「操作系統(tǒng)交流群」,他經(jīng)常在群里答疑解惑,這里還有很多技術(shù)內(nèi)功深厚的大佬,相互交流探討,光看聊天記錄,都能學(xué)到不少。

dda1bae2-64a8-11ed-8abf-dac502259ad0.png

訂閱后在課程詳情頁,點擊鏈接即可入群

編輯小姐姐也經(jīng)常在群里出沒,鼓勵督促,可以說是伴隨式的學(xué)習(xí)了,我加過的交流群不少,這個群確實非常難得,大佬云集,知識密度高,氣氛活躍,學(xué)習(xí)體驗也很好。

說了這么多,來看看課程各章節(jié)的知識點和精彩看點吧。

ddc284ac-64a8-11ed-8abf-dac502259ad0.png

再強調(diào)一點:

都說程序員 35 歲是個坎,但其實,有坎的是不上不下、“半瓶水”的人。只要扎實基礎(chǔ),勤修內(nèi)功,那么無論是上層開發(fā),還是理解前沿技術(shù),都等于加了天然 buff。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7152

    瀏覽量

    125588
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1662

    瀏覽量

    50222

原文標題:操作系統(tǒng),你是我的神!

文章出處:【微信號:小林coding,微信公眾號:小林coding】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    鴻道Intewell操作系統(tǒng):人形機器人底層操作系統(tǒng)

    操作系統(tǒng)的實時性賦能東土科技的鴻道(Intewell)工業(yè)操作系統(tǒng)作為國內(nèi)唯一通過汽車、工業(yè)控制、醫(yī)療、軌道交通四項功能安全認證的系統(tǒng),為標準體系中的技術(shù)層架構(gòu)提供了底層支持。其微內(nèi)核
    的頭像 發(fā)表于 05-16 14:44 ?234次閱讀

    鴻道Intewell操作系統(tǒng)的Linux實時拓展方案

    鴻道Intewell操作系統(tǒng)是科東軟件自主研發(fā)的新型工業(yè)實時操作系統(tǒng),歷經(jīng)30多年研發(fā)積累,采用業(yè)界領(lǐng)先的微內(nèi)核架構(gòu),具備高實時、高安全及強擴展的特性,是目前國內(nèi)唯一通過汽車、工業(yè)控制、醫(yī)療儀器、軌道交通四項功能安全認證的操作系統(tǒng)
    的頭像 發(fā)表于 02-27 10:08 ?387次閱讀
    鴻道Intewell<b class='flag-5'>操作系統(tǒng)</b>的Linux實時拓展方案

    【「鴻蒙操作系統(tǒng)設(shè)計原理與架構(gòu)」閱讀體驗】01-初始華為鴻蒙

    的應(yīng)用經(jīng)驗,已形成了一套較完備的理論體系。鴻蒙操作系統(tǒng)在該理論體系的基礎(chǔ)上,結(jié)合我國多年的產(chǎn)業(yè)化經(jīng)驗,參考學(xué)術(shù)界的最新研究成果,完成了基礎(chǔ)架構(gòu)設(shè)計。鴻蒙操作系統(tǒng)通過架構(gòu)解耦,可彈性部署
    發(fā)表于 01-25 11:05

    國產(chǎn)銀河麒麟操作系統(tǒng)V10和星光麒麟V1.0操作系統(tǒng)如何選擇?

    國產(chǎn)銀河麒麟操作系統(tǒng)和星光麒麟操作系統(tǒng)都是由中國電子旗下科技企業(yè)麒麟軟件有限公司(簡稱“麒麟軟件”)開發(fā)的國產(chǎn)自主可控的操作系統(tǒng)。麒麟軟件介紹:麒麟軟件以安全可信操作系統(tǒng)技術(shù)為核心,面
    的頭像 發(fā)表于 01-24 09:14 ?2253次閱讀
    國產(chǎn)銀河麒麟<b class='flag-5'>操作系統(tǒng)</b>V10和星光麒麟V1.0<b class='flag-5'>操作系統(tǒng)</b>如何選擇?

    deepin操作系統(tǒng)介紹

    希望從自己的能力和對桌面操作系統(tǒng)的理解,能給 Linux 的用戶與開發(fā)者更多的選擇。我們也相信 deepin 能夠得到更多用戶的認可與喜愛,成為開源世界的最佳選擇。? 一、 deepin 操作系統(tǒng) 先說 Linux 操作系統(tǒng),它
    的頭像 發(fā)表于 12-23 09:08 ?2356次閱讀
    deepin<b class='flag-5'>操作系統(tǒng)</b>介紹

    如何在windows上emulate不同操作系統(tǒng)

    一、虛擬化技術(shù)概述 虛擬化技術(shù)允許在單個物理機器上創(chuàng)建多個虛擬機,每個虛擬機都可以運行不同的操作系統(tǒng)。這使得我們可以在Windows系統(tǒng)上模擬其他操作系統(tǒng),而無需購買額外的硬件。虛擬化技術(shù)的關(guān)鍵組件
    的頭像 發(fā)表于 12-05 15:50 ?858次閱讀

    CapTIvate?技術(shù)指南–簡化版

    電子發(fā)燒友網(wǎng)站提供《CapTIvate?技術(shù)指南–簡化版.pdf》資料免費下載
    發(fā)表于 10-29 09:42 ?6次下載
    CapTIvate?技術(shù)指南–<b class='flag-5'>簡化版</b>

    linux操作系統(tǒng)安裝步驟 linux操作系統(tǒng)的特點及組成

    Linux操作系統(tǒng)安裝步驟 Linux操作系統(tǒng)是一種開源的操作系統(tǒng),它以其穩(wěn)定性、安全性和靈活性而聞名。以下是安裝Linux操作系統(tǒng)的一般步驟,以Ubuntu為例: 1. 準備工作 在
    的頭像 發(fā)表于 10-21 11:24 ?1219次閱讀

    LDO PSRR測量簡化版

    電子發(fā)燒友網(wǎng)站提供《LDO PSRR測量簡化版.pdf》資料免費下載
    發(fā)表于 10-18 09:23 ?0次下載
    LDO PSRR測量<b class='flag-5'>簡化版</b>

    新手學(xué)操作系統(tǒng) 第二周

    新手學(xué)操作系統(tǒng)1.在shel程序中發(fā)命令 編輯 人在shell中發(fā)命令2.操作系統(tǒng)中的基本命令3.獲取幫助信息的兩個方法
    的頭像 發(fā)表于 10-08 11:32 ?442次閱讀
    新手學(xué)<b class='flag-5'>操作系統(tǒng)</b> 第二周

    面向功能安全應(yīng)用的汽車開源操作系統(tǒng)解決方案

    在SAE 2024國際汽車安全大會上,Elektrobit的Linux專家王紅燕在操作系統(tǒng)與芯片技術(shù)的分論壇上為大家?guī)砹恕懊嫦蚬δ馨踩珣?yīng)用的汽車開源操作系統(tǒng)解決方案”主題演講。
    的頭像 發(fā)表于 09-27 09:21 ?909次閱讀
    面向功能安全應(yīng)用的汽車開源<b class='flag-5'>操作系統(tǒng)</b>解決方案

    工控機支持什么操作系統(tǒng)

    工控機,全稱工業(yè)控制計算機(Industrial Personal Computer, IPC),支持多種操作系統(tǒng)以滿足不同行業(yè)和應(yīng)用場景的需求。具體來說,工控機常見的操作系統(tǒng)包括:
    的頭像 發(fā)表于 09-11 09:24 ?1057次閱讀

    基于鴻道Intewell操作系統(tǒng)的運動控制系統(tǒng)方案

    覺任務(wù)、人機界面以及邊緣計算等應(yīng)用的處理。該解決方案通過采用高集成操作系統(tǒng)架構(gòu),減少硬件投入,簡化網(wǎng)絡(luò)結(jié)構(gòu),從而達到降低客戶運營成本的目的。
    的頭像 發(fā)表于 09-09 10:42 ?609次閱讀
    基于鴻道Intewell<b class='flag-5'>操作系統(tǒng)</b>的運動控制<b class='flag-5'>系統(tǒng)</b>方案

    簡單認識RTOS實時操作系統(tǒng)

    RTOS(Real Time Operating System,實時操作系統(tǒng))是一種專門設(shè)計用于在嚴格時間限制內(nèi)處理任務(wù)的操作系統(tǒng)。它以其高實時性、多任務(wù)處理能力和資源管理能力在工業(yè)自動化、醫(yī)療設(shè)備、航空航天、汽車電子等眾多領(lǐng)域得到廣泛應(yīng)用。以下是對RTOS實時
    的頭像 發(fā)表于 08-20 11:20 ?5259次閱讀

    Windows操作系統(tǒng)是什么?它有哪些特點?

    Windows操作系統(tǒng)是由美國微軟公司(Microsoft Corporation)開發(fā)和推出的一種計算機操作系統(tǒng)。自1985年Windows 1.0版本發(fā)布以來,Windows系統(tǒng)經(jīng)歷了多次重大
    的頭像 發(fā)表于 08-07 16:30 ?6416次閱讀