存储器管理操作系统课程设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存储器管理操作系统课程设计

存储器管理操作系统课程设计-课程设计 存储器管理操作系统课程设计 #includeiostream #includestring using namespace std; //数据结构 //快表 typedef struct Quick { ?int qs;//快表段号 ?int qp;//快表页号 ?int qb;//快表段号 }Quick; //数据区,简单起见,只为每一个内储块写入内容,不具体到每一物理地址。 typedef struct Data { ?int num;//内存的块数 ?string str;//对应数据块的作业内容,简化起见说明内容为一串字符。 }Data; //页表 typedef struct Page { ?int num;//页号 ?int flag;//页状态,即是否在内存。 ?int block;//该页对应的块号 }Page; //段表 typedef struct Stack { ?int num;//段号 ?int flag;//段状态 ?int plen;//页表长度 ?int psta;//页表始址 }Stack; //段表寄存器 typedef struct Stare { ?int ssta;//段表始址 ?int slen;//段表长度 }Stare; ?Stack ss[10];////全局变量 ??? Stare st;///////全局变量 ??? Data work[20];//全局变量 ?Quick qu;//////全局变量 ?Page page[5][5]; ?bool menuflag=0; ?int bbs;//内存块大小 ?int bs;//内存大小 void menu(); void start(); void change(); int main() {? ?menu(); ?return 0; } void menu() { ??? cout*************请选择**************endl; ?coutendl; ?cout**??? 1、初始化表???????? *****endl; ?cout**??? 2、物理地址转换?????? *****endl; ?cout**??? 3、退出?????????????? *****endl; ?int menu1; ?cinmenu1; ?if(menu1!=1menu1!=2menu1!=3) ?{ ??cout请输入正确的选项endl; ??menu(); ?}? ?switch(menu1) ?{ ?case 1: ??{ ?? menuflag=1; ?? start(); ?? break;} ?case 2: ??{ ???if(menuflag==0) ???{ ????cout请初始化表endl; ????menu(); ???} ???change(); ???break; ??} ?case 3:return; ?}//switch ? }? void start() { ??????????? cout请输入内存大小(K)endl; ?????????? ?cinbs; ??????? ?cout请输入内存块的大小(k)endl; ??????????? cinbbs; ?????? ?int blocknum; ????? ?blocknum=bs/bbs; ????? ?cout内??一共被分为blocknum块,每块bbsk一共bskendl; ????? ?cout请输入进程个数endl; ????? ?int pn;cinpn; ????? ?//下面求所有进程的总段数和段表,并为每段创建页表 ????? ?int sums=0; ????? ?for (int pn1=0;pn1pn;pn1++) ????? ?{ ????? ??cout请输入第pn1个进程的段数endl; ?????? ?int ppn;cinppn; ????? ??sums+=ppn; ????? ?} ????? ?for(int ss1=0;ss1sums;ss1++) ????? ?{ ????? ??cout请输入第ss1个段表数据:段号,状态,页表长度,页表始址endl; ?????? ?cinss[ss1].numss[ss1].flagss[ss1].plenss[ss1].psta; ?????? ?cout请初始化第ss1段的页表,输入两个数据页表状态和对应块号endl; ?????? ?for(int sss1=0;sss1ss[ss1].plen;sss1++) ?????? ?{ ?????? ??page[ss1][sss1].num=sss1

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档