-
大小: 4KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-01-04
- 語言: C/C++
- 標(biāo)簽:
資源簡介
分頁存儲管理是將一個進(jìn)程的邏輯地址空間分成若干個大小相等的片,稱為頁面或頁,并為各頁加以編號,從0開始,如第0頁、第1頁等。相應(yīng)地,也把內(nèi)存空間分成與頁面相同大小的若干個存儲塊,稱為(物理)塊或頁框(frame),也同樣為它們加以編號,如0#塊、1#塊等等。在為進(jìn)程分配內(nèi)存時,以塊為單位將進(jìn)程中的若干個頁分別裝入到多個可以不相鄰接的物理塊中。由于進(jìn)程的最后一頁經(jīng)常裝不滿一塊而形成了不可利用的碎片,稱之為“頁內(nèi)碎片”
代碼片段和文件信息
#include
#include?
#define?SizeOfPage?100
#define?SizeOfBlock?128
#define?M?4????//假設(shè)內(nèi)存中最多允許M個頁面
///////////////////////////////////////////////////////////////////////////////////////////
//結(jié)構(gòu)體定義
struct?infor??//頁表信息結(jié)構(gòu)體
{
bool?flag;??//頁標(biāo)志,1表示在主存中,0表示不在主存
long?block;?//塊號
long?disk;??//在磁盤上的位置
bool?dirty;?//更新標(biāo)志
}pagelist[SizeOfPage];
long?po;?//隊(duì)列標(biāo)記
long?P[M];//假設(shè)內(nèi)存中最多允許M個頁面
/////////////////////////////////////////////////////////////////////////////////////////////
//子函數(shù)
void?init_ex1()
{
memset(pagelist0sizeof(pagelist));??//內(nèi)存空間初始化
//分頁式虛擬存儲系統(tǒng)初始化
pagelist[0].flag=1;
pagelist[0].block=5;
pagelist[0].disk=011;
pagelist[1].flag=1;
pagelist[1].block=8;
pagelist[1].disk=012;
pagelist[2].flag=1;
pagelist[2].block=9;
pagelist[2
- 上一篇:C++電子相冊源碼
- 下一篇:C語言編寫的猜單詞游戲
評論
共有 條評論