当前位置: 首页 > news >正文

wordpress下载整站源码爱链接网如何使用

wordpress下载整站源码,爱链接网如何使用,软件开发的自学教程,2022年兰州疫情网上找到的程序得到的答案经过手算验证是错的&#xff0c;所以自己实现了一个&#xff0c;具体实现看代码吧&#xff0c;多余的操作已经去掉了。 #include <stdio.h> #include <stdlib.h> #include <stdbool.h>#define VM_PAGE 7 /*假设每个页面可以存放10…

网上找到的程序得到的答案经过手算验证是错的,所以自己实现了一个,具体实现看代码吧,多余的操作已经去掉了。 

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>#define VM_PAGE 7 /*假设每个页面可以存放10条指令,则共有32个虚页*/
#define PM_PAGE 4 /*分配给作业的内存块数为41*/
#define TOTAL_INSERT 18
typedef struct
{int vmn;int pmn;int exist;int time;
} vpage_item;
vpage_item page_table[VM_PAGE];vpage_item *ppage_bitmap[PM_PAGE];int vpage_arr[TOTAL_INSERT] = {1, 2, 3, 4, 2, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6};void init_data() // 数据初始化
{for (int i = 0; i < VM_PAGE; i++){page_table[i].vmn = i + 1; // 虚页号page_table[i].pmn = -1;    // 实页号page_table[i].exist = 0;page_table[i].time = -1;}for (int i = 0; i < PM_PAGE; i++) /*最初4个物理块为空*/{ppage_bitmap[i] = NULL;}
}void FIFO() /*FIFO页面置换算法*/
{int k = 0;int i;int sum = 0;int missing_page_count = 0;int current_time = 0;bool isleft = true; /*当前物理块中是否有剩余*/while (sum < TOTAL_INSERT){if (page_table[vpage_arr[sum] - 1].exist == 0){missing_page_count++;if (k < 4){if (ppage_bitmap[k] == NULL) /*找到一个空闲物理块*/{ppage_bitmap[k] = &page_table[vpage_arr[sum] - 1];ppage_bitmap[k]->exist = 1;ppage_bitmap[k]->pmn = k;ppage_bitmap[k]->time = current_time;k++;}}else{int temp = ppage_bitmap[0]->time; /*记录物理块中作业最早到达时间*/int j = 0;                        /*记录应当被替换的物理块号*/for (i = 0; i < PM_PAGE; i++){if (ppage_bitmap[i]->time < temp){temp = ppage_bitmap[i]->time;j = i;}}ppage_bitmap[j]->exist = 0;ppage_bitmap[j] = &page_table[vpage_arr[sum] - 1]; /*更新页表项*/ppage_bitmap[j]->exist = 1;ppage_bitmap[j]->pmn = j;ppage_bitmap[j]->time = current_time;}}current_time++;sum++;}printf("FIFO算法缺页次数为:%d\t缺页率为:%f\t置换次数为:%d\t置换率为:%f\n", missing_page_count, missing_page_count / (float)TOTAL_INSERT, missing_page_count - 4, (missing_page_count - 4) / (float)TOTAL_INSERT);
}
void LRU()
{int k = 0;int i;int sum = 0;int missing_page_count = 0;int isfill = 0;while (sum < TOTAL_INSERT){int page_index = vpage_arr[sum] - 1;if (page_table[page_index].exist == 0){missing_page_count++;if (isfill < PM_PAGE){ppage_bitmap[isfill] = &page_table[page_index];page_table[page_index].pmn = isfill;page_table[page_index].exist = 1;isfill++;}else{int k = 0, mintime = ppage_bitmap[0]->time;for (int i = 0; i < PM_PAGE; i++){if (ppage_bitmap[i]->time < mintime){mintime = ppage_bitmap[i]->time;k = i;}}ppage_bitmap[k]->exist = 0;ppage_bitmap[k]->time = 0;ppage_bitmap[k] = &page_table[page_index];page_table[page_index].exist = 1;ppage_bitmap[k]->pmn = k;}}elsepage_table[page_index].time = 0;for (int i = 0; i < PM_PAGE; i++) // 更新时间if (ppage_bitmap[i] != NULL)ppage_bitmap[i]->time++;sum++;}printf("LRU 算法缺页次数为:%d\t 缺页率为:%f\t置换次数为:%d\t置换率为:%f\n", missing_page_count, missing_page_count / (float)TOTAL_INSERT, missing_page_count - 4, (missing_page_count - 4) / (float)TOTAL_INSERT);
}
int LastestIndex(int l)//找到最久访问页面
{int k = 0;for (int i = 0; i < PM_PAGE; i++){for (int j = l + 1; j < TOTAL_INSERT; j++){if (ppage_bitmap[i]->pmn == vpage_arr[j]){k = k > j ? k : j;break;}}}return vpage_arr[k];
}
void OPT()
{int i, j;int sum = 0;int missing_page_count = 0;int isfill = 0;while (sum < TOTAL_INSERT){int page_index = vpage_arr[sum] - 1;if (page_table[page_index].exist == 0){                         // 如果页面不在内存中missing_page_count++; // 缺页次数加1if (isfill < PM_PAGE){// 查找空闲物理块ppage_bitmap[isfill] = &page_table[page_index];page_table[page_index].pmn = isfill;page_table[page_index].exist = 1;isfill++;}else{ // 内存已经满了,置换int last = LastestIndex(sum);for (int i = 0; i < PM_PAGE; i++)if (ppage_bitmap[i]->vmn == last){last = i;break;}page_table[ppage_bitmap[last]->vmn].exist = 0;ppage_bitmap[last] = &page_table[page_index];page_table[page_index].exist = 1;}}sum++;}// 输出结果printf("OPT算法缺页次数为:%d\t 缺页率为:%f\t置换次数为:%d\t置换率为:%f\n", missing_page_count, missing_page_count / (float)TOTAL_INSERT, missing_page_count - 4, (missing_page_count - 4) / (float)TOTAL_INSERT);
}int main()
{int a;printf("请输入需要选择的页面置换算法:1.FIFO\t2.LRU\t3.OPT\t输入0结束\n");do{scanf_s("%d", &a);switch (a){case 1:init_data();FIFO();break;case 2:init_data();LRU();break;case 3:init_data();OPT();break;}} while (a != 0);return 0;
}

http://www.hkea.cn/news/68436/

相关文章:

  • 海阳市建设工程交易中心网站品牌推广的作用
  • 江西省住房和城乡建设网站成都网站优化seo
  • java资源网站云优化
  • 小程序源码大全网络seo关键词优化技巧
  • 服务佳的小企业网站建设ip子域名大全
  • 网页与制作唐山seo推广公司
  • 自己做的网站怎么弄到网上在线网页制作
  • 电商网站 设计方案百度的排名规则详解
  • 福建省建设厅网站余外链链接平台
  • 广告营销网站市场推广方案
  • 徐州企业做网站软文是什么文章
  • 网站代码备份如何优化seo
  • 百度网站公司信息推广怎么做天津做网站的网络公司
  • wordpress在线pdfseo百度站长工具查询
  • 太仓网站建设有限公司网站设计公司怎么样
  • 网站去哪做在线crm软件
  • 做360手机网站快速汕头seo排名收费
  • 网站建设总做总结宜兴百度推广公司
  • 做毕业网站的周记外贸建站优化
  • 南昌市住房和城乡建设局网站百度官网推广平台电话
  • 真人做视频网站百度怎么发布广告
  • 网站页面优化包括怎么给网站做优化
  • 哪个网站用帝国cms做的软文素材网
  • 网站建设需要的资料深圳精准网络营销推广
  • 客户网站建设公司网站排名提升软件
  • 网站建设与维护试卷论文怎么在百度上做广告
  • 做博客网站要什么技术百度网站网址是多少
  • 河北建设厅官方网站八大员考试站长工具查询
  • 大连 做网站公司爱站工具包的主要功能
  • ps做简洁大气网站必应bing国内版