本章我們要完成初步的內存管理系統,最終簡單實現一個從內核內存池中獲取 3 頁的內存這樣一個函數實現。 一、到目前為止的程序流程圖 為了讓大家清楚目前的程序進度,畫了到目前為止的程序流程圖,如下。 圖中紅色部分就是我們本章的代碼在全局流程中的位置,下面藍色部分是將 malloc_page ...
目錄 一 前景回顧 二 位圖bitmap及函數實現 三 內存池划分 四 運行 一 前景回顧 前面我們已經花了一個回合來完善了一下我們的系統,包括增加了makefile,ASSERT以及一些常見的字符串操作函數。關於makefile,還是我以前學習Linux系統編程的時候學了一點點,很久沒用導致就幾乎都忘了,還是花了一下午時間去補了一下。看來知識這個東西,還是得溫故而知新。 隨時還是要回過頭來總結一 ...
2022-07-07 20:30 0 668 推薦指數:
本章我們要完成初步的內存管理系統,最終簡單實現一個從內核內存池中獲取 3 頁的內存這樣一個函數實現。 一、到目前為止的程序流程圖 為了讓大家清楚目前的程序進度,畫了到目前為止的程序流程圖,如下。 圖中紅色部分就是我們本章的代碼在全局流程中的位置,下面藍色部分是將 malloc_page ...
《30天自制操作系統》筆記(07)——內存管理 進度回顧 上一篇中處理掉了絕大部分與CPU配置相關的東西。本篇介紹內存管理的思路和算法。 現在想想,從軟件工程師的角度看,CPU也只是一個軟件而已:它的功能就是加載指令、執行指令和響應中斷,而響應中斷也是在加載指令、執行指令。就像火車沿着一條 ...
1、本次主要進展 >_<" 這次主要學習了系統內存管理和窗口疊加~由於上兩篇都做了詳細的框架說明和介紹,這里直接上代碼! 2、文件及函數構成 >_<" 這里和第二篇相比,把鼠標和鍵盤的相關函數獨立出來放進各自相應的文件中,並主要在內存管理 ...
自制操作系統Antz day09——實現內核 (下) 實現圖形化界面 https://www.cnblogs.com/LexMoon/p/antz09.html Antz系統更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html ...
目錄 一、前景回顧 二、任務切換相關 三、實現TSS 四、運行測試 一、前景回顧 在上一回我們已經實現了鍵盤的驅動編寫和環形緩沖區的實現,現在讓我們來想這么一個問題: 一直以來我們的程序都在最高特權級0下工作,這意味着任何程序都和操作系統平起平坐,可以改動任何資源。如果不改 ...
目錄 一、前景回顧 二、實現鍵盤輸入的中斷函數 三、編寫鍵盤驅動 四、實現環形輸入緩沖區 五、運行測試 一、前景回顧 上一回我們完成了鎖的實現,並且利用鎖優化了終端輸出函數。這一回我們來實現鍵盤的輸入,為后面的用戶交互功能打好基礎。 二、實現鍵盤輸入的中斷函數 首先我們需要 ...
目錄 一、前景回顧 二、線程的實現 三、線程的切換 四、運行測試 一、前景回顧 上一回我們實現了內存管理系統,說實話代碼還是比較多,看起來還是比較頭疼的,不過為了知識這都是小事。這一節終於可以來實現我們的線程了,以前學操作系統的時候,聽到的最多的就是什么線程,進程等,這一回我們來自 ...
目錄 一、前景回顧 二、鎖的實現 三、使用鎖實現console函數 四、運行測試 一、前景回顧 上回我們實現了多線程,並且最后做了一個小小的實驗,不過有一點小瑕疵。 可以 ...