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

做建材去什么网站网络营销服务企业有哪些

做建材去什么网站,网络营销服务企业有哪些,wordpress发不了博文,app软件大全下载文章目录 一、实验目的二、实验内容与设计思想实验内容设计思路 三、实验代码实现四、总结 一、实验目的 理解动态异长存储分区资源管理,掌握所需数据结构和管理程序,了解各种存储分配算法的优点和缺点。 二、实验内容与设计思想 实验内容 1.分析uni…

文章目录

    • 一、实验目的
    • 二、实验内容与设计思想
      • 实验内容
      • 设计思路
    • 三、实验代码实现
    • 四、总结

一、实验目的

理解动态异长存储分区资源管理,掌握所需数据结构和管理程序,了解各种存储分配算法的优点和缺点。

二、实验内容与设计思想

实验内容

1.分析unix最先适应存储分配算法,即map数据结构,存储分配函数malloc()和存储释放函数mfree(),找出与算法有关的成分;
2.修改上述与算法有关的成分,使其分别体现最佳适应分配原则和最坏适应分配原则;

设计思路

  1. 数据结构设计
    定义 5 个进程(P0-P4)共享 3 类资源(R0-R2),关键数据结构包括:
    avail[R]:当前可用资源数
    max[P][R]:各进程对资源的最大需求
    allot[P][R]:各进程已分配的资源
    need[P][R]:各进程仍需的资源(need = max - allot)

  2. 安全状态检查函数 isSafe()
    核心逻辑:
    计算各进程的需求矩阵 need
    初始化工作向量 work(可用资源)和完成标志 finish
    寻找可运行的进程(need <= work),模拟资源回收,更新work并标记进程完成
    若所有进程完成则系统安全,否则不安全

三、实验代码实现

#include <stdio.h>
#include <stdlib.h>typedef struct Block {int start;int size;struct Block *next;
} Block;Block *freeList;void initMemory(int size) {freeList = (Block *)malloc(sizeof(Block));freeList->start = 0;freeList->size = size;freeList->next = NULL;
}void printFreeList() {Block *current = freeList;while (current != NULL) {printf("(%d, %d)\n", current->start, current->size);current = current->next;}
}void coalesce() {Block *current = freeList;while (current != NULL && current->next != NULL) {if (current->start + current->size == current->next->start) {current->size += current->next->size;Block *temp = current->next;current->next = temp->next;free(temp);} else {current = current->next;}}
}void mfree(int start) {Block *current = freeList, *prev = NULL;while (current != NULL && current->start != start) {prev = current;current = current->next;}if (current == NULL) return;Block *newBlock = (Block *)malloc(sizeof(Block));newBlock->start = start;newBlock->size = current->size;newBlock->next = current->next;if (prev == NULL) {freeList = newBlock;} else {prev->next = newBlock;}free(current);coalesce();
}int mallocFirstFit(int size) {Block *current = freeList, *prev = NULL;while (current != NULL) {if (current->size >= size) {if (current->size == size) {if (prev == NULL) {freeList = current->next;} else {prev->next = current->next;}free(current);return current->start;} else {Block *newBlock = (Block *)malloc(sizeof(Block));newBlock->start = current->start + size;newBlock->size = current->size - size;newBlock->next = current->next;current->size = size;current->next = newBlock;return current->start;}}prev = current;current = current->next;}return -1;
}int main() {initMemory(1000);int allocated1 = mallocFirstFit(100);printf("Allocated 1: %d\n", allocated1);int allocated2 = mallocFirstFit(200);printf("Allocated 2: %d\n", allocated2);int allocated3 = mallocFirstFit(300);printf("Allocated 3: %d\n", allocated3);printFreeList();mfree(allocated1);mfree(allocated2);mfree(allocated3);printFreeList();return 0;
}

结果:
在这里插入图片描述

四、总结

  • 遇到的问题
  1. 致命语法错误:行头缺失
    遇到的问题
    函数命名冲突:malloc函数是标准库函数,在代码中重新定义会导致冲突。
    在这里插入图片描述
    编译后提示错误,malloc 函数是标准库函数,重新定义会导致冲突。mfree 函数参数类型与标准库函数不匹配。指针转换为整数类型时需要进行类型转换。
    参数类型不匹配:mfree函数参数类型与标准库函数不匹配。
    类型转换问题:指针转换为整数类型时需要进行类型转换。
    在这里插入图片描述
    空闲列表更新问题:程序在分配和释放内存后,空闲列表显示的结果是相同的,这意味着分配和释放操作没有正确更新空闲列表。

通过这次实验,我对动态异长存储分区资源管理有了更深入的理解。我不仅掌握了所需的数据结构和管理程序,还了解了各种存储分配算法的优缺点。在今后的学习和工作中,我将更加注重基础知识的学习和积累,提高自己的编程能力和问题解决能力。同时,我也会更加注重代码的质量和可维护性,养成良好的编程习惯。

对于后续的实验,我计划对代码进行进一步的修改和完善,实现最佳适应分配原则和最坏适应分配原则。我相信通过不断的实践和学习,我能够更好地掌握操作系统的相关知识和技能。

http://www.dtcms.com/wzjs/812060.html

相关文章:

  • 石家庄网站建设公司黄页广州大学生网页设计大赛
  • 龙泉网站建设官方网站建设流程及费用
  • 部门网站建设工作总结桂林做网站电话号码
  • 如何用电脑做网站服务器wordpress分类的id
  • 淘客个人网站怎么建设网络营销推广网站
  • 建网站多少钱 优帮云牛商网做的网站
  • 在做网站编代码网页导航条中的文字出现在导航条的下方怎莫解决无法打开建设银行企业网站
  • 设计基础网站推荐公众号可以开视频号?
  • 泰州公司做网站杭州小周seo
  • 有用建站宝盒做网站的吗房地产营销策划方案
  • 上海营销网站建设wordpress图片pin按钮
  • 阳江公司网站建设重庆移动网站制作
  • 福州光电网站建设知名网站欣赏
  • 做调查赚钱的网站有哪些五常网站建设
  • 天河手机网站建设专业做网站咨询
  • 南京微网站建设网站不需要什么备案
  • 站内推广方式有哪些无锡网站建设培训
  • 企业网站建设的几种形式网站备案是 备案空间吗
  • word68网站中国建设工程造价管理协会网站简称
  • 网页建站怎么做网络营销员岗位的职责与要求
  • 网站开发工具论文wordpress防下载
  • html网站素材江苏苏州有什么好玩的
  • 专业网站建设最便宜附近找工作招聘信息
  • 网站备案时间会过期吗苏州网站建设设计
  • 谁知道陕西省建设监理协会的网站h5网站建设文章
  • 网站上社保做增员怎么做会展网站建设的步骤
  • 做电商在什么网站吗嘉定建设机械网站
  • 狠狠做狠狠干免费网站企业新闻营销
  • 网站模板 哪个好应用中心安卓版下载
  • 手机自建网站高水平建设专业网站