2015-12-17 17:24:07 1430瀏覽
和所有的操作系統(tǒng)一樣,iOS操作系統(tǒng)也管理計(jì)算機(jī)的存儲器。一般情況下,操作系統(tǒng)會把存儲器分為不同的區(qū),分別用來存儲實(shí)際的計(jì)算機(jī)指令(代碼)、數(shù)據(jù)變量和堆。堆是存儲器中的一段,進(jìn)程可以在堆中動態(tài)地使用和釋放存儲空間。
一些操作系統(tǒng)還提供了一種讓進(jìn)程能夠?qū)ぶ繁却鎯ζ鲗?shí)際存儲空間(RAM)還大的方法,這種方法對應(yīng)的一個(gè)概念稱為虛擬存儲器,簡稱為虛存。有了虛存,計(jì)算機(jī)就能把它的存儲器擴(kuò)展到二級存儲,例如一個(gè)磁盤驅(qū)動器,而且這對進(jìn)程是透明的。操作系統(tǒng)使用一個(gè)硬件特性來創(chuàng)建虛存(有的處理器上有),稱為存儲器映射單元(Memory Map Unit,MMU)。MMU根據(jù)內(nèi)容實(shí)際駐留的存儲區(qū)把對存儲器的尋址請求重映射到物理存儲器(RAM)或二級存儲器(磁盤)。MMU也允許對一些地址范圍進(jìn)行保護(hù)(標(biāo)志為只讀)或置為全部不能被映射。
虛存還有另外一個(gè)好處:在支持虛存的操作系統(tǒng)內(nèi),MMU可以被iOS開發(fā)者編程為每一個(gè)進(jìn)程創(chuàng)建一個(gè)獨(dú)立的地址空間。這樣每一個(gè)進(jìn)程就可以擁有完全屬于自己的一個(gè)存儲空間,同時(shí)還可以阻止其他的進(jìn)程訪問。
雖然虛存有許多好處,但它也不是無償擁有的。隨著虛存的應(yīng)用,會有對資源的更大需求,同時(shí)也會有性能上的損失(有些是非常嚴(yán)重的)。因此,正像即將看到的,iOS并不使用一個(gè)完全的虛存機(jī)制。iOS把整個(gè)物理存儲器映射成一個(gè)大的、連續(xù)的虛擬地址空間。即使iOS并沒有應(yīng)用完全的虛存機(jī)制,但當(dāng)需要創(chuàng)建虛擬地址空間的時(shí)候,也會用到CPU的MMU。為了減少開銷,內(nèi)核并不進(jìn)行任何存儲器頁的調(diào)度或交換,所以虛擬地址空間受限于實(shí)際的物理存儲器的大小。
iOS把這些地址空間分為不同的存儲區(qū)域,這些存儲區(qū)域稱為區(qū)。區(qū)也和各種類型的物理存儲器相符合,例如在一個(gè)給定的路由器上,SRAM用來存儲報(bào)文,DRAM則可能用來存儲軟件和數(shù)據(jù)。把存儲器分成不同的區(qū)有利于iOS把各種類型的存儲器分組,從而軟件就不必關(guān)心每一種平臺上特定存儲器的類型。
以上就是iOS操作系統(tǒng)存儲器資源管理介紹,了解更多iOS操作系統(tǒng)及其開發(fā)技術(shù)可以觀看更多iOS開發(fā)課程和扣丁資訊文章。
查看更多關(guān)于“iOS資訊”的相關(guān)文章>>