【ARM學(xué)習(xí)筆記】五、操作系統(tǒng)Operation System和內(nèi)存管理單元MMU
掃描二維碼
隨時(shí)隨地手機(jī)看文章
一、操作系統(tǒng)Operation System
第一臺(tái)計(jì)算機(jī)并沒(méi)有操作系統(tǒng),計(jì)算機(jī)工作采用手工操作方式,使用效率極其低下。
隨著計(jì)算機(jī)的性能越來(lái)越快,手工操作的慢速度和計(jì)算機(jī)的高速度之間形成了尖銳矛盾,人們迫切需要一套完整的控制程序來(lái)管理系統(tǒng)資源,從而提高系統(tǒng)資源的利用率。
于是各式各樣的操作系統(tǒng)出現(xiàn)了,人們又制定了新的目標(biāo),直到Unix的出現(xiàn),操作系統(tǒng)的基本概念、功能、基本結(jié)構(gòu)和組成才慢慢形成并漸趨完善,同時(shí),為了便于Unix的移植,Unix之父(Ken Thompson與Dennis Ritchie)又創(chuàng)造了C語(yǔ)言,并使用C語(yǔ)言重寫(xiě)了內(nèi)核,并將內(nèi)核源代碼以“僅用于教育目的”的協(xié)議,提供給各所大學(xué)作為教學(xué)之用,成為當(dāng)時(shí)操作系統(tǒng)課程中的范例教材,之后,各大學(xué)公司開(kāi)始通過(guò)Unix源碼對(duì)Unix進(jìn)行了各種各樣的改進(jìn)和擴(kuò)展,又出現(xiàn)了眾多類Unix操作系統(tǒng)。
時(shí)至今日,操作系統(tǒng)仍然在不斷更新研發(fā),只為提供更卓越的操作體驗(yàn)。
對(duì)于操作系統(tǒng)的功能,主要有以下幾點(diǎn):
1.進(jìn)程管理(Processing Management)
2.內(nèi)存管理(Memory Management)
3.硬件交互(Hardware Interaction,或“驅(qū)動(dòng)程序”,Device Driver)
4.文件系統(tǒng)(File System)
5.網(wǎng)絡(luò)通信(Networking)
6.用戶界面(User Interface)
7.安全機(jī)制(Security)
操作系統(tǒng)作為應(yīng)用程序與硬件之間的橋梁,在很大程度成為影響計(jì)算機(jī)系統(tǒng)整體性能的瓶頸。
就如谷歌公司的Android與蘋(píng)果公司的iOS,對(duì)于硬件的利用效率,完全處于不同層次
二、內(nèi)存管理單元MMU
內(nèi)存管理單元(Memory Management Unit)簡(jiǎn)稱MMU,它是一塊硬件單元,類似于存儲(chǔ)控制器,它負(fù)責(zé)虛擬地址到物理地址的映射,并提供硬件機(jī)制的內(nèi)存訪問(wèn)授權(quán)。
MMU可以使每個(gè)用戶進(jìn)程都擁有獨(dú)立的地址空間,同時(shí),內(nèi)存訪問(wèn)權(quán)限的檢查可以保護(hù)每個(gè)進(jìn)程所用的內(nèi)存不會(huì)被其他進(jìn)程破壞。
早期的計(jì)算機(jī)由于性能低下,所用的程序是非常小的,可以全部裝入內(nèi)存中,隨著技術(shù)的發(fā)展,物理內(nèi)存無(wú)法滿足應(yīng)用程序的要求,所以引入了虛擬存儲(chǔ)器。
虛擬存儲(chǔ)器從邏輯上對(duì)內(nèi)存容量進(jìn)行擴(kuò)充,用戶看到的大容量只是一種感覺(jué),是虛擬的,在32位的CPU系統(tǒng)中,這個(gè)虛擬內(nèi)存地址的范圍為0~0xFFFFFFFF(4GB),我們把這個(gè)地址范圍稱為虛擬地址空間。與虛擬地址空間、虛擬地址相對(duì)應(yīng)的是物理地址空間、物理地址,它們對(duì)應(yīng)實(shí)際的內(nèi)存。
我們?cè)趦?nèi)存中劃出一小塊空間,用來(lái)存儲(chǔ)虛擬內(nèi)存與物理內(nèi)存之間的映射關(guān)系。
如段(Section,1MB)映射,我們使用Excel中的術(shù)語(yǔ)來(lái)說(shuō)的話,對(duì)于32位CPU,擁有4G的虛擬地址空間,所以只需要4096個(gè)單元格,每個(gè)單元格占用4Byte,用來(lái)描述物理內(nèi)存的一段(1MB),只需在內(nèi)存劃分出16KB即可
除此至外,還有頁(yè)(Page)映射方式,頁(yè)的大小有3種,大頁(yè)(64KB)、小頁(yè)(4KB)、極小頁(yè)(1KB)。
同時(shí),上面所說(shuō)的單元格,其實(shí)在MMU中稱作“描述符”,在描述符中,不但保存了段、大頁(yè)、小頁(yè)、極小頁(yè)的其實(shí)物理地址,還保存了對(duì)應(yīng)的內(nèi)存訪問(wèn)權(quán)限。
在配置好MMU之后,MMU將開(kāi)始相應(yīng)CPU的請(qǐng)求,根據(jù)描述符中的內(nèi)容,做出相應(yīng)的操作。
同時(shí),為了提供性能和程序的運(yùn)行速度,還引入了TLB和Cache。
<完結(jié)>