网站设置快捷方式电商平台投诉找哪个部门

pingmian/2026/1/26 22:39:39/文章来源:
网站设置快捷方式,电商平台投诉找哪个部门,上海恒鑫网站建设,wordpress数据库丢失文章目录1 伙伴算法页框操作alloc_pages()2 slabslab机制要解决的问题使用高速缓存3 内存管理函数kmallockzallocvmallocvzalloc区别参考文章内核使用struct page结构体描述每个物理页#xff0c;也叫页框。内核在很多情况下#xff0c;需要申请连续的页框#xff0c;而且数… 文章目录1 伙伴算法页框操作alloc_pages()2 slabslab机制要解决的问题使用高速缓存3 内存管理函数kmallockzallocvmallocvzalloc区别参考文章内核使用struct page结构体描述每个物理页也叫页框。内核在很多情况下需要申请连续的页框而且数量不定比如4个、5个、9个等。如果频繁地请求和释放不同大小的一组连续的页框必然导致在已分配的块内分散了许多小块的空闲页面由此带来的问题是即使有足够的空闲页框可以满足请求但要分配一个大块的连续页框可能无法满足请求。为了避免这种情况Linux内核引入了伙伴算法。 1 伙伴算法 伙伴算法把所有的空闲页框分为11个块链表每块链表中分布包含特定的连续页框内存空间在第i条链表中每个链表元素包含2的i次方个连续页框。 假设要申请一个256个页框的块先从256个页框的链表中查找空闲块如果没有就去512个页框的链表中找找到了则将页框块分为2个256个页框的块一个分配给应用另外一个移到256个页框的链表中。如果512个页框的链表中仍没有空闲块继续向1024个页框的链表查找如果仍然没有则返回错误。页框块在释放时会主动将两个连续的页框块合并为一个较大的页框块。 从上面可以知道Buddy算法一直在对页框做拆开合并拆开合并的动作。Buddy算法牛逼就牛逼在运用了世界上任何正整数都可以由2^n的和组成。这也是Buddy算法管理空闲页表的本质。 页框操作 alloc_pages() static inline struct page * alloc_pages(unsigned int gfp_mask, unsigned int order);该函数分配2的order次方个连续的页框并返回一个指针该指针指向第一个页page结构体如果出错返回NULL。可以使用下面这个函数把给定的页转为它的逻辑地址 void *page_address(struct page *page);该函数返回一个指针指向给定物理页当前所在的逻辑地址。 其他页框操作可以看这篇文章https://blog.csdn.net/qq_41683305/article/details/123966721 2 slab 在Linux中伙伴算法是以页为单位管理和分配内存。但是现实的需求却以字节为单位假如我们需要申请20Bytes总不能分配一页吧那此不是严重浪费内存。那么该如何分配呢slab分配器就应运而生了专为小内存分配而生。slab分配器分配内存以字节为单位。但是slab分配器并没有脱离伙伴算法而是基于伙伴算法分配的大内存进一步细分成小内存分配。 我们先来看一张图 kmem_cache是cache_chain上的一个元素kmem_cache描述了一个高速缓存每个高速缓存包含了一个slabs的列表这通常是一段连续的内存块。存在3种slab slabs_fullslab都已经分配完slabs_partialslab部分分配slab_empty空slab或者没有对象被分配。 kmem_cache高速缓存以缓存对象的大小来区分所包含的三种slab都是链表里面有一个或多个slab每个slab由一个或多个连续的物理页组成在物理页上保存的才是对象。 slab是slab分配器的最小单位在实现上一个slab由一个或多个连续的物理页组成通常只有一页。单个slab可以在slab链表之间移动例如如果一个半满slab被分配了对象后变满了就要从slabs_partial中被删除同时插入到slabs_full中去。 slab机制要解决的问题 减少伙伴算法在分配小块连续内存时所产生的内部碎片将频繁使用的对象缓存起来减少分配、初始化和释放对象的时间开销通过着色技术调整对象以更好的使用硬件高速缓存 使用高速缓存 一个新的高速缓存是通过以下函数创建的 kmem_cache_t *kmem_cache_create(const char *name, size_t size, size_t align, unsigned long flags,void (*ctor)(void *, kmem_cache_t *, unsigned long),void (*dtor)(void *, kmem_cache_t *, unsigned long)); 第一个参数是字符串存放着高速缓存的名字。第二个参数是高速缓存中每个元素的大小第三个参数就是高速缓存内第一个对象的偏移这用来确保在页内进行特定的对齐通常情况0就可以满足要求也就是标准对齐。flags是可选的设置项用来控制高速缓存的行为。 我们使用cat /proc/slabinfo可以看到系统所有的高速缓存 创建高速缓存之后就可以通过下列函数从中获取对象 void *kmem_cache_alloc(kmem_cache_t *cachep,int flags);该函数从给定的高速缓存cachep中返回一个指向对象的指针。如果高速缓存的所有slab中都没有空闲的对象那么slab层必须通过kmem_getpages()获取新的页flags的值传递给__get_free_pages()。 最后释放一个对象并把它返回给原先的slab可以使用下面的函数 void kmem_cache_free(kmem_cache_t *cachep,void *objp);这样就能把高速缓存cachep中的对象objp标记为空闲了。 要销毁一个高速缓存则调用 int kmem_cache_destroy(kmem_cache_t *cachep);同样也不能从中断上下文中调用这个函数因为它也可能会睡眠。调用该函数之前必须确保以下两个条件 高速缓存中的所有slab都必须为空在调用kmem_cache_destroy()期间不能再访问这个高速缓存 3 内存管理函数 kmalloc void *kmalloc(size_t size, int flags);size是指要分配的内存的字节数。flags是分配标志它提供了多种kmalloc( )的行为 这个函数返回一个指向内存块的指针其内存块至少要有size大小所分配的内存区在物理上是连续的在出错时它返回NULL除非没有足够的内存可用否则内核总能分配成功。在使用kmalloc()时必须检查返回值是不是NULL。 kzalloc void *kzalloc(size_t size, int flags);kzalloc的功能比kmalloc多了一步会将申请到连续物理内存数据置为0 vmalloc void *vmalloc(unsigned long size);该函数返回一个指针指向逻辑上连续的一块内存区其大小至少为size。在发生错误时函数返回NULL。函数可能睡眠因此不能从中断上下文中进行调用也不能从其他不允许阻塞的情况下使用。 vzalloc void *valloc(unsigned long size);vzalloc比vmalloc步骤多了一步将申请的逻辑地址连续的内存数据置为0。 区别 kmalloc和kzalloc申请的内存在物理上连续vmalloc和vzalloc申请的内存在物理上不需要连续它们在逻辑上连续。kmalloc和kzalloc申请的内存可由kfree函数释放 void kfree(const void *ptr);vmalloc和vzalloc申请的内存可由vfree函数释放 void vfree(void *addr);参考文章 https://zhuanlan.zhihu.com/p/36140017 https://www.cnblogs.com/cherishui/p/4246133.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/85375.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

天津网站在哪里建设wordpress 伪静态 分页

select * from [表A] where id in (select id from [表A] group by id having count(id) >1 )转载于:https://www.cnblogs.com/wuyujie/p/7885017.html

网站资料什么是网络开发

我校有生物学实验教学中心、作物学实验教学中心、水产养殖实验教学中心、动物医学实验教学中心4个国家级实验教学示范中心,10个省级实验教学示范中心。生物学实验教学中心华中农业大学生物学实验教学中心成立于2001年7月,是直属于生命科学技术学院的校级…

做视频图片博客网站营销型设计网站

Mono对gtk做了很努力的封装,即便如此仍然与System.Windows.Form中的控件操作方法有许多差异,这是gtk本身特性或称为特色决定的。下面是gtk常用控件在Mono C#中的一些用法。 Button控件 在工具箱中该控件的clicked信号双击后自动生成回调函数prototype&…

广东省建设厅投诉网站国家icp备案网站

Ubuntu20.04安装ROS Excerpt ubuntu安装方式有两种,一种是安装ubuntu系统,另一种是在windows下安装虚拟机,在虚拟机里安装ubuntu。下面为双系统安装ubuntu(用虚拟机装ubuntu会很卡,bug很多,除非电脑配置极好…

网站建设设计技术方案模板软件开发上海

注解Annotation 一、介绍二、使用三、三个基本的Annotation四、JDK内置的基本注解类型1、Override2、Deprecated3、SuppressWarnings 五、JDK的元注解1、Retention2、Target3、Documented4、Inherited 一、介绍 注解(Annotation)也被称为元数据&#xf…

个人网站 如何做推广做网站放视频

POKT Network(也被称为 Pocket Network)在通证经济模型上完成了重大的改进,不仅将通货膨胀率降至 5% 以下,并使 POKT 通证在 2025 年走向通缩的轨迹上,预计到2024 年年底通货膨胀率将降至 2% 以下。POKT Network 的 “…

襄阳集团网站建设香奈儿电子商务网站建设策划书

大体流程: 步骤: 1.加载数据到缓存中(Buffer Pool): 在进行数据更新时,InnoDB首先会在缓冲池(Buffer Pool)中查找该记录是否已经在内存中。如果记录不在内存中,会将需要更新的数据…

wordpress博客站搭建免费推广网站短视频

说明 bind命令 用于显示和设置命令行的键盘序列绑定功能。通过这一命令,可以提高命令行中操作效率。可以利用bind命令了解有哪些按键组合与其功能,也可以自行指定要用哪些按键组合。 语法 bind(选项)选项 -d:显示按键配置的内容&#xff…

专家库 网站 建设方案湛江论坛建站模板

From: http://www.cppblog.com/elva/archive/2010/08/13/123313.html 因为项目需要,学习了一下RTSP协议,为了防止以后忘记,就把学习过程和成果记载下来。期间参考了一些网上的资料,并分析了VLC的RTSP报文。 RTSP(…

怎么学建网站wordpress打开慢

1。一位工科男在拿到华为实习生offer后的面经干货某211学校,机械学院研究生。不得不说一下,华为的员工们真的是认真做事,因为怕我们担心下班轮不到面试。工作人员特意去休息区告诉我们,不面试完他们不会下班,果然是个爱…

甘肃城乡建设部网站首页人才市场招聘网站

目录 0.环境 1.问题简述 2.分析报错原因 3.解决方法 1)set() 相关语句 2)target_link_libraries() 相关语句 4.参考 0.环境 windows11 、 vs-code 、 qt 、 c、编译器为vs2019-x86_amd64 1.问题简述 项目编译release版本时会报错:报错…

电子商务毕业设计 网站建设太原网页制作招聘网

以Android 11源码下载流程图如下所示: 1. 安装Git和Repo工具 2. 创建一个工作目录 3. 初始化仓库并下载源码 4. 切换到指定的分支 5. 编译源码 具体步骤如下: 安装Git和Repo工具:在Linux或Mac上,可以通过终端运行以下命令安装Gi…

服务器怎么发布网站二手书网站开发需求分析

前言 Axios 是一个基于 Promise 的 HTTP 库,它的概念及使用方法本文不过多赘述,请参考:axios传送门 本文重点讲述下在项目中是如何利用 axios 封装 http 请求。 一、预设全局变量 在 /const/preset.js 中配置预先设置一些全局变量 window.…

php做的网站好不好网站建设模板下载免费

*************************************优雅的分割线 ********************************** 分享一波:程序员赚外快-必看的巅峰干货 如果以上内容对你觉得有用,并想获取更多的赚钱方式和免费的技术教程 请关注微信公众号:HB荷包 一个能让你学习技术和赚钱方法的公众号,持续更…

二手商品网站怎么做模型网站大全免费

专属领域论文订阅 VX 扫吗关注{晓理紫|小李子},每日更新论文,如感兴趣,请转发给有需要的同学,谢谢支持 分类: 大语言模型LLM视觉模型VLM扩散模型视觉导航具身智能,机器人强化学习开放词汇,检测分割 [晓理紫…

中山营销网站建设费用湘潭县建设投资有限公司网站

文章目录 什么是数据库数据库是运行在操作系统中的软件 为什么需要数据库有哪些数据库MySQL 的体系架构网络连接层/API 层数据库服务层存储引擎层系统文件层 什么是 SQL参考资料 阅读前导:理论上数据库可以在操作系统和网络之前学习,但是这样会让学习层次…

提升网站建设品质信息凡科 wordpress

最近,抖音上的AI扩图突然火了,看完真的让人笑掉大牙~~~ 这一热议的话题#AI扩图#在短视频平台抖音上的播放量已经突破7.8亿次,而相关的讨论也如同星火燎原,迅速点燃了公众的好奇心。从“用AI扩图…

我学我做我知道网站展馆设计的主题有哪些

1.基本的读取配置文件-read(filename) 直接读取ini文件内容-sections() 得到所有的section,并以列表的形式返回-options(section) 得到该section的所有option-items(section) 得到该section的所有键值对-get(section,option) 得到section中option的值,返…

大连旧房翻新装修哪家公司好班级优化大师免费下载app

注:比较简陋,仅供参考。 编写PHP代码,实现反序列化的时候魔法函数自动调用计算器 PHP反序列化 serialize(); 将对象序列化成字符串 unserialize(); 将字符串反序列化回对象 创建类 class Stu{ public $name; public $age; public $sex; publi…

高校档案馆网站建设肥料网站建设

写在开始三年前,曾写过一篇文章:从.NET和Java之争谈IT这个行业,当时遭到某些自认为懂得java就了不起的Javaer抨击,现在可以致敬伟大的.NET斗士甲骨文了  (JDK8以上都需要收费,Android弃用java作为第一语言,别高兴:OpenJDK是甲骨文的).《ASP.NET Core 高性能系列》是一套如何编…