精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

簡化版操作系統知識體系

小林coding ? 來源:小林coding ? 作者:李倩 ? 2022-11-15 14:44 ? 次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

他的書《深度探索嵌入式操作系統:從零開始設計、架構和開發》也曾給了我很多啟發。

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

數十年深入研究操作系統,他對 Linux、BSD、SunOS 等開源操作系統,以及 Windows 的 NT 內核都非常熟悉,在編譯器,數據庫等基礎架構方面也頗有研究。

可以說,在操作系統領域,他是當之無愧的 KOL,非常有發言權。這條路上,會有哪些難點和阻礙,會踩哪些坑,他都了如指掌。

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

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

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

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

操作系統簡化知識體系圖

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

跟著學下來,操作系統架構設計能力會大幅提升,還可以學到系統級別的軟件編程技巧,這對我們拓展技術深度和廣度是大有裨益的。

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

記得當時這門課程上線兩個月,訂閱量就超 10000 訂閱了,現在已經將近50000 人學習了,這個結果其實并不意外,畢竟,業界大牛手把手帶著寫 OS 的機會實在太難得。

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

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

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

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

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

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

比如下面的虛擬內存數據結構設計圖,計算機結構示意圖,文件系統框架圖和進程狀態切換流程圖等,篇幅限制,這里僅是冰山一角,專欄中還有大量圖示和知識導圖。

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

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

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

摘自《操作系統實戰 45講》第9講

瞧一瞧-Linux的自旋鎖和信號量如何實現?

2.邊學邊練,對比分析,強化理解 Linux

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

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

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

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

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

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

Cosmos系統運行演示

4.開源計劃,新的挑戰

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

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

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

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

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

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

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

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

再強調一點:

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 操作系統
    +關注

    關注

    37

    文章

    6740

    瀏覽量

    123190
  • 編譯器
    +關注

    關注

    1

    文章

    1618

    瀏覽量

    49052

原文標題:操作系統,你是我的神!

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

收藏 人收藏

    評論

    相關推薦

    CapTIvate?技術指南–簡化版

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

    linux操作系統安裝步驟 linux操作系統的特點及組成

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

    LDO PSRR測量簡化版

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

    工控機支持什么操作系統

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

    簡單認識RTOS實時操作系統

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

    Windows操作系統是什么?它有哪些特點?

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

    嵌入式實時操作系統:Intewell操作系統與VxWorks操作系統有啥區別

    Intewell操作系統和VxWorks操作系統都是工業領域常用的操作系統,它們各有特點和優勢。以下是它們之間的一些主要區別:
    的頭像 發表于 07-08 14:16 ?380次閱讀
    嵌入式實時<b class='flag-5'>操作系統</b>:Intewell<b class='flag-5'>操作系統</b>與VxWorks<b class='flag-5'>操作系統</b>有啥區別

    微內核實時操作系統的介紹

    微內核實時操作系統(Microkernel Real-Time Operating System, μRTOS)是一種專為實時設計的操作系統。它采用微內核架構,以提高系統的可靠性、安全性和可擴展性。以下是關于微內核實時
    的頭像 發表于 05-11 17:13 ?470次閱讀

    如何根據需求選擇合適的新加坡VPS操作系統?

    選擇合適的新加坡VPS操作系統您需要考慮哪些因素,如何根據需求選擇合適的新加坡VPS操作系統?rak部落小編為您整理發布選擇合適的新加坡VPS操作系統需要考慮哪些因素。
    的頭像 發表于 05-10 11:14 ?404次閱讀
    如何根據需求選擇合適的新加坡VPS<b class='flag-5'>操作系統</b>?

    基于鴻道(Intewell?)操作系統研發的農業機器人操作系統

    江蘇大學與科東軟件聯合研發“農業機器人操作系統”,并成立“農業機器人操作系統”聯合實驗室,奮力推進農業智能化,推動農業科技創新。“農業機器人操作系統”的技術革新,對提高農業生產效率、保護環境、應對農業勞動力短缺及促進智慧農業發展
    的頭像 發表于 04-30 11:09 ?388次閱讀

    帶你認識實時操作系統(rtos)

    實時操作系統(RTOS)是為嵌入式系統和實時應用提供一個穩定、可預測和高效運行環境的操作系統。實時操作系統確保了系統能夠在嚴格的時間限制內響
    的頭像 發表于 04-16 16:30 ?1165次閱讀
    帶你認識實時<b class='flag-5'>操作系統</b>(rtos)

    深度解析全球操作系統格局

    操作系統是負責協調、管理和控制計算機硬件與軟件資源的程序,是整個計算機的核心系統軟件。 按照操作系統面向的設備類型,通用操作系統主要包括桌面操作系統
    的頭像 發表于 01-18 15:00 ?1062次閱讀
    深度解析全球<b class='flag-5'>操作系統</b>格局

    詳解實時操作系統和非實時操作系統

    實時操作系統,當外界事件和數據產生時,系統能以足夠快的速度予以處理,其處理結果能在規定的時間內控制生產結果或對系統做出響應,并控制所有實時任務協調一致運行的操作系統
    的頭像 發表于 12-26 09:54 ?4508次閱讀
    詳解實時<b class='flag-5'>操作系統</b>和非實時<b class='flag-5'>操作系統</b>

    英特爾Gaudi2C處理器或為Gaudi2的簡化版,Gaudi3預計2024年面世

    對于Gaudi2C和Gaudi2之間的差別,有推測認為它可能是“部分”改動后的產品,針對中國市場專門定制。Tomshardware則猜測可能是Gaudi2的簡化版
    的頭像 發表于 12-20 13:44 ?1089次閱讀

    單片機操作系統有哪些

    單片機操作系統(RTOS)是一種專門設計用于單片機的操作系統,它可以提供任務調度、內存管理、設備驅動等功能,幫助程序員更高效地開發嵌入式系統。在本文中,我們將詳細介紹幾種常見的單片機操作系統
    的頭像 發表于 12-08 16:18 ?4923次閱讀