目錄 一、前景回顧 二、位圖bitmap及函數實現 三、內存池划分 四、運行 一、前景回顧 前面我們已經花了一個回合來完善了一下我們的系統,包括增加了makefile,ASSERT以及一些常見的字符串操作函數。關於makefile,還是我以前學習Linux系統編程的時候學了一點點 ...
本章我們要完成初步的內存管理系統,最終簡單實現一個從內核內存池中獲取 頁的內存這樣一個函數實現。 一 到目前為止的程序流程圖 為了讓大家清楚目前的程序進度,畫了到目前為止的程序流程圖,如下。 圖中紅色部分就是我們本章的代碼在全局流程中的位置,下面藍色部分是將 malloc page 方法樹狀拆解開來看。不考慮太多細節,本章就是完成一個可以 從內存中分配指定頁數的內存 代碼中為 頁 ,並將起始地址打 ...
2020-02-25 17:02 1 1419 推薦指數:
目錄 一、前景回顧 二、位圖bitmap及函數實現 三、內存池划分 四、運行 一、前景回顧 前面我們已經花了一個回合來完善了一下我們的系統,包括增加了makefile,ASSERT以及一些常見的字符串操作函數。關於makefile,還是我以前學習Linux系統編程的時候學了一點點 ...
《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 ...
內存管理的目標: 實現內存的分配和回收 合理的分配內存空間,提高內存利用率,提高內存訪問速度 存儲器的層次結構 速度由快到慢,容量由小到大,價格由高到低 寄存器->L1高速緩存 -> L2高速緩存 -> 主存儲器 -> 本地二級存儲 -> ...
目錄 分頁儲存 基本概念 重要數據結構--頁表 1、每個頁表項占用多少字節? 1.1、如何根據頁號找到(在內存中)對應的頁表項(的地址) 2、如何實現從邏輯地址到物理地址的轉換 2.1 ...
內存管理 問題思考: 1、為什么進行內存管理? 2、頁式管理中每個頁表項大小的下限如何決定? 3、多級頁面解決了什么問題,帶來了什么問題? 內存管理的基本原理和要求 內存管理(Memory Management)計算機硬件盡管很大,但依然不能一次將所有用戶的進程和系統所需 ...
覆蓋技術,虛擬內存和交換分區技術都是為了解決物理內存空間不足的解決方案: 覆蓋技術(應用程序手動把需要的指令和數據保存在內存中) 目標:在較小的可用內存中運行較大的程序 方法:依據程序邏輯結構,將程序划分為若干功能相對獨立的模塊;將不會同時執行的模塊共享同一塊內存區域 ...