www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 小林coding
[導(dǎo)讀]大家好,我是小林。之前我小林把自己寫的操作系統(tǒng)系列文章的整理過PDF:小林的圖解系統(tǒng),大曝光!。不過我這個PDF偏向理論知識多一些,實戰(zhàn)的內(nèi)容少一些。最近有個讀者說,他把自己學(xué)習(xí)????課程的筆記整理成了一個PDF,已經(jīng)開源至Github,我也看了下,確實很不錯,非常硬核。??課...

大家好,我是小林。


之前我小林把自己寫的操作系統(tǒng)系列文章的整理過 PDF:小林的圖解系統(tǒng),大曝光!。


不過我這個 PDF 偏向理論知識多一些,實戰(zhàn)的內(nèi)容少一些。


最近有個讀者說,他把自己學(xué)習(xí) 課程的筆記整理成了一個 PDF,已經(jīng)開源Github,我也看了下,確實很不錯,非常硬核。


課程一直被公認為學(xué)習(xí)操作系統(tǒng)的神級課程,其課程使用了一個小型的操作系統(tǒng) 還有一份配套的手冊來教學(xué)。雖然資料齊全但由于是英文,加之內(nèi)容本身的復(fù)雜性,上手還是有一些難度。


這里有一份開源的資料《給操作系統(tǒng)捋條線》,詳細講解了 系統(tǒng),除了源碼中的一些腳本文件幾乎覆蓋講述了所有代碼,從硬件到軟件各個方面都有所講述。這份資料恰如其名字一般實實在在地給操作系統(tǒng)捋了一條線出來,能夠讓讀者知道計算機從上電那一刻開始,操作系統(tǒng)是如何一步步建立起來的,是如何運行起來的。資料的鏈接如下:


https://github.com/Rand312/xv6.git


https://gitee.com/rand_cs/xv6.git


全文將操作系統(tǒng)分為了五個大的部分:啟動,中斷,文件系統(tǒng),進程,控制臺,其他部分比如說內(nèi)存管理,鎖等等都是分散在那五大部分里面。每個部分作者都盡量細致到各個方面,并且附有詳細的文字描述或者流程圖。


比如說啟動流程圖



再比如中斷流程圖



又比如讀寫文件的流程圖





看著這些圖感覺還行是吧,較為繁雜的部分基本都有類似的流程圖,《給操作系統(tǒng)捋條線》是真的如其名字一般將操作系統(tǒng)捋了 “一條線”  出來。其部分內(nèi)容截圖如下:

部分截圖《給操作系統(tǒng)捋條線》根據(jù) 主要講述了以下問題問題:


啟動部分:首先便是啟動部分, 的計算機啟動過程與常見那幾大步驟稍稍不同,但本質(zhì)一樣,除了 揉在一起了,其他的沒什么,比較常規(guī),再者就是多處理器的情況可能大家不太熟悉,這一塊大概有這么一些問題:


  • 啟動的大概過程, 這五個步驟是怎樣的?
  • 實模式保護模式的特點,如何過渡?
  • ,段寄存器,段選擇子,段描述符,分段,平坦模式的簡單認識?
  • 分頁機制的特點,如何開啟的?
  • 邏輯地址,虛擬地址,線性地址,物理地址各類地址什么意思,如何轉(zhuǎn)化?
  • 操作系統(tǒng)如何自舉,內(nèi)核如何從磁盤加載到內(nèi)存的?
  • 文件的簡單認識?
  • 多處理器的情況下計算機是如何啟動的,什么是 什么是 ,通用啟動算法是啥?
文件系統(tǒng): 將文件系統(tǒng)分為了 7 層,磁盤 緩存 日志 目錄 路徑 文件描述符,大概有這些問題:


  • 磁盤的簡單認識,磁盤驅(qū)動程序如何實現(xiàn)(如何讀寫磁盤)?
  • 如何設(shè)計一個簡單的日志系統(tǒng),為什么日志系統(tǒng)能夠保證數(shù)據(jù)的一致性?
  • ,文件,目錄,目錄項,文件描述符,文件結(jié)構(gòu)體,硬鏈接,軟鏈接各種名詞到底什么意思,它們之間又有什么關(guān)系?
  • 如何理解一切皆文件,為什么 , 這兩個系統(tǒng)調(diào)用就可以讀寫任意類型的文件?
  • 一些常見的文件系統(tǒng)調(diào)用比如 , 等等如何實現(xiàn)的?
中斷異常與系統(tǒng)調(diào)用:有時不加強調(diào)在 的架構(gòu)下一般統(tǒng)稱為中斷,它們實際的處理過程都差不多,只不過中斷來源不同而已,都是中斷源觸發(fā)中斷,生成中斷向量,然后 根據(jù)中斷向量去處理中斷,這一塊兒大概有這些問題:


  • 中斷和異常有什么區(qū)別?


  • 什么是軟件中斷? 軟件中斷和軟中斷是一個東西嗎?


  • 中斷控制器 、() 的簡單認識,了解其基本工作原理?


  • 中斷的處理過程是怎樣的?


    • 向量號,,門描述符(中斷門、陷阱門等)的簡單認識
    • 如何定位中斷服務(wù)程序(向量號,,,門描述符,段描述符等之間的關(guān)系)?
    • 所謂的保存現(xiàn)場與恢復(fù)現(xiàn)場到底什么意思?
    • 中斷期間棧是如何變化的(用戶棧如何變化到內(nèi)核棧,內(nèi)核棧又如何變化到用戶棧)?
  • 多處理器下中斷有何不同,又是如何處理的?


  • 系統(tǒng)調(diào)用大致過程是怎樣的?


  • 系統(tǒng)調(diào)用時用戶態(tài)下程序的參數(shù)如何傳遞給內(nèi)核?


進程: 只支持進程,不支持線程,另外由于支持多處理器,在調(diào)度方面需要額外的鎖來避免競爭,有這么一些問題:


  • 系統(tǒng)調(diào)用是如何實現(xiàn)的(如何創(chuàng)建一個進程)?
  • 第一個進程又是如何創(chuàng)建的?
  • 系統(tǒng)調(diào)用是如何實現(xiàn)的,程序是如何從磁盤加載到內(nèi)存然后運行的?
  • 程序與進程的區(qū)別?
  • 調(diào)度器如何實現(xiàn),一個進程如何被調(diào)度上 ?
  • 常見的調(diào)度算法及其優(yōu)缺點?
  • 進程如何切換的,一些資源如寄存器,,頁表是如何變化的?
  • 如何實現(xiàn)進程的休眠和喚醒,, 函數(shù)如何實現(xiàn)?
  • 如何實現(xiàn)的等待與退出,, 函數(shù)如何實現(xiàn)?
  • 僵尸進程,孤兒進程什么意思,如何解決?
  • 進程是啥,有什么作用,如何實現(xiàn)?
  • 程序是從 開始執(zhí)行的嗎(簡單了解了解運行庫)?
  • 堆到底是個什么玩意兒?如何實現(xiàn)?如何組織管理?
內(nèi)存管理: 的內(nèi)存管理較為簡單,使用的是空閑鏈表法將空閑內(nèi)存組織起來,有這么一些問題:


  • 的物理內(nèi)存是如何管理的,虛擬內(nèi)存又是如何管理的,如何分配與回收內(nèi)存?
  • 虛擬地址空間物理地址空間應(yīng)該如何理解?
  • 為什么一般情況下 0 地址不能訪問,事實上 0 地址就真的不能訪問嗎?
鎖:鎖就其本身的實現(xiàn)上來說不難,難的是鎖的使用,內(nèi)核中的各種問題各種情況極其復(fù)雜,這里只簡單聊聊:


  • 常見的兩種鎖,自旋鎖、休眠鎖如何設(shè)計?
  • 常見死鎖判斷,如何解決
控制臺:主要是處理輸入輸出部分,特指鍵盤的輸入和顯示器的輸出,另外再有就是串口的使用,大概有這么一些問題:


  • 鍵盤、顯卡、串口的簡單認識,鍵盤驅(qū)動,顯卡驅(qū)動,串口驅(qū)動如何實現(xiàn)?
  • 按下一個鍵到輸出到屏幕這之間發(fā)生了什么?
  • 組合鍵的特殊功能是如何實現(xiàn)的?
  • 打印函數(shù) 是如何實現(xiàn)的, 兩系統(tǒng)調(diào)用的完整過程?
  • 為什么文件描述符 0、1、2 就表示標準輸入輸出錯誤呢?
  • 如何實現(xiàn)一個簡單的 ?
  • 重定向什么意思,如何實現(xiàn)?
  • 管道什么意思,如何實現(xiàn)?
  • 一些常用命令如 、等等如何實現(xiàn)的?



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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉