




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)二 主存儲(chǔ)器空間的分配和回收1、 實(shí)驗(yàn)題目模擬在分頁(yè)式管理方式下采用位示圖來(lái)表示主存分配情況,實(shí)現(xiàn)主存空間的分配和回收。 提示: (1)、 分頁(yè)式存儲(chǔ)器把主存分成大小相等的若干塊,作業(yè)的信息也按塊的大小分頁(yè),作業(yè)裝入主存時(shí)可把作業(yè)的信息按頁(yè)分散存放在主存的空閑塊中,為了說(shuō)明主存中哪些塊已經(jīng)被占用,哪些塊是尚未分配的空閑塊,可用一張位示圖來(lái)指出。位示圖可由若干存儲(chǔ)單元來(lái)構(gòu)成,其中每一位與一個(gè)物理塊對(duì)應(yīng),用0/1表示對(duì)應(yīng)塊為空閑/已占用。(2)、假設(shè)某系統(tǒng)的主存被分成大小相等的64塊,則位示圖可用8個(gè)字節(jié)來(lái)構(gòu)成,另用一單元記錄當(dāng)前空閑塊數(shù)。如果已有第0,1,4,5,6,9,11,13,24,3
2、1,共10個(gè)主存塊被占用了,那么位示圖情況如下:字 位 節(jié) 數(shù) 號(hào)01234567 011001110 101010100 200000000 310000001 400000000 500000000 600000000 700000000(3)、當(dāng)要裝入一個(gè)作業(yè)時(shí),根據(jù)作業(yè)對(duì)主存的需要量,先查當(dāng)前空閑塊數(shù)是否能滿足作業(yè)要求,若不能滿足則輸出分配不成功。若能滿足,則查位示圖,找出為“0”的一些位,置上占用標(biāo)志“1”,從“當(dāng)前空閑塊數(shù)”中減去本次占用塊數(shù)。按找到的計(jì)算出對(duì)應(yīng)的塊號(hào),其計(jì)算公式為: 塊號(hào)= j´8+i其中,j表示找到的是第n個(gè)字節(jié),I表示對(duì)應(yīng)的是第n位。根據(jù)分配給作業(yè)的
3、塊號(hào),為作業(yè)建立一張頁(yè)表,頁(yè)表格式:頁(yè) 號(hào)塊 號(hào)012MM(4) 、當(dāng)一個(gè)作業(yè)執(zhí)行結(jié)束,歸還主存時(shí),根據(jù)該作業(yè)的頁(yè)表可以知道應(yīng)歸還的塊號(hào),由塊號(hào)可計(jì)算出在位示圖中的對(duì)應(yīng)位置,把對(duì)應(yīng)位的占用標(biāo)志清成“0”,表示對(duì)應(yīng)的塊已成為空閑塊。歸還的塊數(shù)加入到當(dāng)前空閑塊數(shù)中。由塊號(hào)計(jì)算在位示圖中的位置的公式如下:字節(jié)號(hào) j=塊號(hào)/8 ( 表示取整)位數(shù) i=塊號(hào)/8 ( 表示取余)(5) 設(shè)計(jì)實(shí)現(xiàn)主存分配和回收的程序。假定位示圖的初始狀態(tài)如(2)所述,現(xiàn)有一信息量為5頁(yè)的作業(yè)要裝入,運(yùn)行你所設(shè)計(jì)的分配程序,為作業(yè)分配主存且建立頁(yè)表(格式如(3)所述)。然后假定有另一作業(yè)執(zhí)行結(jié)束,它占用的塊號(hào)為第4,5,6和
4、31塊,運(yùn)行你所設(shè)計(jì)的回收程序,收回作業(yè)歸還的主存塊。要求能顯示和打印分配或回收前后的位示圖和當(dāng)前空閑塊數(shù),對(duì)完成一次分配后還要顯示或打印為作業(yè)建立的頁(yè)表。2、 程序中使用的數(shù)據(jù)結(jié)構(gòu)及符號(hào)說(shuō)明1、數(shù)據(jù)結(jié)構(gòu):本程序中使用的是:一維數(shù)組和二維數(shù)組2、函數(shù)說(shuō)明:void menu():顯示菜單選項(xiàng)huawei():調(diào)用menu()函數(shù)顯示菜單,并且根據(jù)允許輸入調(diào)用相應(yīng)函數(shù),執(zhí)行操作。void Initvalue():根據(jù)輸入開辟相應(yīng)的塊號(hào)空間,并且按照題目要求初始化已占用塊號(hào)void kongxiankuai():將空閑塊號(hào)保存在kuai數(shù)組中,并記錄數(shù)組中元素個(gè)數(shù)void printkongxia
5、nkuaishu():打印空閑塊號(hào)void caozuo():根據(jù)作業(yè)所需塊數(shù)修改位示圖void yebiao():打印頁(yè)表void weishitu():打印位示圖void guihuan():按照需要釋放內(nèi)存3、 流程圖huawei()Main函數(shù) Initvalue()weishitu()yebiao()kongxiankuai()caozuo()kongxiankuai()guihuan()printkongxiankuaishu()exit(0)4、 打印一份源程序并附上注釋Cpp文件:#include<stdio.h>#include<string.h>#i
6、nclude<malloc.h>#include"stdlib.h"#include"lin1402.h"int main()huawei();return 0;頭文件:int *table;int m,n;int b=0;int *kuai;int changdu10;int k;int v=0;int kuaihao1064;/*根據(jù)輸入開辟相應(yīng)的塊號(hào)空間,并且按照題目要求初始化已占用塊號(hào)*/void Initvalue() int i,j;printf("請(qǐng)輸入被分成主存塊的總字節(jié)數(shù)和位數(shù):");scanf(&quo
7、t;%d",&n);scanf("%d",&m);table=(int *)malloc(sizeof(int)*n);/使用指針動(dòng)態(tài)建立一個(gè)位視圖的數(shù)組for(i=0;i<n;i+)tablei=(int *)malloc(sizeof(int)*m);kuai=(int *)malloc(sizeof(int)*(m*n);for(i=0;i<n;i+)for(j=0;j<m;j+)tableij=0;table00=1,table01=1,table04=1,table05=1,table06=1;table11=1,tab
8、le13=1,table15=1,table30=1,table37=1;/按照題目要求把第0 1 4 5 6 9 11 13 24 31塊置為占用/*將空閑塊號(hào)保存在kuai數(shù)組中,并記錄數(shù)組中元素個(gè)數(shù)*/void kongxiankuai()int i,j,sum=0;k=0;for(i=0;i<n;i+)for(j=0;j<m;j+)if(tableij=0)kuaik=i*8+j;k+; /記錄空閑塊數(shù)/* 打印空閑塊號(hào)*/void printkongxiankuaishu()int i;printf("當(dāng)前空閑的塊數(shù):n");for(i=0;i<
9、k;i+)printf("%d ",kuaii);printf("n");void caozuo()/作業(yè)所需的塊數(shù)int need;int i,j,g=0;printf("請(qǐng)輸入進(jìn)程的所需塊數(shù)");scanf("%d",&need);if(need>(64-k))printf("內(nèi)存不足。n");goto begin1;while(need!=0)for(i=0;i<n;i+)for(j=0;j<m;j+)if(tableij=0&&need!=0)/
10、作業(yè)分配存儲(chǔ)tableij=1;kuaihaovg=i*8+j; /保存作業(yè)塊號(hào)g+;need=need-1;changduv=g;v+;begin1:kongxiankuai();void yebiao()/打印頁(yè)表int i,j;printf("打印頁(yè)表n");for(j=0;j<v;j+)printf("頁(yè)號(hào) 塊號(hào)n"); for(i=0;i<changduj;i+) printf("%d %dn",i,kuaihaoji);void weishitu()/打印位示圖int i,j;printf("打印位示
11、圖n");printf(" ");for(i=0;i<n;i+)printf("%3d",i); printf("n");for(i=0;i<n;i+)printf("%3d",i);for(j=0;j<m;j+)printf("%3d",tableij);printf("n");void guihuan() /按照需要釋放內(nèi)存int i,q,p,j; /p表示數(shù)組長(zhǎng)度printf("請(qǐng)輸入歸還的進(jìn)程號(hào):");scanf(&qu
12、ot;%d",&p);for(q=0;q<changdup-1;q+)i=kuaihaopq/8;j=kuaihaopq%8;tableij=0;/找到對(duì)應(yīng)得位置,然后置為0;kongxiankuai();void menu()/顯示操作列表printf("存儲(chǔ)器管理:n");printf("1.初始化n");printf("2.打印位視圖n");printf("3.打印頁(yè)表n");printf("4.進(jìn)程操作n");printf("5.歸還n");printf("6.打印空閑塊號(hào)n");printf("7.退出n");void huawei()/根據(jù)輸入執(zhí)行相應(yīng)操作begin:menu();/輸出菜單列表 int q;scanf("%d",&q);switch(q)case 1:Initvalue();goto begin;break;case 2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小型企業(yè)辦公室管理辦法
- 淮南市交通工程管理辦法
- 重慶戶外攀巖管理辦法
- 等級(jí)公路大中修管理辦法
- 浙江省嘉興市南湖區(qū)第一中學(xué)2025屆高一物理第二學(xué)期期末經(jīng)典模擬試題含解析
- 福建省漳州市重點(diǎn)初中2025年物理高一第二學(xué)期期末調(diào)研試題含解析
- 2025年福建省永春一中、培元、季延、石光中學(xué)四校物理高二第二學(xué)期期末綜合測(cè)試模擬試題含解析
- 2025年深圳市育才中學(xué)物理高二下期末經(jīng)典試題含解析
- 員工崗位安全管理制度
- 江干區(qū)財(cái)務(wù)機(jī)構(gòu)管理辦法
- 云南經(jīng)濟(jì)管理學(xué)院就業(yè)協(xié)議書
- 2025年全球及中國(guó)智能艾灸服務(wù)機(jī)器人行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 九年級(jí)全一冊(cè)英語(yǔ)單詞默寫表(人教版)
- DB50T 990-2020 地質(zhì)災(zāi)害治理工程施工質(zhì)量驗(yàn)收規(guī)范
- 《鐵路電力線路運(yùn)行與檢修》課件 第五章 電力線路運(yùn)行與維護(hù)
- 2024年交通基礎(chǔ)設(shè)施行業(yè)信用回顧與2025年展望
- 10kV油浸式變壓器技術(shù)規(guī)范書-通 用部分
- 專題1 重要詞匯復(fù)習(xí)及專練-2022-2023學(xué)年七年級(jí)英語(yǔ)上學(xué)期期末考點(diǎn)大串講(人教版)(試題版)
- 【物 理】2024-2025學(xué)年八年級(jí)上冊(cè)物理寒假作業(yè)人教版
- 上海市2025年中考模擬初三英語(yǔ)試卷試題及答案
- 醫(yī)學(xué)教材 醫(yī)藥市場(chǎng)營(yíng)銷學(xué)(陳玉文主編-人衛(wèi)社)0醫(yī)藥產(chǎn)品價(jià)格與價(jià)格策略
評(píng)論
0/150
提交評(píng)論