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

wordpress本地做好如何改站点地址北京建设监督网站

wordpress本地做好如何改站点地址,北京建设监督网站,企业班组建设案例,织梦做网站简单吗aCoral内存管理机制 aCoral内存管理机制在伙伴系统基础上#xff0c;采用了位图法方式提高内存分配和回收速度的确定性#xff0c;更能满足系统实时性的需求。 aCoral内存管理机制分为两级#xff0c;上一级采用改进的伙伴系统#xff0c;负责确定要分配的内存的大小采用了位图法方式提高内存分配和回收速度的确定性更能满足系统实时性的需求。 aCoral内存管理机制分为两级上一级采用改进的伙伴系统负责确定要分配的内存的大小下一级根据上一级确定的大小进行具体物理内存分配。 因为第一级内存管理总会分配2N大小的内存解决了系统外部碎片和内部碎片问题。第二级采用了固定块和可变大小两种内存管理方式。除内核外应用程序一般直接使用第一级的伙伴系统。 aCoral第一级内存管理算法 真正的物理内存被分成了两部分一部分由内存控制块结构所使用内存初始化函数buddy_init()将逐个初始化这些结构。剩下的内存是用户可用内存。 这些内存被划分为众多基本块每个基本块的大小通过常量BLOCK_SIZE配置这些基本内存块是从0到n逐个标记的。这样内存的分配和回收都是基于序列的。 逻辑上这些内存块被组织成了m层最大层数m通过LEVEL配置第0层每个内存块大小为BLOCK_SIZE第1层每个内存块大小为2*BLOCK_SIZE到第n层内存块大小为BLOCK_SIZEn。 aCoral第二级内存管理算法 内存资源池存储管理 内存资源池管理属于固定大小内存管理系统内存池中内存块的分配和回收是基于第一级内存管理系统的因为内存池中的内存块时由第一级内存管理的。 内存池资源管理系统主要用于操作系统的一些常用结构的内存管理。 例如线程控制块TCB、事件控制块ECB等这些结构在系统运行过程中比如会用到而且会频繁地建立和释放。 使用第一级管理系统当然可以满足这些需求为什么还要用的内存资源池这种机制进一步管理这些结构对其进行内存分配和回收呢 虽然第一级内存管理算法单次分配和回收内存的效率已经很高但是频繁地回收和释放还是要消耗一定的时间。如果可以事先分配一些常用结构大小的内存并把他们组织起来形成内存资源池那么当操作系统真正需要的时候只需要将这些指针返回即可。在操作系统使用完这些结构并且销毁时就可以把这些结构所占用的内存还给内存资源池而不用进行真正的内存回收。 每一类资源[如线程控制块TCB结构aCoral定义了六种资源类型]可以拥有多个资源池Pool每个资源池只为一种类型的资源所使用内存体现就是相同大小内存块。 资源控制块Pool_ctrl负责一类资源的管理一个资源池控制块会对应多个资源池如图所示就包括两个资源池Pool1、Pool2。 开始的时候系统会根据需要为每一类资源控制块如TCB分配一些资源池一旦资源池的资源用完时可以重新申请一个资源池然后挂载到空闲资源池链表上。每个资源池对应一个Pool结构这个结构有两个重要的指针base_adr和res_free分别用来指向资源对象数组的基址和空闲资源对象每个资源对象对应一个资源控制块如线程控制块TCB。如果某资源池的资源对象都用完时res_free会指向NULL。 typedef struct {unsigned int type;unsigned int size; ///size of one single resource eg.size of TCBunsigned int num_per_pool; ///the amount of resource in one pool eg.there are 20 TCBs in one TCB poolunsigned int num; ///the amount of pools which contain a certain type of resource(maybe TCB) in system at present will be added once one pool created; restrict by max_pools below;unsigned int max_pools; ///upbound of the amount of pools for this type. eg. the number of TCB pool limited to 2 because that there are at most 40 thread in system at one time and every TCB pool contains 20.acoral_list_t *free_pools;acoral_list_t *pools,list[2];unsigned char *name; }acoral_pool_ctrl_t;/*** brief 资源池 */ typedef struct {void *base_adr; ///这个有两个作用在为空闲的时候,它指向下一个pool否则为它管理的资源的基地址void *res_free;int id;unsigned int size;unsigned int num;unsigned int position;unsigned int free_num;acoral_pool_ctrl_t *ctrl;acoral_list_t ctrl_list;acoral_list_t free_list; }acoral_pool_t;为了实现资源池的管理aCoral定义了资源对象。 typedef union {int id; //资源ID当资源池空闲时ID的高16位表示该资源对象在资源池的编号int next_id; }acoral_res_t;
http://www.sadfv.cn/news/316647/

相关文章:

  • 电子商务微网站制作东莞建设局门户网站
  • 单位网站建设有机房吗wordpress邮件验证码确认
  • 企业网站建设数据现状分析广东微信网站推广哪家专业
  • 网站建设对企业的好处网络游戏未成年消费问题怎么处理
  • 宁波模板做网站网络运营商包括哪些
  • 某公司人事管理网站开发优秀简历制作网站
  • 受欢迎的手机网站建设大连旅游网站建设
  • 邯郸网站建设兼职北京游戏软件开发公司
  • 千素网站建设潼南网站建设
  • 云服务器可以建网站吗网站技术培训学校
  • 建一个企业网站要花多少钱商城小程序报价
  • 知乎网站建设设计用哪些网站
  • 响应式网站和普通网站网站的建设维护及管理制度
  • 手机网站开发设计报价单现在做网站用什么软件
  • 美妆网站怎么做网络书城网站开发 需求分析
  • 龙岗 网站建设球形网架结构厂家
  • 利用花生壳做网站营销型网站建设公司价格
  • 做网站维护价格杭州低价做网站
  • 西安专业做网站建数字货币网站开发
  • 外贸网站建设与优化住房和城乡建设部中国建造师网站
  • 台州建设工程信息网站佛山网站建设推荐
  • 全美网站开发网站克隆 有后台登录
  • 企业网站.net计算机网站开发是那个语言
  • 遵义微商城网站建设平台车间生产管理软件免费
  • 龙华网站建设营销推广索牛网站建设
  • 爱站网app域名邮箱申请
  • 建设网站公司不给源代码那些做电影的网站赚钱吗
  • 网站开发手册下载镇江关键词优化
  • 创意产品设计网站推荐旅游网站建设成都
  • steam官方网站下载网络系统设计与管理