xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 2KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-26
  • 語(yǔ)言: 其他
  • 標(biāo)簽: fasd??

資源簡(jiǎn)介

編程演示三種存儲(chǔ)管理方式的地址換算過程:1、分頁(yè)方式的地址換算2、分段方式的地址換算3、段頁(yè)式的地址換算

資源截圖

代碼片段和文件信息

#include???
#include?

int?page(int?Aint?L?);
int?Segment(int?snint?sl);
int?SegPagt(int?snint?pnint?pd);
typedef?struct?segtable?
{
int?segf[256];
int?segl[256];
}segtable;
struct?segtable?st;


typedef?struct?segpagt
{
int?segf[256];
int?segl[256];
int?ptl[256];
int?pt[256];
int?pf[256];
int?pl;
}segpagt;
struct?segpagt?sp;
int?main()
{
?int?code;
?int?plpasnsdpdpn;
?//const?int?ptl?;
?int?temp;
?do{
??printf(“?????????成員:歐劍明,陳羽,任家躍\n“);
??printf(“----------------地址換算過程----------------------------\n\n“);
??printf(“??1.分頁(yè)式地址換算\n“);
??printf(“??2.分段式地址換算\n“);
??printf(“??3.段頁(yè)式地址換算\n“);
??printf(“??4.結(jié)束運(yùn)行\(zhòng)n\n“);
?printf(“----------------------------------------------------------\n“);
?printf(“請(qǐng)輸入您的選擇:“);
?
??scanf(“%d“&code);
??switch(code)
??{
??case?1:{
???printf(“注意:請(qǐng)演示設(shè)定頁(yè)表長(zhǎng)度小于256\n“);
???printf(“請(qǐng)輸入換算的邏輯地址:\n“);
???scanf(“%d“&pa);
???printf(“頁(yè)面大小(B):\n“);
???scanf(“%d“&pl);
??????page(papl);
??????}break;
??case?2:{
???printf(“請(qǐng)演示設(shè)定段表長(zhǎng)度小于256\n“);
???printf(“請(qǐng)輸入邏輯地址的段號(hào):\n“);
???scanf(“%d“&sn);
???printf(“段內(nèi)地址:\n“);
???scanf(“%d“&sd);
???Segment(snsd);
???????}break;
??case?3:{
??????
??????printf(“預(yù)設(shè)定段表長(zhǎng)為256頁(yè)面大小為256\n“);
??printf(“請(qǐng)輸入邏輯地址的段號(hào):\n“);
??????scanf(“%d“&sn);
??????printf(“頁(yè)號(hào):\n“);
??????scanf(“%d“&pn);
??????printf(“頁(yè)內(nèi)地址:\n“);
??????scanf(“%d“&pd);
??????SegPagt(snpnpd);
??????}break;
??case?4:{}break;
??}
?}while?(code<4);
}

int?page(int?Aint?L)
{
?int?dPkdi;
?int?WD;
?int?PT[256];
?for(i=1;i<256;i++)
?{
?PT[i]=rand()?%512;//定義隨機(jī)產(chǎn)生的快號(hào)在1到512之間
?}

?P=A/L;//頁(yè)號(hào)等于邏輯地址/頁(yè)面大小
?d=A%L;//頁(yè)內(nèi)地址=邏輯地址%頁(yè)面大小

?if(P>L)?printf(“頁(yè)號(hào)大于頁(yè)表長(zhǎng)度越界中斷\n\n“);//如果頁(yè)號(hào)大于頁(yè)表長(zhǎng)度,輸出越界中段
?else?{
????printf(“頁(yè)號(hào)=邏輯地址/頁(yè)面大小=%d頁(yè)內(nèi)地址=邏輯地址%頁(yè)面大小=%d\n“Pd);//輸出頁(yè)號(hào)和頁(yè)內(nèi)地址
????kd=PT[P];//根據(jù)頁(yè)號(hào)隨機(jī)產(chǎn)生快號(hào)
????printf(“根據(jù)頁(yè)號(hào)%d得到塊號(hào)%d\n“Pkd);
????WD=kd*L+d;//計(jì)算物理地址的公式
????printf(“物理地址=塊號(hào)%d*頁(yè)面大小%d+頁(yè)內(nèi)地址%d\n“kdLd);//輸出物理地址=塊號(hào)*頁(yè)面大小+頁(yè)內(nèi)地址
????printf(“邏輯地址%d換算后的物理地址為%d\n\n“AWD);//輸出物理地址的結(jié)果
????return?(0);
?}
?}



int?Segment(int?snint?sd)
{
int?iwd;

for(i=0;i<255;i++)
{
st.segf[i]=rand()%255;//定義隨機(jī)產(chǎn)生段首地址為1到255之間
st.segl[i]=rand()%2048;//定義隨機(jī)產(chǎn)生段長(zhǎng)度為1到2048之間
}
if(sn>256)?printf(“段號(hào)%d大于段表長(zhǎng)度256越界中斷\n\n“sn);//如果段號(hào)大于段表長(zhǎng)度,輸出越界中斷
else?if(sd>st.segl[sn])?printf(“段內(nèi)地址%d大于段長(zhǎng)度%d越界中斷\n“sdst.segl[sn]);//如果段內(nèi)地址大于段長(zhǎng)度,輸出越界中斷
else{
printf(“根據(jù)段號(hào)找到段首地址%d\n“st.segf[sn]);
???printf(“物理地址=段首地址%d+段內(nèi)地址%d\n“st.segf[sn]sd);?//輸出物理地址=段首地址+段內(nèi)地址
?wd=st.segf[sn]+sd;//計(jì)算物理地址的算法
?printf(“換算得到的物理地址為:%d\n\n“wd);//輸出物理地址
}
?????return?(0);
}


int?SegPagt(int?snint?pnint?pd)
{
int?iwd;

sp.pl=256;
for(i=0;i<255;i++)
{
sp.pf[i]=sp.segf[i]=rand()%26624;//定義隨機(jī)產(chǎn)生的數(shù)在1到26624之間
sp.ptl[i]=sp.segl[i]=rand()%512;//定義隨機(jī)產(chǎn)生的數(shù)在1到512之間
sp.pt[i]=rand()%256;//定義隨機(jī)產(chǎn)生的數(shù)在1到256之間
}
if(sn>256)?printf(“段號(hào)%d大于段表長(zhǎng)度256越界中斷\n\n“sn);//如果段號(hào)大于段表長(zhǎng)度256輸出越界中斷
else?if(pn>sp.ptl[pn])?printf(“頁(yè)號(hào)%d大于頁(yè)表長(zhǎng)度%d越界中斷\n“pnsp.ptl[pn]);//如果頁(yè)號(hào)大于頁(yè)表長(zhǎng)度輸出越界中斷
else?if(pd>sp.pl)?prin

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????4035??2008-06-10?12:38??三種存儲(chǔ)管理方式的地址換算過程\play.c

?????目錄??????????0??2008-06-07?19:44??三種存儲(chǔ)管理方式的地址換算過程

-----------?---------??----------?-----??----

?????????????????4035????????????????????2


評(píng)論

共有 條評(píng)論

相關(guān)資源