好文档 - 专业文书写作范文服务资料分享网站

操作系统段页式存储实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

武汉理工大学《操作系统》课程设计说明书

bool flag;//页状态,即是否在内存。 int block;//该页对应的块号 }P age;

//段表 typ edef struct Stack {

int num;// 段号 bool flag;// 段状态 int p le n;//页表长度 int p sta;//页表始址 }Stack; 〃段表寄存器 typ edef struct Stare {

int ssta;//段 表始址 int sle n;//段表长度 }Stare;

Stack ss[10];////全局变量 Stare st;///////全Data work[100];// 全局变量 Quick qu;////// 全局变量 Page p age[5][5]; bool menu flag=0; int bs;//内存大小 int bbs;//内存块大小 int blocknum;// 总块数 int sums;//总段数

-6 -

局变量

武汉理工大学《操作系统》课程设计说明书

void menu (); void start(); void cha nge();

void dis play_stack(); void dis play_ page(); void dis play_flag(); void recycle(); int mai n() {

men u(); return 0; }

void menu() {

cout<<\

请选择 **************\e ndl;

coutvve ndl; cout<<\cout<<\cout<<\cout<<\cout<<\cout<<\cout<<\int menul;

1、初始化表 2、物理地址转换

*****\

*****\

*****\

3、显示段表

ndl;

*****\

4、显示页表

ndl;

*****\

5、显示存储空间状态

ndl;

*****\

6、回收

ndl;

7、退出 *****\

cin>>menu1;

if(me nu1!=1 &&men u1!=2&&men u1!=3&&me nu1!=4&&men

u1!=5&&menu

1! =6&&men u1!=7)

-7 -

武汉理工大学《操作系统》课程设计说明书

{

coutvv\请输入正确的选项\menu(); }

switch(me nu1) { case 1:

{

menu flag=1; start(); break;} case 2: {

if(me nu flag==O) {

coutvv\请初始化表\menu (); } cha nge(); break;

} case 3:

if(me nu flag==O) coutvv\请初始化表\menu (); }

dis play_stack(); break; } case 4:

if(me nu flag==O) coutvv\请初始化表\men u(); }

-8 -

武汉理工大学《操作系统》课程设计说明书

dis play_ page(); break; } case 5:

if(me nu flag==O) coutvv\请初始化表\menu (); }

dis play_flag(); break; } case 6:

if(me nu flag==O) coutvv\请初始化表\menu (); recycle。; break;

}

case 7:break; \

coutvv\请输入内存大小(K)\cin> >bs;

coutvv\请输入内存块的大小(k)\

cin> >bbs; block num 二bs/bbs;

coutvv\内存一共被分为\块,每

块\一共\

coutvv\请输入进程个数\int pn;cin>>pn;

-9 -

武汉理工大学《操作系统》课程设计说明书

〃下面求所有进程的总段数和段表,并为每段创建页表 for (i nt pn1=0;pn1vpn;pn 1++) {

coutvv\请输入第\个进程的段数\int ppn; cin>>ppn; sums+二ppn; }

for(i nt ss1=0;ss1vsums;ss1++) {

coutvv\请输入第\个段的:段号,状态,页表

长度,页表始址\

cin> >ss[ss1]. num >>ss[ss1].flag>>ss

[ss1]. plen> >ss[ss1]. psta;

cout<<\请初始化第\段的页表项,输入两个数

据页表状态和对应块号\

for(i nt sss1=0;sss1

p age[ss1][sss1]. num 二sss1;

cout<<\请输入该段第\个页的页状

态和对应块号\

cin>>p age[ss1][sss1].flag> >p age[ss1]

[sss1].block;

}

-10 -

操作系统段页式存储实验报告

武汉理工大学《操作系统》课程设计说明书boolflag;//页状态,即是否在内存。intblock;//该页对应的块号}Page;//段表typedefstructStack{intnum;//段号boolflag;//段状态intplen;//页表长度intpsta;//页表始址}
推荐度:
点击下载文档文档为doc格式
01tb54rvnb79c964hjsm5kaxd91bpl00ksf
领取福利

微信扫码领取福利

微信扫码分享