原文:[自制操作系統] 第19回 實現用戶進程(下)

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

2022-09-04 12:29 5 577 推薦指數:

查看詳情

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

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

Tue Aug 16 05:20:00 CST 2022 0 589
自制操作系統15】用戶進程

一、到目前為止的程序流程圖   為了讓大家清楚目前的程序進度,畫了到目前為止的程序流程圖,如下。 二、CPU 原生支持多任務切換   沒錯,本來多任務同分頁、中斷、段選擇子一樣,都是軟 ...

Sat May 09 06:27:00 CST 2020 7 730
[自制操作系統] 第15 實現內核線程

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

Fri Jul 08 22:28:00 CST 2022 0 714
[自制操作系統] 第16 鎖的實現

目錄 一、前景回顧 二、鎖的實現 三、使用鎖實現console函數 四、運行測試 一、前景回顧   上回我們實現了多線程,並且最后做了一個小小的實驗,不過有一點小瑕疵。   可以看到黃色部分的字符不連續,按道理應該是“argB Main”,這是為什么呢?其實仔細思考一 ...

Sun Jul 10 00:32:00 CST 2022 0 522
[自制操作系統] 第14 內存管理系統

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

Fri Jul 08 04:30:00 CST 2022 0 668
[自制操作系統] 第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