国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

我做到了3天手搓操作系統

痞子衡嵌入式 ? 來源:痞子衡嵌入式 ? 作者:痞子衡嵌入式 ? 2022-11-29 11:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

都說操作系統(簡稱 OS ),是程序員的三大浪漫之一,我們經常會用“靈魂、大腦、內核、基石”等詞來形容它,足以見得它對計算機而言有多么重要。最近,我用 3 天的時間,自己寫了個操作系統。

在手寫 OS 的過程中,之前遇到的很多和操作系統密切相關的疑難雜癥,都找到了答案。比如:

內存為什么會泄漏、服務進程為什么會 dang 掉、文件為什么打不開?

MySQL 的 IO 性能還能不能再提升?

網絡服務為什么會掉線?模式靠什么技術支撐?

Node.js 的 I/O 模型長什么模樣?

除此之外,在做高性能服務端編程的時候,經常會用到內存、進程、線程、IO 相關的知識。

“學好操作系統,能直接解決你在工作中遇到的這些問題”。就這一個原因,它就已經是每個程序員必須好好修煉的“基本功”了。

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

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

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

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

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

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

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

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

d4709b42-6f92-11ed-8abf-dac502259ad0.png

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

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

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

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

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

d49408c0-6f92-11ed-8abf-dac502259ad0.jpg

操作系統簡化知識體系圖

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

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

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

掃碼免費試讀

原價 ¥199,限時特惠¥139

今日新用戶僅 ¥68

僅限「前 50 人」優惠

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

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

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

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

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

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

d4f2b744-6f92-11ed-8abf-dac502259ad0.png

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

d50e7132-6f92-11ed-8abf-dac502259ad0.png

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

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

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

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

d5301634-6f92-11ed-8abf-dac502259ad0.jpg

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

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

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

d5446062-6f92-11ed-8abf-dac502259ad0.gif

Cosmos系統運行演示

4.開源計劃,新的挑戰

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

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

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

d785f08e-6f92-11ed-8abf-dac502259ad0.png

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

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

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

d7fcf7b0-6f92-11ed-8abf-dac502259ad0.png

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

審核編輯 :李倩

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

    關注

    37

    文章

    7402

    瀏覽量

    129313
  • 程序員
    +關注

    關注

    4

    文章

    956

    瀏覽量

    30940

原文標題:3天手搓操作系統,我做到了

文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    操作系統體系結構

    操作系統的體系結構是一個開放的問題。正如上文所述,操作系統在核心態為應用程序提供公共的服務,那么操作系統在核心態應該提供什么服務、怎樣提供服務?有關這個問題的回答形成了兩種主要的體系結構:大內核和微
    發表于 01-15 08:19

    操作系統的發展及分類

    手工操作階段(此階段無操作系統)   用戶在計算機上算題的所有工作都要人工干預,如程序的裝入、運行、結果的輸出等。隨著計算機硬件的發展,人機矛盾(速度和資源利用)越來越大,必須尋求新的解決辦法
    發表于 01-15 08:00

    操作系統運行機制

    。   3) 原語   按層次結構設計的操作系統,底層必然是一些可被調用的公用小程序,它們各自完成一個規定的操作。其特點是:   1. 它們處于操作系統的最底層,是最接近硬件的部分
    發表于 01-15 07:12

    龍蜥操作系統裝機量突破1000萬

    11月17日,以“生態共融·智驅未來”為主題的2025龍蜥操作系統大會(OpenAnolis Conference)在北京成功舉辦。千余位全球技術大咖、業界精英和行業開發者齊聚一堂,深入探討AI時代下操作系統產業發展的新趨勢、新挑戰與新路徑,共話龍蜥社區引領
    的頭像 發表于 11-20 11:40 ?840次閱讀

    單片機的操作系統

    單片機操作系統主要分為實時操作系統(RTOS)和嵌入式操作系統兩類,以下是常見選擇: 實時操作系統(RTOS) ? FreeRTOS ?:輕量級開源內核(最小內核約6 KB RAM)
    發表于 11-14 06:18

    嵌入式實時操作系統的特點

    實時嵌入式操作系統(Real-Time Embedded Operating System)是專門設計用于嵌入式系統的實時操作系統。嵌入式系統是一種特殊的計算機
    發表于 11-13 06:30

    DIY的直流LISN能用嗎?

    DIY的直流LISN能用嗎?
    的頭像 發表于 11-11 11:34 ?324次閱讀
    <b class='flag-5'>手</b><b class='flag-5'>搓</b>DIY的直流LISN能用嗎?

    龍芯CPU與銀河麒麟操作系統V11深度適配

    近日,龍芯中科受邀參加“麒麟遨·共承長”2025中國操作系統產業大會,見證銀河麒麟操作系統V11的正式發布。龍芯桌面CPU(3A5000/3
    的頭像 發表于 09-02 10:44 ?927次閱讀

    觸屏手機,開源了!

    工程名稱:基于D133的智能手機工程作者:lovelessing前言了一臺觸屏手機(開發板)!自己逐步實現——點亮屏幕、啟動UI、鎖屏UI、系統桌面UI、儀表盤、咖啡機、壓力測試、控件、GIF
    的頭像 發表于 08-07 15:40 ?2188次閱讀
    <b class='flag-5'>手</b><b class='flag-5'>搓</b>觸屏手機,開源了!

    樹莓派操作系統:版本、特性及設置完整指南!

    樹莓派操作系統是什么?樹莓派操作系統是由樹莓派基金會專為樹莓派開發的官方操作系統。它基于DebianLinux發行版,并針對樹莓派的ARM架構進行了專門優化。樹莓派操作系統有多個版本,
    的頭像 發表于 07-28 18:26 ?1451次閱讀
    樹莓派<b class='flag-5'>操作系統</b>:版本、特性及設置完整指南!

    RUBIK Pi 3開發板與deepin 25操作系統完成適配

    近日,中科創達旗下創通聯達與deepin(深度)社區深度攜手,成功實現RUBIK Pi 3開發板與deepin 25操作系統的適配,并順利通過產品兼容性認證。這一突破性進展,不僅讓RUBIK Pi
    的頭像 發表于 07-28 16:01 ?1085次閱讀

    鴻道Intewell操作系統:人形機器人底層操作系統

    操作系統的實時性賦能東土科技的鴻道(Intewell)工業操作系統作為國內唯一通過汽車、工業控制、醫療、軌道交通四項功能安全認證的系統,為標準體系中的技術層架構提供了底層支持。其微內核虛擬化架構可將人形機器人電子架構成本降低50
    的頭像 發表于 05-16 14:44 ?789次閱讀

    EZUSB FX3 SDK win10操作系統下安裝失敗的原因?

    EZUSB FX3 SDK win10操作系統下安裝失敗。
    發表于 04-30 07:54

    如何在計算機上安裝麒麟操作系統Kylin V10 SP3

    麒麟操作系統 Kylin V10 SP3 是一款基于 Linux 的操作系統,廣泛應用于政府、企業和個人用戶。本文將詳細介紹如何在計算機上安裝麒麟操作系統 Kylin V10 SP
    的頭像 發表于 04-11 15:32 ?3918次閱讀
    如何在計算機上安裝麒麟<b class='flag-5'>操作系統</b>Kylin V10 SP<b class='flag-5'>3</b>

    如何在APM32F407開發板上應用uC/OS-III實時操作系統

    最近開始學習 uC/OS-III 實時操作系統,并著手將其移植到APM32F407 開發板上。在這個過程中,到了許多有趣的挑戰和發現,也感受
    的頭像 發表于 04-01 09:39 ?1581次閱讀
    如何在APM32F407開發板上應用uC/OS-III實時<b class='flag-5'>操作系統</b>