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

  • 大小: 14KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-04
  • 語言: C/C++
  • 標簽:

資源簡介

利用鍵盤輸入本模擬系統的物理塊的大小,作業的頁表中的塊號;完成邏輯地址轉換成相應的物理地址的過程。 1、建立一張位示圖,用來模擬內存的分配情況,利用隨機數產生一組0和1的數對應內存的使用情況。 2、輸入塊(頁)的大小,通過模擬位示圖為本作業分配內存空間建立相應的頁表(長度不定); 3、錄入邏輯地址轉換成相應的物理地址 4、擴充頁表,變成請求式的二維頁表(增加存在位等)完成地址轉換。 5、輸入分配給本作業的塊數,模擬作業執行的邏輯地址轉換成頁面調度次序; 6、分別采用OPT、FIFO、LRU置換算法,利用堆棧結構完成頁面置換;記錄被換出的頁面和新換入的頁面。

資源截圖

代碼片段和文件信息

#include
#include
using?namespace?std;
typedef?struct?node
{
????int?name;
struct?node?*next;
}linklist;
typedef?struct?
{
????linklist?*front*rear;
}LQueue;
LQueue?*p;
LQueue?*q;
void?InitQueue(LQueue?*qu)//置空隊OK
{
????qu->front=new?linklist;
????qu->front->next=NULL;
????qu->rear=qu->front;
}
int?Empty(LQueue?*qu)//判隊空?ok
{
????if(qu->front==qu->rear)
return?1;
else?
return?0;
}
void?EnQueue(LQueue?*quint?n)//入隊
{
qu->rear->next=new?linklist;
qu->rear=qu->rear->next;
qu->rear->name=n;
qu->rear->next=NULL;
}
int?DeQueue(LQueue?*qu)//出隊
{
????linklist?*s;
if(Empty(qu))
????return?NULL;
????else???
{
?????s=qu->front;
?qu->front=qu->front->next;
?delete?s;
?return(qu->front->name);
????}
}
int?DeQueue_LRU(LQueue?*quint?xint?memoryblock_size)
{
????linklist?*s;
int?ni;
if(Empty(qu))
return?NULL;
else
{
????if(x==1)
{
????n=DeQueue(qu);
return(n);
}
else
{
s=qu->front;
for(i=0;i {
????s=s->next;
}
????????????s=s->next->next;
return(s->next->name);
}
}

}

//定義位視圖
int?system_memory[8][8];
//定義頁表
struct?pagetable_entry
{
int?memory_number;//塊號
int?memory_state;//狀態位
}page_table[20]?page_tableLRU[20];
//初始化位視圖
void?initsystem_memory()
{
int?ijk;
for(k=0;k<8;k++)
{
????system_memory[0][k]=1;
}
for(i=1;i<8;i++)
????for(j=0;j<8;j++)
???{
???system_memory[i][j]=rand()%2;
???}
/* for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
{
????cout< }
cout< }
*/
}
//初始化頁表
void?initpage_table()
{
int?i;
for(i=0;i<20;i++)
{
page_table[i].memory_number=-1;
page_table[i].memory_state=0;

}
}
int?saveopt[100];
struct?new_OPT
{
int?OPT_number;//塊號
int?OPT_state;//狀態位
}save_OPT[20];
void?initopt_table()
{
????int?i;
for(i=0;i<20;i++)
{
????save_OPT[i].OPT_number=-1;
save_OPT[i].OPT_state=0;
}
}


//定義存儲OPT時的內存塊數組
int?OPT_memoryblock[10];

//初始化OPT_memoryblock、OPT_memoryblocksub
void?init_OPT_blocksub()
{
int?i;
for(i=0;i<10;i++)
{
OPT_memoryblock[i]?=?-1;
}
}
void?changeaddress(int?b_numint?memo_sizeint?log_add)
{
????int?abc;//頁號頁內地址
a=log_add/memo_size;
b=log_add%memo_size;
? c=b_num*memo_size+b;
????cout<<“頁號和偏移量:“< cout<<“物理地址為:“<}
void?displaypagetabel(int?page_size)
{
int?i;
cout<<“頁號\t“<<“塊號\t“<<“標識位“< for(i=0;i cout<}
void?displaymemory(int?memoblock_size)
{
????int?i;
cout<<“主存塊“< for(i=memoblock_size-1;i>=0;i--)
{
???cout< }
}
void?displaylesspage(int?n1int?n2int?n3)
{
??? cout<<“總訪問次數:“< cout<<“缺頁次數:“< double?sum;
sum=((n1+n2)*100)/(n1+n2+n3);
cout<<“缺頁率:“<}
void?main()
{

評論

共有 條評論