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

寻找做项目的网站网站系统开发

寻找做项目的网站,网站系统开发,修改wordpress默认登陆地址,网页源代码在线查看目录 一、内核中小内存、频繁分配和释放场景 二、slab是内存池化技术 三、内核中使用slab对象池的地方 四、slab内核设计 使用比页小的内存,内核的处理方式使用slab 一、内核中小内存、频繁分配和释放场景 slab首先会向伙伴系统一次性申请一个或者多个物理内存…

目录

一、内核中小内存、频繁分配和释放场景

二、slab是内存池化技术

三、内核中使用slab对象池的地方

四、slab内核设计


 

        使用比页小的内存,内核的处理方式使用slab

一、内核中小内存、频繁分配和释放场景

  1. slab首先会向伙伴系统一次性申请一个或者多个物理内存页面,正是这些物理内存页组成了slab内存池。
  2. slab内存池会将这些连续的物理内存页面划分成多个大小相同的小内存块,同一种slab内存池下,划分出来的内存块尺寸是一样的。
  3. 比如内核经常使用的核心数据结构

        task_struct mm_struct ,struct page ,struct file socket对象等。

二、slab是内存池化技术

  1. 当内核需要频繁分配和释放内核对象时,就可以直接从相应的slab对象池中申请和释放内核对象,避免了链路较长的内存分配与释放技术,极大的提升性能。
  2. 利用CPU高速缓存 提高访问速度。当一个对象被直接释放回slab时,这个内核对象还是热的,仍然驻留在CPU高速缓存中。如果这时,继续向SLAB对象池申请对象,SLAB对象池就会把这个刚刚释放,驻留在高速缓存中的对象分配给内核使用,访问起来速度会更快。
  3. 伙伴系统只能分配2^ORDER物理内存页,这会引起占用高速缓存以及TLB的空间较大,导致一些不重要的数据驻留在CPU高速缓存行中占用宝贵的缓存空间,而重要的数据被置换中内存中,slab对象池针对小内存分配场景。可以有效的避免这一点。
  4. 调用伙伴系统的操作会对CPU高速缓存L1CACHE中的Instruction Cache和 Data Cache有污染,因为伙伴系统的长链路调用,相关的一些指令和数据必然会填充到Instruction Cache 和 Data Cache 中,从而将频繁使用的一些指令和数据挤压出去,造成缓存污染。
  5. 使用slab对象池可以充分利用CPU高速缓存,避免多个对象同一cache line的征用。


三、内核中使用slab对象池的地方

 

  • fork 内核需要使用task_struct专属的slab对象池分配task_struct对象

tsk = alloc_task_struct_node(node)
  • 为进程创建虚拟内存空间是,内核使用mm_struct专属的slab对象池分配mm_struct对象。

struct mm_struct * mm = allocate_mm()
  • 向高速缓存page cache查找对应的文件缓存页时,内核需要使用struct page专属的slab对象池分配

 struct page *page = __page_cache_alloc(gfp_mask)
  • 使用open打开文件时,内核需要使用struct file 专属的slab对象池分配 struct file对象

 struct file *flip = alloc_empty_file()
  • socket对象

newsock = sock_alloc();

四、slab内核设计

  • slab对象池可根据情况向伙伴系统一次性申请一页或多个内存页。 
  • 对象的object size可以是任意的,并不是内存对齐的,CPU访问没有对齐的内存比访问对齐的内存速度要慢一倍。不能简单按照尺寸object size来划分内存块,需要考虑对象内存地址要按照 word size进行对齐。
  • 内核为了应对内存读写越界场景,在内存周围插入了一段不可访问的内存区域,这些内存区域使用特定字节0xbb填充,当进程访问到内存是0xbb时,表示已经越界访问了,这段内存区域在slab术语为 red zone。可以理解为红色警戒区。
     

学习参考

https://xxetb.xetslk.com/s/9SQuY

 


 

http://www.tj-hxxt.cn/news/80612.html

相关文章:

  • 建设医院官方网站东莞网站推广方案
  • 小程序前端开发新乡百度关键词优化外包
  • 网上写作文的网站百度搜索推广官网
  • flash开发网站网络推广的优势有哪些
  • 建设网站制作浙江疫情最新消息
  • 山西建设行政主管部门官方网站张家界seo
  • 聊城集团网站建设多少钱百度网页
  • 上海做网站的公司互联网营销师有什么用
  • 湖北长欣建设有限公司网站百度助手官网
  • 推广做网站怎么样阿森纳英超积分
  • 做搜狗pc网站优化快速脚上起小水泡还很痒是怎么回事
  • 外汇网站怎么做优外汇网站个人在百度上发广告怎么发
  • 网站建设的seo策略培训网络营销机构
  • 济南网站制作公司网站如何发布
  • 物流企业的网站模板免费下载网站页面优化包括
  • 网站系统建设思想如何写网站seo优化技能
  • 厦门 网站建设企业邮箱互联网app推广具体怎么做
  • 石家庄造价信息网官网seo兼职接单平台
  • 廊坊网站建设推广关键词有哪些?
  • 网站建设在开封找谁做微信营销的方法
  • 建设高校实验教学网站的作用资源网站排名优化seo
  • 用pw后缀的网站网站的网络推广
  • 柳市那些做网站的公司短视频营销成功案例
  • 网站服务器租赁哪家好百度网站名称及网址
  • 网站推广律师关键词有哪些怎么开网店
  • 自建商城网站用什么技术好seo什么意思中文意思
  • 旅游网站系统的设计与实现深圳推广优化公司
  • 西安网站建设服务商十强网盘搜索
  • 怎么做网站赚钱吗郑州关键词网站优化排名
  • 哪个网站有淘宝做图的素材网站分析培训班