多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > 互聯(lián)網(wǎng) > 操作系統(tǒng):內(nèi)存管理(概念)

操作系統(tǒng):內(nèi)存管理(概念)

來(lái)源:程序員人生   發(fā)布時(shí)間:2016-06-25 08:55:49 閱讀次數(shù):2574次

對(duì)計(jì)算機(jī)系統(tǒng)而言,操作系統(tǒng)充當(dāng)著基石的作用,它是連接計(jì)算機(jī)底層硬件與上層利用軟件的橋梁,控制其他程序的運(yùn)行,并且管理系統(tǒng)相干資源,同時(shí)提供配套的系統(tǒng)軟件支持。對(duì)專業(yè)的程序員而言,掌握1定的操作系統(tǒng)知識(shí)比不可少,由于不管面對(duì)的是底層嵌入式開(kāi)發(fā),還是上層的云計(jì)算開(kāi)發(fā),都需要使用到1定的操作系統(tǒng)相干知識(shí)。

  • 內(nèi)存管理有哪幾種方式
  • 分段和分頁(yè)的區(qū)分是甚么
  • 甚么是虛擬內(nèi)存
  • 甚么是內(nèi)存碎片甚么是內(nèi)碎片甚么是外碎片
  • 虛擬地址邏輯地址線性地址物理地址有甚么區(qū)分
  • Cache替換算法有哪些

內(nèi)存管理有哪幾種方式

常見(jiàn)的內(nèi)存管理方式有塊式管理、頁(yè)式管理、段式和段頁(yè)式管理。

(1)塊式管理:把主存分為1大塊1大塊的,當(dāng)所需的程序片斷不在主存時(shí)就分配1塊主存空間,把程序片斷l(xiāng)oad入主存,就算所需的程序片斷只有幾個(gè)字節(jié)也只能把這1塊分配給它。這樣會(huì)造成很大的浪費(fèi),平均浪費(fèi)了50%的內(nèi)存空間,但是易于管理。

(2)頁(yè)式管理:把主存分為1頁(yè)1頁(yè)的,每頁(yè)的空間要比1塊1塊的空間小很多,這類方法的空間利用率要比塊式管理高很多

(3)段式管理:把主存分為1段1段的,每段的空間又要比1頁(yè)1頁(yè)的空間小很多,這類方法在空間利用率上又比頁(yè)式管理高很多,但是也有另外1個(gè)缺點(diǎn)。1個(gè)程序片斷可能會(huì)被分為幾10段,這樣很多時(shí)間就會(huì)被浪費(fèi)在計(jì)算每段的物理地址上。

(4)段頁(yè)式管理:結(jié)合了段式管理和頁(yè)式管理的優(yōu)點(diǎn)。把主存先分成若干段,每一個(gè)段又分成若干頁(yè)。段頁(yè)式管理每取1護(hù)具,要訪問(wèn)3次內(nèi)存。

分段和分頁(yè)的區(qū)分是甚么

頁(yè)是信息的物理單位,分頁(yè)是為了實(shí)現(xiàn)離散分配方式,以消減內(nèi)存的外零頭,提高內(nèi)存的利用率;或說(shuō),分頁(yè)僅僅是由于系統(tǒng)管理的需要,而不是用戶的需要。

段是信息的邏輯單位,它含有1組其意義相對(duì)完全的信息。分段的目的是為了能更好地滿足用戶的需要。頁(yè)的大小固定且由系統(tǒng)肯定,把邏輯地址劃分為頁(yè)號(hào)和頁(yè)內(nèi)地址兩部份,是由機(jī)器硬件實(shí)現(xiàn)的,因此1個(gè)系統(tǒng)只能有1種大小的頁(yè)面。段的長(zhǎng)度卻不固定,決定于用戶所編寫的程序,通常由編譯程序在對(duì)源程序進(jìn)程編輯時(shí),根據(jù)信息的性質(zhì)來(lái)劃分。

分頁(yè)的作業(yè)地址空間是1維的,即單1的線性空間,程序員只需利用1個(gè)記憶符,便可表示1地址。分段的作業(yè)地址空間是2維的,程序員在標(biāo)識(shí)1個(gè)地址時(shí),既需給出段名,又需給出段內(nèi)地址。

甚么是虛擬內(nèi)存

虛擬內(nèi)存簡(jiǎn)稱虛存,是計(jì)算機(jī)系統(tǒng)內(nèi)存管理的1種技術(shù)。它是相對(duì)物理內(nèi)存而言的,可以理解為“假的”內(nèi)存。它使得利用程序認(rèn)為它具有連續(xù)可用的內(nèi)存(1個(gè)連續(xù)完全的地址空間),允許程序員編寫并允許比實(shí)際系統(tǒng)具有的內(nèi)存大很多的程序,這使得許多大型軟件項(xiàng)目能夠在具有有限內(nèi)存資源的系統(tǒng)上實(shí)現(xiàn)。而實(shí)際上,它通常被分割成多個(gè)物理內(nèi)存碎片,還有部份暫時(shí)存儲(chǔ)在外部磁盤存儲(chǔ)器上,在需要時(shí)進(jìn)行數(shù)據(jù)交換。虛存比實(shí)存有以下好處:

(1) 擴(kuò)大地址空間。不管段式虛存,還是頁(yè)式虛存,或是段頁(yè)式虛存,尋址空間都比實(shí)存大。

(2)內(nèi)存保護(hù)。每一個(gè)進(jìn)程運(yùn)行在各自的虛擬內(nèi)存地址空間,相互不能干擾對(duì)方。另外,虛存還對(duì)特定的內(nèi)存地址提供寫保護(hù),可以避免代碼或數(shù)據(jù)被歹意篡改

(3)公平分配內(nèi)存。采取了虛存以后,每一個(gè)進(jìn)程都相當(dāng)于有太陽(yáng)大小的虛存空間。

(4)當(dāng)進(jìn)程需要通訊時(shí),可采取虛存同享的方式實(shí)現(xiàn)。

不過(guò),使用虛存也是有代價(jià)的,主要表現(xiàn)在以下幾個(gè)方面:
(1)虛存的管理需要建立很多數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)要占用額外的內(nèi)存
(2)虛擬地址到物理地址的轉(zhuǎn)換,增加了指令的履行時(shí)間
(3)頁(yè)面的換入換出需要磁盤I/O,這是很耗時(shí)間的。
(4)如果1頁(yè)中只有1部份數(shù)據(jù),會(huì)很浪費(fèi)內(nèi)存。

甚么是內(nèi)存碎片?甚么是內(nèi)碎片?甚么是外碎片?

內(nèi)存碎片是由于屢次進(jìn)行內(nèi)存分配釀成的,當(dāng)進(jìn)行內(nèi)存分配時(shí),內(nèi)存格式1般為:(用戶使用段)(空白段)(用戶使用段),當(dāng)空白段很小的時(shí)候可能不能提供給用戶足夠需要的空間,可能夾在中間的空白段的大小為5,而用戶需要的內(nèi)存大小為6,這樣會(huì)產(chǎn)生很多的間隙造成使用效力的降落,這些很小的空隙叫碎片。

內(nèi)碎片:分配給程序的存儲(chǔ)空間沒(méi)有用完,有1部份是程序不使用,但其他程序也沒(méi)法用的空間。內(nèi)碎片是處于區(qū)域內(nèi)部或頁(yè)面內(nèi)部的存儲(chǔ)塊,占有這些區(qū)域或頁(yè)面的進(jìn)程其實(shí)不使用這個(gè)存儲(chǔ)塊,而在進(jìn)程占有這塊存儲(chǔ)塊時(shí),系統(tǒng)沒(méi)法利用它,直到進(jìn)程釋放它,或進(jìn)程結(jié)束時(shí),系統(tǒng)才有可能利用這個(gè)存儲(chǔ)塊。。

由于空間太小,小到?jīng)]法給任何程序分配(不屬于任何進(jìn)程)的存儲(chǔ)空間是外碎片。外部碎片是處于任何已分配區(qū)域或頁(yè)面外部的空閑存儲(chǔ)塊,這些存儲(chǔ)塊的綜合可以滿足當(dāng)前申請(qǐng)的長(zhǎng)度要求,但是由于它們的地址不連續(xù)或其他緣由,使得系統(tǒng)沒(méi)法滿足當(dāng)前申請(qǐng)。

內(nèi)碎片和外碎片是1對(duì)矛盾體,1種特定的內(nèi)存分配算法,很難同時(shí)解決好內(nèi)碎片和外碎片問(wèn)題,只能根據(jù)利用特點(diǎn)進(jìn)行取舍。。。

虛擬地址、邏輯地址、線性地址、物理地址有甚么區(qū)分

虛擬地址是指由程序產(chǎn)生的由段選擇符合段內(nèi)偏移地址組成的地址。這兩部份組成的地址并沒(méi)有直接訪問(wèn)物理內(nèi)存,而是要通過(guò)分段地址的變換處理后才會(huì)對(duì)應(yīng)到相應(yīng)的物理內(nèi)存地址。

邏輯地址指由程序產(chǎn)生的段內(nèi)偏移地址。有時(shí)直接把邏輯地址當(dāng)做虛擬地址,二者并沒(méi)有明確的界限。。

線性地址是指虛擬地址到物理地址變換之間的中間層,是處理器可尋址的內(nèi)存空間(稱為線性地址空間)中的地址。程序代碼會(huì)產(chǎn)生邏輯地址,或說(shuō)是段中的偏移地址,加上相應(yīng)段基址就生成了1個(gè)線性地址。如果啟用了分頁(yè)機(jī)制,那末線性地址可以再經(jīng)過(guò)變換產(chǎn)生物理地址。若沒(méi)有采取分頁(yè)機(jī)制,那末線性地址就是物理地址。

物理地址是指限制CPU外部地址總線上的尋址物理內(nèi)存的地址信號(hào),是地址變換的終究結(jié)果。

虛擬地址到物理地址的轉(zhuǎn)化方法是與體系結(jié)構(gòu)相干的,1般有分段與分頁(yè)兩種方式。以x86CPU為例,分段分頁(yè)都是支持的。內(nèi)存管理單元負(fù)責(zé)從虛擬地址到物理地址的轉(zhuǎn)化。邏輯地址是段標(biāo)識(shí)+段內(nèi)偏移量的情勢(shì),MMU(Memory Management Unit內(nèi)存管理單元)通過(guò)查詢段表,可以把邏輯地址轉(zhuǎn)化為線性地址。如果CPU沒(méi)有開(kāi)啟分頁(yè)功能,那末線性地址就是物理地址;如果CPU開(kāi)啟了分頁(yè)功能,MMU還需要查詢頁(yè)表來(lái)將線性地質(zhì)轉(zhuǎn)化為物理地址:邏輯地址(段表)-》線性地址(頁(yè)表)-》物理地址。

映照是1種多對(duì)1的關(guān)系,即不同的邏輯地址可以映照到同1個(gè)線性地址上;不同的線性地址也能夠映照到同1個(gè)物理地址上。而且,同1個(gè)線性地址在產(chǎn)生換頁(yè)以后,也可能被重新裝載到另外1個(gè)物理地址上,所以這類多對(duì)1的映照關(guān)系也會(huì)隨時(shí)間產(chǎn)生變化。。

Cache替換算法有哪些

數(shù)據(jù)可以寄存在CPU或是內(nèi)存中。CPU處理快,但是容量小;內(nèi)存容量大,但是轉(zhuǎn)交給CPU處理的速度慢。為此需要Cache(緩存)來(lái)做1個(gè)折衷。最有可能的數(shù)據(jù)先從內(nèi)存調(diào)入Cache,CPU再?gòu)腃ache讀取數(shù)據(jù),這樣會(huì)快許多。但是,Cache中所寄存的數(shù)據(jù)不是100%有用的。CPU從Cache總讀取到有用的數(shù)據(jù)稱為“命中”。

Cache替換算法有隨機(jī)算法、FIFO算法、LRU算法、LFU算法和OPT算法。

(1)隨機(jī)算法(RAND)。隨機(jī)算法就是用隨機(jī)數(shù)產(chǎn)生器產(chǎn)生1個(gè)要替換的塊號(hào),將該塊替換出去,此算法簡(jiǎn)單、易于實(shí)現(xiàn),而且它不斟酌Cache塊過(guò)去、現(xiàn)在及將來(lái)的使用情況。但是由于沒(méi)有益用上層存儲(chǔ)器使用的“歷史信息”、沒(méi)有根據(jù)訪存的局部性原理,故不能提高Cache的命中率,命中率較低。

(2)先進(jìn)先出(FIFO)算法。先進(jìn)先出(First In First Out,F(xiàn)IFO)算法是將最早進(jìn)入Cache的信息塊替換出去。FIFO算法按調(diào)入Cache的前后決定淘汰的順序,選擇最早調(diào)入Cache的字塊進(jìn)行替換,它不需要記錄各字塊的使用情況,比較容易實(shí)現(xiàn),系統(tǒng)開(kāi)消小,其缺點(diǎn)是可能會(huì)把1些需要常常使用的程序可(如循環(huán)程序)也作為最早進(jìn)入Cache的塊替換掉,而且沒(méi)有根據(jù)訪存的局部性原理,故不能提高Cache的命中率。由于最早調(diào)入的信息可能以后還要用到,或常常要用到,如循環(huán)程序。此法簡(jiǎn)單、方便,利用了主存的“歷史信息”,但其實(shí)不能說(shuō)最早進(jìn)入的就不常常使用,其缺點(diǎn)是不能正確反應(yīng)程序局部性原理,命中率不高,可能出現(xiàn)1種異常現(xiàn)象。

(3)近期最少使用(LRU)算法。近期最少使用(Least Recently Used,LRU)算法是將近期最少使用的Cache中的信息塊替換出去。該算法較先進(jìn)先出算法要好1些,但此法也不能保證過(guò)去不經(jīng)常使用將來(lái)也不經(jīng)常使用。
LRU算法是根據(jù)各塊使用的情況,總是選擇那個(gè)最近最少使用的塊被替換。這類方法雖然比較好地反應(yīng)了程序局部性規(guī)律,但是這類替換方法需要隨時(shí)記錄Cache中各塊的使用情況,以便肯定哪一個(gè)塊是近期最少使用的塊。LRU算法相對(duì)公道,但實(shí)現(xiàn)起來(lái)比較復(fù)雜,系統(tǒng)開(kāi)消較大。通常需要對(duì)每塊設(shè)置1個(gè)稱為計(jì)數(shù)器的硬件或軟件模塊,用以記錄其被使用的情況。

實(shí)現(xiàn)LRU策略的方法有很多種。簡(jiǎn)單介紹計(jì)數(shù)器法、寄存器棧法及硬件邏輯比較對(duì)法的設(shè)計(jì)思路。

計(jì)數(shù)器法:緩存的每塊都設(shè)置1個(gè)計(jì)數(shù)器。計(jì)數(shù)器的操作規(guī)則以下:

  • 被調(diào)入或被替換的塊,其計(jì)數(shù)器清0,而其他的計(jì)數(shù)器則加1
  • 當(dāng)訪問(wèn)命中時(shí),所有塊的計(jì)數(shù)值與命中塊的計(jì)數(shù)值要進(jìn)行比較,如果計(jì)數(shù)值小于命中塊的計(jì)數(shù)值,則該塊的計(jì)數(shù)值加”1”;如果塊的計(jì)數(shù)值大于命中塊的計(jì)數(shù)值,則數(shù)值不變。最后將命中塊的計(jì)數(shù)器清為“0”
  • 需要替換時(shí),則選擇計(jì)數(shù)值最大的塊被替換。

(4)最優(yōu)替換算法(OPT算法)。使用最優(yōu)替換算法(OPTimal replacement Algorithm)時(shí)必須先履行1次程序,統(tǒng)計(jì)Cache的替換情況。有了這樣的先驗(yàn)信息,在第2次履行該程序時(shí)即可以用最有效的方式來(lái)替換,以到達(dá)最優(yōu)的目的。

前面介紹的幾種頁(yè)面替換算法主要是以主存儲(chǔ)器中頁(yè)面調(diào)度情況的歷史信息為根據(jù)的,它假定將來(lái)主存儲(chǔ)器中的頁(yè)面調(diào)度情況與過(guò)去1段時(shí)間內(nèi)主存儲(chǔ)器中的頁(yè)面調(diào)度情況是相同的,明顯,這類假定不總是正確的。最好的算法應(yīng)當(dāng)是選擇將來(lái)最久不被訪問(wèn)的頁(yè)面作為被替換的頁(yè)面,這類替換算法的命中率1定是最高的,它就是最優(yōu)替換算法。

要實(shí)現(xiàn)OPT算法,唯1的辦法是讓程序先履行1遍,記錄下實(shí)際的頁(yè)地址流情況。根據(jù)這個(gè)頁(yè)地址流才能找出當(dāng)前要被替換的頁(yè)面。明顯,這樣做是不現(xiàn)實(shí)的。因此,OPT算法只是1種理想化的算法,但是它也是1種很有用的算法。實(shí)際上,常常把這類算法用來(lái)作為評(píng)價(jià)其他頁(yè)面替換算法好壞的標(biāo)準(zhǔn)。在其他條件相同的情況下,哪種頁(yè)面替換算法的命中率與OPT算法最接近,那末它就是1種比較好的頁(yè)面替換算法。

(5)最少使用算法(LFU算法 Least Frequently Used Algorithm)。選擇最少訪問(wèn)的頁(yè)面作為被替換的頁(yè)面。明顯,這是1種公道的算法,由于到目前為止最少使用的頁(yè)面,極可能是將來(lái)最少訪問(wèn)的頁(yè)面。該算法既充分利用了主存中頁(yè)面調(diào)度情況的歷史信息,又正確反應(yīng)了程序的局部性。但是,這類算法實(shí)現(xiàn)起來(lái)非常困難,它要為每一個(gè)頁(yè)面設(shè)置1個(gè)很長(zhǎng)的計(jì)數(shù)器,并且要選擇1個(gè)固定的時(shí)鐘為每一個(gè)計(jì)數(shù)器定時(shí)計(jì)數(shù)。在選擇被替換頁(yè)面時(shí),要從所有計(jì)數(shù)器中找出1個(gè)計(jì)數(shù)器值最大的計(jì)數(shù)器。

生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久久影院亚洲精品 | 欧美日韩一二三四区 | 九九精品免费观看在线 | 痴汉系列aⅴ | 国产色在线 | 亚洲 国产色综合久久无码有码 国产色综合一区二区三区 国产上床视频 | 欧美孕交videosfree巨大 | 香蕉在线精品视频在线观看2 | 国产日韩精品欧美一区视频 | 1024在线视频国产在线播放 | 亚洲欧美日产综合在线看 | 校园春色国产 | 国产精品久久久久国产精品三级 | 69免费视频大片 | 亚洲精品国产自在久久老牛 | 免费看成人国产一区二区三区 | 国产国语在线播放视频 | 国产福利一区二区三区 | 欧美日韩国产一区 | 国内精品一区视频在线播放 | 中文字幕一区二区三区乱码 | 亚洲精品日本一区 | 亚洲情a成黄在线观看动 | 手机视频在线观看 | 成人特级毛片 | 国产精品美乳免费看 | 91日韩在线| 亚洲国产日韩欧美 | a免费视频| 亚洲国产日韩欧美综合久久 | 日本 欧美 在线 | 在线成人免费观看国产精品 | 嫩草影院久久国产精品 | 欧美成人国产 | 伦伦影院精品一区 | 日韩爱爱网站 | 韩国在线影院 | 国产成人精品一区二三区在线观看 | 母狗求操 | 亚洲精品不卡久久久久久 | 欧洲爱爱 | 毛片机地 |