当前位置: 首页 > 知识库问答 >
问题:

起始块存储地址

左仰岳
2023-03-14

分配函数尝试分配请求的存储量。如果成功,它将返回存储块的起始地址,该存储块的字节长度至少与请求的大小一样大。

那约束是什么意思?你能举一个它违反的例子吗?

共有1个答案

笪昌翰
2023-03-14

分配“超过所需”的余量是为了允许:

  1. 下一个数据块对齐良好。
  2. 减少对哪些平台能够运行由C和C++编译的代码的限制。
  3. 内存分配功能设计的灵活性。

第一点的一个例子是:

  char *p1 = new char[1];
  int  *p2 = new int[1];

例如,第三种情况是使用“预大小块”分配器。例如,一些实时OS将具有它们分配的固定数量的预定义大小,例如16、32、64、256、1024、16384、65536、1M、16M字节。然后将分配数四舍五入到最接近的相等或更大的大小,因此将从1024个大小中分配257个字节。这里的想法是a)通过跟踪每个大小的空闲块来提供快速分配,而不是传统的模式,即在任何大小的块中搜索大量块以查看是否有足够大的块。它还有助于防止碎片(当大量内存是“空闲的”,但大小不对,因此不能使用--例如,如果运行循环直到系统分配64字节块的内存不足,然后每隔一个空闲,并尝试分配一个128字节块,没有一个128字节块空闲,因为所有内存都被分割成64字节的小段)。

 类似资料:
  • 块存储用于存储虚拟机和裸金属等系统盘和数据盘的磁盘文件。 块存储用于存储虚拟机和裸金属等系统盘和数据盘的磁盘文件。块存储属于域资源。 块存储主要可以分为两大类: 本地存储:物理机和宿主机等服务器上的本地存储。 网络存储:支持网络附属存储、共享存储、分布式存储等。 NFS:Network File System,网络文件系统。 Ceph:分布式存储系统。 GPFS:General Parallel

  • iSCSI Target 什么是 iSCSI Target(目标) 在原始的 SCSI 协议术语中,目标是指在 SCSI 总线上唯一标识的单个可连接的存储或输出设备。在 iSCSI 中,SCSI 总线是在 IP 网络中仿真,目标可以是网络附加存储机柜中的专用物理设备,也可以是网络存储服务器上 iSCSI 软件配置的逻辑设备。目标(如 HBA 和启动器)是 SCSI 总线通信中的端点,可将命令描述符

  • localStorage 本地存储 存储针对QQ帐号隔离 数据存储于本地文件中。游戏结束后不会被删除 函数 key( index) 获取对应索引的key 手q 版本7.8.5 参数 参数名 类型 说明 index number 索引值 返回值 类型 说明 string 说明 示例 var stringKey = BK.localStorage.key(0); getItem( key) 获取ke

  • 本地存储提供了localstore和sessionstore两个类。localstore使用本地文件持久化数据,因此该类存储的数据不会失效。sessionstore存储的数据会在插件运行结束时清空,因此有效期为插件运行期。localstore和sessionstore的API接口一致。 set QN.localstore.set({ query: { key: 'name'

  • 问题内容: 除了是非持久性的并且仅限于当前窗口之外,会话存储与本地存储相比是否还有其他好处(性能,数据访问等)? 问题答案: localStorage和sessionStorage都扩展了Storage。除了的预期的“非持久性”外,它们之间没有区别。 也就是说,存储在中的数据将 一直保留到明确删除为止 。所做的更改将被保存,并且可用于当前和将来对该站点的所有访问。 对于, 更改仅在每个选项卡上可用

  • 我正在寻找关于如何正确使用Kubernetes本地存储PVC的帮助。 我们在Ubuntu上提供了一个kubespray集群,并启用了本地存储提供器。 我们做错了什么?