資料介紹
本文主要介紹內(nèi)存的基本概念以及操作系統(tǒng)的內(nèi)存管理算法。
一、內(nèi)存的基本概念
內(nèi)存是計(jì)算機(jī)系統(tǒng)中除了處理器以外最重要的資源,用于存儲(chǔ)當(dāng)前正在執(zhí)行的程序和數(shù)據(jù)。內(nèi)存是相對(duì)于 CPU 來(lái)說(shuō)的,CPU 可以直接尋址的存儲(chǔ)空間叫做內(nèi)存,CPU 需要通過(guò)驅(qū)動(dòng)才能訪問(wèn)的叫做外存。
內(nèi)存一般采用半導(dǎo)體存儲(chǔ)單元,分為只讀存儲(chǔ)器(ROM,Read Only Memory)、隨機(jī)存儲(chǔ)器(RAM,Random Access Memory)ROM 一般只能讀取不能寫(xiě)入,掉電后其中的數(shù)據(jù)也不會(huì)丟失。RAM 既可以從中讀取也可以寫(xiě)入,但是掉電后其中的數(shù)據(jù)會(huì)丟失。內(nèi)存一般指的就是 RAM。 ROM 在嵌入式系統(tǒng)中一般用于存儲(chǔ) BootLoader 以及操作系統(tǒng)或者程序代碼或者直接當(dāng)硬盤(pán)使用。近年來(lái)閃存(Flash)已經(jīng)全面代替了 ROM 在嵌入式系統(tǒng)中的地位,它結(jié)合了 ROM 和 RAM 的長(zhǎng)處,不僅具備電子可擦除可編程的特性,而且斷電也不會(huì)丟失數(shù)據(jù),同時(shí)可以快速讀取數(shù)據(jù)。
三、兩類(lèi)內(nèi)存管理方式 內(nèi)存管理模塊管理系統(tǒng)的內(nèi)存資源,它是操作系統(tǒng)的核心模塊之一。主要包括內(nèi)存的初始化、分配以及釋放。
從分配內(nèi)存是否連續(xù),可以分為兩大類(lèi)。連續(xù)內(nèi)存管理為進(jìn)程分配的內(nèi)存空間是連續(xù)的,但這種分配方式容易形成內(nèi)存碎片(碎片是難以利用的空閑內(nèi)存,通常是小內(nèi)存),降低內(nèi)存利用率。連續(xù)內(nèi)存管理主要分為單一連續(xù)內(nèi)存管理和分區(qū)式內(nèi)存管理兩種。非連續(xù)內(nèi)存管理將進(jìn)程分散到多個(gè)不連續(xù)的內(nèi)存空間中,可以減少內(nèi)存碎片,內(nèi)存使用率更高。如果分配的基本單位是頁(yè),則稱(chēng)為分頁(yè)內(nèi)存管理;如果基本單位是段,則稱(chēng)為分段內(nèi)存管理。當(dāng)前的操作系統(tǒng),普遍采用非連續(xù)內(nèi)存管理方式。不過(guò)因?yàn)榉峙淞6容^大,對(duì)于內(nèi)存較小的嵌入式系統(tǒng),一般采用連續(xù)內(nèi)存管理。本文主要對(duì)嵌入式系統(tǒng)中常用的連續(xù)內(nèi)存管理的分區(qū)式內(nèi)存管理進(jìn)行介紹。
四、分區(qū)式內(nèi)存管理 分區(qū)式內(nèi)存管理分為固定分區(qū)和動(dòng)態(tài)分區(qū)。
固定分區(qū)
事先就把內(nèi)存劃分為若干個(gè)固定大小的區(qū)域。分區(qū)大小既可以相等也可以不等。固定分區(qū)易于實(shí)現(xiàn),但是會(huì)造成分區(qū)內(nèi)碎片浪費(fèi),而且分區(qū)總數(shù)固定,限制了可以并發(fā)執(zhí)行的進(jìn)程數(shù)量。
動(dòng)態(tài)分區(qū)
根據(jù)進(jìn)程的實(shí)際需要,動(dòng)態(tài)地給進(jìn)程分配所需內(nèi)存。
五、動(dòng)態(tài)分區(qū)內(nèi)存管理 運(yùn)作機(jī)制
動(dòng)態(tài)分區(qū)管理一般采用空閑鏈表法,即基于一個(gè)雙向鏈表來(lái)保存空閑分區(qū)。對(duì)于初始狀態(tài),整個(gè)內(nèi)存塊都會(huì)被作為一個(gè)大的空閑分區(qū)加入到空閑鏈表中。當(dāng)進(jìn)程申請(qǐng)內(nèi)存時(shí),將會(huì)從這個(gè)空閑鏈表中找到一個(gè)大小滿(mǎn)足要求的空閑分區(qū)。如果分區(qū)大于所需內(nèi)存,則從該分區(qū)中拆分出需求大小的內(nèi)存交給進(jìn)程,并將此拆分出的內(nèi)存從空閑鏈表中移除,剩下的內(nèi)存仍然是一個(gè)掛在空閑鏈表中的空閑分區(qū)。
數(shù)據(jù)結(jié)構(gòu)
空閑鏈表法有多種數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn),這里介紹一種較為簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)。每個(gè)空閑分區(qū)的數(shù)據(jù)結(jié)構(gòu)中包含分區(qū)的大小,以及指向前一個(gè)分區(qū)和后一個(gè)分區(qū)的指針,這樣就能將各個(gè)空閑分區(qū)鏈接成一個(gè)雙向鏈表。
- 如何在MCU上高效地管理內(nèi)存?
- 使用Java實(shí)現(xiàn)的學(xué)生管理系統(tǒng)詳細(xì)資料說(shuō)明 3次下載
- 嵌入式系統(tǒng)教程之嵌入式操作系統(tǒng)的內(nèi)存管理詳細(xì)資料說(shuō)明 6次下載
- Android系統(tǒng)電源的管理和省電機(jī)制的詳細(xì)資料說(shuō)明
- Linux操作系統(tǒng)分析與實(shí)踐PDF電子書(shū)免費(fèi)下載 15次下載
- Java教程之XML與內(nèi)容管理的詳細(xì)資料說(shuō)明 10次下載
- 機(jī)器學(xué)習(xí)算法中的FSS算法詳細(xì)資料合集免費(fèi)下載 9次下載
- 機(jī)器學(xué)習(xí)算法中的ID3算法詳細(xì)資料合集免費(fèi)下載 5次下載
- CAD快捷鍵和CAD實(shí)用技巧最全操作系統(tǒng)(完美排版)詳細(xì)資料免費(fèi)下載 0次下載
- S32K144實(shí)時(shí)操作系統(tǒng)演示DEMO V1.05的詳細(xì)資料和函數(shù)免費(fèi)下載 61次下載
- 供電系統(tǒng)原理圖詳細(xì)資料免費(fèi)下載 43次下載
- C51單片機(jī)上移植UCOS操作系統(tǒng)的詳細(xì)資料和程序免費(fèi)下載 28次下載
- 動(dòng)力電池管理系統(tǒng)詳細(xì)資料免費(fèi)下載 53次下載
- AM3715和AM3703的內(nèi)存子系統(tǒng)詳細(xì)資料概述 4次下載
- 無(wú)線信息設(shè)備的理想操作系統(tǒng)Symbian OS
- 操作系統(tǒng)的內(nèi)存布局介紹 152次閱讀
- 深度解析全球操作系統(tǒng)格局 674次閱讀
- 內(nèi)存的基本概念以及操作系統(tǒng)的內(nèi)存管理算法 1486次閱讀
- Linux內(nèi)存管理體系介紹 1461次閱讀
- 使用memheap內(nèi)存管理算法對(duì)片內(nèi)RAM和片外SDRAM進(jìn)行管理的方法 3123次閱讀
- RS232接口串口取電電路的詳細(xì)資料介紹 7872次閱讀
- Linux操作系統(tǒng)知識(shí)講解:避免內(nèi)存使用七大坑 2737次閱讀
- Linux操作系統(tǒng)知識(shí)講解:走進(jìn)Linux 內(nèi)存分配算法 5324次閱讀
- Linux操作系統(tǒng)知識(shí)講解:走進(jìn)linux 內(nèi)存地址空間 4905次閱讀
- Linux操作系統(tǒng)知識(shí)講解:走進(jìn)內(nèi)存 2257次閱讀
- 程序員必須知道的操作系統(tǒng)核心概念詳細(xì)說(shuō)明 3213次閱讀
- 操作系統(tǒng)內(nèi)存的詳細(xì)資料講解分析 4212次閱讀
- 嵌入式系統(tǒng)內(nèi)存管理機(jī)制詳解 4430次閱讀
- 簡(jiǎn)要介紹了操作系統(tǒng)虛擬化的概念,以及實(shí)現(xiàn)操作系統(tǒng)虛擬化的技術(shù) 1.3w次閱讀
- 基于FreeRTOS的嵌入式實(shí)時(shí)操作系統(tǒng)的原理和實(shí)現(xiàn) 6562次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多