freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第10章目標(biāo)程序運(yùn)行時(shí)的組織-資料下載頁

2025-03-09 12:05本頁面
  

【正文】 慮下列因素:用戶的要求;請求分配量的大小分布;分配和釋放的頻率以及效率對系統(tǒng)的重要等等。 ( 1) 首次滿足法:只要在空閑塊鏈表中找到滿足需要的一塊 ,就進(jìn)行分配 。 ( 2) 最優(yōu)滿足法:將空閑塊鏈表中一個(gè)不小于申請塊且最接近于申請塊的空閑塊分配給用戶 , 則系統(tǒng)在分配前首先要對空閑塊鏈表從頭至尾描一遍 , 然后從中找出一塊 , 為避免每次分配都要掃描整個(gè)鏈表 , 通常將空閑塊鏈表空間的大小從小到大排序 。 ( 3) 最差滿足法:將空閑塊表中不小于申請塊且是最大的空閑的一部全分配給用戶 。 此時(shí)的空閑塊鏈表按空閑的塊的大小從大到小排序 。 只需從鏈表中刪除第一個(gè)結(jié)點(diǎn) , 并將其中一部分分配給用戶 , 而其它部分作為一個(gè)新的結(jié)點(diǎn)插入到空閑塊表的適當(dāng)置上去 。 減少碎片的技術(shù) 1分配時(shí),找最小的足夠大的塊 需保持空閑塊的大小排序。 2 釋放時(shí),合并任何相鄰的塊 搜索全部空閑塊表,或其它算法。 3 將堆變量緊縮在一起。 空間的釋放 1顯式釋放。 2隱式(自動(dòng))釋放。 顯式釋放 程序設(shè)計(jì)語言提供機(jī)制 如: pascal 的 dispose C 的 free 程序員必須編寫分配和釋放存儲(chǔ)的明確的調(diào)用。 注意的問題: 1 堆變量是不可訪問的(垃圾); 2 懸掛(不安全)指針。 堆式分配和釋放的 C語言描述 define NULL 0 define MEMSIZE 8096 /* change for different sizes */ typedef fdouble Align。 typedef union header {struct {union header *next。 unsigned usedsize。 unsigned freesize。 }s。 Align a。 }Header。//數(shù)據(jù)類型 Header保存每個(gè)存儲(chǔ)塊的簿記信息 static Header mem [MEMSIZE]。 static Header *memptr= NULL。 void *malloc (unsigned nbytes) {Header *p, *newp。 unsigned nunits。 nunits= (nbytes+sizeof (Header)1/ sizeof (Header)+1。 if (memptr == NULL) {memptrs. next = memptr = mem。 memptrs. usedsize = 1。 memptrs. freesize = MEMSIZE1。 } for (p=memptr。 (ps. next!= memptr) (ps. freesize nunits)。 p=ps. next)。 if (ps. freesize nunits) return NULL。 /* no block big enough */ newp = p+ps. usedsize。 newps. usedsize= nunits。 newps. freesize = ps. freesizenunits。 newp = ps. next。 ps. freesize=0。 ps. next= newp。 memptr=newp。 return (void *)(newp+1)。 } void free (void *ap) {Header * bp, *p, *prev。 bp= (Header *) ap –1。 for (prev= memptr, p=memptrs. next。 (p!=bp) (p!= memptr)。 prev=p, p=ps. next)。 if (p!=bp) return。 /* corrupted list, do nothing */ prevs. freesize += ps. usedsize + ps. freesize。 prevs. next = ps. next。 memptr = prev。 } 堆的自動(dòng)管理 隱式存儲(chǔ)回收 在一種需要完全動(dòng)態(tài)的運(yùn)行時(shí)環(huán)境的語言 (OO語言 , 函數(shù)式語言 Lisp,ML)中 , 堆也必須類似地自動(dòng)管理 。 自動(dòng)存儲(chǔ)器管理涉及到了前面分配的但不再使用的存儲(chǔ)器的回收 , 可能是在它被分配的很久以后 , 而沒有明確的對 free的調(diào)用 。 這個(gè)過程稱作垃圾回收 ( garbage collection) 。 垃圾回收 垃圾回收程序 尋找可被引用的所有存儲(chǔ)器并釋所有未引用的存儲(chǔ)器。 在存儲(chǔ)塊不再引用時(shí),無論是直接還是通過指針間接的引用,識(shí)別這些存儲(chǔ)塊是一項(xiàng)比維護(hù)堆存儲(chǔ) 的列表復(fù)雜得多的任務(wù)。 方法 對 malloc的調(diào)用失敗,激活垃圾回收程序 垃圾回收算法 mark and sweep 隱式存儲(chǔ)回收 — mark and sweep算法 隱式存儲(chǔ)回收要求用戶程序和支持運(yùn)行的回收子程序并行工作,因?yàn)榛厥粘绦蛐枰婪峙浣o用戶程序的存儲(chǔ)塊何時(shí)不再使用。為了實(shí)現(xiàn)并行工作,在存儲(chǔ)塊中要設(shè)置回收子程序訪問的信息。 存儲(chǔ)塊格式: 塊長度 訪問計(jì)數(shù)標(biāo)記 指針 用戶使用空間 回收過程 分為兩個(gè)階段 。 ( 1) 第一個(gè)階段為標(biāo)記階段 , 對已分配的塊跟蹤程序中各指針的訪問路徑 。 如果某個(gè)塊被訪問過 , 就給這個(gè)塊加一個(gè)標(biāo)記 。 ( 2) 第二個(gè)階段為回收階段 , 所有未加標(biāo)記的存儲(chǔ)塊回收到一起 , 并插入空閑塊鏈表中 , 然后消除在存儲(chǔ)塊中所加的全部標(biāo)記 。 面向?qū)ο蟮恼Z言中的動(dòng)態(tài)存儲(chǔ)器 面向?qū)ο蟮恼Z言在運(yùn)行時(shí)環(huán)境中要求特殊的機(jī)制以完成其增添的特性:對象 、 方法 、繼承以及動(dòng)態(tài)聯(lián)編 。 面向?qū)ο笳Z言在對運(yùn)行時(shí)方面的要求差異很大 。 Smalltalk要求與 LISP相似的完全動(dòng)態(tài)環(huán)境 C++則保持 C的基于棧的環(huán)境 。 實(shí)現(xiàn)對象 實(shí)現(xiàn)對象的一個(gè)簡單機(jī)制是,初始化代碼將所有當(dāng)前的繼承特征(和方法)直接地復(fù)制到記錄結(jié)構(gòu)中(將方法當(dāng)作代碼指針)。但這樣做極浪費(fèi)空間。 另外一種方法是在執(zhí)行時(shí)將類結(jié)構(gòu)的一個(gè)完整的描述保存在每個(gè)點(diǎn)的存儲(chǔ)器中,并由超類指針維護(hù)繼承性(有時(shí)這也稱作繼承圖(inheritance graph))。接著同用于它的實(shí)例變量的域一起,每個(gè)對象保持一個(gè)指向其定義類的指針,通過這個(gè)類就可找到所有(局部和繼承的)的方法。此時(shí),只記錄一次方法指針(在類結(jié)構(gòu)中),而且對于每個(gè)對象并不將其復(fù)制到存儲(chǔ)器中。由于是通過類繼承的搜索來找到這個(gè)機(jī)制的,所以該機(jī)制還實(shí)現(xiàn)繼承性與動(dòng)態(tài)聯(lián)編。其缺 在于:雖然實(shí)例變量具有可預(yù)測的偏移量(正如在標(biāo)準(zhǔn)環(huán)境中的局部變量一樣),方法卻沒有,而且它們必須由帶有查詢功能的符號表結(jié)構(gòu)中的名字維護(hù)。這是對于諸如 Smalltalk的高度動(dòng)態(tài)語言的合理的結(jié)構(gòu),因?yàn)轭惤Y(jié)構(gòu)可以在執(zhí)行中改變。 C++中選擇的方法 將整個(gè)類結(jié)構(gòu)保存在環(huán)境中 , 計(jì)算出每個(gè)類的可用方法的代碼指針列表 , 并將其作為一個(gè)虛擬函數(shù)表 ( virtual function table) 而存放在( 靜態(tài) ) 存儲(chǔ)器 。 它的優(yōu)點(diǎn)在于:可做出安排以使每個(gè)方法都有一個(gè)可預(yù)測的偏移量 ,而且也不再需要用一系列表查詢遍歷類的層次結(jié)構(gòu) 。 現(xiàn)在每個(gè)對象都包括了一個(gè)指向相應(yīng)的虛擬函數(shù)表而不是類結(jié)構(gòu)的指針 ( 當(dāng)然, 這個(gè)指針的位置必須也有可預(yù)測的偏移量) 。 例 C++類聲明: class A {public: double x,y。 void f()。 virtual void g()。 }。 class B:public A {public: double z。 void f()。 virtual void h()。 }。 類 A的一個(gè)對象應(yīng)出現(xiàn)在存儲(chǔ)器中 ( 帶有它的虛擬函數(shù)表 ) 而類 B的一個(gè)對象則應(yīng)如下所示: x y vtp A::g B::h A::g X Y vtp z ? 靜夜四無鄰,荒居舊業(yè)貧。 , March 28, 2023 ? 雨中黃葉樹,燈下白頭人。 11:11:3911:11:3911:113/28/2023 11:11:39 AM ? 1以我獨(dú)沈久,愧君相見頻。 :11:3911:11Mar2328Mar23 ? 1故人江海別,幾度隔山川。 11:11:3911:11:3911:11Tuesday, March 28, 2023 ? 1乍見翻疑夢,相悲各問年。 :11:3911:11:39March 28, 2023 ? 1他鄉(xiāng)生白發(fā),舊國見青山。 2023年 3月 28日星期二 上午 11時(shí) 11分 39秒 11:11: ? 1比不了得就不比,得不到的就不要。 。 2023年 3月 上午 11時(shí) 11分 :11March 28, 2023 ? 1行動(dòng)出成果,工作出財(cái)富。 2023年 3月 28日星期二 11時(shí) 11分 39秒 11:11:3928 March 2023 ? 1做前,能夠環(huán)視四周;做時(shí),你只能或者最好沿著以腳為起點(diǎn)的射線向前。 上午 11時(shí) 11分 39秒 上午 11時(shí) 11分 11:11: ? 沒有失敗,只有暫時(shí)停止成功!。 , March 28, 2023 ? 很多事情努力了未必有結(jié)果,但是不努力卻什么改變也沒有。 11:11:3911:11:3911:113/28/2023 11:11:39 AM ? 1成功就是日復(fù)一日那一點(diǎn)點(diǎn)小小努力的積累。 :11:3911:11Mar2328Mar23 ? 1世間成事,不求其絕對圓滿,留一份不足,可得無限完美。 11:11:3911:11:3911:11Tuesday, March 28, 2023 ? 1不知香積寺,數(shù)里入云峰。 :11:3911:11:39March 28, 2023 ? 1意志堅(jiān)強(qiáng)的人能把世界放在手中像泥塊一樣任意揉捏。 2023年 3月 28日星期二 上午 11時(shí) 11分 39秒 11:11: ? 1楚塞三湘接,荊門九派通。 。 2023年 3月 上午 11時(shí) 11分 :11March 28, 2023 ? 1少年十五二十時(shí),步行奪得胡馬騎。 2023年 3月 28日星期二 11時(shí) 11分 39秒 11:11:3928 March 2023 ? 1空山新雨后,天氣晚來秋。 上午 11時(shí) 11分 39秒 上午 11時(shí) 11分 11:11: ? 楊柳散和風(fēng),青山澹吾慮。 , March 28, 2023 ? 閱讀一切好書如同和過去最杰出的人談話。 11:11:3911:11:3911:113/28/2023 11:11:39 AM ? 1越是沒有本領(lǐng)的就越加自命不凡。 :11:3911:11Mar2328Mar23 ? 1越是無能的人,越喜歡挑剔別人的錯(cuò)兒。 11:11:3911:11:3911:11Tuesday, March 28, 2023 ? 1知人者智,自知者明。勝人者有力,自勝者強(qiáng)。 :11:3911:11:39March 28, 2023 ? 1意志堅(jiān)強(qiáng)的人能把世界放在手中像泥塊一樣任意揉捏。 2023年 3月 28日星期二 上午 11時(shí) 11分 39秒 11:11: ? 1最具挑戰(zhàn)性的挑戰(zhàn)莫過于提升自我。 2023年 3月 上午 11時(shí) 11分 :11March 28, 2023 ? 1業(yè)余生活要有意義,不要越軌。 2023年 3月 28日星期二 11時(shí) 11分 39秒 11:11:3928 March 2023 ? 1一個(gè)人即使已登上頂峰,也仍要自強(qiáng)不息。 上午 11時(shí) 11分 39秒 上午 11時(shí) 11分 11:11: MOMODA POWERPOINT Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce id urna blandit, eleifend nulla ac, fringilla purus. Nulla iaculis tempor felis ut cursus. 感 謝 您 的 下 載 觀 看 專家告訴
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1