




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)華軟軟件工程系
基礎(chǔ)課程第十次小課存儲(chǔ)管理華軟軟件工程系
主要章節(jié)內(nèi)存管理實(shí)驗(yàn)課主要內(nèi)容本周大課內(nèi)容回顧理解操作系統(tǒng)對(duì)內(nèi)存的管理通過實(shí)驗(yàn)掌握Linux系統(tǒng)中動(dòng)態(tài)申請(qǐng)內(nèi)存的方法主要內(nèi)容第一部分本周大課內(nèi)容回顧
內(nèi)存管理動(dòng)態(tài)申請(qǐng)內(nèi)存主要內(nèi)容大課內(nèi)容回顧空閑區(qū)的分配算法有哪三種?基本思想呢?計(jì)算機(jī)系統(tǒng)所能運(yùn)行的程序其虛擬地址空間的大小受什么限制?字長16位CPU提供的16位地址寄存器其虛擬地址空間是多大?在存儲(chǔ)管理中,采用覆蓋與交換技術(shù)的目的是什么?實(shí)現(xiàn)虛擬內(nèi)存內(nèi)存管理相關(guān)系統(tǒng)調(diào)用void*malloc(intsize);動(dòng)態(tài)申請(qǐng)內(nèi)存int*p,p1;p=(int*)malloc(sizeof(int));voidfree(void*block);釋放由malloc申請(qǐng)的內(nèi)存
free(p);externvoid*realloc(void*mem_address,unsignedintnewsize);重新申請(qǐng)內(nèi)存p1=(int*)realloc(p,sizeof(int)*10);void*alloca(intlen);半自動(dòng)分配內(nèi)存p=(int*)alloca(sizeof(int)*10);內(nèi)存管理基本概念下面是C語言可執(zhí)行程序的基本情況代碼區(qū)靜態(tài)數(shù)據(jù)/全局初始化數(shù)據(jù)區(qū)未初始化數(shù)據(jù)區(qū)內(nèi)存管理基本概念(2)代碼區(qū)(textsegment):存放CPU執(zhí)行的機(jī)器指令,包括操作碼和操作數(shù),可共享、通常只讀。全局初始化數(shù)據(jù)區(qū)/靜態(tài)數(shù)據(jù)區(qū)(data):包含明確被初始化的全局變量、靜態(tài)變量和常量數(shù)據(jù)。只初始化一次。未初始化數(shù)據(jù)區(qū)(BSS):存入的是全局未初始化變量。在運(yùn)行時(shí)改變其值。C程序的內(nèi)存布局可執(zhí)行代碼(代碼區(qū))已初始化全局變量、靜態(tài)變量和常量數(shù)據(jù)(數(shù)據(jù)區(qū))未初始化全局變量(BSS,用零初始化)堆區(qū)(向上增長)棧區(qū)(向下增長)低地址運(yùn)行時(shí)的5個(gè)區(qū)域高地址用于動(dòng)態(tài)分配內(nèi)存由編譯器自動(dòng)分配,存放函數(shù)的參數(shù)值、局部變量的值。簡(jiǎn)單示例inta=0;//a在全局已初始化數(shù)據(jù)區(qū)char*p1;//p1在BSS區(qū)(未初始化全局變量)main(){intb;//b在棧區(qū)chars[]=“abc”;//s為數(shù)組變量,在棧區(qū)//”abc”為字符串常量,在已初始化數(shù)據(jù)區(qū)char*p1,p2;//p1,p2在棧區(qū)staticintc=0;//c為全局靜態(tài)數(shù)據(jù),在已初始化數(shù)據(jù)區(qū)p1=(char*)malloc(10);//分配得來的10個(gè)字節(jié)在堆區(qū)p2=(char*)malloc(20);//分配得來的20個(gè)字節(jié)在堆區(qū)free(p1);free(p2);}Linux內(nèi)存查看命令free(補(bǔ)充)功能說明:顯示內(nèi)存狀態(tài)。
語法:free[-bkmotV][-s]
補(bǔ)充說明:free指令會(huì)顯示內(nèi)存的使用情況,包括實(shí)體內(nèi)存,虛擬的交換文件內(nèi)存,共享內(nèi)存區(qū)段,以及系統(tǒng)核心使用的緩沖區(qū)等。
參數(shù):
-b以Byte為單位顯示內(nèi)存使用情況。
-k以KB為單位顯示內(nèi)存使用情況。
-m以MB為單位顯示內(nèi)存使用情況。
-o不顯示緩沖區(qū)調(diào)節(jié)列。
-s持續(xù)觀察內(nèi)存使用狀況。
-t顯示內(nèi)存總和列。
-V顯示版本信息。也可以用vmstat命令查看內(nèi)存情況也可以用cat/proc/meminfo查看第二部分動(dòng)態(tài)申請(qǐng)內(nèi)存實(shí)驗(yàn)
內(nèi)存管理動(dòng)態(tài)申請(qǐng)內(nèi)存主要內(nèi)容實(shí)驗(yàn)11.某虛擬存儲(chǔ)器的用戶編程空間共4KB,分頁管理系統(tǒng)中的頁長度為1KB。假定該用戶頁表分配內(nèi)存后的頁面的頁號(hào)和物理塊號(hào)的對(duì)照表如下:頁號(hào)物理 塊號(hào)0 21 52 13 8則邏輯地址3500所對(duì)應(yīng)的物理地址是什么?物理地址=塊起始地址+頁內(nèi)位移W實(shí)驗(yàn)2在一個(gè)采用頁式虛擬存儲(chǔ)管理的系統(tǒng)中,若進(jìn)程在內(nèi)存中占3塊(開始為空),它依次要訪問的頁面序列是:6、5、4、3、2、1、5、1、5、2、1、2、1、2、1、6、5,若按先進(jìn)先出算法(FIFO)和最近最少使用調(diào)度算法(LRU)分別將產(chǎn)生多少次缺頁中斷?什么是缺頁中斷?
缺頁中斷就是要訪問的頁不在主存,需要操作系統(tǒng)將其調(diào)入主存后再進(jìn)行訪問。實(shí)驗(yàn)3申請(qǐng)、使用、釋放內(nèi)存申請(qǐng)一塊大小為10的內(nèi)存,存放”123456789”,輸出字符串及存放地址。改造:
1.調(diào)整內(nèi)存大小為20,存放”9876543210”,輸出字符串及存放地址。2.采用半自動(dòng)方式分配內(nèi)存。
目的:理解內(nèi)存的申請(qǐng)、使用、調(diào)整內(nèi)存尺寸、釋放相關(guān)的系統(tǒng)調(diào)用申請(qǐng)一塊大小為10的內(nèi)存,存放”123456789”,輸出字符串及存放地址。調(diào)整內(nèi)存大小為20,存放”9876543210”,輸出字符串及存放地址采用半自動(dòng)方式分配內(nèi)存課后作業(yè)設(shè)某時(shí)刻系統(tǒng)中有3個(gè)空閑區(qū),其大小和首地址分別為(35KB,100KB),(12KB,156KB),(28KB,200KB),作業(yè)序列及其內(nèi)存請(qǐng)求分別為(JOB1,20KB),(JOB2,15KB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 借用鐵路用地合同范本
- 2025年淮安b2考貨運(yùn)資格證要多久
- 別墅電梯銷售合同范本
- 上海退休人員返聘合同范本
- 買賣產(chǎn)品合作合同范本
- 轉(zhuǎn)化單位規(guī)則
- 加盟產(chǎn)品經(jīng)銷合同范本
- 化肥試驗(yàn)合同范本
- 北京合伙創(chuàng)業(yè)合同范本
- 個(gè)人合作股合同范本
- 2025年供應(yīng)鏈管理公司合作項(xiàng)目協(xié)議書
- 2025年度度假村景觀設(shè)計(jì)及施工一體化合同
- 2025年山東化工職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫含答案解析
- 《如何規(guī)劃養(yǎng)禽場(chǎng)》課件
- 2024-2025學(xué)年云南省昆明市盤龍區(qū)三年級(jí)(上)期末數(shù)學(xué)試卷(含答案)
- 物業(yè)公司行政人事部職責(zé)
- 醫(yī)療健康行業(yè)保密免責(zé)協(xié)議書
- 《設(shè)計(jì)思維與方法》課件
- 第一課走進(jìn)人工智能 說課稿 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)八年級(jí)下冊(cè)
- 健身行業(yè)會(huì)員權(quán)益保障及免責(zé)條款協(xié)議
- 體檢中心前臺(tái)接待流程
評(píng)論
0/150
提交評(píng)論