原文:[自制操作系統] 第16回 鎖的實現

目錄 一 前景回顧 二 鎖的實現 三 使用鎖實現console函數 四 運行測試 一 前景回顧 上回我們實現了多線程,並且最后做了一個小小的實驗,不過有一點小瑕疵。 可以看到黃色部分的字符不連續,按道理應該是 argB Main ,這是為什么呢 其實仔細思考一下還是很好得出結論。我們的字符打印函數是put str,實際上是調用的put char函數。所以打印一個字符串需要多次調用put char函 ...

2022-07-09 16:32 0 522 推薦指數:

查看詳情

[自制操作系統] 第18 實現用戶進程(上)

目錄 一、前景回顧 二、任務切換相關 三、實現TSS 四、運行測試 一、前景回顧   在上一我們已經實現了鍵盤的驅動編寫和環形緩沖區的實現,現在讓我們來想這么一個問題:   一直以來我們的程序都在最高特權級0下工作,這意味着任何程序都和操作系統平起平坐,可以改動任何資源。如果不改 ...

Tue Aug 16 05:20:00 CST 2022 0 589
[自制操作系統] 第15 實現內核線程

目錄 一、前景回顧 二、線程的實現 三、線程的切換 四、運行測試 一、前景回顧   上一我們實現了內存管理系統,說實話代碼還是比較多,看起來還是比較頭疼的,不過為了知識這都是小事。這一節終於可以來實現我們的線程了,以前學操作系統的時候,聽到的最多的就是什么線程,進程等,這一我們來自 ...

Fri Jul 08 22:28:00 CST 2022 0 714
自制操作系統13】

沒錯,就是你們這群高級程序員(其實我也是)所耳熟能詳但又講不明白的 ,只是本章不是如何用,也不是講它是什么原理,而是在實現我們操作系統的過程中所自然而然地產生的一個需求,並且我們從零開始來實現 本章需要和上一章 【自制操作系統12】熟悉而陌生的多線程 連起來看,因為正是上一章我們多線程輸出 ...

Sun Mar 08 23:48:00 CST 2020 0 971
[自制操作系統] 第14 內存管理系統

目錄 一、前景回顧 二、位圖bitmap及函數實現 三、內存池划分 四、運行 一、前景回顧   前面我們已經花了一個回合來完善了一下我們的系統,包括增加了makefile,ASSERT以及一些常見的字符串操作函數。關於makefile,還是我以前學習Linux系統編程的時候學了一點點 ...

Fri Jul 08 04:30:00 CST 2022 0 668
[自制操作系統] 第19 實現用戶進程(下)

目錄 一、前景回顧 二、進程的創建與初始化 三、如何進行進程的切換 四、運行測試 五、原書勘誤 一、前景回顧   在上一我們大概講述了任務切換的發展,並且知道Linux采用的是一個CPU使用一個TSS的方式,在最后我們成功實現了tss。現在萬事俱備,我們正式來實現用戶進程。 二、進程 ...

Sun Sep 04 20:29:00 CST 2022 5 577
[自制操作系統] 第17 編寫鍵盤驅動

目錄 一、前景回顧 二、實現鍵盤輸入的中斷函數 三、編寫鍵盤驅動 四、實現環形輸入緩沖區 五、運行測試 一、前景回顧   上一我們完成了實現,並且利用優化了終端輸出函數。這一我們來實現鍵盤的輸入,為后面的用戶交互功能打好基礎。 二、實現鍵盤輸入的中斷函數   首先我們需要 ...

Tue Jul 12 05:39:00 CST 2022 0 1449
自制操作系統:引導扇區的實現

本書依靠的教材是於淵的《Orange'S:一個操作系統實現》 實驗環境及工具 ArchLinux(windows也可以) 代碼編輯器Emacs(你盡情使用自己喜歡的編輯器) nasm (一個開源的匯編器,可以從sourceforge下載,也可以從Linux發行版的軟件 ...

Mon Apr 13 18:32:00 CST 2015 1 5322
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM