- 博客(4)
- 收藏
- 关注
原创 malloc底层实现及原理
(例如,在B释放之前,A是不可能释放的,因为只有一个_edata 指针,这就是内存碎片产生(小的区域并未释放且不容易再次重用)的原因,什么时候紧缩看下面),而mmap分配的内存可以单独释放。事实是:_edata+30K只是完成虚拟地址的分配,A这块内存现在还是没有物理页与之对应的,等到进程第一次读写A这块内存的时候,发生缺页中断,这个时候,内核才分配A这块内存对应的物理页。2)当申请的内存大于128K,mmap系统调用,不在推_edata指针,并且可以直接free,完成单独释放。当然,B这块内存,是。
2023-05-30 11:33:19
880
4
原创 粘包、拆包、丢包
粘包、拆包问题是处于网络比较底层的问题,在数据链路层、网络层以及传输层都有可能发生。我们日常的网络应用开发大都在传输层进行,由于UDP有消息保护边界,不会发生这个问题,因此这篇文章只讨论发生在传输层的TCP粘包拆包问题。消息保护边界:保护消息边界,就是指传输协议把数据当作一条独立的消息在网上传输,接收端只能接收独立的消息对于TCP而言,数据包的发送次数取决于TCP发送缓冲区的大小设置,如果多个数据包相加仍小于发送缓冲区的大小,则可以一次性发送完。
2023-05-30 11:30:42
422
1
原创 FatsDDS底层原理实现
而RTPS就像是快递员,负责具体的包裹分发和交付工作,保证每个包裹都能准时、安全地送达。两者密切合作,DDS依赖于RTPS来实现数据的传输和分发,而RTPS则通过DDS提供的高级服务来优化数据的处理和管理。简单来说,DDS是一种数据分发服务,提供了一种方便、高效的方式来处理实时数据,例如传感器数据、控制命令等。而RTPS则是DDS协议的底层实现,负责数据的传输、发现和分发,确保数据的可靠性和实时性。,定义作为主题传输的信息类型,并创建发布者和订阅者其服务质量 (QoS) 属性,确保上述实体的正确性能。
2023-05-11 10:59:00
602
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人